// JavaScript Document

/*
Author : Nandita N Ambe
Email  : nanditaambe@benchmarkitsolutions.com
Date   : 8-Aug-2008
*/

//-------------------------------User Header functions-------------------------------
	function MM_swapImgRestore() 
	{ //v3.0
  		var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}

	function MM_preloadImages() 
	{ //v3.0
	  	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}

	function MM_findObj(n, d) 
	{ //v4.01
		var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  		for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  		if(!x && d.getElementById) x=d.getElementById(n); return x;
	}

	function MM_swapImage() 
	{ //v3.0
  		var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
		if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}		
	
//-------------------------------Place Cusror User-------------------------------
function OnLoadUser(fldName)
{
	MM_preloadImages('<?=IMAGE_PATH_HTTP ?>nav1_over.gif','<?=IMAGE_PATH_HTTP ?>nav2_over.gif','<?=IMAGE_PATH_HTTP ?>nav3_over.gif','<?=IMAGE_PATH_HTTP ?>nav4_over.gif','<?=IMAGE_PATH_HTTP ?>nav5_over.gif','<?=IMAGE_PATH_HTTP ?>nav6_over.gif','<?=IMAGE_PATH_HTTP ?>nav7_over.gif','<?=IMAGE_PATH_HTTP ?>nav8_over.gif','<?=IMAGE_PATH_HTTP ?>nav9_over.gif','<?=IMAGE_PATH_HTTP ?>nav10_over.gif','<?=IMAGE_PATH_HTTP ?>nav11_over.gif')
	placeCursor(fldName)
}

//-------------------------------Place Cusror User without focus-------------------------------
function OnLoadUser1()
{
	MM_preloadImages('<?=IMAGE_PATH_HTTP ?>nav1_over.gif','<?=IMAGE_PATH_HTTP ?>nav2_over.gif','<?=IMAGE_PATH_HTTP ?>nav3_over.gif','<?=IMAGE_PATH_HTTP ?>nav4_over.gif','<?=IMAGE_PATH_HTTP ?>nav5_over.gif','<?=IMAGE_PATH_HTTP ?>nav6_over.gif','<?=IMAGE_PATH_HTTP ?>nav7_over.gif','<?=IMAGE_PATH_HTTP ?>nav8_over.gif','<?=IMAGE_PATH_HTTP ?>nav9_over.gif','<?=IMAGE_PATH_HTTP ?>nav10_over.gif','<?=IMAGE_PATH_HTTP ?>nav11_over.gif')
}

//-------------------------------Place Cusror -------------------------------
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
var chktags
var chktags1

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)	
}


function checktags(formFld)
{
	var fld=trim(formFld.value);
	formFld.value=fld;
	
	if(fld!="")
	{
	   var re = new RegExp('<[a-zA-Z]+\>');	   	 
	   //var re2 = new RegExp('[-/_?<>/{/}/[/]|]');
	   var re2 = new RegExp('[-_?<>|]');
	   if (formFld.value.match(re)) 
	   {
   			alert("Please enter valid content.");
			formFld.focus()
   			chktags=true; 
	   }
	   else if (formFld.value.match(re2)) 
		{
      		alert("Please enter valid content.");
			formFld.focus()
   			chktags=true; 
		}
	   else
		chktags=false;	   
	}
	
	return (chktags)
}


function checktags1(formFld,errorMessage)
{
	var fld=trim(formFld.value);
	formFld.value=fld;
	
if(fld=="")
	{
		chktags=true
		alert(errorMessage)
		formFld.focus()
	}	
	else if(fld!="")
	{
	   var re = new RegExp('<[a-zA-Z]+\>');	   	 
	   //var re2 = new RegExp('[-/_?<>/{/}/[/]|]');
	   var re2 = new RegExp('[-_?<>|]');
	   if (formFld.value.match(re)) 
	   {
   			alert("You have attempted to submit a text field which contains disallowed characters.\nPlease make sure your content doesn't contain any of the following characters: < >");
			formFld.focus()
   			chktags=true; 
	   }
	   else if (formFld.value.match(re2)) 
		{
      		alert("You have attempted to submit a text field which contains disallowed characters.\nPlease make sure your content doesn't contain any of the following characters: < >");
			formFld.focus()
   			chktags=true; 
		}
	   else
		chktags=false;	   
	}
	
	return (chktags)
}

