//***********************************************************************
//Project name	:	DirectBrandTools
//Module		:	General
//Description	:	Common Javascript for input validation at client side 
//					without load of server
//Developed by	:	Sunder Ramani
//Release Date	:	10-10-2003
//***********************************************************************
//.........Formatted string to check text entered by User................
var spNChar=/^[a-zA-Z0-9- ]/;
var spChar=/^[a-zA-Z- ]/;
var spNums=/^[0-9]/;
var spNums2=/^[0-9 ]/;
var spFloat=/^[.0-9]/;

//.........Global Wrapper function will be called from each form and each
// control validation....................................................
/*		Parameter		Desciprtion
		PassCtl		:	Control name to be validated	
		ValidType   :	Validation type e.g. "B","N","A" detail specified below
		CustomName	:	Name string to be displayed in message box
		Min			:	Minimum value
		Max			:	Maximum value
		Expression	:	Regular expression to be validated */
		
	MsgSelectDeactivateEligible = "You have not selected any record for Deactivation. \nPlease select record(s) to DEACTIVATE." ;
	MsgSelectActivateEligible = "You have not selected any record for Activation. \nPlease select record(s) to ACTIVATE." ;
	MsgSelectEditEligibleOne= "You have not selected any record for Editing. \nPlease select a record to EDIT." ;
	MsgSelectDeleteEligible = "You have not selected any record for Deleting. \nPlease select record(s) to DELETE." ;
	MsgSelectEditEligibleMore = "You have selected more than one record for Editing.\nPlease select only one record to EDIT." ;
	MsgSelectAssignEligibleOne= "You have not selected any record for Assigning/Removing. \nPlease select a record to ASSIGN/REMOVE." ;
	MsgSelectAssignEligibleMore= "You have selected more than one record for Assigning/Removing.\nPlease select only one record to ASSIGN/REMOVE." ;
	MsgSaveConfirm = "Are you sure you want to SAVE the record?";
	MsgSendConfirm="Are you sure you want to SEND this message?"
	MsgBatchSaveConfirm = "Are you sure you want to SAVE all the changes permanently?"
	MsgDeleteConfirm = "Are you sure you want to DELETE the record(s)?";
	MsgDeactivateConfirm = "Are you sure you want to DEACTIVATE the record(s)?";
	MsgActivateConfirm = "Are you sure you want to ACTIVATE the record(s)?";
	MsgSelectActivateOnly="One or more selected records are already deactivated.\n Please select only active records to DEACTIATE."
	MsgSelectDeActivateOnly="One or more selected records are already activated.\n Please select only deactive records to ACTIATE."
	MsgContinueImport ="Are you sure you want to import data from "
	MsgSchedule ="Are you sure to Schedule the Data."
	MsgUnSupport="You have entered certain characters that are not supported. Like ' "
	
