this.name = "main";

function openChatWindow(room, auth)
{
    chatWindow = window.open('http://www.metrodate.com/chat2/' + room + '/' + auth + '/','MetrodateChat','width=728,height=555,resizable=1,scrollbars=no,menubar=no,status=yes');
    if (window.focus)
    	chatWindow.focus();
    return false;
}
function openViewProfileWindow(id)
{
    viewProfile = window.open('http://www.metrodate.com/asp/profile.asp?id=' + id + '&nw=1','Profile','');
    if (window.focus)
    	viewProfile.focus();
    return false;
}
function openInterestedHelpWindow()
{
    interestedHelpWindow = window.open('http://www.metrodate.com/asp/interestedhelp.asp','InterestedHelp','width=570,height=500,resizable=1,scrollbars=yes,menubar=no,status=no');
    if (window.focus)
    	interestedHelpWindow.focus();
    return false;
}
function openMemberIdSuggestionsWindow()
{
    memberIdSuggestions = window.open('http://www.metrodate.com/asp/usernamesuggestions.aspx','UsernameSuggestions','width=570,height=500,resizable=1,scrollbars=yes,menubar=no,status=no');
    if (window.focus)
    	memberIdSuggestions.focus();
    return false;
}

function validateHeight2(theField,shouldUpdate)
{
	if (navigator.appName.indexOf("WebTV") != -1)
		return true;
	var res = true;
	var val = String(theField.value).toUpperCase();
	var x = trimNumber(val);

	if (val.indexOf("'") != -1 || val.indexOf("\"") != -1)
	{
		var inches = feetStrToInches(theField.value);
		x = inchesToFeetStr(inches);
	}
	else if (val.indexOf("C") != -1 || x > 300)
		x =  x + "cm";
	else if (val.indexOf("M") != -1 || x%1 != 0)
		x =  (x*100) + "cm";
	else
	{
		var inches = feetStrToInches(theField.value);
		x = inchesToFeetStr(inches);
	}
	if (shouldUpdate)
		theField.value = x;
	return res;
}

function validateHeight3(theField, isEnglish)
{
	if (navigator.appName.indexOf("WebTV") != -1)
		return true;
	var val = String(theField.value).toUpperCase();
	var x = trimNumber(val);

	if (val.indexOf("'") != -1 || val.indexOf("\"") != -1)
	{
		var inches = feetStrToInches(theField.value);
		x = inchesToFeetStr(inches);
	}
	else if (val.indexOf("C") != -1)
		x =  x + "cm";
	else if (val.indexOf("M") != -1)
		x =  (x*100) + "cm";
	// meters
	else if (x < 3)
	{
		x = (x*100) + 'cm';
		if (x.indexOf('.') != -1)
		{
			x = x.substring(0, x.indexOf('.')) + 'cm';
		}
	}

	// feet
	else if (x < 10)
	{
		x = inchesToFeetStr(x * 12.0);
		if (x.indexOf('.') != -1)
		{
			x = x.substring(0, x.indexOf('.')) + '"';
		}
	}

	// inches
	else if (x < 90)
	{
		x = inchesToFeetStr(x);
		if (x.indexOf('.') != -1)
		{
			x = x.substring(0, x.indexOf('.')) + '"';
		}
	}

	// cm
	else
	{
		x = x + 'cm';
	}
	theField.value = x;
	return true;
}

function feetStrToInches(str)
{
	if (str == null || str == "")
		return 0;
	var newStr = "";
	var isFirstSeperatorFound = false;
	for (var i = 0; i<str.length; i++)
	{
		var c = str.charAt(i);
		if (c >= '0' && c <= '9')
			newStr+= c;
		else if (newStr != "" && !isFirstSeperatorFound)
		{
			newStr+= "'";
			isFirstSeperatorFound = true;
		}
	}
	if (newStr == "")
		return 0;
	var inches = 0;
	var ftMarkLoc = newStr.indexOf("'");
	if (ftMarkLoc != -1)
	{
		var feetStr = newStr.substr(0,ftMarkLoc);
		if (feetStr != "")
			inches = parseInt(feetStr) * 12;
	}
	var inchStr = newStr.substr(ftMarkLoc+1,newStr.length);
	if (inchStr != "" && !isNaN(inchStr))
		inches += parseInt(inchStr);
	if (isNaN(inches)) inches = 0;
	if (inches <= 11 && ftMarkLoc == -1)
		inches *= 12;
	return inches;
}