//-------------------------------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=true
	else
	{
		alert(errorMessage)
		numbr.value=""
		numbr.focus()
		testresult=false
	}
	
	return (testresult)
}
//-------------------------------IsCharacter-------------------------------
var testresult
function checkAlphaStr(str,errorMessage)
{
	var anum=/^[a-zA-Z]+$/
	if (anum.test(str.value))
		testresult=true
	else
	{
		alert(errorMessage)
		str.value=""
		str.focus()
		testresult=false
	}
	
	return (testresult)
}
//-------------------------------AlphaNumeric-------------------------------
var testresult
function checkAlphaNum(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.focus()	
		testresult=true
	}
	else
	{
		testresult=false
	}
	
	return (testresult)
}
//-------------------------------Validate Phone-------------------------------
function checkPhoneNumber(TheNumber1,errorMessage) 
{
	var TheNumber=TheNumber1.value
	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
	alert(str.length)

	for (var i=0; i<str.length; i++)  
	{ 
		if (str[i].checked)  
		{
			found_it = 1
		} 
	}
	alert(found_it)
	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
		  }
		  
}

function checkRadios(str)
{

//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 == "radio")
			{	
				if(document.forms[str].elements[j].checked == true)
				{
					flag=1
				}
			}
		  } 
		
		return flag;  
}

//-------------------------------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;
			}
		 
}


function SetAllCheckBoxes(FormName, FieldName, CheckValue)
{
	
 if(!document.forms[FormName])
  return;
 var objCheckBoxes = document.forms[FormName].elements[FieldName];

 if(!objCheckBoxes)
  return;
 var countCheckBoxes = objCheckBoxes.length;

 if(!countCheckBoxes)
 {
  objCheckBoxes.checked = CheckValue.checked;
 }
 else
 {
	
  // set the check value for all check boxes
  for(var i = 0; i < countCheckBoxes; i++){
	  if(objCheckBoxes[i].disabled != true)
	  {
		  
	   objCheckBoxes[i].checked = CheckValue.checked;
	  }
  }
 }
}


//-------------------------------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))
				  {
						window.location=redirectPage;
				  }
			  
		  }
	
}
//-------------------------------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; 
    }
}
//-------------------------------valid image
function validateImage(obj)
{
	
	if (obj.value != "") {  
	  var image_val= obj.value.toLowerCase();
	  var  imagearr = image_val.split  (".");
	  var  arrlen = imagearr.length;
	  var strval ;
	  strval = imagearr[arrlen-1];
	 var extarr = ["jpg","jpeg","gif","png"];
	
	  flag =0;
	  for(i=0;i<extarr.length;i++){
	   if(extarr[i] == strval){
	   flag = 1;
	   break;
	   }
	  }
	  if(flag == 0)
	  return false;
	  else
	  return true;	
	}


}

