stockPath = 'int_weblink_rus.txt';
MT = ( lang == 'Eng' ) ? ' MT' : ' по моск. времени' ;
SignDate = ( lang == 'Eng' ) ? 'Date/time: ' : 'Дата/время: '; 
StOrder= "All/All/All 00:00-24:00"; // стандартное расписание
SessionClosed = ( lang == 'Eng' ) ? ' <b>CLOSED.</b><br>    Internet Trading ExTra Hours session is opened <br>at 8:00-10:00a.m. MT and at 7:00-12:00p.m. MT ' : '<b style="font-size:14px !important; color: #000000;">Сессия закрыта.</b>  <br> Время проведения внебиржевых интернет-сессий<br> с 8-00 до 10-00 и с 19-02 до 24-00 в рабочие дни.<br>  ';
columnCount = 4;

setStockTime = function ( string )	 	 
{
	var TmStr = new Date();			
	
	if ( string ) { alarm=0; } else { alarm += ReadFile.refreshtime / 1000; }
	
	if ( ( string == '' ) || ( alarm > 60 ) ) 
	{
		alarm = 0;
		alert("Browser was unable to update the data within at least 60 seconds. Please check out your Internet connection!");
	}
	if ( TmStr == null )
	{
		alert("The system was unable to update the data. Please check out your Internet connection or reload the page!");
	}			
	
	var time = new Date( TmStr );		
	var TM=''+time.getFullYear()+lead0(time.getMonth())+lead0(time.getDate())+lead0(time.getHours())+lead0(time.getMinutes());
	var Dtime = new Date( time.getFullYear(), time.getMonth(), time.getDate() );	
	
	mdl=/(\d\d\/\d\d\/\d\d\d\d(\s\d\d:\d\d-\d\d:\d\d)+)|(\d\d\/\d\d\/\d\d\d\d\ *;+)/g
	ChgOrder = string.match(mdl);	
	
	FlgClosed=0;
	if (string.indexOf("CLOSED")!=-1){TmpOrder="All/All/All 00:00-00:00;";ChgOrder=null;FlgClosed=1;}
	else {TmpOrder=StOrder}
	ind=0;

	// Установка расписания
	flagNext=0;
	First="Yes";
	while (flagNext==0)
	{
		Order=TmpOrder;
		if(ChgOrder != null)
		{
			for (ind=0;ind < ChgOrder.length;ind++)
			{	
				DtAry = ChgOrder[ind].substring(0,10).split("/");
				DtOrder= new Date(DtAry[2],DtAry[1]-1,DtAry[0]);
				
	    		if (First=="No")
				{
				if (DtOrder >Dtime){break;}
				}
					if((DtOrder.getDate() == Dtime.getDate())&&(DtOrder.getMonth() == Dtime.getMonth())
					&&(DtOrder.getFullYear() == Dtime.getFullYear()))
				{
					Order=ChgOrder[ind];break;
				}
				if (DtOrder < Dtime){ChgOrder = null;break;}
			}
		}
		mdl=/ *;/
		Order=Order.replace(mdl,' 00:00-00:00');
		ArOrder=Order.split(' ');
		DTA =  ArOrder[0].split('/');
		if (DTA[2] == 'All'){DTA[2]=Dtime.getFullYear();}
		if (DTA[1] == 'All'){DTA[1]=Dtime.getMonth();} else {DTA[1]=DTA[1]-1;}
		switch (DTA[0])
		{
			case "All" : DTA[0]=Dtime.getDate();break;
			case "Wrk" : if ((Dtime.getDay() > 0)&&(Dtime.getDay() < 6)){DTA[0]=Dtime.getDate();} 
						 else{ 
							 if (Dtime.getDay() == 0){DTA[0]=Dtime.getDate()+1};
							 if (Dtime.getDay() == 6){DTA[0]=Dtime.getDate()+2};
							 };	break;
			case "Sun" : if (Dtime.getDay() == 0){DTA[0]=Dtime.getDate()}else{DTA[0]= Dtime.getDate()+7-Dtime.getDay()};break;
			case "Sat" : if (Dtime.getDay() == 6){DTA[0]=Dtime.getDate()}else{DTA[0]= Dtime.getDate()+6-Dtime.getDay()};break;
			default : break;
		}

		var StartSession = new Date(DTA[2],DTA[1],DTA[0]);
		var EndSession = new Date(DTA[2],DTA[1],DTA[0]);
		var NextSessionStart = new Date(DTA[2],DTA[1],DTA[0]);
		var NextSessionEnd = new Date(DTA[2],DTA[1],DTA[0]);
		
		for (i=ArOrder.length-1; i > 0; i--)
		{	
			ArTME = ArOrder[i].split('-');
			TMS=ArTME[0].split(':');
			StartSession.setHours(TMS[0]);
			StartSession.setMinutes(TMS[1]);
			TME=ArTME[1].split(':');
			EndSession.setHours(TME[0]);
			EndSession.setMinutes(TME[1]);
			SS=''+StartSession.getFullYear()+lead0(StartSession.getMonth())+lead0(StartSession.getDate())+lead0(StartSession.getHours())+lead0(StartSession.getMinutes());
			ES=''+EndSession.getFullYear()+lead0(EndSession.getMonth())+lead0(EndSession.getDate())+lead0(EndSession.getHours())+lead0(EndSession.getMinutes());
			if(TM < SS)
			{ 
				NextSessionStart.setHours(TMS[0]);
				NextSessionStart.setMinutes(TMS[1]);
				NextSessionEnd.setHours(TME[0]);
				NextSessionEnd.setMinutes(TME[1]);
				NSS=''+NextSessionStart.getFullYear()+lead0(NextSessionStart.getMonth())+lead0(NextSessionStart.getDate())
				+lead0(NextSessionStart.getHours())+lead0(NextSessionStart.getMinutes());
				NSE=''+NextSessionEnd.getFullYear()+lead0(NextSessionEnd.getMonth())+lead0(NextSessionEnd.getDate())
				+lead0(NextSessionEnd.getHours())+lead0(NextSessionEnd.getMinutes());
				//alert(NSS+' '+NSE);
				if (NSS!=NSE){flagNext=1;}
			}
			if(	(TM >= SS)&&(TM <= ES)){OutTable="Yes";break;}
			//alert(EndSession+' '+StartSession);
			if((ES == SS)&&(ChgOrder == null)){flagNext=1;OutTable="No";break;}	
			if (First=="Yes"){OutTable='No';}
		}
		First="No";
		Dtime.setDate(Dtime.getDate()+1);
	}
	
	DtTmS=ConvTime(NextSessionStart,lang);
	DtTmE=ConvTime(NextSessionEnd,lang);
	if (lang=="Eng")
	{
		if (DtTmS.substring(DtTmS.length-4)==DtTmE.substring(DtTmE.length-4))
			{DtTmS=DtTmS.substring(0,DtTmS.length-4);}
		if (DtTmE.substring(DtTmE.length-8,DtTmE.length-7) ==';'||(DtTmE.substring(DtTmE.length-9,DtTmE.length-8) =='1' ))
			{DtTmE=DtTmE.substring(DtTmE.length-9);}
		else{DtTmE=DtTmE.substring(DtTmE.length-8);}
	}
	else
	{
		DtTmE=DtTmE.substring(DtTmE.length-5);
		if (TME[0]=$){DtTmE=''+24+DtTmE.substring(2);}
	}
			
	if (OutTable=="Yes")
	{ 						
		//$('quotation_time').innerHTML = SignDate+ConvTime(time,lang,'sec')+MT;		
		result = SignDate+ConvTime(time,lang,'sec')+MT;
	}
	else 
	{
		//if (FlgClosed==0){$('quotation_time').innerHTML = SessionClosed+DtTmS+'-'+DtTmE+MT;}
		//else {$('quotation_time').innerHTML = SessionClosed;}		
		if (FlgClosed==0){result = SessionClosed+DtTmS+'-'+DtTmE+MT;}
		else {result = SessionClosed;}		
	}	
	return result;
}

splitRows = function ( string )
{
	var rows = [];
	var RowArray = string.split( '\n' );		

	var time = setStockTime( string );
	
	for ( var i = 3; i < RowArray.length; i++ )
	{
		if ( ( RowArray[i] == null ) || ( RowArray[i] == '' ) ) continue;
		var mdl = /\b\.;/g; 
		RowArray[i] = RowArray[i].replace(mdl,';');  
		mdl= /\b;x;\b/gi;
		RowArray[i] = RowArray[i].replace(mdl,'x');   
		var TickerDataArray = RowArray[i].split(';');
		TickerData = '';
		var row = [];				
		var empty = true;
		for ( var j = 0; (j < TickerDataArray.length-1)&&(TickerDataArray.length-1 >= columnCount-1)&&(trim(TickerDataArray[0]) != null)&&(trim(TickerDataArray[0]) != ''); j++ )		
		{					
			if( TickerDataArray[j] )
			{
				if ( empty ) empty = false;
				row.push( precessCell( TickerDataArray[j], j ) );
			}
			else
			{
				row.push( '' );
			}			
		}			
		if ( !empty ) rows.push( row );		
	}	
	return [rows,time];
}

