function getXMLHTTPRequest() 
{
	var requester = false;
	try 
	{
		requester = new XMLHttpRequest();
	}
	catch (error) 
	{
		var aVersions = [ "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHTTP"];
		for(var i = 0; i< aVersions.length;i++)
		{
			try 
			{requester = new ActiveXObject(aVersions[i]);}
			catch (error) 
			{
				continue;
			}
		}
	}
	return requester;
}
function getPageSize(){
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	


	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}
function getPageScroll()
{
	var yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}
function aligncenter(id)
{
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	//document.getElementById("overlay").style.height = (arrayPageSize[1] + 'px');
	
	document.getElementById(id).style.top = (arrayPageScroll[1] + ((arrayPageSize[3] - 35 - 200) / 2) + 'px');
	document.getElementById(id).style.left = (((arrayPageSize[0] - 20 - 900) / 2) + 'px');	
}
function getoverlayloader(msg)
{
	aligncenter("lightbox");
	document.getElementById("overlay").style.display="block"	;
	document.getElementById("lightbox").style.display="block"	;
	
	document.getElementById("lightbox").innerHTML="<center><br><br><br><br><br><font class=sample11 >"+msg+"...Please wait...</font><br><img src='ajax-loader.gif' ></center>";
	
}
function hideoverlayloader()
{
	document.getElementById("overlay").style.display="none"	;
	document.getElementById("lightbox").style.display="none"	;
}
function Chknregister(fnm,unm,pwd,email)
{
	var msg="Checking details";
	getoverlayloader(msg);
	var xmlhttp = getXMLHTTPRequest();
	xmlhttp.open('POST', 'register.php', true);     
	xmlhttp.onreadystatechange = function() 
	{
		if (xmlhttp.readyState == 4) 
		{
			if (xmlhttp.status == 200) 
			{	
				var resp=xmlhttp.responseText;
				if(resp == "Success")
				{
					var msg="You have registered successfully";	
					show_login();				
				}
				else
				{
					var msg=resp;
				}
				hideoverlayloader();
				if(msg.length>0)
				{
				 	alert(msg);				
				}
			}
		}
	}
	// Send the POST request
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send('fullname_su='+fnm+'&username_su='+unm+'&password_su='+pwd+'&email_su='+email);	
}
function updateprofile()
{
	var msg="Getting profile updation page";
	getoverlayloader(msg);
	var fnm="";
	var xmlhttp = getXMLHTTPRequest();
	xmlhttp.open('POST', 'updateprofile.php', true);     
	xmlhttp.onreadystatechange = function() 
	{
		if (xmlhttp.readyState == 4) 
		{
			if (xmlhttp.status == 200) 
			{	
				var resp=xmlhttp.responseText;
				document.getElementById("lightbox").innerHTML=resp;
			}
		}
	}
	// Send the POST request
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send('fullname_su='+fnm);	
}
function Chknlogin(unm,pwd)
{
	var msg="Checking login details";
	getoverlayloader(msg);
	var xmlhttp = getXMLHTTPRequest();
	xmlhttp.open('POST', 'register.php', true);     
	xmlhttp.onreadystatechange = function() 
	{
		if (xmlhttp.readyState == 4) 
		{
			if (xmlhttp.status == 200) 
			{	
				var resp=xmlhttp.responseText;
				if(resp == "Success")
				{
					var msg="You have successfully logged In.";	
					getprofileDtl(msg);	
					if(document.getElementById('pcomm'))			
					{
						document.getElementById('pcomm').style.display='';
					}
					if(document.getElementById('tt'))			
					{
						document.getElementById('tt').style.display='none';
					}
				}
				else
				{
					var msg=resp;
					hideoverlayloader();
					if(msg.length>0)
					{
						alert(msg);		
					}
				}
			}
		}
	}
	// Send the POST request
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send('username_li='+unm+'&password_li='+pwd);
}
function ChkFpwd(unm)
{
	var msg="Checking details";
	getoverlayloader(msg);
	var xmlhttp = getXMLHTTPRequest();
	xmlhttp.open('POST', 'register.php', true);     
	xmlhttp.onreadystatechange = function() 
	{
		if (xmlhttp.readyState == 4) 
		{
			if (xmlhttp.status == 200) 
			{	
				var resp=xmlhttp.responseText;
				hideoverlayloader();
				if(resp == "Success")
				{
					var msg="Your password has been mailed to you at your email id";	
					show_login();	
				}
				else
				{
					var msg=resp;
					if(msg.length>0)
					{
						alert(msg);		
					}
				}
				
			}
		}
	}
	// Send the POST request
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send('username_fpw='+unm);
}
function getprofileDtl(msg)
{
	var rr='<table width="90" border="0" cellspacing="0" cellpadding="0" align="right"><tr><td width="7"><img src="images/tab_left_unsel.jpg" alt="tab left" width="7" height="50" /></td><td class="tabbgunsel"><a href="logout.php"><strong>Logout</strong></a></td><td width="7"><img src="images/tab_right_unsel.jpg" alt="Tab right" width="7" height="50" /></td></tr></table>';
	
	var fnm="";
	var xmlhttp = getXMLHTTPRequest();
	xmlhttp.open('POST', 'getlogin.php', true);     
	xmlhttp.onreadystatechange = function() 
	{
		if (xmlhttp.readyState == 4) 
		{
			if (xmlhttp.status == 200) 
			{	
				var resp=xmlhttp.responseText;
				document.getElementById("registerdiv").innerHTML=resp;
				document.getElementById("overlay").style.display="none"	;
				document.getElementById("lightbox").style.display="none"	;
				document.getElementById("logoutlink").style.display=""	;
				document.getElementById("logoutlink").innerHTML=rr;
				hideoverlayloader();
				alert(msg);
			}
		}
	}
	// Send the POST request
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send('full='+fnm);	
}
function show_signup()
{
	$('#signup_box').fadeIn("slow");
	$('#login_box').hide();
	$('#forgotpw_box').hide();
}
function show_forgotpw()
{
	$('#signup_box').hide();
	$('#login_box').hide();
	$('#forgotpw_box').fadeIn("slow");
}
function show_login()
{
	$('#signup_box').hide();
	$('#login_box').fadeIn("slow");
	$('#forgotpw_box').hide();
}
function ChkUpdatePro(Form)
{
   if( (Form.fullname_su.value=="")||(Form.fullname_su.value=="FullName")||!isNaN(Form.fullname_su.value))
	{
		alert("Kindly fill in your First name!");
		Form.fullname_su.focus();
		return false;
	}
	else if( Form.email_su.value=="")
	{
		alert("Kindly fill in your Email Id!");
		Form.fullname_su.focus();
		return false;
	}
	else if( (Form.email_su.value!='') && (validateemailv2(Form.email_su.value)==false) )
	{
		alert("Kindly fill in a valid Email Id!");
		Form.email_su.focus();
		return false;
	}
	else 
	{
		var fnm=Form.fullname_su.value;
		var eml=Form.email_su.value;
		var msg="Updating profile details";
		getoverlayloader(msg);
		
		var xmlhttp = getXMLHTTPRequest();
		xmlhttp.open('POST', 'profileupdates.php', true);     
		xmlhttp.onreadystatechange = function() 
		{
			if (xmlhttp.readyState == 4) 
			{
				if (xmlhttp.status == 200) 
				{	
					var resp=xmlhttp.responseText;
					//var msg="Your profile details have been updated successfully";
					getprofileDtl(resp);
					//hideoverlayloader();
					//alert(resp);
				}
			}
		}
		// Send the POST request
		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlhttp.send('fullname_su='+fnm+'&email_su='+eml);
	}
}
function ChkUpdatePass(Form)
{
   if(Form.txtopwd.value=="")
	{
		alert("Kindly fill in your Old Password!");
		return false;
	}
	else if(Form.txtnpwd.value=='' )
	{
		alert("Kindly fill in your New Password!");
		return false;
	}
	else if(Form.txtcpwd.value=='' )
	{
		alert("Kindly confirm your New Password!");
		return false;
	}
	else if(Form.txtcpwd.value!=Form.txtnpwd.value )
	{
		alert("New Password and Confirm password should match.");
		return false;
	}
	else 
	{
		var oldp=Form.txtopwd.value;
		var newp=Form.txtnpwd.value;
		var newcp=Form.txtcpwd.value;
		
		var msg="Updating password details";
		getoverlayloader(msg);
		
		var xmlhttp = getXMLHTTPRequest();
		xmlhttp.open('POST', 'profileupdates.php', true);     
		xmlhttp.onreadystatechange = function() 
		{
			if (xmlhttp.readyState == 4) 
			{
				if (xmlhttp.status == 200) 
				{	
					var resp=xmlhttp.responseText;
					
					//var msg="Your password details have been updated successfully";
					getprofileDtl(resp);
					//hideoverlayloader();
					//alert(resp);
				}
			}
		}
		// Send the POST request
		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlhttp.send('update_pwd=Update_Password&txtopwd='+oldp+'&txtnpwd='+newp+'&txtcpwd='+newcp);
	}
}

