defaultDateSeparator = '-';
var xhr = xmlhttp;

function CheckDate(dateField)
{
    if (dateField.value == '') return;
    var date_obj = getFieldDate(dateField.value);
    var march212008 =  new Date(2008,2,21);
    if (date_obj < march212008) {
        alert('There are no tours for this date');
        dateField.value = '';
        dateField.focus();
        var sr = document.getElementById('search-results');
        if (sr) sr.style.display = 'none';
        return false;
    }
    return true;
}

function UpdateResults()
{

    var de = document.getElementById('dt');
    if (!de) return;
    var date = de.value;
    xhr.open("GET", 'query_events.php?vid=1&date='+date);
    xhr.onreadystatechange = function() {
        if (!(xhr.readyState == 4 && xhr.status == 200)) return;
        var resp = xhr.responseText;
        var results = document.getElementById('search-results');
        results.innerHTML = resp;
        results.style.display = '';
    }
    xhr.send(null);
}

function BuyTicket(eid)
{
    var v = document.getElementById('event-id');
    if (!v) { alert("There's a problem!"); return; }
    v.value = eid;

    var duck_only = document.getElementById('duck_only');
    var d = (duck_only) ? 'quantity-div' : 'trolley-days';
    var e1 = document.getElementById(d);
    var e2 = document.getElementById('duck-search');
    if (!e1 || !e2) return;

    var c = document.getElementById('same_day');
    if (c && c.checked) {
        e1.style.display = 'none';
        e2.style.display = 'none';
        var dt = document.getElementById('dt');
        var t1 = document.getElementById('trolley1');
        var t2 = document.getElementById('trolley2');
        if (t1 && dt) t1.value = dt.value;
        if (t2 && dt) t2.value = dt.value;
        SelectQuantity();
        return;
    } 

    e1.style.display = '';
    e2.style.display = 'none';
}

function SelectQuantity()
{

    var trolleys = ['trolley1','trolley2'];
    for (var i in trolleys) {
        var t = document.getElementById(trolleys[i]);
        if (!t && i > 0) continue;
        if (!t.value) { alert('You must enter a value'); return false; }
        if (!/^\d\d?-\d\d?-\d\d\d\d$/.test(t.value)) { 
            alert("Incorrect date format!\nDates should be entered as MM-DD-YYYY");
            return false;
        }
        var d = t.value.split('-');
        var sd = new Date(); sd.setFullYear(d[2],d[0]-1,d[1]);
        var now = new Date(); 
        if (sd < now) {
            alert("You must select a future date!");
            return false;
        }
    }

    var e1 = document.getElementById('quantity-div');
    var e2 = document.getElementById('trolley-days');
    if (!e1 || !e2) return;
    e1.style.display = '';
    e2.style.display = 'none';
}


function GetTicketTypes(pkg)
{
    var q = document.getElementById('quantity');
    if (!q) return;

    var e1 = document.getElementById('ticket-types');
    var e2 = document.getElementById('quantity-div');
    if (!e1 || !e2) return;
    e1.style.display = '';
    e2.style.display = 'none';

    xhr.open("GET", 'ticket_types.php?p='+pkg+'&n='+q.value,false);
    xhr.send(null);
    if (!(xhr.readyState == 4 && xhr.status == 200)) {
        alert("There was an error, please contact duff@thunderdata.com");
    }
    var resp = xhr.responseText;
    var results = document.getElementById('inner-ticket-types');
    results.innerHTML = resp;

    xhr.open("GET", 'set_time.php', false);
    xhr.send(null);

    countdown();
}


function ReadItAll(package)
{
    var e1 = document.getElementById('ticket-types');
    if (e1) e1.style.display = 'none';

    var e = document.getElementById('quantity');
    if (!e) return;
    var num_tickets = e.value;
    var params = [ 
        'package='+package, 
        'package-quantity='+num_tickets
    ];

    e = document.getElementById('event-id');
    if (e) params.push('package-event-id='+e.value);

    e = document.getElementById('trolley1');
    params.push('package-trolley-1='+e.value);

    e = document.getElementById('trolley2');
    if (e) params.push('package-trolley-2='+e.value);

    for (var i = 0; i < num_tickets; i++) {
        e = document.getElementById('ticket-'+i);
        if (!e) continue;
        for (var j = 0, l = e.options.length; j < l; j++) {
            if (!e.options[j].selected) continue;
            params.push('package-ticket-'+i+'='+e.options[j].value);
        }
    }
    e = document.getElementById('tickets');
    if (e) params.push('tickets='+e.value);

    params = params.join('&');
    xhr.open("POST", 'setsession.php',false);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.setRequestHeader("Content-length", params.length);
    xhr.setRequestHeader("Connection", "close");
    xhr.send(params);

    document.packageform.submit();
    return true;
}


function UpdateTotal()
{
    var e1 = document.getElementById('subtotal');
    var e2 = document.getElementById('x_Amount');
    if (!e1 || !e2) return;
    e2.value = e1.value;
    var e3 = document.getElementById('total');
    if (e3) e3.innerHTML = "$"+e1.value;
}


function CheckQuantity()
{
    var o = document.getElementById('quantity');
    if (o.value == '') {
        alert('Please enter a ticket quantity'); 
        return false;
    }
    var max;
    e = document.getElementById('event-id');
    if (e) {
        xhr.open("GET", 'seats_available.php?e='+e.value,false);
        xhr.send(null);
        max = xhr.responseText;
    } else {
        max = 50;
    }

    var q = parseInt(o.value);
    if (q > max) {
        alert('You may only select a maximum of ' + max + ' tickets!');
        o.value = ''; o.focus();
        return false;
    }

    // if we make it here, the quantity is good
    if (e) {
        xhr.open("GET", 'hold_seats.php?n='+q+'&id='+e.value,false);
        xhr.send(null);
        var tickets = document.getElementById('tickets');
        tickets.value = xhr.responseText;
    } else {
        var tickets = document.getElementById('tickets');
        var trolley_tickets = [];
        for (var i = 0; i < q; i++) trolley_tickets.push('Ticket-'+(i+1));
        tickets.value = trolley_tickets.join('%');
    }


    return true;
}

