var bupdatedlookingfor = false;

function updatelookingforpostcode(){
	if (!bupdatedlookingfor){
		document.userform.lookingfor_post_code.value = document.userform.area_code.value;
		checkpostcode();
	}else{
		document.userform.lookingfor_post_code.value = document.userform.area_code.value;
	}
}

function manualupdatelookingforpostcode(){
	bupdatedlookingfor = true;
}
 
 
function alertPostCode(pc){
	if(document.userform.area_code.className.indexOf("quickregerr") < 0 ){
		// error class doesn't already exist.
		document.userform.area_code.className='quickregerr';
	}
  
	if(document.userform.area_code.value.indexOf("is not a valid post code") < 0){
		document.userform.area_code.maxLength='50';
		// error message doesn't already eist so add it
	   document.userform.area_code.value=pc+' is not a valid post code.'; 
	}

	// reset the max length
	if (document.getElementById('defaultPostcodeLength') != null) {
		document.userform.area_code.maxLength = document.getElementById('defaultPostcodeLength').value;
	}
	else {
		document.userform.area_code.maxLength = 4;
	}

	var lbl = document.getElementsByTagName('label');
	var j = 0;
	for (j=0; j<lbl.length; j++){
		forval=lbl[j].getAttribute('for')?lbl[j].getAttribute('for'):lbl[j].getAttribute('htmlFor');
		if (forval == 'area_code'){
			labelword = lbl[j].childNodes[0].nodeValue;
			lbl[j].className='labelerr';
			break;
		}
	}
}

function CheckTownLocationRefresh(item)
{
	var acode = document.userform.area_code.value;
	var ckey = document.userform.country_key.value;
	if (item.value == 'refresh') {
		refreshcodes(acode, acode, ckey, bupdatedlookingfor); 
	}
}

function checkpostcode(){
	var oldareacode = document.userform.area_code_hidden.value;
	var newareacode = document.userform.area_code.value;
	var countrykey = document.userform.country_key.value;

	if (countrykey == 183) {
		var parts = newareacode.split(" ");
		if (parts.length > 1) {
			newareacode = parts[0];
		}
		else {
			if (newareacode.length == 6) {
				newareacode = newareacode.substring(0, 3);
			}
			else {
				if (newareacode.length == 5 && (newareacode.indexOf(" ") < 0)) {
					newareacode = newareacode.substring(0, 2);
				}
			}
		}
	}

	if (newareacode!=oldareacode && newareacode!='') { 
		refreshcodes(newareacode, oldareacode, countrykey, bupdatedlookingfor);
		updatehiddenpostcode(newareacode);
	}
}

function refreshcodes(ncode, ocode, ckey, bUlf){
	if (canexecuteRequest()) {
		executeRequest('wce=RegPostCodeSwap,area_code='+ncode+',old_code='+ocode+',country_key='+ckey+',bUlf='+bUlf,7);		
	} else {
		swappostcode();
	}
}

function updatehiddenpostcode(pc){
	document.userform.area_code_hidden.value=pc;
}

function displayregions(obj, prefix){

	var countrycode = eval(document.userform[obj].value);
	var lay_183 = document.getElementById(prefix+'_183');
	var lay_125 = document.getElementById(prefix+'_125');
	var lay_160 = document.getElementById(prefix+'_160');

	switch (countrycode) 
	{ 
		case 183 : 
			layerdisplayon(lay_183);
			layerdisplayoff(lay_125);
			layerdisplayoff(lay_160);
				break; 
		case 125 : 
			layerdisplayoff(lay_183);
			layerdisplayon(lay_125);
			layerdisplayoff(lay_160);
				break; 
		case 160 :
			layerdisplayoff(lay_183);
			layerdisplayoff(lay_125);
			layerdisplayon(lay_160);
				break; 
		default : 
			layerdisplayoff(lay_183);
			layerdisplayoff(lay_125);
			layerdisplayoff(lay_160);
		} 
	return;
}

function gocountry() {

	var f = document.country;
	var v = f.countryselect.value;

	alert(v);
	alert(f);
	if (v == 'UK') {
		alert('please select a country');
	} else {
		f.submit();
	}

}

function switchcountries() {

	var countrycode = eval(document.userform.country.value);

	switch (countrycode) {
	case 183:
		subregionon(1, 183);
		subregionon(2, 183);
		subregionoff(1, 125);
		subregionoff(2, 125);
		subregionoff(1, 160);
		subregionoff(2, 160);
		break;
	case 125:
		subregionoff(1, 183);
		subregionoff(2, 183);
		subregionon(1, 125);
		subregionon(2, 125);
		subregionoff(1, 160);
		subregionoff(2, 160);
		break;
	case 160:
		subregionoff(1, 183);
		subregionoff(2, 183);
		subregionoff(1, 125);
		subregionoff(2, 125);
		subregionon(1, 160);
		subregionon(2, 160);
		break;
	default:
		subregionoff(1, 183);
		subregionoff(2, 183);
		subregionoff(1, 125);
		subregionoff(2, 125);
		subregionoff(1, 160);
		subregionoff(2, 160);
		break;
	}
	return;

}

