
function ListToHidden(sourcelist,destinationhiddenvar)
		{
				destinationhiddenvar.value="";
				for(i=0;i<sourcelist.length;i++)
					destinationhiddenvar.value=destinationhiddenvar.value+","+sourcelist.options[i].value;
		}

function CheckCalDates(FieldName,FormName)
{
	var FieldObj = eval("document."+FormName+"."+FieldName);
	for(i=0; i<FieldObj.value.length; i++)
	{
		var ch = FieldObj.value.charAt(i);
		if((ch>=0 && ch<=9) || ch=="/") {}
		else
		{
			alert("Date must be in MM/DD/YYYY format.");
			FieldObj.value='';
			FieldObj.focus();
			return false;
		}
	}
	return true;
}

function delYesNo1()
{
	if(!confirm("Are you sure you want to delete?")) return false;
	return true;
}
function delYesNo2(frmObj)
{
	if(!confirm("Are you sure you want to delete?")) return false;
	else
	{
		frmObj.submit();
		return false;
	}
}
function subForm(frmObj)
{
	if(!confirm("Are you sure?")) return false;
	else
	{
		frmObj.submit();
		return false;
	}
}
function delYesNo3(frmObj)
{
	if(confirm("Are you sure?"))
	{
		frmObj.upflg.value=2;
		frmObj.submit();
	}
	else	return false;	
	return true;	
}
function winOpen(file,width,height,top,left,scrollbars,resizable,queryString)
{
	window.open(''+file+''+queryString,'','width='+width+',height='+height+',top='+top+',left='+left+',resizable='+resizable+',scrollbars='+scrollbars);
}
function Check_Clear_All(frmObj,Toggle){
	
	if(frmObj.elements.length > 1)
	{
		for(I=0; I<frmObj.elements.length; I++)
			frmObj.elements[I].checked = Toggle;
	}
	else frmObj.elements[0].checked = Toggle;
}

function isNumeric(obj,msg)
{		
	if(obj.value.search(/[^0-9]/) != -1) // only number checking
	{
		if(msg.length > 0) alert(msg);
		else	alert('The field must contain number only');
		obj.value="";
		obj.focus();
		return false;			
	}
	return true;
}
function isNumericvalue(obj,msg)
{		
	if(obj.value.search(/[^0-9]/) != -1) // only number checking
	{
		if(msg.length > 0) alert(msg);
		else	alert('The field must contain number only');		
		obj.focus();
		return false;			
	}
	return true;
}


function isAlphaNumeric(obj)
{		
	var numaric = obj.value;
	for(var j=0; j<numaric.length; j++)
		{
		  var alphaa = numaric.charAt(j);
		  var hh = alphaa.charCodeAt(0);
		  if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123))
		  {
		  }
		else
		  {
			 obj.value="";
			 alert("This field contains only AlphaNumeric chars between (A-Z) & [0-9] only.");
			 return false;
		  }
		}
 return true;
  
}

function isPrice(obj,msg)
{	
	if((obj.value.search(/[^0-9.]/) != -1) || (dotCheck(obj.value) > 1))  
	{
		if(msg.length > 0) {alert(msg);} 
		else {alert('Field value must be valid');}
		obj.value="";
		obj.focus();
		return false;			
	}
	return true;
}
function dotCheck(val)
{
	count = 0;
	for(dot=0; dot<val.length; dot++)
	{
		if(val.substring(dot,dot+1) == '.')  count++;
	}
	return count;
}
function isEmail(obj)
{	
	var flg = true;
	var index = obj.value.indexOf("@");
	var spc = obj.value.indexOf(" ");
	if(spc == -1)
	{
		if (index > 0)
		{
			var pindex = obj.value.indexOf(".",index);
			if (!(pindex > index+1) && (obj.value.length > pindex+1))
	    		{
		    		alert("Please Enter valid e-mail i.e 'xyz@aol.com'");
			    flg=false;
			}	
	  	}
	 	else
	  	{	
	  		alert("E-mail must have '@'. Please Enter valid e-mail.");
			flg=false;
	  	}
	}
	else
	{
		alert("Space is not allowed in E-mail Address");
		flg=false;
	}	
	if(flg)
	{
		SingleQuote = obj.value.indexOf("'");
		if(SingleQuote!= -1)
		{
			alert("Single Quote is not allowed in E-mail Address");
			flg=false;
		}
	}
	if(!flg)
	{
		obj.value='';
		obj.focus();
		return false;
	}
     return true;
}


