var userTickets = new Array();
var ticketsState = "";
var paypalradio = "";
var creditcardradio = "";
var firstname = "";
var lastname = "";
var email = "";
var confirm = "";
var phone = "";
var street = "";
var streetad = "";
var city = "";
var state = "";
var zip = "";
var cardtype = "";
var cardnumber = "";
var security = "";
var month = "";
var year = "";
var code = "";

function initXMLHttpClient() {
    var xmlhttp;
    try {
        xmlhttp = new XMLHttpRequest();
    } catch (e) {
        var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0',
            'MSXML2.XMLHTTP.4.0',
            'MSXML2.XMLHTTP.3.0',
            'MSXML2.XMLHTTP',
            'Microsoft.XMLHTTP' );
        var success = false;
        for (var i=0;i < XMLHTTP_IDS.length && !success; i++) {
            try {
                xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
                success = true;
            } catch (e) {}
        }
        if (!success) {
            throw new Error('Cannot make request.');
        }
    }
    return xmlhttp;
}

function loadContent(content){
    var req = initXMLHttpClient();
    req.onreadystatechange = function() {
        if(req.readyState == 1){
            document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>Loading...</h3><p>Please wait...</p><img src="/images/sending.gif" width="16" height="16" alt="sending" /></div>';
        }

        if (req.readyState == 4) {
            if (req.status == 200) {
                document.getElementById('ticket_content').innerHTML = req.responseText;
                if(content == '/form/ticket_paypal_form-en.html') {
                    recallPayPalData();
                }
                
                if(content == '/form/ticket_creditcard_form-en.html') {
                    recallCreditData();
                }
            } else {
                alert('Load error: ['+req.status+'] '
                    +req.statusText);
            }
        }
    };
    req.open('GET',content,true);
    req.send(null);
}


function check_email(field) {
    var testresults = false;
    var str = document.getElementById(field).value;
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (filter.test(str)) {
        testresults = true;
    } else {
        testresults = false;
    }
    return (testresults);
}

function addTicket() {
    var ticket_index = document.getElementById('tickets_list').options[document.getElementById('tickets_list').selectedIndex].value;
    var exists = false;
    var sid = 0;
    for(i = 0; i < userTickets.length; i++) {
        if(userTickets[i][0] == ticketsArray[ticket_index][0]) {
            sid = i;
            exists = true;
            break;
        }
    }

    if(exists == false) {
        var tmp = new Array();
        tmp.push(ticketsArray[ticket_index][0]);
        tmp.push(ticketsArray[ticket_index][1]);
        tmp.push(ticketsArray[ticket_index][2]);
        tmp.push(document.getElementById('ticket_quantity').value);
        userTickets.push(tmp);
        buildTable();
    } else {
        userTickets[sid][3] = Number(userTickets[sid][3]) + Number(document.getElementById('ticket_quantity').value);
        buildTable();
    }
}

function deleteTicket(id) {
    for(i = 0; i < userTickets.length; i++) {
        if(userTickets[i][0] == id) {
            userTickets.splice(i, 1);
            buildTable();
            break;
        }
    }
}

function numChange() {
    if(document.getElementById('ticket_quantity').value == '' || document.getElementById('ticket_quantity').value == 0) {
        document.getElementById('ticket_quantity').value = 1;
    }
}

function qtyChange(id, fld, inp) {
    var total = 0;
    if(document.getElementById(inp).value == '' || document.getElementById(inp).value == 0) {
        document.getElementById(inp).value = 1;
        for(i = 0; i < userTickets.length; i++) {
            if(userTickets[i][0] == id) {
                userTickets[i][3] = document.getElementById(inp).value;
                document.getElementById(fld).innerHTML = '$'+(userTickets[i][2]*document.getElementById(inp).value);
                break;
            }
        }
        for(i = 0; i < userTickets.length; i++) {
            total += (userTickets[i][2]*userTickets[i][3]);
        }
        document.getElementById('totalprice').innerHTML = '$'+total;
    } else {
        for(i = 0; i < userTickets.length; i++) {
            if(userTickets[i][0] == id) {
                userTickets[i][3] = document.getElementById(inp).value;
                document.getElementById(fld).innerHTML = '$'+(userTickets[i][2]*document.getElementById(inp).value);
                break;
            }
        }
        for(i = 0; i < userTickets.length; i++) {
            total += (userTickets[i][2]*userTickets[i][3]);
        }
        document.getElementById('totalprice').innerHTML = '$'+total;
    }
}

