//==================================================================
//		File Name				:	functions.js																							 #
//		Author					:	Kunal B. Deshmukh																			 	 #
//		Purpose					:	This page contains all JavaScript Validation Functions								 	 #
//		Creation Date		:	13-July-2006																							 #		
//		Last Modified Date	:	31-July-2006																							 #																	
//		Last Modified By		:	Kunal B. Deshmukh																				 #		
//==================================================================

function fn_isBlank( val , msg){
		
			var objRegExp = /^[ ||\r\n]*$/;
			var re = new RegExp( objRegExp );
			if ( val.value.match(re)){
				alert ( msg );
				val.focus();
		  }else{
			  return true;
		  }
}

function fn_SearchValidate(obj)
{
	if (! fn_isBlank(obj,'Please provide valid search text')){return false;}
}

function fn_isValid(strVal, msg)
{
  strVal.value = trimAll(strVal.value);
	var regex = /^[^ <>]+[^<>]+$/;
	if(!regex.test(strVal.value))
	{
	 alert (msg);
	 strVal.focus();
	}
	else
	{
	 return true;
	}
}

function trimAll(sString)
{
  while (sString.substring(0,1) == ' ')
  {
    sString = sString.substring(1, sString.length);
  }
  while (sString.substring(sString.length-1, sString.length) == ' ')
  {
    sString = sString.substring(0,sString.length-1);
  }
  return sString;
}


function fn_isFLName( val , msg){

		var objRegExp  = /^[A-Za-z]+$/;
		 var re = new RegExp( objRegExp );
		  if (  val.value.match( re )	 ) {
			return true;				
		  }else{
			alert ( msg );
			val.focus();
		  }
	}

function fn_isName( val , msg){

		var objRegExp  = /^([A-Za-z0-9]+)([A-Za-z0-9\s\W]*)$/;
		 var re = new RegExp( objRegExp );
		  if (  val.value.match( re )	 ) {
			return true;				
		  }else{
			alert ( msg );
			val.focus();
		  }
	}


function fn_isCityState( val , msg){

		var objRegExp  = /^([A-Za-z]+)([A-Za-z\s\W]*)$/;
		 var re = new RegExp( objRegExp );
		  if (  val.value.match( re )	 ) {
			return true;				
		  }else{
			alert ( msg );
			val.focus();
		  }
	}


function fn_isAddress( val , msg){

		var objRegExp  = /^([A-Za-z0-9]+)([A-Za-z0-9\s\W]*)$/;
		 var re = new RegExp( objRegExp );
		  if (  val.value.match( re )	 ) {
			return true;				
		  }else{
			alert ( msg );
			val.focus();
		  }
	}


function fn_isEmail ( val , msg ){

		var objRegExp  = /^[0-9A-Za-z]+([\.\_]?[0-9A-Z-a-z]+)*([\@]{1})(([0-9A-Za-z\-]+)([\.]{1})([0-9A-Za-z]+))+$/;
		 var re = new RegExp(objRegExp);
		  if (val.value.match(re)) {
				return true;
		  }else{
				alert ( msg );
				val.focus();
		  }
}

function fn_isPrice( val , msg){

		var objRegExp  = /^[1-9]+([\.]?)(([0-9])*)$/;
		 var re = new RegExp(objRegExp);
		  if (val.value.match(re)) {
				return true;
		  }else{
				alert ( msg );
				val.focus();
		  }
}

function fn_isRangePrice( val , msg){

		var objRegExp  = /^[0-9]+([\.]?)(([1-9])*)$/;
		 var re = new RegExp(objRegExp);
		  if (val.value.match(re)) {
				return true;
		  }else{
				alert ( msg );
				val.focus();
		  }
}

function fn_isUserName( val , msg){

		var objRegExp  = /^([a-zA-z0-9]+)$/;
		 var re = new RegExp(objRegExp);
		  if (val.value.match(re)) {
				return true;
		  }else{
				alert ( msg );
				val.focus();
		  }
}

function fn_isNumeric( val , msg){

		var objRegExp  = /^([1-9]+[0-9]*)$/;
		 var re = new RegExp(objRegExp);
		  if (val.value.match(re)) {
				return true;
		  }else{
				alert ( msg );
				val.focus();
		  }
}

function fn_isCCNumber( val , msg){

		var objRegExp  = /^([0-9]+[0-9]*)$/;
		 var re = new RegExp(objRegExp);
		  if (val.value.match(re)) {
				return true;
		  }else{
				alert ( msg );
				val.focus();
		  }
}

// Kunal B. Deshmukh 04:30PM 24-Nov-2005 //

function fn_isPrefix(val,msg){
	
	var objRegExp = /^([\+\-]{1})$/;
	var re = new RegExp(objRegExp);
	if (val.value.match(re)){
			return true;
	}else{
			alert(msg);
			val.focus();
	}

}
// Kunal B. Deshmukh 04:30PM 24-Nov-2005 //

