
var IE = document.all?true:false;
var tempX = 0;
var tempY = 0;
var submitStatus = new Array(false,false,false);
var submitStatusError = new Array();
var elementId = new Array();
var tooltipheader = '<div style="position:absolute;width:158px;"><div style="height:10px;background:url(http://cdn.rjs.in/lexulouscom/images/tooltip_01.png) no-repeat;"></div><div class="tooltip_body_bg">';
var tooltipfooter = '</div><div style="height:17px;background:url(http://cdn.rjs.in/lexulouscom/images/tooltip_03.png) no-repeat;"></div></div>';
var ajaxcorrectsymbol = '<img src="/images/loading.gif" border="0" alt="">';
var itemCount = 0;
var rulePrevId = 1;
var activeGameFlag = 0;
var startAjaxOnLivePage = 0;
var friendRemoveCount = 0;
var friendRemoveStatusCount = 0;
var prev = 0;

elementId[0] = 'username';
elementId[1] = 'useremail';
elementId[2] = 'userpassword';
submitStatusError[0] = 'The username can only have letters & numbers';
submitStatusError[1] = 'There is an existing account associated with this email.';
submitStatusError[2] = 'Your password must be at least 6 characters long.';

if (!IE)
	 document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = getMouseXY;

function getMouseXY(e) {
	if (IE) { 
		tempX = event.clientX + document.body.scrollLeft;
		tempY = event.clientY + document.body.scrollTop;
	}
	else { 
		tempX = e.pageX;
		tempY = e.pageY;
	}  
	if (tempX < 0)
		tempX = 0;
	if (tempY < 0)
		tempY = 0;  
	return true;
}

var popupObject = new Object();

popupObject.viewportwidth = function () {
	var viewportwidth = 0;
	if(typeof window.innerWidth != 'undefined')
		viewportwidth = window.innerWidth;
	else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth !='undefined' && document.documentElement.clientWidth != 0)
		viewportwidth = document.documentElement.clientWidth;
	else 
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
	return viewportwidth;
}

popupObject.scrollwidth = function () {
	var w = window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft; 
	return w ? w : 0;
}

popupObject.scrollheight = function () {
	var h = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;           
	return h ? h : 0;
}

popupObject.close = function () {
	FadeOpacity('popUpDialog', 100, 0, 800, 10, 'p');
	return false;
}

popupObject.open = function (heading,content,fnc,param) {
	var dLeft = this.scrollwidth() + this.viewportwidth()/2 - 262;
	var dTop = this.scrollheight() + 146;
	document.getElementById('popUpDialog').style.left = dLeft+'px';
	document.getElementById('popUpDialog').style.top = dTop + 'px';
	document.getElementById('roundedShaddow').className = 'pop_container_advanced';
	document.getElementById('titleBackground').className = 'dialog_title';
	document.getElementById('contentBackground').className = 'dialog_content';
	document.getElementById('contentBody').className = 'dialog_body';
	document.getElementById('buttonBackground').className = 'dialog_buttons';
	document.getElementById('pheading').innerHTML = heading;
        document.getElementById('pcontent').innerHTML = content;    
        document.getElementById('submitButton').style.display = 'none';
        document.getElementById('cancelButton').style.display = 'none';
        document.getElementById('okButton').style.display = 'none';
        document.getElementById('helpButton').style.display = 'none';
        document.getElementById('loginButton').style.display = 'none';
        if(typeof param  == 'undefined')
        	fcn = "return "+fnc+"()";
	else
        	fcn = "return "+fnc+"('"+param.join("','")+"')";
	if(fnc=='gotologin') {
	        document.getElementById('loginButton').style.display = 'block';
	        document.getElementById('loginButton').onclick = new Function(fcn);
        }
        else if(fnc=='gotohelp') {
	        document.getElementById('helpButton').style.display = 'block';
	        document.getElementById('helpButton').onclick = new Function(fcn);
        }
        else if(fnc=='X') {
	}
        else if(typeof fnc == 'undefined') {
	        document.getElementById('okButton').style.display = 'block';
	        document.getElementById('okButton').onclick = popupObject.close;
        }
	else {
	        document.getElementById('submitButton').style.display = 'block';
	        document.getElementById('cancelButton').style.display = 'block';
	        document.getElementById('submitButton').onclick = new Function(fcn);
	        document.getElementById('cancelButton').onclick = popupObject.close;
        }
	document.getElementById('popUpDialog').style.display = 'block';
        return false;
}

function FadeOpacity(elemId, fromOpacity, toOpacity, time, fps, pagetype) {
	var steps = Math.ceil(fps * (time / 1000));
	var delta = (toOpacity - fromOpacity) / steps;     
	FadeOpacityStep(elemId, 0, steps, fromOpacity,delta, (time / steps), pagetype);
}
 
