
  /*
   *  TimeServer - Simple Ajax Updater
	*  -----------------------------------------------------------------
	*  Copyright (C) 2006 SalesEmotion AdSolutions GmbH
	*	
	*/
	var ini=true;
	var intdiff=0;

	var timeServer = {
	         	   
	   dateObj: null,
	   timeObj: null,
	   
	   loopCount:0,
	   current: null,
	   
	   init: function(timeId,dateId) {
	      this.dateObj=document.getElementById(dateId);
	      this.timeObj=document.getElementById(timeId);
	      this.current=new Date();
          this.getTimeFromServer();	      	      
	   },
	   
      getObject: function() {
          var xmlHttp = null;
          
          try {
              xmlHttp = new XMLHttpRequest();
          } catch ( ex ) {
              var progIds = [
                  'MSXML2.XMLHTTP', 
                  'Microsoft.XMLHTTP', 
                  'MSXML2.XMLHTTP.5.0', 
                  'MSXML2.XMLHTTP.4.0', 
                  'MSXML2.XMLHTTP.3.0'
              ];
              
              var success = false;
              
              for ( var iterator = 0; ( iterator < progIds.length ) && !success; iterator++ ) {
                  try {
                      xmlHttp = new ActiveXObject( progIds[iterator] );
                      success = true;
                  } catch ( ex ) {
                  }
              }
              
              if ( !success ) {
                  return null;
              }
          }
          
          return xmlHttp;
      },
	   
	   getTimeFromServer: function() {
	      var objRef=this;
	      var xhttp=objRef.getObject(); 
	      if (!xhttp) {
	         this.current.setTime(Date.now());	         
	         this.updater(this);
	         return;
	      }
	      xhttp.onreadystatechange=function() { objRef.updateHandler(xhttp,objRef); }
		  
		  if(ini){
		  	xhttp.open('GET','getGMT.asp?r='+Math.floor(Math.random()*10000),true);
		  }else{
		  	xhttp.open('GET','getGMT.asp?X='+intdiff+'&r='+Math.floor(Math.random()*10000),true);				
		  }
		  ini=false;
	      xhttp.send('');
	   },
	   
	   updateHandler: function(xhttp,objRef) {
         if (xhttp.readyState!=4) { return; }	
		 
         this.current.setTime(Date.parse(xhttp.responseText));
		 
         objRef.updater(objRef);
	   },
	   
	   updater: function(objRef) {	
	    // if (objRef.dateObj) objRef.dateObj.innerHTML=objRef.current.toLocaleDateString();
        // if (objRef.timeObj) objRef.timeObj.innerHTML=objRef.current.toLocaleTimeString();
		y1="0000"+objRef.current.getYear();
		y2=y1.substr((y1.length-4), 4);
		
		m1="00"+(objRef.current.getMonth()+1);
		m2=m1.substr((m1.length-2), 2);
		
		d1="00"+objRef.current.getDate();
		d2=d1.substr((d1.length-2), 2);
		
		h1="00"+objRef.current.getHours();
		h2=h1.substr((h1.length-2), 2);
		
		n1="00"+objRef.current.getMinutes();
		n2=n1.substr((n1.length-2), 2);
		
		
		
		//if (objRef.dateObj) objRef.dateObj.innerHTML=objRef.current.getYear() + "/" + objRef.current.getMonth() + "/" + objRef.current.getDate();
		if (objRef.dateObj) objRef.dateObj.innerHTML=y2 + "/" + m2 + "/" + d2;
		//if (objRef.timeObj) objRef.timeObj.innerHTML=objRef.current.getHours() + " : " + objRef.current.getMinutes() ;
		if (objRef.timeObj) objRef.timeObj.innerHTML=h2 + " : " + n2 ;
		
         objRef.current.setTime( objRef.current.getTime()+1000);
         objRef.loopCount++;
		 
         if (objRef.loopCount==60) {
            objRef.loopCount=0;
            objRef.getTimeFromServer();
         } else {
            tt = window.setTimeout(function() { objRef.updater(objRef); }, 1000);
         }         
	   },
	   
	   bk: function(I){
			  clearTimeout(I);
	   }
	}