var lCount = 0
var oErrors = new Array();

function ValidRadio(oRad, sMes)
{
	if(oRad.value)
	{
		if(oRad.checked == true)
			return oRad.value;
		else
			return -1;
	}
	else
	{
		var i;
		var len = oRad.length
		for( i=0; i < len; i++)
			if( oRad[i].checked == true )
				return oRad[i].value;
		if(sMes)
		{
			oErrors[lCount] = sMes;
			lCount++;
		}		
		return -1;
	}
}

function AutoTab(oTarget)
{
	// We will auto tab unless they have pressed the space bar (space bar select the current tab)
	if(event.keyCode != 32)
	{
		oTarget.focus()
		return false;
	}
	else
		return true;
}

function ValidString(sFldVal, sMes)
{
	// Perform test
	var sSpaceTest = sFldVal.replace(/ /g, "");
	if(sFldVal.length == 0)
	{
		if(sMes)
		{
			oErrors[lCount] = sMes;
			lCount++;
		}
		return false;
	}
	return true;
}

function StripSpaces(oText)
{
	oText.value = oText.value.replace(/ /g, "");
}

function ValidEmail(sFldVal, sMes)
{
	// Perform test
	if((sFldVal.length == 0)||(sFldVal.indexOf("@") == -1))
	{
		if(sMes)
		{
			oErrors[lCount] = sMes;
			lCount++;
		}
		return false;
	}
	return true;
}

function ValidLen(sFldVal, lAtLeast, lAtMost, sMes)
{
	// Perform test
	var lLen = sFldVal.length;
	if((lLen < lAtLeast)||(lLen > lAtMost))
	{
		if(sMes)
		{
			oErrors[lCount] = sMes;
			lCount++;
		}
		return false;
	}
	return true;
}

function ValidSelection(oSelect, sMes)
{
	if((oSelect.length == 0)||(oSelect.options[oSelect.selectedIndex].value == 0)||(oSelect.options[oSelect.selectedIndex].value == 'None'))
	{
		if(sMes)
		{
			oErrors[lCount] = sMes;
			lCount++;
		}
		return false;
	}
	return true;
}

function ValidPhone(oNumber, sMes)
{
	var sNum	= StripAlpha(oNumber.value);
	var len		= sNum.length;
	if(len == 10)
	{
		sNum = "(" + sNum.substring(0,3) + ") " + sNum.substring(3,6) + "-" + sNum.substring(6, len);
		oNumber.value = sNum;
	}
	else
	{
		if(sMes)
		{
			oErrors[lCount] = sMes;
			lCount++;
		}
		return false;
	}
}

function StripAlpha(txtField)
{
	var curValue
	var newValue
	var sChar
	var len
	var i
	
	newValue = ""
	curValue = txtField;
	len = curValue.length;
	// If length greater than 0 strip out letters
	if (len > 0)
		for(i=0;i<len;i++)
		{
			sChar = curValue.substring(i, i+1);
			if (sChar >= "0" && sChar <= "9")
				newValue += sChar;		
		}
	// Reassign non-comma amount
	return newValue;
}

function FormatPhoneNumber(oNumber, bNoAlert)
{
	var sNum	= StripAlpha(oNumber.value);
	var len		= sNum.length;
	if(len == 10)
	{
		sNum = "(" + sNum.substring(0,3) + ") " + sNum.substring(3,6) + "-" + sNum.substring(6, len);
		oNumber.value = sNum;
		return true;
	}
	else if(bNoAlert)
		return false;
	else
	{
		alert("Please enter a valid phone number including the area code");
		return false;
	}
}

function ShowErrors()
{
	var sAlert = "";
	for(var i=0; i<oErrors.length; i++)
	{
		if(i==0)
			sAlert = "Please correct the following errors below:\n\n";
		sAlert += (i+1) + "." + "\t" + oErrors[i] + "\n";
	}
	if(sAlert == "") 
		return false;
	else
	{
		alert(sAlert);
		// Reset the array
		oErrors = new Array();
		lCount = 0
		return true;
	}
}

function SubmitItems(oForm)
{
	oForm.submit();
	oForm.disabled = 'true';
}

function checkDate(strDate, sMes, oDate)
{
    if(strDate.length>0)
    {
		var dateregex=/^[ ]*[0]?(\d{1,2})\/(\d{1,2})\/(\d{4,})[ ]*$/;
		var match=strDate.match(dateregex);
		if (match)
		{
			var tmpdate=new Date(match[3],parseInt(match[1],10)-1,match[2]);
			if (tmpdate.getDate()==parseInt(match[2],10) && tmpdate.getFullYear()==parseInt(match[3],10) && (tmpdate.getMonth()+1)==parseInt(match[1],10))
				return true; 
		}
		if(sMes)
			alert(sMes);
		if(oDate)
		{
			oDate.focus();
			oDate.select();
		}
        return false;
    }
    else
		return true;
}

function ValidCreditCard(ccNumber, sMes)  
{
	var sum  = 0;
	var mul  = 1;
	var lgth = ccNumber.length;
	var digit, tProduct;

	for (i=0;i<lgth;i++)  
	{
		digit = ccNumber.substring(lgth-i-1,lgth-i);
		tProduct = parseInt(digit,10)*mul;
		if (tProduct >= 10)  { sum += (tProduct % 10) + 1; }
		else                 { sum += tProduct;            }
		if (mul == 1)        { mul++;                      }
		else                 { mul--;                      }
	}
	if ((sum % 10) == 0)
		return true;
	else
	{
		if(sMes)
		{
			oErrors[lCount] = sMes;
			lCount++;
		}
		return false;
	}
}


