//validate form js
//setting
var validate_class_c="validate-form";
var class_node_c="required-input";
var text_node_c="<em>Request Field</em>";
//end setting

function createnode(node){
	newnode=document.createElement('span');
	newnode.className=class_node_c;
	newnode.innerHTML=text_node_c;
	node.appendChild(newnode);	
}
function removenode(remove){
	chan=$$(".".remove);
	chan.each(function(e,i){
		e.parentNode.removeChild(e);
	});
}
function checkmail(x){
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)){
		return true;
	}else{
		return false;
	}
}
function checkforms(takeform){
	err=0;
	removenode(class_node_c);
  	reqfields=takeform.required.value.split(',');
	for(i=0;i < reqfields.length;i++){
		field=reqfields[i];
		object=$(field);
		switch(object.type){
			case "text":
			case "textarea":
			case "hidden":
				if(object.value==""){
					createnode(object.parentNode);
					err++;
				}
				if(field=="email" && !checkmail(object.value) && object.value!=""){
					createnode(object.parentNode);
					err++;
				}
				if(field.test(/-controll/i) && $(field.replace("-controll","")).value!=object.value){
					createnode(object.parentNode);
					err++;
				}
				break;
			case "select-one":
				if(object.options[object.selectedIndex].value==""){
					createnode(object.parentNode);
					err++;
				}
				break;
			case "radio":
			case "checkbox":
				if(object.checked!=true){
					createnode(object.parentNode);
					err++;
				}
				break;
		}
		
	}
	if(err>0){
		return false;	
	}
}

function associate(){
	var els = $$("."+validate_class_c);
	els.each(function(j) { 
		j.onsubmit=function(){return checkforms(this);}		  
	});
	
}

window.addEvent('load', associate);
