// remote scripting library
// (c) copyright 2005 modernmethod, inc
sajax_debug_mode = false;
sajax_request_type = "GET";
//sajax_common_uri = 'http://localhost/ristorantiitaliani_it_2.0/ajax/ajax.php';
sajax_common_uri = 'http://www.ristorantiitaliani.it/ajax/ajax.php';

function sajax_debug(text) {
    if (sajax_debug_mode)
        alert("RSD: " + text)
}
function sajax_init_object() {
    sajax_debug("sajax_init_object() called..")

    var A;
    try {
        A=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            A=new ActiveXObject("Microsoft.XMLHTTP");
        } catch (oc) {
            A=null;
        }
    }
    if(!A && typeof XMLHttpRequest != "undefined")
        A = new XMLHttpRequest();
    if (!A)
        sajax_debug("Could not create connection object.");
    return A;
}
function sajax_do_call(func_name, args) {
    var i, x, n;
    var uri;
    var post_data;

    uri = sajax_common_uri;
    if (sajax_request_type == "GET") {
        if (uri.indexOf("?") == -1)
            uri = uri + "?rs=" + escape(func_name);
        else
            uri = uri + "&rs=" + escape(func_name);
        for (i = 0; i < args.length-1; i++)
            uri = uri + "&rsargs[]=" + escape(args[i]);
        uri = uri + "&rsrnd=" + new Date().getTime();
        post_data = null;
    } else {
        post_data = "rs=" + escape(func_name);
        for (i = 0; i < args.length-1; i++)
            post_data = post_data + "&rsargs[]=" + escape(args[i]);
    }

    x = sajax_init_object();
    x.open(sajax_request_type, uri, true);
    if (sajax_request_type == "POST") {
        x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
        x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    }
    x.onreadystatechange = function() {
        if (x.readyState != 4)
            return;
        sajax_debug("received " + x.responseText);

        var status;
        var data;
        status = x.responseText.charAt(0);
        data = x.responseText;//.substring(2);
        if (status == "-")
            alert("Error: " + data);
        else
            args[args.length-1](data);
    }
    x.send(post_data);
    sajax_debug(func_name + " uri = " + uri + "/post = " + post_data);
    sajax_debug(func_name + " waiting..");
    delete x;
}


function open_demo()
{
    window.open('http://www.ristorantiitaliani.it/popup.html','popup','top=0,left=0,toolbar=no,scrollbars=yes,status=no,directories=no,menubar=no,resizable=no,width=660,height=495');
}



function showStatus(msg)
{
  window.status = msg;
  return true;
}


function setCheckboxes(the_form, do_check, fieldname) {

    var field     = fieldname + '[]';
    var elts      = document.forms[the_form].elements[field];
    var elts_cnt  = elts.length;

    if(!elts_cnt) {
    
        elts.checked = do_check;
    
    } else {
    
        for (var i = 0; i < elts_cnt; i++) {
    
            elts[i].checked = do_check;
    
        }    

    }

    return true;
}


function getEl(el)
{
    if(document.getElementById) {

        var the_element = document.getElementById(el);

    } else if(document.all) {

        var the_element = document.all[el];

    } else if (document.layers){

        var the_element = document.layers[el];

    }
    
    return the_element;
}



function HideEl(el)
{
    var the_element = getEl(el);

    if(the_element.style) {

        the_element.style.display = 'none';

    } else {

        the_element.visibility = 'hidden';

    }
}



function ShowEl(el)
{
    var the_element = getEl(el);

    if(the_element.style) {

        the_element.style.display = '';

    } else {

        the_element.visibility = 'show';

    }
}



function showHide(el)
{
    var the_element = getEl(el);

    if(the_element.style) {

        the_element.style.display = (the_element.style.display == '') ? 'none' : '';

    } else {

        the_element.visibility = (the_element.visibility == 'show') ? 'hidden' : 'show';

    }
}



// Emulo l'omonima funzione PHP
function in_array(el, array)
{
    var array_l = array.length;

    for(y = 0; y < array_l; y++) {

        if(el == array[y])
            return true;

    }

    return false;
} // end function in_array()



// Emulo l'omonima funzione PHP
function trim(text)
{
    var new_text = text.replace(/^[ ]+/, '');
    new_text = new_text.replace(/[ ]+$/, '');

    return new_text;
} // end function trim()



// From HTML_TreeMenu 1.0.4 (http://pear.php.net/package/HTML_TreeMenu/download/1.0.4)
function sprintf(strInput)
{
	var strOutput  = '';
	var currentArg = 1;

	for (var i=0; i<strInput.length; i++) {
		if (strInput.charAt(i) == '%' && i != (strInput.length - 1) && typeof(arguments[currentArg]) != 'undefined') {
			switch (strInput.charAt(++i)) {
				case 's':
					strOutput += arguments[currentArg];
					break;
				case '%':
					strOutput += '%';
					break;
			}
			currentArg++;
		} else {
			strOutput += strInput.charAt(i);
		}
	}

	return strOutput;
}



