/* author: www.Star28.com */
/* Creation date: 7/July/2008 */

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 == '=') {
			return true;
		}
	}
	return false;
}

function validate() {
        if(!input_fields_validation_ar()) {
		return false;
	}
	return true;
}

function valid(str)  {
    for(var i = 0; i < str.length; i++) {
		var charcode = str.charCodeAt(i);
		/* A-Z */
		if(charcode >= 0x41 && charcode <= 0x5A) {
			continue;
		}

        /* a-z */
		if(charcode >= 0x61 && charcode <= 0x7A) {
			continue;
		}

        /* 0-9 */
		if(charcode >= 0x30 && charcode <= 0x39) {
			continue;
		}

		/* . - _ */
		if(charcode == 0x2D || charcode == 0x2E || charcode == 0x5F) {
			continue;
		}
		return false;
    }
    return true;
}

function testemail(obj) {
    var atpos = obj.value.indexOf('@');
    if(atpos == -1) {
		return false;
	}
	if(atpos == 0) {
		return false;
	}
	var dotpos = obj.value.indexOf('.', atpos+2);
	if( dotpos == -1) {
		return false;
	}
	if(dotpos == (obj.value.length - 1) ) {
		return false;
	}
	var fpart = obj.value.substring(0,atpos);
	var host = obj.value.substring(atpos + 1, dotpos);
	var domain = obj.value.substr(dotpos +1);
	if(!( valid(fpart) && valid(host) && valid(domain))) {
		return false;
	}
	var afterat = obj.value.substr(atpos + 1);
	if(afterat.lastIndexOf('.') == (afterat.length - 1)) {
		return false;
	}
	for(var i = 1; i < afterat.length; i++) {
		if(afterat.charAt(i) == '.' && afterat.charAt(i-1) == '.') {
			return false;
		}
	}
	return true;
}



function testuser(obj) {
    for(var i = 0; i < obj.value.length; i++) {
    	var charcode = obj.value.charCodeAt(i);
    	/* A-Z */
 		if(charcode >= 0x41 && charcode <= 0x5A) {
	        continue;
		}

		/* a-z */
		if(charcode >= 0x61 && charcode <= 0x7A) {
			continue;
		}

		/* 0-9 */
		if(charcode >= 0x30 && charcode <= 0x39) {
			continue;
		}

		/* . - _ */
		if(charcode == 0x2D || charcode == 0x5F) {
			continue;
		}
		return false;
	}
	return true;
}

function check_special_chr(obj)
{
   if(obj.value.indexOf('\\(')  >= 0 || obj.value.indexOf('\\)')  >= 0 ||
      obj.value.indexOf('\\[')  >= 0 || obj.value.indexOf('\\]')  >= 0  ||
      obj.value.indexOf('\\<')  >= 0 || obj.value.indexOf('\\>')  >= 0  ||
      obj.value.indexOf('\\\\')  >= 0 || obj.value.indexOf('/')   >= 0   ||
      obj.value.indexOf('\\"')  >= 0 || obj.value.indexOf('~')   >= 0   ||
      obj.value.indexOf('#')  >= 0 || obj.value.indexOf("\$")   >= 0   ||
      obj.value.indexOf('^')  >= 0 || obj.value.indexOf('*')   >= 0   ||
      obj.value.indexOf('%')  >= 0 || obj.value.indexOf('!')   >= 0   ||
      obj.value.indexOf('?')  >= 0 || obj.value.indexOf('&')   >= 0)
      return true;
}

function input_fields_validation_ar ( ) {

    var d = new Date();

	/* title */
	document.sampleform.title.value = leftTrim(rightTrim(document.sampleform.title.value));
	document.sampleform.title.value = trim(document.sampleform.title.value);
	document.sampleform.url.value = leftTrim(rightTrim(document.sampleform.url.value));
	document.sampleform.url.value = trim(document.sampleform.url.value);
	document.sampleform.description.value = leftTrim(rightTrim(document.sampleform.description.value));
	document.sampleform.description.value = trim(document.sampleform.description.value);
	document.sampleform.name.value = trim(document.sampleform.name.value );
    document.sampleform.email.value = trim(document.sampleform.email.value );
		
	if(document.sampleform.title.value == "") {
		window.alert("الرجاء ادخال اسم الموقع");
		document.sampleform.title.focus(); 
		return false;
	}
	
	if(has_special_char(document.sampleform.title.value)) {
		window.alert("يرجى استخدام الأحرف فقط في الاسم");
		document.sampleform.title.focus();
        return false;
	} 
	
	/* URL */
	if(document.sampleform.url.value == "http://") {
		window.alert("الرجاء ادخال رابط الموقع");
		document.sampleform.url.focus(); 
		return false;
	   }
	if(document.sampleform.url.value == "") {
		window.alert("الرجاء ادخال رابط الموقع");
		document.sampleform.url.focus(); 
		return false;
	   }
	 
	/* description */
	if(document.sampleform.description.value == "") {
		window.alert("الرجاء ادخال وصف الموقع");
		document.sampleform.description.focus(); 
		return false;
	   }
	   
	/* name */
	if(document.sampleform.name.value == "") {
		window.alert("لم تقم بادخال الاسم");
		document.sampleform.name.focus(); 
		return false;
	   }
	if(has_special_char(document.sampleform.name.value)) {
		window.alert("يرجى استخدام الأحرف فقط في الاسم");
		document.sampleform.name.focus();
        return false;
	   }  
	   
    /* email */
    if(document.sampleform.email.value == "") {
         window.alert("يرجى ادخال البريد الالكتروني");
         document.sampleform.email.focus();
         return false;
    }
	
    if(document.sampleform.email.value != "") {
        if(!testemail(document.sampleform.email)) {
            window.alert("يرجى التأكد من صحة البريد الالكتروني");
            document.sampleform.email.focus();
            return false;
        }
    }
    /* location */
    if(document.sampleform.location.value == "") {
        window.alert("يرجى اختيار البلد");
        document.sampleform.location.focus();
        return false;
    }
    /* randnum & user_randnum */
    if(document.sampleform.user_randnum.value == "") {
        window.alert("يرجى ادخال رقم التأكيد");
        document.sampleform.user_randnum.focus();
        return false;
    }
    
    if(document.sampleform.randnum.value != document.sampleform.user_randnum.value) {
        window.alert("رقم التأكيد غير مطابق");
        document.sampleform.user_randnum.focus();
        return false;
    }
	
	/* country */
		if(document.sampleform.country.value == "") {
		window.alert("الرجاء اختيار البلد");
		document.sampleform.country.focus(); 
		return false;
	    }
		
    return true;
}



function leftTrim(sString)
{
while (sString.substring(0,1) == ' '){
sString = sString.substring(1, sString.length);
}
return sString;
}

function rightTrim(sString){
while (sString.substring(sString.length-1,sString.length) == ' '){
sString = sString.substring(0,sString.length-1);
}
return sString;
}

	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 
