
function chk_del() {
	if(confirm("Are You Sure You Want to Delete ?")){
		return	true;
	}
	else{
		return false;	
	}
}
function chk_form1(frm,arr){
	var err=0;
	var msg='';
	for (var word in arr){
		if(alltrim(document.forms[frm].elements[word].value=='')){
			msg +='* '+arr[word]+' Cannot be empty\n';
			err = err+1;
		}
	}
	
	if(err >0){
		alert(msg);
		return false;
	}
	
	return true;
}

function chk_form(frm,arr){
	var err = 0;
	var elmnt = new Array();
	var msg ='';
	
	var e;
	for(var word in arr){
		if(alltrim(document.forms[frm].elements[word].value=='')){
			msg +='* '+arr[word]+' Cannot be empty\n';
			elmnt[err] = word;
			err = err+1;
		}
		
	}
	
	if(err >0){
		alert(msg);
		e = elmnt[0];	
		document.forms[frm].elements[e].focus();
		return false;
	}
	
	return true;
}
function popup(who,where,hite,wide){   
	if (window.event)
		{  window.event.returnValue = false;   }
		who = where + who ;
		hite=screen.height-200;
		wide=screen.width-450;

		var props=window.open(who, 'popwin', 'scrollbars=1,toolabars=0,resizable=0,status=0,menubar=0,directories=0,location=0,height='+hite+', width='+wide);
		
		var windowX = (screen.width/2-screen.width/3);
		var windowY = (screen.height/2)-screen.height/3;

		props.moveTo(windowX,windowY);
}
function footerpopup(who,where,hite,wide)
{   
	if (window.event)
	{  window.event.returnValue = false;   }
	who = where + who ;
	hite=screen.height-200;
	wide=screen.width-150;

	var props=window.open(who, 'popwin', 'scrollbars=1,toolabars=0,resizable=0,status=0,menubar=0,directories=0,location=0,height='+hite+', width='+wide);
	
	var windowX = (screen.width/2-screen.width/3);
	var windowY = (screen.height/2)-screen.height/3;

	props.moveTo(windowX,windowY);
}
/*	FUNCTION ALLTRIM 	*/
/*	Usage -> alltrim(string)	*/
function alltrim(para){
var word, temp, chr, flag;

word = para;
word = rtrim(ltrim(word))
return word;
}


/*	FUNCTION LTRIM 		*/
/*	Usage -> ltrim(string)	*/
function ltrim(para){
var word, temp, chr, flag;
word = para;
if (word.length>0){
	flag = false;
	temp = '';
	for (i=0;i<word.length;i++){
		chr = word.charAt(i);
		if (chr!=' '){
			flag = true;
		}
		if (flag==true){
			temp = temp + chr;
		}
	}
	word = temp;
}
return word;
}

/*	FUNCTION ISPHONE	*/
/*	Usage -> ISPHONE(string, integer [Optional])	*/
function isPhone(para) {
	var validchars = "0123456789.+- ";
	var parsed = true;
	for (var i=0; i < para.length; i++) {
		var letter = para.charAt(i).toLowerCase();
		if (validchars.indexOf(letter) != -1)
			continue;
		if (isPhone.arguments.length==2){
			if (isPhone.arguments[1] == 0){
			alert('"' + para + '" is not a valid phone number.\n\n Please make sure to input a valid phone number.')
			}
		}else{
			alert('"' + para + '" is not a valid phone number.\n\n Please make sure to input a valid phone number.')
		}
		parsed = false;
		break;
	}
	return parsed;
}
/*	FUNCTION RTRIM 		*/
/*	Usage -> rtrim(string)	*/
function rtrim(para){
var word, temp, chr, flag;
word = para;
if (word.length>0){
	flag = false;
	temp = '';
	for (i=word.length - 1;i>=0;i--){
		chr = word.charAt(i);
		if (chr!=' '){
			flag = true;
		}
		if (flag==true){
			temp = chr + temp;
		}
	}
	word = temp;
}
return word;
}

/*	FUNCTION ISDIGIT	*/
/*	Usage -> isDigit(string, integer [Optional])	*/
function isDigit(para) {
	var validchars = "0123456789";
	var parsed = true;
	for (var i=0; i < para.length; i++) {
		var letter = para.charAt(i).toLowerCase();
		if (validchars.indexOf(letter) != -1)
			continue;
		if (isDigit.arguments.length==2){
			if (isDigit.arguments[1] == 0){
				alert(letter + " is not a digit. Please enter a digit.");
			}
		}else{
			alert(letter + " is not a digit. Please enter a digit.");
		}
		parsed = false;
		break;
	}
	return parsed;
}

