function ValidateSet(inp, el) {
    if(CheckSet(inp)) {
        document.getElementById(el).style.display = 'none';
        return true;
    } else {
        document.getElementById(el).style.display = 'block';
        return false;
    }
}

function CheckSet(inp) {
    if(document.getElementById(inp).value.length > 0) { return true; } else { return false; }
}

function Validate() {
    var valid = true;
    
    if(!ValidateSet('booking_name', 'validate_name')) { valid = false; }
    if(!ValidateSet('zrcal_request_input', 'validate_date')) { valid = false; }
    
    if(!ValidateSet('postnr', 'validate_postnr')) { valid = false; }
    if(!ValidateSet('city', 'validate_city')) { valid = false; }
    
    if(!CheckSet('booking_phone') && !CheckSet('booking_email') && !CheckSet('booking_cell') ) {
        document.getElementById('validate_contact').style.display = 'block';
        valid = false;
    } else {
        document.getElementById('validate_contact').style.display = 'none';
    }
    return valid;
}

function ResetCal() {
    if(document.getElementById('booking_section_lounge').checked) {
        // Lounge!
        zrCal_init("zrcal_request", true, 18, 1);
    } else {
        // Butik!
        zrCal_init("zrcal_request", true, 18, 2);
    }
}

function zrCal_fetch(id, url)
{
    var xmlHttp = null;

    try {
        // Real browsers.
        xmlHttp = new XMLHttpRequest(); 
    } catch (e) {
        // Internet Explorer
        try {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4) {
            try {
                // an error (e.g. Port is not responsive)
                if (xmlHttp.status == 200) {
                    document.getElementById(id).innerHTML = xmlHttp.responseText;
                }
            } catch (e) {
                document.getElementById(id).innerHTML = "<i>Der opstod en fejl.</i>";
            }
        }
    }

    xmlHttp.open("get", url);
    xmlHttp.send(null); 
}

var zrCal_data = new Array();

function zrCal_init(id, ask_for_time, months_forward, section)
{
    zrCal_data[id] = new Array();
    zrCal_data[id]['day'] = '0-0-0';
    zrCal_data[id]['ask_for_time'] = ask_for_time?1:0;
    zrCal_data[id]['months_forward'] = months_forward;
    zrCal_data[id]['section'] = section;

    zrCal_fetch(id, '/process/zrcal/?id='+id+'&ask_for_time='+zrCal_data[id]['ask_for_time']+'&future='+zrCal_data[id]['months_forward']+'&section='+zrCal_data[id]['section']);
}

function zrCal_load(id, month, year)
{
    zrCal_fetch(id, '/process/zrcal/?id='+id+'&month='+month+'&year='+year+'&day='+zrCal_data[id]['day']+'&ask_for_time='+zrCal_data[id]['ask_for_time']+'&future='+zrCal_data[id]['months_forward']+'&section='+zrCal_data[id]['section']);
}

function zrCal_click(id, day, month, year)
{
    zrCal_data[id]['day'] = year.toString()+'-'+month.toString()+'-'+day.toString();
    document.getElementById(id+'_input').value = zrCal_data[id]['day'];
    zrCal_load(id, month, year);
}