function ValidateForm(PassCtl,ValidType,CustomName,Min,Max,Expression)
{
	
	//................Standard Message Strings...........................
	//CustomName = " Field " + CustomName;
	MsgBlank ="Please enter " + CustomName;
	MsgNumber = "Please enter digits in " + CustomName + ".";
	MsgValidAlpha = "Please enter alphabetic characters in " + CustomName + ".";
	MsgValidAlphaNum="Please enter alpha-numeric characters in " + CustomName + ".";
	MsgValidFloat="Please enter valid number in " + CustomName + ".";
	
	MsgLowRange = "Please enter less then " + Max + " characters in " + CustomName + ".";
	MsgHighRange = "Please enter more then " + Min + " characters in " + CustomName + ".";
	MsgLowValue ="Please enter value less than or equal to " + Max + " in " + CustomName + ".";
	MsgHighValue = "Please enter value more than or equal to " + Min + " in " + CustomName + ".";
	MsgCustomFormat = "Please enter value in : {" + Expression + "} format." ;

	MsgValidEmail = "Please enter valid Email" ;
	
	
	//................Executes respective function accroding to ValidType............
	switch(ValidType)
	{
		case "B": //Blank validation
			return	IsBlank(PassCtl)
			break;
		case "NB": // Number validation
			return IsNumberAllowNull(PassCtl)
			break;
		case "N": // Number validation
			return IsNumber(PassCtl)
			break;	
		case "NS": // Number validation
			return IsNumberSpace(PassCtl)
			break;	
		case "A": // Alphabetic string validation
			return IsValidString(PassCtl)
			break;
		case "AB": // Alphabetic string validation
			return IsValidStringAllowNull(PassCtl)
			break;	
		case "AN": //Alpha-Numeric string validation
			return IsAlphaNumeric(PassCtl)
			break;
		case "ANB": //Alpha-Numeric string validation
			return IsAlphaNumericAllowNull(PassCtl)
			break;	
		case "L": //Length validation
			return IsValidLength(PassCtl,Min,Max)
			break;
		case "R": //Range validation
			return IsValidRange(PassCtl,Min,Max)
			break;	
		case "D": //Decimal places validation
			return IsFloat(PassCtl,Min,Max)
			break;
		case "DB": //Decimal places validation
			return IsFloatAllowNull(PassCtl,Min,Max)
			break;		
		case "E":  //Email validation
			return  ApplyStyle(PassCtl,IsValidEmail(PassCtl))
			break;
		case "FM": //Custom String validation
			return validateCustom(PassCtl,Expression)
			break;
		case "IP": //Custom String validation
			return verifyIP(PassCtl)
			break;	
		case "U": //Custom Un Supported Characters Validation
			return isLatin1(PassCtl)
			break;
		case "UE": //Custom Un Supported Characters Validation
			return isLatin(PassCtl)
			break;
		}		
}

// Blank validation
function IsBlank(ctl) 
{	
	var Ret_val = true;
	ctl.value= trim(ctl.value);

	if (ctl.value=="")
	{
		alert(MsgBlank);
		Ret_val=false;
	}else 
	{ 
		Ret_val = true;
	}	
	return ApplyStyle(ctl,Ret_val);
}

// Number validation
function IsNumber(ctl)
{
	var mname =ctl.value;
	var Ret_val = IsBlank(ctl);
	if (Ret_val)
	{
		for(i=0; i < mname.length;i++)
		{
			var spcheck=mname.charAt(i);
			if(spNums.test(spcheck)==false)
			{
				Ret_val = false;
				break;
			}
			
		}
		if (!Ret_val ) alert(MsgNumber);
	}	
	return ApplyStyle(ctl,Ret_val);
}

