var checkObjects=new Array();var errors="";var returnVal=false;var language=new Array();language["header"]="Υπάρχουν τα παρακάτω λάθη:"
language["start"]="- ";language["field"]=" ";language["require"]=" είναι απαραίτητο";language["min"]=" και πρέπει να είναι τουλάχιστο ";language["min2"]=" πρέπει να είναι τουλάχιστο ";language["max"]=" και δεν πρέπει να περιέχει πάνω από ";language["max2"]=" δεν πρέπει να περιέχει πάνω από ";language["minmax"]=" και όχι παραπάνω από ";language["chars"]=" χαρακτήρες";language["num"]=" και πρέπει να περιέχει αριθμό";language["num2"]=" πρέπει να περιέχει αριθμό";language["email"]=" πρέπει να περιέχει μια σωστή email διεύθυνση";language["date"]=" πρέπει να περιέχει μια σωστή ημερομηνία (μμ/ΜΜ/χχχχ)";function define(req,n,type,HTMLname,min,max,d){var p;var i;var x;if(!d)d=document;if((p=n.indexOf("?"))>0&&parent.frames.length){d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p);}
if(!(x=d[n])&&d.all)
x=d.all[n];for(var i=0;!x&&i<d.forms.length;i++){x=d.forms[i][n];}
for(var i=0;!x&&d.layers&&i<d.layers.length;i++){x=define(req,n,type,HTMLname,min,max,d.layers[i].document);return x;}
eval("V_"+n+" = new formResult(req, x, type, HTMLname, min, max);");checkObjects[eval(checkObjects.length)]=eval("V_"+n);}
function formResult(req,form,type,HTMLname,min,max){this.required=req;this.form=form;this.type=type;this.HTMLname=HTMLname;this.min=min;this.max=max;}
function validate(){if(checkObjects.length>0){errorObject="";for(var i=0;i<checkObjects.length;i++){validateObject=new Object();validateObject.form=checkObjects[i].form;validateObject.HTMLname=checkObjects[i].HTMLname;validateObject.val=checkObjects[i].form.value;validateObject.len=checkObjects[i].form.value.length;validateObject.min=checkObjects[i].min;validateObject.max=checkObjects[i].max;validateObject.type=checkObjects[i].type;validateObject.required=checkObjects[i].required;if(validateObject.required=="true"){if(validateObject.type=="num"||validateObject.type=="string"){if((validateObject.type=="num"&&validateObject.len<=0)||(validateObject.type=="num"&&isNaN(validateObject.val))||(validateObject.type=="num"&&parseInt(validateObject.val)<0)){errors+=language['start']+language['field']+validateObject.HTMLname+language['require']+language['num']+"\n";}else if(validateObject.min&&validateObject.max&&(validateObject.len<validateObject.min||validateObject.len>validateObject.max)){errors+=language['start']+language['field']+validateObject.HTMLname+language['require']+language['min']+validateObject.min+language['minmax']+validateObject.max+language['chars']+"\n";}else if(validateObject.min&&!validateObject.max&&(validateObject.len<validateObject.min)){errors+=language['start']+language['field']+validateObject.HTMLname+language['require']+language['min']+validateObject.min+language['chars']+"\n";}else if(validateObject.max&&!validateObject.min&&(validateObject.len>validateObject.max)){errors+=language['start']+language['field']+validateObject.HTMLname+language['require']+language['max']+validateObject.max+language['chars']+"\n";}else if(!validateObject.min&&!validateObject.max&&validateObject.len<=0){errors+=language['start']+language['field']+validateObject.HTMLname+language['require']+"\n";}else if(validateObject.max&&!validateObject.min&&(validateObject.len<=0)){errors+=language['start']+language['field']+validateObject.HTMLname+language['require']+"\n";}}else if(validateObject.type=="email"){if(!checkEmail(validateObject.val,validateObject.len)){errors+=language['start']+language['field']+validateObject.HTMLname+language['email']+"\n";}}
else if(validateObject.type=="date"){if(!checkDate(validateObject.val)){errors+=language['start']+language['field']+validateObject.HTMLname+language['date']+"\n";}}}else{if(validateObject.type=="num"||validateObject.type=="string"){if((validateObject.type=="num"&&validateObject.len<0)||(validateObject.type=="num"&&isNaN(validateObject.val))){errors+=language['start']+language['field']+validateObject.HTMLname+language['num2']+"\n";}else if(validateObject.min&&validateObject.max&&(validateObject.len<validateObject.min||validateObject.len>validateObject.max)){errors+=language['start']+language['field']+validateObject.HTMLname+language['min2']+validateObject.min+language['minmax']+validateObject.max+language['chars']+"\n";}else if(validateObject.min&&!validateObject.max&&(validateObject.len<validateObject.min)){errors+=language['start']+language['field']+validateObject.HTMLname+language['min2']+validateObject.min+language['chars']+"\n";}else if(validateObject.max&&!validateObject.min&&(validateObject.len>validateObject.max)){errors+=language['start']+language['field']+validateObject.HTMLname+language['max2']+validateObject.max+language['chars']+"\n";}else if(!validateObject.min&&!validateObject.max&&validateObject.len<0){errors+=language['start']+language['field']+validateObject.HTMLname+language['require']+"\n";}}else if((validateObject.type=="email")&&(validateObject.len>0)){if(!checkEmail(validateObject.val,validateObject.len)){errors+=language['start']+language['field']+validateObject.HTMLname+language['email']+"\n";}}
else if(validateObject.type=="date"&&validateObject.len>0){if(!checkDate(validateObject.val)){errors+=language['start']+language['field']+validateObject.HTMLname+language['date']+"\n";}}}}}
if(errors){alert(language["header"].concat("\n"+errors));errors="";returnVal=false;}else{returnVal=true;}}
function checkEmail(email,len){var index=-1;var temp="";var count=0;temp=email;if((email.indexOf("@")==-1)||(email.charAt(0)==".")||(email.charAt(0)=="@")||(len<6)||(email.indexOf(".")==-1)||(email.charAt(email.indexOf("@")+1)==".")||(email.charAt(email.indexOf("@")-1)==".")||(email.lastIndexOf(".")<email.indexOf("@"))||(email.charAt(email.length-1)==".")||(email.charAt(email.length-1)=="@")){return false;}else{while((index=temp.indexOf("."))>=0){if((temp.charAt(index-1)==".")||(temp.charAt(index+1)==".")){return false;}else{temp=temp.substring(index+1);}}
for(var i=0;i<email.length-1;i++){if(email.charAt(i)=="@"){count++;}}
if(count>1){return false;}
return true;}}
function checkDate(fieldValue){var checkstr="0123456789";var Datevalue="";var DateTemp="";var day;var month;var year;var leap=0;var err=0;var i;err=0;DateValue=fieldValue;for(var i=0;i<DateValue.length;i++){if(checkstr.indexOf(DateValue.substr(i,1))>=0){DateTemp=DateTemp+DateValue.substr(i,1);}}
DateValue=DateTemp;if(DateValue.length!=8){err=19;}
year=DateValue.substr(4,4);if(year==0){err=20;}
month=DateValue.substr(2,2);if((month<1)||(month>12)){err=21;}
day=DateValue.substr(0,2);if(day<1){err=22;}
if((year%4==0)||(year%100==0)||(year%400==0)){leap=1;}
if((month==2)&&(leap==1)&&(day>29)){err=23;}
if((month==2)&&(leap!=1)&&(day>28)){err=24;}
if((day>31)&&((month=="01")||(month=="03")||(month=="05")||(month=="07")||(month=="08")||(month=="10")||(month=="12"))){err=25;}
if((day>30)&&((month=="04")||(month=="06")||(month=="09")||(month=="11"))){err=26;}
if(err==0){return true;}
else{return false;}}
function initValidate(){checkObjects=new Array();}
function checkMinMax(obj1,obj2,label){var message="";if((obj1.length>0&&isNaN(obj1))||(obj2.length>0&&isNaN(obj2))){return message="\n"+label+": Συμπληρώστε σωστούς αριθμούς στο 'από' και το 'έως'.";}
if((obj1.length>0&&!isNaN(obj1))&&(obj2.length>0&&!isNaN(obj2))){if(obj1-obj2>0){message="\n"+label+": To 'απο' πρέπει να είνει μικρότερο του 'έως'.";}}
return message;}
function validateSearchMinMax(){var message="";if(checkMinMax(document.propertyForm.priceFrom.value,document.propertyForm.priceTo.value).length>0,'Τιμή')
message+=checkMinMax(document.propertyForm.priceFrom.value,document.propertyForm.priceTo.value,'Τιμή');if(checkMinMax(document.propertyForm.sizeFrom.value,document.propertyForm.sizeTo.value).length>0,'Εμβαδό')
message+=checkMinMax(document.propertyForm.sizeFrom.value,document.propertyForm.sizeTo.value,'Εμβαδό');return message;}
