

function checkApplyForm( src ) {
	var err = '';
	var checkedElement = 0;
	for ( var intLoop = 0; intLoop < src.elements.length; intLoop++ ) {
		if ( src.elements[intLoop].type == "checkbox" 
			&& src.elements[intLoop].checked 
			&& ( src.elements[intLoop].name == "yes"				 
			)) {
			checkedElement++;		 
		}
	}
	if ( checkedElement == 0 ) {
		alert( "الرجاء التأكيد انك موافق و تقبل هذه الشروط بوضع اشارة في المربع فوق خانة ارسال" );         
        return false;
    }
    return true;
}

function checkForm( src ) {  
	var error_messages = "Missing Fields: \n\n";
	// Every input that requires an answer also needs an id = "", filled with the description
	for (var i = 0; i < (src.elements.length); i++) // i = number of hidden fields in the form
	{
			if ((src.elements[i].type != "hidden") && (src.elements[i].value != "HIDDEN"))
			{
				if (src.elements[i].value == "")
				{
					error_messages = error_messages + "- " + src.elements[i].id + "\n";
				}
				if (src.elements[i].id == "Email")
				{
					if (src.elements[i].value != "")
					{
						if ( ! isEmail( src, src.elements[i].value ))
						{
							error_messages = error_messages + "- " + src.elements[i].id + " in Wrong Format\n";
						}
					}
				}
			}
	}
	
	if (error_messages != "Missing Fields: \n\n")
	{
		alert(error_messages);
		return false;
	}
	
	return true;
} 

function isEmail( src, str ) {

	var sEmail = "";
	if ( str == null ) {
		if ( src.email ) {
			sEmail = src.email.value;
		} else if ( src.EMAIL ) {
			sEmail = src.EMAIL.value;
		} else if ( src.Email ) {
			sEmail = src.Email.value;
		} else if ( src.email1 ) {
			sEmail = src.email1.value;
		}  
	} else {
		sEmail = str;
	}
    if ( sEmail == '' || sEmail == 'undefined' || sEmail.length == 0 ) {
        return false;
    }
    if ( sEmail.indexOf(' ') != -1 ) {
        return false;
    }
    var sCheckEmail = sEmail.toUpperCase();

    for ( var i = 0; i < sCheckEmail.length; i++ ) {
        var cCurrChar = sCheckEmail.charAt( i );
        if ( !( cCurrChar >= 'A' && cCurrChar <= 'Z' ) 
          && !( cCurrChar >='0'  && cCurrChar <='9' )
          &&  cCurrChar != '.'  && cCurrChar != '@'
          &&  cCurrChar != '('  && cCurrChar != ')'
          &&  cCurrChar != '/'  && cCurrChar != '-'              
          &&  cCurrChar != ':'  && cCurrChar != '='              
          &&  cCurrChar != '?'  && cCurrChar != '+' 
          &&  cCurrChar != '_' ) {
            return false;
        }
    }
    if ( sEmail.length == 0 ||
        sEmail.indexOf( '@', 1 ) < 0 ||
        sEmail.indexOf( '.', 1 ) < 0 ||
        sEmail.indexOf( '@', 1 ) == sEmail.indexOf( '.', 1 ) - 1 ||
        sEmail.indexOf('@') < sEmail.lastIndexOf( '@' )) {
        return false;
    }

    //ensure that last character is (a-z,A-Z)
    cLastChar = sEmail.toUpperCase().charAt( sEmail.length - 1 );
    cFirstChar = sEmail.toUpperCase().charAt( 0 );
    if ( ! ( cLastChar >= 'A' && cLastChar <= 'Z' )) {
        return false;
    }
    //ensure that first character is letter or digit
    if ( ! ( cFirstChar >= 'A' && cFirstChar <= 'Z' ) &&
         ! ( cFirstChar >= '0' && cFirstChar <= '9' )) {
        return false;
    }
    try {
        var sNameEmail = sEmail.substring( 0, sEmail.indexOf( '@' ));
        var sFullDomenEmail = sEmail.substring( sEmail.indexOf( '@' ), sEmail.length );
        var sExtEmail = sEmail.substring( sEmail.lastIndexOf( '.' ), sEmail.length );
        var sDomen = sFullDomenEmail.substring( 0, sFullDomenEmail.indexOf( sExtEmail ) - 1 );
        sDomen = sDomen.substring( sDomen.lastIndexOf( "." ) + 1, sDomen.length );
        
        if ( sNameEmail.length == 0 || sFullDomenEmail.length == 0 || sExtEmail.length == 0 ||
            sDomen.length == 0 ) {
            return false;
        }        
        if ( sEmail.indexOf( ".." ) != -1 ) {
            return false;
        }

    } catch ( e ) {
        return false;
    }
    return true;     
}

function isEmpty( str ) {
    if ( str == '' ) {
        return true;
    }
    for ( var i = 0; i < str.length; i++ ) {
        if ( str.charAt( i ) != ' ') {
            return false;
        }
    }
    return true;
}