/*
This library contains PAF related functions
*/

	var query_origin = '';
	var billing_call = false; // the same as catme
	var delivery_call = false; // the same as catfr
	var country_labels = new Array ();
	
	country_labels['catme']	= 1;
	country_labels['catfr']	= 1;
	country_labels['cat']	= 1;
	country_labels['bill']	= 1;
	country_labels['Ship']	= 1;
	country_labels['reg']	= 1;

	var country_labels2 = new Array ();

  
  	function pafApplySearchResult(_isvalid, _dpid, _street, _suburb, _city, _postcode, _state) {
  		if ((query_origin == 'bill') || (query_origin == 'Ship') || (query_origin == 'reg') || (query_origin == 'cat') || (query_origin == 'catme') || (query_origin == 'catfr')) {
  			fPAFHideAddrLines(false);
  			f_JumpToSection();
			common_pafApplySearchResult(query_origin, _isvalid, _dpid, _street, _suburb, _city, _postcode, _state);
  		}
	}
	
	function common_pafApplySearchResult(_suffix, _isvalid, _dpid, _street, _suburb, _city, _postcode, _state) {
		ext_fPAFLockFields(true, _suffix);

		document.getElementById("paf_" + _suffix + "_address1_lbl").innerHTML = _street;
		document.getElementById("paf_" + _suffix + "_address2_lbl").innerHTML = _suburb;
		document.getElementById("paf_" + _suffix + "_address3_lbl").innerHTML = _city;
		document.getElementById("paf_" + _suffix + "_address4_lbl").innerHTML = _postcode;
		document.getElementById("paf_" + _suffix + "_address5_lbl").innerHTML = _state;
		
		if (_suffix == 'reg') {
			document.getElementById("address1").value = _street;
			document.getElementById("address2").value = _suburb;
			document.getElementById("address3").value = _city;
			document.getElementById("address4").value = _postcode;
			document.getElementById("address5").value = _state;

			document.getElementById("PAF_BillingAddress_DPID").value = _dpid;
			document.getElementById("PAF_DeliveryAddress_DPID").value = _dpid;
		}
		else if (_suffix == 'cat') {
			document.getElementById("address1").value = _street;
			document.getElementById("address2").value = _suburb;
			document.getElementById("address3").value = _city;
			document.getElementById("address4").value = _postcode;
			document.getElementById("address5").value = _state;

			document.getElementById("PAF_DPID").value = _dpid;
//			document.getElementById("PAF_Friend_DPID").value = _dpid;
		}
		else if (_suffix == 'catme') {
			document.getElementById("address1").value = _street;
			document.getElementById("address2").value = _suburb;
			document.getElementById("address3").value = _city;
			document.getElementById("address4").value = _postcode;
			document.getElementById("address5").value = _state;

			document.getElementById("PAF_DPID").value = _dpid;
		}
		else if (_suffix == 'catfr') {
			document.getElementById("f_address1").value = _street;
			document.getElementById("f_address2").value = _suburb;
			document.getElementById("f_address3").value = _city;
			document.getElementById("f_address4").value = _postcode;
			document.getElementById("f_address5").value = _state;

			document.getElementById("PAF_Friend_DPID").value = _dpid;
		}
		else if (_suffix == 'bill') {
			document.getElementById("billAddr1").value = _street;
			document.getElementById("billAddr2").value = _suburb;
			document.getElementById("billAddr3").value = _city;
			document.getElementById("billAddr4").value = _postcode;
			document.getElementById("billAddr5").value = _state;
			
			document.getElementById("PAF_BillingAddress_DPID").value = _dpid;
		}
		else if (_suffix == 'Ship') {
			document.getElementById("ShipAddr1").value = _street;
			document.getElementById("ShipAddr2").value = _suburb;
			document.getElementById("ShipAddr3").value = _city;
			document.getElementById("ShipAddr4").value = _postcode;
			document.getElementById("ShipAddr5").value = _state;
			
			document.getElementById("PAF_DeliveryAddress_DPID").value = _dpid;
		}

		try {
			document.getElementById("paf_" + _suffix + "_country_star").bgColor = '#ffffff';
			document.getElementById("paf_" + _suffix + "_address1_star").bgColor = '#ffffff';
			document.getElementById("paf_" + _suffix + "_address3_star").bgColor = '#ffffff';
			document.getElementById("paf_" + _suffix + "_address5_star").bgColor = '#ffffff';
		}
		catch (e) {
		}

		ajaxwin.close();
		
		billing_call = false;
		delivery_call = false;
		return true;
	}

	function fPAFHideAddrLines(hide) {
		ext_fPAFHideAddrLines(hide, query_origin);
	}

	function ext_fPAFHideAddrLines(hide, area) {
		var status = '';
		if ((area == 'bill') || (area == 'Ship') || (area == 'reg') || (area == 'cat') || (area == 'catme') || (area == 'catfr')) {
			if (hide == true) {
				status = 'none';
			}

			if (document.getElementById("paf_" + area + "_address1_row").style.display != status) {
				document.getElementById("paf_" + area + "_address1_row").style.display = status;
				document.getElementById("paf_" + area + "_address2_row").style.display = status;
				document.getElementById("paf_" + area + "_address3_row").style.display = status;
				document.getElementById("paf_" + area + "_address4_row").style.display = status;
				document.getElementById("paf_" + area + "_address5_row").style.display = status;
			}
		}
	}

	function fPAFLockFields(lock) {
		ext_fPAFLockFields(lock, query_origin);
	}
  
	function ext_fPAFLockFields(lock, area) {
		var status1 = '';
		var status2 = 'none';

		if ((area == 'bill') || (area == 'Ship') || (area == 'reg') || (area == 'cat') || (area == 'catme') || (area == 'catfr')) {
			if (lock == true) {
				status1 = 'none';
				status2 = '';
			}
			
			if (document.getElementById("paf_" + area + "_address1_inp").style.display != status1) {
				document.getElementById("paf_" + area + "_address1_inp").style.display = status1;
				document.getElementById("paf_" + area + "_address2_inp").style.display = status1;
				document.getElementById("paf_" + area + "_address3_inp").style.display = status1;
				document.getElementById("paf_" + area + "_address4_inp").style.display = status1;
				document.getElementById("paf_" + area + "_address5_inp").style.display = status1;
			}
			
			if (document.getElementById("paf_" + area + "_address1_lbl").style.display != status2) {
				document.getElementById("paf_" + area + "_address1_lbl").style.display = status2;
				document.getElementById("paf_" + area + "_address2_lbl").style.display = status2;
				document.getElementById("paf_" + area + "_address3_lbl").style.display = status2;
				document.getElementById("paf_" + area + "_address4_lbl").style.display = status2;
				document.getElementById("paf_" + area + "_address5_lbl").style.display = status2;
			}
		}
	}

	function reg_countryChange(showForm) {
		query_origin = 'reg';
		var selector = document.getElementById("country");
		if (selector != null) {
//			if (selector.options[selector.selectedIndex].value == 'NZL') {
				document.getElementById("country_lookup_area").style.display = '';
				ext_fPAFLockFields(true, 'reg');
				if (showForm) {
					fPAFHideAddrLines(true);
					showNZPAF(true, true);
				}
//			}
/*			else {
				document.getElementById("country_lookup_area").style.display = 'none';
				fPAFLockFields(false);
				EmptyPAFCodes(true, true);
				fPAFHideAddrLines(false);
			}*/
		}
	}

	function bill_countryChange(showForm) {
		query_origin = 'bill';
		var selector = document.getElementById("billCountry");
		if (selector != null) {
//			if (selector.options[selector.selectedIndex].value == 'NZL') {
				document.getElementById("bill_country_lookup_area").style.display = '';
				ext_fPAFLockFields(true, 'bill');
				if (showForm) {
					query_origin = 'bill';
					fPAFHideAddrLines(true);
					showNZPAF(true, false);
				}
//			}
/*			else {
				document.getElementById("bill_country_lookup_area").style.display = 'none';
				ext_fPAFLockFields(false, 'bill');
				EmptyPAFCodes(true, false);
				fPAFHideAddrLines(false);
			}*/
		}
	}

	function ship_countryChange(showForm) {
		query_origin = 'Ship';
		var selector = document.getElementById("ShipCountry");
		if (selector != null) {
			if (selector.options[selector.selectedIndex].value == 'AUS') {
				document.getElementById("ship_country_lookup_area").style.display = '';
				ext_fPAFLockFields(true, 'Ship');
				if (showForm) {
					query_origin = 'Ship';
					fPAFHideAddrLines(true);
					showNZPAF(false, true);
				}
			}
			else {
				document.getElementById("ship_country_lookup_area").style.display = 'none';
				ext_fPAFLockFields(false, 'Ship');
				EmptyPAFCodes(false, true);
				fPAFHideAddrLines(false);
			}
		}
	}

	function cat_countryChange(showForm) {
		query_origin = 'cat';
		var selector = document.getElementById("CatCountry");
		if (selector != null) {
//			if (selector.options[selector.selectedIndex].value == 'NZL') {
				document.getElementById("cat_country_lookup_area").style.display = '';
				ext_fPAFLockFields(true, 'cat');
				if (showForm) {
					query_origin = 'cat';
					fPAFHideAddrLines(true);
					showNZPAF(false, true);
//				}
/*			}
			else {
				document.getElementById("cat_country_lookup_area").style.display = 'none';
				ext_fPAFLockFields(false, 'cat');
				EmptyPAFCodesCatalogue(true, true);
				fPAFHideAddrLines(false);
			}*/
		}
	}
	}

	function catme_countryChange(showForm) {
		query_origin = 'catme';
		var selector = document.getElementById("CatmeCountry");
		if (selector != null) {
//			if (selector.options[selector.selectedIndex].value == 'NZL') {
				document.getElementById("catme_country_lookup_area").style.display = '';
				ext_fPAFLockFields(true, 'catme');
				if (showForm) {
					query_origin = 'catme';
					fPAFHideAddrLines(true);
					showNZPAF(false, true);
				}
//			}
/*			else {
				document.getElementById("catme_country_lookup_area").style.display = 'none';
				ext_fPAFLockFields(false, 'catme');
				EmptyPAFCodesCatalogue(true, false);
				fPAFHideAddrLines(false);
			}*/
		}
	}

	function catfr_countryChange(showForm) {
		query_origin = 'catfr';
		var selector = document.getElementById("CatfrCountry");
		if (selector != null) {
//			if (selector.options[selector.selectedIndex].value == 'NZL') {
				document.getElementById("catfr_country_lookup_area").style.display = '';
				ext_fPAFLockFields(true, 'catfr');
				if (showForm) {
					query_origin = 'catfr';
					fPAFHideAddrLines(true);
					showNZPAF(false, true);
				}
//			}
/*			else {
				document.getElementById("catfr_country_lookup_area").style.display = 'none';
				ext_fPAFLockFields(false, 'catfr');
				EmptyPAFCodesCatalogue(false, true);
				fPAFHideAddrLines(false);
			}*/
		}
	}

	function fTraceCountryLabel(area) {
		if (country_labels[area] != null && country_labels[area] == 0) {
			var target = document.getElementById('paf_' + area+ '_address_country_lbl');
			if (target != null) {
				target.innerHTML = country_labels2[area];
			}
		}
	}
	
	function fReplaceCountryLabel(area, lbl, lbl2) {
		if (area != null && area != "") {
			var target = document.getElementById('paf_' + area+ '_address_country_lbl');
			if (target != null) {
				target.innerHTML = lbl;
				country_labels[area] = 0;
				if (lbl2 == "") {
					lbl2 = "Country :";
				}
				country_labels2[area] = lbl2;
			}
		}
	}

	function EmptyPAFCodes(_billing, _delivery) {
		if (_billing) { document.getElementById("PAF_BillingAddress_DPID").value = 0; }
		if (_delivery) { document.getElementById("PAF_DeliveryAddress_DPID").value = 0; }
	}

	function EmptyPAFCodesCatalogue(_billing, _delivery) {
		if (_billing) { document.getElementById("PAF_DPID").value = 0; }
		if (_delivery) { document.getElementById("PAF_Friend_DPID").value = 0; }
	}

	function showNZPAF(_billing, _delivery)
	{
		billing_call = _billing;
		delivery_call = _delivery;

		try {
			document.location="#top";
		}
		catch(e) {
		}
		
    	ajaxwin=dhtmlwindow.open("ajaxbox", "ajax", "/support.a" + "spx?iSAMS=" + "pafform", "|", "width=590px,height=334px,center=1,resize=1,scrolling=1");
		return true;
	}

	function f_JumpToSection() {
		try {
			document.location="#hook_" + query_origin;
		}
		catch(e) {
		}
		return false;
	}
	
	function f_GetCurrentHook() {
		return query_origin;
	}
