﻿//Errors description, may be overwrite elsewhere.
var msgFnameMissing = '+Please Enter First Name.';
var msgFnameShort = '+First Name too short.';
var msgLnameMissing = '+Please Enter Last Name.';
var msgLnameShort = '+Last Name too short.';
var msgCountryMissing = '+Choose your country.';
var msgEmailValid = '+Email Address not valid.';
var msgPhoneLong = '+Phone Number is too long';
var msgPhoneValid = '+Phone number or Country Code not valid.';
function checkForm() {

    //CLEAR ERROR AREA
    document.getElementById('errors').innerHTML = '';
    document.getElementById('errors').style.visibility = 'hidden';

    var errMessage = '';
    var errSingle = '';
    var un = '';
    //check first_name
    un = document.getElementById('first_name').value;
    if (un == '' || un.length < 2 || un.length > 50) {
        if (un == '') errSingle = msgFnameMissing;
        else errSingle = msgFnameShort;
        errMessage += errSingle;
        errMessage += '<br>';
        document.getElementById('first_name_alert').style.visibility = 'visible';
        document.getElementById('first_name_alert').title = errSingle;
    }
    else {
        document.getElementById('first_name_alert').style.visibility = 'hidden';
    }
    //check last_name
    un = document.getElementById('last_name').value;
    if (un == '' || un.length < 2 || un.length > 50) {
        if (un == '') errSingle = msgLnameMissing;
        else errSingle =msgLnameShort;
        errMessage += errSingle;
        errMessage += '<br>';
        document.getElementById('last_name_alert').style.visibility = 'visible';
        document.getElementById('last_name_alert').title = errSingle;
    }
    else {
        document.getElementById('last_name_alert').style.visibility = 'hidden';
    }
    //check region
    un = document.getElementById('region').value;
    if (un == 0) {
        errSingle = msgCountryMissing;
        errMessage += errSingle;
        errMessage += '<br>';
        document.getElementById('region_alert').style.visibility = 'visible';
        document.getElementById('region_alert').title = errSingle;

    }
    else {

        document.getElementById('region_alert').style.visibility = 'hidden';
    }
    //check email
    un = document.getElementById('email').value;
    var _reg = new RegExp('^\\w+[\\w\\._-]*@\\w+[\\w\\._-]*\\.\\w+$');
    if (un == '' || !_reg.test(un)) {
        errSingle = msgEmailValid;
        errMessage += errSingle;
        errMessage += '<br>';
        document.getElementById('email_alert').style.visibility = 'visible';
        document.getElementById('email_alert').title = errSingle;

    }
    else {
        document.getElementById('email_alert').style.visibility = 'hidden';
    }
    //check phone
    un = document.getElementById('phone1').value;
    var countryCode = document.getElementById('countrycode').value;
    var _reg_phone = new RegExp('^[+\\d-\\s]*\\d[+\\d-\\s]*$');
    if (!_reg_phone.test(un) || !_reg_phone.test(countryCode) || (un.length + countryCode.length) > 50) {
        if ((un.length + countryCode.length) > 50) errSingle = msgPhoneLong;
        else errSingle = msgPhoneValid;
        errMessage += errSingle;
        errMessage += '<br>';
        document.getElementById('phone_alert').style.visibility = 'visible';
        document.getElementById('phone_alert').title = errSingle;

    }
    else {
        document.getElementById('phone_alert').style.visibility = 'hidden';
    }
    //print error
    if (errMessage != '') {
        errorPrint(errMessage);
        return false;
    }
    else {
        return true;
    }
    return false;
}
function errorPrint(errMsg) {
    errMsg += '<input type="button" style="display:block;border:1px solid black;width:80px;margin:10px auto;" value="OK" />';
    document.getElementById('errors').innerHTML = errMsg;
    document.getElementById('errors').style.visibility = "visible";
    document.getElementById('errors').style.height = 'auto';
}
function CountryClick(field) {
    document.getElementById('countrycode').value = CountryCode(field.options[field.selectedIndex].text);
}
function ParentNavigate(url) {
    if (parent != null) parent.location = url;
    else document.location = url;
}
function CountryCode(_val) {
    var Codes = new Array();
    Codes['Afghanistan'] = '93';
    Codes['Albania'] = '355';
    Codes['Algeria'] = '213';
    Codes['American Samoa (US)'] = '1-684';
    Codes['Andorra'] = '376';
    Codes['Angola'] = '244';
    Codes['Anguilla (UK)'] = '1-264';
    Codes['Antigua and Barbuda'] = '1-268';
    Codes['Argentina'] = '54';
    Codes['Armenia'] = '374';
    Codes['Aruba (Netherlands)'] = '297';
    Codes['Australia'] = '61';
    Codes['Austria'] = '43';
    Codes['Azerbaijan'] = '994';
    Codes['Bahrain'] = '973';
    Codes['Bangladesh'] = '880';
    Codes['Barbados'] = '1-246';
    Codes['Belarus'] = '375';
    Codes['Belgium'] = '32';
    Codes['Belize'] = '501';
    Codes['Benin'] = '229';
    Codes['Bermuda'] = '1-441';
    Codes['Bhutan'] = '975';
    Codes['Bolivia'] = '591';
    Codes['Bosnia & Herzegovina'] = '387';
    Codes['Botswana'] = '267';
    Codes['Brazil'] = '55';
    Codes['British Virgin Islands (UK)'] = '1-284';
    Codes['Brunei'] = '673';
    Codes['Bulgaria'] = '359';
    Codes['Burkina Faso'] = '226';
    Codes['Burundi'] = '257';
    Codes['Cambodia'] = '855';
    Codes['Cameroon'] = '237';
    Codes['Canada'] = '1';
    Codes['Cape'] = '238';
    Codes['Cayman Islands (UK)'] = '1-345';
    Codes['Central African Republic'] = '236';
    Codes['Chad'] = '235';
    Codes['Channel Islands (UK)'] = '1-481';
    Codes['Chile'] = '56';
    Codes['Colombia'] = '57';
    Codes['Comoros'] = '269';
    Codes['Cook Islands (NZ)'] = '682';
    Codes['Costa Rica'] = '506';
    Codes['Croatia'] = '385';
    Codes['Cuba'] = '53';
    Codes['Cyprus'] = '357';
    Codes['Czech Republic'] = '420';
    Codes['Co^te d\'Ivoire'] = '225';
    Codes['Democratic Republic of Congo'] = '242';
    Codes['Denmark'] = '45';
    Codes['Djibouti'] = '253';
    Codes['Dominica'] = '1-767';
    Codes['Dominican Republic'] = '1-809';
    Codes['East Timor'] = '670';
    Codes['Ecuador'] = '593';
    Codes['Egypt'] = '20';
    Codes['El Salvador'] = '503';
    Codes['Equatorial Guinea'] = '240';
    Codes['Eritrea'] = '291';
    Codes['Estonia'] = '372';
    Codes['Ethiopia'] = '251';
    Codes['Falkland Islands (UK)'] = '500';
    Codes['Faroe Islands (Denmark)'] = '298';
    Codes['Federated States of Micronesia'] = '691';
    Codes['Fiji'] = '679';
    Codes['Finland'] = '358';
    Codes['France (Metropolitan)'] = '33';
    Codes['French Guiana (France)'] = '594';
    Codes['French Polynesia (France)'] = '689';
    Codes['Gabon'] = '241';
    Codes['Georgia'] = '995';
    Codes['Germany'] = '49';
    Codes['Ghana'] = '233';
    Codes['Gibraltar (UK)'] = '350';
    Codes['Greece'] = '30';
    Codes['Greenland (Denmark)'] = '299';
    Codes['Grenada'] = '1-473';
    Codes['Guadeloupe (France)'] = '590';
    Codes['Guam (US)'] = '1-671';
    Codes['Guatemala'] = '502';
    Codes['Guinea'] = '224';
    Codes['Guinea-Bissau'] = '245';
    Codes['Guyana'] = '592';
    Codes['Haiti'] = '509';
    Codes['Honduras'] = '504';
    Codes['Hong Kong'] = '852';
    Codes['Hungary'] = '36';
    Codes['Iceland'] = '354';
    Codes['India'] = '91';
    Codes['Indonesia'] = '62';
    Codes['Iran'] = '98';
    Codes['Iraq'] = '964';
    Codes['Isle of Man (UK)'] = '44';
    Codes['Israel'] = '972';
    Codes['Italy'] = '39';
    Codes['Jamaica'] = '1-876';
    Codes['Japan'] = '81';
    Codes['Jordan'] = '962';
    Codes['Kazakhstan'] = '7';
    Codes['Kenya'] = '254';
    Codes['Kiribati'] = '686';
    Codes['Kuwait'] = '965';
    Codes['Kyrgyzstan'] = '996';
    Codes['Laos'] = '856';
    Codes['Latvia'] = '371';
    Codes['Lebanon'] = '961';
    Codes['Lesotho'] = '266';
    Codes['Liberia'] = '231';
    Codes['Libya'] = '218';
    Codes['Liechtenstein'] = '423';
    Codes['Lithuania'] = '370';
    Codes['Luxembourg'] = '352';
    Codes['Macau'] = '853';
    Codes['Madagascar'] = '261';
    Codes['Malawi'] = '265';
    Codes['Malaysia'] = '60';
    Codes['Maldives'] = '960';
    Codes['Mali'] = '223';
    Codes['Malta'] = '356';
    Codes['Marshall Islands'] = '692';
    Codes['Martinique (France)'] = '596';
    Codes['Mauritania'] = '222';
    Codes['Mauritius'] = '230';
    Codes['Mexico'] = '52';
    Codes['Moldova'] = '373';
    Codes['Monaco'] = '377';
    Codes['Mongolia'] = '976';
    Codes['Montenegro'] = '382';
    Codes['Montserrat (UK)'] = '1-664';
    Codes['Morocco'] = '212';
    Codes['Mozambique'] = '258';
    Codes['Myanmar'] = '95';
    Codes['Namibia'] = '264';
    Codes['Nauru'] = '674';
    Codes['Nepal'] = '977';
    Codes['Netherlands'] = '31';
    Codes['Netherlands Antilles'] = '599';
    Codes['New Caledonia (France)'] = '687';
    Codes['New Zealand'] = '64';
    Codes['Nicaragua'] = '505';
    Codes['Niger'] = '227';
    Codes['Nigeria'] = '234';
    Codes['Niue (New Zealand)'] = '683';
    Codes['North Korea'] = '850';
    Codes['Northern Mariana Islands (US)'] = '1-670';
    Codes['Norway'] = '47';
    Codes['Oman'] = '968';
    Codes['Pakistan'] = '92';
    Codes['Palau'] = '680';
    Codes['Palestinian Territories'] = '970';
    Codes['Panama'] = '507';
    Codes['Papua New Guinea'] = '675';
    Codes['Paraguay'] = '595';
    Codes['People\'s Republic of China'] = '86';
    Codes['Peru'] = '51';
    Codes['Philippines'] = '63';
    Codes['Pitcairn Islands (UK)'] = '872';
    Codes['Poland'] = '48';
    Codes['Portugal'] = '351';
    Codes['Puerto Rico (US)'] = '1-787';
    Codes['Qatar'] = '974';
    Codes['Republic of China (Taiwan)'] = '886';
    Codes['Republic of Ireland'] = '353';
    Codes['Republic of Macedonia'] = '389';
    Codes['Republic of the Congo'] = '242';
    Codes['Romania'] = '40';
    Codes['Russia'] = '7';
    Codes['Rwanda'] = '250';
    Codes['R?union (France)'] = '262';
    Codes['Saint Helena (UK)'] = '290';
    Codes['Saint Kitts and Nevis'] = '1-869';
    Codes['Saint Lucia'] = '1-758';
    Codes['Saint Vincent/Grenadines'] = '1-784';
    Codes['Saint-Pierre/Miquelon'] = '508';
    Codes['Samoa'] = '685';
    Codes['San Marino'] = '378';
    Codes['Sao Tome and Principe'] = '239';
    Codes['Saudi Arabia'] = '966';
    Codes['Senegal'] = '221';
    Codes['Serbia'] = '381';
    Codes['Seychelles'] = '248';
    Codes['Sierra Leone'] = '232';
    Codes['Singapore'] = '65';
    Codes['Slovakia'] = '421';
    Codes['Slovenia'] = '386';
    Codes['Solomon Islands'] = '677';
    Codes['Somalia'] = '252';
    Codes['South'] = '27';
    Codes['Spain'] = '34';
    Codes['Sri Lanka'] = '94';
    Codes['Sudan'] = '249';
    Codes['Suriname'] = '597';
    Codes['Swaziland'] = '268';
    Codes['Sweden'] = '46';
    Codes['Switzerland'] = '41';
    Codes['Syria'] = '963';
    Codes['Tajikistan'] = '992';
    Codes['Tanzania'] = '255';
    Codes['Thailand'] = '66';
    Codes['The Bahamas'] = '1-242';
    Codes['The Gambia'] = '220';
    Codes['Togo'] = '228';
    Codes['Tokelau (New Zealand)'] = '690';
    Codes['Tonga'] = '676';
    Codes['Trinidad and Tobago'] = '1-868';
    Codes['Tunisia'] = '216';
    Codes['Turkey'] = '90';
    Codes['Turkmenistan'] = '993';
    Codes['Turks/Caicos Islands (UK)'] = '1-649';
    Codes['Tuvalu'] = '688';
    Codes['U.S. Vigin Islands'] = '1-340';
    Codes['Uganda'] = '256';
    Codes['Ukraine'] = '380';
    Codes['United Arab Emirates'] = '971';
    Codes['United Kingdom'] = '44';
    Codes['United States'] = '1';
    Codes['Uruguay'] = '598';
    Codes['Uzbekistan'] = '998';
    Codes['Vanuatu'] = '678';
    Codes['Vatican'] = '39';
    Codes['Venezuela'] = '58';
    Codes['Vietnam'] = '84';
    Codes['Wallis'] = '681';
    Codes['Yemen'] = '967';
    Codes['Zambia'] = '236';
    //document.getElementById('countrycode').value = Codes[field.options[field.selectedIndex].text];
    return Codes[_val];
}