function buildTable() {
    var total = 0;
    var table = '<table id="selected_tickets" width="100%" border="0" cellspacing="0" cellpadding="0" class="checkout">'+
    '<tr class="table-top">' +
    '<td class="one">&nbsp;</td>' +
    '<td class="two">Your ticket</td>' +
    '<td class="three">Unit price</td>' +
    '<td class="four">Qty</td>' +
    '<td class="five">Subtotal</td>' +
    '<td class="six">&nbsp;</td>' +
    '</tr>';
    for (i = 0; i < userTickets.length; i++) {
        table += '<tr>' +
        '<td class="one">' + (i+1) + '</td>' +
        '<td>' + userTickets[i][1] + '</td>' +
        '<td>$' + userTickets[i][2] + '</td>' +
        '<td><input id="qt' + i + '" type="text" value="' + userTickets[i][3] + '" onkeypress="return checkForInt(event)" onchange="qtyChange(' + userTickets[i][0] + ', \'tot' + i + '\', \'qt' + i + '\')" /></td>' +
        '<td id="tot' + i + '">$' + (userTickets[i][2]*userTickets[i][3]) + '</td>' +
        '<td><input name="delete" type="button" class="delete" onclick="deleteTicket(' + userTickets[i][0] + ');"/>' +
        '</tr>';
        total += (userTickets[i][2]*userTickets[i][3]);
    }

    if(userTickets.length == 0) {
        table += '<tr>' +
    '<td class="one" colspan="6">NO TICKETS SELECTED</td>' +
    '</tr>';
    } else {
        table += '<tr>' +
        '<td colspan="4">TOTAL</td>' +
        '<td id="totalprice">$' + total + '</td>' +
        '<td>&nbsp;</td>' +
        '</tr>';
    }
    table += '</table>';
    
    document.getElementById('ticket_table').innerHTML = table;
    //document.getElementById('selected_tickets').innerHTML = table;
}

function checkForInt(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

    return true;
}

function proceed() {
    ticketsState = document.getElementById('ticket_content').innerHTML;
    paypalradio = false;//document.getElementById('paypal_radio').checked;
    creditcardradio = document.getElementById('creditcard_radio').checked;
    if(userTickets.length > 0) {
        //if(document.getElementById('paypal_radio').checked == true) {
            //loadContent('/form/ticket_paypal_form-en.html');
        //} else {
            if(document.getElementById('creditcard_radio').checked == true) {
                loadContent('/form/ticket_creditcard_form-en.html');
            }
        //}
    } else {
        alert('Please choose at least one ticket.');
    }
}

function prevpage() {
    if(paypalradio == true) {
        savePayPal();
    }
    
    if(creditcardradio == true) {
        saveCredit();
    }
    
    document.getElementById('ticket_content').innerHTML = ticketsState;
    //document.getElementById('paypal_radio').checked = paypalradio;
    document.getElementById('creditcard_radio').checked = creditcardradio;
}