function FadeOpacityStep(elemId, stepNum, steps, fromOpacity, delta, timePerStep, pagetype) {
	SetOpacity(document.getElementById(elemId), Math.round(parseInt(fromOpacity) + (delta * stepNum))); 
	if (stepNum < steps)
		setTimeout("FadeOpacityStep('" + elemId + "', " + (stepNum+1) + ", " + steps + ", " + fromOpacity + ", " + delta + ", " + timePerStep + ");", timePerStep);
        else {
		if(pagetype == 'p') {		        
			document.getElementById('popUpDialog').style.display = 'none';
		        document.getElementById('popUpDialog').style.opacity = '1.0';
		        document.getElementById('popUpDialog').style.filter = 'alpha(opacity=100)';
			document.getElementById('pcontent').innerHTML = '';	
		}
		else {
			eval("document.getElementById('"+elemId+"').style.display = 'none'");
		        eval("document.getElementById('"+elemId+"').style.opacity = '1.0'");
		        eval("document.getElementById('"+elemId+"').style.filter = 'alpha(opacity=100)'");
                } 		        			
        }
}

function SetOpacity(elem, opacityAsInt) {
	var opacityAsDecimal = opacityAsInt;
	if (opacityAsInt > 100)
		opacityAsInt = opacityAsDecimal = 100; 
	else if (opacityAsInt < 0)
		opacityAsInt = opacityAsDecimal = 0; 
	opacityAsDecimal /= 100;
	if (opacityAsInt < 1)
		opacityAsInt = 1; 
	elem.style.opacity = (opacityAsDecimal);
	elem.style.filter  = "alpha(opacity=" + opacityAsInt + ")";
}

function hideTooltip(){
	document.getElementById('tooltip').style.display='none';
	return false;
}

function setPageContain() {
	var ob = document.getElementById('container');
        if(ob != null){
		var tcHeight = ob.clientHeight;
		if(tcHeight<708)
			ob.style.height = '708px';
       } 
}


function getXMLHttp() {
	var xmlHttp;
	try {
		xmlHttp = new XMLHttpRequest();
	}
	catch(e) {
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e) {
				return false;
			}
		}
	}
        return xmlHttp;
}

function showTooltip(userList) {        
	document.getElementById('tooltip').style.display='none';
        document.getElementById('tooltip').style.left = tempX + 10 +'px';
	document.getElementById('tooltip').style.top = tempY + 10 + 'px';
        document.getElementById('tooltipcontent').innerHTML = userList;
	document.getElementById('tooltip').style.display='block';
	return false;
}

function setInitial(){
	var imgverf = document.getElementById('imageverification').value;
        if(imgverf == 'N') {
		submitStatus[0] = true;     
		submitStatus[1] = true;
        }
}

function checkRegSubmitForm() {
	for (x in submitStatus) {
		if(!submitStatus[x]) {
			 document.getElementById('regErrorMsg').style.display = 'block';
			 document.getElementById('regErrorMsg').innerHTML = submitStatusError[x];
			 eval("document.getElementById('"+elementId[x]+"').focus()");
			 return false;  
		} 
	}
	return true;			
}

function checkUserName(userName) {
	var regularExp = /^[a-zA-Z]+[a-zA-Z0-9]+$/;
	var chkUserName = regularExp.test(userName); 
	if (chkUserName == false) {
                submitStatus[0] = false;
				document.getElementById('userNameImg').innerHTML = '';
	}
        else {
		var xmlHttp = getXMLHttp();
                var url = '/ajax/finduser?value='+userName+'&type=N'; 
		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4) {
				if(xmlHttp.responseText == 0) {        
					submitStatus[0] = true;
					document.getElementById('userNameImg').innerHTML = '<img src="/images/tick_sign.png" border="0" alt="">';
				}  
				else {
					submitStatus[0] = false;
					document.getElementById('userNameImg').innerHTML = tooltipheader + 'This username is not available. Please try something else.' + tooltipfooter;
					setTimeout('hideIndexTooltip(\'userNameImg\')', 2000);
				}
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
        }
}

function checkUserPasswd(userPasswd) {
	if (userPasswd.length==0)
                submitStatus[2] = false;
        else if(userPasswd.length<6) {
		document.getElementById('userPasswdDiv').innerHTML = tooltipheader + 'At least 6 characters.' + tooltipfooter;
                setTimeout('hideIndexTooltip(\'userPasswdDiv\')', 2000);
                submitStatus[2] = false;
	}
        else {
        	document.getElementById('userPasswdDiv').innerHTML = '<img src="/images/tick_sign.png" border="0" alt="">'; 
        	submitStatus[2] = true;
        }
}

function checkUserEmail(userEmail) {
	var regularExp = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	var chkUserEmail = regularExp.test(userEmail); 
	if (chkUserEmail == false)
                submitStatus[1] = false; 
        else {
		var xmlHttp = getXMLHttp();
                var url = '/ajax/finduser?value='+userEmail+'&type=E';
		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4) {
				if(xmlHttp.responseText == 0) {
					submitStatus[1] = true;
					document.getElementById('userEmailDiv').innerHTML = '<img src="/images/tick_sign.png" border="0" alt="">';
				}
				else {
					submitStatus[1] = false;
					document.getElementById('userEmailDiv').innerHTML = tooltipheader + 'Account already exists. Click on forgot password for details.' + tooltipfooter;
					setTimeout('hideIndexTooltip(\'userEmailDiv\')', 2000);
				}  
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	}       
}

function hideIndexTooltip(element) {
	var ob = eval("document.getElementById('"+element+"')");
        ob.innerHTML = '';
} 