function IsNumberAllowNull(ctl)
{
	var mname =ctl.value;
	var Ret_val = true;
	if (Ret_val)
	{
		for(i=0; i < mname.length;i++)
		{
			var spcheck=mname.charAt(i);
			if(spNums.test(spcheck)==false)
			{
				Ret_val = false;
				break;
			}
		}
		if (!Ret_val ) alert(MsgNumber);
	}	
	return ApplyStyle(ctl,Ret_val);
}
// number with spaces
function IsNumberSpace(ctl)
{
	var mname =ctl.value;
	var Ret_val = true;
	if (Ret_val)
	{
		for(i=0; i < mname.length;i++)
		{
			var spcheck=mname.charAt(i);
			if(spNums2.test(spcheck)==false)
			{
				Ret_val = false;
				break;
			}
		}
		if (!Ret_val ) alert(MsgNumber);
	}	
	return ApplyStyle(ctl,Ret_val);
}
//Alphabetic characters validation
function IsValidString(ctl) 
{
	var mname =ctl.value;
	var Ret_val = IsBlank(ctl);
	if (Ret_val)
	{
		for(i=0; i < mname.length;i++)
		{
			var spcheck=mname.charAt(i);
			if(spChar.test(spcheck)==false)
			{
				Ret_val = false;
				alert(MsgValidAlpha);
				break;
			}
		}
	}	
	return ApplyStyle(ctl,Ret_val);
}
//Alphabetic characters validation
function IsValidStringAllowNull(ctl) 
{
	var mname =ctl.value;
	var Ret_val = true;
	for(i=0; i < mname.length;i++)
	{
		var spcheck=mname.charAt(i);
		if(spChar.test(spcheck)==false)
		{
			Ret_val = false;
			alert(MsgValidAlpha);
			break;
		}
	}
	return ApplyStyle(ctl,Ret_val);
}
//Alpha-numeric charactes validation
function IsAlphaNumeric(ctl) 
{
	mname =ctl.value;
	Ret_val = IsBlank(ctl);
	if (Ret_val)
	{
		for(i=0; i < mname.length;i++)
		{
			var spcheck=mname.charAt(i);
			if(spNChar.test(spcheck)==false)
			{
				Ret_val = false;
				break;
			}
		}
		if (!Ret_val) alert(MsgValidAlphaNum);
		return ApplyStyle(ctl,Ret_val);
	}else 
	{return false;	}
	
}
//Alpha-numeric charactes validation
function IsAlphaNumericAllowNull(ctl) 
{
	mname =ctl.value;
	var	Ret_val = true;
	for(i=0; i < mname.length;i++)
	{
			var spcheck=mname.charAt(i);
			if(spNChar.test(spcheck)==false)
			{
				Ret_val = false;
				break;
			}
	}
	if (!Ret_val) alert(MsgValidAlphaNum);
	return ApplyStyle(ctl,Ret_val);
}
//range validation
function IsValidRange(ctl,MinSize,MaxSize)
{
	fieldValue =ctl.value;
	Ret_val = IsNumber(ctl);
	if (Ret_val)
	{
		if (!( (parseFloat(fieldValue) >= MinSize) && (parseFloat(fieldValue) <= MaxSize) ))
			{
				if (parseFloat(fieldValue) < MinSize)
					alert (MsgHighValue);
				else if (parseFloat(fieldValue) > MaxSize)
					alert(MsgLowValue);
				Ret_val= false;
			}
	}
	return ApplyStyle(ctl,Ret_val);
}
//Chackes for valid File Extension
function IsValidFileExt(file, ext)
{
    	return ((file.indexOf(ext) != -1) &&
    	 !(file.indexOf(ext) == 0) &&
    	  (file.indexOf(ext) == file.length - ext.length));
}
//String Un Suported Characters Conversion
function isLatin1(ctl)
{
	var str=ctl.value;
	for (i = 0; i < str.length; i++)
    {   
    	var c = str.charAt(i);
    	if (c=="'")
    	{
    			str=str.replace("'","`");
    	}
    }
    ctl.value=str;
    return ApplyStyle(ctl,true);
}
//Check un suported characters in string
function isLatin(ctl)
{
	var str=ctl.value;
	Ret_val = true;
	for (i = 0; i < str.length; i++)
    {   
    	var c = str.charAt(i);
    	if (c=="'")
    	{
    			alert(MsgUnSupport);
    			Ret_val = false;
    	}
    }
    return ApplyStyle(ctl,Ret_val);
}
 //String length validation
