function DelYesNo2(frmObj,flg)
{	
	switch (flg)
	{
	
		case 1:		
				if(!confirm("Are you sure you want to delete?")) return false;
				else
				{
					frmObj.submit();
					return false;
				}
		case 2:
				if(!confirm("Are you sure?")) return false;
				else
				{
					frmObj.submit();
					return false;
				}
		case 1: 
				if(!confirm("Are you sure you want to delete?")) 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 PopUp(file,width,height,top,left,scrollbars,resizable,queryString)
{
	var newWin=window.open(''+file+''+queryString,'Details','width='+width+',height='+height+',top='+top+',left='+left+',resizable='+resizable+',scrollbars='+scrollbars);
	newWin.focus();
}
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)
{		
	if(obj.value.search(/[^0-9]/) != -1) // only number checking
	{
		alert('The field must contain number only');
		obj.value="";
		obj.focus();
		return false;			
	}
	return true;
}
function IsPrice(obj,showMessage)
{	
	var defaultMessage ="Field value must be valid";
	if(showMessage && isTrim(showMessage) != "") defaultMessage = showMessage;
	
	if((obj.value.search(/[^0-9.]/) != -1) || (DotCheck(obj.value) > 1))  
	{
		alert(defaultMessage);
		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;
	}	
	var len=(obj.value.length)-1
	var m=obj.value.charAt(len);
	var n=m.charCodeAt(0);
	if(!(n<91 && n>64) && !(n<123 && n>96))
	{
		alert("Last  character must be alphabetic.");
		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)
{
	
	var str1 = new String(str);
	return str1.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" || file_ext==".bmp") 
	{}
	else
	{
		alert("File Extension '"+file_ext+"' is not allowed");
		fileObj.focus();
		return false;		
	}
	return true;
}

 function isDate(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:
var dateStr=isTrim(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
}

// form field validations except drop-box, radio-box, check-box
function BlankField(fieldObj,showMessage)
{
	var defaultMessage ="Mandatory Field should not be left blank";
	if (showMessage) defaultMessage = showMessage;
	var str=new String(fieldObj.value)
	
	if(isTrim(str)=="")
	{
	  alert(defaultMessage);
	  fieldObj.value="";
	  fieldObj.focus();
	  return false;
	}
	return true;
}
function radioCheck(obj,msg)
{
	
	var isChecked=false;
	for(i=0;i<obj.length;i++)
	isChecked = (isChecked || obj[i].checked);
	if(!isChecked)
		{
			alert(msg);
			obj[0].focus();
			return false;
		}	
	else
		return true;
}
					
//for drop-box
function BlankOptField(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;
}

//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;
}

// give alert if chacacters are more than given limit
function GoBack(actionURL,formName)
{
	formObj = eval("document."+formName);
	formObj.action = actionURL;
	formObj.submit();
}
function IsJScript(obj)
{
	var flg = true;                         
    var index0 = obj.value.indexOf("&lt;");
    var str = obj.value.toLowerCase();
	var index1 = str.indexOf("script");    
    if(index0 >=0  && index1 >=0)
	 {
		alert("Do not place script as input data.");
		//obj.value = "";
		//obj.focus();
		return false;
	 }
	return true;
}

function IsDateDiff(StartDate,EndDate)
 {  // mm/dd/yyyy format only
 	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];
	day = matchArray1[3];
	year = matchArray1[4];
	StartDate=new Date(year,month-1,day);
	var matchArray2 = EndDate.match(datePat);
	month1 = matchArray2[1];
	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("Start date should be greater than End date.");
	 return false;
	}
	else{return true;}
 }

function LenCheck(obj,num,showMessage)
{
	var defaultMessage ="You can enter maximum "+num+" characters only.";
	if(isTrim(showMessage) != "") defaultMessage = showMessage;
	if(obj.value.length>num)
	{
		alert(defaultMessage);
		obj.focus();
		return false;
	}
	return true;
}