function payment() {
    firstname = document.getElementById('first-name').value;
    lastname = document.getElementById('last-name').value;
    email = document.getElementById('email').value;
    confirm = document.getElementById('confirm').value;
    phone = document.getElementById('phone').value;
    street = document.getElementById('street').value;
    street2 = document.getElementById('street2').value;
    city = document.getElementById('city').value;
    state = document.getElementById('state').options[document.getElementById('state').selectedIndex].value;
    zip = document.getElementById('zip').value;
    cardtype = document.getElementById('card-type').options[document.getElementById('card-type').selectedIndex].value;
    cardnumber = document.getElementById('card-number').value;
    security = document.getElementById('security').value;
    month = document.getElementById('month').options[document.getElementById('month').selectedIndex].value;
    year = document.getElementById('year').options[document.getElementById('year').selectedIndex].value;

    var post_data = '';
    var fn = false;
    var ln = false;
    var em = false;
    var ph = false;
    var st = false;
    var ct = false;
    var se = false;
    var zp = false;
    var ce = false;
    var cn = false;
    var sc = false;
    var mh = false;
    var ye = false;

    if(firstname != '') {
        fn = true;
    } else {
        document.getElementById('first-name').className = 'input1_error';
    }

    if(lastname != '') {
        ln = true;
    } else {
        document.getElementById('last-name').className = 'input1_error';
    }

    if(lastname != '') {
        ln = true;
    } else {
        document.getElementById('last-name').className = 'input1_error';
    }

    if(email != '') {
        if(check_email('email') == true) {
            if(email == confirm) {
                em = true;
            } else {
                document.getElementById('email').className = 'input1_error';
                document.getElementById('confirm').className = 'input1_error';
                alert("Email and Confirm email fields don'y match!");
            }
        } else {
            document.getElementById('email').className = 'input1_error';
            alert('E-mail incorrect!');
        }
    } else {
        document.getElementById('email').className = 'input1_error';
    }

    if(confirm == '') {
        document.getElementById('confirm').className = 'input1_error';
    }

	
    if(phone != '') {
        ph = true;
    } else {
        document.getElementById('phone').className = 'input1_error';
    }
    

    if(street != '') {
        st = true;
    } else {
        document.getElementById('street').className = 'input3_error';
    }

    if(city != '') {
        ct = true;
    } else {
        document.getElementById('city').className = 'input1_error';
    }

    if(state != '') {
        se = true;
    } else {
        document.getElementById('state').className = 'text2_error';
    }

    if(zip != '') {
        zp = true;
    } else {
        document.getElementById('zip').className = 'input2_error';
    }

    if(cardtype != '') {
        ce = true;
    } else {
        document.getElementById('card-type').className = 'text1_error';
    }

    if(cardnumber != '') {
        cn = true;
    } else {
        document.getElementById('card-number').className = 'input1_error';
    }

    if(security != '') {
        sc = true;
    } else {
        document.getElementById('security').className = 'input1_error';
    }

    if(month != '') {
        mh = true;
    } else {
        document.getElementById('month').className = 'text2_error';
    }

    if(year != '') {
        ye = true;
    } else {
        document.getElementById('year').className = 'text2_error';
    }

    if(fn == true && ln == true && em == true && ph == true && st == true && ct == true && se == true && zp == true && cn == true && ce == true && sc == true && mh == true && ye == true && userTickets.length > 0) {
       
        post_data = 'fn='+encodeURIComponent(firstname)+'&ln='+encodeURIComponent(lastname)+'&em='+encodeURIComponent(email)+'&ph='+encodeURIComponent(phone)+'&st='+encodeURIComponent(street)+'&st2='+encodeURIComponent(street2)+
        '&ct='+encodeURIComponent(city)+'&se='+encodeURIComponent(state)+'&zp='+encodeURIComponent(zip)+'&cn='+encodeURIComponent(cardnumber)+'&sc='+encodeURIComponent(security)+
        '&mh='+encodeURIComponent(month)+'&ye='+encodeURIComponent(year)+'&ce='+encodeURIComponent(cardtype)+'&ad='+encodeURIComponent(streetad);

        post_data += '&product_count='+userTickets.length;

        for(i = 0; i < userTickets.length; i++) {
            post_data += '&product_id'+i+'='+encodeURIComponent(userTickets[i][0])+'&product_amt'+i+'='+encodeURIComponent(userTickets[i][3]);
        }

        var req = initXMLHttpClient();
        req.onreadystatechange = function() {
            if(req.readyState == 1){
                document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>Sending...</h3><p>Please wait for a moment</p><img src="/images/sending.gif" width="16" height="16" alt="sending" /></div>';
            }

            if(req.readyState == 4) {
                if(req.status == 200) {
                    if(req.responseXML.getElementsByTagName("error")[0].childNodes[0].nodeValue == 'false' && req.responseXML.getElementsByTagName("payment")[0].childNodes[0].nodeValue == 'complete') {
                        document.getElementById('ticket_content').innerHTML = genSummary(decodeURIComponent(req.responseXML.getElementsByTagName("transactionID")[0].childNodes[0].nodeValue));
                        
                    }else{
                        document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>ERROR</h3><p>' + decodeURIComponent(req.responseXML.getElementsByTagName("msg")[0].childNodes[0].nodeValue) + '</p></div>';
                    }
                } else {
                    alert('Load error: ['+req.status+'] '+req.statusText);
                }
            }
        };
        req.open('POST','/ticket/creditcardpayment', true);
        req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=UTF-8;');
        req.send(post_data);
    } else {
        alert("Please fill required fields.");
    }
}