function switchcountrieslooking() {

	var countrycode = eval(document.userform.lookingfor_country.value);

	switch (countrycode) {
	case 183:
		subregionon(3, 183);
		subregionoff(3, 125);
		subregionoff(3, 160);
		break;
	case 125:
		subregionoff(3, 183);
		subregionon(3, 125);
		subregionoff(3, 160);
		break;
	case 160:
		subregionoff(3, 183);
		subregionoff(3, 125);
		subregionon(3, 160);
		break;

	default:
		subregionoff(3, 183);
		subregionoff(3, 125);
		subregionoff(3, 160);
		break;
	}
	return;

}


function subregionon(i,c){
	layerdisplayon(document.getElementById('region'+i+'_'+c));
}

function subregionoff(i,c){
	layerdisplayoff(document.getElementById('region'+i+'_'+c));
}


/* functions for version  3.0.0 onwards */

function regstage2swapcountry(el, doexecute) {
	var thiscountry = parseInt(el.value);
	jQuery('#thePrefix').hide();
	switch (thiscountry) {
	case 183:
		elementdisplayon('trpostcode1_holder');
		document.getElementById('trpostcode1_holder').style.display = "block";
		elementdisplayoff('trregion');
		elementdisplayon('trtownlocation_holder');
		document.getElementById('trtownlocation_holder').style.display = "block";
		elementdisplayoff('trtown');
		UpdateInnerHTML('pcexamplelabel', '<b>Post code (first part only)</b><br><small>We just need the first 3 or 4 characters</small>');
		UpdateInnerHTML('pcexample', 'First part only (e.g. LA1, CR8) to protect your privacy');F
		addClass(document.getElementById('town_location_key'), 'required');
		addClass(document.getElementById('area_code'), 'required');
		removeClass(document.getElementById('county_key'), 'required');
		removeClass(document.getElementById('town'), 'required');
		jQuery('#thePrefix').show();
		break;

	case 9:
		elementdisplayon('trpostcode1_holder');
		document.getElementById('trpostcode1_holder').style.display = "block";
		elementdisplayoff('trregion');
		elementdisplayon('trtownlocation_holder');
		elementdisplayoff('trtown');
		UpdateInnerHTML('pcexample', 'e.g. 3052, 6151');
		addClass(document.getElementById('town_location_key'), 'required');
		addClass(document.getElementById('area_code'), 'required');
		removeClass(document.getElementById('county_key'), 'required');
		removeClass(document.getElementById('town'), 'required');
		break;

case 125:
	elementdisplayoff('trpostcode1_holder');
	elementdisplayon('trregion');
	document.getElementById('trregion').style.display = "block";
	elementdisplayoff('trtownlocation_holder');
	elementdisplayon('trtown');
	document.getElementById('trtown').style.display = "block";
	removeClass(document.getElementById('town_location_key'), 'required');
	removeClass(document.getElementById('area_code'), 'required');
	addClass(document.getElementById('county_key'), 'required');
	addClass(document.getElementById('town'), 'required');
	if (doexecute) {
		executeRequest('wci=register,wce=fillregions,country_key=' + thiscountry, 6);
	}
	break;

	default:
		elementdisplayoff('trpostcode1_holder');
		elementdisplayoff('trregion');
		elementdisplayoff('trtownlocation_holder');
		elementdisplayon('trtown');
		document.getElementById('trtown').style.display = "block";
		removeClass(document.getElementById('town_location_key'), 'required');
		removeClass(document.getElementById('area_code'), 'required');
		removeClass(document.getElementById('county_key'), 'required');
		addClass(document.getElementById('town'), 'required');
		break;
	}
}


function regstage2swapcountrylookingfor(el, doexecute) {
	var thiscountry = parseInt(el.value);
	switch (thiscountry) {
	case 183:
		elementdisplayon('trlookingfordistance_holder');
		document.getElementById('trlookingfordistance_holder').style.display = "inline";
		elementdisplayoff('trlookingforregion');
		UpdateInnerHTML('pcexample_looking', 'first part of my postcode e.g. KT3');
		UpdateInnerHTML('distancelabel_looking', 'miles of ');
		break;
	case 9:
		elementdisplayon('trlookingfordistance_holder');
		document.getElementById('trlookingfordistance_holder').style.display = "inline";
		elementdisplayoff('trlookingforregion');
		UpdateInnerHTML('pcexample_looking', 'my postcode e.g. 3052, 6151');
		UpdateInnerHTML('distancelabel_looking', 'kms of ');
		break;

	case 125:
		elementdisplayoff('trlookingfordistance_holder');
		elementdisplayon('trlookingforregion');
		document.getElementById('trlookingforregion').style.display = "inline";
		if (doexecute) {
			executeRequest('wci=register,wce=fillregionslookingfor,lookingfor_country=' + thiscountry, 6);
		}
		break;
	default:
		elementdisplayoff('trlookingfordistance_holder');
		elementdisplayoff('trlookingforregion');
		break;
	}
}


