//Overwrite Validation Function in validation.js
Validation.addAllThese([
	['validate-cemail', 'Please make sure your emails match.', function(v) {
                if ($('email')) {
                    var email = $('email');
                }
                else {
                    var email = $$('.validate-email').length ? $$('.validate-email')[0] : '';
                }
                var cemail = $('cemail') ? $('cemail') : $$('.validate-cemail')[0];
                return (email.value == cemail.value);
            }],
	['validate-USphone', 'Please enter a valid number. <br>For example 1234567890 or 222 555 1212, 222-555-1212, (222) 555 1212, (222) 555-1212.', function(v) {
                return Validation.get('IsEmpty').test(v) || /^(?:\([0-9]\d{2}\)\ ?|[0-9]\d{2}(?:\-?|\ ?))[0-9]\d{2}[- ]?\d{4}$/.test(v);
		}],
	['validate-postcode', 'Please enter a valid zip code. For example 90602 or 90602-1234.', function(v) {
		return /(^\d{4}$)|(^\d{5}$)|(^\d{5}-\d{4}$)|(^\d{4}-\d{5}$)|(^\d{4}-\d{4}$)/.test(v);
    }],
	['validate-date-current', 'The required delivery date must be greater than or equal to tomorrow\'s date.', function(v) {
                if(Validation.get('IsEmpty').test(v)) {
					$('no').checked=true;
					disableCal($('no'));
					return true;
				}
				var date = v.split('/');
                var expMonth   = date[0];
				var expDate	   = date[1];
                var expYear    = date[2];
				
                var currentTime  = new Date();
                var currentMonth = currentTime.getMonth() + 1;
				var currentDate	 = currentTime.getDate();
                var currentYear  = currentTime.getFullYear();
				
                if (expMonth < currentMonth && expYear <= currentYear && expDate <= currentDate) {
                    return false;
                }			
                return true;
            }]
]);
//Validations for Search Box
function trim(value) {
	var exp = /^(\s*)(\S*)(\s*$)/;
	if (exp.test(value)) 
		value = value.replace(exp, '$2');
	return value;
}
function validateSearch() {
	var searchEmpty	= true;
	search_obj	= eval( "document"+"."+"getElementById(\"search\")" );
	searchval	= eval( "search_obj"+".value" );
	if( trim(searchval) != '' &&  trim(searchval) != 'Keyword or item #') {
		searchEmpty	= false;
	}		
	if( searchEmpty ) {
		alert('Please enter a keyword or item number.');
		search_obj.focus();
		return false;
	}
	return true;
}
//Validations for Quick Order
function isEmpty(obj, fldName) {   
	if( trim(obj.value) == "") {
		if ( obj.type == 'text' || obj.type == 'textarea' ) {
			alert("Please enter "+ fldName);
		} else {
			alert("Please select "+ fldName);
		}
		obj.value = trim( obj.value);
		obj.focus()
		return true;
	}
	else 
		return false;
}
function validateQuickOrder( frmObj ) {
	var len = document.getElementsByName('sku[]').length;
	var skuEmpty	= true;
	var qtyEmpty	= true;
	myRegExp 		= new RegExp(/^\d+(\.\d{0,2})?$/);
	for(var i=0; i<len ; i++){
		
		sku_obj	= eval( "document"+"."+"getElementById(\"sku_"+i+"\")" );
		sku	= eval( "sku_obj"+".value" );
		qty_obj	= eval( "document"+"."+"getElementById(\"qty_"+i+"\")" );
		qty	= eval( "qty_obj"+".value" );
		if( trim(sku) != '' ) {
			skuEmpty	= false;
		}
		if( trim(qty) != '' ) {
			qtyEmpty	= false;
			if(!myRegExp.test(qty)){
				alert('Please enter a valid quantity.');
				qty_obj.focus();
				return false;
			}
		}
		if( trim(sku) == '' && trim(qty) != '' ) {
			alert('Please enter an item number.');
			sku_obj.focus();
			return false;
		}
	}
	if( skuEmpty && qtyEmpty ) {
		alert('Please enter an item number and quantity.');
		sku_obj.focus();
		return false;
	}
	else if( !skuEmpty && qtyEmpty ) {
		alert('Please enter a quantity.');
		qty_obj.focus();
		return false;		
	}
	else if( skuEmpty && !qtyEmpty ) {
		alert('Please enter an item number.');
		sku_obj.focus();
		return false;		
	}
	return true;
}
//Flash Fix for IE
fixIE=
{
	_0:function()
	{
		var ob=document.getElementsByTagName('object');
		for(var i=0;i<ob.length;i++)
		{
			var o=ob[i];var h=o.outerHTML;
			var paramList=o.getElementsByTagName('param');
			var params="";
			for(var j=0,pll=paramList.length;j<pll;j++)
			{
				var p=paramList[j];
				if(p!=null)
				{
					params+=p.outerHTML;
				}
			};
			o.outerHTML=(h.split(">")[0]+">")+params+o.innerHTML+" </OBJECT>";
		};
		document.getElementById("hideObject").disabled=true
	},init:function()
	{
		if(window.ActiveXObject)
		{
			document.write("<style id='hideObject'> object{display:none;} </style>");
			var o=window.onload;
			var s=this;
			window.onload=function()
			{
				s._0();
				if(o)
				o();
			}
		}
	}
};
fixIE.init();