function forgotDialog() {
	var dialogContent = 'Simply enter the same email address you had signed up at Lexulous with. We will reset your password.<br><br><div class="popupforgot_pass_left">Your Email:</div><div class="loginboxdiv" style="float: left; margin-right: 10px;"><input name="forgotuseremail" id="forgotuseremail" value="" size="255" maxlength="255" class="login_text" type="text"></div><div><img src="/images/blank_image.gif" id="forgotErrorImage" border="0"></div>';
	return popupObject.open("Forgot Password?",dialogContent,forgotSubmitButton);
}

function forgotSubmitButton(){
        var forgotEmailId = document.getElementById('forgotuseremail').value;
	var regularExp = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	var chkEmail = regularExp.test(forgotEmailId)
	if(chkEmail) {
                document.getElementById('forgotErrorImage').src = '/images/loading.gif';
		var xmlHttp = getXMLHttp();
		var url = '/ajax/forgot?femail='+forgotEmailId; 
		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4) 
				return popupObject.open("Reset Password",xmlHttp.responseText);
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);		
        }
        else 
                document.getElementById('forgotErrorImage').src = '/images/cross_sign.png';
	return false;
}

function changeValue() {
        if(document.getElementById('rememberme').checked) 
		document.getElementById('rememberme').value = 1;
        else
		document.getElementById('rememberme').value = 0;   
}

function checkResetPasswdSubmitForm() {
        var userPasswd = document.getElementById('forgotuserpassword').value;
        var confirmuserPasswd = document.getElementById('confirmuserpassword').value;
	if (userPasswd.length<6 || userPasswd.length>20) {
		document.getElementById('passwdResetErrorMsg').innerHTML = "Type more for new password";
		document.getElementById('passwdResetErrorMsg').style.display = 'block';
		document.getElementById('forgotuserpassword').focus();
                return false;
	}
	if (confirmuserPasswd.length<6 || confirmuserPasswd.length>20) {
		document.getElementById('passwdResetErrorMsg').innerHTML = "Type more for confirm password";
		document.getElementById('passwdResetErrorMsg').style.display = 'block';
		document.getElementById('confirmuserpassword').focus();
                return false;
	}
        if (userPasswd != confirmuserPasswd) {
		document.getElementById('passwdResetErrorMsg').innerHTML = "please check confirm password";
		document.getElementById('passwdResetErrorMsg').style.display = 'block';
		document.getElementById('confirmuserpassword').focus();
                return false;
	}
	var xmlHttp = getXMLHttp();
	var url = '/ajax/resetpassword?email='+ document.getElementById('email').value + '&pccode=' + document.getElementById('pccode').value + '&psw=' + userPasswd; 
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			resetPasswordResponse(xmlHttp.responseText);
		}
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);		
	return false;			
}

function resetPasswordResponse(response) {
        if(response == 'SU') {
	        popupObject.open("Password Change Successful",'Your password has now been reset, login now and have fun at Lexulous!','gotologin'); 
                setTimeout('location.href = "/index"', 10000);
                return false;
        }
        else 
	        return popupObject.open("Password Change",'Password was changed with this link. Please click on forgot password link and check your account.'); 
	
}

function gotologin(){
	location.href = "/index";
        return false;
}

function gotohelp(){
	location.href = "/help";
        return false;
}


function selectCheckBox() {
	var e= document.frm1.elements.length;
	var cnt=0;
	for(cnt=0;cnt<e;cnt++) {
		if(document.frm1.elements[cnt].id == "ChkBox")
			document.frm1.elements[cnt].checked = true;
	}
	return false;
}

function deSelectCheckBox() {
	var e= document.frm1.elements.length;
	var cnt=0;
	for(cnt=0;cnt<e;cnt++) {
		if(document.frm1.elements[cnt].id == "ChkBox")
			document.frm1.elements[cnt].checked = false;
	}
	return false;
}

function readCheckBox(arg) {
	var e= document.frm1.elements.length;
	var cnt=0;
	for(cnt=0;cnt<e;cnt++) {
		if(document.frm1.elements[cnt].id == "ChkBox"){
			var iv = document.frm1.elements[cnt].value;
			var en = "document.getElementById('HiddBox"+iv+"')"; 
			var ob = eval(en);
                        if(arg=='I') {
				if(ob.value == 'R' || ob.value == 'I') 
					document.frm1.elements[cnt].checked = true;
				else 
					document.frm1.elements[cnt].checked = false;
                        }
                        else if(arg=='S') {
				if(ob.value != 'S') 
					document.frm1.elements[cnt].checked = true;
				else 
					document.frm1.elements[cnt].checked = false;
                        }
		}
	}
	return false;
}

function CheckValidator(arg){
        var trace = 0;
	var e= document.frm1.elements.length;
	var cnt=0;
	for(cnt=0;cnt<e;cnt++) {
		if(document.frm1.elements[cnt].id == "ChkBox") {
			if(document.frm1.elements[cnt].checked == true) {
				trace = 1;
                                break; 
                        }
                }
	}
        if(trace == 0) {
		var heading = "Message Warning";
		var content = "Please select a message!";
		return popupObject.open(heading,content);
        }
        else {
		if(arg==2) {
			var heading = "Message Warning";
			var content = 'Are you sure you want to delete the message';
			return popupObject.open(heading,content,showConfirm);
                }
                else {
                        document.getElementById('action').value = 'TOUNREAD';
                        document.getElementById('frm1').submit();
                        return false;
                }
        }   
}

