var Niche = {
	setUserInputValue: function (select, nUserAgeLower, nUserAgeUpper, nSiteAgeLower, nSiteAgeUpper) {
		if (select.id.toLowerCase().indexOf("lower") > 0) {
			if ((nUserAgeLower < nSiteAgeLower) || (nUserAgeLower > nSiteAgeUpper)) {
				nUserAgeLower = nSiteAgeLower;
			}
			setInputValue(select, nUserAgeLower);
		}
		else {
			if ((nUserAgeUpper > nSiteAgeUpper) || (nUserAgeUpper <= nSiteAgeLower)) {
				nUserAgeUpper = (nSiteAgeUpper - 1);
			}
			setInputValue(select, nUserAgeUpper);
		}
	},

	removeOptions: function (elSelect) {
		elSelect.options.length = 0;
	},

	createOptions: function (elSelect, nSiteAgeLower, nSiteAgeUpper) {
		var i = 0;
		for (i = nSiteAgeLower; i < nSiteAgeUpper; i++) {
			addOption(elSelect, i, i);
		}
	},

	recreateOptions: function (idSelect, nSiteAgeLower, nSiteAgeUpper) {
		if (!document.getElementById(idSelect)) {
			return false;
		}
		var elSelect = jQuery('#' + idSelect);
		var k = 0;
		for (k = 0; k < elSelect.length; k++) {
			if (idSelect.toLowerCase().indexOf("lower") > 0) {
				var valLow = getInputValue(elSelect[k]);
				Niche.removeOptions(elSelect[k]);
				Niche.createOptions(elSelect[k], nSiteAgeLower, nSiteAgeUpper);
				Niche.setUserInputValue(elSelect[k], valLow, 0, nSiteAgeLower, nSiteAgeUpper);
			} else {
				var valUpp = getInputValue(elSelect[k]);
				Niche.removeOptions(elSelect[k]);
				Niche.createOptions(elSelect[k], nSiteAgeLower, nSiteAgeUpper);
				Niche.setUserInputValue(elSelect[k], 0, valUpp, nSiteAgeLower, nSiteAgeUpper);
			}
		}
		return true;
	},

	changeSearchAge: function (nSiteAgeLower, nSiteAgeUpper) {
		Niche.recreateOptions("LookingFor_Age_Lower", nSiteAgeLower, nSiteAgeUpper);
		Niche.recreateOptions("LookingFor_Age_Upper", nSiteAgeLower, nSiteAgeUpper);
		Niche.recreateOptions("LookingFor_Age_Lower_rh", nSiteAgeLower, nSiteAgeUpper);
		Niche.recreateOptions("LookingFor_Age_Upper_rh", nSiteAgeLower, nSiteAgeUpper);
	}

};

function getElementsByName_iefix(tag, name) {
	var i = 0;
	var elem = document.getElementsByTagName(tag);
	var arr = new Array();
	for (i = 0, iarr = 0; i < elem.length; i++) {
		att = elem[i].getAttribute("name");
		if (att == name) {
			arr[iarr] = elem[i];
			iarr++;
		}
	}
	return arr;
}

function changeQuickSearchAge(intAgeLowerIn) {
	if (!document.getElementById("lookingfor_age_lower_quick")) {
		return false; 
	}
	var ageLower = document.getElementById("lookingfor_age_lower_quick");
	var intAgeLower = getInputValue(ageLower);
	setInputValue(ageLower, intAgeLower);
	layerdisplayoff(ageLower);
	return true;
}

