function toggle_response(obj) {
    if(obj.value == "email") {
        showEmail();
    } else if(obj.value == "phone") {
        showPhone();
    }
}

function showEmail() {
    toggle("email_response", "phone_response");
}

function showPhone() {
    toggle("phone_response", "email_response");
}

function toggleNonUs(checkbox) {
    if(checkbox.checked == true)     {
        toggle("non_us_phone", "us_phone");
    } else {
        toggle("us_phone", "non_us_phone");
    }
}

function toggle(visible, hidden) {
    document.getElementById(visible).style.display = "";
    document.getElementById(hidden).style.display = "none";
}

function validateConsumerForm()
{
	jQuery("p.error").removeClass("error");
	var s = true;
	var firstname = jQuery("#firstname");
	var lastname = jQuery("#lastname");
	var employer = jQuery("#employer");
	var question = jQuery("#question");

	var email = jQuery("#email");
	var emailButtonChecked = jQuery("#rad").attr("checked");

	if (firstname.val()=="")
	{
		firstname.parents("p").addClass("error");
		s = false;
	}
	if (lastname.val()=="")
	{
		lastname.parents("p").addClass("error");
		s = false;
	}
	if (employer.val()=="")
	{
		employer.parents("p").addClass("error");
		s = false;
	}
	if (question.val()=="")
	{
		question.parents("p").addClass("error");
		s = false;
	}
	
	if (emailButtonChecked==true)
	{
		if (email.val()=="")
		{
			email.parents("p").addClass("error");
			email.next("strong").text("Please provide an e-mail address.");
			s = false;
		}
		
		if (!echeck(email.val()))
		{
			email.parents("p").addClass("error");
			s = false;
		}
		
		
	}
	if (emailButtonChecked==false || emailButtonChecked==undefined) {

		var displayNonUsPhoneChecked = jQuery("#displayNonUsPhone").attr("checked");

		var phoneAreaCode = jQuery("#phoneAreaCode");
		var phonePrimary = jQuery("#phonePrimary");
		var phoneSecondary = jQuery("#phoneSecondary");
		var phone = phoneAreaCode.attr("value") + "-" + phonePrimary.attr("value") + "-" + phoneSecondary.attr("value");

		if (!displayNonUsPhoneChecked)
		{
			if (!verifyPhone(phone))
			{
				phoneAreaCode.parents("p").addClass("error");
				phoneAreaCode.parents("p").children("strong").text("Please provide a phone number.");
				s = false;
			}
		}
		else
		{
			// Verify the international number
			var nonUsPhoneNumber = jQuery("#nonUsPhoneNumber");
			if(nonUsPhoneNumber.val()=="") {
				nonUsPhoneNumber.parents("p").addClass("error");
				nonUsPhoneNumber.next("strong").text("Please provide an international number.");
				s = false;
			}
			
			if (verifyInternationalPhone(nonUsPhoneNumber.val()))
			{
				nonUsPhoneNumber.parents("p").addClass("error");
				nonUsPhoneNumber.next("strong").text("An international number must start with + and consist of digits and spaces");
				s = false;
			}
			
		}
	}

	if(!s) jQuery(".error:first input").focus();
	return s;
}

// Validate Employer Form
function validateEmployerForm()
{
	jQuery("p.error").removeClass("error");
	var s = true;
	var firstname = jQuery("#firstname");
	var lastname = jQuery("#lastname");
	var phone = jQuery("#phone");
	var email = jQuery("#email");
	var companyName = jQuery("#companyName");
	var jobTitle = jQuery("#jobTitle");
	var employees = jQuery("#numberOfEmployees");
	var address = jQuery("#address");
	var state = jQuery("#state");
	var zip = jQuery("#zip");
		
	if (firstname.val()=="")
	{
		firstname.parents("p").addClass("error");
		s = false;
	} 
	if (lastname.val()=="")
	{
		lastname.parents("p").addClass("error");
		s = false;
	} 
	if (phone.val()=="")
	{
		phone.parents("p").addClass("error");
		email.next("strong").text("Please provide a phone number.");
		s = false;
	}

	if (verifyPhone(phone.val()) == false)
	{
		phone.parents("p").addClass("error");
		phone.next("strong").text("Please provide a valid phone number.");
		s = false;
	}

	if (email.val()=="")
	{
		email.parents("p").addClass("error");
		email.next("strong").text("Please provide an e-mail address.");
		s = false;
	}

	if (echeck(email.val()) == false)
	{
		email.parents("p").addClass("error");
		email.next("strong").text("Please provide a valid e-mail address.");
		s = false;
	}

	if (companyName.val()=="")
	{
		companyName.parents("p").addClass("error");
		s = false;
	}
	if (jobTitle.val()=="")
	{
		jobTitle.parents("p").addClass("error");
		s = false;
	}

	if (employees.val()=="")
	{
		employees.parents("p").addClass("error");
		s = false;
	}

	if (!isNumber(employees.val()))
	{
		employees.parents("p").addClass("error");
		s = false;
	}

	if (zip.attr("value") && !isValidZipCode(zip.val()))
	{
		zip.parents("p").addClass("error");
		s = false;
	}
	if (address.val() && state.val()=="")
	{
		state.parents("p").addClass("error");
		s = false;
	}

	if(!s) jQuery(".error:first input").focus();
	return s;
}