//-------------- validate zip file
function validateZip(obj)
{
	
	if (obj.value != "") {  
	  var image_val= obj.value.toLowerCase();
	  var  imagearr = image_val.split  (".");
	  var  arrlen = imagearr.length;
	  var strval ;
	  strval = imagearr[arrlen-1];
	
	
	  flag =0;
	 
	   if(strval == 'zip'){
	   flag = 1;	 
	   }
	 
	  if(flag == 0)
	  {	 
	  return false;
	  }
	  else
	  return true;	
	}
	
}
//--------------------- keypress events ------------------------
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 &&  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 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 dateonly(e)
{		

	var unicode=e.charCode? e.charCode : e.keyCode;		

	if (unicode!=8 && unicode !=9 && unicode !=46  &&  unicode !=39 &&  unicode != 46 &&  unicode !=  34 && unicode != 47 )
	{ 	
		//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 usernameonly(e)
{
	
	var unicode=e.charCode? e.charCode : e.keyCode;	
	
	if (unicode!=8 && unicode !=9 && unicode !=32 &&  unicode != 46 && unicode !=  45 && unicode != 95)
	{ 	
		//if the key isn't the backspace,Tab key (which we should allow)
		//(unicode<65||unicode>90)&&
		if ((unicode<97||unicode>122) &&  (unicode<48||unicode>57) && unicode != 40 && unicode != 41)//if not an alphabet
		{
			if (unicode<65||unicode>90)//if not capital alphabet
			return false; //disable key press
		}
	}
}



function getYear(y) {
  return (y<1000)? 1900+y :y;
}
function DateDiff(date1, date2)
{  
  date1 = date1.split("/");
  date2 = date2.split("/"); 
  var DateF   =  new Date (date1[2], date1[1], date1[0], 0, 0,0,0);
  var DateT   =  new Date (date2[2], date2[1], date2[0], 0, 0,0,0);

  var one_day  = 1000*60*60*24;
  return Math.round((DateT.getTime()-DateF.getTime())/(one_day));
}


function isValidDate(date) {

 if (date.length ==0) return true;  
  sp=date.split("/");
  d=sp[1];
  m=sp[0];
  m=m-1;
  y=sp[2];
  var curDt;
  curDt = new Date();

  tempdate=new Date(y,m,d);

  var sDate = sp[1] + "/" + sp[0] + "/" + sp[2]; // user entered date (date formate : dd/mm/yyyy )
  var serverDate = curDt.getDate() + "/"+ (curDt.getMonth()+1) + "/"+ getYear(curDt.getYear()); // current date (date formate : dd/mm/yyyy )

  var diff = DateDiff(sDate, serverDate );

  if(diff > 0) 
  {  
   return true; 
  }
  else {
	   
  //alert("Date Should Not Be Greater Than Today's Date");     
   return false;
  }

}

function isValidDategreater(date) {

 if (date.length ==0) return true;  
  sp=date.split("/");
  d=sp[1];
  m=sp[0];
  m=m-1;
  y=sp[2];
  var curDt;
  curDt = new Date();

  tempdate=new Date(y,m,d);

  var sDate = sp[1] + "/" + sp[0] + "/" + sp[2]; // user entered date (date formate : dd/mm/yyyy )
  var serverDate = curDt.getDate() + "/"+ (curDt.getMonth()+1) + "/"+ getYear(curDt.getYear()); // current date (date formate : dd/mm/yyyy )
  var diff = DateDiff(serverDate , sDate );

  if(diff >= 0) 
  {  
   return true; 
  }
  else {
	   
  //alert("Date Should Not Be Greater Than Today's Date");     
   return false;
  }

}

//-----------------current date -----------
function istoday(date)
{
	

 if (date.length ==0) return true;  
  sp=date.split("/");
  d=sp[1];
  m=sp[0];
  m=m-1;
  y=sp[2];
  var curDt;
  curDt = new Date();

  tempdate=new Date(y,m,d);

  var sDate = sp[1] + "/" + sp[0] + "/" + sp[2]; // user entered date (date formate : dd/mm/yyyy )
  var serverDate = curDt.getDate() + "/"+ (curDt.getMonth()+1) + "/"+ getYear(curDt.getYear()); // current date (date formate : dd/mm/yyyy )

  var diff = DateDiff(sDate, serverDate );

  if(diff == 0) 
  {  
   return true; 
  }
  else {
	   
  //alert("Date Should Not Be Greater Than Today's Date");     
   return false;
  }


}
//-------------------------------Validate Stock-------------------------------
function checkStock(TheNumber1,errorMessage) 
{
	var TheNumber=TheNumber1.value
	
	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 true
		} // End if statement
	} // End for loop
	return false
}


