;(function($){$.fn.addOption=function(){var e=function(a,v,t,b){var c=document.createElement("option");c.value=v,c.text=t;var o=a.options;var d=o.length;if(!a.cache){a.cache={};for(var i=0;i<d;i++){a.cache[o[i].value]=i}}if(typeof a.cache[v]=="undefined")a.cache[v]=d;a.options[a.cache[v]]=c;if(b){c.selected=true}};var a=arguments;if(a.length==0)return this;var f=true;var m=false;var g,v,t;if(typeof(a[0])=="object"){m=true;g=a[0]}if(a.length>=2){if(typeof(a[1])=="boolean")f=a[1];else if(typeof(a[2])=="boolean")f=a[2];if(!m){v=a[0];t=a[1]}}this.each(function(){if(this.nodeName.toLowerCase()!="select")return;if(m){for(var a in g){e(this,a,g[a],f)}}else{e(this,v,t,f)}});return this};$.fn.ajaxAddOption=function(b,c,d,e,f){if(typeof(b)!="string")return this;if(typeof(c)!="object")c={};if(typeof(d)!="boolean")d=true;this.each(function(){var a=this;$.getJSON(b,c,function(r){$(a).addOption(r,d);if(typeof e=="function"){if(typeof f=="object"){e.apply(a,f)}else{e.call(a)}}})});return this};$.fn.removeOption=function(){var a=arguments;if(a.length==0)return this;var d=typeof(a[0]);var v,index;if(d=="string"||d=="object"||d=="function"){v=a[0];if(v.constructor==Array){var l=v.length;for(var i=0;i<l;i++){this.removeOption(v[i],a[1])}return this}}else if(d=="number")index=a[0];else return this;this.each(function(){if(this.nodeName.toLowerCase()!="select")return;if(this.cache)this.cache=null;var b=false;var o=this.options;if(!!v){var c=o.length;for(var i=c-1;i>=0;i--){if(v.constructor==RegExp){if(o[i].value.match(v)){b=true}}else if(o[i].value==v){b=true}if(b&&a[1]===true)b=o[i].selected;if(b){o[i]=null}b=false}}else{if(a[1]===true){b=o[index].selected}else{b=true}if(b){this.remove(index)}}});return this};$.fn.sortOptions=function(f){var a=typeof(f)=="undefined"?true:!!f;this.each(function(){if(this.nodeName.toLowerCase()!="select")return;var o=this.options;var d=o.length;var e=[];for(var i=0;i<d;i++){e[i]={v:o[i].value,t:o[i].text}}e.sort(function(b,c){o1t=b.t.toLowerCase(),o2t=c.t.toLowerCase();if(o1t==o2t)return 0;if(a){return o1t<o2t?-1:1}else{return o1t>o2t?-1:1}});for(var i=0;i<d;i++){o[i].text=e[i].t;o[i].value=e[i].v}});return this};$.fn.selectOptions=function(b,d){var v=b;var e=typeof(b);var c=d||false;if(e!="string"&&e!="function"&&e!="object")return this;this.each(function(){if(this.nodeName.toLowerCase()!="select")return this;var o=this.options;var a=o.length;for(var i=0;i<a;i++){if(v.constructor==RegExp){if(o[i].value.match(v)){o[i].selected=true}else if(c){o[i].selected=false}}else{if(o[i].value==v){o[i].selected=true}else if(c){o[i].selected=false}}}});return this};$.fn.copyOptions=function(b,c){var w=c||"selected";if($(b).size()==0)return this;this.each(function(){if(this.nodeName.toLowerCase()!="select")return this;var o=this.options;var a=o.length;for(var i=0;i<a;i++){if(w=="all"||(w=="selected"&&o[i].selected)){$(b).addOption(o[i].value,o[i].text)}}});return this};$.fn.containsOption=function(b,c){var d=false;var v=b;var e=typeof(v);var f=typeof(c);if(e!="string"&&e!="function"&&e!="object")return f=="function"?this:d;this.each(function(){if(this.nodeName.toLowerCase()!="select")return this;if(d&&f!="function")return false;var o=this.options;var a=o.length;for(var i=0;i<a;i++){if(v.constructor==RegExp){if(o[i].value.match(v)){d=true;if(f=="function")c.call(o[i],i)}}else{if(o[i].value==v){d=true;if(f=="function")c.call(o[i],i)}}}});return f=="function"?this:d};$.fn.selectedValues=function(){var v=[];this.find("option:selected").each(function(){v[v.length]=this.value});return v};$.fn.selectedOptions=function(){return this.find("option:selected")}})(jQuery);
var states={
	empty : {'N/A':'N/A'},
	australia : {'':'Choose State', 'ACT':'ACT', 'NSW':'NSW', 'QLD':'QLD', 'SA':'SA', 'TAS':'TAS', 'VIC':'VIC', 'WA':'WA'},
	canada : {'':'Choose State', 'AB':'AB', 'BC':'BC', 'MB':'MB', 'NB':'NB', 'NL':'NL', 'NT':'NT', 'NS':'NS', 'NU':'NU', 'ON':'ON', 'PE':'PE', 'QC':'QC', 'SK':'SK', 'YT':'YT'},
	usa : {'':'Choose State', 'AK':'AK', 'AL':'AL', 'AR':'AR', 'AZ':'AZ', 'CA':'CA', 'CO':'CO', 'CT':'CT', 'DC':'DC', 'DE':'DE', 'FL':'FL', 'GA':'GA', 'HI':'HI', 'IA':'IA', 'ID':'ID', 'IL':'IL', 'IN':'IN', 'KS':'KS', 'KY':'KY', 'LA':'LA', 'MA':'MA', 'MD':'MD', 'ME':'ME', 'MI':'MI', 'MN':'MN', 'MO':'MO', 'MS':'MS', 'MT':'MT', 'NC':'NC', 'ND':'ND', 'NE':'NE', 'NH':'NH', 'NJ':'NJ', 'NM':'NM', 'NV':'NV', 'NY':'NY', 'OH':'OH', 'OK':'OK', 'OR':'OR', 'PA':'PA', 'PR':'PR', 'RI':'RI', 'SC':'SC', 'SD':'SD', 'TN':'TN', 'TX':'TX', 'UT':'UT', 'VA':'VA', 'VT':'VT', 'WA':'WA', 'WI':'WI', 'WV':'WV', 'WY':'WY'}
};