function isDecimal(para) {
	var validchars = "0123456789.";
	var parsed = true;
	for (var i=0; i < para.length; i++) {
		var letter = para.charAt(i).toLowerCase();
		if (validchars.indexOf(letter) != -1)
			continue;
		if (isDecimal.arguments.length==2){
			if (isDecimal.arguments[1] == 0){
				alert('"' + para + '" is not a valid cost.\n\n Please make sure to input a valid cost.')
				
			}
		}else{
			alert('"' + para + '" is not a valid cost.\n\n Please make sure to input a valid cost.')
		}
		parsed = false;
		break;
	}
	return parsed;
}

function getDecimalPlaceValue(prmValue, prmDecimalPlace)
{
    var num = new Number(parseFloat(prmValue));
    return (num.toFixed(parseInt(prmDecimalPlace)));
}

/*	FUNCTION ISALPHA	*/
/*	Usage -> isAlpha(string)	*/
function isAlpha(para) {
	var validchars = "abcdefghijklmnopqrstuvwxyz";
	var parsed = true;
		var letter = para.toLowerCase();
		if (validchars.indexOf(letter) == -1)		
			parsed = false;
	return parsed;
}

/*	FUNCTION BLOCKCHARS	*/
/*	Usage -> blockChars(Checking String, Blocking Character List, integer [Optional])	*/
function blockChars(string, para) {
	var validchars = para;
	var parsed = true;
	for (var i=0; i < string.length; i++) {
		var letter = string.charAt(i);
		if (validchars.indexOf(letter) == -1)
			continue;
		if (blockChars.arguments.length==3){
			if (blockChars.arguments[2] == 0){
				alert(letter + " is not allowed.");
			}
		}else{
			alert(letter + " is not allowed.");
		}
		parsed = false;
		break;
	}
	return parsed;
}

/*	FUNCTION AllOWLOGINCHARS	*/
/*	Usage -> allowLoginChars(Checking String, integer [Optional])	*/
function allowLoginChars(string) {
	var parsed = true;
	var blockCharacters = "~`!@#$%^&*()-+=|\\{[}]:;\"'<,>.?/ ";
	parsed = blockChars(string, blockCharacters,1);
	if (parsed==false){
		if ((allowLoginChars.arguments.length==1) || 
		(allowLoginChars.arguments.length==2 && allowLoginChars.arguments[1] == 0)){
			alert("Invalid Character(s) Used!!!\nAllowed Characters: [A-Z], [a-z], [0-9], _");
		}
	}
	return parsed;
}


/*	FUNCTION AllOWSKUCHARS	*/
/*	Usage -> allowSkuChars(Checking String, integer [Optional])	*/
function allowSkuChars(string) {
	var parsed = true;
	var blockCharacters = "~`!@#$%^&*()_+=|\\{[}]:;\"'<,>.?/ ";
	parsed = blockChars(string, blockCharacters,1);
	if (parsed==false){
		if ((allowSkuChars.arguments.length==1) || 
		(allowSkuChars.arguments.length==2 && allowSkuChars.arguments[1] == 0)){
			alert("Invalid Character(s) Used!!!\nAllowed Characters: [A-Z], [a-z], [0-9], -");
		}
	}
	return parsed;
}

/*	FUNCTION ISNUMBER	*/
/*	Usage -> isNumber(string)	*/
function isNumber(para) {
	if (isNaN(para)==true)
		return false;
	else
		return true;

}

/*	FUNCTION CHECKEMAIL	*/
/*	Usage -> checkEmail(string)	*/
function checkEmail (emailStr) {
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
	//alert('"' + emailStr + '" is not a valid email address.\n\n Please make sure to input a valid email address.')
	return false
}
var user=matchArray[1]
var domain=matchArray[2]

if (user.match(userPat)==null) {
  // alert('"' + emailStr + '" is not a valid email address.\n\n Please make sure to input a valid email address.')
    return false
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	       // alert("Destination IP address is invalid.")
		return false
	    }
    }
    return true
}

var domainArray=domain.match(domainPat)
if (domainArray==null) {
	//alert("The domain name you entered doesn't seem to be valid.")
    return false
}

var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   //alert("The address must end in a three-letter domain, or two letter country code.")
   return false
}

if (len<2) {
   var errStr="This address is missing a hostname."
   //alert(errStr)
   return false
}

return true;
}

