var g_browser_name = "UNKNOWN";
if ( document.all ) g_browser_name = "MSIE";
else if ( document.layers ) g_browser_name = "NSNAV";
var g_browser_ver = ( g_browser_name == "UNKNOWN" ) ?
					( 0 ) : ( parseInt( navigator.appVersion ) );

////// PRELOAD STANDARD GUI IMAGES
// -------------------------------------------------------------------------------------- //

guiimg_btn_inactive = new Image(); 
guiimg_btn_inactive.src = "images/backgrounds/gradient2.jpg";

guiimg_btn_active = new Image(); 
guiimg_btn_active.src = "images/backgrounds/gradient.jpg";
					
// -------------------------------------------------------------------------------------------------- //

function load_url( url )
{
	window.location.href = url;
}

// -------------------------------------------------------------------------------------- //

function set_form_action( form_name , form_action , submit_form )
{
	var frm = document.forms[ form_name ];
	frm.action = form_action;
	if ( submit_form )
		frm.submit( );
}

// -------------------------------------------------------------------------------------- //

function object_exists( id )
{
	if ( document.all )
		return ( document.all[ id ] ) ? 1 : 0;
	else if ( document.getElementById )
		return ( document.getElementById( id ) ) ? 1 : 0;
	else if ( document.layers )
		return ( document.layers[ id ] ) ? 3 : 0;
	else
		return 0;
}

// -------------------------------------------------------------------------------------- //

function get_object_by_id( id )
{
	if ( document.all )
		return document.all[ id ];
	else if ( document.getElementById )
		return document.getElementById( id );
	else if ( document.layers )
		return document.layers[ id ];
	else
		return 0;
}

// -------------------------------------------------------------------------------------- //

function get_style_obj( id )
{
	if( document.getElementById && document.getElementById( id ) )
		return document.getElementById( id ).style;
	else if ( document.all && document.all( id ) )
		return document.all( id ).style;
	else if ( document.layers && document.layers[ id ] )
		return getObjNN4( document , id );
	else
		return false;
}

// -------------------------------------------------------------------------------------- //

function change_visibility( obj_id , show )
{
	var v;
	if ( document.layers )
		v = ( show ) ? "show" : "hide";
	else
		v = ( show ) ? "visible" : "hidden";
		
	style_obj = get_style_obj( obj_id );
	if ( style_obj )
	{
		style_obj.visibility = v;
		return true;
	}
	else return false;
}

// -------------------------------------------------------------------------------------- //

function is_visible( obj_id )
{
	style_obj = get_style_obj( obj_id );
	if ( !style_obj ) return 0;
	
	if ( document.layers )
	{
		if ( style_obj.visibility == "show" )
			return 1;
		else
			return 0;
	}
	else
	{
		if ( style_obj.visibility == "visible" )
			return 1;
		else
			return 0;
	}
}

// -------------------------------------------------------------------------------------- //

function is_obj_visible( obj )
{
	var v;
	var h;
	if ( g_browser_name == "NSNAV" )
	{
		style_obj = obj;
		if ( style_obj.visibility == "show" || style_obj.visibility == "" )
			return 1;
		else
			return 0;
	}
	else
	{
		style_obj = obj.style;
		if ( style_obj.visibility == "visible" || style_obj.visibility == "" )
			return 1;
		else
			return 0;
	}
}

// -------------------------------------------------------------------------------------- //

function change_html1( obj  , html )
{
	if ( g_browser_name == "MSIE" )
	{
		obj.innerHTML = html;
	}
	else
	{
		obj.document.open();
		obj.document.writeln( html );
		obj.document.close();
	}
}

// -------------------------------------------------------------------------------------- //

