// ---------------------------------- JQUERY inizializzazione & ready function --------------------------------
// Caso 01 --> florenceapartments,

// --- vars per la funzione update_more()
 var more_value =  new Array();
 var more_var_out = new Array();
 var more_var_in = new Array();
 var more_s_value = '';

 function static_adjust() { try {
   var in_d = document.getElementById('W__arrival_day');
   if( ! in_d ) { return '&ID_S=' + ID_S; }  // --- se non ci sono date nel programma
   var in_d = document.getElementById('W__arrival_day').value; // --- ci sono, proseguiamo
   in_d = ((in_d < 10) ? "0" + in_d : in_d);
   var in_m = document.getElementById('W__arrival_month').value;
   in_m = ((in_m < 10) ? "0" + in_m : in_m);
   var in_y = anno_tar_0;
   if ( in_m > 12 ){
     in_m = in_m - 12;
     in_y = anno_tar_1;
   }
   var out_d = document.getElementById('W__departure_day').value;
   out_d = ((out_d < 10) ? "0" + out_d : out_d);
   var out_m = document.getElementById('W__departure_month').value;
   out_m = ((out_m < 10) ? "0" + out_m : out_m);
   var out_y = anno_tar_0;
   if ( out_m > 12 ){
     out_m = out_m - 12;
     out_y = anno_tar_1;
   }
   var d_arrival = (in_m + '/' + in_d + '/' + in_y).toString;
   var d_departure = (out_m + '/' + out_d + '/' + out_y).toString;

   var static_param = '&ID_S=' + ID_S
                    + '&arrival=' + in_m + '/' + in_d + '/' + in_y
                    + '&departure=' + out_m + '/' + out_d + '/' + out_y;
// alert('Static_param: ' + static_param);
   return static_param;
 }catch(myError) {
   vars_state = '| Error: ' + myError.name + ' | Message:' + myError.message;
   var j_ID_S=document.getElementById("ID_S");
   if(typeof(j_ID_S)==undefined || j_ID_S==null){
     alert("static adjust - NO ID_S - " + vars_state);
     return false;
   }else{
    alert("static adjust: " + vars_state + '\nstatic param: ' + static_param);
    return false;
}}};