function showConfirm() {
	document.getElementById('action').value = 'DELMSG';
	document.getElementById('frm1').submit();
        return false;        
}

function messagePage(arg) {
	if(arg==1)
		document.getElementById('action').value = 'PREVPAGE';
	else if(arg==2)
		document.getElementById('action').value = 'NEXTPAGE';
	document.getElementById('frm1').submit();
	return false;        
}

function deleteMsg(arg){
	var heading = "Message Warning";
	var content = 'Are you sure you want to delete the message';
	return popupObject.open(heading,content,showConfirmi);
}

function showConfirmi() {
        document.getElementById('frm').action = '/inbox/';
	document.getElementById('frm').submit();
        return false;        
}

function checkReplyForm() {
	if(document.getElementById('replymessage').value==''){
		var heading = "Message Warning";
		var content = "You haven't entered your message!!";
		return popupObject.open(heading,content);
	}
	else
		return true;
}

function messagePageReply(arg) {
	if(arg==1)
		document.getElementById('action').value = 'PREV';
	else if(arg==2)
		document.getElementById('action').value = 'NEXT';
	else if(arg==3)
		document.getElementById('action').value = 'DELMSG';
	document.getElementById('frm').submit();
	return false;        
}


function inviteUserByEmail() {
	var requestinfo = document.getElementById('inviteUserEmail').value;
	requestinfo = replace(requestinfo ,' ', '+');
        if(document.getElementById('inviteUserEmail').readOnly == false){	
		document.getElementById('inviteUserEmail').readOnly = true;
		document.getElementById('inviteEmailDiv').innerHTML = ajaxcorrectsymbol;
		var xmlHttp = getXMLHttp();
		var url = '/ajax/inviteemail?requestinfo='+requestinfo;
		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4) {
				document.getElementById('inviteEmailDiv').innerHTML = '';
				document.getElementById('inviteUserEmail').readOnly = false;
				if(xmlHttp.responseText == 'EE')
					var response = 'Your session has been timed out. Please login again.';
				else if(xmlHttp.responseText == 'SAN')
					var response = 'It is same to your account name. Please try again with another user name.';
				else if(xmlHttp.responseText == 'SAE')
					var response = 'It is same to your account email. Please try again with another user email.';
				else if(xmlHttp.responseText == 'NAN')
					var response = 'Please try again with another user name/email.';
		                else
					var response = xmlHttp.responseText; 
			       	return popupObject.open('Invite Friend Request',response);
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	}
        return false;
}

function notStorePasswordDialog() {
	var dialogContent = "We will not store your password after we import your friends' information.<br><br>We may use the email addresses you upload through this importer to help you connect with friends, including using this information to generate Suggestions for you and your contacts on Lexulous.";
        return popupObject.open("How Friend Finder Works",dialogContent);
}

function requestAction(requestId,option,uname,page) {        
	var xmlHttp = getXMLHttp();
        var url = '/ajax/request?rid='+uname+'&op='+option; 
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			if(xmlHttp.responseText == 'EE')
				return popupObject.open("Pending Request",'Your session has been timed out. Please login again.');
			else {
				var divName= "document.getElementById('pending_friends_list"+requestId+"')";
				var obj =  eval(divName);
				obj.style.display = 'none'; 
				if(option == 2 && page == 1) {
					document.getElementById('online_friend_list').innerHTML = document.getElementById('online_friend_list').innerHTML + '<div class="online_friends_list" onmouseover="document.getElementById(\'online_friends_icons'+requestId+'\').style.display=\'block\';" onmouseout="document.getElementById(\'online_friends_icons'+requestId+'\').style.display=\'none\';" id="online_friend_list'+requestId+'"><div class="online_friends_name"><span class="gray1_text_10">'+uname+'</span></div><div class="online_friends_icons" style="display:none;" id="online_friends_icons'+requestId+'"><div class="sides_01"><img src="/images/bluebg_left.png" alt="" /></div><div class="icons_holder01"><div class="icons_01"><a href="#" onclick="return messageCompose('+requestId+',\''+uname+'\',\'readonly\')"><img src="/images/icon02.png" alt="" /></a></div><div class="icons_01"><a href="#" onclick="return confirmBuddyDialog('+requestId+',\''+uname+'\')"><img src="/images/icon04.png" alt="" /></a></div></div><div class="sides_01"><img src="/images/bluebg_right.png" alt="" /></div></div></div><div style="clear:both;"></div>';
				} 
				return popupObject.open("Pending Request",xmlHttp.responseText);
			} 
		}
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
        return false;
} 

