function checkYourCompatability(noPrefValue, yourAnswer, myAnswer)
{
	//alert("noPrefValue=" + noPrefValue + ", yourAnswer=" + yourAnswer + ", myAnswer=" + myAnswer)
	var myvar;
	
	if(yourAnswer == noPrefValue) myvar = "YES";
	else if(myAnswer == noPrefValue || yourAnswer & myAnswer || noPrefValue & myAnswer) {
		myvar = "YES";
		//profile has no preference, automatic match
		//or direct match
	}
	//i did not answer
	else if(yourAnswer == 0 || myAnswer == 0 || myAnswer == "") myvar = "NA";
	else if(yourAnswer != myAnswer) {
		myvar = "NO";
		//not a match
	}

	return myvar;
}


function checkMyCompatability(noPrefValue, myAnswer, itemAnswer)
{
	//alert("noPrefValue=" + noPrefValue + ", myAnswer=" + myAnswer + ", itemAnswer=" + itemAnswer)
	var myvar;

	if(itemAnswer == noPrefValue || myAnswer == itemAnswer || itemAnswer & myAnswer) {
		myvar = "YES";
		//profile has no preference, automatic match
		//or direct match
	}
	//if i have no answer or my answer is prefer not to answer
	else if(myAnswer == 0 || itemAnswer == 0 || myAnswer == "" || myAnswer == noPrefValue) myvar = "NA";
	else if(myAnswer != itemAnswer) {
		myvar = "NO";
		//not a match
	}

	return myvar;
}

function checkHeightCompatibility(compareFeet, compareInches, feetFrom, inchesFrom, feetTo, inchesTo)
{
	//alert("compareFeet=" + compareFeet + ", compareInches=" + compareInches + ", feetFrom=" + feetFrom + ", inchesFrom=" + inchesFrom + ", feetTo=" + feetTo + ", inchesTo=" + inchesTo)
	var myvar;
	
	if (isNaN(parseInt(compareInches)) || isNaN(parseInt(feetFrom)) || compareFeet == 0 || feetFrom == 0) myvar = "NA";
	
	else 
	{	
		var totalCompare = parseInt(compareFeet) * 12 + parseInt(compareInches);
		var rangeLow = parseInt(feetFrom) * 12 + parseInt(inchesFrom);
		var rangeHi = parseInt(feetTo) * 12 + parseInt(inchesTo);

		if (totalCompare >= rangeLow && totalCompare <= rangeHi) myvar = "YES";
		else myvar = "NO";
	}
	return myvar;
}

function checkAgeCompatibility(compareAge, ageFrom, ageTo)
{
	//alert("compareAge=" + compareAge + ", ageFrom=" + ageFrom + ", ageTo=" + ageTo);
	var myvar;
	
	if (compareAge == "" || ageFrom == "" || ageTo == "") myvar = "NA";
	else if (compareAge == 0 || ageFrom == 0 || ageTo == 0) myvar = "NA";
	else if (isNaN(parseInt(compareAge)) || isNaN(parseInt(ageFrom)) || isNaN(parseInt(ageTo))) myvar = "NA";
	else 
	{	
		if (compareAge >= ageFrom && compareAge <= ageTo) myvar = "YES";
		else myvar = "NO";
	}
	return myvar;
}

function alertRace(val1, val2, val3)
{
	alert("nopref=" + val1 + ", myanswer=" + val2 + ", youranswer=" + val3);
}



function checkLocationCompatibility(distanceForCalculation, latRadsForCalculation, lonRadsForCalculation, latRadsToCheck, lonRadsToCheck)
{
	var myvar;
	//alert("distanceForCalculation=" + distanceForCalculation + ", latRadsForCalculation=" + latRadsForCalculation + ", lonRadsForCalculation=" + lonRadsForCalculation + ", latRadsToCheck=" + latRadsToCheck + ", lonRadsToCheck=" + lonRadsToCheck)
	
	with(Math){
        dist_rad = distanceForCalculation * PI/(10800) //(180*60)
		lat_diff = asin(sin(latRadsForCalculation) * cos(dist_rad) + cos(latRadsForCalculation) * sin(dist_rad) * cos(0.71791018216434066))
		lon_dif = (abs(lonRadsForCalculation) - asin(sin(0.71791018216434066) * sin(dist_rad) / cos(lat_diff)))
		lon_dif = abs(lonRadsForCalculation) - lon_dif

		lat_diff_2 = asin(sin(latRadsForCalculation) * cos(dist_rad) + cos(latRadsForCalculation) * sin(dist_rad) * cos(2.307))
		lon_dif_2 = (abs(lonRadsForCalculation) - asin(sin(2.307) * sin(dist_rad) / cos(lat_diff)))
		lon_dif_2 = abs(lonRadsForCalculation) - lon_dif_2

		lat_diff = abs(latRadsForCalculation - lat_diff)
		lat_diff_2 = abs(latRadsForCalculation - lat_diff_2)
	} // end with

	//alert("distanceForCalculation=" + distanceForCalculation + ", lat diff=" + lat_diff + ", lat_diff 2=" + lat_diff_2 + ", lat to check=" + latRadsToCheck);
	if (isNaN(distanceForCalculation) || isNaN(latRadsForCalculation) || isNaN(lonRadsForCalculation) || isNaN(latRadsToCheck) || isNaN(lonRadsToCheck)) 
	{
		myvar = "NA";
	}
	else {
		var latMin1 = latRadsForCalculation - lat_diff;
		var latMax1 = (latRadsForCalculation - 0) + (lat_diff - 0);
		var lonMin1 = lonRadsForCalculation - lon_dif;
		var lonMax1 = (lonRadsForCalculation - 0) + (lon_dif - 0);
		
		var latMin2 = latRadsForCalculation - lat_diff_2;
		var latMax2 = (latRadsForCalculation - 0) + (lat_diff_2 - 0);
		var lonMin2 = lonRadsForCalculation - lon_dif_2;
		var lonMax2 = (lonRadsForCalculation - 0) + (lon_dif_2 - 0);
		
		//alert("latRadsToCheck=" + latRadsToCheck + ", latmin=" + latMin1 + ", latmax=" + latMax1)
		//alert(latRadsToCheck >= latMin1 && latRadsToCheck <= latMax1);
		//alert("lonRadsToCheck=" + lonRadsToCheck + ", lonmin=" + lonMin1 + ", lonmax=" + lonMax1)
		//alert(lonRadsToCheck >= lonMin1 && lonRadsToCheck <= lonMax1)
		if((latRadsToCheck >= latMin1 && latRadsToCheck <= latMax1) && (lonRadsToCheck >= lonMin1 && lonRadsToCheck <= lonMax1)) myvar = "YES";
		else if ((latRadsToCheck >= latMin2 && latRadsToCheck <= latMax2) && (lonRadsToCheck >= lonMin2 && lonRadsToCheck <= lonMax2)) myvar = "YES";
		else myvar = "NO";
	}
	
	return myvar;
}

function testvals(val1, val2)
{
	alert("val1=" + val1 + ", val2=" + val2);
	alert("val1 in val2? " + val1 & val2);
}