$(document).ready(function() { try {
// --------------------------------------------- vedi commenti in DOCS.txt ed in apt_details

  var n_href = 0; // -- var usata nel "catch(myError)"
  //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ AGGIUSTARE DATE !!!!!!!!

  // var static_param = static_adjust();
  var static_param = '&ID_S=' + ID_S
  var adc_value = ''; // --- se non esiste l'elemento W__adultchild
  if (document.getElementById('W__adultchild')) {adc_value = '&adultchild=' + document.getElementById('W__adultchild').value;}

// modifica tutti gli HREF di classe="adjust"
  $('a.adjust').each( function(){
    var href_orig = $(this).attr("href");                  // -- href originale
    var href_param = $(this).attr("href_param");           // -- netpars in href originale
    var href_location = '';                                //  -- net location in href originale
    var href_fragment = '';                                //  -- fragment in href originale
    var f_static = '';
    var p_netparam = href_orig.indexOf('?');
    var p_fragment = href_orig.indexOf('#');
    var len_netparam = 0;
    var len_fragment = 0;
    if ((p_netparam == -1) && (p_fragment == -1)){
      href_location = href_orig;
    }
    if ((p_netparam != -1) && (p_fragment == -1)){
      if ( p_netparam == 0 ) {
        f_static = href_orig;
      } else {
        len_netparam = href_orig.length - p_netparam;
        f_static = href_orig.substr(p_netparam,len_netparam)
        href_location = href_orig.substr(0,p_netparam)
      }
    }
    if ((p_netparam == -1) && (p_fragment != -1)){
      if ( p_fragment == 0 ) {
        href_fragment = href_orig;
      } else {
        len_fragment = href_orig.length - p_fragment;
        href_fragment = href_orig.substr(p_fragment,len_fragment)
        href_location = href_orig.substr(0,p_fragment)
      }
    }
    if ((p_netparam != -1) && (p_fragment != -1)) {
      len_fragment = href_orig.length - p_fragment;
      href_fragment = href_orig.substr(p_fragment,len_fragment)
      var p_location = p_fragment;
      if( p_netparam < p_fragment ) {
        len_netparam = p_fragment - p_netparam;
        f_static = href_orig.substr(p_netparam,len_netparam)
        var p_location = p_netparam;
      }
      href_location = href_orig.substr(0,p_location)      
    }

    $(this).data("href_static", href_location + href_param);
    $(this).data("href_fragment", href_fragment);
    var adc_data = '';
    if (! $(this).hasClass("adjust_pers") ) { adc_data = adc_value; }
    $(this).attr("href", href_location + href_param + static_param + adc_data + href_fragment);
  if (P_DEBUG) {
    if( $(this).hasClass("debug")) {
      alert("href # " + n_href + '\nhref_orig:' + href_orig + "\n\n\nhref param: " + href_param 
            + "\n\nhref fragment: " + $(this).data("href_fragment")
            + "\n\nhref static: " + $(this).data("href_static") + "\n\nnew href: " + $(this).attr("href"));
    }
  }
    n_href++;
  })
//  alert("Ho memorizzato " + n_href + " link href");

  document.getElementById("titolino_h1").style.background = '#F0F0F0';

// --- Costruzione del deposito MORE     -- vedi funzione update_more() --
  return true; // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  per ora NON SI USA  @@@@@@@
  more_var_out["search_mode"] = "S__search_mode";
  more_var_in["search_mode"] = "W__search_mode";
  more_value["search_mode"] = document.getElementById("S__search_mode").value;
  more_var_out["beds_min"] = "S__beds_min";
  more_var_in["beds_min"] = "W__beds_min";
  more_value["beds_min"] = document.getElementById("S__beds_min").value;
  more_var_out["beds_max"] = "S__beds_max";
  more_var_in["beds_max"] = "W__beds_max";
  more_value["beds_max"] = document.getElementById("S__beds_max").value;
  more_var_out["room_min"] = "S__room_min";
  more_var_in["room_min"] = "W__room_min";
  more_value["room_min"] = document.getElementById("S__room_min").value;
  more_var_out["room_max"] = "S__room_max";
  more_var_in["room_max"] = "W__room_max";
  more_value["room_max"] = document.getElementById("S__room_max").value;
  more_var_out["bath_min"] = "S__bath_min";
  more_var_in["bath_min"] = "W__bath_min";
  more_value["bath_min"] = document.getElementById("S__bath_min").value;
  more_var_out["bath_max"] = "S__bath_max";
  more_var_in["bath_max"] = "W__bath_max";
  more_value["bath_max"] = document.getElementById("S__bath_max").value;
  more_var_out["price_day_indice"] = "S__price_day_indice";
  more_var_in["price_day_indice"] = "W__price_day_indice";
  more_value["price_day_indice"] = document.getElementById("S__price_day_indice").value;
  more_var_out["price_day_min"] = "S__price_day_min";
  more_var_in["price_day_min"] = "W__price_day_min";
  more_value["price_day_min"] = document.getElementById("S__price_day_min").value;
  more_var_out["price_day_max"] = "S__price_day_max";
  more_var_in["price_day_max"] = "W__price_day_max";
  more_value["price_day_max"] = document.getElementById("S__price_day_max").value;
  more_var_out["amenities"] = "S__amenities"; // --- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ DA RIVEDERE 
  more_var_in["amenities"] = "W__amenities";
  more_value["amenities"] = document.getElementById("S__amenities").value;
// ---------------------------------------------------------------------------------- FINE inizializzazione (jq ready function)
  return true;
 }catch(myError) {
   vars_state = '| Error: ' + myError.name + ' | Message:' + myError.message + ' | n_href: ' + n_href;
   var j_ID_S=document.getElementById("ID_S");
   if(typeof(j_ID_S)==undefined || j_ID_S==null){
     alert("Jquery ready function - NO ID_S - " + vars_state);
     return false;
   }else{
    alert("Jquery ready function: " + vars_state);
    return false;
}}});

