function Format(total,decimals)
 {
      var num = parseFloat(total);
      // First section sets non-number value to zero
          if (!(num = parseFloat(num)))
               num = "0.00";
      // Second section sets two decimal place format
          var Pad = "";
          num = "" + Math.floor(num * Math.pow(10,decimals + 1) + 5);
          // Pad if less than 0.10
          if(num.length < decimals+1) 
          {
               for(Count = num.length; Count <= decimals; Count++)
                    Pad += "0";
          }
          num = Pad + num;
     // Parse into final string
          num = num.substring(0,num.length - decimals - 1) + 
               "." + num.substring(num.length - decimals -1, num.length -1);
     // If less than 1 then add 0 to the left of the decimal
          if((num == "") || (parseFloat(num) < 1))
               num = "0" + num;
     // Final section returns formatted number
          return num;
}

function validRegistrationDate(ob)
{
	var currdate;
	var lvarStartMonth
	var lvarStartDay
	var lvarStartYear
	var startdate
	var lvarGetMonth
	var lstrDate
	var larrdate
				// Validate Date
	currdate=new Date("<%=year(now())%>","<%=month(now())-1%>","<%=day(now())%>")
	larrdate = ob.value.split("/")

	lvarEndDay=larrdate[0]
	lvarEndMonth=larrdate[1]
	lvarEndYear=larrdate[2]
	enddate=new Date(lvarEndYear,lvarEndDay-1,lvarEndMonth)

	return (enddate <= currdate)

					//end of the date validations 
}


function SortPage(frm,colName,ValidateValue)
{
	if (colName==frm.SortColumn.value)
	{
		frm.SortOrder.value=~frm.SortOrder.value
	}
	else
	
	{
		frm.SortColumn.value = colName
		frm.SortOrder.value=0
	}
return Submit(ValidateValue,0)
}

function CheckAll(frm,strChkName)
{
var len = frm.elements.length;
for (var i = 0; i < len; i++) 
	{
    var e = frm.elements[i];
    if (e.name == strChkName)
		e.checked = true;
	}
}

function ClearAll(frm,strChkName)
{
var len = frm.elements.length;
for (var i = 0; i < len; i++) 
	{
    var e = frm.elements[i];
    if (e.name == strChkName)
	e.checked = false;
	}
}

function alertMessage(obj,Message)
{
	alert(Message);
	obj.focus();
	return false;
}

function NoOfSelectedCheckBoxes(frm,strChkName)
{
var noOfSelections=0;
var len = frm.elements.length;
for (var i = 0; i < len; i++) 
	{
		var e = frm.elements[i];
		if ((e.name == strChkName) && (e.checked == true))
		noOfSelections += 1
	}
return noOfSelections;
}

function NoOfSelectedRadioBoxes(frm,strRadName)
{
var noOfSelections=0;
var len = frm.elements.length;
for (var i = 0; i < len; i++)
	{
		var e = frm.elements[i];
		if ((e.name == strRadName) && (e.checked))
			noOfSelections += 1;
	}
return noOfSelections;
}


function checkdatediff(mf,df,yf,mt,dt,yt){
	//Check for the Start date and End date validations		
		if((mf!=0) && (df!=0) && (yf!=0) && (mt!=0) && (dt!=0) && (yt!=0)){
		
			if(yf>yt)
				return false;									
			else if(yf==yt){
				if(mf>mt)
					return false;
				else if(mf==mt){
					if(df>dt)					
						return false;				
				}
			}			
		}
		return true;
	}


function CheckBlank(str)
{			
	for(i=0;i<str.length;i++)
	{
		if(str.charAt(i)!=" ")
			return false;
	}
		
	return true;
}