function payment_paypal() {
    firstname = document.getElementById('first-name').value;
    lastname = document.getElementById('last-name').value;
    email = document.getElementById('email').value;
    confirm = document.getElementById('confirm').value;
    phone = document.getElementById('phone').value;
    street = document.getElementById('street').value;
    city = document.getElementById('city').value;
    state = document.getElementById('state').options[document.getElementById('state').selectedIndex].value;
    zip = document.getElementById('zip').value;
    
    var post_data = '';
    var fn = false;
    var ln = false;
    var em = false;
    var ph = false;
    var st = false;
    var ct = false;
    var se = false;
    var zp = false;
    
    if(firstname != '') {
        fn = true;
    } else {
        document.getElementById('first-name').className = 'input1_error';
    }

    if(lastname != '') {
        ln = true;
    } else {
        document.getElementById('last-name').className = 'input1_error';
    }

    if(lastname != '') {
        ln = true;
    } else {
        document.getElementById('last-name').className = 'input1_error';
    }

    if(email != '') {
        if(check_email('email') == true) {
            if(email == confirm) {
                em = true;
            } else {
                document.getElementById('email').className = 'input1_error';
                document.getElementById('confirm').className = 'input1_error';
                alert("Email and Confirm email fields don'y match!");
            }
        } else {
            document.getElementById('email').className = 'input1_error';
            alert('E-mail incorrect!');
        }
    } else {
        document.getElementById('email').className = 'input1_error';
    }

    if(confirm == '') {
        document.getElementById('confirm').className = 'input1_error';
    }

    if(phone != '') {
        ph = true;
    } else {
        document.getElementById('phone').className = 'input1_error';
    }

    if(street != '') {
        st = true;
    } else {
        document.getElementById('street').className = 'input3_error';
    }

    if(city != '') {
        ct = true;
    } else {
        document.getElementById('city').className = 'input1_error';
    }

    if(state != '') {
        se = true;
    } else {
        document.getElementById('state').className = 'text2_error';
    }

    if(zip != '') {
        zp = true;
    } else {
        document.getElementById('zip').className = 'input2_error';
    }
    
    if(fn == true && ln == true && em == true && ph == true && st == true && ct == true && se == true && zp == true && userTickets.length > 0) {
       
        post_data = 'fn='+encodeURIComponent(firstname)+'&ln='+encodeURIComponent(lastname)+'&em='+encodeURIComponent(email)+'&ph='+encodeURIComponent(phone)+'&st='+encodeURIComponent(street)+
        '&ct='+encodeURIComponent(city)+'&se='+encodeURIComponent(state)+'&zp='+encodeURIComponent(zip);

        post_data += '&product_count='+userTickets.length;

        for(i = 0; i < userTickets.length; i++) {
            post_data += '&product_id'+i+'='+encodeURIComponent(userTickets[i][0])+'&product_amt'+i+'='+encodeURIComponent(userTickets[i][3]);
        }

        var req = initXMLHttpClient();
        req.onreadystatechange = function() {
            if(req.readyState == 1){
                document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>Sending...</h3><p>Please wait for a moment</p><img src="/images/sending.gif" width="16" height="16" alt="sending" /></div>';
            }

            if(req.readyState == 4) {
                if(req.status == 200) {
                    if(req.responseXML.getElementsByTagName("error")[0].childNodes[0].nodeValue == 'false'){
                        window.location = decodeURIComponent(req.responseXML.getElementsByTagName("redirect")[0].childNodes[0].nodeValue);
                    }else{
                        document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>ERROR</h3><p>' + decodeURIComponent(req.responseXML.getElementsByTagName("msg")[0].childNodes[0].nodeValue) + '</p></div>';
                    }
                } else {
                    alert('Load error: ['+req.status+'] '+req.statusText);
                }
            }
        };
        req.open('POST','/ticket/paypalpayment', true);
        req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=UTF-8;');
        req.send(post_data);
    } else {
        alert("Please fill required fields.");
    }
}