function isTrim(str)
{
	return str.replace(/\s/g,"");
}
function updownlist(direction,frmObj,frmField)
{
	updown = eval("window.document."+frmObj+"."+frmField);	
   	selectedindex = updown.selectedIndex;
	
	if( selectedindex == -1 )return;
		
	//if deadline reached then return
	if( ( direction == 1 ) && ( selectedindex == ( updown.length - 1 ) ) )return;
	
	//if deadline reached then return
	if( ( direction == -1 ) && ( selectedindex == 0 ) )return;
		
	text = updown[selectedindex].text;
	value = updown[selectedindex].value;
		
	updown[selectedindex].text  = updown[ selectedindex + direction ].text ;
	updown[selectedindex].value = updown[ selectedindex + direction ].value ;
	
	updown[ selectedindex + direction ].text = text ;
	updown[ selectedindex + direction ].value = value ;

	updown[ selectedindex + direction ].selected = true;
}
function righttrn(frmObj,LeftField,RightField)
{
	right = eval("document."+frmObj+"."+LeftField);
	left = eval("document."+frmObj+"."+RightField);
	if(right.selectedIndex == -1 )return;		
	left.options.length=left.options.length+1;		
	selectedindex = right.selectedIndex;
	if( selectedindex == -1 )return;
	left.options[left.options.length-1].text=right[selectedindex].text;
	left.options[left.options.length-1].value=right[selectedindex].value;
	for(var i=selectedindex; i<right.options.length-1; i++)
	{
		right.options[i].text=right.options[i+1].text;
		right.options[i].value=right.options[i+1].value;
	}
	right.options.length=right.options.length-1;		
}
function lefttrn(frmObj,LeftField,RightField)
{		
	right = eval("document."+frmObj+"."+LeftField);
	left = eval("document."+frmObj+"."+RightField);
	if(left.selectedIndex == -1 )return;
	right.options.length=right.options.length+1;		
	selectedindex = left.selectedIndex;
	if( selectedindex == -1 )return;
	right.options[right.options.length-1].text=left[selectedindex].text;
	right.options[right.options.length-1].value=left[selectedindex].value;
	for(var i=selectedindex; i<left.options.length-1; i++)
	{
		left.options[i].text=left.options[i+1].text;
		left.options[i].value=left.options[i+1].value;
	}
	left.options.length=left.options.length-1;
}

// focus to next field
function focNext(form,obj,len,focus_field)
{
	//alert("YES");
	s = new String();
	s = obj.value;
	if(obj.value != "")
	{
		t = parseInt(s);
		if(isNaN(t))
		{
			alert("Please Enter Numeric Value only");
			obj.value = '';		
		}
		if(obj.value.length == len)
		{
			FL = eval("form."+focus_field);
			FL.focus();
		}
	}
}
// check file extension 
function extCheck(fileObj)
{
	file_ext = fileObj.value.substring(fileObj.value.lastIndexOf('.'),fileObj.value.length);
	file_ext = file_ext.toLowerCase();
	if(file_ext == ".gif" || file_ext == ".jpg" || file_ext == ".jpeg" || file_ext==".jpe" || file_ext==".pjpeg") 
	{}
	else{
		alert("File Extension '"+file_ext+"' is not allowed");
		fileObj.focus();
		return false;
	}
	return true;
}

function validateDate(Fieldname) 
{
// Checks for the following valid date formats:
// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
// Also separates date into month, day, and year variables

//var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;

// To require a 4 digit year entry, use this line instead:
dateStr=Fieldname.value;
var datePat = /^(\d{1,2})(\/)(\d{1,2})\2(\d{4})$/;

var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null) {
alert("Date is not in a valid format.")
Fieldname.value="";
Fieldname.focus();
return false;
}
month = matchArray[1]; // parse date into variables
day = matchArray[3];
year = matchArray[4];
if (month < 1 || month > 12) { // check month range
alert("Month must be between 1 and 12." + day + month);
return false;
}
if (day < 1 || day > 31) {
alert("Day must be between 1 and 31." + day + month);
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert("Month "+month+" doesn't have 31 days!")
return false
}

if (year <= 1900)
 {
	alert("enter year greater then 1900");
	 return false; 
 }

if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29 || (day==29 && !isleap)) {
alert("February " + year + " doesn't have " + day + " days!");
return false;
   }
 }
return true;  // date is valid
}

function isDate(Month,Day,Year) // MM DD YYYY
{
	var month_array = new Array("January","February","March","April","May","June","July","Augest","September","October","November");
	if(Month == 2)
	{
		if(Day>28 && (Year%4) >0)
		{
			alert("February of "+Year+"  has only 28 days");			
			return false;
		}       
		else if(Day>29)               
		{
			alert("February of "+Year+"  has only 29 days");			
			return false;	
		}
	}
	if((Month==4 || Month==6 || Month==9 || Month==11) && Day==31)
	{
		alert(month_array[Month-1]+" has only 30 days");		
		return false;		
	}
	return true;
}