function uploadContactFile() {
       var content ='Searching your email account is the fastest way to invite your friends on Lexulous. Upload a contact file and we will send an invitation to your friend.<br><br><form id="uploadContactFile" method="post" enctype="multipart/form-data" action="/friend"><input type="file" name="contactfile" value=""><input type="hidden" name="action" value="UPLOAD"></form><br><br>To upload your file to Lexulous, simply hit "Browse" or "Choose File" above and select the contact file you\'ve just created.';
       return popupObject.open("Upload Contact File",content,uploadContactFileSubmit);
}
function uploadContactFileSubmit(){
	document.getElementById('uploadContactFile').submit();
        return false;
}

function showSubmitButton(ob){
	if(ob.checked)
        	itemCount ++;
        else
        	itemCount --;
        if(itemCount>0)
        	document.getElementById('submitDiv').style.display = 'block';
        else 
        	document.getElementById('submitDiv').style.display = 'none';
}

function confirmBuddyDialog(uid,username) {
	var content ='Are you sure you want to remove your connection to '+username+'?';
	return popupObject.open('Remove connection to '+username+'?',content,closeBuddyConnection,new Array(uid,username));
}

function closeBuddyConnection(uid,username){
	var xmlHttp = getXMLHttp();
        var url = '/ajax/closeconnection?uid='+username; 
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			if(xmlHttp.responseText == 'EE')
				var response = 'Your session has been timed out. Please login again.';
			else {
				var obj = eval("document.getElementById('online_friend_list"+uid+"')");
				obj.style.display = 'none';
                                var response = xmlHttp.responseText;
			}
			return popupObject.open("Remove Buddy Connection",response);
		}
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
        return false;
}

function changeSection(arg) {
	if(arg==1) {
		document.getElementById('activeDiv').style.display = 'block';
		document.getElementById('activelink').style.color = '#FF0000';
		document.getElementById('inactiveDiv').style.display = 'none';
		document.getElementById('inactivelink').style.color = '#0088cc';
        }
	else {
		var containerheight = document.getElementById('container').clientHeight;
		var inactiveheight = document.getElementById('inactiveDiv').clientHeight;
		var activeheight = document.getElementById('activeDiv').clientHeight;
		if(activeheight>inactiveheight)
			document.getElementById('container').style.height = activeheight - inactiveheight;

		document.getElementById('activeDiv').style.display = 'none';
		document.getElementById('activelink').style.color = '#0088cc';

		document.getElementById('inactiveDiv').style.display = 'block';
		document.getElementById('inactivelink').style.color = '#FF0000';
        } 
	return false;
}

function showNewPlayerBox(value,divelid){
        if(divelid != 'newplayer3'){
		var ob1 = eval("document.getElementById('"+divelid+"link')");
		if(value == 0)
			ob1.style.display = 'none';		
		else
			ob1.style.display = 'block';		
        }
	var ob = eval("document.getElementById('"+divelid+"')");
        if(value == '*')
        	ob.style.display = 'block';  
        else
        	ob.style.display = 'none';  
}

function showdiv(id){
        var obj = eval("document.getElementById('div"+id+"')");
        obj.style.display = 'block';
        var obj1 = eval("document.getElementById('link"+(id-1)+"')");
        obj1.style.display = 'none';	
	return false;
}

function hidediv(id,type){
        var obj = eval("document.getElementById('div"+id+"')");
        obj.style.display = 'none';
        if(type == 1) {
		var obj2 = eval("document.getElementById('friend"+id+"')");
		obj2.selectedIndex = 0;
		var ob = eval("document.getElementById('nfriend"+id+"')");
		ob.value = '';
		var ob = eval("document.getElementById('newplayer"+id+"')");
		ob.style.display = 'none';
        }
        else {
		var obj2 = eval("document.getElementById('friende"+id+"')");
		obj2.value = '';
        }
        var obj1 = eval("document.getElementById('link"+(id-1)+"')");
        obj1.style.display = 'block';
        if(id!=3 && type == 1) {
		var obj3 = eval("document.getElementById('newplayer"+id+"link')");
		obj3.style.display = 'none';
        }
        return false;
}