function prevpage_paypal() {
    dataState = document.getElementById('ticket_content').innerHTML;
    document.getElementById('ticket_content').innerHTML = ticketsState;
}

function saveCredit() {
    firstname = document.getElementById('first-name').value;
    lastname = document.getElementById('last-name').value;
    email = document.getElementById('email').value;
    confirm = document.getElementById('confirm').value;
    phone = document.getElementById('phone').value;
    street = document.getElementById('street').value;
    city = document.getElementById('city').value;
    state = document.getElementById('state').options[document.getElementById('state').selectedIndex].value;
    zip = document.getElementById('zip').value;
    cardtype = document.getElementById('card-type').options[document.getElementById('card-type').selectedIndex].value;
    cardnumber = document.getElementById('card-number').value;
    security = document.getElementById('security').value;
    month = document.getElementById('month').options[document.getElementById('month').selectedIndex].value;
    year = document.getElementById('year').options[document.getElementById('year').selectedIndex].value;
}

function savePayPal() {
    firstname = document.getElementById('first-name').value;
    lastname = document.getElementById('last-name').value;
    email = document.getElementById('email').value;
    confirm = document.getElementById('confirm').value;
    phone = document.getElementById('phone').value;
    street = document.getElementById('street').value;
    city = document.getElementById('city').value;
    state = document.getElementById('state').options[document.getElementById('state').selectedIndex].value;
    zip = document.getElementById('zip').value;
}

function recallCreditData() {
    document.getElementById('first-name').value = firstname;
    document.getElementById('last-name').value = lastname;
    document.getElementById('email').value = email;
    document.getElementById('confirm').value = confirm;
    document.getElementById('phone').value = phone;
    document.getElementById('street').value = street;
    document.getElementById('city').value = city;
    for(i = 0; i < document.getElementById('state').options.length; i++) {
        if(document.getElementById('state').options[i].value == state) {
            document.getElementById('state').selectedIndex = i;
        }
    }
    document.getElementById('zip').value = zip;
    for(n = 0; n < document.getElementById('card-type').options.length; n++) {
        if(document.getElementById('card-type').options[n].value == cardtype) {
            document.getElementById('card-type').selectedIndex = n;
        }
    }
    document.getElementById('card-number').value = cardnumber;
    document.getElementById('security').value = security;
    for(t = 0; t < document.getElementById('month').options.length; t++) {
        if(document.getElementById('month').options[t].value == month) {
            document.getElementById('month').selectedIndex = t;
        }
    }
    for(z = 0; z < document.getElementById('year').options.length; z++) {
        if(document.getElementById('year').options[z].value == year) {
            document.getElementById('year').selectedIndex = z;
        }
    }
}

