var forms={
"qform":
	[
		"xform[email]",
		"xform[company]",
		"xform[name]",
		"xform[post]"
	]
};


var confirms={
"reqform":{ "xform[password]": "xform[password_confirm]" }
}


confirmChk=function(formID,field)
{
	if(confirms[formID])
	{
		if(confirms[formID][field])
		{
			if( document.getElementById(formID).elements[field].value!=document.getElementById(formID).elements[confirms[formID][field]].value )
				return false;
		}
	}
	return true;
}



formAction=function(cfg){
	if(cfg && cfg.length){
		for(var i=0;i<cfg.length;i++){
			var obj=document.getElementById(cfg[i][0]);
			if(obj){
				if(obj.type && obj.type=='submit'){
	               obj.disabled=(cfg[i][1] ? false:true);
				}else{
					obj.style.display=(cfg[i][1] ? "block" : "none");
				}
	       }
		}
	}
}

cbselect=function(id,pattern){
	var form=document.getElementById(id);
	if(form && form.elements){
		for(var i=0;i<form.elements.length;i++){
			if(form.elements[i] && form.elements[i].type=='checkbox' && form.elements[i].name.indexOf(pattern) != -1 ){
				form.elements[i].checked=true;
			}
		}
	}
}

sendForm=function(formID,fc_success,fc_failed)
{
	var form=document.getElementById(formID);
	var field;
	var allOk=1;
	if(form && form.elements)
	{
		var fieldSet=forms[formID];
		for(var fieldId in fieldSet)
		{
			field=fieldSet[fieldId];
			if(!chkField(form,field))
			{
				hlField(form,field);
				allOk=0;
			}
			else if(!confirmChk(formID,field))
			{
				hlField(form,confirms[formID][field]);
				allOk=0;
			}
			else
				dhlField(form,field);
		}

		if(!allOk)
		{
			if(fc_failed){
				formAction(fc_failed);
			}	
		}
		else
		{
			if(fc_success){
				formAction(fc_success);
			}	
			form.submit();
		}	
	}
	else
		alert('strange error');
}





dhlField=function(form,field)
{
	try
	{
		form.elements[field].style.borderWidth='2px';
		form.elements[field].style.borderStyle='solid';
		form.elements[field].style.borderColor='#BBB';
	}
	catch(e)
	{
		alert(e+'dhlFiel['+field+']');
	}

}

hlField=function(form,field)
{
	try
	{
		form.elements[field].style.borderWidth='2px';
		form.elements[field].style.borderStyle='solid';
		form.elements[field].style.borderColor='#FF7A00';
	}
	catch(e)
	{
		alert(e+'hlFiel['+field+']');
	}
}


chkEmailField=function(form,field)
{
	var elm=form.elements[field];
    if (elm.value.indexOf("@") + "" != "-1" &&
        elm.value.indexOf(".") + "" != "-1" &&
        elm.value != "")
    return true;
    else
	{
		alert('Проверьте правильность написания адреса:\n yourname@yourdomain.com');
		elm.focus();
		return false;
	}	
}

chkField=function(form,field)
{
	var email_re=/email/g;
	try{
	if(field.match(email_re))
	{
		return chkEmailField(form,field);
	}
	else if(form.elements[field].value==''){
		return false;
	}
	}
	catch(e)
	{
		return false;
	}
	return true;	
}




