/* CASH DONATIONS RELATED FUNCTIONS */
/***** BROWSER DETECTION *****/
var g_UA = navigator.userAgent.toLowerCase();
var g_NETSCAPE = (g_UA.indexOf("netscape")>0);
var g_NETSCAPE8 = (g_UA.indexOf("netscape/8")>0);
var g_NETSCAPE_LESS8 = (g_NETSCAPE && !g_NETSCAPE8);
var g_FIREFOX = (g_UA.indexOf("firefox")>0) 
var g_OPERA = (g_UA.indexOf("opera")>0)
var g_WEBTV = (g_UA.indexOf("webtv")>0)
var g_IE = (!g_OPERA && !g_WEBTV && g_UA.indexOf("msie")>0); //navigator.userAgent contains "msie" for Opera and WebTv too!!
var g_SAFARI = (g_UA.indexOf("safari") != -1);
var g_KONQUEROR = (g_UA.indexOf("konqueror") != -1);
var g_USE_NEW_CONTENT_MANAGER = (document.getElementById && document.designMode && !g_SAFARI && !g_KONQUEROR && !g_NETSCAPE_LESS8);
var g_USE_FCK_CONTENT_MANAGER = (!g_SAFARI && !g_KONQUEROR && !g_NETSCAPE_LESS8 && !g_OPERA);
var g_FormatDate = "MM/DD/YYYY";
var g_IE_VERSION5 = g_IE && (g_UA.charAt(navigator.appVersion.indexOf("msie") + 5) >= 5);
var g_WIN16 = (navigator.platform.indexOf("Win16") > 0);
var g_MAC = (g_UA.indexOf("mac")>0);

/***** GENERAL FUNCTIONS *****/

function StripSpaces(sValue)
{
	return sValue.replace((/\s/g), ""); 
}

function doAssociateObjects( oSource, oTarget, bAssociate )
{
	if(bAssociate)
		oTarget.value = oSource.value;
}

function doClearObject(obj, clearvalue)
{
	obj.value = clearvalue;
}
var reWhitespace = /^\s+$/
function isEmpty(s)
{   
	return ((s == null) || (s.length == 0))
}

function isWhitespace (s)
{
	return (isEmpty(s) || reWhitespace.test(s));
}

function changeClass(Elem, myClass) 
{
	if(document.getElementById(Elem))
		document.getElementById(Elem).className = myClass;
}
function isInteger( strValue ) {
	var objRegExp  = /(^-?\d\d*$)/;
	return objRegExp.test(strValue);
}
function clearChars( oCtrl ) {
	oCtrl.value = oCtrl.value.replace(/\D/g,'');
}
function isEmail(str)
{
	var tmp = str + "";
	if(tmp!="")
	{		
		var exclude=/[^@\-\.\[A-Za-z0-9]]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;				
		var check=/@[\w\-]+\./;
		var checkend=/\.[a-zA-Z]{2,3}$/;

		if(((tmp.search(exclude) != -1)||(tmp.search(check)) == -1)||(tmp.search(checkend) == -1))
			return false;	
	}
	return true;	
}

function check3Phone( PhoneFieldID1, PhoneFieldID2, PhoneFieldID3, isRequired )
{
	
	if( (document.getElementById(PhoneFieldID1)) && (document.getElementById(PhoneFieldID2)) && (document.getElementById(PhoneFieldID3)) )
	{
		var PhoneField1 = document.getElementById(PhoneFieldID1);
		var PhoneField2 = document.getElementById(PhoneFieldID2);
		var PhoneField3 = document.getElementById(PhoneFieldID3);
		
		if ((PhoneField1.value.length > 0 ) || (PhoneField2.value.length > 0) || (PhoneField3.value.length > 0)) {
			
			if (PhoneField1.value.length < 3 ) {
				alert('This field must be a 3 digit from an U.S. phone number (like 415-555-1212)');
				PhoneField1.focus();
				changeClass(PhoneField1.id,'errformField');
				return false;
			}
			if (PhoneField2.value.length < 3) {
				alert('This field must be a 3 digit from an U.S. phone number (like 415-555-1212)');
				PhoneField2.focus();
				changeClass(PhoneField2.id,'errformField');
				return false;
			}
			if (PhoneField3.value.length < 4) {
				alert('This field must be a 4 digit from an U.S. phone number (like 415-555-1212)');
				PhoneField3.focus();
				changeClass(PhoneField3.id,'errformField');
				return false;
			}
		}
		else
		{
			if ( isRequired ) 
			{
				alert("Please enter Phone ");
				PhoneField1.focus();
				changeClass(PhoneField1.id,'errformField');
				return false;
			}
		}
	}
	
	objCurrent = PhoneField1 ; changeClass(objCurrent.id,'formField');
	objCurrent = PhoneField2 ; changeClass(objCurrent.id,'formField');
	objCurrent = PhoneField3 ; changeClass(objCurrent.id,'formField');
	
	return true;
}

