﻿var currReq = new Object()
currReq.searchEngine = "searchEngine";
currReq.dealPlayer = "dealPlayer";
currReq.newsLetter = "newsLetter";

currReq.current = "";var req;
var _timer;
var speed = 500;
var divFromAjaxRequest = null;
var ajaxUrl = null;
var query = null;
var loaderGrid = null;


  function Send_ReqDP(__query){ 
     query = __query;
     stopTime();   
     showloaderGrid(true);
     timeOutDP();
 }
  function timeOutDP(){
    _timer = window.setTimeout("sendAjaxDP()", speed);
}
 function sendAjaxDP(){
   SendQueryDP(ajaxUrl,query);
}
function InitializeDP(){
        try{
            reqDP=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e){
            try{
                reqDP=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(oc){
                reqDP=null;
            }
        }

        if(!reqDP&&typeof XMLHttpRequest!="undefined"){
            reqDP= new
            XMLHttpRequest();
            }
    } 
  
   function SendQueryDP(link,query){
        InitializeDP();
        var url=link + "?" + query;
        if(reqDP!=null){
            reqDP.onreadystatechange = ProcessDP;
            reqDP.open("GET", url, true);
            reqDP.send(null);
            }
     }
     
     
    function ProcessDP(){ //each page implements its own process() function 
        if (reqDP.readyState == 4)
            {// only if "OK"
                if (reqDP.status == 200){
                    if(reqDP.responseText!=""){
                     
                        var _response = reqDP.responseText;
                        divFromAjaxRequest.innerHTML = _response;
                         
                        showloaderGrid(false);
                        // postAjax();
                        switch (currReq.current)
                        {
                             case currReq.searchEngine:
                                break;
                             case currReq.dealPlayer:
                                //showloaderGrid(false);
                                DealClick(_defaultDealOn);
                                break;
                             case currReq.newsLetter:
                                break;
                        }
                       
                        currReq.current = "";
                        
                       
                    }
                }
                else{
                    divFromAjaxRequest.innerHTML=
					    "הייתה בעייה לקבל את הנתונים, אנא נסו שנית :<br />" + req.statusText;
					    showloaderGrid(false);
                }
        }
     }
 function setValues(__ajaxUrl,__divFromAjaxRequest,__speed,__loaderGrid)
 {
   
   ajaxUrl = __ajaxUrl;
   divFromAjaxRequest = __divFromAjaxRequest;
   speed = __speed;
   loaderGrid = __loaderGrid;
 }
// pre load Request
 function Send_Req(__query){
     query = __query;
     stopTime();   
     showloaderGrid(true);
     timeOut();
 }
 function Send_ReqNewsletter(__query)
 {
    query = __query;
     stopTime();   
     showloaderGrid(true);
     timeOutNewsletter();
 }
 
function timeOut(){
    _timer = window.setTimeout("sendAjax()", speed);
}
function timeOutNewsletter(){
    _timer = window.setTimeout("sendAjaxNewsletter()", speed);
}

function stopTime(){
    window.clearTimeout(_timer);
}
 
function sendAjax(){
   SendQuery(ajaxUrl,query);
}
function sendAjaxNewsletter(){
   SendQueryNewsletter(ajaxUrl,query);
}

    function showloaderGrid(show){
     if(loaderGrid == null){return false;}
     setposition();
      if(show){
       loaderGrid.style.display = "block"; 
      }
      else{
        loaderGrid.style.display = "none";
      }
      
    }
// END OF pre load Request
 
 
// ajax Requets
    function Initialize(){
        try{
            req=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e){
            try{
                req=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(oc){
                req=null;
            }
        }

        if(!req&&typeof XMLHttpRequest!="undefined"){
            req= new
            XMLHttpRequest();
            }
    } 
    
      function InitializeNewsletter(){
        try{
            reqNews=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e){
            try{
                reqNews=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(oc){
                reqNews=null;
            }
        }

        if(!reqNews&&typeof XMLHttpRequest!="undefined"){
            reqNews= new
            XMLHttpRequest();
            }
    } 
    
    function SendQuery(link,query){
        Initialize();
        var url=link + "?" + query;
        if(req!=null){
            req.onreadystatechange = Process;
            req.open("GET", url, true);
            req.send(null);
            }
     }
     
      function SendQueryNewsletter(link,query){
        InitializeNewsletter();
        var url=link + "?" + query;
        if(reqNews!=null){
            reqNews.onreadystatechange = ProcessNewsletter;
            reqNews.open("GET", url, true);
            reqNews.send(null);
            }
     }
     
       function ProcessNewsletter(){ //each page implements its own process() function 
        if (reqNews.readyState == 4)
            {// only if "OK"
                if (reqNews.status == 200){
                    if(reqNews.responseText!=""){
                     
                        if (reqNews.responseText=="1")
                        {
                            window.document.location="confirmEmail.aspx?msg=1"
                        }
                        else{
                         window.document.location="confirmEmail.aspx?msg=2"
                        }
                    }
                }
                else{
                    divFromAjaxRequest.innerHTML=
					    "הייתה בעייה לקבל את הנתונים, אנא נסו שנית :<br />" + reqNews.statusText;
					    showloaderGrid(false);
                }
        }
     }

    function Process(){ //each page implements its own process() function 
        if (req.readyState == 4)
            {// only if "OK"
                if (req.status == 200){
                    if(req.responseText!=""){
                     
                        var _response = req.responseText;
                        divFromAjaxRequest.innerHTML = _response;
                         try
                        {  
                            var mySplitResult = _response.split("%splt%");
                            
                            
                            document.getElementById("ajaxDiv").innerHTML = mySplitResult[0];
                            document.getElementById("spnCurrentNumberOfVacationPackages").innerHTML = mySplitResult[1];
                            //document.getElementById("pagingFromAjax").innerHTML = mySplitResult[2];
                            
                            if (_currXMLId != null ){ //hotel abroad - load map
                             document.getElementById(_currXMLId).value = mySplitResult[4];
                            if (document.getElementById("tblHotelSearchMapView").style.display!="none")
                            {loadMe('0.0000', '0.0000');}}
                            
                        
                        }
                        catch(x)
                        {
                        }
                         
                        showloaderGrid(false);
                        // postAjax();
                        switch (currReq.current)
                        {
                             case currReq.searchEngine:
                                break;
                             case currReq.dealPlayer:
                                //showloaderGrid(false);
                                DealClick(_defaultDealOn);
                                break;
                             case currReq.newsLetter:
                                break;
                        }
                       
                        currReq.current = "";
                        
                       
                    }
                }
                else{
                    divFromAjaxRequest.innerHTML=
					    "הייתה בעייה לקבל את הנתונים, אנא נסו שנית :<br />" + req.statusText;
					    showloaderGrid(false);
                }
        }
     }
     
// Find and position loading image

var LoadImg,PivotObj,pLeft,pTop;
      function setpositionValues(_LoadImg,_PivotObj,_pLeft,_pTop)
      {
        LoadImg = ge(_LoadImg);
        PivotObj = ge(_PivotObj);
        pLeft = _pLeft;
        pTop = _pTop;
      } 
    
      function setposition()
      {       
       var rVal = FindPosition(PivotObj)

       if(rVal){
        LoadImg.style.left = rVal.x + pLeft + "px";
        LoadImg.style.top = rVal.y + pTop + "px";
       }
       
      }
      
      function FindPosition(obj)
      { 
        try{ 
            if(obj.offsetParent){
            for(var curLeft = 0,curTop = 0;obj ; obj = obj.offsetParent){
               curLeft += obj.offsetLeft;
               curTop += obj.offsetTop;
            }
           
         } else{
             curLeft = obj.x;
             curTop = obj.y;
            } 
         var rVal = new Object();
         rVal.x = curLeft;
         rVal.y = curTop;
         return rVal;
        }catch(err){return false;}
      }
     
// END OF ajax Requets