function changeSplashSearchAges(intAgeLower, intAgeUpper) {
	var k = 0;
	var i = 0;
	var a = 0;
	if (location.href.toLowerCase().indexOf("searchresults") > 0) {
		return true;
	}
	if (location.href.toLowerCase().indexOf("regedit_basic") > 0) {
		return true;
	}
	if (!(jQuery("#LookingFor_Age_Lower"))) {
		return true;
	}
	agelower = jQuery("#LookingFor_Age_Lower");
	for (k = 0; k < agelower.length; k++) {
		agelower[k].options.length = 0;
		for (i = intAgeLower; i < intAgeUpper; i++) {
			addoption = document.createElement("option");
			addoption.setAttribute("value", i);
			disp = document.createTextNode(i);
			addoption.appendChild(disp);
			agelower[k].appendChild(addoption);
		}
	}

	if (!(jQuery("#lookingfor_age_lower"))) {
		return true;
	}
	agelower = jQuery("#lookingfor_age_lower");
	for (k = 0; k < agelower.length; k++) {
		agelower[k].options.length = 0;
		for (i = intAgeLower; i < intAgeUpper; i++) {
			addoption = document.createElement("option");
			addoption.setAttribute("value", i);
			disp = document.createTextNode(i);
			addoption.appendChild(disp);
			agelower[k].appendChild(addoption);
		}
	}

	for (k = 0; k < agelower.length; k++) {
		if (agelower[k].parentNode.name == 'quicksearch') {
			agelower[k].style.display = 'none';
			agelower[k].style.visibility = 'hidden';
			lbl = document.getElementsByTagName('label');
			for (j = 0; j < lbl.length; j++) {
				forval = lbl[j].getAttribute('for') ? lbl[j].getAttribute('for') : lbl[j].getAttribute('htmlFor');
				if (forval == 'lookingfor_age_lower') {
					lbl[j].style.display = 'none';
					lbl[j].style.visibility = 'hidden';
				}
			}
		}
	}

	if (!(jQuery("#lookingfor_age_upper"))) {
		return true;
	}
	ageupper = jQuery("#lookingfor_age_upper");
	for (k = 0; k < ageupper.length; k++) {
		ageupper[k].options.length = 0;
		for (a = intAgeLower; a < intAgeUpper; a++) {
			addoption = document.createElement("option");
			addoption.setAttribute("value", a);
			disp = document.createTextNode(a);
			addoption.appendChild(disp);
			ageupper[k].appendChild(addoption);
		}
		ageupper[k].lastChild.selected = 'selected';
	}

	if (!(jQuery("#LookingFor_Age_Upper"))) {
		return true;
	}
	ageupper = jQuery("#LookingFor_Age_Upper");
	for (k = 0; k < ageupper.length; k++) {
		ageupper[k].options.length = 0;
		for (a = intAgeLower; a < intAgeUpper; a++) {
			addoption = document.createElement("option");
			addoption.setAttribute("value", a);
			disp = document.createTextNode(a);
			addoption.appendChild(disp);
			ageupper[k].appendChild(addoption);
		}
		ageupper[k].lastChild.selected = 'selected';
	}
	return true;
}

function changeLinks(alternativeText, alternativeLink, hrefToReplace) {
	var m = 0;
	if (!document.getElementsByTagName('a')) {
		return true;
	}
	arLinks = document.getElementsByTagName('a');
	for (m = 0; m < arLinks.length; m++) {
		thislink = arLinks[m];
		linkhref = thislink.getAttribute('href');
		if (linkhref.indexOf(hrefToReplace) > 0) {
			var linkparent = thislink.parentNode;
			var strNewText = alternativeText;
			var strNewLink = alternativeLink;
			var newatag = document.createElement('a');
			newatag.setAttribute('href', strNewLink);
			newatag.appendChild(document.createTextNode(strNewText));
			linkparent.replaceChild(newatag, linkparent.firstChild);
		}
		else if (linkhref.indexOf('whosonline&type=live') > 0) {
			var strNewLink = 'newfriends.aspx?wci=whosonline&type=1';
			thislink.setAttribute('href', strNewLink);
		}
		else if (linkhref.indexOf('whosonline&type=3') > 0 || linkhref.indexOf('whosonline&type=4') > 0 || linkhref.indexOf('whosonline&type=2') > 0) {
			var linkparent = thislink.parentNode;
			linkparent.style.display = 'none';
		}
	}
	return true;
}

function changeAdvancedsearch(whichfield, fieldvalue) {
	var g = 0;
	var f = 0;
	if (document.location.href.toLowerCase().indexOf('searchresults') > 0) {
		document.searchform.searchtype.value = 'full';
	}
	var arFields = fieldvalue.split(',');
	arInputs = getElementsByName_iefix('input', whichfield);
	for (g = 0; g < arInputs.length; g++) {
		input = arInputs[g];
		if (input.type == 'checkbox') {
			for (f = 0; f < arFields.length; f++) {
				eachvalue = arFields[f];
				if (input.value == eachvalue) {
					input.checked = 'checked';
				}
			}
		}
	}
}

function changeRegEditMaritalStatus() {
	if (!document.getElementById("maritalstatus")) {
		return false;
	}
	var mStatus = document.getElementById("maritalstatus");
	var aOptions = mStatus.getElementsByTagName("option");
	var i = 0;
	for (i = 0; i < aOptions.length; i++) {
		if (aOptions[i]) {
			var nVal = aOptions[i].value;
			var bVal = nVal == 2 ? true : nVal == 4 ? true : nVal == 64 ? true : false;
			if (bVal == true) {
				aOptions[i].innerHTML = "";
				mStatus.removeChild(aOptions[i]);
				i--;
			}
			bVal = false;
		}
	}
	return true;
}