function check_top_search_form(fObj, err_mess)
{
    var st_type = fObj.elements['type'];
    var prov = fObj.elements['provincia'];
    var naz = fObj.elements['nazionalita'];

    if(trim(fObj.elements['nome'].value) == '' && trim(fObj.elements['citta'].value) == ''
        && st_type.options[st_type.options.selectedIndex].value == ''
            && naz.options[naz.options.selectedIndex].value == ''
                && prov.options[prov.options.selectedIndex].value == '') {

        alert(err_mess);

        return false;

    } // end if(trim(fObj.elements['nome'].value) == '' && trim(fObj.elements['citta'].value) == ''...
    
    return true;
} // end function check_top_search_form()



function print_glossario(qs, text, site_url)
{
    if(qs == '') {
    
        alert(text);
        
        return false;

    } // end if(qs == '') {
    
    window.open(site_url + 'glossario/print/0/0/0/index.html?' + qs, 'print_glossario', 'top=0,left=0,toolbar=no,scrollbars=yes,status=no,directories=no,menubar=no,resizable=yes,width=660,height=480');

    return false;
} // end print_glossario()



function check_adv_search_form(fObj, error)
{
    var el_reg = fObj.elements['regione'];
    var el_prov = fObj.elements['provincia'];
    
    if(fObj.elements['nome'].value == '' && fObj.elements['indirizzo'].value == ''
        && fObj.elements['citta'].value == '' && fObj.elements['cap'].value == ''
            && el_reg.options[el_reg.options.selectedIndex].value == ''
                && el_prov.options[el_prov.options.selectedIndex].value == '') {

        alert(error);

        return false;

    }
    
    var qs = '';
    qs += 'nome=' + fObj.elements['nome'].value;
    qs += '&indirizzo=' + fObj.elements['indirizzo'].value;
    qs += '&citta=' + fObj.elements['citta'].value;
    qs += '&cap=' + fObj.elements['cap'].value;
    qs += '&regione=' + el_reg.options[el_reg.options.selectedIndex].value;
    qs += '&provincia=' + el_prov.options[el_prov.options.selectedIndex].value;
    qs += '&criterio=' + fObj.elements['criterio'].value;

    var hidden_field_value = fObj.elements['criterio'].value;

    if(hidden_field_value == 't') {
    
        var field     = 'tipo' + '[]';

    } else if(hidden_field_value == 'c') {

        var field     = 'cucina' + '[]';

    } // end if(hidden_field_value == 't') {

    var elts      = fObj.elements[field];
    var elts_cnt  = elts.length;
    //alert(elts_cnt);
    
    if(elts_cnt > 0) {

        var ti = new Array();
        var index = 0;
        for (var i = 0; i < elts_cnt; i++) {
    
            if(elts[i].checked == true) {
    
                ti[index] = elts[i].value;
                index++;
    
            } // end if(elts[i].checked == true) {
    
        } // end for (var i = 0; i < elts_cnt; i++) {
        
        var tis = ti.join('-');
        elts.value = '';

    } else {
    
        var tis = '';

    } // end if(elts_cnt > 0) {

    qs += '&indexes=' + tis;
    window.location.href = fObj.action + '?' + qs;

    return false;
}



function switch_type(div1, div2)
{
    var hidden_field = document.forms['search_form'].elements['criterio'];

    var el1 = document.getElementById(div1);
    var el2 = document.getElementById(div2);

    el1.style.display = '';
    el2.style.display = 'none';

    var el3 = document.getElementById('type-tipologia');
    var el4 = document.getElementById('type-cucina');

    switch(div1) {

        case 'div-tipologia':

            el3.style.color='#ffffff';
            el3.style.backgroundColor='#666666';
            el4.style.color='#666666';
            el4.style.backgroundColor='#e1e1e1';

            hidden_field.value = 't';

            break;

        case 'div-cucina':

            el3.style.color='#666666';
            el3.style.backgroundColor='#e1e1e1';
            el4.style.color='#ffffff';
            el4.style.backgroundColor='#666666';

            hidden_field.value = 'c';

            break;

    }
}



function check_camp_form(fObj, error)
{
    var check_ccode = fObj.elements['ccode'].value.match(/^[a-z0-9]{10}$/i);
    var check_ccode1 = fObj.elements['ccode'].value.match(/^[a-z0-9]{6}$/i);
    if(check_ccode == null && check_ccode1 == null) {

        alert(error);
        fObj.elements['ccode'].focus();

        return false;

    }
    
    return true;
}



function check_vini_search_form(fObj, error)
{
    var el_reg = fObj.elements['regione'];
    var el_cat = fObj.elements['cat'];
    
    if(fObj.elements['vino'].value == '' && fObj.elements['cantina'].value == ''
        && el_reg.options[el_reg.options.selectedIndex].value == ''
            && el_cat.options[el_cat.options.selectedIndex].value == '') {

        alert(error);

        return false;

    }
    
    return true;
}


