
var ddlCountry;
var CustomValidate;
var d = document;
d.$id = d.getElementById;

var txtPostal = 'ctl00_cphContents_txtPostalCode';
	var txtProvinceOther = 'ctl00_cphContents_txtProvince';
	var ddlCAProvince = 'ctl00_cphContents_ddlCAProvince';
	var ddlUSState = 'ctl00_cphContents_ddlUSState';
	var txtZipCode = 'ctl00_cphContents_txtZipCode';
	
function DisplayFields() {
	var ddl = d.$id(ddlCountry);
	var txtPostal = 'ctl00_cphContents_txtPostalCode';
	var txtProvinceOther = 'ctl00_cphContents_txtProvince';
	var txtProvince = 'ctl00_cphContents_txtProvince';
	var ddlCAProvince = 'ctl00_cphContents_ddlCAProvince';
	var ddlUSState = 'ctl00_cphContents_ddlUSState';
	var txtZipCode = 'ctl00_cphContents_txtZipCode';
	
	if (ddl.selectedIndex >= 0) {
		switch (ddl.options[ddl.selectedIndex].value)
		{
			case 'us':
				if (d.$id('trStreet2'))		d.$id('trStreet2').style.display = 'none';
				if (d.$id('trCAProvince')) d.$id('trCAProvince').style.display = 'none';
				if (d.$id('trProvince'))	d.$id('trProvince').style.display = 'none';
				if (d.$id('trPostalCode'))	d.$id('trPostalCode').style.display = 'none';
				if (d.$id(txtPostal))	d.$id(txtPostal).value = '-';
				if (d.$id(txtProvinceOther))	d.$id(txtProvinceOther).value = '-';
				if (d.$id(ddlCAProvince))	d.$id(ddlCAProvince).selectedIndex = 1;					
				
				if (d.$id('ddlUSState'))	d.$id('ddlUSState').selectedIndex;
				if (d.$id('trUSState'))		d.$id('trUSState').style.display = '';
			
				if (d.$id('txtZipCode'))	d.$id('txtZipCode').value = '';
				if (d.$id('trZipCode'))		d.$id('trZipCode').style.display = '';
			break;
				
			case 'ca':
				if (d.$id('trStreet2'))		d.$id('trStreet2').style.display = 'none';
				if (d.$id('trProvince'))	d.$id('trProvince').style.display = 'none';
				if (d.$id('trUSState'))		d.$id('trUSState').style.display = 'none';
				if (d.$id('trZipCode'))		d.$id('trZipCode').style.display = 'none';
				if (d.$id(txtZipCode))	d.$id(txtZipCode).value = '-';
				if (d.$id(txtProvinceOther))	d.$id(txtProvinceOther).value = '-';
				if (d.$id(ddlUSState))	d.$id(ddlUSState).selectedIndex = 1;
				if (d.$id(txtPostal)) d.$id(txtPostal).value = '';
				if (d.$id('ddlCAProvince')) d.$id('ddlCAProvince').selectedIndex = 0;
				if (d.$id('trCAProvince'))	d.$id('trCAProvince').style.display = '';

				if (d.$id('txtPostal'))	d.$id('txtPostal').value = '';
				if (d.$id('trPostalCode'))	d.$id('trPostalCode').style.display = '';
			break;

			default:
				if (d.$id('trCAProvince'))	d.$id('trCAProvince').style.display = 'none';
				if (d.$id('trUSState'))		d.$id('trUSState').style.display = 'none';
				if (d.$id('trZipCode'))		d.$id('trZipCode').style.display = 'none';
				if (d.$id(txtZipCode))	d.$id(txtZipCode).value = '-';
				if (d.$id(ddlCAProvince))	d.$id(ddlCAProvince).selectedIndex = 1;
				if (d.$id(ddlUSState))	d.$id(ddlUSState).selectedIndex = 1;					

				//if (d.$id(txtPostal))	d.$id(txtPostal).value = '';
				if (d.$id('trPostalCode')) d.$id('trPostalCode').style.display = '';
				
				
				if (d.$id('trProvince'))	d.$id('trProvince').style.display = '';
				//if (d.$id('txtProvinceOther')) d.$id('txtProvinceOther').value = '';
				//if (d.$id(txtProvince)) d.$id(txtProvince).value = '';
				
				if (d.$id('trStreet2'))		d.$id('trStreet2').style.display = '';
			break;
		}
	}
}

