// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}

function isAllowedForDesc(desc)
{
	
	var myRegxp = /^[\w\?\&\@\.\!\,\'\"\_\s\:\# ]+$/;
    if(myRegxp.test(desc) == 1)
    {
     return true;
    }
    else
    {
      return false;
    }

}


function isAlphaNumeric(valueToTest)
{
    var myRegxp = /^[\w\. ]+$/;
    if(myRegxp.test(valueToTest) == 1)
    {
     return true;
    }
    else
    {
      return false;
    }
}


function isNumeric(valueToTest)
{
    var myRegxp = /^[\d ]+$/;
    if(myRegxp.test(valueToTest) == 1)
    {
     return true;
    }
    else
    {
      return false;
    }
}

function checkTextLength(obj,restrictLength,truncFlag)
{
	if(obj.value.length>restrictLength){
		if(truncFlag) obj.disabled = true;
		alert("Text should not be more than " + restrictLength + " characters");
		if(truncFlag) obj.disabled = false;
		obj.focus();
		if(truncFlag) obj.value = obj.value.substring(0,restrictLength);
		return false;
	}else{
		return true;
	}
}

function validateEmail(email)
{
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

function validateEntry()
{
	
	clientName = document.getElementById('clientName');
	email = document.getElementById('email');
	phone = document.getElementById('phone');
	select_category = document.getElementById('select_category');
	budget = document.getElementById('budget');
	timeframe = document.getElementById('timeframe');
	message = document.getElementById('message');
	recaptcha_challenge_field = document.getElementsByName('recaptcha_challenge_field');
	recaptcha_response_field = document.getElementById('recaptcha_response_field');
	
		if(trim(clientName.value) == '')
		{
			alert('Please enter your name');
			clientName.focus();
			return false;
		}
		else if((trim(clientName.value) != '') && (!isAlphaNumeric(trim(clientName.value))))
		{
			msg = 'Only alphanumeric character are allowed for name';
			alert(msg);
			clientName.focus();
			return false;
		}
		else if(clientName.value.length < 4 )
		{
			msg = 'Please Enter the name (min 4 character)';
			alert(msg);
			clientName.focus();
			return false;
		}
		else if(trim(email.value) == '')
		{
			alert('Please enter your email address');
			email.focus();
			return false;
		}
		else if(trim(email.value) == '')
		{
			alert('Please enter your email address');
			email.focus();
			return false;
		}
		else if(validateEmail(trim(email.value))==false)
		{
			msg = 'Incorrect E-mail address';
			alert(msg);
			email.focus();
			return false;
			
		}
		else if(trim(message.value).length == 0 )
		{
			msg = 'Please enter Project details';
			alert(msg);
			message.focus();
			return false;
		}
		else if(trim(message.value).length < 10 )
		{
			msg = 'Project details should be greater than 10 charcter (min 10 character)';
			alert(msg);
			message.focus();
			return false;
		}
		else if(trim(message.value).length > 500 )
		{
			msg = 'Project details should be less than 500 charcter (max 500 character)';
			alert(msg);
			message.focus();
			return false;
		}
		else if((trim(phone.value) !='') && isNumeric(trim(phone.value)) == false)
		{
			alert('Only Number are allowed for phone number');
			phone.focus();
			return false;
		}
		else if(select_category.value == '#')
		{
			alert('Please select project category');
			select_category.focus();
			return false;
		}
		else if(budget.value == '#')
		{
			alert('Please select your budget');
			budget.focus();
			return false;
		}
		else if(timeframe.value == '#')
		{
			alert('Please select time frame');
			timeframe.focus();
			return false;
		}
		else if(trim(recaptcha_response_field.value) == '')
		{
			alert('Please enter the captcha code');
			recaptcha_response_field.focus();
			return false;
		}
		else
		{
		    return true;
		} 
	
}