function CheckVaildCard(objField,ObjType)
  { 
   // Check valid card type For it you have to pass type of card in numeric and card number 
   // this function is valid for VISA , DISCOVER , AMERICAN EXPRESS AND MASTER CARDS 
   // visa card always start from 4 , MC - 5 , AMEX - 3 , DISCOVER - 6
   var MCCardPat = /^[5][0-9]{3}(-)[0-9]{4}(-)[0-9]{4}(-)[0-9]{4}$/; //  MC card always start from 5 length - 16 
   var AMEXCardPat = /^[3][0-9]{3}(-)[0-9]{6}(-)[0-9]{5}$/; //  AMEX  card always start from 3 length - 15  
   var VISACardPat = /^[4][0-9]{3}(-)[0-9]{4}(-)[0-9]{4}(-)[0-9]{4}$/; // visa card always start from 4 length - 16
   var DISCardPat = /^[6][0-9]{3}(-)[0-9]{4}(-)[0-9]{4}(-)[0-9]{4}$/; // Discover card always start from 6  length - 16
   
   if(ObjType.value == 0){alert("Please Select Card Type");ObjType.focus();return false;}
   if(isTrim(objField.value) == ""){alert("Please Enter Card Number");objField.focus();return false;}
   if(objField.value.search(/[^0-9-]/) != -1){alert("Not Valid Card Number");objField.focus();return false;}
   if(ObjType.value == 1 && isTrim(objField.value).search(MCCardPat) == -1){alert("Not valid Master Card Number or Format");objField.focus();return false;}  
   if(ObjType.value == 2 && isTrim(objField.value).search(AMEXCardPat) == -1){alert("Not valid Amax Card Number or Format");objField.focus();return false;}  
   if(ObjType.value == 3 && isTrim(objField.value).search(VISACardPat) == -1){alert("Not valid Visa Card Number or Format");objField.focus();return false;}  
   if(ObjType.value == 4 && isTrim(objField.value).search(DISCardPat) == -1){alert("Not valid Discover Card Number or Format");objField.focus();return false;}  
   return true;
  }
 function compareFields(objField1,objField2,showMessage)
 {
 	var defaultMessage ="Both value doesn't match";
	if(isTrim(showMessage) != "") defaultMessage = showMessage;
 
 	if(objField1.value != objField2.value)
 	{
 		alert(defaultMessage);
 		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 moveAll(objID1, objID2)
	{
	obj1 = document.getElementById(objID1);
	obj2 = document.getElementById(objID2);		
	for(i=0;i<obj1.options.length;i++)
	{
		obj2.options.length=obj2.options.length + 1;
		obj2.options[obj2.options.length-1].text=obj1.options[i].text;
		obj2.options[obj2.options.length-1].value=obj1.options[i].value;
	}
	for(i=obj1.options.length-1;i>=0;i--)
	{
		obj1.options[i]=null;
	}
}
function moveSingle(objID1,objID2)
{
	obj1 = document.getElementById(objID1);
	obj2 = document.getElementById(objID2);		
	for(i=obj1.options.length-1;i>=0;i--)
	{
		if(obj1.options[i].selected)
		{
			obj2.options.length=obj2.options.length + 1;
			obj2.options[obj2.options.length-1].text=obj1.options[i].text;
			obj2.options[obj2.options.length-1].value=obj1.options[i].value;
			obj1.options[i]=null;
		}
	}
}

function formatCurrency(num) 
{
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
	{ 
	c_start=c_start + c_name.length+1; 
	c_end=document.cookie.indexOf(";",c_start);
	if (c_end==-1) c_end=document.cookie.length;
	return unescape(document.cookie.substring(c_start,c_end));
	} 
  }
return "";
}
function Set_Cookie( name, value, expires, path, domain, secure ) 
{
// set time, it's in milliseconds
var today = new Date();
today.setTime( today.getTime() );

/*
if the expires variable is set, make the correct 
expires time, the current script below will set 
it for x number of days, to make it for hours, 
delete * 24, for minutes, delete * 60 * 24
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
( ( path ) ? ";path=" + path : "" ) + 
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}

function setCookie(c_name,value,expiredays)
{var exdate=new Date();exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function isTime(field) 
{
	// Checks if time is in HH:MM:SS AM/PM format.
	// The seconds and AM/PM are optional.
	timeStr = field.value;
	var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;
	
	var matchArray = timeStr.match(timePat);
	if (matchArray == null) {
		alert("Time is not in a valid format.");
		return false;
	}
	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];
	
	if (second=="") { second = null; }
	if (ampm=="") { ampm = null }
	
	if (hour < 0  || hour > 23) {
		alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
		return false;
	}
	if (hour <= 12 && ampm == null) {
	if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {
		alert("You must specify AM or PM.");
		return false;
	   }
	}
	if  (hour > 12 && ampm != null) {
		alert("You can't specify AM or PM for military time.");
		return false;
	}
	if (minute<0 || minute > 59) {
		alert ("Minute must be between 0 and 59.");
		return false;
	}
	if (second != null && (second < 0 || second > 59)) {
		alert ("Second must be between 0 and 59.");
		return false;
	}
	return true;
}

function copyToClipboard(s)
{
	if( window.clipboardData && clipboardData.setData )
	{
		clipboardData.setData("Text", s);
	}
	else
	{
		// You have to sign the code to enable this or allow the action in about:config by changing user_pref("signed.applets.codebase_principal_support", true);
		netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

		 var clip = Components.classes['@mozilla.org/widget/clipboard;[[[[1]]]]'].createInstance(Components.interfaces.nsIClipboard);
		 if (!clip) return;
		
		 // create a transferable
		 var trans = Components.classes['@mozilla.org/widget/transferable;[[[[1]]]]'].createInstance(Components.interfaces.nsITransferable);
		 if (!trans) return;
		
		 // specify the data we wish to handle. Plaintext in this case.
		 trans.addDataFlavor('text/unicode');
		
		 // To get the data from the transferable we need two new objects
		 var str = new Object();
		 var len = new Object();
		
		 var str = Components.classes["@mozilla.org/supports-string;[[[[1]]]]"].createInstance(Components.interfaces.nsISupportsString);
		
		 var copytext=meintext;
		
		 str.data=copytext;
		
		 trans.setTransferData("text/unicode",str,copytext.length*[[[[2]]]]);
		
		 var clipid=Components.interfaces.nsIClipboard;
		
		 if (!clip) return false;
		
		 clip.setData(trans,null,clipid.kGlobalClipboard);
	}
}

function passwordStrength(passwd)
{
	var errLog = "";
	var status = true;
	// PASSWORD LENGTH
	if (passwd.length<6)                         // length 4 or less
	{
		errLog = "Password must have atleast length of 6 characters.\n";
		status = false;
	}

	if (!passwd.match(/[a-z]/) || !passwd.match(/[A-Z]/))                              
	{
		errLog = errLog + "Use mixed characters (upper & lowercase).\n";
		status = false;
	}

	if (!passwd.match(/\d+/))                                 // [verified] at least one number
	{
		errLog = errLog + "Password must have atleast one number.\n";
		status = false;
	}

	if (!passwd.match(/[!,@,#,$,%,^,&,*,?,_,~]/))            // [verified] at least one special character
	{
		errLog = errLog + "Password must have atleast one special character.\n";
		status = false;
	}
	if(errLog != '')
		alert(errLog)
	return status;
}