function recallPayPalData() {
    document.getElementById('first-name').value = firstname;
    document.getElementById('last-name').value = lastname;
    document.getElementById('email').value = email;
    document.getElementById('confirm').value = confirm;
    document.getElementById('phone').value = phone;
    document.getElementById('street').value = street;
    document.getElementById('city').value = city;
    for(i = 0; i < document.getElementById('state').options.length; i++) {
        if(document.getElementById('state').options[i].value == state) {
            document.getElementById('state').selectedIndex = i;
        }
    }
    document.getElementById('zip').value = zip;
}

function genSummary(orderid) { 
    var total = 0;
    var html = '<h2>Order summary</h2>';
    html += '<p>Dear <strong>'+ firstname +' ' + lastname +'</strong><br/>';
    html += 'Your order <strong>'+ orderid +'</strong> has been  <strong>Completed</strong>.</p><br />';
    html += '<p>Transaction ID: '+ orderid +'</p>';
    var table = '<table id="selected_tickets" width="100%" border="0" cellspacing="0" cellpadding="0" class="checkout">';
    table += '<tr class="table-top">' +
    '<td class="one">&nbsp;</td>' +
    '<td class="two">Your ticket</td>' +
    '<td class="three">Unit price</td>' +
    '<td class="four">Qty</td>' +
    '<td class="five">Subtotal</td>' +
    '</tr>';
    for (i = 0; i < userTickets.length; i++) {
        table += '<tr>' +
        '<td class="one">' + (i+1) + '</td>' +
        '<td>' + userTickets[i][1] + '</td>' +
        '<td>$' + userTickets[i][2] + '</td>' +
        '<td>'+userTickets[i][3]+'</td>' +
        '<td>$' + (userTickets[i][2]*userTickets[i][3]) + '</td>' +
        '</tr>';
        total += (userTickets[i][2]*userTickets[i][3]);
    }
    table += '<tr>' +
    '<td colspan="4">TOTAL</td>' +
    '<td id="totalprice">$' + total + '</td>' +
    '</tr>';
    table += '</table><br />';
    html += table;
    
    html += '<p><span class="red">Please print out this page, and make sure to write down the transaction ID number.</span><br />';
    html += 'Confirmation has been sent to your email address. In case of not receiving the confirmation email, please go to this <span class="red"><a href="http://www.bohemianbenevolent.org/en/ticket/checkorder">link</a></span> and enter the Transaction ID number. You can also go to <span class="red"><a href="http://www.bohemianbenevolent.org">www.bohemianbenevolent.org</a></span> &gt; activities &gt; check your order page. </p>';
    html += '<p>If you have any questions, please contact us at <span class="red"><a href="mailto:info@bohemianbenevolent.org" > info@bohemianbenevolent.org</a></span> or by phone at +1 212 988 1733</p>';
    html += '<p>Thank you.<br />';
    html += '<strong>Bohemian Benevolent &amp; Literary Association</strong></p>';
    return html;
}

function resendTicket(id) {
    var post_data = "selid="+encodeURIComponent(id);
    var req = initXMLHttpClient();
    req.onreadystatechange = function() {
        if(req.readyState == 1){
            document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>Sending...</h3><p>Please wait for a moment</p><img src="/images/sending.gif" width="16" height="16" alt="sending" /></div>';
        }
        
        if(req.readyState == 4) {
            if(req.status == 200) {
                if(req.responseText == 'ok'){
                    document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>Email has been sent</h3></div>';
                }else{
                    document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>ERROR</h3><p>Error</p></div>';
                }
            } else {
                alert('Load error: ['+req.status+'] '+req.statusText);
            }
        }
    };
    req.open('POST','/ticket/resend', true);
    req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=UTF-8;');
    req.send(post_data);
}

