//
//	Program         iptec.js
//  Description     Javascript support
//  Project         Iptec (Mack Brooks)
//
//  History
//  12/12/2005      Mike Wood       Written
//

function addContact() {

    var frm = document.user;

    if (frm['Data[title]'].value == 0) {
        alert('Please select a title');
        frm['Data[title]'].focus();
        return false;
    }

    if (frm['Data[firstname]'].value == '') {
        alert('Please enter a firstname');
        frm['Data[firstname]'].focus();
        return false;
    }

    if (frm['Data[lastname]'].value == '') {
        alert('Please enter a lastname');
        frm['Data[lastname]'].focus();
        return false;
    }

    if (frm['Data[jobtitle]'].value == '') {
        alert('Please enter a job title');
        frm['Data[orgname]'].focus();
        return false;
    }
    
    if (frm['Data[orgname]'].value == '') {
        alert('Please enter an organisation name');
        frm['Data[orgname]'].focus();
        return false;
    }

    if (frm['Data[address1]'].value == '') {
        alert('Please enter an address');
        frm['Data[address1]'].focus();
        return false;
    }

    if (frm['Data[town]'].value == '') {
        alert('Please enter a town');
        frm['Data[town]'].focus();
        return false;
    }

    if (frm['Data[postcode]'].value == '') {
        alert('Please enter a postcode');
        frm['Data[postcode]'].focus();
        return false;
    }

    if (frm['Data[countryid]'].value == 0) {
        alert('Please select a country');
        frm['Data[countryid]'].focus();
        return false;
    }

    if (frm['Data[email]'].value == '') {
        alert('Please enter an email address');
        frm['Data[email]'].focus();
        return false;
    }


/*
    if (frm['Data[categoryid]'].value == 0) {
        alert('Please select a participant type');
        frm['Data[categoryid]'].focus();
        return false;
    }

    if (frm.payment.checked) {
        if (frm['Data[feeid]'].value == 0) {
            alert('Please select a payment amount or select custom and enter a price');
            frm['Data[feeid]'].focus();
            return false;
        }

        // Check for custom price
        if (frm['Data[feeid]'].value == 17 || frm['Data[feeid]'].value == 117) {

            if (frm['Data[customfee]'].value.length == 0) {
                alert('Please enter a custom price');
                frm['Data[customfee]'].focus();
                return false;
            }

            // Check if the custom price is a number
            if (! IsNumeric(frm['Data[customfee]'].value)) {
                alert('Please enter a valid number for custom price');
                frm['Data[customfee]'].value = '';
                frm['Data[customfee]'].focus();
                return false;
            }

            // If the country is not France, check for custom vat
            if (frm['Data[countryid]'].value != 162) {

                if (frm['Data[customfeevat]'].value.length == 0) {
                    alert('Please enter the VAT to be added to the custom price');
                    frm['Data[customfeevat]'].focus();
                    return false;
                }

                // Check if the custom price vat is a number
                if (! IsNumeric(frm['Data[customfeevat]'].value)) {
                    alert('Please enter a valid number for custom price VAT');
                    frm['Data[customfeevat]'].value = '';
                    frm['Data[customfeevat]'].focus();
                    return false;
                }
            }
        }

        if (frm['Data[payment_type]'].value == 0) {
            alert('Please select a payment method');
            frm['Data[payment_type]'].focus();
            return false;
        }
        // For CC Payments, see if they want to enter a reference number
        if (frm['Data[payment_type]'].value == 1) {
            if (frm['Data[payreferencenum]'].value == '') {
                if (confirm('Do you wish to enter a credit card authorisation code?')) {
                    frm['Data[payreferencenum]'].focus();
                    return false;
                }
            }
        }
    }

*/

    alert('New user added');
    return true;

}


function togglePayment() {

    var frm = document.user;
    if (frm.payment.checked) {
        frm['Data[feeid]'].disabled             = false;
        frm['Data[payment_type]'].disabled      = false;
        frm['Data[payreferencenum]'].disabled   = false;
        frm['Data[customfee]'].disabled         = false;
        frm['Data[customfeevat]'].disabled      = false;
    } else {
        frm['Data[feeid]'].disabled             = true;
        frm['Data[feeid]'].value                = 0;
        frm['Data[payment_type]'].disabled      = true;
        frm['Data[payment_type]'].value         = 0;
        frm['Data[payreferencenum]'].disabled   = true;
        frm['Data[payreferencenum]'].value      = '';
        frm['Data[customfee]'].disabled         = true;
        frm['Data[customfee]'].value            = '';
        frm['Data[customfeevat]'].disabled      = true;
        frm['Data[customfeevat]'].value         = '';
    }
    // Override the custom vat field availability for France
    if (frm['Data[countryid]'].value == 162) {
        frm['Data[customfeevat]'].disabled      = true;
        frm['Data[customfeevat]'].value         = '';
    }
}

//  check for valid numeric strings
function IsNumeric(strString) {

    var strValidChars = "0123456789.";
    var strChar;
    var blnResult = true;
    var blnPeriod = false;

    if (strString.length == 0) return false;

    //  test strString consists of valid characters listed above
    for (i = 0; i < strString.length && blnResult == true; i++) {

        strChar = strString.charAt(i);
        if (strValidChars.indexOf(strChar) == -1) {
            blnResult = false;
        }

        // Check for the existence of more than one period
        if (strChar == '.') {
            if (blnPeriod) {
                blnResult = false;
            } else {
                blnPeriod = true;
            }
        }
    }
    return blnResult;
}