
var xmlHttp;
var xmlHttpCallback;
var xmlHttpActive = 0;
var loadIndicator  = true;

var brBrowser = 0;
var brMozilla = 1;
var brExplorer = 2;

function phpTime( timestamp)
{
	var rem = timestamp % 1000;
	timestamp -= rem;
	var ret = timestamp / 1000;
	return ret;
}


function setCookie( c_name, value, expireseconds)
{
	var exdate = new Date();
	exdate.setTime( exdate.getTime() + expireseconds * 1000);
	document.cookie= c_name + "=" + escape(value)+ ( ( expireseconds == null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
	if ( document.cookie.length > 0)
  {
  	c_start=document.cookie.indexOf(c_name + "=");
  	if ( c_start != -1)
    { 
    	c_start=c_start + c_name.length+1; 
	    c_end=document.cookie.indexOf(";",c_start);
  	  if (c_end==-1) c_end=document.cookie.length;
    	return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
	return "";
}


function xmlParser(txt) 
{
try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(txt);
  return(xmlDoc); 
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(txt,"text/xml");
    return(xmlDoc);
    }
  catch(e) {alert(e.message)}
  }
return(null);
}
	

function isBrowser( browser)
{
	if ( browser == brBrowser )
	{
		return true;
	}
	
	return false;
}

function getTargetFromEvent( e)
{
	var targ;
	if (!e)
  {
  	var e=window.event;
  }
	
	if (e.target)
  {
  	targ=e.target;
  }
	else if (e.srcElement)
  {
  	targ=e.srcElement;
  }
	
	if (targ.nodeType==3) // defeat Safari bug
  {
  	targ = targ.parentNode;
  }
  
  return targ;
}

function createXmlHttp()
{
	try
	  {
	  // Firefox, Opera 8.0+, Safari
  	xmlHttp = new XMLHttpRequest();
  	browser = brMozilla;
  	}
		catch (e)
  	{
  		// Internet Explorer
  		browser = brExplorer;
  		try
    	{
    		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    	}
  		catch (e)
    	{
	    	try
  	    {
    	  	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      	}
    		catch (e)
      	{
      	alert("Your browser does not support AJAX!");
      	return false;
      	}
    	}
  	}
  
  return xmlHttp;  
}

function xmlHttpRequestCallback()
{
	if(xmlHttp.readyState == 4 && xmlHttp.status == 200) 
	{
		xmlHttpActive = 0;
		xmlHttpCallback();
		if ( loadIndicator)
		{			
		//	updateInfoRow();
		}
		loadIndicator = true;
	}
}

function disableLoadIndicator()
{
	loadIndicator = false;
}

function xmlHttpRequest( requesturl, params, callback)
{ 
	if ( callback )
	{
		xmlHttp.open( "POST", requesturl, true);
	} else
	{
		xmlHttp.open( "POST", requesturl, false);
	}

	//Send the proper header information along with the request
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");

	if ( callback )
	{
		xmlHttp.onreadystatechange = xmlHttpRequestCallback;
		xmlHttpCallback = callback;
	}

	
	//if(http.readyState == 4 && http.status == 200) {
	//	alert(http.responseText);
	
	xmlHttpActive = 1;
	if ( loadIndicator)
	{
	//	updateInfoRow();
	}
	xmlHttp.send(params);
	
	if (!callback)
	{
		xmlHttpActive = 0;
		if ( loadIndicator)
		{
		//	updateInfoRow();
		}
		loadIndicator = true;
	}
}

function getWeekDay( day)
{
   switch ( day)
   {
      case 0 : return "Su"; 
      case 1 : return "Ma"; 
      case 2 : return "Ti"; 
      case 3 : return "Ke"; 
      case 4 : return "To"; 
      case 5 : return "Pe"; 
      case 6 : return "La"; 
      default : return "?";
   }
}

function makeDate( date, addTimeToStr)
{
   return makeDateUtil( date, addTimeToStr, 1);
}

function makeDateNoWeekday( date, addTimeToStr)
{
   return makeDateUtil( date, addTimeToStr, 0);
}

function makeDateUtil( date, addTimeToStr, addWeekDay)
{
  day = date.getDate();
  if ( day < 10 ) day = "0" + day;
  month = date.getMonth() + 1;
  if ( month < 10 ) month = "0" + month;
      
  var str = day + "." + month + "." + date.getFullYear();
  
  if ( addWeekDay)
  {
    str += " (" + getWeekDay( date.getDay() ) + ")";     
  }
  
  if ( addTimeToStr )
  {
    hours = date.getHours();
    if ( hours < 10 ) hours = "0" + hours;
    mins = date.getMinutes();
    if ( mins < 10 ) mins = "0" + mins;
    str += " " + hours + ":" + mins;
  }
  return str;
}
