var urlbase = "http://www.offerhotel.com";
// apre la finestra di prenotazione
function offerhotel(lng, a)
{
    if (!lng) lng = "it";
    if (!a) a = "ricerca";
    var bookingEngine = window.open(urlbase+"/lastminute/"+lng+"/prenotaframe/"+a+"/hotel=1351","OfferHotel","scrollbars=yes,resizable=yes,location=no,menubar=no,status=yes,width=670,height=500,top=50,left="+((screen.width-670)/2));
    if (window.focus) bookingEngine.focus();
}
// click sul pulsante di ricerca
function offerhotelClickRicerca(url)
{
    var dal = document.getElementById('offerhotelFormRicercaDalM').value + '-' + document.getElementById('offerhotelFormRicercaDalD').value;
    var al = document.getElementById('offerhotelFormRicercaAlM').value + '-' + document.getElementById('offerhotelFormRicercaAlD').value;
    var camere = document.getElementById('offerhotelFormRicercaCamere').value;
    var persone = document.getElementById('offerhotelFormRicercaPersone').value;
    if (dal.length == 10 && al.length == 10 && camere > 0 && persone > 0) {
        // risultati
        if (url) {
            // pagina locale al sito della struttura
            var xq = (url.search('[?]') == -1 ? '?' : '&') + "ohbe=" + dal + "+" + al + "+" + camere + "+" + persone;
            window.location = url + xq;
        } else {
            // popup di offerhotel
            window.open(urlbase + '/lastminute/it/prenotaframe/risultati/hotel=1351&ricerca:arrivo=' + dal + '&ricerca:partenza=' + al + '&ricerca:camere=' + camere + '&ricerca:persone=' + persone,'OfferHotel','scrollbars=yes,resizable=yes,location=no,menubar=no,status=yes,width=670,height=500,top=50,left='+((screen.width-670)/2));
        }
    } else {
        // ricerca
        offerhotel("it");
    }
}
// stampa il form di ricerca
function offerhotelFormRicerca(id, vertical, urlAction, idFrame)
{
    if (urlAction && idFrame) {
        var frame = window.document.getElementById(idFrame);
        if (frame) {
            // recupera i parametri da GET
            var url = window.location.href;
            var qs = url.split('?');
            var params = [];
            if (qs.length > 1) {
                var x = qs[1].split('&');
                for (i=0; i<x.length; i++) {
                    var y = x[i].split('=');
                    params[y[0]] = y[1];
                }
            }
            if (params['ohbe']) {
                // visualizza risultati
                var ohbe = params['ohbe'].split('+');
                frame.src = 'http://www.offerhotel.com/it/app/bookingengine/risultati/hotel=1351&ricerca:arrivo=' + ohbe[0] + '&ricerca:partenza=' + ohbe[1] + '&ricerca:camere=' + ohbe[2] + '&ricerca:persone=' + ohbe[3];
                return;
            } else if (params['ohpkg']) {
                frame.src = "http://www.offerhotel.com/it/app/bookingengine/prenota/hotel=1351&idp=" + params['ohpkg'];
                return;
            } else if (params['ohpage']) {
                switch (params['ohpage']) {
                    case "1": frame.src = "http://www.offerhotel.com/it/app/bookingengine/ricerca/hotel=1351"; break;
                    case "2": frame.src = "http://www.offerhotel.com/it/app/bookingengine/pacchetti/hotel=1351"; break;
                }
                return;
            }
        }
    }
    // nome mesi
    var monthNames = new Array(
        "Gennaio",
        "Febbraio",
        "Marzo",
        "Aprile",
        "Maggio",
        "Giugno",
        "Luglio",
        "Agosto",
        "Settembre",
        "Ottobre",
        "Novembre",
        "Dicembre");
    // data
    var dald = document.createElement("select");
    dald.id = "offerhotelFormRicercaDalD";
    dald.options[0] = (new Option("", ""));
    var ald = document.createElement("select");
    ald.id = "offerhotelFormRicercaAlD";
    ald.options[0] = (new Option("", ""));
    for (i=1; i<=31; i++) {
        var value = i < 10 ? "0" + i : i;
        ald.options[i] = (new Option(value, value));
        dald.options[i] = (new Option(value, value));
    }
    // mesi
    var dalm = document.createElement("select");
    dalm.id = "offerhotelFormRicercaDalM";
    dalm.options[0] = (new Option("", ""));
    var alm = document.createElement("select");
    alm.id = "offerhotelFormRicercaAlM";
    alm.options[0] = (new Option("", ""));
    var data = new Date();
    data.setDate(1);
    for (i=0; i<12; i++) {
        var text = monthNames[data.getMonth()] + " " + data.getFullYear();
        var month = data.getMonth() + 1;
        var value = data.getFullYear() + "-" + (month < 10 ? "0" + month : month);
        dalm.options[i + 1] = new Option(text, value);
        alm.options[i + 1] = new Option(text, value);
        data.setMonth(data.getMonth() + 1);
    }
    // camere
    var camere = document.createElement("select");
    camere.id = "offerhotelFormRicercaCamere";
    camere.style.width = "50px";
    camere.options[0] = (new Option("", ""));
    for (i=1; i<=5; i++) camere.options[i] = (new Option(i, i));
    // persone
    var persone = document.createElement("select");
    persone.id = "offerhotelFormRicercaPersone";
    persone.style.width = "50px";
    persone.options[0] = (new Option("", ""));
    for (i=1; i<=10; i++) persone.options[i] = (new Option(i, i));
    // pusalnte
    var btn = document.createElement("button");
    // btn.setAttribute("onclick", "offerhotelClickRicerca(" + (urlAction ? "'" + urlAction + "'" : "") + ")");
    btn.onclick = function() { offerhotelClickRicerca(urlAction) };
    btn.innerHTML = "RICERCA";
    // contenitore form
    var content = document.getElementById(id);
    if (vertical) {
        // verticale
        var table = document.createElement("table");
        var tbody = document.createElement("tbody");
        var tr1 = document.createElement("tr");
        var tr2 = document.createElement("tr");
        var tr3 = document.createElement("tr");
        var tr4 = document.createElement("tr");
        var tr5 = document.createElement("tr");
        var td11 = document.createElement("td");
        var td12 = document.createElement("td");
        var td21 = document.createElement("td");
        var td22 = document.createElement("td");
        var td31 = document.createElement("td");
        var td32 = document.createElement("td");
        var td41 = document.createElement("td");
        var td42 = document.createElement("td");
        var td51 = document.createElement("td");
        var td52 = document.createElement("td");
        // tabella
        content.appendChild(table);
        table.appendChild(tbody);
        tbody.appendChild(tr1);
        tbody.appendChild(tr2);
        tbody.appendChild(tr3);
        tbody.appendChild(tr4);
        tbody.appendChild(tr5);
        // righe
        tr1.appendChild(td11);
        tr1.appendChild(td12);
        tr2.appendChild(td21);
        tr2.appendChild(td22);
        tr3.appendChild(td31);
        tr3.appendChild(td32);
        tr4.appendChild(td41);
        tr4.appendChild(td42);
        tr5.appendChild(td51);
        tr5.appendChild(td52);
        // colonne
        td11.appendChild(document.createTextNode("dal"));
        td12.appendChild(dald);
        td12.appendChild(dalm);
        td21.appendChild(document.createTextNode("al"));
        td22.appendChild(ald);
        td22.appendChild(alm);
        td31.appendChild(document.createTextNode("Camere"));
        td32.appendChild(camere);
        td41.appendChild(document.createTextNode("persone"));
        td42.appendChild(persone);
        td52.appendChild(btn);
    } else {
        // orizzontale
        content.appendChild(document.createTextNode("dal "));
        content.appendChild(dald);
        content.appendChild(dalm);
        content.appendChild(document.createTextNode(" al "));
        content.appendChild(ald);
        content.appendChild(alm);
        content.appendChild(document.createTextNode(" Camere "));
        content.appendChild(camere);
        content.appendChild(document.createTextNode(" persone "));
        content.appendChild(persone);
        content.appendChild(btn);
    }

    // imposta valori predefiniti form
    var oggi = new Date();
    var domani = new Date();
    domani.setDate(oggi.getDate() + 1);
    dald.selectedIndex = oggi.getDate();
    dalm.selectedIndex = 1;
    ald.selectedIndex = domani.getDate();
    alm.selectedIndex = domani.getMonth() == oggi.getMonth() ? 1 : 2;
    camere.selectedIndex = 1;
    persone.selectedIndex = 2;
}
function requestHtml(u, f) {
    var r;
    if (window.XMLHttpRequest) {
        r = new XMLHttpRequest();
        if (r.overrideMimeType) r.overrideMimeType('text/xml');
    } else if (window.ActiveXObject) {
        try {
            r = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                r = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }
    if (!r) return false;
    else {
        r.onreadystatechange = function() { if ((r.readyState == 4) && (r.status == 200)) f(r.responseText); };
        r.open('GET', u, true);
        r.send(null);
    }
}
function jsonRequest(u, f) { requestHtml(u, function(h) { var t = /^<result>(.*)<\/result>$/.exec(h); if (t) f(eval(t[1])); }); }
function createNamedElement(t, n) {
    var m = null;
    try { m = document.createElement('<'+t+' name="'+n+'">'); } catch (e) { }
    if (!m || m.nodeName != t.toUpperCase()) { m = document.createElement(t); m.name = n; }
    return m;
}
function submitAction(a) {
    document.forms[0]["action"].value = a;
    document.forms[0].submit();
}