$(document).ready(function() {
	placeholdersFix();
	$("#checkboxComments").bind("click", function(){
		changeText();
	});
	$("#comments").bind("focus", function(){
		$("#checkboxComments").attr("checked","checked");
		changeText();
	});
	
	
});

function placeholdersFix(){
	if(!Modernizr.input.placeholder){
		$("input, textarea").each(function(){
	    	if($(this).val()=="" && $(this).attr("placeholder")!=""){
        		$(this).val($(this).attr("placeholder"));
        		$(this).focus(function(){
                	if($(this).val()==$(this).attr("placeholder")) $(this).val("");
                });

                $(this).blur(function(){
                	if($(this).val()=="") $(this).val($(this).attr("placeholder"));
                });
	         }
		});	    
	}
}

function changeText(){
	if($("#checkboxComments").is(':checked')){
		$("#formBox #comments").css("height","50px");
	}else{
		$("#formBox #comments").css("height","13px");
	}
	
}



function sendForm(button){
	var form = $(button).closest("form");
	$(form).find("input").removeClass("wrongField");
	if(!validateFields($(form).find("input[required='required']"))) return;
	var inputs = {};
	$(form).find("input, textarea").each(function(i){
		if($(this).attr("type") == "checkbox") {
			if($(this).is(':checked')) inputs[$(this).attr("name")] = 1;
		}else{
			if($(this).val()!=$(this).attr("placeholder")){
				inputs[$(this).attr("name")] = $(this).val();
			}else{
				inputs[$(this).attr("name")] = "";
			}
		}
		
	});
	$("#form_result").hide();
	$("#button_sending").show();
	$.ajax({
		url: 'includes/form_processing.php',
		type: 'POST',
		data: inputs,
		dataType: 'html',
	  	success: function(data) {
			//console.log(data);
			$("#form_result").html("<span><b>Thanks, we'll be in touch as soon as we can.</b></span>");
			$("#button_sending").hide();
		    $("#form_result").show();
			//processFormProcessingResult(data, $(form).attr("id"));
			//trackGoal(inputs["goal"]);
	  	}
	});
}

function validateFields(fields){
	var namePattern = /^[A-Za-z0-9 ]{3,40}$/; //Alphabets, numbers and space. No special characters and min 3 and max 40 characters.
	var emailPattern = /^[A-Za-z0-9.'_%+-]+@[A-Za-z0-9.'_%+-]+\.[A-Za-z]{2,4}$/; //Email
	var numberPattern = /^\d$/; //Just numbers
	//Phone numbers (http://regexlib.com/RETester.aspx?regexp_id=688)
	var phonePattern = /^(?:(?:[\+]?([\d]{1,3}(?:[ ]+|[\-.])))?[(]?([\d]{3})[\-\/)]?(?:[ ]+)?)?([a-zA-Z2-9][a-zA-Z0-9 \-.]{6,})(?:(?:[ ]+|[xX]|(i:ext[\.]?)){1,2}([\d]{1,5}))?$/;
	var allCorrect = true;
	$(fields).each(function (i) {
		if($(this).attr("placeholder") == $(this).val()) {
			$(this).addClass("wrongField");
			allCorrect = false;
		};
		switch($(this).attr("validate")){
			case 'name':
				var name = $(this).val();
				if(name.length == 0){
					$(this).addClass("wrongField");
					allCorrect = false;
				}
				break;
			case 'email':
				if(!emailPattern.test($(this).val())){
					$(this).addClass("wrongField");
					allCorrect = false;
				}
				break;
			case 'number':
				if(!numberPattern.test($(this).val())){
					$(this).addClass("wrongField");
					allCorrect = false;
				}
				break;
			case 'phone':
				if(!phonePattern.test($(this).val())){
					$(this).addClass("wrongField");
					allCorrect = false;
				}
				break;
			default:

				break;
		}
	});
	return allCorrect;
}