function scheda_vino_cb(result)
{
    if(result.match(/^error/i)) {

        alert('Errore SAJAX');

        return;

    }

    var results = result.split('[[SEP]]');
    var tot_els = results.length;
    
    var scheda_vino_els = new Array();
    for(e = 0; e < tot_els; e++) {
    
        var split_el = results[e].split('=>');
        scheda_vino_els[split_el[0]] = split_el[1];

    }
/*
    HideEl('vini-search-results-container');
*/
    $('#div-scheda-vino').show();
    HideEl('div-scheda-vino-waiting');

    if(scheda_vino_els['img']) {

        var img = getEl('immagine');
        img.src = scheda_vino_els['img'];
        ShowEl('img-vino');

    } else {
    
        HideEl('img-vino');
    
    }

    getEl('nome-vino-int').innerHTML = scheda_vino_els['name'];
    getEl('nome-vino').innerHTML = scheda_vino_els['name'];
    getEl('cat-vino').innerHTML = scheda_vino_els['cat'];
    getEl('cantina-vino').innerHTML = scheda_vino_els['prod'];
    getEl('regione-vino').innerHTML = scheda_vino_els['regione'];
    getEl('desc-vino-div').innerHTML = scheda_vino_els['desc'];

    if(scheda_vino_els['tot_strutture'] > 0 && scheda_vino_els['strutture']) {

        var split_strutture = scheda_vino_els['strutture'].split('|');
        for(i = 0; i < split_strutture.length; i++) {

            divriga = document.createElement("DIV");
            getEl('strutture-container1').appendChild(divriga);
            divriga.setAttribute("class","div-singola-struttura");
            divriga.innerHTML = split_strutture[i]
        
        }

        ShowEl('strutture-container');

    } else {
    
        HideEl('strutture-container');

    }
}



function showWineResults()
{
    ShowEl('vini-search-results-container');
    HideEl('div-scheda-vino');
    getEl('strutture-container1').innerHTML = '';
}



function vetrina_home_cb(result)
{
    if(result.match(/^error/i)) {

        HideEl('vetrina-home');
        ShowEl('errore-vetrina-home');
        getEl('errore-vetrina-home').innerHTML = result;

        return;

    }

    HideEl('errore-vetrina-home');
    ShowEl('vetrina-home');

    var results = result.split('[[SEP]]');
    var tot_els = results.length;

    var vetrina_els = new Array();
    for(e = 0; e < tot_els; e++) {
    
        var split_el = results[e].split('=>');
        vetrina_els[split_el[0]] = split_el[1];

    }

    getEl('logo-struttura').src = vetrina_els['img'];
    getEl('citta-provincia').innerHTML = vetrina_els['citta'] + ' ' + vetrina_els['prov'];
    getEl('url-struttura').href = vetrina_els['url'];
    getEl('nome-struttura').innerHTML = vetrina_els['nomelungo'] + ' ' + vetrina_els['nomecorto'];
    getEl('indirizzo-num-civico').innerHTML = vetrina_els['indirizzo'] + ' ' + vetrina_els['numcivico'];
    getEl('cap-citta-provincia').innerHTML = vetrina_els['cap'] + ' ' + vetrina_els['citta'] + ' ' + vetrina_els['prov'];
    getEl('telefono').innerHTML = vetrina_els['telefono'];
    getEl('fax').innerHTML = vetrina_els['fax'];
} // end function vetrina_home_cb()



function time_out_vetrina()
{
    x_vetrina_home('vetrina_home', vetrina_home_cb);
}




/*
    Start
    http://www.hunlock.com/blogs/Ten_Javascript_Tools_Everyone_Should_Have
*/
function cookiesAllowed() {
   setCookie('checkCookie', 'test', 1);
   if (getCookie('checkCookie')) {
      deleteCookie('checkCookie');
      return true;
   }
   return false;
}

function setCookie(name,value,expires, options) {
   if (options===undefined) { options = {}; }
   if ( expires ) {
      var expires_date = new Date();
      expires_date.setDate(expires_date.getDate() + expires)
   }
   document.cookie = name+'='+escape( value ) +
      ( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) +
      ( ( options.path ) ? ';path=' + options.path : '' ) +
      ( ( options.domain ) ? ';domain=' + options.domain : '' ) +
      ( ( options.secure ) ? ';secure' : '' );
}

function getCookie( name ) {
   var start = document.cookie.indexOf( name + "=" );
   var len = start + name.length + 1;
   if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
      return null;
   }
   if ( start == -1 ) return null;
   var end = document.cookie.indexOf( ';', len );
   if ( end == -1 ) end = document.cookie.length;
   return unescape( document.cookie.substring( len, end ) );
}

function deleteCookie( name, path, domain ) {
   if ( getCookie( name ) ) document.cookie = name + '=' +
      ( ( path ) ? ';path=' + path : '') +
      ( ( domain ) ? ';domain=' + domain : '' ) +
      ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}
/*
    End
    http://www.hunlock.com/blogs/Ten_Javascript_Tools_Everyone_Should_Have
*/