function setContent( elementid , content )
{
	if ( document.getElementById /*&& !document.all*/ )
	{
		rng = document.createRange( );
		el = document.getElementById( elementid );
		rng.setStartBefore( el );
		htmlFrag = rng.createContextualFragment( content );
		
		// Remove old contents
		while ( el.hasChildNodes( ) )
			el.removeChild( el.lastChild );
			
		// set current content
		el.appendChild( htmlFrag );
	}
}

// -------------------------------------------------------------------------------------- //

function change_html2( obj1 , obj2 , html1 , html2 )
{
	if ( g_browser_name == "MSIE" )
	{
		obj1.innerHTML = html1;
		obj2.innerHTML = html2;
	}
	else
	{
		obj1.document.open();
		obj1.document.writeln( html1 );
		obj1.document.close();
			
		obj2.document.open();
		obj2.document.writeln( html2 );
		obj2.document.close(); 
	}
}

// -------------------------------------------------------------------------------------- //

function get_html( obj )
{
	/*if ( g_browser_name == "MSIE" )
	{
		return obj.innerHTML;
	}*/
	return obj.innerHTML;
}

// -------------------------------------------------------------------------------------- //

function get_radio_value ( radio_array )
{
	for ( var i = 0; i < radio_array.length; ++ i)
		if ( radio_array[ i ].checked )
			return radio_array[ i ].value;
	return null;
}

// -------------------------------------------------------------------------------------- //



function number_format( number , decs , lang , append_string )
{
	var snum = new String( number );
	var dot_idx = snum.indexOf( "." );
	var int_num , dec_num , int_sep , dec_sep;	
	
	if ( dot_idx != -1 )
	{
		int_num = snum.substring( 0 , dot_idx );
		dec_num = snum.substring( dot_idx + 1 , snum.length );
		if ( dec_num.length > decs ) dec_num = dec_num.substring( 0 , decs );
	}
	else
	{
		int_num = snum;
		dec_num = "";
	}
	
	if ( lang ) // greek
	{
		int_sep = ".";
		dec_sep = ",";
	}
	else	// english
	{
		int_sep = ",";
		dec_sep = ".";
	}
	
	var c = 0;
	var int_num_formatted = new String( );
	for ( var i = int_num.length - 1 ; i >= 0 ; i-- )
	{
		if ( c % 3 == 0 && c != 0 )
			int_num_formatted = int_num.charAt( i ) + int_sep + int_num_formatted;
		else
			int_num_formatted = int_num.charAt( i ) + int_num_formatted;
		c++;
	}
	
	if ( dec_num ) int_num_formatted += dec_sep + dec_num;
	if ( append_string ) int_num_formatted +=append_string;
	
	return int_num_formatted;
}

// -------------------------------------------------------------------------------------- //

function waitPreloadPage( )
{ //DOM
	if ( document.getElementById )
	{
		document.getElementById('prepage').style.visibility='hidden';
	}
	else
	{
		if ( document.layers )
		{ //NS4
			document.prepage.visibility = 'hidden';
		}
		else
		{ //IE4
			document.all.prepage.style.visibility = 'hidden';
		}
	}
}

// -------------------------------------------------------------------------------------- //

function set_obj_style( obj , class_name )
{
	obj.className = class_name;
}

// -------------------------------------------------------------------------------------- //

function get_client_width( )
{
	var cliw = 0;
	if ( self.innerWidth )
	{
		cliw = self.innerWidth;
	}
	else if ( document.documentElement && document.documentElement.clientWidth )
	{
		cliw = document.documentElement.clientWidth;
	}
	else if ( document.body )
	{
		cliw = document.body.clientWidth;
	}
	return cliw;
}

// -------------------------------------------------------------------------------------- //

function get_client_height( )
{
	var clih = 0;
	if ( self.innerHeight )
	{
		clih = self.innerHeight;
	}
	else if ( document.documentElement && document.documentElement.clientHeight )
	{
		clih = document.documentElement.clientHeight;
	}
	else if ( document.body )
	{
		clih = document.body.clientHeight;
	}
	return clih;
}


// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}
