/*$Id: check_zipcode.js,v 1.3.2.2 2007/02/20 11:26:13 max Exp $*/
/*
	check_zip_code_rules is defined in check_zipcode_js.tpl
*/

function check_zip_code_field(cnt, zip) {
	var c_code;
	var zip_error = false;

	if (!zip || zip.value == '')
		return true;

	c_code = cnt ? cnt.options[cnt.selectedIndex].value : config_default_country;

	if (window.check_zip_code_rules && isset(check_zip_code_rules[c_code])) {
		var rules = check_zip_code_rules[c_code];

		if (isset(rules.lens) && !isset(rules.lens[zip.value.length]))
			zip_error = true;

		if (isset(rules.re) && zip.value.search(rules.re) != -1)
			zip_error = true;

		if (zip_error) {
			if (rules.error && rules.error.length > 0){
				alert(rules.error);
			}
			zip.focus();
			
			/*red border*/
			if (!zip.className.match(new RegExp('(\\s|^)'+'red_border'+'(\\s|$)'))) zip.className+=' red_border';

			return false;
		}
	}
	return !zip_error;
}

function check_zip_code() {
	return check_zip_code_field(document.forms["registerform"].b_country, document.forms["registerform"].b_zipcode) && check_zip_code_field(document.forms["registerform"].s_country, document.forms["registerform"].s_zipcode); 
}

