var selectedVouchers = new Array();
var vouchersTotalAmount = 0.0;
var firstTime = true;
var totalVoucherQty = 0;

function resetAll() {
    if (selectedVouchers.length > 0) {
        vouchersTotalAmount = 0.0;
        numberList = 0;

        selectedVouchers.length = 0;

        alert('Purchases cleared');
        document.getElementById("summary").innerHTML = 'You have <strong>0 number of items</strong> in your cart.';
    } else alert("There is nothing in your cart right now.");
}

function selectVoucher() {
    var validation = true;

    if (document.getElementById("name").selectedIndex == 0) {
        validation = false;
        alert("Select a voucher");
        document.getElementById("name").focus()
    } else if (document.getElementById("qty").value == "" || isNaN(document.getElementById("qty").value) || document.getElementById("qty").value == "0") {
        validation = false;
        alert("Enter a valid quantity");
        document.getElementById("qty").focus()
    }

    if (validation == true) {
        if (selectedVouchers.length == 10) {
            alert("Maximum number of vouchers reached");
            return;
        }

        var voucherIndex = document.getElementById("name").selectedIndex;
        var voucherQty = document.getElementById("qty").value;

        totalVoucherQty = parseInt(totalVoucherQty) + parseInt(voucherQty);

        var getID = document.getElementById("name").value.split('-');
        if (firstTime == true) {
            numberList = 0;
            firstTime = false;
        }

        var qty;

        //This is to check if it has already been added, and if it has been added, don't add a new item, rather add it to the list
        for (var i = 0; i < selectedVouchers.length; i++) {
            var splitArray = new Array();
            splitArray = selectedVouchers[i].split('-');

            if (splitArray[0] == getID[0]) {
                numberList = i;
                qty = splitArray[1];
                voucherQty = parseInt(voucherQty) + parseInt(qty);
            }
        }

        selectedVouchers[numberList] = getID[0] + "-" + voucherQty;

        document.getElementById("voucher" + numberList).value = selectedVouchers[numberList];


        alert("Voucher successfully added, if you are done, scroll down and press the Check Out button");
        numberList++;
        if (selectedVouchers.length == 1) {
            document.getElementById("summary").innerHTML = 'You have <strong>' + totalVoucherQty + ' number of item</strong> in your cart.';
        }
        if (selectedVouchers.length > 1) {
            document.getElementById("summary").innerHTML = 'You have <strong>' + totalVoucherQty + ' number of items</strong> in your cart.';
        }
    }
}

function resetForm() {
    document.getElementById("name").selectedIndex = 0;
    document.getElementById("qty").value = "";
}

function validateForm() {
    with(document.form) {
        if (custname.value == "") {
            alert("Please enter your name")
            custname.focus()
            return false
        }
        if (nric.value == "") {
            alert("Please enter your NRIC")
            nric.focus()
            return false
        }
        var foundAt = email.value.indexOf("@", 0)
        if (foundAt < 1) {
            alert("Please enter a valid email address")
            email.focus()
            return false
        }
        if (email1.value != email.value) {
            alert("Please check the email address entered again")
            email1.focus()
            return false
        }
        if (hp.value == "") {
            alert("Please enter your handphone number")
            hp.focus()
            return false
        }
        //Commented out due to error, will fix soon -Kenneth 20th February 2011
        //  if (hp.charAt(0) != "8" && hp.charAt(0) != "9")
        //  {
        //    alert("Please enter a valid handphone number")
        //    hp.focus()
        //    return false
        // }
        if (hp1.value != hp.value) {
            alert("Please check the handphone number entered again")
            hp1.focus()
            return false
        }
    }
}

var previousSelected = "default_textarea";

function textareaDisplay() {
    var rowToDisplay = document.getElementById("name").value;

    document.getElementById(previousSelected).style.display = 'none';
    document.getElementById(rowToDisplay).style.display = '';
    previousSelected = rowToDisplay;
}

//This is added on 5th of March 2011 by Kenneth
//function deleteRow(tableID) {
//    var table = document.getElementById(tableID);
//    var rowCount = table.rows.length;
//
//    for (var i = 1; i < rowCount; i++) {
//        var row = table.rows[i];
//        var chkbox = row.cells[5].childNodes[0];
//        if (null != chkbox && true == chkbox.checked) {
//            table.deleteRow(i);
//            rowCount--;
//            i--;
//        }
//    }
//}
var txtDisplay = false;
var counter = 0;

