var VARS = new Object();

(function($){
    /**
     * jQuery delayed event execution.
     */
    $.fn.delay = function(options) {
        var timer;
        var delayImpl = function(eventObj) {
            if (timer != null) {
                clearTimeout(timer);
            }
            var newFn = function() {
                options.fn(eventObj);
            };
            timer = setTimeout(newFn, options.delay);
        }

        return this.each(function() {
            var obj = $(this);
            obj.bind(options.event, function(eventObj) {
                 delayImpl(eventObj);
            });
        });
    };
})(jQuery);

function showhide(id,bool, block){
	var el = document.getElementById(id);
	if (block) block = 'block';
	else block = '';
	if (el){
		var style = (bool) ? block :'none';
	}
	el.style.display = style;
}

var country_types = [];
country_types['state'] = { zone:1,code:1,zone_label:'State', code_label:'Zipcode' };
country_types['territory'] = { zone:1,code:1,zone_label:'Territory', code_label:'Postal Code' };
country_types['province'] = { zone:1,code:1,zone_label:'Province', code_label:'Postal Code' };

var country_format = [];
country_format['AU'] = 'territory'; 	// Austrailia
country_format['AT'] = 'province'; 	// Austria
country_format['CA'] = 'province'; 	// Canada
country_format['DE'] = 'province'; 	// Germany
country_format['ES'] = 'province'; 	// Spain
country_format['CH'] = 'province'; 	// Switzerland
country_format['US'] = 'state';		 //USA

var zone_lists = {"AU":{"ACT":"Australian Capital Territory","NSW":"New South Wales","NT":"Northern Territory","QLD":"Queensland","SA":"South Australia","TAS":"Tasmania","VIC":"Victoria","WA":"Western Australia"},"AT":{"BL":"Burgenland","KN":"K\u00e4rtnen","NO":"Niedersterreich","OO":"Obersterreich","SB":"Salzburg","ST":"Steiermark","TI":"Tirol","VB":"Voralberg","WI":"Wien"},"CA":{"AB":"Alberta","BC":"British Columbia","MB":"Manitoba","NB":"New Brunswick","NF":"Newfoundland","NT":"Northwest Territories","NS":"Nova Scotia","NU":"Nunavut","ON":"Ontario","PE":"Prince Edward Island","QC":"Quebec","SK":"Saskatchewan","YT":"Yukon Territory"},"DE":{"BAW":"Baden-Wrttemberg","BAY":"Bayern","BER":"Berlin","BRG":"Brandenburg","BRE":"Bremen","HAM":"Hamburg","HES":"Hessen","MEC":"Mecklenburg-Vorpommern","NDS":"Niedersachsen","NRW":"Nordrhein-Westfalen","RHE":"Rheinland-Pfalz","SAR":"Saarland","SAS":"Sachsen","SAC":"Sachsen-Anhalt","SCN":"Schleswig-Holstein","THE":"Thringen"},"163":{"PW":"Palau"},"ES":{"A Corua":"A Corua","Alava":"Alava","Albacete":"Albacete","Alicante":"Alicante","Almeria":"Almeria","Asturias":"Asturias","Avila":"Avila","Badajoz":"Badajoz","Baleares":"Baleares","Barcelona":"Barcelona","Burgos":"Burgos","Caceres":"Caceres","Cadiz":"Cadiz","Cantabria":"Cantabria","Castellon":"Castellon","Ceuta":"Ceuta","Ciudad Real":"Ciudad Real","Cordoba":"Cordoba","Cuenca":"Cuenca","Girona":"Girona","Granada":"Granada","Guadalajara":"Guadalajara","Guipuzcoa":"Guipuzcoa","Huelva":"Huelva","Huesca":"Huesca","Jaen":"Jaen","La Rioja":"La Rioja","Las Palmas":"Las Palmas","Leon":"Leon","Lleida":"Lleida","Lugo":"Lugo","Madrid":"Madrid","Malaga":"Malaga","Melilla":"Melilla","Murcia":"Murcia","Navarra":"Navarra","Ourense":"Ourense","Palencia":"Palencia","Pontevedra":"Pontevedra","Salamanca":"Salamanca","Santa Cruz de Tenerife":"Santa Cruz de Tenerife","Segovia":"Segovia","Sevilla":"Sevilla","Soria":"Soria","Tarragona":"Tarragona","Teruel":"Teruel","Toledo":"Toledo","Valencia":"Valencia","Valladolid":"Valladolid","Vizcaya":"Vizcaya","Zamora":"Zamora","Zaragoza":"Zaragoza"},"CH":{"AG":"Aargau","AR":"Appenzell Ausserrhoden","AI":"Appenzell Innerrhoden","BL":"Basel-Landschaft","BS":"Basel-Stadt","BE":"Bern","FR":"Freiburg","GE":"Genf","GL":"Glarus","JU":"Jura","LU":"Luzern","NE":"Neuenburg","NW":"Nidwalden","OW":"Obwalden","SH":"Schaffhausen","SZ":"Schwyz","SO":"Solothurn","SG":"St. Gallen","TI":"Tessin","TG":"Thurgau","UR":"Uri","VD":"Waadt","VS":"Wallis","ZH":"Zrich","ZG":"Zug"},"US":{"AL":"Alabama","AK":"Alaska","AS":"American Samoa","AZ":"Arizona","AR":"Arkansas","AF":"Armed Forces Africa","AA":"Armed Forces Americas","AC":"Armed Forces Canada","AE":"Armed Forces Europe","AM":"Armed Forces Middle East","AP":"Armed Forces Pacific","CA":"California","CO":"Colorado","CT":"Connecticut","DE":"Delaware","DC":"District of Columbia","FM":"Federated States Of Micronesia","FL":"Florida","GA":"Georgia","GU":"Guam","HI":"Hawaii","ID":"Idaho","IL":"Illinois","IN":"Indiana","IA":"Iowa","KS":"Kansas","KY":"Kentucky","LA":"Louisiana","ME":"Maine","MH":"Marshall Islands","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","MP":"Northern Mariana Islands","OH":"Ohio","OK":"Oklahoma","OR":"Oregon","PA":"Pennsylvania","PR":"Puerto Rico","RI":"Rhode Island","SC":"South Carolina","SD":"South Dakota","TN":"Tennessee","TX":"Texas","UT":"Utah","VT":"Vermont","VI":"Virgin Islands","VA":"Virginia","WA":"Washington","WV":"West Virginia","WI":"Wisconsin","WY":"Wyoming"}};

