var ReadFile = 
{
	refreshtime: 5000,
	path: null,
	inc: '',
	content: '',
	servertime: '',
	table: null,
	read: function( path, inc )
	{				
		ReadFile.path = ( ReadFile.path ) ? ReadFile.path : path;
		
		if ( inc ) ReadFile.require( inc );					
		
		var request = new Http.Request( '/v2/getfile.jsp', {path: ReadFile.path} );						
		var response = request.send();				
		if( !response.isSuccess() || response.getText().indexOf( '!DOCTYPE' ) != -1 )
			ReadFile.content = '';
		else 
			ReadFile.content = response.getText();
		
		request = new Http.Request( '/eth/appl/servertime' );				
		response = request.send();
		
		if( response.isSuccess() )
		{
			ReadFile.servertime = response.getText();
			ReadFile.servertime = ReadFile.servertime.split(',');
			if( ReadFile.servertime.length == 7 )
			{
				var date = Date.parse( ReadFile.servertime[0]+'/'+(ReadFile.servertime[1])+'/'+ReadFile.servertime[2]+' '+ReadFile.servertime[3]+':'+ReadFile.servertime[4]+':'+ReadFile.servertime[5] );
				ServerTime = ( isNaN( date ) ) ? null : new Date( date );
				//ServerTime = new Date( ReadFile.servertime[0], ReadFile.servertime[1]-1, ReadFile.servertime[2], ReadFile.servertime[3], ReadFile.servertime[4], ReadFile.servertime[5]);						
				if( ServerTime ) ReadFile.process( ReadFile.content );			
			}			
		}
			
		window.setTimeout( ReadFile.read, ReadFile.refreshtime );
	},
	process: function( data )
	{
		if ( !ReadFile.table ) ReadFile.table = document.getElementById( 'quotes' );		
		for ( var i = ReadFile.table.rows.length - 1; i >= 0 ; i-- )
		{
			ReadFile.table.deleteRow( i );
		}				
			
		if ( typeof( data ) == 'undefined' || data == '' ) 
		{
			ReadFile.addRow( '', ['<em>No data</em>'] );
		}
		else
		{						
			var rows = splitRows( data );
																										
			for( i in rows )
			{
				ReadFile.addRow( ( ( i % 2 == 0 ) ? 'colorize' : '' ), rows[i] );									
			}					
		}		
	},
	addRow: function( className, values )
	{
		var tr = document.createElement( 'TR' );
		tr.className = className;
		for ( var i in values )
		{
			var nodeName = ( i == 0 ) ? 'TH' : 'TD';
			var item = document.createElement( nodeName );
			if ( values[i].indexOf( '@colspan' ) != -1 )
			{
				var colspanValue = values[i].substring( 0, values[i].indexOf( '__' ) ).split( '=' )[1];						
				item.colSpan = colspanValue;															
			}										
			if ( values[i].indexOf( 'EXPIRATION' ) != -1 )
			{
				item.style.textAlign = 'center';
			}
			item.innerHTML = values[i].replace( '@colspan=' + colspanValue + '__', '' );
			tr.appendChild( item );
		}
		ReadFile.table.appendChild( tr );
	},
	require: function( path )
	{
		path = '/v2/quotation/' + path;	
		var request = new Http.Request( path );
		var response = request.send();
		var value = eval( response.getText() );			
	}
}

var alarm = 0;
var StrD = '';
var TmStr = null;
var OutTable = true;
var ServerTime = '';

function lead0(val) 
{
	return (val < 10) ? "0" + val.toString() : val;
}

function ConvTime(time,lang,sec)
{
	ArMonthEng = new Array("January","February","March","April","May","June","July","August","September","October","November","December")
	ArMonthRus = new Array("Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря")
	if (lang=="Eng")
	{
		if (time.getHours() > 12){Hours=time.getHours()-12; AmPm="p.m." }
		else{Hours=time.getHours();AmPm="a.m."}
		DtTm=ArMonthEng[time.getMonth()]+"  "+time.getDate()+",&nbsp;&nbsp;"+Hours+":"+lead0(time.getMinutes());
	}
	else
	{
		//Hours=time.getHours();AmPm="";
		Hours=lead0(time.getHours());AmPm="";
		DtTm=time.getDate()+"  "+ArMonthRus[time.getMonth()]+",&nbsp;&nbsp;"+Hours+":"+lead0(time.getMinutes());
	}
	
	if (sec=="sec"){DtTm=DtTm+":"+lead0(time.getSeconds()); }
	DtTm=DtTm+AmPm 
	
	return(DtTm);	
}

function trim( Stringer )
{  	
	TrimString='';
	if ((Stringer != null) && (Stringer!=''))
	{
		var iPos = 0;
		while ( (iPos < Stringer.length ) && ( Stringer.charAt( iPos ) == ' ' ) )
		{
			iPos++
		}
	    var jPos = Stringer.length - 1;
		while( ( iPos < jPos ) && ( Stringer.charAt( jPos ) == ' ' ) )
		{ 
			jPos--
		}
		TrimString = Stringer.substring(iPos,jPos+1);
	}
	return ( TrimString );
}

function precessCell( val, j )
{
	var result = '';	
	var Fcolor = '';
	var className = '';
	if ( j == 0 )
	{
		var href = links[ val.toUpperCase() ];		
		if( href )
		{
			return '<A HREF="' + href + '">' + val + '</A>';			
		}		
		return val;		
	}
	else
	{		
		switch ( val.charAt(0) )
		{	// красим цифры
			case '!': className = 'green'; val = val.substring(1); break;
			case '?': className = 'red'; val = val.substring(1); break;			
		}
		if ( ( j == 1 ) || ( j == 2 ) ) //
		{
			if ( ( val.indexOf( '.' ) == -1) && ( trim( val ) ) )
			{ 
				val = val + '.00';
			}			
		}						
		if ( val.indexOf('x') != -1 ) className += ' center';						
		if ( className != '' ) className = 'CLASS="' + className + '"';
		return '<SPAN ' + className + '>' + val + '</SPAN>';
	}			
}		

getById = function( elem ) 
{
	return document.getElementById( elem );	
}	
