/***************************/
//@Author: Adrian "yEnS" Mato Gondelle & Ivan Guardado Castro
//@website: www.yensdesign.com
//@email: yensamg@gmail.com
//@license: Feel free to use it, but keep this credits please!				
/***************************/
jQuery.noConflict();
jQuery(document).ready(function(){
	//global vars
	//var form = jQuery("#contactUsForm");
	var name = jQuery("#name");
	var nameInfo = jQuery("#nameInfo");
	var email = jQuery("#email");
	var emailInfo = jQuery("#emailInfo");
	var message = jQuery("#message");
	var messageInfo = jQuery("#messageInfo");
	var phone= jQuery("#phone");
	var phoneInfo = jQuery("#phoneInfo");
	var subject= jQuery("#subject");
	var subjectInfo = jQuery("#subjectInfo");
	var confirmMsg = jQuery("#confirm_msg")

	jQuery('nameInfo').hide();
	jQuery('emailInfo').hide();
	jQuery('messageInfo').hide();
	jQuery('phoneInfo').hide();
	jQuery('subjectInfo').hide();
	jQuery('confirmMsg').hide();
//	$('confirm_msg').hide();

	//On blur
	email.blur(validateEmail);
	name.blur(validateName);
	message.blur(validateMessage);
	phone.blur(validatePhone);
	subject.blur(validateSubject);

	//On focus


	var pageList = jQuery("#pageList");

	pageList.change(function(){
		if(this.options[this.selectedIndex].value == "--")
			return false;
		else
			window.location=this.options[this.selectedIndex].value;
	});

	//On key press
	//name.keyup(validateName);
	//email.keyup(validateEmail);
	//message.keyup(validateMessage);

	//On key press
	//name.mouseup(validateName);
	//email.mouseup(validateEmail);
	//message.mouseup(validateMessage);

	//On Submitting
	/**form.submit(function(){
		if(validateName() & validateEmail() & validateMessage())
		{
			//var url = "/contact_us.php?"
			//var params = "email=" + email.val() + "&name=" + name.val() + "&message=" + message.val();
			//url = url + params
			
			//post_contactus_form(url)
			return true;
		}
		else
			return false;
	}); */
});

