var CountriesList = {
    CA:"Canada",US:"United States",AL:"Albania",DZ:"Algeria",AD:"Andorra",AO:"Angola",AI:"Anguilla",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan Republic",BS:"Bahamas",BH:"Bahrain",
    BB:"Barbados",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia",BA:"Bosnia and Herzegovina",BW:"Botswana",BR:"Brazil",VG:"British Virgin Islands",BN:"Brunei",BG:"Bulgaria",BF:"Burkina Faso", BI:"Burundi",KH:"Cambodia",
    CV:"Cape Verde",KY:"Cayman Islands",TD:"Chad",CL:"Chile",C2:"China",CO:"Colombia",KM:"Comoros",CK:"Cook Islands",CR:"Costa Rica",HR:"Croatia",CY:"Cyprus",CZ:"Czech Republic",CD:"Democratic Republic of the Congo",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",
    DO:"Dominican Republic",EC:"Ecuador",SV:"El Salvador",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands",FO:"Faroe Islands",FM:"Federated States of Micronesia",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",GA:"Gabon Republic",GM:"Gambia",
    DE:"Germany",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GT:"Guatemala",GN:"Guinea",GW:"Guinea Bissau",GY:"Guyana",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IE:"Ireland",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Laos",LV:"Latvia",LS:"Lesotho",LI:"Liechtenstein",LT:"Lithuania",
    LU:"Luxembourg",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",MN:"Mongolia",MS:"Montserrat",MA:"Morocco",
    MZ:"Mozambique",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",AN:"Netherlands Antilles",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NU:"Niue",NF:"Norfolk Island",NO:"Norway",OM:"Oman",PW:"Palau",PA:"Panama",
    PG:"Papua New Guinea",PE:"Peru",PH:"Philippines",PN:"Pitcairn Islands",PL:"Poland",PT:"Portugal",QA:"Qatar",CG:"Republic of the Congo",RE:"Reunion",RO:"Romania",RU:"Russia",RW:"Rwanda",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",
    SA:"Saudi Arabia",SN:"Senegal",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",KR:"South Korea",ES:"Spain",LK:"Sri Lanka",SH:"St. Helena",KN:"St. Kitts and Nevis",LC:"St. Lucia",
    PM:"St. Pierre and Miquelon",SR:"Suriname",SJ:"Svalbard and Jan Mayen Islands",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",TW:"Taiwan",TJ:"Tajikistan",TZ:"Tanzania",TH:"Thailand",TG:"Togo",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",
    TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",UY:"Uruguay",VU:"Vanuatu",VA:"Vatican City State",VE:"Venezuela",VN:"Vietnam",WF:"Wallis and Futuna Islands",YE:"Yemen",ZM:"Zambia"
};
var ProvincesList = {
    CA:{
        AB:"Alberta",BC:"British Columbia",MB:"Manitoba",NB:"New Brunswick",NF:"Newfoundland",NT:"Northwest Territories",NU:"Nunavut",NS:"Nova Scotia",ON:"Ontario",PE:"Prince Edward Island",QC:"Quebec",SK:"Saskatchewan",YT:"Yukon"
    },
    US:{
        AL:"Alabama",AK:"Alaska",AZ:"Arizona",AR:"Arkansas",CA:"California",CO:"Colorado",CT:"Connecticut",DE:"Delaware",DC:"District Of Columbia",FL:"Florida",GA:"Georgia",HI:"Hawaii",ID:"Idaho",IL:"Illinois",IN:"Indiana",IA:"Iowa",
        KS:"Kansas",KY:"Kentucky",LA:"Louisiana",ME:"Maine",MD:"Maryland",MA:"Massachusetts",MI:"Michigan",MN:"Minnesota",MS:"Mississippi",MO:"Missouri",MT:"Montana",NE:"Nebraska",NV:"Nevada",NH:"New Hampshire",NJ:"New Jersey",NM:"New Mexico",
        NY:"New York",NC:"North Carolina",ND:"North Dakota",OH:"Ohio",OK:"Oklahoma",OR:"Oregon",PA:"Pennsylvania",RI:"Rhode Island",SC:"South Carolina",SD:"South Dakota",TN:"Tennessee",TX:"Texas",UT:"Utah",VT:"Vermont",VA:"Virginia",WA:"Washington",
        WV:"West Virginia",WI:"Wisconsin",WY:"Wyoming"
    }
}
function AppendCountries() {    
    for (country in CountriesList) {
        selectedStr = '';
        if ($('#id_country').attr("value")==CountriesList[country]) {
            selectedStr = 'selected';
            var countryID = country;
        }
        $("<option value='"+country+"' "+selectedStr+">"+CountriesList[country]+"</option>").appendTo("#id_country_sel");
    }
    if ($('#id_country').attr("value")) {
        AppendStates(countryID);
    }
}
function AppendStates(countryID) {
    $("#provinces_div").html('');
    $("#div_states").css("display", "none");
    $('<select id="id_state_sel" name="state_sel" onchange="StoreState(this.value);"><option value="-1">[Select the State/Province]</option></select>').appendTo("#provinces_div");
    for (state in ProvincesList[countryID]) {
        selectedStr = '';
        if ($('#id_state').attr("value")==ProvincesList[countryID][state]) {
            selectedStr = 'selected';            
        }
        $("<option value='"+state+"' "+selectedStr+">"+ProvincesList[countryID][state]+"</option>").appendTo("#id_state_sel");
    }
    if(('CA'!=countryID)&&('US'!=countryID)) {
        $("#provinces_div").html('');
        $("#div_states").css("display", "block");
    }
}

