/* author: www.Star28.com */
/* Creation date: 6/3/2008 */

function validate() {
        if(!input_fields_validation()) {
		return false;
	}
	return true;
}

function has_special_char(str) {
	for(var i = 0; i <str.length; i++) {
		var charat = str.charAt(i);
		 if(charat == '`' || charat == '~'  || charat == '!'  || charat == '@'  || charat == '#'  || charat == '$'  || charat == '%'  || charat == '^'  || charat == '&'  || charat == '*'  || charat == '('  || charat == ')'  || charat == ':'  || charat == '.'  ||
		    charat == '<'  || charat == '>'  || charat == ';'  || charat == ','  || charat == '|'  || charat == '\\'  || charat == '/'  || charat == '?' || charat == '+' || charat == '=' || charat == "'"  || charat == '"' || charat == '-'  || charat == '_'  ||
		    charat == '{'  || charat == '}') {
			return true;
		}
	}
	return false;
}

function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}

function trim(str) {      
        var from_start = 0;
        var from_end = str.length - 1;
        var return_value;

        while(str.charAt(from_start) == ' ') {
            from_start ++;
        }

        while(str.charAt(from_end) == ' ') {
           from_end --;
        }
   
        if(from_end < from_start){
           return '' ;
        }

        return_value = str.substring(from_start,from_end+1);
        return return_value;

}//end function trim 

function input_fields_validation ( ) {

    var d = new Date();
	document.searchform.city.value   = trim(document.searchform.city.value);
    document.searchform.area.value   = trim(document.searchform.area.value );
	document.searchform.pusd1.value  = trim(document.searchform.pusd1.value );
    document.searchform.pusd2.value  = trim(document.searchform.pusd2.value );
	document.searchform.parea1.value = trim(document.searchform.parea1.value );
	document.searchform.parea2.value = trim(document.searchform.parea2.value );
	
	// catid
	if(document.searchform.catid.value == 0) {
	 window.alert("يرجى اختيار المحافظة");
	 document.searchform.catid.focus();
     return false;
	}
	
	// city
	if(document.searchform.city.value != "") {
	 if(has_special_char(document.searchform.city.value)) {
	  window.alert("يرجى استخدام الأحرف فقط في خانة المدينة");
	  document.searchform.city.focus();
      return false;
	 }
	}
	
	// area
	if(document.searchform.area.value != "") {
	 if(has_special_char(document.searchform.area.value)) {
	  window.alert("يرجى استخدام الأحرف فقط في خانة المنطقة");
	  document.searchform.area.focus();
      return false;
	 }
	}
	
    // pusd1
	if(document.searchform.pusd1.value != "") {
	 if(IsNumeric(document.searchform.pusd1.value) == false ) {
		window.alert("يرجى استخدام الأرقام فقط في السعر");
		document.searchform.pusd1.focus();
        return false;
	 } 
	}
	
	// pusd2
	if(document.searchform.pusd2.value != "") {
	 if(IsNumeric(document.searchform.pusd2.value) == false ) {
		window.alert("يرجى استخدام الأرقام فقط في السعر");
		document.searchform.pusd2.focus();
        return false;
	 } 
	}
	
	// pusd
	if(document.searchform.pusd1.value == "") {
	 if(document.searchform.pusd2.value != "") {
		window.alert("يرجى تحديد السعر الأول");
		document.searchform.pusd1.focus();
        return false;
	 } 
	}
	
	if(document.searchform.pusd2.value == "") {
	 if(document.searchform.pusd1.value != "") {
		window.alert("يرجى تحديد السعر الثاني");
		document.searchform.pusd2.focus();
        return false;
	 } 
	} 
	
	// parea1
	if(document.searchform.parea1.value != "") {
	 if(IsNumeric(document.searchform.parea1.value) == false ) {
		window.alert("يرجى استخدام الأرقام فقط في السعر");
		document.searchform.parea1.focus();
        return false;
	 } 
	}
	
	// parea2
	if(document.searchform.parea2.value != "") {
	 if(IsNumeric(document.searchform.parea2.value) == false ) {
		window.alert("يرجى استخدام الأرقام فقط في السعر");
		document.searchform.parea2.focus();
        return false;
	 } 
	}
	
	// parea
	if(document.searchform.parea1.value == "") {
	 if(document.searchform.parea2.value != "") {
		window.alert("يرجى تحديد السعر الأول");
		document.searchform.parea1.focus();
        return false;
	 } 
	}
	
	if(document.searchform.parea2.value == "") {
	 if(document.searchform.parea1.value != "") {
		window.alert("يرجى تحديد السعر الثاني");
		document.searchform.parea2.focus();
        return false;
	 } 
	} 

	// all
	if ((document.searchform.buyorsell.value == 0) && (document.searchform.adtype.value == 0) && (document.searchform.space.value == 0) &&
	    (document.searchform.city.value == "") && (document.searchform.area.value == "") && (document.searchform.pusd1.value == "") &&
	    (document.searchform.pusd2.value == "") && (document.searchform.parea1.value == "") && (document.searchform.parea2.value == "")){
	    window.alert("جميع الخانات فارغة يرجى اختيار واحدة على الأقل");
	    return false;
	}
	
	// hash
	if(document.searchform.hash.tabIndex == 2) {
	 if(document.searchform.hash.value.length == 0) {
		window.alert("كود التأكيد فارغ");
		document.searchform.hash.focus();
		return false;
     }
	 if(IsNumeric(document.searchform.hash.value) == false ) {
		window.alert("يرجى استخدام الأرقام فقط");
		document.searchform.hash.focus();
		return false;
     }
	 if(document.searchform.hash.value.length != 6) {
		window.alert("كود التأكيد يجب أن يحتوي على ستة أرقام");
		document.searchform.hash.focus();
		return false;
     }
	}
	
   return true;
}




