//document.write('<script src="/search/lib/prototype.js" type="text/javascript" language="javascript"></script>');
//document.write('<script src="/search/lib/scriptaculous.js" type="text/javascript" language="javascript"></script>');
////document.write('<script src="/search/lib/general.js" type="text/javascript" language="javascript"></script>');
////document.write('<script src="/search/lib/ajax-autocomplete.js" type="text/javascript"></script>');
//document.write('<script type="text/javascript" language="JavaScript" src="/common/ajax/ajaxCustSearch.js"></script>');

var gCurGameMenu;
var gLastGameMenuHover=0;
var gTimGameMenu;

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ formatDollars()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function formatDollars(inNum){
	
	var num = new Number(inNum);
	//window.alert(num.toFixed(2));
	if (num.toFixed){	//make sure function is avail
		return num.toFixed(2);
	}else{
		return inNum;
	}
	
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ hlButton()
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function hlButton(inObj, inMode){
	if (inMode=='on'){
		inObj.className='frmButtonOver';
	}else{
		inObj.className='frmButton';
	}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ hlButtonSml()
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function hlButtonSml(inObj, inMode){
	if (inMode=='on'){
		inObj.className='frmButtonSmlOver';
	}else{
		inObj.className='frmButtonSml';
	}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ hlButtonSB()
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function hlButtonSB(inObj, inMode){
	if (inMode=='on'){
		inObj.className='frmButtonSBOver';
	}else{
		inObj.className='frmButtonSB';
	}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ hlFrmObj()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function hlFrmObj(inObj, inMode){
	//this is an old feature, needs to be removed
	//need to remove all references to this before
	//removing this function to avoid errors
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ valHeadLogin()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function valHeadLogin(){
	tmpObj=document.getElementById('txtUsername');
	if (tmpObj.value==''){
		window.alert('Please enter your username!');
		tmpObj.focus();
		return false;
	}
	tmpObj=document.getElementById('txtPassword');
	if (tmpObj.value==''){
		window.alert('Please enter your password!');
		tmpObj.focus();
		return false;
	}
	objForm=document.getElementById('frmHeadLogin');
	objForm.action='/members/login.php';
	objForm.submit();
	
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ ckHeadLogin()
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function ckHeadLogin(inEvent){
	if (inEvent.keyCode==13){
		valHeadLogin();
	}
	
}


var gEMenuMode='';
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ gToggleEMenu()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function gToggleEMenu(inMode){
	if (!gTRPHasLoaded){ return false; }
	
	if (gEMenuMode==inMode){
		gHideEMenu();
	}else{
		gShowEMenu(inMode);
		gEMenuMode=inMode;
	}
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ gShowEMenu()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function gShowEMenu(inMode){
	if (!gTRPHasLoaded){ return false; }
	
	if (gEMenuMode==inMode){
		return true;
	}
	
	gHideEMenu();
	
	switch (inMode){
	case 'myacct':
		document.getElementById('trpEMenuMyAcct').style.display='block';
		break;
	case 'myleagues':
		//document.getElementById('trpEMenuMyLeagues').style.display='block';
		break;
	case 'usermenu':
		document.getElementById('trpEMenuUserMenu').style.display='block';
		break;
	}
	
	
	baseLeft=findPosX(document.getElementById('iconEMenuAnchor'));
	newLeft= (baseLeft+30)-(180/2);
	
	menuHolder=document.getElementById('trpExtraMenu');
	menuHolder.style.left=newLeft+'px';
	menuHolder.style.display='block';
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ gHideEMenu()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function gHideEMenu(){
	
	if (document.getElementById('trpExtraMenu')){
		//hide menu display
		document.getElementById('trpExtraMenu').style.display='none';
		
		//hide all menu options
		document.getElementById('trpEMenuMyAcct').style.display='none';
		//document.getElementById('trpEMenuMyLeagues').style.display='none';
		document.getElementById('trpEMenuUserMenu').style.display='none';
		
		gEMenuMode='';
	}
	
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ hideTRPSearch()
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function hideTRPSearch(){
	//window.alert('hide search');
	
	objSearch=document.getElementById('current-search-results');
	
	if (objSearch){
		objSearch.style.display='none';
		objSearch.innerHTML='';
	}
	
	return false
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ showGMsg()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function showGMsg(inTitle, inMsg){
	
	//window.alert(document.getElementById('trpBodyBG').offsetHeight);
	
	document.getElementById('spnGMsgBody').innerHTML=inMsg;
	document.getElementById('spnGMsgTitle').innerHTML=inTitle;
	
	document.getElementById('spnGlobalMsgBG').style.height=document.getElementById('trpBodyBG').offsetHeight+'px';
	
	document.getElementById('spnGlobalMsgBG').style.display='block';
	document.getElementById('spnGlobalMsg').style.display='block';
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ closeGMsg()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function closeGMsg(inAns){
	//inAns should be either y or n
	
	document.getElementById('spnGlobalMsg').style.display='none';
	document.getElementById('spnGlobalMsgBG').style.display='none';
	
	//now call local script to handle answer
	localGMsgHandler(inAns);
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ gCancelSearch()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function gCancelSearch(){
//	if (ac){
//		ac.closeResults();
//	}
	
}


//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++
//++ the following code is used for the ajax member dropdown feature
//++
//++

var gAJOptionOver;

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ hlAJOption()
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function hlAJOption(inObj, inMode){
	if (gAJOptionOver){
		gAJOptionOver.className='ajOption';
	}
	
	gAJOptionOver=inObj;
	
	if (inMode=='on'){
		inObj.className='ajOptionOver';
	}else{
		inObj.className='ajOption';
	}
}


// ******************************************************************
// This function accepts a string variable and verifies if it is a
// proper date or not. It validates format matching either
// mm-dd-yyyy or mm/dd/yyyy. Then it checks to make sure the month
// has the proper number of days, based on which month it is.

// The function returns true if a valid date, false if not.
// ******************************************************************
function isDate(dateStr){
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?
	
	if (matchArray == null){
//		alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
		return false;
	}
	
	month = matchArray[1]; // p@rse date into variables
	day = matchArray[3];
	year = matchArray[5];
	
	if (month < 1 || month > 12) { // check month range
//		alert("Month must be between 1 and 12.");
		return false;
	}
	
	if (day < 1 || day > 31) {
//		alert("Day must be between 1 and 31.");
		return false;
	}
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
//		alert("Month "+month+" doesn`t have 31 days!")
		return false;
	}
	
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
//			alert("February " + year + " doesn`t have " + day + " days!");
			return false;
		}
	}
	
	return true; // date is valid
	
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ findPosX()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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;
  
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ findPosY()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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;
  
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ findPosW()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function findPosW(inObj){
	
//	if (gJSBrowserType=='op5'){
//		xPos = inObj.style.pixelWidth;
//	}else{
//		xPos = inObj.offsetWidth;
//	}
	
	xPos = inObj.offsetWidth;
	
	return xPos;
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ showGameMenu()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function showGameMenu(inParent, inDestMenu){
	
	if (gCurGameMenu){
		gCurGameMenu.style.display='none';
	}
	document.getElementById('divGameMenu').style.display='none';
	
	objDestMenu=document.getElementById(inDestMenu);
	gCurGameMenu=objDestMenu;
	
	tmpLeft=findPosX(inParent);
	//window.alert(tmpLeft);
	tmpTop=findPosY(inParent);
	tmpTop=parseInt(tmpTop)+22;
	//window.alert(tmpTop);
	
	objDestMenu.style.top=tmpTop+'px';
	objDestMenu.style.left=tmpLeft+'px';
	
	objDestMenu.style.display='block';
	
	hoverGameMenu();
	clearTimeout(gTimGameMenu);
	//gTimGameMenu=setTimeout('autoHideGameMenu()', 100);
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ hideGameMenu()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function hideGameMenu(){
	
	if (gCurGameMenu){
		gCurGameMenu.style.display='none';
		document.getElementById('divGameMenu').style.display='none';
		
	}
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ hoverGameMenu()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function hoverGameMenu(){
	
	tmpDate=new Date();
	gLastGameMenuHover=tmpDate.getTime();
	
	cancelAutoHide();
	
	//gTimGameMenu=setTimeout('autoHideGameMenu()', 100);
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ offGameMenu()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function offGameMenu(){
	
	if (gLastGameMenuHover==0){
		return false;
	}
//	if (gCurGameMenu!=inMenu){
//		return false;
//	}
	
	gTimGameMenu=setTimeout('autoHideGameMenu()', 500);
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ cancelAutoHide()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function cancelAutoHide(){
	
	clearTimeout(gTimGameMenu);
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ autoHideGameMenu()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function autoHideGameMenu(){
	
	if (gLastGameMenuHover==0){
		return false;
	}
	
	tmpDate=new Date();
	curTS=tmpDate.getTime();
	
	//window.alert(curTS+' - '+gLastGameMenuHover);
	if ((curTS-gLastGameMenuHover)>=1000){
		//window.alert('auto hide');
		clearTimeout(gTimGameMenu);
		hideGameMenu();
		gLastGameMenuHover=0;
		
	}else{
		gTimGameMenu=setTimeout('autoHideGameMenu()', 200);
	}
	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ showSubGameMenu()
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function showSubGameMenu(inParent, inGameKey, inGameType){
	
	objMenu=document.getElementById('divGameMenu');
	objMenu.style.display='none';
	
	document.getElementById('lnkGame1').href='/challenges/index.php?g='+inGameKey;
	document.getElementById('lnkGame2').href='/challenges/standings.php?g='+inGameKey;
	document.getElementById('lnkGame3').href='/challenges/createteam.php?g='+inGameKey;
	document.getElementById('lnkGame4').href='/challenges/reportloss.php?g='+inGameKey;
	document.getElementById('lnkGame5').href='/challenges/confirmwin.php?g='+inGameKey;
	document.getElementById('lnkGame6').href='/challenges/matchresults.php?g='+inGameKey;
	document.getElementById('lnkGame7').href='/challenges/creatematch.php?g='+inGameKey;
	document.getElementById('lnkGame8').href='/challenges/records.php?g='+inGameKey;
	document.getElementById('lnkGame9').href='/challenges/rules.php?g='+inGameKey;
	
	if (inGameType==1){
		//single game, no team links
		document.getElementById('lnkGame3').style.display='none';
		document.getElementById('lnkGame5').style.display='none'
	}else{
		document.getElementById('lnkGame3').style.display='block';
		document.getElementById('lnkGame5').style.display='block'
	}
	
	tmpLeft=findPosX(inParent)+findPosW(inParent);
	//window.alert(tmpLeft);
	tmpTop=findPosY(inParent);
	//window.alert(tmpTop);
	
	objMenu.style.top=tmpTop+'px';
	objMenu.style.left=tmpLeft+'px';
	
	objMenu.style.display='block';
	
}