function resloadContent(content){
    var req = initXMLHttpClient();
    req.onreadystatechange = function() {
        if(req.readyState == 1){
            document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>Loading...</h3><p>Please wait for a moment</p><img src="/images/sending.gif" width="16" height="16" alt="sending" /></div>';
        }

        if (req.readyState == 4) {
            if (req.status == 200) {
                document.getElementById('ticket_content').innerHTML = req.responseText;
                if(content == '/form/reservation_creditcard_form-en.html') {
                    recallCreditData();
                }
            } else {
                alert('Load error: ['+req.status+'] '
                    +req.statusText);
            }
        }
    };
    req.open('GET',content,true);
    req.send(null);
}

function proceedreservation(cde) {
    code = cde;
    ticketsState = document.getElementById('ticket_content').innerHTML;
    paypalradio = document.getElementById('paypal_radio').checked;
    creditcardradio = document.getElementById('creditcard_radio').checked;
    
    if(document.getElementById('creditcard_radio').checked == true) {
        resloadContent('/form/reservation_creditcard_form-en.html');
    } else {
        if(document.getElementById('paypal_radio').checked == true) {
            var req = initXMLHttpClient();
            req.onreadystatechange = function() {
                if(req.readyState == 1){
                    document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>Sending...</h3><p>Please wait for a moment</p><img src="/images/sending.gif" width="16" height="16" alt="sending" /></div>';
                }

                if(req.readyState == 4) {
                    if(req.status == 200) {
                        if(req.responseXML.getElementsByTagName("error")[0].childNodes[0].nodeValue == 'false'){
                            window.location = decodeURIComponent(req.responseXML.getElementsByTagName("redirect")[0].childNodes[0].nodeValue);
                        }else{
                            document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>ERROR</h3><p>' + decodeURIComponent(req.responseXML.getElementsByTagName("msg")[0].childNodes[0].nodeValue) + '</p></div>';
                        }
                    } else {
                        alert('Load error: ['+req.status+'] '+req.statusText);
                    }
                }
            };
            req.open('POST','/reservation/paypalpayment', true);
            req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=UTF-8;');
            req.send('code='+encodeURIComponent(cde));
        }
    }
}

function resprevpage() {    
    if(creditcardradio == true) {
        saveCredit();
    }
    
    document.getElementById('ticket_content').innerHTML = ticketsState;
    //document.getElementById('paypal_radio').checked = paypalradio;
    document.getElementById('creditcard_radio').checked = creditcardradio;
}