var validateRules = new Array(); var _gescpass=false;var showIT = false;var formstate;
validateRules.push("required,FirstName,Please enter your First Name.");
validateRules.push("required,LastName,Please enter your Last Name.");
validateRules.push("required,Title,Please enter your Title.");
validateRules.push("required,Company,Please enter your Company.");
validateRules.push("required,Email,Please enter your Email Address.");
validateRules.push("valid_email,Email,Please enter a valid Email Address.");
validateRules.push("function,validate.FreeEmailCheck");
validateRules.push("required,Phone,Please enter your Phone Number.");
validateRules.push("if:_type=e,required,MonthlyEmailDeliveryVolume__c,Please select your Monthly Email Delivery Volume.");
validateRules.push("if:_type=e,required,CurrentPlatform__c,Please select your Current Email Solution.");
validateRules.push("if:_type=e,if:_CP=alt,required,Who_is_your_current_email_provider__c,Please enter your Current Email Provider.");
validateRules.push("if:_type=e,required,Are_you_looking_for_a_new_email_solution__c,Are you looking for a new email solution?\n\tPlease make a selection.")
validateRules.push("if:_type=s,required,Social_Media_Marketing_Budget__c,Please select your Social Media Marketing Budget.");
validateRules.push("if:_type=s,required,Company_Type__c,Please select your Company Type.");
validateRules.push("if:_type=s,required,Like_to_purchase_social_media_solution__c,Do you plan to purchase a social media marketing solution? - Please make a selection.");
validateRules.push("required,Country,Please enter your Country.");
validateRules.push("required,State,Please enter your State.");