/*	FUNCTION STRCMP 	*/
/*	Usage -> strcmp(string1,string2)	*/
function strcmp(para1, para2){
var i, flag;
if (para1.length != para2.length){
	return false;
}

flag = true;
for(i=0;i<para1.length;i++){
	if (para1.substring(i,i+1) == para2.substring(i,i+1)){
		continue;
	}
	flag = false;
	break;
}
return flag;
}


/*	FUNCTION STRCMPI 	*/
/*	Usage -> strcmpi(string1,string2)	*/
function strcmpi(para1, para2){
var i, flag;
if (para1.length != para2.length){
	return false;
}

flag = true;
for(i=0;i<para1.length;i++){
	if (para1.substring(i,i+1).toLowerCase() == para2.substring(i,i+1).toLowerCase()){
		continue;
	}
	flag = false;
	break;
}
return flag;
}


/*	FUNCTION ICAP 	*/
/*	Usage -> iCap(string1)	*/
function iCap(para){
var i, c, flag;
var newstring = '';
flag = true;
for(i=0;i<para.length;i++){
	c = para.substring(i,i+1);
	if (flag==true){
		c = c.toUpperCase();
		flag = false;
	}
	else{
		c = c.toLowerCase();
	}
	if (c == ' '){
		flag = true;
	}
	newstring = newstring + c;
}
return newstring;
}



/*      FUNCTION DATECHECK      */
/*      Usage -> dateCheck(textbox object, dateformat) */
function dateCheck()
{
    var dd, mm, yy;
    var ddstr, mmstr, yystr;
    var mmname = new Array("January","February","March","April","May","June","July","August","September","October","November","December");

    obj = dateCheck.arguments[0];
    obj.value = alltrim(obj.value);

    if (obj.value.length > 0)
    {
	    if (obj.value.length < 10)
	    {
            if (dateCheck.arguments.length==2)
            {
                if (strcmpi("dd/mm/yyyy", dateCheck.arguments[1]))
                {
		            alert('Invalid date format !!!\n\n' + 'Correct Format:\n' + 'dd/mm/yyyy');
		            obj.select();
		            obj.focus();
		            return false;
	            }
	            else
	            {
		            alert('Invalid date format !!!\n\n' + 'Correct Format:\n' + 'mm/dd/yyyy');
		            obj.select();
		            obj.focus();
		            return false;
	            }
            }
            else
            {
		        alert('Invalid date format !!!\n\n' + 'Correct Format:\n' + 'mm/dd/yyyy');
		        obj.select();
		        obj.focus();
		        return false;
		    }
	    }
	    else
	    {
	        if (dateCheck.arguments.length==2)
	        {
	            if (strcmpi("dd/mm/yyyy", dateCheck.arguments[1]))
	            {
                    ddstr = obj.value.substring(0,2);
                    mmstr = obj.value.substring(3,5);
                    yystr = obj.value.substring(6,10);
		        }
		        else
		        {
		            mmstr = obj.value.substring(0,2);
		            ddstr = obj.value.substring(3,5);
		            yystr = obj.value.substring(6,10);
		        }
	        }
	        else
	        {
	            mmstr = obj.value.substring(0,2);
	            ddstr = obj.value.substring(3,5);
	            yystr = obj.value.substring(6,10);
	        }


		    if ((isNaN(ddstr)==true) || (isNaN(mmstr)==true) || (isNaN(yystr)==true))
		    {
			    alert('Invalid Characters');
			    obj.select();
			    obj.focus();
			    return false;
		    }

		    if ((obj.value.substring(2,3)!='/') || (obj.value.substring(5,6)!='/'))
		    {
			    obj.value = mmstr + '/' + ddstr + '/' + yystr;
		    }

/* Converting to Numeric Date */
		    dd = parseInt(ddstr);
		    mm = parseInt(mmstr);
		    yy = parseInt(yystr);

		    if (mm >12)
		    {
			    alert('Invalid Month !!!');
			    obj.select();
			    obj.focus();
			    return false;
		    }

/* Check For the Month of February */
		    if ((mm == 2) && (yy%4 ==0) && (dd>29))
		    {
			    alert('Invalid Date !!!\nFebruary has 29 days in ' + yystr);
			    obj.select();
			    obj.focus();
			    return false;
		    }
		    else if ((mm == 2) && (yy%4 !=0) && (dd>28))
		    {
			    alert('Invalid Date !!!\nFebruary has 28 days in ' + yystr);
			    obj.select();
			    obj.focus();
			    return false;
		    }

/* Check For the Months having 30 days */
		    if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11))&& (dd>30))
		    {
			    alert('Invalid Date !!!\n' + mmname[mm-1] + ' has 30 days.');
			    obj.select();
			    obj.focus();
			    return false;
		    }
			
