// JavaScript Document
function isValidEmail(str){
var email = str;
var emailRE =/^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$/;
if(email.match(emailRE)){ return true }
else {return false }
}

// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}

function check_registration()
{
	var uname = document.getElementById("uname");
	var pass = document.getElementById("pass");
	var nickname = document.getElementById("nickname");
	var fname = document.getElementById("fname");
	var dob = document.getElementById("dob");

   if(uname.value =="")
   {
	   alert("Please Enter User Name ");
	   uname.focus();
	   return false;
   }else if(!isValidEmail(trim(uname.value)))
   {
	   alert("Please Enter valid email ");
	   uname.focus();
	   return false;
   }else if(trim(pass.value)=="")
   {
	   alert("Please Enter Password ");
	   pass.focus();
	   return false;
   }else if(trim(pass.value).length<6)
   {
	   alert("Password must be 6 characters length");
	   pass.focus();
	   return false; 
   }else if(trim(nickname.value)=="")
   {
	   alert("Please Enter Your Nick Name");
	   nickname.focus();
	   return false; 
   }else if(trim(fname.value)=="")
   {
	   alert("Please Enter Your First Name");
	   fname.focus();
	   return false; 
   }else if(trim(dob.value)=="00-00-0000")
   {
	   alert("Please Enter Your Date of Birth");
	   dob.focus();
	   return false; 
   }else{
	   return true;
   }
}
function check_signin()
{
	uname = document.getElementById("uname");
	pass = document.getElementById("pass");
	
	if(uname.value =="")
   {
	   alert("Please Enter User Name ");
	   uname.focus();
	   return false;
   }else if(!isValidEmail(trim(uname.value)))
   {
	   alert("Please Enter valid email ");
	   uname.focus();
	   return false;
   }else if(trim(pass.value)=="")
   {
	   alert("Please Enter Password ");
	   pass.focus();
	   return false;
   }else if(trim(pass.value).length<6)
   {
	   alert("Password must be 6 characters length");
	   pass.focus();
	   return false; 
   }else
   {
	   return true;
   }
	
}

function check_edit()
{
  	fname = document.getElementById("fname");
	
	if(fname.value =="")
   {
	   alert("Please Enter First Name ");
	   fname.focus();
	   return false;
   }else
   {
	   return true;
   }
	   
}

function check_pass()
{
	pass = document.getElementById("pass");
	confirmpass = document.getElementById("confirmpass");
	
	if(trim(pass.value)=="")
   {
	   alert("Please Enter Password ");
	   pass.focus();
	   return false;
   }else if(trim(pass.value).length<6)
   {
	   alert("Password must be 6 characters length");
	   pass.focus();
	   return false; 
   }else if(trim(confirmpass.value)!=trim(pass.value))
   {
	   alert("Passwords are not matching");
	   confirmpass.focus();
	   return false; 
   }else{
	   return true;
   }
}

function check_forgot()
{
 	uname = document.getElementById("uname");
	
	if(uname.value =="")
   {
	   alert("Please Enter User Name ");
	   uname.focus();
	   return false;
   }else if(!isValidEmail(trim(uname.value)))
   {
	   alert("Please Enter valid email ");
	   uname.focus();
	   return false;
   }else
   {
	   return true;
   }
}
/*======================================================
function to check for delete operation
======================================================*/

function deleteRecord(formname,reviewkey){
	
	  if(confirm("Do you want to delete this reviewer?"))
	    {
	
	     formname.onaction.value = 15;
		 formname.rkey.value = reviewkey;
	     formname.action = "action.php";
	     formname.submit();
	   }
   }
   
function deleteScore(testid){
	
	  if(confirm("Do you want to delete this score ?"))
	    {
	
	     document.getElementById('onaction').value = 17;
		 document.getElementById('testid').value = testid;
	     document.myresults.action = "action.php";
	     document.myresults.submit();
	   }
   }
function changeStatus(testid,status){
	
	  if(confirm("Do you want to change the status of this result ?"))
	    {
	     document.getElementById('status').value = status;
	     document.getElementById('onaction').value = 18;
		 document.getElementById('testid').value = testid;
	     document.myresults.action = "action.php";
	     document.myresults.submit();
	   }
   }
function saveRecord(formname,option)
{
	if(formname.review.value=="")
	{
		alert("Please Enter Review Key Number");
		formname.review.focus();
		return false;
	}else{
		 formname.onaction.value = option;
		 formname.action = "action.php";
	     formname.submit();
	}
}

   function get_results()
   {
	 var userid = document.getElementById('users').value; 
	 if(userid=="")
	 {
		 //alert("Select user");
		 return false;
	 }
	   //alert("this is user id "+userid);
       var req = new JsHttpRequest();
       // Code automatically called on load finishing.
      req.onreadystatechange = function() {
            if (req.readyState == 4) 
			{
			//alert(req.responseText);
			show('resultbox');
			 ge('resultbox').innerHTML=req.responseText;
             }
	  }
	  
           // Prepare request object (automatically choose GET or POST).
            req.open(null, 'getresults.php', true);
           // Send data to backend.
		  req.send( {'userid':userid} );
				  
   
   }
   
   function get_scores()
   {
	 var testname = document.getElementById('tests').value; 
	 if(testname=="")
	 {
		 //alert("Select user");
		 return false;
	 }
	   //alert("this is user id "+userid);
       var req = new JsHttpRequest();
       // Code automatically called on load finishing.
      req.onreadystatechange = function() {
            if (req.readyState == 4) 
			{
			//alert(req.responseText);
			show('scorebox');
			 ge('scorebox').innerHTML=req.responseText;
             }
	  }
	  
           // Prepare request object (automatically choose GET or POST).
            req.open(null, 'getscores.php', true);
           // Send data to backend.
		  req.send( {'testname':testname} );
				  
   
   }
function hide(){for(var i=0;i<arguments.length;i++){var element=ge(arguments[i]);if(element&&element.style)element.style.display='none';}
return false;}

function show(){for(var i=0;i<arguments.length;i++){var element=ge(arguments[i]);if(element&&element.style)element.style.display='';}
return false;}


function ge(id)
{
	if(typeof(id)=='undefined'){Util.error('Tried to get an undefined element!');return null;}
     var obj;
	 if(typeof(id)=='string')
	 {
		 obj=document.getElementById(id);
	//   if(!(ua.ie()>=7)){return obj;}
         if(!obj){return null;}
	     else if(typeof(obj.id)=='string'&&obj.id==id){return obj;}
	     else{
			 var candidates=document.getElementsByName(id);
	         if(!candidates||!candidates.length){return null;}
             var maybe=[];
	         for(var ii=0;ii<candidates.length;ii++)
	          {
		     var c=candidates[ii];if(!c.id&&id){continue;}
             if(typeof(c.id)=='string'&&c.id!=id){continue;}
             maybe.push(candidates[ii]);
	        }
		   if(maybe.length!=1)
		   {
			 Util.error('ge() failed in a bizarre complicated edge case. Check comments.');
			 return null;
			}
          return maybe[0];
	     }
	 }else{return id;}
  return null;
}

function openpopup(popurl,wd,ht){

var winpops=window.open(popurl,"","width=700,height=450,scrollbars,resizable");

}