function displayTxtBox() {
    total = 0.0;
    counter = 0;
    var validation = true;

    if (txtDisplay == true) {
        for (var x = 0; x < 10; x++) {
            var xhiddenInput = "voucher" + x;

            if (document.getElementById(xhiddenInput).value != 0 && document.getElementById(xhiddenInput).value != "") {
                var xsplitArray = new Array();
                xsplitArray = document.getElementById(xhiddenInput).value.split('-');
                var xdatabaseID = xsplitArray[0];

                var xdivInput = xdatabaseID + "i";
                var xelementInput = document.getElementById(xdivInput);

                if (xelementInput.value == "" || isNaN(xelementInput.value) || xelementInput.value > 99 || xelementInput.value < 1) {
                    alert("Please enter a valid quantity");
                    xelementInput.focus();
                    validation = false;
                    break;
                }
            }
        }
    }

    if (validation == true) {
        for (var i = 0; i < 10; i++) {
            var hiddenInput = "voucher" + i;

            if (document.getElementById(hiddenInput).value != 0 && document.getElementById(hiddenInput).value != "") {
                var splitArray = new Array();
                splitArray = document.getElementById(hiddenInput).value.split('-');
                var databaseID = splitArray[0];

                var divShow = databaseID + "s";
                var divHide = databaseID + "h";
                var divInput = databaseID + "i";

                var elementShow = document.getElementById(divShow);
                var elementHide = document.getElementById(divHide);
                var elementInput = document.getElementById(divInput);

                if (elementShow.style.display == 'none') {
                    changeTableData(counter, i, elementInput.value);
                    document.getElementById(hiddenInput).value = databaseID + "-" + elementInput.value;
                    elementShow.style.display = 'block';
                    elementHide.style.display = 'none';
                    elementInput.disabled = true;
                    document.getElementById("editbtn").innerHTML = '<img src="images/edit.png" width="16" height="16" alt=""/> Edit Quantity';
                    txtDisplay = false;
                    counter++;
                } else if (elementShow.style.display == 'block') {
                    elementShow.style.display = 'none'
                    elementHide.style.display = 'block';
                    elementInput.disabled = false;
                    document.getElementById("editbtn").innerHTML = '<img src="images/update.png" width="16" height="16" alt=""/> Update Quantity';
                    txtDisplay = true;
                }
            }
        }
    }
}
var total = 0.0;

function changeTableData(counter, itemNumber, quantity) {
    var table = document.getElementById("newspaper-b").getElementsByTagName("span");

    table.item(counter).innerHTML = quantity;

    var unitPriceDollar = document.getElementById("unitprice" + itemNumber).innerHTML.replace(" ", "");
    var unitPrice = unitPriceDollar.substr(1, unitPriceDollar.length - 1);

    var subTotal = parseFloat(unitPrice) * parseFloat(quantity);
    var subTotalID = "subtotal" + itemNumber;

    document.getElementById(subTotalID).innerHTML = "$" + subTotal.toFixed(2);

    total += subTotal;

    var results = "<strong>Grand Total: $" + total.toFixed(2) + "</strong>";
    document.getElementById("grandtotal").innerHTML = results;
}

function deleteRow(number, databaseID) {
    if (document.getElementById("newspaper-b").getElementsByTagName("span").length > 1) {
        var unitPriceDollar = document.getElementById("unitprice" + number).innerHTML.replace(" ", "");
        var unitPrice = unitPriceDollar.substr(1, unitPriceDollar.length - 1);

        var quantity = document.getElementById(number).innerHTML;

        var subTotal = parseInt(unitPrice) * parseInt(quantity);

        var grandTotal = document.getElementById("grandtotal").innerHTML;
        grandTotal = grandTotal.replace(" ", "");
        grandTotal = grandTotal.replace("  ", "");
        var startIndex = grandTotal.indexOf("$", 0);
        var grandTotalNum = grandTotal.substr((startIndex + 1), grandTotal.length - (startIndex + 10));

        grandTotalNum -= subTotal;

        var results = "<strong>Grand Total: $" + grandTotalNum.toFixed(2) + "</strong>";
        document.getElementById("grandtotal").innerHTML = results;

        document.getElementById("voucher" + number).value = 0;
        document.getElementById(databaseID + "i").value = 0;

        var rowToDelete = "row" + number;
        var row = document.getElementById(rowToDelete);
        row.parentNode.removeChild(row);

        if (navigator.userAgent.indexOf('Firefox') != -1) {
            var eachRow = document.getElementById("newspaper-b");

            for (var i = 1; i < eachRow.rows.length - 2; i++) {
                eachRow.rows[i].cells[0].innerHTML = i;
            }
        }
        if (navigator.userAgent.indexOf('MSIE') != -1) {
            var eachRow = document.getElementsByTagName("form").item(0).getElementsByTagName("tr");

            for (var i = 0; i < eachRow.item(i).childNodes.length; i++) {
                eachRow.item(i).childNodes.item(0).innerHTML = i + 1;
            }
        }

    } else {
        alert("You are not allowed to delete the last item in the cart, sorry!");
    }
}
