function prefillSearch()
{
	if(document.frmQuickbrowse)
	{
	  	var iGender = readCookie('iGender'); //my gender
		var sGender = readCookie('sGender'); //gender seeking
		var ageFrom = readCookie('ageFrom');
		var ageTo = readCookie('ageTo');
		var sZip = readCookie('sZip');

 		if(iGender == null) iGender = readSubCookie("Gender","Member_Info");
		if(sGender == null) sGender = readSubCookie("Gender_Seeking","Member_Info");
		if(ageFrom == null || ageFrom == 0) ageFrom = readSubCookie("minAge","Member_Info");
		if(ageTo == null || ageTo == 0) ageTo = readSubCookie("maxAge","Member_Info");
		if(sZip == null) sZip = readSubCookie("Zip","Member_Info");
	
 		if(iGender == null) iGender = "F";
		if(sGender == null) sGender = "M";
		if(ageFrom == null || ageFrom == 0) ageFrom = 25;
		if(ageTo == null || ageTo == 0) ageTo = 40;
		if(sZip == null) sZip = "";
	
		for(var i=0;i < document.frmQuickbrowse.selGender.length;i++)
		{
			if(document.frmQuickbrowse.selGender[i].value == iGender) 
				document.frmQuickbrowse.selGender[i].selected = true;
		}
		
		for(var i=0;i < document.frmQuickbrowse.selGenderSeek.length;i++)
		{
			if(document.frmQuickbrowse.selGenderSeek[i].value == sGender) 
				document.frmQuickbrowse.selGenderSeek[i].selected = true;
		}
		
		if(document.frmQuickbrowse.selAgeMin.length)
		{
			for(var i=0;i < document.frmQuickbrowse.selAgeMin.length;i++)
			{
				if(document.frmQuickbrowse.selAgeMin[i].value == ageFrom) 
					document.frmQuickbrowse.selAgeMin[i].selected = true;
			}
		}
		else
		{
			document.frmQuickbrowse.selAgeMin.value = ageFrom;
		}
	
		if(document.frmQuickbrowse.selAgeMin.length)
		{
			for(var i=0;i < document.frmQuickbrowse.selAgeMax.length;i++)
			{
				if(document.frmQuickbrowse.selAgeMax[i].value == ageTo) 
					document.frmQuickbrowse.selAgeMax[i].selected = true;
			}
		}
		else
		{
			document.frmQuickbrowse.selAgeMax.value = ageTo;
		}
		
		if(document.frmQuickbrowse.txtPostalCode.value == "") document.frmQuickbrowse.txtPostalCode.value = sZip;
	}
}


function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function readSubCookie(name,subname)
{
	var nameEQ = name + "=";
	var ck = document.cookie.split(';');
	for(var i=0;i < ck.length;i++)
	{
		if (ltrim(ck[i]).indexOf(subname) == 0)
		{
			var subcookie = ck[i].split('&');
			for(var j=0;j < subcookie.length;j++)
			{
				var c = subcookie[j];	
				while (c.charAt(0)==' ') c = c.substring(1,c.length);		
				if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
			}
		}
	}
	return null;
}

function ltrim(str) { 
	for(var k = 0; k < str.length && isWhitespace(str.charAt(k)); k++);
	return str.substring(k, str.length);
}

function isWhitespace(charToCheck) {
	var whitespaceChars = " \t\n\r\f";
	return (whitespaceChars.indexOf(charToCheck) != -1);
}

// ********************************

var imgObj = new Image()

function setImgObj(thisImg) {
	imgObj = thisImg
	imgObj.src = '/images/btn_searching.gif';
}

function redirect2Cancel(){
	document.frmQuickbrowse.action = "find-a-date.aspx"
	document.frmQuickbrowse.submit();
}

function redirect2SubmitSearch(){
	var selAgeMin
	var selAgeMax
	var selMiles

	var form = document.frmQuickbrowse

	if (form.selAgeMin.type == 'select-one') {
		selAgeMin = form.selAgeMin.options[form.selAgeMin.selectedIndex].value;
	} else {
		selAgeMin = form.selAgeMin.value;
	}

	if (form.selAgeMax.type == 'select-one') {
		selAgeMax = form.selAgeMax.options[form.selAgeMax.selectedIndex].value;
	} else {
		selAgeMax = form.selAgeMax.value;
	}
		
	if (form.selMiles.type == 'select-one') {
		selMiles = form.selMiles.options[form.selMiles.selectedIndex].value;
	} else {
		selMiles = form.selMiles.value;
	}

	var Query =  "selGender=" + form.selGender.options[form.selGender.selectedIndex].value +
				 "&selGenderSeek=" + form.selGenderSeek.options[form.selGenderSeek.selectedIndex].value +
				 "&selAgeMin=" + selAgeMin + 
				 "&selAgeMax=" + selAgeMax + 
//				 "&selMiles=" + form.selMiles.options[form.selMiles.selectedIndex].value + 
				 "&selMiles=" + selMiles + 
				 "&rdoPhotos=" + form.rdoPhotos.value + 
				 "&txtPostalCode=" + form.txtPostalCode.value;
	document.frmQuickbrowse.action = "_profile_search.aspx?" + Query;
	document.frmQuickbrowse.submit();
}

 function browse()
 {  
    window.location.href="members.aspx?pagename=A5"       
 }
 
 
 function SubmitMe(submitImage)
{
	return (checkLengthZipQS(submitImage));
}

