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){
		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);
		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);
			}
		}
	},

	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 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(intAgeLower){
	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);
}

function changeSplashSearchAges(intAgeLower,intAgeUpper){
    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';
	}
}

function changeLinks(alternativeText,alternativeLink,hrefToReplace){
	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';
		}
	}
}

function changeAdvancedsearch(whichfield,fieldvalue){
	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");
	for (var 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;
		}
	}
}

function changeRegEditChildrenHave(){
	if (!document.getElementById("children_have")){return false;}
	var cHave = document.getElementById("children_have");
	var aOptions = cHave.getElementsByTagName("option");
	for (var 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;
		}
	}
}

function changeRegEditWantChildren(){
	if (!document.getElementById("children_want")){return false;}
	var cHave = document.getElementById("children_want");
	var aOptions = cHave.getElementsByTagName("option");
	for (var 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;
		}
	}
}

function checkCheckboxesSPF(){
	var aInputs = this.parentNode.parentNode.getElementsByTagName("input");
	var nChecked = 0;
	for (var 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 mStatus = document.getElementById("marital");
	var aInput = mStatus.getElementsByTagName("input");
	for (var 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 (var 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;}
}

function changeSearchChildrenHave(){

	if (!document.getElementById("Children")){return false;}

	var cHave = document.getElementById("Children");
	var aInput = cHave.getElementsByTagName("input");
	for (var 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 (var 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;}
}

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;
		break;	
	}
}

addLoadEvent(applyNicheModifications);