function verifyPhone(phone) 
{
	var phoneRegularExpression = /^\d\d\d\d\d\d\d\d\d\d$/;
	var phoneRegularExpressionDashes = /^\d\d\d-\d\d\d-\d\d\d\d$/;
	var phoneRegularExpressionDots = /^\d\d\d.\d\d\d.\d\d\d\d$/;
	var phoneRegularExpressionSlashes = /^\d\d\d\/\d\d\d\/\d\d\d\d$/;
	if (phone.match(phoneRegularExpression) || phone.match(phoneRegularExpressionDashes) || phone.match(phoneRegularExpressionDots) || phone.match(phoneRegularExpressionSlashes)) 
	{
   		return true;
 	} 
 	else 
 	{
 		return false;
 	}
}

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); };

function isValidZipCode(value) 
{
   var re = /^\d{5}([\-]\d{4})?$/;
   return (re.test(value));
}

function isNumber(input)
{
	var numberRegularExpression = /^([0-9])+/;
	if (input.match(numberRegularExpression)) 
	{
   		return true;
 	} 
 	else 
 	{
 		return false;
 	}
}

function verifyInternationalPhone(phone)
{
	var phoneRegularExpression = /^\+(\d|\s)+$/;

	if (phone.match(phoneRegularExpression))
	{
   		return true;
 	}
 	else
 	{
 		return false;
 	}
}

function validateTellForm()
{
	jQuery("p.error").removeClass("error");
	var s = true;
	var name = jQuery("#name");
	var employer = jQuery("#employer");
	var email = jQuery("#email");
	var emails = jQuery("#emails");
	var message = jQuery("#message");

	if (name.val()=="")
	{
		name.parents("p").addClass("error");
		s = false;
	}
	if (emails.val()=="")
	{
		emails.parents("p").addClass("error");
		s = false;
	}
	
	if (email.val()=="")
	{
		email.parents("p").addClass("error");
		email.next("strong").text("Please provide an e-mail address.");
		s = false;
	}
	
	if (echeck(email.val()) == false)
	{
		email.parents("p").addClass("error");
		email.next("strong").text("Please provide a valid e-mail address.");
		s = false;
	}
	
	if (employer.val()=="")
	{
		employer.parents("p").addClass("error");
		s = false;
	}
	if (message.val()=="")
	{
		message.parents("p").addClass("error");
		s = false;
	}

	if(!s) jQuery(".error:first input").focus();
	return s;
}



/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
function echeck(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	    return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	    return false;
	 }

	 if (str.indexOf(" ")!=-1){
	    return false;
	 }

		 return true
}
	
	function toggleOtherConsultant(selObj)
	{
		document.getElementById("consultantNameWrapper").style.display = (selObj[selObj.selectedIndex].value == "Other") ? "block" : "none";	
	}

	function toggleHowDidYouHearAboutUs(selObj)
	{
		document.getElementById("howDidYouHearAboutUsWrapper").style.display = (selObj[selObj.selectedIndex].value == "Other") ? "block" : "none";	
	}
	
	function twitter_urls(input) {
	    return input
		.replace(/(http|https):\/\/[\S]+(\b|$)/gim,
		'<a href="$&" class="my_link" target="_blank">$&</a>')
		.replace(/([^\/])(www[\S]+(\b|$))/gim,
		'$1<a href="http://$2" class="my_link" target="_blank">$2</a>');
	} 
	
	
