jQuery.noConflict();
//This function controlls the form
jQuery(document).ready(function()
{
	//add in a textarea element after the page loads to every form_74 element on the page
	var textareaList = jQuery("div[id = formelement_252]");
	for(var i=0;i<textareaList.length;i++)
	{
		//The funky concatenation near the end of this is just so the builder won't strip it out in preview mode
		textareaList[i].innerHTML = "<textarea onchange='trimLength(this, 2048);' onkeypress='return(maxLength(event, this, 2048));' maxlength='2048' id='input_252' name='input_252' class='input textarea'>Comments<" + "/" + "textarea>";
	}
	
	//bind validation function to submit event
	jQuery("div#contactForm form button").click(function(){
		var bool = validation();
		if(bool)
		{
                       if(jQuery.browser.webkit || jQuery.browser.msie)
                       {
                             return true;
                       }
			else {jQuery("div#contactForm form").submit();}
		}
		else return false;
	});
	
	//hide any builder generated 'unstyled' form_74 elements so they will still function but not be seen by the user
	jQuery('form#form_74:not(div#contactForm form)').hide();
	
	//set event handler functions for form inputs to toggle their default values 
	jQuery("input,textarea").bind({blur:formToggle,focus:formToggle});
	
	// Test for existence of form submit success message, this is imperfect, as I'm only really testing for an h2 that contains 'thank you', 
	// if this type of functionality is removed from the builder in the future, this will need to be adjusted
	if(jQuery("h2:contains('Thank You')").length > 0)
	{
			jQuery("div#contactForm form div, div#contactForm button").wrapAll("<div class='myRefresh'></div>")
				.parent()
					.animate({"height":0},1000,"easeOutQuint",function(){
						jQuery(this).css({"padding":"20px"})
						.html("<h1>Thank You</h1><p>Your form has been submitted, we will review your answers and contact you accordingly.</p><div id='doneButton'></div>")
						.hide()
						.animate({"height":"200px"},1000,"easeOutQuint")
							.find("div#doneButton")
							.click(function(){
								jQuery(this).parent().fadeOut(1000,function(){
									jQuery("form:not(div#contactForm form)")
										.find("button:contains('Done')")						
										.trigger('click');// Finally trigger the builder's 'form_74' Done button click event to redirect to the home page
								});
							});
					});	
	}
});
function validation()
{
	jQuery(".myRequired").each(function(index){	
		//first check for default (empty) fields								
		switch(this.value)
		{
			case"":
			case"Name":
			case"Phone Number":
			case"Email Address":
				this.value += " is Required *";
				jQuery(this).addClass("failedValidation");
				break;
			case"Name is Required *":
			case"Phone Number is Required *":
			case"Email Address is Required *":
				break;
			default:
				jQuery(this).removeClass("failedValidation");
				break;
		}
		//validate specific input fields
		switch(this.id)
		{
			case "input_250":
				if(this.value == "Name" || this.value == "Name is Required *" || this.value == "3 Character Name is Required *")
				{
					break;
				}
				else var str=this.value;
				var filter=/^([a-zA-Z]{3,})/;
				if(filter.test(str))
				{					
					jQuery(this).removeClass("failedValidation");
				}
				else
				{
					this.value = "3 Character Name is Required *";
					jQuery(this).addClass("failedValidation");
				}
				break;
			case "input_251":
				var str=this.value;
				var filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if(filter.test(str))
				{					
					jQuery(this).removeClass("failedValidation");
				}
				else
				{
					this.value = "Email Address is Required *";
					jQuery(this).addClass("failedValidation");
				}
				break;
			case "input_15044202":
				var str = this.value;	
				filter=/^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;
				if(filter.test(str))
				{
					jQuery(this).removeClass("failedValidation");
				}
				else
				{
					this.value = "10 digit Phone Number is Required *";
					jQuery(this).addClass("failedValidation");					
				}
				break;
		}
	});
	if(jQuery(".failedValidation").length > 0){return false;}
	else {return true;}
}

function formToggle()
{
	clearInput(this);
}

function clearInput(x)
{
	if(x.value == "Name" || x.value == "Phone Number" || x.value == "Email Address" || x.value == "Comments" || x.value == "Company Name"
	   || x.value == "3 Character Name is Required *" || x.value == "Name is Required *" || x.value == "Phone Number is Required *"
	   || x.value == "10 digit Phone Number is Required *" || x.value == "Email Address is Required *")
	{
		formtemp = x.value;
		x.value = "";
        jQuery(x).css('font-style','normal');
		return;
	}
	else if(x.value == "")
	{
		jQuery(x).css('font-style','italic');
		switch(x.id)
		{
			case "input_250":
				x.value = "Name";
				break;
			case "input_251":
				x.value = "Email Address";
				break;
			case "input_15044202":
				x.value = "Phone Number";
				break;
			case "input_15043806":
				x.value = "Company Name";
				break;
			case "input_252":
				x.value = "Comments";
				break;
			default:
				x.value = "";
				break;
		}
		return;
	}
}

