// Comments:
// PostReq()         - JS action which is calling from PHP / HTML
// handleResponse()  - how to interpret the result from AJAX PHP script

var wrkdr = "../resys/ajaxphp/";

function createRequestObject() {
     var ro;
     var browser = navigator.appName;
     if(browser == "Microsoft Internet Explorer"){
          ro = new ActiveXObject("Microsoft.XMLHTTP");
     }else{
          ro = new XMLHttpRequest();
     }
     return ro;
}

var http = createRequestObject();

function GetReq(action) {
     http.open('GET', 'glbsearch.php?action='+action);
     http.onreadystatechange = handleResponse;
     http.send(null);
}

function PostReq(action,cbmethod) {
    var str = action+'='+encodeURI(document.getElementById(action).value);
    http.open('POST', wrkdr+cbmethod, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", action.length);
    http.setRequestHeader("Connection", "close");
    http.onreadystatechange = handleResponse;
    http.send(str);
}

function PostReq2(action,divout,cbmethod) {
    var str = action+'='+encodeURI(document.getElementById(action).value)+'&id_div_out='+encodeURI(divout);
    http.open('POST', wrkdr+cbmethod, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", action.length);
    http.setRequestHeader("Connection", "close");
    http.onreadystatechange = handleResponse;
    http.send(str);
}

function PostReq3(action,val,divout,cbmethod) {
    var str = action+'='+val+'&id_div_out='+encodeURI(divout);
    http.open('POST', wrkdr+cbmethod, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", action.length);
    http.setRequestHeader("Connection", "close");
    http.onreadystatechange = handleResponse;
    http.send(str);
}

function handleResponse() {
     if(http.readyState == 4){
          var response = http.responseText;
          var update = new Array();

          if(response.indexOf('|') != -1) {
               update = response.split('|');
               //document.getElementById(update[0]).innerHTML = update[1];
               document.getElementById(update[0]).value = update[1];
          }
     }
}

function setCompany2form(idPerson,NameP,Person,kForName,kSurName,ICO,DIC,Phone,Email,idExStreet,Street,HouseNumber,PSC,City){
    // id's for class method setDxItem()
    document.getElementById('glb_search_com').value=Person;
    document.getElementById('glb_search_com_id').value=idPerson;
    // id's for view form
    document.getElementById('idperson').value=idPerson;
    document.getElementById('name').value=NameP;
    document.getElementById('person').value=Person;
    document.getElementById('kMeno').value=kForName;
    document.getElementById('kPriezvisko').value=kSurName;
    document.getElementById('ico').value=ICO;
    document.getElementById('dic').value=DIC;
    document.getElementById('phone').value=Phone;
    document.getElementById('email').value=Email;
    setAdress2form(idExStreet,Street,HouseNumber,PSC,City);
}

function setCompany2formBC(idPerson,NameP){
    // id's for class method setDxItem()
    document.getElementById('glb_search_com').value=NameP;
    document.getElementById('ch_priezvisko').value=NameP;
    document.getElementById('id_person').value=idPerson;
}

function setAdress2form(idExStreet,Street,HouseNumber,PSC,City){
    // id's for class method setDxItem()
    document.getElementById('glb_search_ex').value=Street;
    document.getElementById('glb_search_ex_id').value=idExStreet;
    // id's for view form
    document.getElementById('idex').value=idExStreet;
    document.getElementById('street').value=Street;
    document.getElementById('hnumber').value=HouseNumber;
    document.getElementById('psc').value=PSC;
    document.getElementById('city').value=City;
}

function handleResponseCM() {
     if(http.readyState == 4){
          var response = http.responseText;
          var update = new Array();
          var rozdel = new Array();
          if(response.indexOf('|') != -1) {
               update = response.split('|');
               for (x in update){
                 if(update[x].indexOf('#') != -1) {
                   rozdel = update[x].split('#');
                   document.getElementById(rozdel[0]).value = rozdel[1];
                 }
               }
          }
     }
}

function GetDataCM(idobec,cbmethod){
    var str = 'id_obec='+idobec;
    //alert(str+"\n"+cbmethod);
    //document.getElementById('nazov').value = 'aaa';
    http.open('POST', wrkdr+cbmethod, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", idobec.length);
    http.setRequestHeader("Connection", "close");
    http.onreadystatechange = handleResponseCM;
    alert(str);
    http.send(str);
}

// -------------- ReSys -----------------

// IL 05032010 premenovane action -> divin

function getStays(divin,val,divout,cbmethod) {
    var str = divin+'='+val+'&id_div_out='+encodeURI(divout)+'&lang='+encodeURI(labelData['set_lang']);
    http.open('POST', wrkdr+cbmethod, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", divin.length);
    http.setRequestHeader("Connection", "close");
    http.onreadystatechange = handleResponseStays;
    http.send(str);
}


function handleResponseStays() {
  if(http.readyState == 4){
    var response = http.responseText;
    var update = new Array();
    var rozdel = new Array();


    //tp = document.getElementById('testoutput');  
    //tp.innerHTML = response;
    
    
    // resetovanie zoznamu pobytov v combo boxe
    
    stays_elem = document.getElementById('stays');
    if (stays_elem.length > 0){
      
      while(stays_elem.length > 0){
        stays_elem.remove(0);
      }
    }
    if(response.indexOf('|') != -1) {
    
      update = response.split('|');
      document.getElementById('longer').value = update[1];
      if(update[1].indexOf(';') != -1) {
        rozdel = update[1].split(';');
        
        for(x = 0; x < rozdel.length - 1; x++){
          var noo = document.createElement('option');
          
          pobyt = rozdel[x].split('#');
            
            /*        
          if(pobyt[3] == '-1'){s = '';}
          else if(pobyt[3] == '1'){s = '';}
          else if((pobyt[3] == '2')||(pobyt[3] == '3')||(pobyt[3] == '4')){s = ' (' + pobyt[3] + ' dni)';}
          else {s = ' (' + pobyt[3] + ' dní)';}          */
                 
	        noo.text = pobyt[0]; //+ s;
          noo.value = pobyt[1] + '#' + pobyt[2];
          
          try {
            document.getElementById('stays').add(noo, null);   // standard
          }
          catch(ex) {
            document.getElementById('stays').add(noo);       // IE
          }
        }
        setLeaveDate(); 
      }
    }
  }
}

function getLeaveDate(val1, val2, val3, cbmethod){
    var str = 'adate='+encodeURI(val1)+'&stays='+encodeURI(val2)+'&edate='+encodeURI(val3);
    http.open('POST', wrkdr+cbmethod, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", 'adate'.length);
    http.setRequestHeader("Connection", "close");
    http.onreadystatechange = handleResponseLeaveDate;
    http.send(str);
}

function handleResponseLeaveDate(){
  if(http.readyState == 4){
    var response = http.responseText;
    document.getElementById('edate').value = response;    
  }
}

function getPSC(val1, cbmethod){
  if(val1 != ''){ 
    var str = 'psc='+encodeURI(val1);
    http.open('POST', wrkdr+cbmethod, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", 'psc'.length);
    http.setRequestHeader("Connection", "close");
    http.onreadystatechange = handleResponsePSC;
    http.send(str);
  }
}

function handleResponsePSC(){
  if(http.readyState == 4){
    var response = http.responseText;
    udaje = response.split(';');
    
    if(udaje.length == 3 )
    {
      document.getElementById('psc').value = udaje[0];
      if(udaje[1] != ''){ document.getElementById('town').value = udaje[1]; }
      if(udaje[2] != ''){ document.getElementById('state').value = udaje[2]; }
    }    
  }
}

function getMailValidity(val1, cbmethod){
  if(val1 != ''){ 
    var str = 'emaildata='+encodeURI(val1);
    http.open('POST', wrkdr+cbmethod, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", 'emaildata'.length);
    http.setRequestHeader("Connection", "close");
    http.onreadystatechange = handleResponseMailValidity;
    http.send(str);
  }
}

function handleResponseMailValidity(){
  if(http.readyState == 4){
    var response = http.responseText;
    if(response == '0'){
      document.getElementById('email').value = '';
      document.getElementById('wrong_mail').innerHTML = labelData['la_mail'];
    }
    else{
      document.getElementById('wrong_mail').innerHTML = '';
    }   
  }
}

function getPrice(val1, val2, val3, val4, val5, val6, val7, cbmethod){
    var str = 'adate='+encodeURI(val1);
        str += '&stays='+encodeURI(val2);
        str += '&edate='+encodeURI(val3);
        str += '&toroom='+encodeURI(val4);
        str += '&tofood='+encodeURI(val5);
        str += '&adult='+encodeURI(val6);
        str += '&child='+encodeURI(val7);
        
    http.open('POST', wrkdr+cbmethod, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", 'adate'.length);
    http.setRequestHeader("Connection", "close");
    http.onreadystatechange = handleResponsePrice;
    http.send(str);
}

function handleResponsePrice(){
  if(http.readyState == 4){
    var response = http.responseText;
    document.getElementById('suma').innerHTML = response;    
  }
}

function getOrder(dlist, vals, lang, cbmethod){
    var str = '';
    
    for(i = 0; i < dlist.length; i++){
      if(i > 0){ str += '&';}
      str += dlist[i] + '=' + encodeURI(vals[dlist[i]]);
    }
    
    str += '&lang=' + encodeURI(lang);
    
    http.open('POST', wrkdr+cbmethod, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    //http.setRequestHeader("Content-length", 'psc'.length);
    http.setRequestHeader("Connection", "close");
    http.onreadystatechange = handleResponseOrder;
    http.send(str);
}

function handleResponseOrder(){
  if(http.readyState == 4){
    var response = http.responseText;
    
    var data = response.split('{;}');
    var out = '';
    
    if(data[0] != 'err'){
    
      out = '<h2>' + labelData['la_ordhead'] + ' ' + data[0] + '</h2><br/><br/>';
      out += '<p><b>The applied confirmation has only informative character. Your order will become definitive after getting confirmation from the hotel reception. Our personnel will contact you till 24 hours.</b></p>';
      out += '<table class="orderSummary">';
      out += data[1];
      out += '<tr><td colspan="2">&nbsp;</td></tr>';
      out += '<tr><td><a href="' + labelData['la_home'] + '">' + labelData['la_back'] + '</a></td> ' +
             '<td><a href="javascript:showSum();">' + labelData['la_print'] + '</a></td></tr>';    
      out += '</table>';
      
      document.getElementById('orderReply').innerHTML = out;
      
      $.post('http://www.hotelpark.sk/c.php', {}, function(data){
          $('body').append(data);
      });
    
    }
    else{
      out = '<h3>' + data[1] + '</h3><br/><br/>';
      
      document.getElementById('orderReply').innerHTML = out;
      document.getElementById('divresys').style.display = 'block';
    }   
  }
}



