// JavaScript Document

/*
Author : Nandita N Ambe
Email  : nanditaambe@benchmarkitsolutions.com
Date   : 8-Aug-2008
*/

//-------------------------------Place Cusror User-------------------------------
function placeCursor(fldName)
{
	fldName.focus();
}
//------------------------------Email-------------------------------
var testresults

function checkEmail(str,errorMessage)
{
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	//var filter=/^.+\@.+\..+$/
	if (filter.test(str.value))
	{	
		testresults=false
	}
	else
	{
		alert(errorMessage);
		str.value="";
		str.focus();	
		testresults=true;
	}

	return (testresults)
}
//-------------------------------Trim-------------------------------
function trim(str) 
{ 
  if(str.charAt(0) == " ")
  {  
  	str = trim(str.substring(1));
  }
  
  if (str.charAt(str.length-1) == " ")
  { 
  	str = trim(str.substring(0,str.length-1));
  }
  
  return str;
  
}
//-------------------------------Empty Field-------------------------------
var chkEmpty

function checkEmpty(formFld,errorMessage)
{
	var fld=trim(formFld.value);
	formFld.value=fld;
	
	if(fld=="")
	{
		chkEmpty=true
		alert(errorMessage)
		formFld.focus()
	}
	else
	{
		chkEmpty=false
	}
	
	return (chkEmpty)	
}




//-------------------------------Compare two strings-------------------------------
function compareStrings(string1,string2,errorMessage)
{
	string3=trim(string1.value);
	string4=trim(string2.value);
	
	if(string3==string4)
	{
		return true
	}
	else
	{
		alert(errorMessage);
		string2.value="";
		string2.focus()	
		return false
	}
}
//-------------------------------Check Number-------------------------------
var testresult
function checkNumber(numbr,errorMessage)
{

	//var x=document.checknum.pnum.value
	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if (anum.test(numbr.value))
		testresult=false
	else
	{
		alert(errorMessage)
		numbr.value=""
		numbr.focus()
		testresult=true
	}
	
	return (testresult)
}

//-------------------------------chech only number-------------------------
var testresult
function checkNumberOnly(numbr,errorMessage)
{

	//var x=document.checknum.pnum.value
	var anum=/(^\d+$)|(^\d+\\d+$)/
	if (anum.test(numbr.value))
		testresult=false
	else
	{
		alert(errorMessage)
		numbr.value=""
		numbr.focus()
		testresult=true
	}
	
	return (testresult)
}
//-------------------------------IsCharacter-------------------------------

var testresult
function checkAlphaStr(str,errorMessage)
{

	var anum=/^[a-zA-Z\s]+$/

	if (anum.test(str.value))
		testresult=false
	else
	{
		alert(errorMessage)
		str.value=""
		str.focus()
		testresult=true
	}
	
	return (testresult)
}
//-------------------------------AlphaNumeric-------------------------------
var testresult
function checkAlphaNum(str,errorMessage)
{
	var anum=/^[a-zA-Z0-9_]+$/
	if (anum.test(str.value))
		testresult=false;
	else
	{
		alert(errorMessage)
		//str.value="";
		str.focus()
		testresult=true;
	}
	
	return (testresult)
}
//-------------------------------USERNAME-------------------------------
var testresult
function checkUsername(str,errorMessage)
{
	var anum=/^[a-zA-Z0-9_-]+$/
	if (anum.test(str.value))
		testresult=true
	else
	{
		alert(errorMessage)
		str.focus()
		testresult=false
	}
	
	return (testresult)
}