function checkNewGameSubmitForm(arg) {
        if(arg == 2){
        }
        else{
		var regularExp = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
		if(arg == 1){		
			if(document.getElementById('friend1').value == '0'){
				document.getElementById('newgameErrorMsg').innerHTML = 'Please choose buddy.';   
				document.getElementById('newgameErrorMsg').style.display = 'block';      
				document.getElementById('friend1').focus();
				return false; 		
			}
			if(document.getElementById('friend1').value == '*'){
				var newuserEmail = document.getElementById('nfriend1').value;		
				var chkUserEmail = regularExp.test(newuserEmail); 
				if (chkUserEmail == false) {              
					document.getElementById('newgameErrorMsg').innerHTML = 'Please enter new buddy email.';   
					document.getElementById('newgameErrorMsg').style.display = 'block';      
				        document.getElementById('nfriend1').focus();
				        return false; 
				}
			}
		}
		else {
			var newuserEmail = document.getElementById('friende1').value;		
			var chkUserEmail = regularExp.test(newuserEmail); 
			if (chkUserEmail == false) {              
				document.getElementById('newgameErrorMsg').innerHTML = 'Please enter new buddy email.';   
				document.getElementById('newgameErrorMsg').style.display = 'block';      
			        document.getElementById('friende1').focus();
			        return false; 
			}
		}     
		if(document.getElementById('div2').style.display =='block'){
			if(arg == 1){
				if(document.getElementById('friend1').value == document.getElementById('friend2').value && document.getElementById('friend2').value != '*') {
					document.getElementById('newgameErrorMsg').innerHTML = 'Please enter another buddy.';
					document.getElementById('newgameErrorMsg').style.display = 'block'; 
					document.getElementById('friend2').focus();
					return false;			
				}
				if(document.getElementById('friend2').value == '0'){
					document.getElementById('newgameErrorMsg').innerHTML = 'Please choose buddy.';
					document.getElementById('newgameErrorMsg').style.display = 'block'; 
					document.getElementById('friend2').focus();
					return false;	
				}
				if(document.getElementById('friend2').value == '*'){
					var newuserEmail = document.getElementById('nfriend2').value;		
					var chkUserEmail = regularExp.test(newuserEmail); 
					if (chkUserEmail == false) {             
						document.getElementById('newgameErrorMsg').innerHTML = 'Please enter new buddy email.';
						document.getElementById('newgameErrorMsg').style.display = 'block'; 
						document.getElementById('nfriend2').focus();
						return false;
				       }
				       if(document.getElementById('nfriend2').value == document.getElementById('nfriend1').value){
						document.getElementById('newgameErrorMsg').innerHTML = 'Please choose another buddy email.';
						document.getElementById('newgameErrorMsg').style.display = 'block'; 
						document.getElementById('nfriend2').focus();
						return false;	
					}
				} 
			}
			else {
				var newuserEmail = document.getElementById('friende2').value;		
				var chkUserEmail = regularExp.test(newuserEmail); 
				if (chkUserEmail == false) {              
					document.getElementById('newgameErrorMsg').innerHTML = 'Please enter new buddy email for player2.';   
					document.getElementById('newgameErrorMsg').style.display = 'block';      
					document.getElementById('friende2').focus();
					return false; 
				}
				if(document.getElementById('friende1').value == document.getElementById('friende2').value) {
					document.getElementById('newgameErrorMsg').innerHTML = 'Please enter another buddy for player2.';
					document.getElementById('newgameErrorMsg').style.display = 'block'; 
					document.getElementById('friende2').focus();
					return false;			
				}
			}
		}
		if(document.getElementById('div3').style.display =='block'){
			if(arg == 1){
				if((document.getElementById('friend1').value == document.getElementById('friend3').value && document.getElementById('friend3').value != '*') || (document.getElementById('friend2').value == document.getElementById('friend3').value && document.getElementById('friend3').value != '*')){
					document.getElementById('newgameErrorMsg').innerHTML = 'Please enter another buddy.'; 
					document.getElementById('newgameErrorMsg').style.display = 'block';
					document.getElementById('friend3').focus();	
					return false;
				}
				if(document.getElementById('friend3').value == '0'){
					document.getElementById('newgameErrorMsg').innerHTML = 'Please choose buddy.';
					document.getElementById('newgameErrorMsg').style.display = 'block'; 
					document.getElementById('friend3').focus();
					return false;	
				}
				if(document.getElementById('friend3').value == '*'){		
					var newuserEmail = document.getElementById('nfriend3').value;		
					var chkUserEmail = regularExp.test(newuserEmail); 
					if (chkUserEmail == false) {             
						document.getElementById('newgameErrorMsg').innerHTML = 'Please enter new buddy email.'; 
						document.getElementById('newgameErrorMsg').style.display = 'block';
						document.getElementById('nfriend3').focus();	
						return false;
					} 
					if(document.getElementById('nfriend1').value == document.getElementById('nfriend3').value){
						document.getElementById('newgameErrorMsg').innerHTML = 'Please choose another buddy email.';
						document.getElementById('newgameErrorMsg').style.display = 'block'; 
						document.getElementById('nfriend3').focus();
						return false;	
					}
				       if(document.getElementById('nfriend2').value == document.getElementById('nfriend3').value){
						document.getElementById('newgameErrorMsg').innerHTML = 'Please choose another buddy email.';
						document.getElementById('newgameErrorMsg').style.display = 'block'; 
						document.getElementById('nfriend3').focus();
						return false;	
					}
				}
			}
		        else {
				var newuserEmail = document.getElementById('friende3').value;		
				var chkUserEmail = regularExp.test(newuserEmail); 
				if (chkUserEmail == false) {              
					document.getElementById('newgameErrorMsg').innerHTML = 'Please enter new buddy email for player3.';   
					document.getElementById('newgameErrorMsg').style.display = 'block';      
					document.getElementById('friende3').focus();
					return false; 
				}
				if((document.getElementById('friende1').value == document.getElementById('friende3').value) || (document.getElementById('friende2').value == document.getElementById('friende3').value)){
					document.getElementById('newgameErrorMsg').innerHTML = 'Please enter another buddy email for player3.'; 
					document.getElementById('newgameErrorMsg').style.display = 'block';
					document.getElementById('friende3').focus();	
					return false;
				}
		        }
		}
	}
	if(document.getElementById('dic').value == ''){
	 	document.getElementById('newgameErrorMsg').innerHTML = "Please select dictionary type.";
		document.getElementById('newgameErrorMsg').style.display = 'block';
                return false; 
	}
	if(document.getElementById('gametype').value == ''){
		document.getElementById('newgameErrorMsg').innerHTML = "Please select game type";
		document.getElementById('newgameErrorMsg').style.display = 'block';			
                return false;
	}        
	return true;			
 }

