
// common js function

   function setCookie(name, value, expires, path, domain, secure) {
   var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
   document.cookie = curCookie;
   }

   function getCookie(c_name){
   var i,x,y,ARRcookies=document.cookie.split(";");
      for (i=0;i<ARRcookies.length;i++){
      x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
      y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
      x=x.replace(/^\s+|\s+$/g,"");
         if (x==c_name)
         return unescape(y);
      }
   }



   function clear_notified(){
      if( ajax_online_blur_notified ){
      document.title = document.title.substr( updatedPrefix.length , document.title.length-updatedPrefix.length ) ;
      ajax_online_blur_notified = false ;
      }
   }

   function request_online(result){
      if( !result.match(olResultExp) || requestLimiter<=0 ){
      terminate_request();

      }else{

      clear_notified() ;

      requestLimiter--;
      requestedCount++;

      result=result.split("\n");

         if( document.getElementById("sajax_online_target") ){
         result[0]=result[0].split(',');
         document.getElementById("sajax_online_target").innerHTML=menu_status_1_target.replace(/%d/,parseInt(result[0][0])+parseInt(result[0][1]));
         document.getElementById("sajax_online_target").title=menu_status_1_alt.replace(/%d/,result[0][0]).replace(/%d/,result[0][1]).replace(/%d/,result[0][5]);
         }

         if( result[1] != '' ){
         result[1]=result[1].split("\t");
         var a = document.getElementById("calendar_event_notification_a");
         a.title=result[1][0];
         a.href=result[1][1];
         a.innerHTML=result[1][2];
         a.className='unread';
         }

      var iexp = /^index.php(\?lid=[0-9]+)?$/ ;
      var fexp = /^forum.php(\?lid=[0-9]+)?$/ ;
      var texp = /^forum.php\?f=trd(&lid=[0-9]+)?$/ ;
      var loc = location.href.split("/").pop() ;

         if( result[2] != '' ){
         result[2]=result[2].split("\t");
         var a = document.getElementById(result[2][0]+"_thread_notification_a");
            if( a ){
               if( ajax_auto_reload_list && fexp.test(loc) && loc!=result[2][3] )
               location = result[2][3];
            a.href=result[2][1];
            a.innerHTML=result[2][2];
            a.className='unread';
            }
         }

         if( result[3] != '' ){
         result[3]=result[3].split("\t");
         var a = document.getElementById(result[3][0]+"_thread_notification_a");
            if( a ){
               if( ajax_auto_reload_list && texp.test(loc) && loc!=result[3][1] )
               location = result[3][1];
            a.href=result[3][1];
            a.innerHTML=result[3][2];
            a.className='unread';
            }
         }

      start_request(true);
      }
   }

var onblur_caches = new Array(null,null,null) ;
   function request_online_blur(result){
      if( !result.match(blResultExp) || requestLimiter<=0 ){
      terminate_request_blur();

      }else{
      var flag = ajax_online_blur_notified ;

      requestLimiter--;
      requestedCount++;

      result=result.split("\n");

         if( result[1] != '' && !ajax_online_blur_notified ){
         result[1]=result[1].split("\t");
         var a = document.getElementById("calendar_event_notification_a");
            if( a ){
            var compare = result[1][1].split("/").pop();
               if(   (onblur_caches[0]!=null && onblur_caches[0]!=compare) ||
                     (onblur_caches[0]==null && a.href.split("/").pop()!=compare) ){
               document.title = updatedPrefix + document.title ;
               ajax_online_blur_notified = true ;
               onblur_caches[0] = compare ;
               }
            }
         }

         if( result[2] != '' && !ajax_online_blur_notified ){
         result[2]=result[2].split("\t");
         var a = document.getElementById(result[2][0]+"_thread_notification_a");
            if( a ){
            var compare = result[2][1].split("/").pop();
               if(   (onblur_caches[1]!=null && onblur_caches[1]!=compare) ||
                     (onblur_caches[1]==null && a.href.split("/").pop()!=compare) ){
               document.title = updatedPrefix + document.title ;
               ajax_online_blur_notified = true ;
               onblur_caches[1] = compare ;
               }
            }
         }

         if( result[3] != '' && !ajax_online_blur_notified ){
         result[3]=result[3].split("\t");
         var a = document.getElementById(result[3][0]+"_thread_notification_a");
            if( a ){
            var compare = result[3][1].split("/").pop();
               if(   (onblur_caches[2]!=null && onblur_caches[2]!=compare) ||
                     (onblur_caches[2]==null && a.href.split("/").pop()!=compare) ){
               document.title = updatedPrefix + document.title ;
               ajax_online_blur_notified = true ;
               onblur_caches[2] = compare ;
               }
            }
         }

      start_request_blur(true);
      }
   }

   function start_request( cont ){
      if( cont )
      terminate_request() ;
      if( isWinFocus && !olTimmer ){
      var d=new Date();
      olTimmer=setTimeout(
         function(){
            if( availableDetection && isWinFocus ){
            setCookie('ajax_online_focus_status','yes') ;
            x_ajax_online(request_online) ;
            }
         },( blurMarker!=false && d.getTime()-blurMarker >= ajax_online_refresh_time/timeDiv ? 100 : Math.floor( requestedCount < timeDiv ? ajax_online_refresh_time/(timeDiv-requestedCount+1) : ajax_online_refresh_time ) ));
      blurMarker=false;
      }
   }

   function terminate_request(){
      if( olTimmer ){
      clearTimeout(olTimmer);
      olTimmer=null;
      }
   }

   function start_request_blur( cont ){
      if( cont )
      terminate_request_blur() ;
      if( !isWinFocus && !blTimmer ){
      blTimmer=setTimeout(
         function(){
            if( !isWinFocus ){
               if( ajax_online_blur_notified ){
                  if( getCookie('ajax_online_focus_status')=='yes' )
                  clear_notified() ;
               start_request_blur(true);
               }else if( getCookie('ajax_online_focus_status')=='yes' ){
               start_request_blur(true);
               }else if( availableDetection ){
               x_ajax_online_blur(request_online_blur) ;
               }
            }
         },( ajax_online_blur_notified ? 1000 : ajax_online_blur_refresh_time ));
      }
   }

   function terminate_request_blur(){
      if( blTimmer ){
      clearTimeout(blTimmer);
      blTimmer=null;
      }
   }

   function online_when_win_onload(){
   availableDetection=true;
   start_request(false);
   }

   function online_when_win_onblur(){
   setCookie('ajax_online_focus_status','no') ;
   isWinFocus=false;
   terminate_request();
   var d=new Date();
   blurMarker=d.getTime();
   start_request_blur(false);
   }

   function online_when_win_onfocus(){
   setCookie('ajax_online_focus_status','yes') ;
   isWinFocus=true;
   terminate_request_blur();
   requestedCount=0;
   start_request(false);
   }