/* Check For the Month having 31 days */
		    if (((mm == 1) || (mm == 3) || (mm == 5) || (mm == 7) || (mm == 8) || (mm == 10) || (mm == 12))&& (dd>31))
		    {
			    alert('Invalid Date !!!\n' + mmname[mm-1] + ' has 31 days.');
			    obj.select();
			    obj.focus();
			    return false;
		    }
	    }
    }
    return true;
}


/* FUNCTION DROPDOWN_DATECHECK */
/* Usage -> dropdown_datecheck(date dropdown Object, month dropdown Object, year dropdown Object) */
function dropdown_datecheck(dateObj,monthObj,yearObj)
{
	var dd;
	var mm;
	var yy;
	var mmname = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	dd=parseInt(dateObj[dateObj.selectedIndex].value);
	mm=parseInt(monthObj[monthObj.selectedIndex].value);
	yy=parseInt(yearObj[yearObj.selectedIndex].value);
	if ((mm == 2) && (yy%4 ==0) && (dd>29))
	{
		alert('Invalid Date !!!\nFebruary has 29 days in ' + yy);
		dateObj.select();
		dateObj.focus();
		return false;
	}
	else if ((mm == 2) && (yy%4 !=0) && (dd>28))
	{
		alert('Invalid Date !!!\nFebruary has 28 days in ' + yy);
		dateObj.select();
		dateObj.focus();
		return false;
	}

	if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11))&& (dd>30))
	{
		alert('Invalid Date !!!\n' + mmname[mm-1] + ' has 30 days.');
		dateObj.select();
		dateObj.focus();
		return false;
	}
	return true;
}


/*	FUNCTION FORMATDATE 	*/
/*	Usage -> formatDate(string [optional])	*/
function formatDate(){
today = new Date();
if (formatDate.arguments.length!=1){
	delim='-';
}
else{
	delim = alltrim(formatDate.arguments[0]);
}
return (today.getFullYear() + delim + Ctos(today.getMonth() + 1) + delim+Ctos(today.getDate()));
}


/*	FUNCTION CTOS 	*/
/*	Usage -> Ctos(string)	*/
function Ctos(para){
if (para<10){
	return ("0" + para);
}
	return para;
}

/*  CHECK DOMAINS */
/* Usage -> checkDomain(String domainname) */
function checkDomain(fieldName)
{

if( (fieldName == null) || 
(fieldName.length == 0 ) ||
(fieldName.indexOf("!") != -1)||
(fieldName.indexOf("@") != -1) ||
(fieldName.indexOf("#") != -1   )||
(fieldName.indexOf("$") != -1   )||
(fieldName.indexOf("%") != -1   )||
(fieldName.indexOf("^") != -1   )||
(fieldName.indexOf("*") != -1   )||
(fieldName.indexOf(",") != -1   )||
(fieldName.indexOf(".") != -1   )||
(fieldName.indexOf("_") != -1   )||
(fieldName.indexOf("+") != -1   )||
(fieldName.indexOf("=") != -1   )||
(fieldName.indexOf("{") != -1   )||
(fieldName.indexOf("}") != -1   )||
(fieldName.indexOf("[") != -1   )||
(fieldName.indexOf("]") != -1   )||
(fieldName.indexOf(":") != -1   )||
(fieldName.indexOf(";") != -1   )||
(fieldName.indexOf(">") != -1   )||
(fieldName.indexOf("|") != -1   )||
(fieldName.indexOf("<") != -1   )||
(fieldName.indexOf("&") != -1   )||
(fieldName.indexOf("(") != -1   )||
(fieldName.indexOf(")") != -1   )||
(fieldName.indexOf("\"") != -1   )||
(fieldName.indexOf("~") != -1   )||
(fieldName.indexOf("'") != -1   )||
(fieldName.indexOf(" ") != -1   )||
(fieldName.indexOf("www") != -1   )||
(fieldName.indexOf("?") != -1   )||
(fieldName.indexOf(".") != -1   ))
{
		alert("Please enter valid characters and do not leave field empty.");
		return false;
}
else
{
	
	return true;
}
}