function sendRequest() {
	if (validateName() & validateEmail() & validateMessage()& validatePhone()& validateSubject()) {
		show_loading_msg();
		new Ajax.Request("/contact-sales-submit.php", {
			method: 'post',
			parameters: Form.serialize($("contactUsForm")),
			onComplete: showResponse
		});
	}
	else
	{
//		$('confirm_msg').innerHTML = "Please provide required details !";
//		$('confirm_msg').show();
//		Element.show('spacer');
	}
	}

	function showResponse(req){
		$('confirm_msg').innerHTML = req.responseText;
		$('confirm_msg').show();
	}

	function show_loading_msg() {
		$('confirm_msg').innerHTML = "Please wait..."
		Element.show('confirm_msg');
		return false;
	}

	//validation functions
	function validateEmail(){
		//testing regular expression
		var a = jQuery("#email").val();
		var filter=/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i ;

		//if it's valid email
		if(filter.test(a)){
			jQuery("#email").removeClass("error");
			jQuery("#emailInfo").text("");
			jQuery("#emailInfo").removeClass("error");
			jQuery("#emailInfo").visibility = 'none';
			$('submitContactUs').disbled = false;
			return true;
		}
		//if it's NOT valid email
		else{
			jQuery("#email").addClass("error");
			jQuery("#emailInfo").text("Valid E-mail please, it will help us to reach you!");
			jQuery("#emailInfo").addClass("error");
			jQuery("#emailInfo").visibility = 'block';
			$('submitContactUs').disbled = true;
			return false;
		}
	}
	function validateName(){
		flag = true;
		name_str = jQuery.trim(jQuery("#name").val());
		if(name_str.length < 3)
		{
			flag = false;
			jQuery("#nameInfo").text("Please type your complete name!");
		}
		else if(name_str == "Name")
		{
			flag = false;
			jQuery("#nameInfo").text("Please type your complete name!");
		}
		else if(name_str.toString().match(/^[-]?\d*\.?\d*$/))
		{
			flag = false;
			jQuery("#nameInfo").text("Please enter only alphabates!");
		}
		//if it's valid OR NOT valid
		if(flag)
		{
			jQuery("#name").removeClass("error");
			jQuery("#nameInfo").removeClass("error");
			jQuery("#nameInfo").text("");
			jQuery("#nameInfo").visibility = 'hidden';
			$('submitContactUs').disbled = false;
			return true;
		}
		else
		{
			jQuery("#name").addClass("error");
			jQuery("#nameInfo").addClass("error");
			jQuery("#nameInfo").visibility = 'block';
			$('submitContactUs').disbled = true;
			return false;
		}
	}

	function validateMessage()
	{
		flag = true;
		msg_str = jQuery.trim(jQuery("#message").val());
		if(msg_str.length < 10)
		{
			flag = false;
			jQuery("#messageInfo").text("Please type at least 10 letters!");
		}
		else if(msg_str == "Requirement Description")
		{
			flag = false;
			jQuery("#messageInfo").text("Please type your valuable comments!");
		}
		//if it's valid OR NOT valid
		if(flag)
		{
			jQuery("#message").removeClass("error");
			jQuery("#messageInfo").text("");
			jQuery("#messageInfo").removeClass("error");
			jQuery("#messageInfo").visibility = 'block';
			$('submitContactUs').disbled = false;
			return true;
		}
		else
		{
			jQuery("#message").addClass("error");
			jQuery("#messageInfo").addClass("error");
			jQuery("#messageInfo").visibility = 'block';
			$('submitContactUs').disbled = true;
			return false;
		}
	}

	function trimNumber(s) {
		while (s.substr(0,1) == '0' && s.length>1) { s = s.substr(1,9999); }
		return s;
	}

	function validatePhone(){
		flag = true;
		phone_str = jQuery.trim(jQuery("#phone").val());
		phone_str = trimNumber(phone_str);
		if(phone_str.length ==0)
		{
			flag = false;
			jQuery("#phoneInfo").text("Please type your phone number!");
		}
		else if(phone_str == "Mobile")
		{
			flag = false;
			jQuery("#phoneInfo").text("Please type your phone number!");
		}
		else if(!phone_str.toString().match(/^[-]?\d*\.?\d*$/))
		{
			flag = false;
			jQuery("#phoneInfo").text("Please enter valid phone number");
		}
		else if(phone_str.length > 13 || phone_str.length < 9)
		{
			flag = false;
			jQuery("#phoneInfo").text("Please enter valid phone number");
		}
		else if(!phone_str.toString().match(/^[0-9]*$/))
		{
			flag = false;
			jQuery("#phoneInfo").text("Please enter valid phone number");
		}

		if(flag)
		{
			jQuery("#phone").removeClass("error");
			jQuery("#phoneInfo").removeClass("error");
			jQuery("#phoneInfo").text("");
			jQuery("#phoneInfo").visibility = 'hidden';
			$('submitContactUs').disbled = false;
			return true;
		}
		else
		{
			jQuery("#phone").addClass("error");
			jQuery("#phoneInfo").addClass("error");
			jQuery("#phoneInfo").visibility = 'block';
			$('submitContactUs').disbled = true;
			return false;
		}
	}

	function validateSubject()
	{
		flag = true;
		subject_str = jQuery.trim(jQuery("#subject").val());
		if(subject_str == "Subject")
		{
			flag = false;
			jQuery("#subjectInfo").text("Please fill in the subject!");
		}
		else if(subject_str.length < 5)
		{
			flag = false;
			jQuery("#subjectInfo").text("Please type in the valid subject!");
		}
		//if it's valid OR NOT valid
		if(flag)
		{
			jQuery("#subject").removeClass("error");
			jQuery("#subjectInfo").text("");
			jQuery("#subjectInfo").removeClass("error");
			jQuery("#subjectInfo").visibility = 'block';
			$('submitContactUs').disbled = false;
			return true;
		}
		else
		{
			jQuery("#subject").addClass("error");
			jQuery("#subjectInfo").addClass("error");
			jQuery("#subjectInfo").visibility = 'block';
			$('submitContactUs').disbled = true;
			return false;
		}
	}

	function checkInternationalPhone(strPhone){
		var bracket=3;
		strPhone=trim(strPhone);
		if(strPhone.indexOf("+")>1) return false;
		if(strPhone.indexOf("-")!=-1)bracket=bracket+1;
		if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false;
		var brchr=strPhone.indexOf("(");
		if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false;
		if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false;
		s=stripCharsInBag(strPhone,validWorldPhoneChars);
		return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
	}

	function ValidateForm(phone){
		var Phone=phone;
		if ((Phone==null)||(Phone=="")){
			return false;
		}
		if (checkInternationalPhone(Phone)==false){
			return false;
		}
		return true;
	}

	function goTo1(th)
	{
		document.location.href = th;
	}
	function goTo(th)
	{
		document.location.href = th;
	}