//simplified
zone_lists["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",
		'NULL':'',"AS":"American Samoa","AF":"Armed Forces Africa","AA":"Armed Forces Americas","AC":"Armed Forces Canada","AE":"Armed Forces Europe","AM":"Armed Forces Middle East","AP":"Armed Forces Pacific","APO":"APO","FM":"Federated States Of Micronesia","FPO":"FPO","GU":"Guam","MH":"Marshall Islands","PR":"Puerto Rico"};


function setOptions(id, opts, first, setTo){
	var oo = 0;
	el = document.getElementById(id);
	el.options.length = 0;

	if (first){
		el.options[0] = new Option(first.txt,first.val);
		oo++;
	}
	for(opt in opts){
		el.options[oo] = new Option(opts[opt], opt);
		oo++;
	}
	if (setTo) el.value = setTo;
}


function updateShipping(){};

function checkCountry(div, id, setTo){
	//try {
		if (!id) id = 'US';
		var ftype = country_format[id];
		var strid = id.toString();
		if (ftype)	var format = country_types[ftype];

		if (div) div += '_';
		if (format){
			showhide(div+'zonelist', format.zone);
			showhide(div+'codelist', format.code);
			if (format.zone_label) $('#lbl_'+div+'zone').html(format.zone_label+':');
			if (format.code_label) $('#lbl_'+div+'code').html(format.code_label+':');
			if (zone_lists[strid]){
				setOptions(div+'zone', zone_lists[strid], {txt:' -- Select -- ', val:''}, setTo);
			}
		} else {
			showhide(div+'zonelist', 0);
			showhide(div+'codelist', 1);
			$('#lbl_'+div+'code').html('Postal Code');
		}
		updateShipping();
	//} catch (ex){
	//}
}