function fn_isPhoneMobile( val , msg)
{
		var objRegExp = /^([\+]?)([0-9]+)([\(-| )]?)([0-9]+)([\(-| )]?)([0-9]+)([\(-| )]?)$/;
		var re = new RegExp(objRegExp);
		if (val.value.match(re)){
			return true;				
	  }else{
		alert ( msg );
		val.focus();
	  }
}


function fn_isUrl( val , msg){

			var objRegExp = /^http:\/\/([\w-]+\.)[\w-]+([\w-./?%&=]*)$/;
			var re = new RegExp(objRegExp);
			if (val.value.match(re)){
				return true;				
		  }else{
			alert ( msg );
			val.focus();
		  }
}
	
	
function popUpWindow(URLStr, left, top, width, height) 
{
	if(popUpWin) 
	{ 
		if(!popUpWin.closed) popUpWin.close(); 
	}
	popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}


function fn_Validate()
{
	$strSearch = document.frmSearchProducts.txtSearch.value;
	if(!$strSearch.length > 0)
	{
		alert('Please enter the search text');
		return false;
	}
}


// ================================================================================================
// =====================MULTIPLE DELETE JAVASCRIPT CHANGES START HERE ================================
function fn_MultipleDelete(strRecords , strformName , strHiddenField)
{

// 	DECLARE VARIABLES HERE
	var boolSubmitForm;
	var delElement;
  var delElement = document.forms[strformName].elements['chkSelectMe[]'];
  if(delElement)
  {
  	var message="You are going to delete one or more records	.   \nDo you wish to continue?";
  	var boolSubmitForm;

  //GET FORM DATA HERE
  	var chlAllElement = document.forms[strformName].chkAll;

  	var len = delElement.length;
  	if(strRecords == 'selected')
  	{
  		if(len)
  		{
  	// IF MORE THAN ONE RECORDS EXISTS , THEN GO HERE
  			for (i = 0; i < delElement.length; i++)
  				if(delElement[i].checked==true)
  					boolSubmitForm = 1;
  		}else
  		{
  	// IF MORE THAN ONE RECORDS DO NOT EXIST , THEN GO HERE
  			if(delElement.checked==true)
  				boolSubmitForm = 1;
  		}
  	}else
  	{
  		boolSubmitForm = 1;
  	}
  // IF NO RECORDS ARE SELECTED THEN DO NOT SUBMIT FORM .... ELSE ..  IF RECORDS ARE SELECTED SUBMIT F
  	if(!boolSubmitForm)
  	{
  		alert('Please select atleast one record to delete.');
  		return false;
  	}

  // PROVIDE A CONFIRM MESSAGE HERE
  	var strdelete = confirm(message);
  	if (strdelete)
  	{
  // IF USER HAS SELECTED	DELETE ALL , THEN FIRST CALL THE CHECK ALL FUNCTION .. AND THEN SUBMIT THE F
  		if(strRecords == 'all')
  		{
  			chlAllElement.checked = true;
  			checkUncheckAll(strformName);
  		}
  // SET UP THE DELETE FLAG HERE
  		document.forms[strformName].elements[strHiddenField].value=1;

  // SUBMIT FORM
  		document.forms[strformName].submit();
  	}
    else
  	{
  		return false;
  	}
  }else
  {
       alert('No Records to delete in this form.') ;  return false;
  }
}

// FUNCTION TO CHECK  / UNCHECK ALL CHECK BOXES
function checkUncheckAll(strformName)
{
	var chlAllElement = document.forms[strformName].chkAll;
	var chkElement = document.forms[strformName].elements['chkSelectMe[]'];
  if(chkElement)
  {
  	len = chkElement.length;

  // 	IF THERE ARE MORE THAN ONE CHECK BOXES ON THE FORM THEN ...........
  	if(len)
  	{
  		if(chlAllElement.checked == true)
  		{
  			for (i = 0; i < chkElement.length; i++)
  				chkElement[i].checked = true ;
  		}else
  		{
  			for (i = 0; i < chkElement.length; i++)
  				chkElement[i].checked = false ;
  		}
  	}else		// 	IF THERE IS ONLY ONE CHECK BOXES ON THE FORM THEN ...........
  	{
  		if(chlAllElement.checked == true)
  		{
  			chkElement.checked = true ;
  		}else
  		{
  			chkElement.checked = false ;
  		}
  	}
  }
}
// =====================MULTIPLE DELETE JAVASCRIPT CHANGES END HERE ================================

// SET FOCUS TO FIRST INPUT ON WEB PAGE
function SetToFirstControl()
{
  var bFound = false; 
  if(document.forms.length == 1) {f=0;}else{f=1;}
 
  for ( ; f < document.forms.length; f++) 
  {
    for(i=0; i < document.forms[f].length; i++)
    {
      if (document.forms[f][i].type != "hidden") 
      { 
        if (document.forms[f][i].disabled != true) 
        {
          try {
             document.forms[f][i].focus();
             var bFound = true;
          }
          catch(er) {
          }
        }
      }
      if (bFound == true)
        break;
    }
    if (bFound == true)
      break;
  }
}
// SET FOCUS TO FIRST INPUT ON WEB PAGE
// ================================================================================================