function ResetFields() {
	document.forms[0].reset();
	DisplayFields();	
}

function SaveValues() {
	var ddl = d.$id(ddlCountry);
	
	// fixes a bug in FF2.0
	if (ddl.options[ddl.selectedIndex].value == 'us') {
	    if (d.$id('ctl00$cphContents$ddlCAProvince')) d.$id('ctl00$cphContents$ddlCAProvince').selectedIndex = 1;
	}
	
	var isOk = EkFmValidate(document.forms[0]);
	if (!isOk)	return false;
	
	var txtPostalOrZipCode = d.$id('txtPostalOrZipCode');
	var txtStateOrProvince = d.$id('txtStateOrProvince');
	
	var ddl2;
	
	switch (ddl.options[ddl.selectedIndex].value)
	{
	    case 'us':
	        ddl2 = d.$id(ddlUSState);
	        if (txtPostalOrZipCode) txtPostalOrZipCode.value = d.$id(txtZipCode) ? d.$id(txtZipCode).value : '';
	        if (txtStateOrProvince) txtStateOrProvince.value = ddl2 ? ddl2.options[ddl2.selectedIndex].value : '';
	        if (d.$id('txtStreet2')) d.$id('txtStreet2').value = '';
	        break;

	    case 'ca':
	        ddl2 = d.$id(ddlCAProvince);
	        if (txtPostalOrZipCode) txtPostalOrZipCode.value = d.$id(txtPostal) ? d.$id(txtPostal).value : '';
	        if (txtStateOrProvince) txtStateOrProvince.value = ddl2 ? ddl2.options[ddl2.selectedIndex].value : '';
	        if (d.$id('txtStreet2')) d.$id('txtStreet2').value = '';
	        break;
		
		default:
			if (txtPostalOrZipCode)	txtPostalOrZipCode.value = d.$id(txtPostal) ? d.$id(txtPostal).value : '';
			if (txtStateOrProvince)	txtStateOrProvince.value = d.$id(txtProvinceOther) ? d.$id(txtProvinceOther).value : '';
		break;
	}

	return true;	
}

function EkFmValidate(formObj) { 
	var strError = '';
	var e = null;

	if (strError == '' && 'function' == typeof design_validateHtmlForm) {
		e = design_validateHtmlForm(formObj);
		if (e) {
			strError = e.title;
		}
	}
	if (strError == '') {
		if (typeof CustomValidate == 'function')
			return CustomValidate();
		else			
	
		return true;
	}
	else {
		alert(strError);
		if ('function' == typeof e.scrollIntoView || 'object' == typeof e.scrollIntoView) {
			e.scrollIntoView();
		}
		if ('function' == typeof design_canElementReceiveFocus) {
			if (design_canElementReceiveFocus(e)) {
				e.focus();
			}
		}
		else {
			e.focus();
		}
	
		return false;
	}
}

function Initialize() {
	if (d.$id(ddlCountry)) {
		if (d.$id('chkProductInfoOther')) {
			d.$id(ddlCountry).onchange = hook;
		}
		else {
			d.$id(ddlCountry).onchange = DisplayFields;
		}			
	
		DisplayFields();
	//	<!-- You must call the function SaveValues() upon submit or data will be missing! -->		
	}
}


function CustomValidate() {
	var p1 = d.$id('txtPassword');
	var p2 = d.$id('txtConfirmPassword');

	// password must match.
	if (p1 && p2) {		
		if (p1.value != p2.value) {
			alert('Passwords do not match!');
			return false;
		}
	}

	return true;
}

var hook;
ddlCountry = 'ctl00_cphContents_ddlCountry';
Initialize();
	