/*global document,alert,isDate*/

// Select Region or Country but not both
function regionchange(msg) {
    var countrySelect = document.getElementById('country'),
        regionSelect = document.getElementById('region');

    for (var i = 0; i < countrySelect.options.length; i++) {
        countrySelect.options[i].selected = false;
    }
    countrySelect.options[0].selected = true;
    if (regionSelect.options[1].selected === true || 
        regionSelect.options[2].selected === true ||
        regionSelect.options[6].selected) {
        alert(msg);
    }
}

function countrychange() {
    var mySelect = document.getElementById('region');
    mySelect.options[0].selected = true;
}

function programmechange(msg) {
    var programmeSelect = document.getElementById('programme');
    if (programmeSelect.options[2].selected === true) {
        alert(msg);
    }
    // reset the region and country selection boxes
    countrychange();
    regionchange();
}

//Visit JavaScript Kit (http://javascriptkit.com) for script
//Credit must stay intact for use  

function select_all(element, value){
    var group = element.form[element.name];
    for (var i = 1; i < group.length; i++) {
        group[i].checked = value;
    }
}

function select_one(element, value) {
    var group = element.form[element.name];
    group[0].checked = value;
}

function freeplaceschange() {
    alert('The Free Places for Males/Females filter is not implemented!');
}

function camptypechange() {
    alert('The Camp Type filter is not implemented!');
}

function disabledchange() {
    alert('The Suitable for the Disabled filter is not implemented!');
}

function checkdates(invst, invend, invord) {
    var start = document.getElementById('date_start'),
        end = document.getElementById('date_end');

    if (isDate(start.value) === false) {
        alert(invst);
        start.focus();
        return false;
    }

    if (isDate(end.value) === false) {
        alert(invend);
        end.focus();
        return false;
    }

    if (end.value < start.value) {
        alert(invord);
        end.focus();
        return false;
    }
    return true;
}

function isDate(sDate) {
    var re = /^\d{1,4}\-\d{1,2}\-\d{2}$/;

    if (re.test(sDate)) {
        return true;
    }
    return false;
}

var xmlhttp;

function loadFragmentInToElement(fragment_url, element_id) {
    var element = document.getElementById(element_id);
    element.innerHTML = '<p><em>Loading ...</em></p>';
    xmlhttp.open("GET", fragment_url);
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
            element.innerHTML = xmlhttp.responseText;
        }
    };
    xmlhttp.send(null);
}

function createCookie(name, value, days) {
    var expires = "", date;
    if (days) {
        date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=",
        ca = document.cookie.split(';'),
        i, c;
    for (i = 0; i < ca.length; i += 1) {
        c = ca[i];
        while (c.charAt(0) === ' ') { 
            c = c.substring(1, c.length); 
        }
        if (c.indexOf(nameEQ) === 0) { 
            return c.substring(nameEQ.length, c.length); 
        }
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}

function change_keep(count, id) {
    //var element = document.getElementById('test');
    var cb = document.getElementById('camp_id' + count),
        shortlist = readCookie('shortlist'),
        alist, new_shortlist = '', item;

    if (shortlist) { 
        alist = shortlist.split(',');
    } else {
        alist = [];
    }
    if (cb.checked === true) {
        // add to shortlist
        alist.push(id);
        shortlist = alist.join(',');
    } else {
        // remove from shortlist
        new_shortlist = [];
        while (alist.length > 0) {
            item = alist.pop();
            if (item == id) { 
                continue; 
            }
            new_shortlist.push(item);
        }
        shortlist = new_shortlist.join(',');
    }
    createCookie('shortlist', shortlist, 0);
    //element.innerHTML = shortlist;
}