/* FORM RELATED */

function checkRequiredBid( objCurrent )
{
	if((!isWhitespace(objCurrent.value)) && (objCurrent.value!="$0.00"))
	{
		changeClass(objCurrent.id,'formField');
		return true;
	}
	else
	{
		changeClass(objCurrent.id,'errformField');
		return false;
	}
}

function autoNumber(CtrlID) 
{			
	
	var oCtrl = eval("document.forms.frmOnlineAuction." + CtrlID);
	if(oCtrl){
		if(oCtrl.value.length > 0){
			oCtrl.value = oCtrl.value.replace(/-/,"");
		}
		
		var num = new NumberFormat();
		num.setInputDecimal('.');
		num.setNumber(oCtrl.value);
		num.setPlaces('2', false);
		num.setCurrencyValue('$');
		num.setCurrency(true);
		num.setCurrencyPosition(num.LEFT_OUTSIDE);
		num.setNegativeFormat(num.LEFT_DASH);
		num.setNegativeRed(false);
		num.setSeparators(true, ',', ',');
		oCtrl.value = num.toFormatted();
	}
}

function autoInt(CtrlID, iPlaces) 
{			
	var oCtrl = eval("document.forms.frmOnlineAuction." + CtrlID);
	if(oCtrl){
		if(oCtrl.value.length > 0){
			oCtrl.value = oCtrl.value.replace(/-/,"");
		}
		
		var num = new NumberFormat();
		num.setInputDecimal('.');
		num.setNumber(oCtrl.value);
		num.setPlaces(iPlaces, true);
		num.setCurrencyValue('$');
		num.setCurrency(false);
		num.setCurrencyPosition(num.LEFT_OUTSIDE);
		num.setNegativeFormat(num.LEFT_DASH);
		num.setNegativeRed(false);
		num.setSeparators(false, ',', ',');
		oCtrl.value = num.toFormatted();
	}
}

function setBidStepValue(oCtrl, bidStep, highBid, maxBid) 
{			
	if(oCtrl)
	{
		if(oCtrl.value.length > 0 && bidStep > 0)
		{
			
			oCtrl.value = (oCtrl.value % bidStep > 0) ? (Math.floor(oCtrl.value/bidStep) + 1) * bidStep : oCtrl.value;
		
			if(parseInt(oCtrl.value) < parseInt(highBid) + parseInt(bidStep) )
			{
				oCtrl.value = parseInt(highBid) + parseInt(bidStep);
			}	
			
			if(parseInt(oCtrl.value) > parseInt(maxBid))
			{
				oCtrl.value = maxBid;
				alert("Your Bid can not exceed " + maxBid + ".");
			}	
		}
	}
	
	
}

function validateBid(bidStep, currentBid, maxBid)
{
	var objForm = document.forms.frmOnlineAuction;
	var objCurrent;
	
	objCurrent = objForm.txtCurrentBid;
	
		autoInt(objCurrent.name, 5);
		setBidStepValue(objCurrent, bidStep, currentBid, maxBid);
		autoNumber(objCurrent.name);
		
		if(!checkRequiredBid(objCurrent))
		{
			alert("Please enter Bid!");
			objCurrent.focus();
		}
		
	var objCurrent = objForm.BidFirstName;
	if(isWhitespace(objCurrent.value))
	{
		changeClass(objCurrent.id,'errformField');
		alert("Please enter First Name!");
	    objCurrent.focus();
	    return false;
	}
	else
	{
		changeClass(objCurrent.id,'formField');
	}
	
	var objCurrent = objForm.BidLastName;
	if(isWhitespace(objCurrent.value))
	{
		changeClass(objCurrent.id,'errformField');
		alert("Please enter Last Name!");
	    objCurrent.focus();
	    return false;
	}
	else
	{
		changeClass(objCurrent.id,'formField');
	}
	
	var objCurrent = objForm.BidEmail;
	if(isWhitespace(objCurrent.value))
	{
		changeClass(objCurrent.id,'errformField');
		alert("Please enter Email!");
	    objCurrent.focus();
	    return false;
	}
	else if(!isEmail(objCurrent.value))
	{
		changeClass(objCurrent.id,'errformField');
		alert("Please enter a valid E-Mail address, like: name@companyname.com ");
	    objCurrent.focus();
	    return false;
	}
	else
	{
		changeClass(objCurrent.id,'formField');
	}
	
	if (!check3Phone( 'phone1', 'phone2', 'phone3', false )) return false;
	
	var objCurrent = objForm.chkAgree;
	if(!objCurrent.checked)
	{
		changeClass(objCurrent.id,'errformField');
		alert("Please check the agreement checkbox!");
	    objCurrent.focus();
	    return false;
	}
	else
	{
		changeClass(objCurrent.id,'formField');
	}
	
	
	return true;
}