$(document).ready(function() {
	countrySelect = $("form select[name=Country]");
	stateSelect = $('form select[name=State]');
	countrySelect.bind("change blur focus", validate.updateSelect);
	countrySelect.selectOptions("", true);
	$("input,select").bind("focus", validate.updateSelect);
	$("#webForm.wpform").RSV({rules: validateRules, errorFieldClass: 'formerror'});
	$("#webForm.webForm").RSV({rules: validateRules, errorFieldClass: 'formerror'});
	advancedForm.customPlatform();
	advancedForm.byType();
});

var advancedForm = {
	setDisabledState: function(target, state) { $(':input', target).each(function(){ if (state) { $(this).attr("disabled","disabled"); } else { $(this).removeAttr("disabled"); }});},
	customPlatform: function() { 
		if ($("#platform_custom").length > 0) {
			$("#platform_custom").append("<input type='hidden' name='_CP' id='cp_active' value=''/>");
			advancedForm.customPlatformCheck();
			$("select#CurrentPlatform__c","form#webForm").bind("change", advancedForm.customPlatformCheck);
		}
	},
	customPlatformCheck: function() {
		$("select#CurrentPlatform__c","form#webForm").selectedOptions().each(function() {showIT = $(this).hasClass("alt");});
		if (showIT) {
			$("#platform_custom").slideDown("slow");$("#cp_active").val("alt");
			advancedForm.setDisabledState("#platform_custom", false);
		} else {
			$("#platform_custom").slideUp("fast");$("#cp_active").val("");
			advancedForm.setDisabledState("#platform_custom", true);
		}
	},
	byType: function() { 
		if ($("#fieldset_bytype").length > 0) { 
			/*$("#fieldset_bytype").append("<input type='hidden' name='_type' id='form_type' value=''/>");*/
			validateRules.push("required,Interest_Type__c,Please select your Interested in.");
			advancedForm.byTypeCheck();
			$("select#Interest_Type__c", "form#webForm").bind("change", advancedForm.byTypeCheck);
		} else {
			if (formstate==""||$("#form_type").val()=="") {
				$("#form_type").val("e");
				formstate="e";
			}
		}
	},
	byTypeCheck: function() {
		$("select#Interest_Type__c","form#webForm").selectedOptions().each(function() {
			formstate = $(this).hasClass("email") ? 'e' : $(this).hasClass("social") ? 's' : ''; });
		$("#form_type").val(formstate);
		if (formstate=='e') {
			$("#email-fields").slideDown("slow");
			advancedForm.setDisabledState("#email-fields", false);
			$("#social-fields").slideUp("fast");
			advancedForm.setDisabledState("#social-fields", true);
		} else if (formstate=='s') {
			$("#social-fields").slideDown("slow");
			advancedForm.setDisabledState("#social-fields", false);
			$("#email-fields").slideUp("fast");
			advancedForm.setDisabledState("#email-fields", true);
		} else {
			$("#social-fields").slideUp("fast");
			advancedForm.setDisabledState("#social-fields", true);
			$("#email-fields").slideUp("fast");
			advancedForm.setDisabledState("#email-fields", true);
		}
	}
};