function PlaceStates(CountryID) {
    //saving the country name into the hidden field
    if (-1==CountryID) {
        $('#id_country').attr("value", '');
        $('#id_state').attr("value", '');
        $("#provinces_div").html('');
        $("#div_states").css("display", "block");        
    }
    else {
        $('#id_country').attr("value", CountriesList[CountryID]);    
    
        //Placing the input element instead the selectbox
        if((CountryID!='CA')&&(CountryID!='US')) {        
            $("#provinces_div").html('');
            $("#div_states").css("display", "block");
            $('#id_state').attr("value", '');
            return;
        }
        else {
            if(CountryID=='CA') {
                $('#label_state').text("Province");
            }
            else {
                $('#label_state').text("State");
            }
            $("#provinces_div").html('');
            $("#div_states").css("display", "none");
            $('<select id="id_state_sel" name="state_sel" onchange="StoreState(this.value);"><option value="-1">[Select the State/Province]</option></select>').appendTo("#provinces_div");
            for(province in ProvincesList[CountryID]) {
                str = "<option value='"+province+"'>"+ProvincesList[CountryID][province]+"</option>";        
                var my_opt = $(str);        
                my_opt.appendTo("#id_state_sel");
            }        
        }
      }
}
function StoreState(StateID) {
    //saving the state/province name into the hidden field
    if (-1==StateID) {
        $('#id_state').attr("value", '');
    } else {
        CountryID = $("#id_country_sel option[@selected]").attr("value");
        $('#id_state').attr("value", ProvincesList[CountryID][StateID]);
    }
}
function PlacePaymentType(PaymentID) {
    PaymentStr = $("#id_paymenttype_sel option[@selected]").attr("value");
    if(-1!=PaymentID) {
        $('#id_paymenttype').attr("value", PaymentID);
        $('#PaymentImage').attr("src", "/media/images/"+PaymentStr+".gif");
        $('#PaymentImage').show();
    }
    else {
        $('#id_paymenttype').attr("value", '');
        $('#PaymentImage').hide();        
    }
}
function AppendYears() {
    dt = new Date();
    CurrentYear = dt.getFullYear();
    for (var i=0; i<10; i++) {
        $('<option value="'+(CurrentYear+i)+'">'+(CurrentYear+i)+'</option>').appendTo("#id_paymentexpiry_year");
    }
    curExpireDate = $('#id_paymentexpiry').attr('value');
    if (curExpireDate) {
        month = curExpireDate.substr(0, 2);
        year = curExpireDate.substr(3, 4);
        $('#id_paymentexpiry_month option[@value="'+month+'"]').attr("selected", "selected");
        $('#id_paymentexpiry_year option[@value="'+year+'"]').attr("selected", "selected");
    }
}
function PlacePaymentExpire() {
    selectedMonth = $('#id_paymentexpiry_month option[@selected]').attr("value");
    selectedYear  = $('#id_paymentexpiry_year option[@selected]').attr("value");
    if ((-1!=selectedMonth)&&((-1!=selectedYear))) {
        $('#id_paymentexpiry').attr("value", selectedMonth+'/'+selectedYear);
    }
    else {
        $('#id_paymentexpiry').attr("value", '');
    }
}

function PaymentTypeAppend() {
    curPaymentType = $('#id_paymenttype').attr('value');
    PaymentArr = new Array("Visa", "MasterCard", "AmEx (Canadians Only)");
    for (var i=0; i<3; i++) {
        strSelected = '';
        if(PaymentArr[i]==curPaymentType) {
            $('#PaymentImage').attr("src", "/media/images/"+curPaymentType+".gif");
            $('#PaymentImage').show();
            strSelected = 'selected';
        }
        $('<option value="'+PaymentArr[i]+'" '+strSelected+'>'+PaymentArr[i]+'</option>').appendTo('#id_paymenttype_sel');
    }
}