//-------------------------------Validate US zip-------------------------------
var testresult
function checkUsZip(numbr,errorMessage)
{
	var anum=/^\d{5}$/
	if (anum.test(numbr.value))
		testresult=true
	else
	{
		alert(errorMessage)
		numbr.value=""
		numbr.focus()
		testresult=false
	}

	return (testresult)
}
//-------------------------------Validate UK zip-------------------------------
function checkUkZip(numbr,errorMessage) 
{
	if (!/(^[A-Z]{1,2}[A-Z0-9]{1,2})([0-9][A-Z]{2}$)/i.test(numbr.value)) 
	{
		if(!/[A-Z]{1,2}[A-Z0-9]{1,2} ?[0-9][A-Z]{2}/i.test(numbr.value))
		{
			alert(errorMessage)
			numbr.value=""
			numbr.focus()
			return false;
		}
	}
	return true;
}
//-------------------------------Floating Point-------------------------------
var testresult
function checkFloat(str,errorMessage)
{
	var anum=/^((\d+(\.\d*)?)|((\d*\.)?\d+))$/
	if (anum.test(str.value))
		testresult=true
	else
	{
		alert(errorMessage)
		str.value=""
		str.focus()
		testresult=false
	}
	
	return (testresult)
}
//-------------------------------Check White Space-------------------------------
function checkSpace (str,errorMessage)
{
    var anum=/\s/
	if (anum.test(str.value))
	{
		alert(errorMessage)
		//str.value=""
		str.focus()	
		testresult=true
	}
	else
	{
		testresult=false
	}
	
	return (testresult)
}
//-------------------------------Validate Phone-------------------------------
function checkPhoneNumber(TheNumber1,errorMessage) 
{
	var TheNumber=TheNumber1.value
	//alert(TheNumber.length)
	if(TheNumber.length > 20)
	{
		alert("Invalid Length");
		return false
	}
	//alert(errorMessage)
	
	var valid = 1
	var GoodChars = "0123456789()-+ "
	var i = 0
	for (i =0; i <= TheNumber.length -1; i++) 
	{
		if (GoodChars.indexOf(TheNumber.charAt(i)) == -1) 
		{
			alert(errorMessage)
			TheNumber1.value="";
			TheNumber1.focus()
			return false
		} // End if statement
	} // End for loop
	return true
}
//-------------------------------Validate Radio buttons-------------------------------
function checkRadion(str,errorMessage)
{
	var found_it=0

	for (var i=0; i<str.length; i++)  
	{ 
		if (str[i].checked)  
		{
			found_it = 1
		} 
	}
	
	return (found_it);
}

//-------------------------------Validate Check boxes-------------------------------
function checkCheckBox(str,errorMessage)
{
//Check if the items are selected
		var flag=0;
		 elmlen = document.forms[str].elements.length;
		  for(var j=0;j<elmlen;j++)
		  {
			if(document.forms[str].elements[j].type == "checkbox")
			{	
				if(document.forms[str].elements[j].checked == true)
				{
					flag=1
				}
			}
		  }
		  
		  if(flag==0)
		  {
			  alert(errorMessage);
			  return false
		  }
		  else
		  {
			  return true
		  }
		  
}

//-------------------------------Select All (checkbox)-------------------------------
function selectAll(str)
{
		  elmlen = document.forms[str].elements.length;
		  for(var j=0;j<elmlen;j++)
		  {
			if(document.forms[str].elements[j].type == "checkbox")
			{	
				/*if(document.forms[str].elements[j].checked == true)
				{
					document.forms[str].elements[j].checked = false;
				}
				else
				{*/
					if(document.forms[str].selectAllFlag.value==0)
					{
						document.forms[str].elements[j].checked = true;
					}
					else
					{
						document.forms[str].elements[j].checked = false;
					}
						
				//}
			}
		  }
		  
		  if(document.forms[str].selectAllFlag.value==0)
			{
				document.forms[str].selectAllFlag.value=1;
			}
		else
			{
				document.forms[str].selectAllFlag.value=0;
			}
		 
}

//-------------------------------Perform operation on selected items (example to delete the selected records)-------------------------------
function operateSingleItem(confirmMessage,redirectPage)
{
	
	
		if(confirmMessage!="")
		{
	    	if(confirm(confirmMessage))
   	    	{
				window.location=redirectPage;
				return false;
			}
		}
		else
		{
				window.location=redirectPage;
				return false;
		}
}

//-------------------------------Perform operation on selected items (example to delete the selected records)-------------------------------
function operateSelected(str,errorMessage,confirmMessage,redirectPage)
{
		  if(!checkCheckBox(str,errorMessage))
		  {
			  return false
		  }
		  else
		  {
			    if(confirm(confirmMessage))
				  {
						//alert(redirectPage)
						//window.location=redirectPage;
						document.frmform.action=redirectPage;
						document.frmform.submit();
				  }
			  
		  }
	
}
//-------------------------------Validate List box-------------------------------

//-------------------------------String Length-------------------------------
function checkLength(str,minLength,maxLength,errorMessage)
{
	if((str.value.length>=minLength) && (str.value.length<=maxLength))
	{ 
		return true
	}
	else
	{
		alert(errorMessage);
		str.focus();
		return false
	}
}
//-------------------------------Validate URL-------------------------------
function checkUrl(theurl,errorMessage) 
{
  	var tomatch= /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/
    if (tomatch.test(theurl.value))
    {
          return true;
    }
    else
    {
        alert(errorMessage);
		theurl.value="";
		theurl.focus();
        return false; 
    }
}