prevcountry = "";
var validate={
	updateSelect: function(e){var c=countrySelect.selectedValues()[0];var s=stateSelect;if(c==prevcountry)return;
		if (c=="United States") {s.removeAttr("disabled").removeOption(/^/).addOption(states.usa, false);}
		else if (c=="Canada") {s.removeAttr("disabled").removeOption(/^/).addOption(states.canada, false);}
		else if (c=="Australia") {s.removeAttr("disabled").removeOption(/^/).addOption(states.australia, false);}
		else {s.removeOption(/^/).addOption(states.empty, false).attr("disabled", "disabled");}prevcountry = c;},
	FreeEmailCheck: function(){var e=$('form input[name=Email]');if (!validate.freeEmail(e.val())) {return [[e[0], "Please enter your Corporate Email Address."]];}else{return true;}},
	freeEmail: function(a) {if (a=='') return false;var fe=new Array('yahoo.com','gmail.com','hotmail.com','excite.com','lycos.com','aim.com','netscape.net','aol.com','earthlink.net','sbcglobal.net','comcast.net','adelphia.net','juno.com','mail.com','att.net','rr.com','verizon.net','bellsouth.net','swbell.net','pacbell.net','qwest.net','ntli.net','covad.net','telus.net','msn.com','optonline.net','hotmail.co.uk','yahoo.co.uk','excite.co.uk','lycos.co.uk','netscape.co.uk','aol.co.uk','mindspring.com');
	    var ma=a.match(/^(.+)@(.+)$/);if(ma == null){return true};for (var c=0, l=fe.length; c < l; c++) {if (fe[c]==ma[2].toLowerCase()){return false;}}return true;},
	fullEmailCheck: function(){var e=$('form input[name=Email]');if (!validate.fullEmail(e.val())) {return [[e[0], (validate.fullEmailError!="" ? validate.fullEmailError : "Your email address has been blocked.")]];}else{return true;}},
	fullEmail: function(a) {if (a=='') return false;var fe=new Array('acxiomdigital.com', 'epsilon.com', 'emailvision.com', 'emma.com', 'exacttarget.com', 'experian.com', 'harte-hanks.com', 'icontact.com', 'ironport.com', 'listrak.com', 'lyris.com', 'mailchimp.com', 'merkle.com', 'messagesystems.com', 'ncr.com', 'ncrcommerce.com', 'neolane.com', 'omniti.com', 'port25.com', 'postfuture.com', 'premiereglobal.com', 'responsys.com', 'rightnow.com', 'silverpop.com', 'skylist.com', 'subscribermail.com', 'thinkasg.com', 'verticalresponse.com', 'whatcounts.com', 'yesmail.com', 'zetainteractive.com', 'zrinity.com', 'zustek.com', 'e-dialog.com', 'spreadfast.com', 'sprinklr.com', 'objectivemarketer.com', 'hootsuite.com', 'cotweet.com', 'socialtwist.com', 'shoutlet.com', 'sharethis.com', 'addthis.com', 'addtoany.com', 'compendium.com');
		    var ma=a.match(/^(.+)@(.+)$/);if(ma == null){return true};for (var c=0, l=fe.length; c < l; c++) {if (fe[c]==ma[2].toLowerCase()){return false;}}return true;},
	SEC: function(){if (_gescpass=='true') {return true;} else {return [[$('form input[name=_secqu]')[0], "Please verify your answer to the Validation Question."]];}},
	SECprocess: function(){var h=$('form input[name=_sec]');var q=$('form input[name=_secqu]');$.post(providerBASE+"forms_process/authprovider.php", {aj1:1,_sec:h.val(),_secqu:q.val()},function(data){_gescpass=data;}, "json");},
	SECget: function(){var h=$('form input[name=_sec]');var q=$('form #sectxt');$.post(providerBASE+"forms_process/authprovider.php", {aj1:2},function(data){h.val(data.h);q.empty().text(data.q);$('form input[name=_secqu]').val('');}, "json");},
	socialPhone: function() {var p = $('form input[name=Phone]');var phone = p.val();var digits = /[^0-9]/gi; phone = phone.replace(digits, ''); if (phone != '' && (phone.length == 7 || phone.length == 10 || phone.length == 11) ) { return true; } else { return [[p[0], "Please enter a valid Phone Number."]];}
	}
}