function IsValidLength(ctl,valMin,valMax)
{
	mname =ctl.value;
	Ret_val = 	IsBlank(ctl);
	if (Ret_val)
	{
		if (valMin != "")
		{
			if( valMin >= mname.length)
			{
				alert(MsgHighRange);
				Ret_val = false;
				window.event.returnValue=false;

			}
		}
		if (Ret_val)
		{
			if (valMax != "")
			{	
				valMax=parseInt(valMax) + 1;
				if( valMax <= mname.length )
				{
					alert(MsgLowValue);
					Ret_val = false;
					window.event.returnValue=false;
				}
			}
		}	
	}			
	return ApplyStyle(ctl,Ret_val);
}
//Email validation
function IsValidEmail(ctl) 
{
	//IsBlank(ctl);
	
	var emailStr = ctl.value;
	
	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 (trim(emailStr) == "") return true;
	
	if (matchArray==null) 
	{
		alert(MsgValidEmail)
		ctl.focus();
		return false;
	}
	
	var user=matchArray[1]
	var domain=matchArray[2]
	
	if (user.match(userPat)==null) 
	{
    	alert(MsgValidEmail)
		ctl.focus();
		return false;
	}
	
	var IPArray=domain.match(ipDomainPat)
	
	if (IPArray!=null) 
	{
		for (var i=1;i<=4;i++) 
		{
	    		if (IPArray[i]>255) 
			{
			        alert(MsgValidEmail)
			        ctl.focus();
					return false;
	    		}
		}
			return true;
	}
	
	var domainArray=domain.match(domainPat)
	if (domainArray==null) 
	{
		alert(MsgValidEmail)
		ctl.focus();
		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(MsgValidEmail)
	   return false;
	}
	if (len<2) 
	{
	   alert(MsgValidEmail);
	   ctl.focus();
	   return false;
	}
		return true;
}
// Decimal number to be checked
function IsFloat(Ctl,Minval,Maxval ) 
{
	blnDotPresent = false;
	fieldValue = Ctl.value;
	ret = IsBlank(Ctl);
	for(i=0; i < fieldValue.length;i++)
	{
		var spcheck = fieldValue.charAt(i);
		if(spcheck == '.')
		{
			if( spFloat.test(spcheck) == false)
			{
				continue;
			}
			else
			{
				if(!blnDotPresent)
					blnDotPresent = true;
				else
				{
					ret = false;
					alert (MsgCustomFormat);
					break;
				}
			}
		}
		else
			{
				if( spFloat.test(spcheck) == false)
				{
					ret = false;
					alert (MsgCustomFormat);
					break;
				}
			
			}
	}
	if (ret)
	{
		if (!( (parseFloat(fieldValue) >= Minval) && (parseFloat(fieldValue) <= Maxval) ))
			{
				if (parseFloat(fieldValue) < Minval)
					alert (MsgHighValue);
				else if (parseFloat(fieldValue) > Maxval)
					alert(MsgLowValue);
				ret= false;
			}
	}
	return ApplyStyle(Ctl,ret);
}

// Decimal number to be checked
function IsFloatAllowNull(Ctl,Minval,Maxval ) 
{
	blnDotPresent = false
	fieldValue = Ctl.value;
	ret = true;
	if (fieldValue != "")
	{
	
		for(i=0; i < fieldValue.length;i++)
		{
			var spcheck = fieldValue.charAt(i);
			if(spcheck == '.')
			{
				if( spFloat.test(spcheck) == false)
				{
					continue;
				}
				else
				{
					if(!blnDotPresent)
						blnDotPresent = true;
					else
					{
						ret = false;
						alert (MsgCustomFormat);
						break;
					}
				}
			}
			else
			{
				if( spFloat.test(spcheck) == false)
				{
					ret = false;
					alert (MsgCustomFormat);
					break;
				}
			
			}
		}
		if (ret)
		{
			if (!( (parseFloat(fieldValue) >= Minval) && (parseFloat(fieldValue) <= Maxval) ))
			{
				if (parseFloat(fieldValue) < Minval)
					alert (MsgHighValue);
				else if (parseFloat(fieldValue) > Maxval)
					alert(MsgLowValue);
				ret= false;
			}
		}
	}	
	
	return ApplyStyle(Ctl,ret);
}

//Custom dataformat validation
function validateCustom(Obj,pattern) 
{
	if (!IsBlank(ctl))
	{
		var regex = new RegExp(pattern);
		if (!regex.test(Obj.value)) 
		{
			ApplyStyle(Obj,false);
			return false;
		}
		else 
		{
			ApplyStyle(Obj,true);
			return true;
		}
	}	
}

//To make textbox highlighted
function ApplyStyle(ctl,Return_val)
{
	if (Return_val)
	{
		//ctl.className="TextBox_Normal"; //Normal stylesheet classname
	}
	else
	{
		//ctl.className="TextBox_Normal"; //Error showing stylesheet classname
		//ctl.style.visibility="visible";
		if (ctl.type!="hidden") {
			ctl.focus();
		}		
	}
	return Return_val;
}

function trim(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
} // Ends the "trim" function



///////////////////////
// Rollover effect
//////////////////////////

