	// Selects all checkboxes
	function SelectAllCheckboxes(spanChk, CheckBoxName)
	{
		// Added as ASPX uses SPAN for checkbox 
		var oItem = spanChk.children;
		var theBox = (spanChk.type == "checkbox") ? spanChk : spanChk.children.item[0];
		var CheckBoxLen = CheckBoxName.length;
		xState = theBox.checked;    
		elm = theBox.form.elements;
		for(i=0; i<elm.length; i++)
		{
			if(elm[i].type == "checkbox" && elm[i].id != theBox.id)
			{
				if ((elm[i].name.substr(elm[i].name.length - CheckBoxLen, CheckBoxLen)) == CheckBoxName)
				{
					if(elm[i].checked != xState)
					{
						elm[i].click();
					}
				}
			}
		}
	}

	// Trim a string
	function trimAll(sString)
	{
		while (sString.substring(0,1) == ' ')
		{
			sString = sString.substring(1, sString.length);
		}
		
		while (sString.substring(sString.length-1, sString.length) == ' ')
		{
			sString = sString.substring(0,sString.length-1);
		}
		
		return sString;		
	}
	
	// Checks if a valid CC date has been entered
	// To be used with the CustomValidator Control
	function CheckCCDate(sender, args)
	{
		var intCounter = 0;
		var intFormElements = document.forms[0].length;
		var strControlName = '';
		var intCCExpMonth = 0;
		var intCCExpYear = 0;
		var dteCurrDate = new Date();
		var intCurrMonth = 0;
		var intCurrYear = 0;
		
		// Begin - Added on 20-01-2007 to bypass client side cc validation
		args.IsValid = true;
		return;
		// End - Added on 20-01-2007 to bypass client side cc validation
		
		args.IsValid = false;
		
		for (intCounter=0; intCounter<intFormElements; intCounter++)
		{
			strControlName = document.forms[0].elements[intCounter].name;
			
			if (strControlName.lastIndexOf('drpCCExpMonth') > 0)
			{
				intCCExpMonth = parseInt(document.forms[0].elements[intCounter].value);
				continue;
			}
			
			if (strControlName.lastIndexOf('txtCC_Exp_Year') > 0)
			{
				intCCExpYear = trimAll(document.forms[0].elements[intCounter].value);
				
				if (intCCExpYear == '')
				{
					// Empty string, skip validation
					args.IsValid = true;
					return;
				}
				else if (isNaN(intCCExpYear) == true)
				{
					// Not a number, skip validation
					args.IsValid = true;
					return;
				}
				else
				{
					intCCExpYear = parseInt(intCCExpYear);
					break;
				}					
			}	
		}
		
		// Do validation
		intCurrYear = parseInt(dteCurrDate.getFullYear());
		intCurrMonth = parseInt(dteCurrDate.getMonth() + 1);
		
		if (intCCExpYear < intCurrYear)
		{
			args.IsValid = false;
		}
		else if (intCCExpYear == intCurrYear)
		{
			if (intCCExpMonth <= intCurrMonth)
			{
				args.IsValid = false;
			}
			else
			{
				args.IsValid = true;
			}
		}
		else
		{
			args.IsValid = true;
		}			
}