function resendConfirmationEmail() { 
	var xmlHttp = getXMLHttp();
        var url = '/ajax/resend'; 
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			if(xmlHttp.responseText == 'EE')
				var response = 'Your session has been timed out. Please login again.';
			else
				var response = xmlHttp.responseText;
			return popupObject.open("Resend Verufication Email",response); 
		}
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
        return false;
} 

function resendSwfConfirmationEmail() { 
	var xmlHttp = getXMLHttp();
        var url = '/ajax/resend'; 
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4)
			return 'ok';
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
} 

function setUserId(arg){       
	document.getElementById('toname').value = document.getElementById('to').options[document.getElementById('to').options.selectedIndex].text;	
}

function composeDialog(friendId) {
	var xmlHttp = getXMLHttp();
        var url = '/ajax/compose?fid='+friendId;
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			var composeflag = 0;
			if(xmlHttp.responseText == 'EE')
				var composecontent = 'Your session has been timed out. Please login again.';
			else if(xmlHttp.responseText == 'EV')
				var composecontent = 'Please verify your account.';
			else {
				composeflag = 1;
				var composecontent = xmlHttp.responseText;				
			}
			if(composeflag == 1)
				return popupObject.open('Compose Mail',composecontent,composeButton);
			else
				return popupObject.open('Compose Mail',composecontent);
		}
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
	return false;
}

function composeButton(){         
        if(document.getElementById('to').value == 0) {
                document.getElementById('composeToError').src = '/images/cross_sign.png';
		return false;
        }
        else
                document.getElementById('composeToError').src = '/images/blank_image.gif';
	if (document.getElementById('subject').value =='') {
                document.getElementById('composeSubjectError').src = '/images/cross_sign.png';
		return false;
        }	
        else
                document.getElementById('composeSubjectError').src = '/images/blank_image.gif';
	document.getElementById('composeForm').submit();
	return false;	
}

function changeClassName(divElId){
	var ob1 = eval("document.getElementById('ruleb"+rulePrevId+"')");
	ob1.className = '';
	var ob2 = eval("document.getElementById('rulea"+rulePrevId+"')");
	ob2.className = 'rules_body_left_link';
	var ob3 = eval("document.getElementById('ruleb"+divElId+"')");
	ob3.className = 'rules_arrow';
	var ob4 = eval("document.getElementById('rulea"+divElId+"')");
	ob4.className = 'rules_body_left_active';
        rulePrevId = divElId;
	switch(divElId) {
		case 1 :	
			var content = 'The Game Modes - coming soon ...';
			break;
		case 2 :	
			var content = 'Scoring System - coming soon ...';
			break;
		case 3 :	
			var content = 'Tile Distribution - coming soon ...';
			break;
		case 4 :	
			var content = 'US / UK Dictionaries - coming soon ...';
			break;
		case 5 :	
			var content = 'Rating System - coming soon ...';
			break;
		case 6 :	
			var content = 'Computer Opps - coming soon ...';
			break;
		case 7 :	
			var content = 'Playing With Friends - coming soon ...';
			break;
		case 8 :	
			var content = 'Disconnections - coming soon ...';
			break;
		case 9 :	
			var content = 'General Etiquette - coming soon ...';
			break;
        }
        document.getElementById('rulecontent').innerHTML = content;
        return false;
}

function replace(string,text,by) {
	var strLength = string.length, txtLength = text.length;
	if ((strLength == 0) || (txtLength == 0)) return string;

	var i = string.indexOf(text);
	if ((!i) && (text != string.substring(0,txtLength))) return string;
	if (i == -1) return string;

	var newstr = string.substring(0,i) + by;

	if (i+txtLength < strLength)
		newstr += replace(string.substring(i+txtLength,strLength),text,by);

	return newstr;
}

function saveNote(gid) {
	var xmlHttp = getXMLHttp();
        var pnote = document.getElementById('privatenote').value + ' ';
        pnote = replace(pnote ,'\n', '<br>');
        pnote = replace(pnote ,'#', '');
        pnote = replace(pnote ,'\'', '');
        var url = "/ajax/savenote?notetxt=" + pnote + "&gid=" + gid;
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			if(xmlHttp.responseText == 'Success')
				document.getElementById('noteloading').innerHTML = 'Saved your data';
                        else 
				document.getElementById('noteloading').innerHTML = 'Sorry! Please try again.';
			setTimeout('document.getElementById(\'noteloading\').style.display=\'none\'', 3000);
		}
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
	document.getElementById('noteloading').style.display='block';
	document.getElementById('noteloading').innerHTML = ajaxcorrectsymbol;
}

function forcewinDialog(gid,pid,divid){
        if(activeGameFlag == 0)
		return popupObject.open('Claim A Forced Win','Your opponent has not played in the last 7 days. Are you sure you want to claim a Forced Win?',forcewinDialogSubmit,new Array(gid,pid,divid));
        return false; 
}