function BlankField(n,msg)
{	
	if(isTrim(msg)==''){msg = "Mandatory Fields should not be empty.";}
	if(isTrim(n.value)=='')
	{
	  alert(msg);
	  n.value='';
	  n.focus();
	  return false;
	}
	return true;
}
function BlankOptFielda(fieldObj,showMessage) 
{
	
	var defaultMessage ="It seems you did not select any option.";
	if(isTrim(showMessage) != "") defaultMessage = showMessage;
	if(fieldObj.options.selectedIndex==0)
	{
	  alert(defaultMessage);
	  fieldObj.focus();
	  return false;
	}
	return true;
}

	function blankOptField(obj) //for drop-box
	{
		if(obj.options.selectedIndex==0)
		{
		  alert("Mandatory Field should be selected.");
		  obj.focus();
		  return false;
		}
		return true;
	}
	function blankOptFieldTwo(obj) //for drop-box
	{
		if(obj.options.selectedIndex==-1)
		{
		  alert("Mandatory Field should be selected.");
		  obj.focus();
		  return false;
		}
		return true;
	}
//count chars. being entered in the field
function calcCharLeft(obj1,obj2,maxLength)
{
	if(obj1.value.length > maxLength)
	{
		obj1.value = obj1.value.substring(0,maxLength);
		charleft = 0;
	}
	else
	{
		charleft = maxLength - obj1.value.length;
	}
	if(obj2 != '') obj2.value = charleft;
}

function GoBack(actionURL,formName)
{
	formObj = eval("document."+formName);
	formObj.action = actionURL;
	formObj.submit();
}

	function validateEmail(fld)
{
	var my=fld.value;
	var attherate=my.indexOf("@");
	var lastattherate = my.lastIndexOf("@")
	var dotpos=my.lastIndexOf(".");
	var posspace = my.indexOf(" ");
	var totallen = my.length;
	
	if (attherate<=0 || dotpos<=0 || attherate > dotpos || (dotpos-attherate)<=1 || (dotpos == totallen-1) || posspace > -1 || attherate!=lastattherate)
		return false;
	else
		return true;
}	

function trim(myval)
{
	var chklen=myval.length; 
	var pos=0;
	mychar = myval.charAt(0);

	while(pos>=0 || lstpos >=0)
	{
		pos=myval.indexOf(" ");
		if (pos==0)
		{
			myval=myval.substring(1,chklen);
			chklen = myval.length;
			mychar = myval.charAt(0);
		}
		lstpos=myval.lastIndexOf(" ");

		if (lstpos==chklen-1)
		{	
			myval=myval.substring(0,chklen-1);
			chklen=myval.length;
			mychar = myval.charAt(chklen-1);
		}
		
		if(mychar!=" ")
			break;

	}
	return myval;			
}

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) 
		return false;
    }
    // All characters are numbers.
    return true;
}

function validateForm(frm,arr_compulsoryfields,arr_friendlynames)
{
	for(i=0;i<arr_compulsoryfields.length;i++)
	{
		myfld = eval("frm."+arr_compulsoryfields[i])
		
		if(trim(myfld.value) == "")
		{
			alert(arr_friendlynames[i]+" is not entered. Please enter "  + arr_friendlynames[i] + ".");			
			myfld.focus();
			return false;
		}		
	}
	return true;
}

///only numeric value entered
function num_onKeypress()
{
	var string="1234567890";
	if (string.indexOf(unescape('%' + window.event.keyCode.toString(16))) != -1) 
		window.event.returnValue = true;
	else
		window.event.returnValue = false;
}

/// Added by rakes shrivastav to accomodate decimal validation
///only numeric value entered
function numeric_onKeypress()
{
	var string=".1234567890";
	if (string.indexOf(unescape('%' + window.event.keyCode.toString(16))) != -1) 
		window.event.returnValue = true;
	else
		window.event.returnValue = false;
}

// Minimum Qunatity eneter atleast one
function HandleError(esrc)
{
	var val = parseInt(esrc.value);
	if (val < 1 )
	{
		alert ("Quantity cannot be less than one");
		esrc.value =1;
	}
}
function CheckDeleteSelection(FormName,FieldName)
{
	var elementLength,isChecked;
	isChecked = false;
	elementLength = eval('document.'+FormName+'.elements.length');
	for(var i=0; i<elementLength; i++)
	{
		tt1=eval('document.'+FormName+'.elements[i].type');
		tt2=eval('document.'+FormName+'.elements[i].name');
		tt3=eval('document.'+FormName+'.elements[i].checked');
		
		if(tt1 == 'checkbox' && tt2 == FieldName && tt3)
		{
			isChecked = true;
			break;
		}
	}
	if(!isChecked)
	{
		alert('Please select atleast one checkbox');
		return false;
	}  
	return true;	
}