function ValidateMeSearch(submitImage)
{
	submitImage = imgObj;
	
	if (checkLengthZipQS(submitImage)) {
		var selAgeMin
		var selAgeMax
		var selMiles
	
		//var qsform = document.frmQuickbrowse

		if (document.frmQuickbrowse.selAgeMin.type == 'select-one') {
			selAgeMin = document.frmQuickbrowse.selAgeMin.options[document.frmQuickbrowse.selAgeMin.selectedIndex].value;
		} else {
			selAgeMin = document.frmQuickbrowse.selAgeMin.value;
		}

		if (document.frmQuickbrowse.selAgeMax.type == 'select-one') {
			selAgeMax = document.frmQuickbrowse.selAgeMax.options[document.frmQuickbrowse.selAgeMax.selectedIndex].value;
		} else {
			selAgeMax = document.frmQuickbrowse.selAgeMax.value;
		}
		
		if (document.frmQuickbrowse.selMiles.type == 'select-one') {
			selMiles = document.frmQuickbrowse.selMiles.options[document.frmQuickbrowse.selMiles.selectedIndex].value;
		} else {
			selMiles = document.frmQuickbrowse.selMiles.value;
		}

		var Query =  "selGender=" + document.frmQuickbrowse.selGender.options[document.frmQuickbrowse.selGender.selectedIndex].value +
					 "&selGenderSeek=" + document.frmQuickbrowse.selGenderSeek.options[document.frmQuickbrowse.selGenderSeek.selectedIndex].value +
					 "&selAgeMin=" + selAgeMin + 
					 "&selAgeMax=" + selAgeMax + 
//					 "&selMiles=" + document.frmQuickbrowse.selMiles.options[document.frmQuickbrowse.selMiles.selectedIndex].value + 
					 "&selMiles=" + selMiles +
					 "&rdoPhotos=" + document.frmQuickbrowse.rdoPhotos.value + 
					 "&txtPostalCode=" + document.frmQuickbrowse.txtPostalCode.value;
//		document.frmQuickbrowse.action = "/quick_search.aspx?" + Query;
//		document.frmQuickbrowse.submit();
		return true;
	}
	else {
		return false;
	}
}	

/*generic postal code check for canada and US
returns true if not valid
requires postal code as string
added owen t 4-19-05
modified 4/28/05*/
function notValidZip(postalcode)
//make all upperscase first so R.E 
   {  postalcode = postalcode.toUpperCase()

      var expression = "^[0-9]{5}-[0-9]{4}$|^[0-9]{5}$|^[A-Z][0-9][A-Z]\\s[0-9][A-Z][0-9]$|^[A-Z][0-9][A-Z][0-9][A-Z][0-9]$" //regular expression for US zip and Canada zip
      var varPostalExpression = new RegExp(expression); //instatiate new reg expression object
	  var matched = varPostalExpression.test(postalcode) //test the postal code against expression
	
	  if(!matched)
	     {
			// now test to see if it is a city/state combo
			expression = "^[a-zA-Z\\.\\'\\-\\s]+[\\,\\s]+[a-zA-Z]{2}$"
			varPostalExpression = new RegExp(expression)
			matched = varPostalExpression.test(postalcode)
			if(!matched){
		       return true; //not valid postal code
		    } else {
				return false;
			}
		 }
		 else
		 {
		   return false; //valid postal code
		 }
   }



 function checkLengthZipQS(submitImage)
 {
 
	var errmsg = '';
		
	if( document.frmQuickbrowse.selAgeMin.value == '' || document.frmQuickbrowse.selAgeMax.value == '')
		{
		
		errmsg += "Please enter a valid age range.\n";
		
		}
	else
	{
		var minage = document.frmQuickbrowse.selAgeMin.value 
		var maxage = document.frmQuickbrowse.selAgeMax.value 

		//var form = document.frmQuickbrowse
		if (document.frmQuickbrowse.selAgeMin.type == 'select-one') {
				minage = document.frmQuickbrowse.selAgeMin.options[document.frmQuickbrowse.selAgeMin.selectedIndex].value;
			} else {
				minage = document.frmQuickbrowse.selAgeMin.value;
			}

			if (document.frmQuickbrowse.selAgeMax.type == 'select-one') {
				maxage = document.frmQuickbrowse.selAgeMax.options[document.frmQuickbrowse.selAgeMax.selectedIndex].value;
			} else {
				maxage = document.frmQuickbrowse.selAgeMax.value;
			}
			
			if (minage > maxage || isNaN(minage) || isNaN(maxage))
			errmsg += "Your age criteria is incorrect.\n";	  	  
	}

	
	var handleLengthZip;
	
	if (document.frmQuickbrowse.txtPostalCode == null)
	{
		errmsg += "Please enter a zip/postal code.\n";
	}
	else
	{
		
		document.frmQuickbrowse.txtPostalCode.value = Trim(document.frmQuickbrowse.txtPostalCode.value)
		handleLengthZip = document.frmQuickbrowse.txtPostalCode.value;
		if (notValidZip(Trim(document.frmQuickbrowse.txtPostalCode.value))) {
			errmsg += "Please enter a valid zip/postal code.\n";
			document.frmQuickbrowse.txtPostalCode.style.backgroundColor='#ffffCC';
	}
	//else
	//{
		// Look for multiple spaces - we should have 1 and only 1 space in the UK postal code.		
	//	var iFirstSpaceIndex = handleLengthZip.indexOf(" ")
	//	var iLastSpaceIndex = handleLengthZip.lastIndexOf(" ") 
	//	if (!((iFirstSpaceIndex > 0) && (iFirstSpaceIndex == iLastSpaceIndex)))
	//		errmsg += "Please enter a valid postcode. Ensure that you only include one space!\n";	
     }
     
     
		
	
	
	if (errmsg != '')
		{
		    submitImage.src = '/images/btn_search_cupid.gif';
			alert ("Check Your Search Criteria:\n\n" + errmsg);
			return false;
		}
	else
		return true;	
	
}