// --- nome_var       nome della variabile in un eventuale GET
// --- more_var_in    nome del campo INPUT che ospita la variabile nome_var e variato dall'utente
// --- more_var_out   nome del campo INPUT che ospita la variabile nome_var nel form di uscita
function update_more(nome_var){ try{ // ---------------- le variabili generiche sono raggruppate in MORE
  return true; // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ NON IMPLEMENTATA !!!
  var old_var_value = more_value[nome_var];                             // @@@@@@@@@@@@@@@@@@@@ NON SERVE!
//  alert('more - var old: ' + nome_var + '\nvalue: ' + old_var_value);         // @@@@@@@@@@@@@@@@@@@@ NON SERVE!

  var var_value = document.getElementById(more_var_in[nome_var]).value; // --- aggiorna il deposito "more"
//  alert('more - in: ' + more_var_in[nome_var] + '\nvalue: ' + var_value);
//  alert('more - out ID: ' + more_var_out[nome_var]);
//  document.getElementById(more_var_out[nome_var]).value = var_value;
  more_value[nome_var] = var_value;
  more_s_value = '';                                                    // --- nuovo valore "more"
  for (var i in more_value) {
	  more_s_value += '|' + i + '=' + more_value[i];
  }
  alert ('more - valore S__more: ' + more_s_value);
  
  jquery_ajax('more', more_s_value);

 }catch(myError) {
   vars_state = '| var_update error: ' + myError.name + ' | Message:' + myError.message;
   var j_ID_S=document.getElementById("ID_S");
   if(typeof(j_ID_S)==undefined || j_ID_S==null){
     alert("update more - NO ID_S - " + vars_state);
     return false;
   }else{
    alert("update_more error: " + vars_state);
    return false;
}}};

function var_update(nome_var){ try{ // ---------------------------------======---------- update variabile nome_var ---
   //alert('Aggiornamento variabile ' + nome_var);
   var valore_var = document.getElementById(nome_var).value;
   return  jquery_ajax(nome_var, valore_var);

 }catch(myError) {
   vars_state = '| var_update error: ' + myError.name + ' | Message:' + myError.message;
   var j_ID_S=document.getElementById("ID_S");
   if(typeof(j_ID_S)==undefined || j_ID_S==null){
     alert("var_update - NO ID_S - " + vars_state);
     return false;
   }else{
    alert("var_update: " + vars_state);
    return false;
}}};

function jquery_ajax(nome_var, valore_var){ try{ // -------------------------------------------- chiamata jq-AJAX ---
   document.getElementById("titolino_h1").style.background = 'red'; // -------------------------(accende titolino)---
   var data = '- Error: No Data -';
   ajax_ok = false;
   //alert('ajax - var: '+nome_var+'\nvalore: '+valore_var);
   $.post("session_mem"+debug_new+".php", {ID_prog: ID_prog, progName: progName, ID_S: ID_S, referer: referer,
           href_id: "9999", evento: "Aggiorna", 
           var_name: nome_var, var_value: valore_var},
       function(data){
       //alert("Aggiornamento: " + nome_var + ' value: ' + valore_var + '\nRisposta: ' + data);
       ajax_ok = true;
   });
   document.getElementById("titolino_h1").style.background = '#F0F0F0';
   return ajax_ok;

 }catch(myError) {
   vars_state = '| var_update error: ' + myError.name + ' | Message:' + myError.message;
   var j_ID_S=document.getElementById("ID_S");
   if(typeof(j_ID_S)==undefined || j_ID_S==null){
     //alert("var_update - NO ID_S - " + vars_state);
     return false;
   }else{
    //alert("var_update: " + vars_state);
    return false;
}}};

function makerequest(serverPage) { try{ // -------------------------- chiamata jq-AJAX per aggiornamento database ---
   document.getElementById("titolino_h1").style.background = 'red'; // -------------------------(accende titolino)---
   var data = '- Error: No Data -';
   var ajax_ok='ko';
   $.post(serverPage, function(data){
      if( data.substr(0,4).search('ok') >= 0 ) {
        var ajax_ok='ok';
        ShowAndHide('foot_end1','foot_end2');
      }else{
        var ajax_ok='ko';
        ShowAndHide('foot_end1','foot_end3');
      }
   });
   //alert('Risposta: ' + data);
   document.getElementById("titolino_h1").style.background = '#F0F0F0';
   return ajax_ok;
 }catch(myError) {
   vars_state = '| var_update error: ' + myError.name + ' | Message:' + myError.message;
   var j_ID_S=document.getElementById("ID_S");
   if(typeof(j_ID_S)==undefined || j_ID_S==null){
     //alert("var_update - NO ID_S - " + vars_state);
     return false;
   }else{
    //alert("var_update: " + vars_state);
    return false;
}}};

/*
//=============================================================================
function makerequest(serverPage) {		
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      ajax_value = xmlhttp.responseText;
      ajax_done = true;
      if(ajax_value.substr(0,4).search('ok')>=0) {
        var ajax_ok='ok';
        ShowAndHide('foot_end1','foot_end2');
      }else{
        var ajax_ok='ok';
        ShowAndHide('foot_end1','foot_end3');
      }
	 	}
	}
	xmlhttp.send(null);
}
*/