// ############################################################################
// #
// #       Copyright liegt bei:  
// #       Cuculus GmbH
// #       Ehrenbergstr. 11
// #       98693 Ilmenau
// #       Tel. 03677 / 66 85 30 
// #       http://www.cuculus.net
// #
// #       AND:
// #   
// #       Author : Puneeth Kosaraju
// #       Date   : 10.03.2008
// #       Purpose: Ajax call to get remaining free surf time and WiFi Status
// #
// ############################################################################

//
//  Variablen und Konstanten
//

time0 = new Image;
time0.src = cmslinkimg + "status-ic-timer-0.gif"; 
time1 = new Image;
time1.src = cmslinkimg + "status-ic-timer-1.gif";
time2 = new Image;
time2.src = cmslinkimg + "status-ic-timer-2.gif";
time3 = new Image;
time3.src = cmslinkimg + "status-ic-timer-3.gif";
time4 = new Image;
time4.src = cmslinkimg + "status-ic-timer-4.gif";
time5 = new Image;
time5.src = cmslinkimg + "status-ic-timer-5.gif";


var reloadTime = 30; // wait time(in secs) to connect to the server for remaining surf time
var hTimer     = null;

//----------------------------------------------------------------------------------------------------------------------------------------

   function initTimer(){
      if((network=="einfachdrin" || network=="allesdrin") && userid > 0){
         hTimer = window.setInterval("reloadTimer()", reloadTime*1000);
         $("#time").html("<b>Starte ...</b>");
         AJAXTimer();
      }
   }
//----------------------------------------------------------------------------------------------------------------------------------------               
    function reloadTimer(){
      AJAXTimer();
    }

    function AJAXTimer(){
      //url = "session.html?action=reload&session=";
      //var link = '<cms:link>/session.html</cms:link>';
      var link = 'http://wlan-weimar.de/scripts/opencms.php';
      var show_alert = 1;
      var jetzt = new Date();
      $.ajax({
           url : link,
 	   type: 'GET',
	   data: 'action=keepalive_xml&session='+sessionID+'&noIEcache='+jetzt.getTime(),
           dataType: 'xml',
	   error: function(){ 
                       //alert('Die erforderlichen Daten konnten nicht vom Server geladen werden. Bitte laden Sie die Seite erneut!'); 
                   },
           success: function(xml){
                         $(xml).find('drin').each(function(){
                             var remainsurftime = $(this).find('remainsurftime').text(); 
                               if(isNaN(remainsurftime)){
                                if(show_alert){ 
                                 alert("Fehler: Ihre freie Surfzeit konnte nicht ermittelt werden. Bitte melden Sie sich ab und erneut an."); 
                                }
                                show_alert = 0;
                                remainsurftime=0;
                               }

                            var nextreloadtime = $(this).find('nextreloadtime').text(); 
                               
                               if(isNaN(nextreloadtime)){ 
                                 nextreloadtime=0;
                               }

                               //  if nextreloadtime or the remainsurftime is invalid stop the timer
                               if(nextreloadtime!=reloadTime && nextreloadtime > 0){
                                 window.clearInterval(hTimer); // remove the current timer
                                 reloadTime = nextreloadtime;  // update the reload timer
                                 hTimer = window.setInterval("reloadTimer()", reloadTime*1000); // new timer
                               } 

                               if(nextreloadtime<1 || remainsurftime<0.5) window.clearInterval(hTimer);


                            var chotspotstatus = $(this).find('chotspotstatus').text();

                		// chotspotstatus == 1 ;Everything is fine
               	                //                   2 ;invalid current hotspot, change automatically to new hotspot/ relogin again
                		//                   3 ;Invalid session
                             if(chotspotstatus == 1){
                               SetRemainSurfTime(remainsurftime);

                             }else if(chotspotstatus == 2){
                               // allesdrin user, change automatically
                               // surftime check
                                SetRemainSurfTime(remainsurftime);
                               if(network=="einfachdrin"){
                                $("#time").html("<b>Stoppt !!!</b>");
                                if(show_alert){ 
                                 alert("Hotspot gewechselt: Sie haben den Internetzugangspunkt gewechselt. Bitte melden Sie sich ab und erneut an.");
                                }
                                show_alert = 0;
                               }

                               // einfach drin user, alert user, logout
                             }else if(chotspotstatus == 3){ // invalid session
                              // alert user and logout
                                $("#time").html("<b>Stoppt !!!</b>");
                                if(show_alert){ 
                                 alert("Internetverbindung fehlgeschlagen: Ihre Internetverbindung konnte nicht wieder hergestellt werden. Bitte melden Sie sich ab und erneut an.");
                                }
                                show_alert = 0;
                            }

             
           }); // find each
         } // success   
      }); //ajax

    } //function 
//----------------------------------------------------------------------------------------------------------------------------------------               

    
    function SetRemainSurfTime(remainsurftime){

       // surftime check
       if(remainsurftime == 0){
        $("#time").html("<b>Abgelaufen !</b>");
       }else{
        $("#time").html("<b>Zeit:"+Math.floor(remainsurftime/60)+":"+remainsurftime%60+" h</b>");
       } 
       var remTimeInSecs = remainsurftime * 60;

       if(network=="allesdrin"){
                if(remTimeInSecs>=5800) $("#remTimePic").attr("src",time5.src);
                else if(remTimeInSecs>=4400) $("#remTimePic").attr("src",time4.src);
                else if(remTimeInSecs>=3000) $("#remTimePic").attr("src",time3.src);
                else if(remTimeInSecs>=1600) $("#remTimePic").attr("src",time2.src);
                else $("#remTimePic").attr("src",time1.src);
       } else if(network=="einfachdrin"){
                if(remTimeInSecs>=2900) $("#remTimePic").attr("src",time5.src);
                else if(remTimeInSecs>=2200) $("#remTimePic").attr("src",time4.src);
                else if(remTimeInSecs>=1500) $("#remTimePic").attr("src",time3.src);
                else if(remTimeInSecs>=800) $("#remTimePic").attr("src",time2.src);
                else $("#remTimePic").attr("src",time1.src);
       }

    }