// Code for Mouseover effect of the Images
<!--
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->

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.0
  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 && document.getElementById) x=document.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];}
}


//Function for the validation of RePrint VIN
function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

		


//-->

/////////////////////////////common script for All view page 


	// Called to render rows of grid
	function ReloadColor(FormName)
	{	
		CheckedNo= 0;
		SelectColumn=0;
		currentClass="grid_selected";
		var len =FormName.elements.length;
		for (i=0;i<len;i++)
		{
			if (FormName.elements(i).type=="checkbox")
			{
				SelectColumn++;
				if (FormName.elements(i).checked==true)
				{
					CheckedNo++;
					FormName.elements(i).parentElement.parentElement.style.classname="grid_selected";
				}
				else
				{
					if (SelectColumn%2==0)
					{
						FormName.elements(i).parentElement.parentElement.className="grid_alter";
					}else
					{
						FormName.elements(i).parentElement.parentElement.className="grid_item";
					}
				}
			}	
		}
		return CheckedNo;
	}

	function ReloadColorDeactivated(FormName)
	{	
		CheckedNo= 0;
		selectColumn = 0;
		currentClass="grid_selected";
		var len =FormName.elements.length;
		for (i=0;i<len;i++)
		{
			if (FormName.elements(i).type=="checkbox")
			{
				selectColumn++;
				if (FormName.elements(i).checked==true)
					{
						CheckedNo++;
					}
					
				if (FormName.elements(i).parentElement.parentElement.className != "Deactivated" )
				{
					if (FormName.elements(i).checked==true)
					{
						FormName.elements(i).parentElement.parentElement.style.classname="grid_selected";
					}else
					{
						if (selectColumn%2==0)
						{
							FormName.elements(i).parentElement.parentElement.className="grid_alter";
						}else
						{
							FormName.elements(i).parentElement.parentElement.className="grid_item";
					}	}
				}
			}
		}		
		return CheckedNo;
	}
		
		
