
/*----------------------------- Validate Form --------------------------------------*/

function collectionToArray(col) {
	a = new Array();
	for (i = 0; i < col.length; i++)
		a[a.length] = col[i];
	return a;
	
}

function langchange(action){
document.getElementById('langs').value=action;
document.language.submit();
}

function validate(formName) {

	var elm,id,name,lname,value,retvalue,element,label;
	var emailFilter=/^.+@.+\..{2,3}$/;
	retvalue = true;
	
	elementsForms = collectionToArray(document.forms[formName].getElementsByTagName("input")); 
	elementsForms = elementsForms.concat(collectionToArray(document.forms[formName].getElementsByTagName("textarea")));
	elementsForms = elementsForms.concat(collectionToArray(document.forms[formName].getElementsByTagName("select")));

	for (var intCounter = 0; intCounter < elementsForms.length; intCounter++) 
	{ 
		elm = elementsForms[intCounter];
		name = elm.getAttribute("name");
		id = elm.getAttribute("rel");
		lname = 'req_'+name;
		element = document.forms[formName].elements[name];
		//label = $(lname);
		
		label=document.getElementById(lname);
		if(id == 'req_value') {
			if( element.value.replace(/^\s+|\s+$/g, '') == '') {
				label.className="error";
				retvalue = false;
			} else {
				label.className="";
			}
		} else if(id == 'req_digit') {
			if(element.value == '') {
				label.className="error";
				retvalue = false;
			} else if(isNaN(element.value)) {
				label.className="error";
				retvalue = false;
			} else {
				label.className="";
			}
		} else if(id == 'req_select') {
			if(element.options[element.selectedIndex].value == 0) {
				label.className="error";
				retvalue = false;
			} else {
				label.className="";
			} 
		} else if(id == 'req_gender') {
			if(element.options[element.selectedIndex].value == 3) {
				label.className="error";
				retvalue = false;
			} else {
				label.className="";
			} 
		} else if(id == 'req_file') {
			if(element.value == '' && document.forms[formName].elements[name+'_old'].value == '') {
				label.className="error";
				retvalue = false;
			} else {
				label.className="";
			}
		} else if(id == 'req_email') {
			if(element.value == '') {
				label.className="error";
				retvalue = false;
			} else if (!(emailFilter.test(element.value))) {
				label.className="error";
				retvalue = false;
			} else {
				label.className="";
			}
		} else if(id == 'req_password') {
			label_pwd_agn = $('req_password_again');
			if(element.value == '') {
				label.className="error";
				label_pwd_agn.setAttribute("class","error");
				retvalue = false;
			} else if(element.value.length < 4) {
				label.className="error";
				label_pwd_agn.setAttribute("class","error");
				retvalue = false;
			} else if(element.value	!= 	document.forms[formName].password_again.value) {
				label.className="error";
				label_pwd_agn.setAttribute("class","error");
				retvalue = false;
			} else {
				label.className="";
				label_pwd_agn.setAttribute("class","");
			}
		}
	} 

	return retvalue;
}