function submitLoginForm(Form)
{
	 if( (Form.username_li.value=="")||(Form.username_li.value=="Username")||!isNaN(Form.username_li.value))
	{
		alert("Kindly fill in your Username!");
		Form.username_li.focus();
		return false;
	}
	else if( (Form.password_li.value=="")||(Form.password_li.value=="Password"))
	{
		alert("Kindly enter your Password!");
		Form.password_li.focus();
		return false;
	}
	else 
	{
		var unm=Form.username_li.value;
		var pwd=Form.password_li.value;
		Chknlogin(unm,pwd)	;
	}
}

function submitSignupForm(Form)
{
	
	if( (Form.fullname_su.value=="")||(Form.fullname_su.value=="Name")||!isNaN(Form.fullname_su.value))
	{
		alert("Kindly fill in your Fullname!");
		Form.fullname_su.focus();
		return false;
	}
	else if( (Form.username_su.value=="")||(Form.username_su.value=="Username")||!isNaN(Form.username_su.value))
	{
		alert("Kindly fill in your Username!");
		Form.username_su.focus();
		return false;
	}
	else if( (Form.password_su.value=="")||(Form.password_su.value=="Password")||!isNaN(Form.password_su.value))
	{
		alert("Kindly enter your Password!");
		Form.password_su.focus();
		return false;
	}
	else  if( (Form.email_su.value=="")||(Form.email_su.value=="Password")||!isNaN(Form.email_su.value))
	{
		alert("Kindly fill in your Email Id!");
		Form.email_su.focus();
		return false;
	}
	else if( (Form.email_su.value!='') && (validateemailv2(Form.email_su.value)==false) )
	{
		alert("Kindly fill in a valid Email Id!");
		Form.email_su.focus();
		return false;
	}
	else 
	{
		var fnm=Form.fullname_su.value;
		var unm=Form.username_su.value;
		var pwd=Form.password_su.value;
		var email=Form.email_su.value;
		Chknregister(fnm,unm,pwd,email)	;
	//	Form.submit();
	}
}