function DeactivatedCount(FormName)
	{	
		CheckedNo= 0;
		var len =FormName.elements.length;
		for (i=0;i<len;i++)
		{
			if (FormName.elements(i).parentElement.parentElement.className == "Deactivated" )		
			{
				if (FormName.elements(i).type=="checkbox")
				{
					if (FormName.elements(i).checked==true)
					{
						CheckedNo++;
					}
				}
			}	
		}
		return CheckedNo;
	}
	function ActivatedCount(FormName)
	{	
		var ActivatedCount=0;
		var len =FormName.elements.length;
		
		for (i=0;i<len;i++)
		{
			if (FormName.elements(i).parentElement.parentElement.className != "Deactivated" )		
			{
				if (FormName.elements(i).type=="checkbox")
				{
					if (FormName.elements(i).checked==true)
					{
						ActivatedCount++;
					}
				}
			}	
		}
		return ActivatedCount;
	}

	//Individual items' color are toggled		
	function ChangeColorDeactivated(e,FormName)
	{
		currentClass=e.parentElement.parentElement.className;
		if (currentClass != "Deactivated")
		{
			if(e.checked == true )
			{
				if (currentClass=="grid_selected")
				{
					currentClass="grid_item";
				}
				else
				{
					currentClass=e.parentElement.parentElement.className;
				}
				e.parentElement.parentElement.className ="grid_selected";
			}
			else
			{
				temp = e.parentElement.parentElement.className;
				e.parentElement.parentElement.className=currentClass;
				currentClass=temp;
			}
		}		 
		ReloadColorDeactivated(FormName);
	}
	function ChangeColor(e,FormName)
	{
		if(e.checked == true)
		{
			if (currentClass=="grid_selected")
			{
				currentClass="grid_item";
			}
			else
			{
				currentClass=e.parentElement.parentElement.className;
			}
			e.parentElement.parentElement.className ="grid_selected";
		}
		else
		{
			temp = e.parentElement.parentElement.className;
			e.parentElement.parentElement.className=currentClass;
			currentClass=temp;
			e.parentElement.parentElement.className="grid_alter";
		} 
		ReloadColor(FormName);
	}
	
	//Start function JSFormatNumber 
	function JSFormatNumber(expr, decplaces)
	{
		var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces));
		while (str.length <= decplaces)
		{
			str = "0" + str;
		}
		var decpoint = str.length - decplaces;
		return str.substring(0,decpoint) + "." + str.substring(decpoint, str.length);
	} //End function FormatNumber 



	function ViewPage(CallType,FormName,totalcheck)
	{
		
			
			if (CallType=='E') //Edit
			{
				if (totalcheck == 0)
				{
					alert(MsgSelectEditEligibleOne);	
					return false;
				}else
				{
					if (totalcheck == 1)
					{
						FormName.submit();
					}else
					{
						alert(MsgSelectEditEligibleMore);	
						return false;
					}
				}
			}
			else if (CallType=='D') //Delete
			{
				if (totalcheck == 0)
				{
					alert(MsgSelectDeleteEligible);	
					return false;
				}
				else
				{
					if (totalcheck >= 1)
					{
						if (confirm(MsgDeleteConfirm)) 
						{ FormName.submit();}
						else
						{ return false;}
					}
				}
			}
			else if (CallType=='A') //Deactivation
			{
				
				selDeactivated = DeactivatedCount(FormName);
				if (selDeactivated != 0)
				{
					alert(MsgSelectActivateOnly);
					return false;
				}
				if (totalcheck == 0)
				{
					alert(MsgSelectDeactivateEligible);	
					return false;
				}
				else
				{
					if (totalcheck >= 1)
					{
						if (confirm(MsgDeactivateConfirm)) 
						{ FormName.submit();}
						else
						{ return false;}
					}
				}
			}
			else if (CallType=='AD') //activation
			{
				
				selActivated= ActivatedCount(FormName);
				selDeactivated = DeactivatedCount(FormName);
				if (selActivated != 0)
				{
					alert(MsgSelectDeActivateOnly);
					return false;
				}
				if (selDeactivated == 0)
				{
					alert(MsgSelectActivateEligible);	
					return false;
				}
				else
				{
					if (selDeactivated >= 1)
					{
						if (confirm(MsgActivateConfirm)) 
						{ FormName.submit();}
						else
						{ return false;}
					}
				}
			}
			else if (CallType=='S') //Assigning
			{
				if (totalcheck == 0)
				{
					alert(MsgSelectAssignEligibleOne);	
					return false;
				}else
				{
					if (totalcheck == 1)
					{
						FormName.submit();
					}else
					{
						alert(MsgSelectAssignEligibleMore);	
						return false;
					}
				}
			}
	}	
 
 
	function Batch_SaveConfirm()
	{
		return confirm(MsgBatchSaveConfirm );
	}

	
	function Save_Confirm()
	{
		return confirm(MsgSaveConfirm);
	}
	
		
	function Import_Confirm(FileName)
	{
		return confirm(MsgContinueImport +'[' + FileName + ']');
	}
	
	function Schedule_Confirm()
	{
		return confirm(MsgSchedule);
	}
	
	
	function Send_Confirm()
	{
		return confirm(MsgSendConfirm);
	}

/*Valid IP Address */
function verifyIP (Obj) {
	errorString = "";
	theName = "IPaddress";
	ret = true;
	
	var IPvalue = Obj.value;
	
	var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
	var ipArray = IPvalue.match(ipPattern); 
	if  (IPvalue != "")
	{
		if (IPvalue == "0.0.0.0")
			errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
		else if (IPvalue == "255.255.255.255")
			errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
		if (ipArray == null)
			errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.';
		else {
			for (i = 0; i < 4; i++) {
				thisSegment = ipArray[i];
					if (thisSegment > 255) {
						errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.';
						i = 4;
					}
					if ((i == 0) && (thisSegment > 255)) {
						errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
						i = 4;
					}
				}
		}
	}
	extensionLength = 3;
	if (errorString == "")
		ret = true;
	else{
		ret = false;
		alert (errorString);
	}	
	return ApplyStyle(Obj,ret);
	
}
