/*
 * League of Extraordinary Designers (r) CMS
 * Copyright (c) 2008, LXD. All rights reserved.
 * Author : Babak Taraghi 'babak.taraghi@gmail.com'
 * Code licensed under the BSD License.
 * version: 1.4.0.0
 */
 
var FormValidator={errors:new Array(),forms:new Array(),setElement:function(formId,id,persianName,type,isRequired){for(var index in this.forms){if(this.forms[index].id==formId){var formExist=true;form=this.forms[index]}else{var formExist=false}}if(!formExist){form=new Object();form.id=formId;form.elements=new Array();this.forms.push(form)}if(type=="radio"){i=0;while(ele=document.getElementById(id+(++i))){ele.ctype=type;ele.pName=persianName;ele.isR=isRequired;form.elements.push(ele)}}else{ele=document.getElementById(id);ele.pName=persianName;ele.ctype=type;ele.isR=isRequired;form.elements.push(ele);ele=null}},validate:function(formId){this.errors=new Array();this.radioError=false;this.radioChecked=false;for(var index in this.forms){if(this.forms[index].id==formId){form=this.forms[index]}}for(var index in form.elements){ele=form.elements[index];if((ele.ctype=="text"||ele.ctype=="email")&&ele.isR&&ele.value==""){this.errors.push("پر کردن فیلد "+ele.pName+" الزامیست.")}if(ele.ctype=="checkbox"&&ele.isR){if(!ele.checked){this.errors.push("چک کردن فیلد "+ele.pName+" الزامیست.")}}if(ele.ctype=="radio"&&ele.isR){if(ele.checked)this.radioChecked=true;if(!ele.checked&&!this.radioError){this.errors.push("انتخاب یکی از گزبنه های "+ele.pName+" الزامیست.");this.radioError=true}if((this.radioChecked||ele.checked)&&this.radioError){this.errors.pop();this.radioError=false}}if(ele.ctype==="select"&&ele.isR&&ele.value==""){this.errors.push("انتخاب فیلد "+ele.pName+" الزامیست.")}if(ele.ctype=="email"&&ele.value!=""){p=ele.value.indexOf('@');if(p<1||p==(ele.value.length-1)){this.errors.push("آدرس ایمیل وارد شده در فیلد "+ele.pName+" نا معتبر است.")}}if(ele.ctype.indexOf("-")!=-1){splitedCtype=ele.ctype.split("-");if(splitedCtype[0]=="number"){if(ele.value!=""){val=parseFloat(ele.value);if(isNaN(val)){this.errors.push("فقط شماره در فیلد "+ele.pName+" وارد کنید.")}else if(splitedCtype[1]!=0){if(ele.value.length<splitedCtype[1]){this.errors.push("تعداد کارکترهای وارد شده در فیلد "+ele.pName+" کمتر از حد مجاز می باشد.")}}}else if(ele.isR&&ele.value==""){this.errors.push("پر کردن فیلد "+ele.pName+" الزامیست.")}}}}if(this.errors.length>0){this.showErrors();return false}return true},showErrors:function(){html="<table width='100%' cellpadding='0' cellspacing='0' border='0'><tr height='1px'><td valign='top'><span style='cursor:pointer;' onclick='FormValidator.hideErrors()'>&nbsp;X</span></td><td width='100%' dir='rtl'>لطفآ پس از بررسی و رفع خطا های زیر دکمه مرحله بعد را فشار دهید.<hr noshade='noshade'></td></tr></table><div style='overflow:auto;width:420px;height:160px;'><table cellpadding='0' cellspacing='0' width='100%' height='100%'>";if(document.getElementById("errorsContainer")){container=document.getElementById("errorsContainer");for(var index in this.errors){html+="<tr><td colspan='2' dir='rtl'>&bull;&nbsp;&nbsp;"+this.errors[index]+"</td></tr>"}container.style.display="inline"}else{var container=document.createElement("div");container.setAttribute("id","errorsContainer");container.setAttribute("style","border:1px solid black;position:fixed;top:200px;left:280px;width:420px;height:200px;background-color:white;padding:8px;");for(var index in this.errors){html+="<tr><td colspan='2' dir='rtl'>&bull;&nbsp;&nbsp;"+this.errors[index]+"</td></tr>"}document.body.appendChild(container)}html+="<tr height='100%'><td>&nbsp;</td></tr></table></div>";container.innerHTML=html},hideErrors:function(){document.getElementById("errorsContainer").style.display="none"}};