/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

function fieldcheck(form, fields){
	var array = fields.split(';');
	var result = true;
	for (var i = 0; i < array.length; i++){
		var obj = form.elements[array[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == "Vel..."){
					//alertMsg += " - " + fieldDescription[i] + "\n";
					forms_displayError ( obj, 'Choose one' );
					result= false;
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					//alertMsg += " - " + fieldDescription[i] + "\n";
					forms_displayError ( obj, 'Choose one or more' );
					result= false;
				}
				break;
			case "text":
				if (obj.value == "" || obj.value == null){
					forms_displayError ( obj, 'Is required' );
					result = false
				}
				else{
					if (obj.name == "price" && obj.value != ""){
						  validRegExp = /^[0-9]+$/;
						   // search email text for regular exp matches
						  if (!obj.value.match(validRegExp)) 
						  {
							 forms_displayError ( obj, 'Numbers only' );
		 					 result = false
						  } 
					}
					else if (obj.name == "email" && obj.value != ""){
						validRegExp = /\b[\w\.-]+@[\w\.-]+\.\w{2,4}\b/gi;
				
						// search email text for regular exp matches
						if (obj.value.search(validRegExp) == -1) 
						{
							forms_displayError(obj, "Invalid email")
							result = false
						} 
					}
				}
				break;
			case "textarea":
				if (obj.value == "" || obj.value == null){
					//obj.focus();
					//obj.value='';
					forms_displayError ( obj, 'Is required' );
					result= false;
					//alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					//alertMsg += " - " + fieldDescription[i] + "\n";
					forms_displayError ( obj, 'Is required' );
					result= false;
				}
			}
		}
	}
	return result
}

function forms_displayError ( oNode, sString ) { // display warning and add listener to normalize field on interaction
//		oNode.setAttribute ( "originalString", oNode.value == sString ? "" : oNode.value );
//		oNode.style.color = "#FF4900";
//		oNode.value = sString;
		oNode.onmousedown = forms_resetField;
		oNode.onfocus = forms_resetField;

		var newdiv = document.createElement('div');
  		var divIdName = oNode.name+'alert';
  		newdiv.setAttribute('id',divIdName);
		newdiv.innerHTML = '<div style="position:relative; width:100%; "><div style="position:absolute; right:0px; top:-5px;border:red solid 1px; padding:2px;	background-color:#F3F3F3">'+sString+'</div></div>'
		oNode.parentNode.insertBefore(newdiv,oNode);
		//oNode.parentNode.appendChild(newdiv);
		

		window.bSubmit = false;
}

function forms_resetField ( e ) { // normalize field onclick/onfocus
		if ( !e ) var e = window.event;
		var node = e.target ? e.target : e.srcElement;
		if ( node.nodeType == 3 ) node = node.parentNode;
		
		var el = document.getElementById(node.name+'alert');
		el.parentNode.removeChild(el);

		//node.value = node.getAttribute ( "originalString" ) ? node.getAttribute ( "originalString" ) : "";
		//node.style.color = "#000000";
		node.onmousedown = null
		node.onfocus = null
}
