
		
function preloadImages(the_images_array) 
{
   for(var loop = 0; loop < the_images_array.length; loop++)
   {
 	var an_image = new Image();
	an_image.src = the_images_array[loop];
   }
}

function textCounter(field, maxlimit) 
{
	if (field.value.length > maxlimit) // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
}

//Function For Checking All Check box
//function UnSelectGrid(oTemp,nGridNumber,frmName,checkBoxName)
//{
//	var oGrid, sGrid;
//	if (nGridNumber==1){ oGrid=grdData; sGrid="grdData";}
//	
//	var sCheck;				
//			
//	if(oTemp.checked==true)
//	{
//		sCheck = true;
//	}
//	else
//	{
//		sCheck = false;
//	}
//	
//	for(i=1;i<=oGrid.rows.length+1;i++)
//	{	
//		oCheck = eval("document." + frmName + "." + sGrid +"__ctl" + i + "_"+checkBoxName);	
//		if (oCheck)
//		{			 					
//			if(sCheck==false)
//			{
//				oCheck.checked = false;
//			}
//				
//		}
//	}
//	
//}

function checkValUserName(source, arguments) 
{
	var str;
	var str = new String(arguments.Value);	
	var mikExp = /[\`\~\!\@\#\$\%\^\&\*\(\)\+\=\|\\\{\}\[\]\:\;\"\'\<\>\,\.\/\?\' ']/;
	// _ and -
	//`~!@#$%^&*()=+|\{}[];:'",.<>/?-_ space 33 characters to be disabled
	if(str.search(mikExp) != -1) {
		//alert("Sorry, but the following characters\n\r\n\r< > @ $ % ^ & * ( ) [ ] \\ { + } ` ~ =  | \n\r\n\r are not allowed!\n");
		arguments.IsValid = false;
		return ; // invalid string
	}
	else
	{
		arguments.IsValid = true;
		return ; // valid string
	}	
}


function checkValidName(source, arguments) 
{

	var str;
	var str = new String(arguments.Value);		
	var mikExp = /[\`\~\!\@\#\$\%\^\&\*\+\=\|\\\(\)\{\}\[\]\:\;\"\_\<\>\,\/\?\0\1\2\3\4\5\6\7\8\9]/;	
	//' and -
	//`~!@#$%^&*()=+|\{}[];:'",.<>/?-_ space 33 characters to be disabled
	if(str.search(mikExp) != -1) {
		//alert("Sorry, but the following characters\n\r\n\r< > @ $ % ^ & * ( ) [ ] \\ { + } ` ~ =  | \n\r\n\r are not allowed!\n");
		arguments.IsValid = false;
		return ; // invalid string
	}
	else
	{
		arguments.IsValid = true;
		return ; // valid string
	}	
}

function onlyDigitsAlpha(e) 
{
	var key = (isIE) ? window.event.keyCode : e.which;
	var obj = (isIE) ? event.srcElement : e.target;
	var isNum = ((key > 47 && key < 58)||(key > 64 && key < 91)||(key > 96 && key < 123) ) ? true:false;

	if(key < 32)
		return true;
	return (isNum);
}


function checkValName(source, arguments) 
{

	var str;
	var str = new String(arguments.Value);		
	var mikExp = /[\`\~\!\@\#\$\%\^\&\*\+\=\|\\\{\}\[\]\:\;\"\_\<\>\,\.\/\?\0\1\2\3\4\5\6\7\8\9]/;	
	//' and -
	//`~!@#$%^&*()=+|\{}[];:'",.<>/?-_ space 33 characters to be disabled
	if(str.search(mikExp) != -1) {
		//alert("Sorry, but the following characters\n\r\n\r< > @ $ % ^ & * ( ) [ ] \\ { + } ` ~ =  | \n\r\n\r are not allowed!\n");
		arguments.IsValid = false;
		return ; // invalid string
	}
	else
	{
		arguments.IsValid = true;
		return ; // valid string
	}	
}


function CheckIfSelected(source, arguments)
{
	//try
	//{
	
	if(arguments.Value == 0||arguments.Value == -1 )
	{
		arguments.IsValid =false;
	}
	else
	{
		arguments.IsValid =true;
	}
	//}
	//catch(e)
//	{
	//alert(e);
//	}
	return ;
}



function fResetButton (sForm) 
			{
			//alert(oForm.elements.length);
			sForm="document."+sForm;
			var oForm =eval(sForm);
			for (var i = 0; i < oForm.length; i++) 
				{	
					if (oForm.elements[i].type == "select-one")
						{
							if(oForm.elements[i].disabled==false)
								oForm.elements[i].options[0].defaultSelected=true;
						}
					if (oForm.elements[i].type == "textarea")
						{
							if(oForm.elements[i].disabled==false)
								{
								oForm.elements[i].defaultValue = "";
								oForm.elements[i].value = "";
								//oForm.elements[i].value = oForm.elements[i].defaultValue;
								}
						}
					if (oForm.elements[i].type == "text")
						{
							if(oForm.elements[i].disabled==false)
								{
									oForm.elements[i].defaultValue = "";
									oForm.elements[i].value = "";
								}
						}
				}
			}

function CheckAngularBrackets(source, arguments) 
{
	var Str = new String(arguments.Value);
	var mikExp = /[\<\>]/;
	if(Str.search(mikExp) != -1)
    {
	    arguments.IsValid = false;
		return ; // invalid string
	}
	else{
		arguments.IsValid = true;
		return ;// valid string
	}	
}


function validateAlphaNumeric(source, arguments)
{
	var str;
	var str = new String(arguments.Value);
	
	var objRegExp = /^[a-zA-Z0-9\s]+$/;
	var flag = str.match(objRegExp);
	
	if (flag == null)
	{
		arguments.IsValid = false;
		return ; // invalid string
	}
	else 
	{
		arguments.IsValid = true;
		return ; // valid string
	}
}


function checkNumberInName(source, arguments) //Remove Integer from Name
{
	var str;
	var str = new String(arguments.Value);	
	var mikExp = /[$\<\>\\\@\\\%\^\&\*\(\)\[\]\+\_\{\}\~\.on\=\|]/;
	if(str.search(mikExp) != -1) {
		//alert("Sorry, but the following characters\n\r\n\r< > @ $ % ^ & * ( ) [ ] \\ { + } ` ~ =  | \n\r\n\rare not allowed!\n");
		arguments.IsValid = true;
		return ; // invalid string
	}
	else
	{
		arguments.IsValid = false;
		return ; // valid string
	}	
}


function checkVal(source, arguments) 
{
	var str;
	var str = new String(arguments.Value);	
	var mikExp = /[$\<\>\\\@\\\%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|]/;
	if(str.search(mikExp) != -1) {
		//alert("Sorry, but the following characters\n\r\n\r< > @ $ % ^ & * ( ) [ ] \\ { + } ` ~ =  | \n\r\n\rare not allowed!\n");
		arguments.IsValid = false;
		return ; // invalid string
	}
	else
	{
		arguments.IsValid = true;
		return ; // valid string
	}	
}

function validateFirstAlphaNumeric(source, arguments)
{
	
	var str = new String(arguments.Value);
	var objRegExp = /^[0-9]+[a-z A-Z 0-9]/;
	if(objRegExp.test(str)==true)
    {
		arguments.IsValid=false;
		return;
	}
	else
	{
		arguments.IsValid=true;
		return;
	}			 
}

function checkDecimals(source, arguments) 
{	
	decallowed = 2;  // how many decimals are allowed?
	var inputStr = new String(arguments.Value);
	if (inputStr.indexOf('.') == -1) inputStr += ".";
	var dectext = inputStr.substring(inputStr.indexOf('.')+1, inputStr.length);
	if (dectext.length > decallowed)
	{
		arguments.IsValid=false;
		return;
	}
	else
	{
		arguments.IsValid=true;
		return;
	}
}
		
function validateNumeric(source, arguments)
{
	var str;
	var str = new String(arguments.Value);
	
	var objRegExp = /^[0-9\s]+$/;
	var flag = str.match(objRegExp);
	
	if (flag == null)
	{
		arguments.IsValid = false;
		return ; // invalid string
	}
	else 
	{
		arguments.IsValid = true;
		return ; // valid string
	}
}

function validateNotNumeric(source, arguments)
{
	var str;
	var str = new String(arguments.Value);
	
	var objRegExp = /^[0-9\s]+$/;
	var flag = str.match(objRegExp);
	
	if (flag == null)
	{
		arguments.IsValid = true;
		return ; // invalid string
	}
	else 
	{
		arguments.IsValid = false;
		return ; // valid string
	}
}




var isIE = document.all?true:false;
var isNS = document.layers?true:false;

function onlyDigits(e) 
{
	var key = (isIE) ? window.event.keyCode : e.which;
	var obj = (isIE) ? event.srcElement : e.target;
	var isNum = (key > 47 && key < 58) ? true:false;

	if(key < 32)
		return true;
	return (isNum);
}


function onlyNotDigits(e) 
{
	var key = (isIE) ? window.event.keyCode : e.which;
	var obj = (isIE) ? event.srcElement : e.target;
	var isNum = (key > 47 && key < 58) ? false:true;

	if(key < 32)
		return true;
	return (isNum);
}

function confirmReject(frmName) 
{
	// loop through all elements
	frm=eval("document." + frmName);
	var agree = confirm ('Are you sure you want to reject');
	//alert(agree);
	if (agree)
	{
		var rejectwhy = prompt("Rejected Why?"," ");
		frm.hdnRejectWhy.value=rejectwhy;
		return true ;
	}
	else
	{
		return false ;
	}
}
		

function confirmDelete(frmName,chkName,what) 
{
	// loop through all elements
	
	frm=eval("document." + frmName);
	j=0;
	for (i=0; i<frm.length; i++) 
	{
		// Look for our checkboxes only
		if (frm.elements[i].name.indexOf(chkName) !=-1) 
		{
			// If any are checked then confirm alert, otherwise nothing happens\n
			if(frm.elements[i].checked) 
			{
				j=j+1;
				if(what != "Email" && what != "Donate")
				{
					return confirm ('Are you sure you want to' + ' ' + what + ' ' + 'your selection(s)?')
				}
			}
		}
	}

	if(j==0)
	{
		alert('Please select items to' + ' ' + what);
		return false;
	}

}


function confirmProcess(what) 
{
	// loop through all elements
	if(what != "Email" && what != "Donate")
	{
		return confirm ('Are you sure you want to' + ' ' + what +' ?')
	}

}


function confirmDeleteImage(frmName,chkName,chkDefault,what) 
{
	// loop through all elements
	
	frm=eval("document." + frmName);
	j=0;
	for (i=0; i<frm.length; i++) 
	{
		// Look for our checkboxes only
		if (frm.elements[i].name.indexOf(chkName) !=-1) 
		{
			// If any are checked then confirm alert, otherwise nothing happens\n
			if(frm.elements[i].checked) 
			{
				j=j+1;
				if(what != "Email" && what != "Donate")
				{
					return confirm ('Are you sure you want to' + ' ' + what + ' ' + 'your selection(s)?')
				}
			}
		}
	}
	try
	{
	if(frm.chkDefault.checked && j==0)
	{
		if(what != "Email" && what != "Donate")
		{
			return confirm ('Are you sure you want to' + ' ' + what + ' ' + 'your selection(s)?')
		}
	}
	}
	catch(e)
	{}
	if(j==0)
	{
		alert('Please select items to' + ' ' + what);
		return false;
	}

}
		
//Function For checking if entered date is greater then current date
function validateCurrentDate(source, arguments)
		{
			currdate = new Date()
			userdate = new Date(arguments.Value)

			currdate.setDate(currdate.getDate())

			if (currdate < userdate)
			{
		          
				arguments.IsValid = false;						
				return;     
			}
			else
			{
				arguments.IsValid = true;
				return ; 
			}
		}
		
		
		//Function For checking if entered date is less then current date
function validateBackDate(source, arguments)
		{
			currdate = new Date()
			userdate = new Date(arguments.Value)

			currdate.setDate(currdate.getDate())

			if (userdate < currdate)
			{
		          
				arguments.IsValid = false;						
				return;     
			}
			else
			{
				arguments.IsValid = true;
				return ; 
			}
		}
		
//Function Phone

var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) 
{
	var keyCode = (isNN) ? e.which : e.keyCode; 
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= len && !containsElement(filter,keyCode)) {
	input.value = input.value.slice(0, len);
	input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) 
{
	var found = false, index = 0;
	while(!found && index < arr.length)
	if(arr[index] == ele)
		found = true;
	else
		index++;
	return found;
}
function getIndex(input) 
{
	var index = -1, i = 0, found = false;
	while (i < input.form.length && index == -1)
	if (input.form[i] == input)index = i;
	else i++;
	return index;
}
return true;
}



function confirmActivateDeactivate(frmName,chkName,what) 
{
	// loop through all elements
	
	frm=eval("document." + frmName);
	j=0;
	for (i=0; i<frm.length; i++) 
	{
		// Look for our checkboxes only
		if (frm.elements[i].name.indexOf(chkName) !=-1) 
		{
			// If any are checked then confirm alert, otherwise nothing happens\n
			if(frm.elements[i].checked) 
			{
				j=j+1;
					return confirm ('Are you sure you want to' + ' ' + what + ' ' + 'your selection(s)?')
				
			}
		}
	}

	if(j==0)
	{
		alert('Please select items to' + ' ' + what);
		return false;
	}

}

function CheckDropDownIfSelected(source, arguments)
{
	//try
	//{
	if(arguments.Value=="< Select >" || arguments.Value=="<Select>" || arguments.Value=="Select")
	{
		arguments.IsValid =false;
	}
	else
	{
		arguments.IsValid =true;
	}
	//}
	//catch(e)
//	{
	//alert(e);
//	}
	return ;
}

function SelectGrid(oTemp,nGridNumber,frmName)
{
	
	var oGrid, sGrid;
	if (nGridNumber==1){ oGrid=grdData; sGrid="grdData";}
	if (nGridNumber==2){ oGrid=grdData1; sGrid="grdData1";}
	
	var sColor,sCheck;				
			
	if(oTemp.checked==true)
	{
		sColor = "#wwwwww";
		sCheck = true;
	}
	else
	{
		sColor = "#wwwwwww";
		sCheck = false;
	}
	
	if (nGridNumber==1)
	{
		for(i=1;i<=oGrid.rows.length+1;i++)
		{		
			if(i<10)
				{ctrli="0" + i;}
			else
				{ctrli= i;}
				
			var oCheck = eval("document." + frmName + "." + sGrid +"_ctl" + ctrli + "_chkDelete");
			
			if (oCheck)
			{				
				if(oCheck.disabled==false)
				{
					oCheck.checked = sCheck;
				}
			}
		}
	}
	if (nGridNumber==2)
	{
		for(i=1;i<=oGrid.rows.length+1;i++)
		{
			if(i<10)
				{ctrli="0" + i;}
			else
				{ctrli= i;}
				
			oCheck = eval("document." + frmName + "." + sGrid +"_ctl" + ctrli + "_chkDelete1");
			if (oCheck)
			{			 					
				if(oCheck.disabled==false)
				{
					oCheck.checked = sCheck;
				}				
			}
		}
	}	
}


//Function For UnChecking All Check box
function UnSelectGrid(oTemp,nGridNumber,frmName,checkBoxName)
{
	var oGrid, sGrid;
	if (nGridNumber==1){ oGrid=grdData; sGrid="grdData";}
	if (nGridNumber==2){ oGrid=grdData1; sGrid="grdData1";}
	
	var sCheck;				
			
	if(oTemp.checked==true)
	{
		sCheck = true;
	}
	else
	{
		sCheck = false;
	}
	
	for(i=1;i<=oGrid.rows.length+1;i++)
	{	
		oCheck = eval("document." + frmName + "." + sGrid +"_ctl" + "0"+i + "_"+checkBoxName);	
		if (oCheck)
		{			 					
			if(sCheck==false)
			{
				oCheck.checked = false;
			}
				
		}
	}
	
}


function checkdate(source, arguments)//Checks If the entered date is in valid format or not(mm/dd/yyyy)
{ 
    
	var validformat=/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/; //Basic check for format validity
	var returnval=false;
	if (!validformat.test(arguments.Value))  
	    ;
	else
	{ //Detailed check for valid date ranges	
		var monthfield=arguments.Value.split("/")[0];
		var dayfield=arguments.Value.split("/")[1];
		var yearfield=arguments.Value.split("/")[2];
		var dayobj = new Date(yearfield, monthfield-1, dayfield);
		if((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield));
		else
			returnval=true;
	}
	
	if (returnval==false)
	{
	    arguments.IsValid = false;						
		return; 
	}
	else
	{
	    arguments.IsValid = true;
		return ; 
	}
	
}	

function SplashScreenSeconds(url, msg)//Function for Redirecting the page to specified loacation within some time specified.
{
   var TARG_ID = "spanSplashScreenSeconds";//Span declared in html form
   var DEF_MSG = "Redirecting...";

   if( ! msg )
   {
      msg = DEF_MSG;
   }

   if( ! url )
   {
      throw new Error('You didn\'t include the "url" parameter');
   }


   var e = document.getElementById(TARG_ID);

   if( ! e )
   {
      throw new Error('"spanSplashScreenSeconds" element id not found');
   }

   var cTicks = parseInt(e.innerHTML);

   var timer = setInterval(function()
   {
      if( cTicks )
      {
         e.innerHTML = --cTicks;
      }
      else
      {
         clearInterval(timer);
         document.body.innerHTML = msg;
         location = url;	  
      }

   }, 1000);
}

function validatePattern(inputPostal1,inputPostal2)
{

    if(inputPostal1=='' && inputPostal2=='') 
    {
  
    return true;
    }
    else
    {
      var objRegExp1 = /^[a-zA-Z]\d{1}[a-zA-Z]{1}$/;
      var objRegExp2 = /^\d[a-zA-Z]{1}\d{1}$/;
      var flag = inputPostal1.match(objRegExp1);

        if (flag == null) 
            return false;
        else 
        {
            flag = inputPostal2.match(objRegExp2);
        if (flag == null)
            return false;
         else
            return true;
        }
    }

}