function forcewinDialogSubmit(gid,pid,divid){
	activeGameFlag = 1;
	var xmlHttp = getXMLHttp();
        var url = '/ajax/forcewin?gid='+gid+'&pid='+pid;
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			activeGameFlag = 0;
			if(xmlHttp.responseText == 'EE')
				return popupObject.open("Force Win",'Your session has been timed out. Please login again.');
			else {
				var returnMsg = xmlHttp.responseText;
				var rMsg = returnMsg.split("|");
				if(rMsg[0] == 'Success') {
					FadeOpacity(divid, 100, 0, 800, 10, 'fw');
					popupObject.open("Force Win",rMsg[1]);
					var inactivegamelistcount = document.getElementById('igcdiv').innerHTML - 1;
					document.getElementById('igcdiv').innerHTML = inactivegamelistcount;
		                       	if(inactivegamelistcount <= 0)
						document.location.href = '/activegames';
				} 
				else 
					return popupObject.open("Force Win",rMsg[1]);
			}
		}
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
	return popupObject.open('Claim A Forced Win','Please wait ...','X');
}

function nudgeDialog(gid,pid,opponent){
        if(activeGameFlag == 0)
                return popupObject.open('Do you want to nudge '+ opponent + '?','If you choose to nudge, your opponent will be sent an email reminding them of their turn in this game. Please do not misuse this feature for spamming.','nudgeDialogSubmit',new Array(gid,pid,opponent));
        return false;  
}

function nudgeDialogSubmit(gid,pid,opponent){
        activeGameFlag = 1;
	var xmlHttp = getXMLHttp();
        var url = '/ajax/nudge?gid='+gid+'&pid='+pid;
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			if(xmlHttp.responseText == 'EE') {
                                var nudgeheading = 'Session Time Out';
				var nudgecontent = 'Your session has been timed out. Please login again.';
                        }
			else if(xmlHttp.responseText == 'Success') {
                                var nudgeheading = 'Successfully nudge to '+opponent;
				var nudgecontent = 'Your Nudge request has been sent.';
                        }
			else { 
                                var nudgeheading = 'Sorry! Please Try Again';
				var nudgecontent = 'There was an error in sending the Nudge. Please try again.';
                        }
			activeGameFlag = 0;
			return popupObject.open(nudgeheading,nudgecontent);
		}
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
	return popupObject.open('nudge to '+ opponent,'Please wait ...','X');
}

function livePendingFriendRequest(requestId,option,uname,fcount) {
        startAjaxOnLivePage = 1;
	friendRemoveStatusCount++;
        var ob = eval("document.getElementById('buttinDiv"+requestId+"')");
        if(option == 1)
		friendRemoveCount++;
	ob.innerHTML = ajaxcorrectsymbol;
	var xmlHttp = getXMLHttp();
        var url = '/ajax/request?rid='+uname+'&op='+option; 
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
                        if(xmlHttp.responseText == 'EE'){
		                startAjaxOnLivePage = 0;
				ob.innerHTML = 'Your session has been timed out. Please login again.';	
			}
                        else {					
                                if(friendRemoveCount == fcount)
					var divid = 'pending_friends_list_main';
                                else
					var divid = 'pending_friends_list' + requestId;
                                if(option == 2)
					ob.innerHTML = 'You have added a new buddy. Click <a href="/newgame?with='+uname+'" class="bluetext_12" target="blank">here</a> to start a game of Email Lexulous.';
				else
					FadeOpacity(divid, 100, 0, 800, 10, 'l'); 
                                document.getElementById('fcnospan').innerHTML = fcount - friendRemoveStatusCount;           
		                startAjaxOnLivePage = 0;
				return false;
                        }
		}
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
        return false;
}

function showMyText(arg) {
	if(prev != 0)
		eval("document.getElementById('hlink"+prev+"').style.color = '#0088cc'");
	eval("document.getElementById('hlink"+arg+"').style.color = '#FF0000'");
	prev = arg;
	return popupObject.open(helpHeading[arg],helpContent[arg]);
}

function checkHelpSubmitForm(arg) {
	var regularNameExp = /^[a-zA-Z]+[a-zA-Z0-9.\s]+$/;
	var chkUserName = regularNameExp.test(document.getElementById('username').value); 
	if (chkUserName == false) {
		document.getElementById('helpErrorMsg').innerHTML = 'Please enter your name.';
		document.getElementById('username').focus();
	        return false;
	}
	var regularEmailExp = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	var chkUserEmail = regularEmailExp.test(document.getElementById('useremail').value); 
	if (chkUserEmail == false) {
	        document.getElementById('helpErrorMsg').innerHTML = 'Please enter your email address.';
	        document.getElementById('useremail').focus();
	        return false;
	}
	if(arg == 1) {
		if(document.getElementById('useremail').value != document.getElementById('confirmuseremail').value){
			document.getElementById('helpErrorMsg').innerHTML = 'Please confirm email address.';
			document.getElementById('confirmuseremail').focus();
			return false; 
		}
        }
	if(document.getElementById('helpmessage').value == '') {
	        document.getElementById('helpErrorMsg').innerHTML = 'Please enter your message.';
	        document.getElementById('helpmessage').focus();
	        return false;
	}
	return true;
}