function CheckValidPhoneNo(objPhoneNo,frm){


var PhoneNo
var strList = "0123456789";
var sAllowedList = "()- ";
var NewPhoneNo 
var phoneLength
var iCount
PhoneNo = objPhoneNo.value
NewPhoneNo = ""
phoneLength = PhoneNo.length;
for (iCount = 0; iCount<phoneLength; iCount++)
{
	if(strList.indexOf(PhoneNo.charAt(iCount))== -1)
	{
		if(sAllowedList.indexOf(PhoneNo.charAt(iCount))== -1)
		{
			return false
		}
	}
	else
	{
	NewPhoneNo = NewPhoneNo + PhoneNo.charAt(iCount)
	}
}
if (!(NewPhoneNo.length==10))
{
	return false
}
var NewPhoneFormat
NewPhoneFormat="("
for (iCount = 0;iCount<13; iCount++)
{
	if (iCount == 3)
		NewPhoneFormat = NewPhoneFormat+ ") "+ NewPhoneNo.charAt(iCount)
	else
	{
		if (iCount==6)
			NewPhoneFormat = NewPhoneFormat+ "-" + NewPhoneNo.charAt(iCount)
		else
			NewPhoneFormat = NewPhoneFormat+ NewPhoneNo.charAt(iCount)
	}
}
objPhoneNo.value = NewPhoneFormat
return true;
}



function CheckValidPhone1(PhoneNo){
//Function to check for a valid Phone Number in correct format
	var sList = "0123456789";
	var sDigits ="";
	
	//Check for Phone format nnn-nnn-nnnn
	if (PhoneNo.charAt(3)== "-" && PhoneNo.charAt(7)== "-" ){
		for (var i=0; i < PhoneNo.length; i++){
			if (PhoneNo.charAt(i)!= "-")
				sDigits = sDigits + PhoneNo.charAt(i);
		}		
		if (sDigits.length == 10){
			for (var i=0; i < sDigits.length; i++){
				if (sList.indexOf(sDigits.charAt(i))== -1)
					return false;					
			}
			return true;
		}		
		return false;	
	}				
		
	//Check for Phone format (nnn) nnn-nnnn
	else if (PhoneNo.charAt(0)== "(" && PhoneNo.charAt(4)== ")"  && PhoneNo.charAt(5)==" " && PhoneNo.charAt(9)=="-" ){
			
		for (var i=0; i < PhoneNo.length; i++){		
			if ( i!= 0 && i != 4 && i!= 5 && i != 9)					
					sDigits = sDigits + PhoneNo.charAt(i);					
		}				
		if (sDigits.length == 10){
			for (var i=0; i < sDigits.length; i++){
				if (sList.indexOf(sDigits.charAt(i))== -1)
					return false;					
			}
			return true;
		}		
		return false;
	}		

	//Check for Phone format nnn nnnnnnn
	else if (PhoneNo.charAt(3)== " " ){			
		for (var i=0; i < PhoneNo.length; i++){
			if (i!=3)		
				sDigits = sDigits + PhoneNo.charAt(i);			
		}		
		if (sDigits.length == 10){
			for (var i=0; i < sDigits.length; i++){
				if (sList.indexOf(sDigits.charAt(i))== -1)
					return false;					
			}
			return true;
		}		
		return false;
	}
}				
function validateZip(ob)
{	 	
/*	var s=ob.value;
	var str="";
	var c;
	bag="1234567890";
	for (var i=0;i<s.length;i++)
	{   
    	c = s.charAt(i);
	    if (bag.indexOf(c) == -1) 
			str=1;			
	}
	if(str==1)
		return false;
	else
		return true;*/

	var s=ob.value;
	var str="";
	var c;
	
	bag="abcderfghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_ ";
	if (s.charAt(0)=="-" || s.charAt(s.length-1)=="-" || s.charAt(0)=="_" || s.charAt(s.length-1)=="_" )
		return false;
	else
	{	
		for (var i=0;i<s.length;i++)
		{   
			c = s.charAt(i);
		    if (bag.indexOf(c) == -1) 
				str=1;			
		}
		if(str==1)
		  {
		
			return false;
		  }
		else
		  {
		
			return true;
		  }  
	}		
}	

//code to check for special characters in contact person name
function validateName(ob)
{		
	s=ob.value
	var str
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_"
	for (i = 0; i < s.length; i++)
	{        	
		if (bag.indexOf(s.charAt(i)) == -1) 
		str=1
	}	
	if(str==1)
		return false;
	else
		return true;
}