function changeRegEditChildrenHave() {
	if (!document.getElementById("children_have")) {
		return false;
	}
	var i = 0;
	var cHave = document.getElementById("children_have");
	var aOptions = cHave.getElementsByTagName("option");
	for (i = 0; i < aOptions.length; i++) {
		if (aOptions[i]) {
			var nVal = aOptions[i].value;
			var bVal = nVal == 1 ? true : nVal == 16 ? true : false;
			if (bVal == true) {
				aOptions[i].innerHTML = "";
				cHave.removeChild(aOptions[i]);
				i--;
			}
			bVal = false;
		}
	}
	return true;
}

function changeRegEditWantChildren() {
	if (!document.getElementById("children_want")) {
		return false;
	}
	var i = 0;
	var cHave = document.getElementById("children_want");
	var aOptions = cHave.getElementsByTagName("option");
	for (i = 0; i < aOptions.length; i++) {
		if (aOptions[i]) {
			var nVal = aOptions[i].value;
			var bVal = nVal == 16 ? true : false;
			if (bVal == true) {
				aOptions[i].innerHTML = "";
				cHave.removeChild(aOptions[i]);
				i--;
			}
			bVal = false;
		}
	}
	return true;
}

function checkCheckboxesSPF() {
	var aInputs = this.parentNode.parentNode.getElementsByTagName("input");
	var nChecked = 0;
	var i = 0;
	for (i = 0; i < aInputs.length; i++) {
		if (aInputs[i].checked == true) {
			nChecked++;
		}
	}
	if (nChecked == 0) {
		this.checked = true;
	}
}

function changeSearchMaritalStatus() {
	if (!document.getElementById("marital")) {
		return false;
	}
	var i = 0;
	var mStatus = document.getElementById("marital");
	var aInput = mStatus.getElementsByTagName("input");
	for (i = 0; i < aInput.length; i++) {
		if (aInput[i]) {
			var nVal = aInput[i].value;
			var bVal = nVal == 2 ? true : nVal == 4 ? true : nVal == 64 ? true : false;
			if (bVal == true) {
				mStatus.removeChild(aInput[i].parentNode);
				i--;
			}
			bVal = false;
		}
	}
	var nChecked = 0;
	for (i = 0; i < 4; i++) {
		if (aInput[i].checked == true) {
			nChecked++;
		}
		Core.addEventListener(aInput[i], "click", checkCheckboxesSPF, false);
	}
	if (nChecked == 0) {
		aInput[0].checked = true;
	}
	return true;
}

function changeSearchChildrenHave() {

	if (!document.getElementById("Children")) {
		return false;
	}
	var i = 0;
	var cHave = document.getElementById("Children");
	var aInput = cHave.getElementsByTagName("input");
	for (i = 0; i < aInput.length; i++) {

		if (aInput[i]) {
			var nVal = aInput[i].value;
			var bVal = nVal == 1 ? true : nVal == 16 ? true : false;

			if (bVal == true) {
				cHave.removeChild(aInput[i].parentNode);
				i--;
			}
			bVal = false;
		}
	}
	var nChecked = 0;
	for (i = 0; i < 3; i++) {
		if (aInput[i].checked == true) {
			nChecked++;
		}
		Core.addEventListener(aInput[i], "click", checkCheckboxesSPF, false);
	}
	if (nChecked == 0) {
		aInput[0].checked = true;
	}
	return true;
}

function applyNicheModifications(){
	switch(templateSkin){
		case '_smd' :
			changeSplashSearchAge(18,31);
			changeQuickSearchAge(20);
			Niche.changeSearchAge(18,31);
			changeLinks('Subscribe ','payment.aspx?wci=paymentchoice&chosen=Y','photogallery');
			changeLinks('Subscribe ','payment.aspx?wci=paymentchoice&chosen=Y','successstories');
			break;
		case '_o50' :
			changeSplashSearchAges(50,99);
			changeQuickSearchAge(50);
			Niche.changeSearchAge(50,99);
			break;
		case "_spf" :
			changeRegEditChildrenHave();
			changeRegEditMaritalStatus();
			changeRegEditWantChildren();
			changeSearchChildrenHave();
			changeSearchMaritalStatus();
			break;
	}
}

addLoadEvent(applyNicheModifications);