function sortOptions(page,orderby,sortopt)
{
	document.frmform.action=page+"?orderby="+orderby+"&sort="+sortopt+"";
	document.frmform.submit();
}

function sortOptionsVideo(page,orderby,sortopt,videoname)
{
	document.frmform.action=page+"?orderby="+orderby+"&sort="+sortopt+"&videoname="+videoname+"";
	document.frmform.submit();
}

function sortOptionsAll(page,orderby,sortopt,videoname,status)
{
	document.frmform.action=page+"?orderby="+orderby+"&sort="+sortopt+"&busername="+videoname+"&status="+status+"";
	document.frmform.submit();
}

function sortOptionsAllVid(page,orderby,sortopt,videoname,status,stype)
{
	
	document.frmform.action=page+"?orderby="+orderby+"&sort="+sortopt+"&busername="+videoname+"&status="+status+"&stype="+stype+"";
	document.frmform.submit();
}

function sortOptionsSent(page,orderby,sortopt,sent)
{
	document.frmform.action=page+"?orderby="+orderby+"&sort="+sortopt+"&dob="+sent+"";
	document.frmform.submit();
}

function numbersonly(e)
{		

	var unicode=e.charCode? e.charCode : e.keyCode;		
	//alert(unicode)
	if (unicode!=8 && unicode !=9 && unicode !=46  &&  unicode !=39 &&  unicode != 46 &&  unicode !=  34 &&  unicode !=  43 &&  unicode !=  40 &&  unicode !=  41 &&  unicode !=  32)
	{ 	
		//if the key isn't the backspace,Tab key (which we should allow)
		if (unicode<48||unicode>57) //if not a number
			return false; //disable key press
	}
}

function number_only(e)
{		

	var unicode=e.charCode? e.charCode : e.keyCode;		
	
	if (unicode!=8 && unicode !=9 && unicode !=46  &&  unicode !=39 &&  unicode != 46 &&  unicode !=  34 &&  unicode !=  32)
	{ 	
		//if the key isn't the backspace,Tab key (which we should allow)
		if (unicode<48||unicode>57) //if not a number
			return false; //disable key press
	}
}

function phonenumbersonly(e)
{		

	var unicode=e.charCode? e.charCode : e.keyCode;		

	if (unicode!=8 && unicode !=9 && unicode !=46  &&  unicode !=39 &&  unicode != 46 &&  unicode !=  34 && unicode != 40 && unicode != 41 && unicode != 32 && unicode != 45)
	{ 	
		//if the key isn't the backspace,Tab key (which we should allow)
		if (unicode<48||unicode>57) //if not a number
			return false; //disable key press
	}
}

function checktags(formFld,msg)
{
	var fld=trim(formFld.value);
	formFld.value=fld;
	
	
	   var re = new RegExp('<[a-zA-Z]+\>');	   	 
	   //var re2 = new RegExp('[-/_?<>/{/}/[/]|]');
	   var re2 = new RegExp('[<>]');
	   if (formFld.value.match(re)) 
	   {
   			alert(msg);
			formFld.focus()
   			chktags=true; 
	   }
	   else if (formFld.value.match(re2)) 
		{
      		alert(msg);
			formFld.focus()
   			chktags=true; 
		}
	   else
		chktags=false;	   
	
	
	return (chktags)
}

/*------------------Validation for SSN number--------------------*/
var valssn
function SSNValidation(ssnval,erromsg) 
{
	ssn = ssnval.value;
	var matchArr = ssn.match(/^(\d{3})-?\d{2}-?\d{4}$/);
	var numDashes = ssn.split('-').length - 1;
	if (matchArr == null || numDashes == 1)
	{
	valssn=true;
	alert('Invalid SSN. Must be 9 digits or in the form NNN-NN-NNNN.');
	//msg = "does not appear to be valid";
	ssnval.focus();
	
	}
else 
if (parseInt(matchArr[1],10)==0)
{
	valssn = true;
	alert("Invalid SSN: SSN's can't start with 000.");
	ssnval.focus();
	//msg = "does not appear to be valid";
	
}
else 
{
	return false;
	/*msg = "appears to be valid";
	valssn = true;
	alert(ssn + "\r\n\r\n" + msg + " Social Security Number.");
	ssnval.focus();*/
	
}
return (valssn);
}