function setSelection(obj,val){
	for(var i=0;i<obj.length;i++)
		if(obj[i].value==val)
			obj[i].selected=true;
}

function saveData(){
	var checkedOK=true;
	var arrObj=document.getElementsByTagName('input');
	for(var i=0;i<arrObj.length;i++)
		if(checkedOK)
			checkedOK=checkFieldInfo(arrObj[i]);
		else
			checkFieldInfo(arrObj[i]);
	arrObj=document.getElementsByTagName('textarea');
	for(var i=0;i<arrObj.length;i++)
		if(checkedOK)
			checkedOK=checkFieldInfo(arrObj[i]);
		else
			checkFieldInfo(arrObj[i]);
	arrObj=document.getElementsByTagName('select');
	for(var i=0;i<arrObj.length;i++)
		if(checkedOK)
			checkedOK=checkFieldInfo(arrObj[i]);
		else
			checkFieldInfo(arrObj[i]);
	return checkedOK;
}

function checkFieldInfo(obj){
	if(obj.type=='blur')
		obj=obj.srcElement;
	var c=obj.className;
	var msg=check(obj);
	var parent=obj.parentNode;
	var label='';
	var arrLabels=document.getElementsByTagName('label');
	for(var i=0;i<arrLabels.length;i++)
		if(obj.id==arrLabels[i].htmlFor)
			label=arrLabels[i];
	if(c.indexOf('error')>=0)
		c=c.substr(0,c.indexOf(' error'));
	obj.className=c;
	if(obj.value=='')
		label.className='';
	else
		label.className='perfect';
	removeTag(parent,'span');
	removeTag(parent,'br');
	if(msg!==false){
		obj.className=c+' error';
		label.className='error_msg';
		addTag(parent,'br','','');
		addTag(parent,'span','error_msg',msg);
		return false;
	}
	return true;
}

function check(obj){
	var c=obj.className;
	switch(true){
		case(c.indexOf('email')>=0):
			return checkEmail(obj);
			break;
		default:
			return checkText(obj);
	}
	return '';
}

function checkText(obj){
	var c=obj.className;
	var required=(c.indexOf('required')>=0);
	if(required&&obj.value=='')
		return '* this information is mandatory';
	return false;
}

function checkEmail(obj){
	var c=obj.className;
	var required=(c.indexOf('required')>=0);
	var str=obj.value;
	if(required||str!=''){
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if(reg.test(str)==false)
			return '* please specify a valid e-mail address';
	}
	return false;
}

function addTag(parent,tag,clas,txt){
	var newTag=document.createElement(tag);
	if(clas!='')
		newTag.setAttribute('class',clas);
	if(txt!='')
		newTag.innerHTML=txt;
	parent.appendChild(newTag);
}

function removeTag(parent,tag){
	try{
		var oldTag = parent.getElementsByTagName(tag);
		for(var i=0;i<oldTag.length;i++)
			parent.removeChild(oldTag[i]);
	}
	catch(e){}
}

window.onload=function(){
	var arrObj=document.getElementsByTagName('input');
	for(var i=0;i<arrObj.length;i++)
		arrObj[i].onblur=checkFieldInfo;
	arrObj=document.getElementsByTagName('textarea');
	for(var i=0;i<arrObj.length;i++)
		arrObj[i].onblur=checkFieldInfo;
	arrObj=document.getElementsByTagName('select');
	for(var i=0;i<arrObj.length;i++)
		arrObj[i].onblur=checkFieldInfo;
}