function searchresultscountryswitch(el, doexecute) {
	var thiscountry = parseInt(el.value);
	switch (thiscountry) {
	case 183:
		elementdisplayon('areacode');
		elementdisplayoff('countydiv');
		UpdateInnerHTML('pcexample_looking', 'your postcode eg W3, SE10, TN8');
		UpdateInnerHTML('distancelabel_looking', 'miles');
		break;

	case 9:
		elementdisplayon('areacode');
		elementdisplayoff('countydiv');
		UpdateInnerHTML('pcexample_looking', 'your postcode eg 2060, 3052, 6151');
		UpdateInnerHTML('distancelabel_looking', 'kms');
		break;

	case 125:
		elementdisplayoff('areacode');
		elementdisplayon('countydiv');
		if (doexecute) {
			executeRequest('wce=SearchResultsCountrySwap,country_key=' + thiscountry, 7);
		}
        getRegions(thiscountry);
		break;
	default:
		elementdisplayoff('areacode');
		elementdisplayoff('countydiv');
		break;
	}
	
}

function setCountry(path) {
	if (!path) { path = ''; }
	try {
		switch (request('loc').toUpperCase()) {
		case 'AU':
			document.forms[0].action = 'http://www.friendsreuniteddating.com.au/' + path;
			if (document.forms[0].lookingfor_country) {
				document.forms[0].lookingfor_country.value = 9;
			}
			if (document.forms[0].country_key) {
				document.forms[0].country_key.value = 9;
			}
			document.getElementById('postcode').style.visibility = "visible";
			document.forms[0].lookingfor_post_code.value = 'eg. 4352';
			break;
		case 'NZ':
			document.forms[0].action = 'http://www.friendsreuniteddating.co.nz/' + path;
			if (document.forms[0].lookingfor_country) {
				document.forms[0].lookingfor_country.value = 125;
			}
			if (document.forms[0].country_key) {
				document.forms[0].country_key.value = 125;
			}
			document.getElementById('postcode').style.visibility = "hidden";
			break;
		default:
			document.forms[0].action = 'http://www.friendsreuniteddating.co.uk/' + path;
			if (document.forms[0].lookingfor_country) {
				document.forms[0].lookingfor_country.value = 183;
			}
			if (document.forms[0].country_key) {
				document.forms[0].country_key.value = 183;
			}
			document.getElementById('postcode').style.visibility = "visible";
			document.forms[0].lookingfor_post_code.value = 'eg. SW10';
			break;
		}
	}
	catch(err) { }
}

function changeCountry(countryKey, path){
	if (!path){path='';}
	try{
		switch(countryKey){
		case '183':
			document.forms[0].action='http://www.friendsreuniteddating.co.uk/'+path;
			document.getElementById('postcode').style.visibility="visible";
			document.forms[0].lookingfor_post_code.value='eg. SW10';
			break;
		case '125':
			document.forms[0].action='http://www.friendsreuniteddating.co.nz/'+path;
			document.getElementById('postcode').style.visibility="hidden";
			document.forms[0].lookingfor_post_code.value='';
			break;
		case '9':
			document.forms[0].action='http://www.friendsreuniteddating.com.au/'+path;
			document.getElementById('postcode').style.visibility="visible";
			document.forms[0].lookingfor_post_code.value='eg. 4352';
			break;
		default:
			document.forms[0].action='http://www.friendsreuniteddating.co.uk/'+path;
			document.getElementById('postcode').style.visibility="hidden";
			document.forms[0].lookingfor_post_code.value='';
			break;
		}
	}
	catch(err){}
}

function getRegions(countryKey) {
    jQuery.ajax({
        url: "/Area/AllRegions",
        type: 'POST',
        context: document.body,
        data: { countryKey: countryKey },
        success: function (response) {
            var i = 0;
            jQuery('#lookingfor_county >option').remove();
            jQuery('#lookingfor_county').append(jQuery('<option> </option>').val(-1).html("Please select a region"));
            for (i = 0; i < response.length; i++) {
                jQuery('#lookingfor_county').append(jQuery('<option> </option>').val(response[i].Key).html(response[i].Text));
            }
        },
        error: function (a, b, c) {
            alert(a);
            alert(b);
            alert(c);
        }
    });
}