function submitFpwForm(Form)
{
	if( (Form.username_fpw.value=="")||(Form.username_fpw.value=="Username")||!isNaN(Form.username_fpw.value))
	{
		alert("Kindly fill in your Username!");
		Form.username_fpw.focus();
		return false;
	}
	else 
	{
		//Form.submit();
		var unm=Form.username_fpw.value;
		ChkFpwd(unm)
	}
}

function validateemailv2(email)
{
	// a very simple email validation checking.
	// you can add more complex email checking if it helps
	var splitted = email.match("^(.+)@(.+)$");
	if(splitted == null) return false;
	if(splitted[1] != null )
	{
		var regexp_user=/^\"?[\w-_\.]*\"?$/;
		if(splitted[1].match(regexp_user) == null) return false;
	}
	if(splitted[2] != null)
	{
		var regexp_domain=/^[\w-\.]*\.[a-za-z]{2,4}$/;
		if(splitted[2].match(regexp_domain) == null)
		{
			var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
			if(splitted[2].match(regexp_ip) == null) return false;
		}
		return true;
	}
	return false;
}
function ChkBlogSub(Form)
{
	if( Form.comm.value=="" || !isNaN(Form.comm.value))
	{
		alert("Please put the comments");
		Form.comm.focus();
		return false;
	}
	return true;
}

function ChkContestSub(Form)
{
	
	if( Form.partn_title.value=="" || !isNaN(Form.partn_title.value))
	{
		alert("Please put the title");
		Form.partn_title.focus();
		return false;
	}
	else if( Form.comm.value=="" || !isNaN(Form.comm.value))
	{
		alert("Please put the comments");
		Form.comm.focus();
		return false;
	}
	return true;
}