// take out leading spaces
function Trim(sString)
{
	var iCounter=0;
	var OrigLen=sString.length;	
	while ( (sString.charAt(iCounter)==" ") && (iCounter < sString.length) )
		iCounter++;
	if (iCounter != 0)
		 sString = sString.substring(iCounter,OrigLen);
	while (sString.charAt(sString.length-1)==" ")
		sString=sString.substring(0,sString.length-1)
	return sString;
}

//*****************************************************

function getRandomNumber()
{
	var ran = Math.round(Math.random()*50);
	var now=new Date();
	var num=Math.round(Date.UTC(now.getYear(), now.getMonth(), now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds(), now.getMilliseconds())*ran);
	return num;
}


function LTrim(str)
/*
   PURPOSE: Remove leading blanks from our string.
   IN: str - the string we want to LTrim
*/
{
   var whitespace = new String(" \t\n\r");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(0)) != -1) {
      // We have a string with leading blank(s)...

      var j=0, i = s.length;

      // Iterate from the far left of string until we
      // don't have any more whitespace...
     while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;

      // Get the substring from the first non-whitespace
      // character to the end of the string...
      s = s.substring(j, i);
   }
   return s;
}

//*****************************************************
// PreDating event search form js below
//*****************************************************

function checkPDZip()
{
	var errmsg = '';
	var handleLengthZip;
	
	if (document.pdbyzip.zip_code == null)
	{
		errmsg += "Please enter a zip/postal code.\n";
	}
	else
	{
		document.pdbyzip.zip_code.value = Trim(document.pdbyzip.zip_code.value)
		handleLengthZip = document.pdbyzip.zip_code.value;
		if (notValidZip(Trim(document.pdbyzip.zip_code.value))) 
		{
			errmsg += "Please enter a valid zip/postal code.\n";
			document.pdbyzip.zip_code.style.backgroundColor='#ffffCC';
		}
	}

	if (errmsg != '')
	{
		alert (errmsg);
		return false;
	}
	
	else 
	{
		
		if(parent.iframe == undefined) 
		{
			window.document.pdbyzip.action = "/predating.aspx?pageName=locate";
		}
	return true;	
	}

}

// take out leading spaces
function Trim(sString)
{
	var iCounter=0;
	var OrigLen=sString.length;	
	while ( (sString.charAt(iCounter)==" ") && (iCounter < sString.length) )
		iCounter++;
	if (iCounter != 0)
		 sString = sString.substring(iCounter,OrigLen);
	while (sString.charAt(sString.length-1)==" ")
		sString=sString.substring(0,sString.length-1)
	return sString;
}

/*generic postal code check for canada and US
returns true if not valid
requires postal code as string
added owen t 4-19-05
modified 4/28/05*/

function notValidZip(postalcode)
{
	postalcode = postalcode.toUpperCase()
	//regular 	expression for US zip and Canada zip
	var expression = "^[0-9]{5}-[0-9]{4}$|^[0-9]{5}$|^[A-Z][0-9][A-Z]\\s[0-9][A-Z][0-9]$|^[A-Z][0-9][A-Z][0-9][A-Z][0-9]$" 	
	var varPostalExpression = new RegExp(expression); //instatiate new reg expression object
	var matched = varPostalExpression.test(postalcode) //test the postal code against expression
	
	if(!matched)
	{
		// now test to see if it is a city/state combo
		expression = "^[a-zA-Z\\.\\'\\-\\s]+[\\,\\s]+[a-zA-Z]{2}$"
		varPostalExpression = new RegExp(expression)
		matched = varPostalExpression.test(postalcode)
		if(!matched){
			return true; //not valid postal code
		} 
		else 
		{
			return false;
		}
	}
	else
	{
	return false; //valid postal code
	}
}