/*	FUNCTION CBOXCHECKED 	*/
/*	Usage -> cboxChecked(checkbox Object)	*/
/*
---------------------------------------------------
This function can checkout if the given checkbox or 
atleast one option of checkbox array is checked.
Parameter checkbox -> Object reference variable of FORM CHECKBOX [Single or Array]
---------------------------------------------------
*/
function cboxChecked(obj){
	var option_selected = false;
	if (typeof obj.length =='undefined'){
		option_selected = obj.checked;
	}else{
		for(i=0;i<obj.length && option_selected==false;i++){
			option_selected = obj[i].checked;
		}
	}
	if (option_selected == true){
		return true;
	}else{
		return false;
	}
}


/*	FUNCTION KITKAT 	*/
/*	Usage -> KitKat(ParentPathName String, ObjName String, RelObjName String)	*/
/*
---------------------------------------------------
This function can checkout if the given checkbox or 
atleast one option of checkbox array is checked.
---------------------------------------------------
*/
function KitKat(ParentObjName, ObjName, RelObjName){
	//alert("fgfg")
	var Obj = ParentObjName + "." + ObjName;
	
	var relObj = ParentObjName + "." + RelObjName;
	
	if (typeof eval(Obj).length == 'undefined'){
		eval(relObj).checked = !(eval(Obj).checked);
	}else{
		for(var i=0; i<eval(Obj).length;i++){
			tmpObj = eval(ParentObjName + "." + ObjName + "[" + i + "]");
			tmprelObj = eval(ParentObjName + "." + RelObjName + "[" + i + "]");
			tmprelObj.checked = !(tmpObj.checked);
		}
	}
}


function changeColor(ele,clsName){
	ele.className = clsName;
}

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 Get_Cookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
	return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

// this deletes the cookie when called
function Delete_Cookie( name, path, domain ) {
	
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}


/*
Menu Code
Don't touch this
*/
  
  function toggleMenu(menuId){
   var menuArr = new Array('menu-0','menu-1');
   var mStyle = $(menuId).style.display;
   if(mStyle == 'none'){
	   Effect.BlindDown(menuId);
       collapseAllOther(menuId);
	   Set_Cookie('sdmenu_my_menu',menuId);
   }
   else{
	   	Effect.BlindUp(menuId);
    	collapseSub(menuId);
    	Delete_Cookie('sdmenu_my_menu');
		var parMenu =  $(menuId).parentNode;
		if(parMenu.id != 'menu'){
			Set_Cookie('sdmenu_my_menu',parMenu.id);
		}
		
   }
   
  }
 
 
  function collapseSub(menuId){
   var len = $(menuId).childNodes.length;
   if(len > 0){
	   for(var i = 0; i < len; i++){
		 var cId = $(menuId).childNodes[i].id;
		 if((cId != '') && (typeof(cId) != 'undefined') && ($(cId).tagName == 'DIV') && (cId.substr(0,menuId.length) == menuId)){
			collapseSub(cId);
			if($(cId).style.display != 'none'){
			  Effect.BlindUp(cId);
			}
			
		 }
	   }
	   return true;
   }
   else{
	 return 1;
   }
    
 }

  function collapseAllOther(menuId){
	   var pId = $(menuId).parentNode.id;
	   var len = $(pId).childNodes.length;
	   if(len > 0){
		   for(var i = 0; i < len; i++){
			 var cId = $(pId).childNodes[i].id;
			 
			 if((cId != '') && (typeof(cId) != 'undefined') && ($(cId).tagName == 'DIV') && (cId.substr(0,pId.length) == pId) && (cId != menuId)){
				
				collapseSub(cId);
				if($(cId).style.display != 'none'){
				  Effect.BlindUp(cId);
				}
				
			 }
		 
		   }
		  return true; 
	   }
	   else{
		return 1;
	   }
  }
  
var parentMenu = new Array();

function initMenu(){
  	var cookieVal = Get_Cookie('sdmenu_my_menu');
	if(cookieVal != null){
		var menuIdArr = cookieVal.split('-');
		var mainMenu  =  menuIdArr[0] + '-' + menuIdArr[1];
		if(mainMenu != cookieVal){
		  parentMenu.push(cookieVal);
          getParentMenu(cookieVal, mainMenu); 			
		  toggleMenuList();
		}
		else{
			 Effect.BlindDown(mainMenu);
		}
	}
	
}

function getParentMenu(cookieVal, mainMenu){
	var parNode = $(cookieVal).parentNode;
	parentMenu.push(parNode.id);
	if(parNode.id != mainMenu){
	 getParentMenu(parNode.id, mainMenu);
	}
	else{
		return false
	}
		 
     	
}

function toggleMenuList(){
	parentMenu.reverse();
	for(var i = 0; i < parentMenu.length; i++){
		 Effect.SlideDown(parentMenu[i], {duration:2});
	}
}