function modifyString(objForm,chkElement){
//Modify the selected string and deselected string 
//according to the latest selection of the checkboxes.

	getcurrentString(objForm,chkElement);
	getCheckString(objForm,chkElement);
	
	var UncheckedStr= objForm.currentString.value;
	var checkedStr = objForm.chkString.value;	
	
	//Remove the commas at beginning
	
	if (checkedStr.charAt(0)==",")
		checkedStr =checkedStr.substring(1,checkedStr.length);
		
	if (UncheckedStr.charAt(0)==",")
		UncheckedStr =UncheckedStr.substring(1,UncheckedStr.length);
	
	//Remove the commas at  the end		
	//Not used	
	//if (UncheckedStr.charAt(UncheckedStr.length-1)== ",")
	//	UncheckedStr =UncheckedStr.substring(0,UncheckedStr.length-1);			
	//if (checkedStr.charAt(checkedStr.length-1)==",")
	//	checkedStr =checkedStr.substring(0,checkedStr.length-1);

	var arUnchecked = UncheckedStr.split(",");
	var arChecked =checkedStr.split(",");	
	
	//Remove Duplicates	
	var arNDChecked = RemoveDuplicates(arChecked);
	var arNDUnChecked = RemoveDuplicates(arUnchecked);
		
	for (var i = 0; i < arNDChecked.length; i++){						
			for (var k=0; k < arNDUnChecked.length;k++){
				if (arNDChecked[i]== arNDUnChecked[k])
					arNDChecked[i] = "";
			}	
	}
	
	var k=0;
	var arNew = new Array();
	for (var i = 0; i< arNDChecked.length; i++){
		if (arNDChecked[i]!= ""){
			arNew[k] =arNDChecked[i];
			k++;
		}
	}	
	
		objForm.chkString.value= arNew.join(",");
		objForm.currentString.value=arNDUnChecked.join(",");		
}


// checkbox value maintainence for checked string
function getCheckString(objForm,chkElement){
	//Get the value of checked string 
	var chkString = objForm.chkString.value;
	var len = objForm.elements.length;

	for (var i = 0; i < len; i++) 
	{
	    var e = objForm.elements[i];
	    if ((e.name == chkElement) && (e.checked==true))
	    {			
			chkString = chkString + ',' + e.value ;			
	    }
	}	
			
	objForm.chkString.value = chkString;
	return;
}

// getting checkboxes currently unchecked in this page
function getcurrentString(objForm,chkElement){
//Get the value of unchecked string 
	var curString=""; 
	var len =objForm.elements.length;

	for (var i = 0; i < len; i++) 
	{
	    var e = objForm.elements[i];
	    if ((e.name == chkElement) && (e.checked!=true))
	    {			
			curString = curString + ',' + e.value ;			
	    }
	}		
	objForm.currentString.value = curString;
	return ;
}



//Compare two dates return true if Enddate is greater than Startdate
function dateCompare(StartDate, EndDate){

//For Date Validations
			var sarrdate;
			var earrdate
			var svarStartDay;
			var svarStartMonth;
			var svarStartYear;
			var svarEndDay;
			var svarEndMonth;
			var svarEndYear;				
	
	
			earrdate = EndDate.split("/");
			sarrdate = StartDate.split("/");			
			
			svarStartDay= parseInt(sarrdate[1])
			svarStartMonth=parseInt(sarrdate[0])
			svarStartYear=parseInt(sarrdate[2])

			svarEndDay=parseInt(earrdate[1])
			svarEndMonth=parseInt(earrdate[0])
			svarEndYear=parseInt(earrdate[2])
			
			return checkdatediff(svarStartMonth,svarStartDay,svarStartYear,svarEndMonth,svarEndDay,svarEndYear)				
	
	}


//Function used for removing duplicates
function RemoveDuplicates(strArray){
	var retArray = new Array();
	retArray[0]= strArray[0];
	var strTemp;
	var bExists= false;
	for(var i=0; i < strArray.length; i++){
		
		strTemp = strArray[i];
		bExists= false;
		
		for(var j=0;j<retArray.length; j++){
		
			if (retArray[j]== strTemp){
				bExists =true;
				break;
			}		
		}
		
		if( bExists==false){
			retArray[retArray.length]= strTemp;
					
		}		
	}
	
	return retArray ;

}