function creditpayment() {
    firstname = document.getElementById('first-name').value;
    lastname = document.getElementById('last-name').value;
    email = document.getElementById('email').value;
    confirm = document.getElementById('confirm').value;
    phone = document.getElementById('phone').value;
    street = document.getElementById('street').value;
    city = document.getElementById('city').value;
    state = document.getElementById('state').options[document.getElementById('state').selectedIndex].value;
    zip = document.getElementById('zip').value;
    cardtype = document.getElementById('card-type').options[document.getElementById('card-type').selectedIndex].value;
    cardnumber = document.getElementById('card-number').value;
    security = document.getElementById('security').value;
    month = document.getElementById('month').options[document.getElementById('month').selectedIndex].value;
    year = document.getElementById('year').options[document.getElementById('year').selectedIndex].value;

    var post_data = '';
    var fn = false;
    var ln = false;
    var em = false;
    var ph = true;
    var st = false;
    var ct = false;
    var se = false;
    var zp = false;
    var ce = false;
    var cn = false;
    var sc = false;
    var mh = false;
    var ye = false;

    if(firstname != '') {
        fn = true;
    } else {
        document.getElementById('first-name').className = 'input1_error';
    }

    if(lastname != '') {
        ln = true;
    } else {
        document.getElementById('last-name').className = 'input1_error';
    }

    if(lastname != '') {
        ln = true;
    } else {
        document.getElementById('last-name').className = 'input1_error';
    }

    if(email != '') {
        if(check_email('email') == true) {
            if(email == confirm) {
                em = true;
            } else {
                document.getElementById('email').className = 'input1_error';
                document.getElementById('confirm').className = 'input1_error';
                alert("Email and Confirm email fields don'y match!");
            }
        } else {
            document.getElementById('email').className = 'input1_error';
            alert('E-mail incorrect!');
        }
    } else {
        document.getElementById('email').className = 'input1_error';
    }

    if(confirm == '') {
        document.getElementById('confirm').className = 'input1_error';
    }

    /*
    if(phone != '') {
        ph = true;
    } else {
        document.getElementById('phone').className = 'input1_error';
    }
	*/
	
    if(street != '') {
        st = true;
    } else {
        document.getElementById('street').className = 'input3_error';
    }

    if(city != '') {
        ct = true;
    } else {
        document.getElementById('city').className = 'input1_error';
    }

    if(state != '') {
        se = true;
    } else {
        document.getElementById('state').className = 'text2_error';
    }

    if(zip != '') {
        zp = true;
    } else {
        document.getElementById('zip').className = 'input2_error';
    }

    if(cardtype != '') {
        ce = true;
    } else {
        document.getElementById('card-type').className = 'text1_error';
    }

    if(cardnumber != '') {
        cn = true;
    } else {
        document.getElementById('card-number').className = 'input1_error';
    }

    if(security != '') {
        sc = true;
    } else {
        document.getElementById('security').className = 'input1_error';
    }

    if(month != '') {
        mh = true;
    } else {
        document.getElementById('month').className = 'text2_error';
    }

    if(year != '') {
        ye = true;
    } else {
        document.getElementById('year').className = 'text2_error';
    }

    if(fn == true && ln == true && em == true && ph == true && st == true && ct == true && se == true && zp == true && cn == true && ce == true && sc == true && mh == true && ye == true) {
       
        post_data = 'fn='+encodeURIComponent(firstname)+'&ln='+encodeURIComponent(lastname)+'&em='+encodeURIComponent(email)+'&ph='+encodeURIComponent(phone)+'&st='+encodeURIComponent(street)+
        '&ct='+encodeURIComponent(city)+'&se='+encodeURIComponent(state)+'&zp='+encodeURIComponent(zip)+'&cn='+encodeURIComponent(cardnumber)+'&sc='+encodeURIComponent(security)+
        '&mh='+encodeURIComponent(month)+'&ye='+encodeURIComponent(year)+'&ce='+encodeURIComponent(cardtype)+'&code='+encodeURIComponent(code);

        post_data += '&product_count='+userTickets.length;

        for(i = 0; i < userTickets.length; i++) {
            post_data += '&product_id'+i+'='+encodeURIComponent(userTickets[i][0])+'&product_amt'+i+'='+encodeURIComponent(userTickets[i][3]);
        }

        var req = initXMLHttpClient();
        req.onreadystatechange = function() {
            if(req.readyState == 1){
                document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>Sending...</h3><p>Please wait for a moment</p><img src="/images/sending.gif" width="16" height="16" alt="sending" /></div>';
            }

            if(req.readyState == 4) {
                if(req.status == 200) {
                    if(req.responseXML.getElementsByTagName("error")[0].childNodes[0].nodeValue == 'false' && req.responseXML.getElementsByTagName("payment")[0].childNodes[0].nodeValue == 'complete') {
                        document.getElementById('ticket_content').innerHTML = genSummary(decodeURIComponent(req.responseXML.getElementsByTagName("transactionID")[0].childNodes[0].nodeValue));
                        
                    }else{
                        document.getElementById('ticket_content').innerHTML = '<div class="sending"><h3>ERROR</h3><p>' + decodeURIComponent(req.responseXML.getElementsByTagName("msg")[0].childNodes[0].nodeValue) + '</p></div>';
                    }
                } else {
                    alert('Load error: ['+req.status+'] '+req.statusText);
                }
            }
        };
        req.open('POST','/reservation/creditcardpayment', true);
        req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=UTF-8;');
        req.send(post_data);
    } else {
        alert("Please fill required fields.");
    }
}