function inchesToFeetStr(inches)
{
	if (isNaN(inches) || inches == 0)
		return "";
	inch = inches % 12;
	feet = (inches - inch) / 12;
	feetStr = String(feet) + "'" + inch + "\"";

	return feetStr;
}

function trimNumber(str)
{
	var x = "";
	var isDecimal = false;
	var isPercent = false;
	var c;
	for (var i=0; i < str.length; i++)
	{
		c = str.charAt(i);
		if (c >= '0' && c <= '9')
			x+= c;
		else if (c == '%')
			isPercent = true;
		else if (c == '.' && !isDecimal)
		{
			isDecimal = true;
			x+= c;
		}
	}
	if (x != "")
	{
		x = parseFloat(x);
		if (isNaN(x))
			x = "";
		else if (isPercent == true)
			x/=100;
	}
	return x;
}

function stripCharsNotInBag(s, bag)
{
	var i,c;
	var ret = "";

	for (i = 0; i < s.length; i++)
	{
		c = s.charAt(i);
		if (bag.indexOf(c) != -1) ret += c;
	}
	return ret;
}

function trim(strInput)
{
	var objRegex = new RegExp("(^\\s+)|(\\s+$)");
	var strResult = strInput.replace(objRegex, "");
	return(strResult);
}

function findPosX(obj)
{
	var curleft = 0;
	if(obj.offsetParent)
		while(1)
		{
			curleft += obj.offsetLeft;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	else if(obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
			curtop += obj.offsetTop;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}

// Block unintended backspaces to stop people from accidentally going back
// based on: http://mspeight.blogspot.com/2007/05/how-to-disable-backspace-in-ie-and.html
if (typeof window.event != 'undefined') // IE
	document.onkeydown = function() // IE
	{
		var t = event.srcElement.type;
		var kc = event.keyCode;
		return (kc != 8 || t == 'text' || t == 'password' || t == 'textarea');
	}
else
	document.onkeypress = function(e)  // FireFox/Others
	{
		var t = e.target.type;
		var kc = e.keyCode;
		if (kc != 8 || t == 'text' || t == 'password' || t == 'textarea')
        	return true;
		else
			return false;
	}

function GoToFirstChildLink(elem)
{
	for (var z=0; z < elem.childNodes.length; z++)
		if (elem.childNodes[z].nodeName.toLowerCase() == 'a')
			document.location.href = elem.childNodes[z].href;
		else
			GoToFirstChildLink(elem.childNodes[z]);
}

function Get(o) { return document.getElementById(o); }

function GetScreenCenteredX(itemWidth)
{
    if (navigator.userAgent && navigator.userAgent.toLowerCase().indexOf("iphone") >= 0) return 10;
    
    var screenWidth  = document.body.clientWidth
    var scrollOffset = document.all ? ((document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body).scrollLeft : pageXOffset;
	return Math.floor((screenWidth - itemWidth) / 2 + scrollOffset);
}

function GetScreenCenteredY(itemHeight)
{
    if (navigator.userAgent && navigator.userAgent.toLowerCase().indexOf("iphone") >= 0) return 10;

    var screenHeight = document.documentElement.clientHeight;
	var scrollOffset = document.all ? ((document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body).scrollTop : pageYOffset;
	return Math.floor(((screenHeight - itemHeight) / 2) + scrollOffset);
}

function SubmitOnEnter(e, actionToDo) {
	var keynum;

    if (!e) var e = window.event;
	if(window.event) keynum = e.keyCode; // IE
	else if(e.which) keynum = e.which;   // Netscape/Firefox/Opera

	if (keynum == 13) {
		actionToDo();
		return false;
	}

	return true;
}

function CaptureEvent(e) {
    if (!e) var e = window.event;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
}

function ClearChildNodes(elem)  {
    while (elem.hasChildNodes())
        elem.removeChild(elem.firstChild);
}

function ParseCharEntities(str) {
	var e = document.createElement("div");
	e.innerHTML = str;
	return e.innerHTML;
}

//--------------------------------------------------
// Functions for accessing cookies in JavaScript
// adapted from:
// http://www.quirksmode.org/js/cookies.html
//
function CreateCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

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 "";
}

function EraseCookie(name) {
	CreateCookie(name,"",-1);
}