function Numeric_check(myfld)
{
		if(isNaN(myfld.value))
		{
			alert("Only Numeric value allowed");	
			myfld.value="";
			myfld.focus();
			return false;
		}		
	return true;
}
function CharacterCount(CurrentField, MaxCharacter, NextFocusObject)
{
	if(CurrentField.value.length >= MaxCharacter)
		NextFocusObject.focus();
	else
		CurrentField.focus();
}
function CheckCharacterCount(CurrentField, MaxCharacter)
{
	if(CurrentField.value.length > 0)
	{
		if(CurrentField.value.length < MaxCharacter)
		{
			alert("You must have to enter "+MaxCharacter+" characters");
			CurrentField.focus();
		}
	}
}
function isValidDate(FormName,FieldName) {
// Checks for the following valid date formats:
// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
// Also separates date into month, day, and year variables

//var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;

// To require a 4 digit year entry, use this line instead:
dateStr1 = eval("document."+FormName+"."+FieldName);
dateStr=dateStr1.value;
var datePat = /^(\d{1,2})(\/)(\d{1,2})\2(\d{4})$/;

var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null) {
alert("Date is not in a valid format.")
dateStr1.value="";
dateStr1.focus();
return false;
}
month = matchArray[1]; // parse date into variables
day = matchArray[3];
year = matchArray[4];
if (month < 1 || month > 12) { // check month range
alert("Month must be between 1 and 12.");
return false;
}
if (day < 1 || day > 31) {
alert("Day must be between 1 and 31.");
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert("Month "+month+" doesn't have 31 days!")
return false
}
if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29 || (day==29 && !isleap)) {
alert("February " + year + " doesn't have " + day + " days!");
return false;
   }
}
return true;  // date is valid
}
//  End -->

 function DateDiff(StartDate,EndDate)
 {
   //Get 1 day in milliseconds
   var one_day=1000*60*60*24;
   var datePat = /^(\d{1,2})(\/)(\d{1,2})\2(\d{4})$/;
   var matchArray1 = StartDate.match(datePat);	 
    month = matchArray1[1]; // parse date into variables
    day = matchArray1[3];
    year = matchArray1[4];	 
   StartDate=new Date(year,month-1,day);
   var matchArray2 = EndDate.match(datePat);	 
    month1 = matchArray2[1]; // parse date into variables
    day1 = matchArray2[3];
    year1 = matchArray2[4];	
   EndDate=new Date(year1,month1-1,day1);
   DateDifference=Math.ceil((EndDate.getTime()-StartDate.getTime())/(one_day));
   if(DateDifference<1)
      {
	    alert("Active Till date should be greater than Active From date");
	    return false;
	 }
  else
    {
	  return true;
	}
 }

function validateList(obj,count,caption)
   {
	 if(count==1){if(!obj.checked){ alert("Please check the option" + caption); return false;}}
	 if(count >1)
	  {
	   var j = 0 ;
		for(var i = 0 ; i < count ; i++)
		 {
		  if(!obj[i].checked){j=j+1;}
		 }
		 if(i==j){alert("Please check atleast one option for " + caption ); return false;}
	  }
	  return true;
	}
function checkall(frm,field)
{ 
	if(frm.delChk.checked)
		{
			if(field.length > 1)
				{
					for (i = 0; i <field.length ; i++)
					 field[i].checked = 1 ;
				}
			else field.checked = 1 ;
		}
	else 
		{
		if(field.length > 1)
			{
				for (i = 0; i <field.length ; i++)
				 field[i].checked = 0 ;
			}
		else field.checked =0 ;
		}
}
/*function CheckDateDiffForSearch(StartDate,EndDate)
 {
   //Get 1 day in milliseconds
   var one_day=1000*60*60*24;
   var datePat = /^(\d{1,2})(\/)(\d{1,2})\2(\d{4})$/;
   var matchArray1 = StartDate.match(datePat);	 
    month = matchArray1[1]; // parse date into variables
    day = matchArray1[3];
    year = matchArray1[4];	 
   StartDate=new Date(year,month-1,day);
   var matchArray2 = EndDate.match(datePat);	 
    month1 = matchArray2[1]; // parse date into variables
    day1 = matchArray2[3];
    year1 = matchArray2[4];	
   EndDate=new Date(year1,month1-1,day1);
   DateDifference=Math.ceil((EndDate.getTime()-StartDate.getTime())/(one_day));
   if(DateDifference<0)
      {
	    alert("'To' date should be greater than or equal to 'From' date");
	    return false;
	 }
  else
    {
	  return true;
	}
 }*/
 
  function DropDownSelect(obj)
  {
	if(obj.selectedIndex==0){alert('Please Select one option.');obj.focus();return false;}
	return true;
  }