// JavaScript Document
if (typeof tjx == "undefined") {
    var tjx = {};
}
if (typeof tjx.module == "undefined") {
    tjx['module'] = {};
}
if (typeof tjx.module.subscribewidget == "undefined") {
    tjx.module['subscribeWidget'] = {};
}
jQuery(document).ready(function($) {
								
	function validateEmail () {
	
		//alert ("validateEmail is being called within subscribe-widget.js");
		
		return true;
	
	} // validateEmail 

	//
	function validateZipCode () {
	
		//alert ("validateZipCode is being called within subscribe-widget.js");
		
		return true;
	
	} // validateEmail 

	//

	tjx.module.subscribeWidget = {
 
		subWidgetErrorMessageMap: {
			"email_1" : "success",
			"email_2" : "#emailErrorFormat",
			"email_3" : "#emailErrorBlank",
			"zip_code_1" : "success",
			"zip_code_2" : "#zipErrorBlank",
			"zip_code_3" : "#zipErrorFormat"
		},
				fireRSSEvent: function(category) {
			var s1 = s_gi("tjxmarshalls");
			s1.linkTrackVars="prop11,prop12,eVar13,events";
			s1.prop11 = category.replace("'", "");
			s1.prop12 = "RSS";
			s1.eVar13 = "RSS (Subscription)";
			s1.eVar7  = "Out";
			var s_code1=s1.tl();
			if(s_code1) document.write(s_code1);
		},
		fireFacebookEvent: function() {
			var s1 = s_gi("tjxmarshalls");
		s1.prop12 = "Facebook";s1.eVar13 = "Facebook (Subscription)";s1.eVar7 = "Out";		s1.linkTrackVars="prop10,prop11,prop12,events,eVar7,eVar13";
		s1.linkTrackEvents = "";
		s1.events = "";
		var s_code1=s1.tl();
		if(s_code1) document.write(s_code1);
				},
		fireTwitterEvent: function() {
			var s1 = s_gi("tjxmarshalls");
		s1.prop12 = "Twitter";s1.eVar13 = "Twitter (Subscription)";s1.eVar7 = "Out";		s1.linkTrackVars="prop10,prop11,prop12,events,eVar7,eVar13";
		s1.linkTrackEvents = "";
		s1.events = "";
		var s_code1=s1.tl();
		if(s_code1) document.write(s_code1);
				},
		init: function(signUpButton, subscribeForm) {
			this.subscribeForm = subscribeForm;
			this.signUpButton = signUpButton[0];
 
			that = this;
			signUpButton.click(function(event) {
				event.preventDefault();
				that.signUpButton.disabled = true;
				$('.errorMessageContainerSubWidget').hide();
				$('.errorMessageContainerSubWidget li').hide();
 
				var zip_code = that.subscribeForm.elements['zip_code'];
				var email = that.subscribeForm.elements['email'];
				that.email = email;
				that.zip_code = zip_code;
 
				validEmail = validateEmail(email.value);
				validzip_code = validateZipCode(zip_code.value);
				var error = false;
 
				if( validEmail != 1 ) {
					$('.errorMessageContainerSubWidget').show();
					$('.errorMessageContainerSubWidget ' + that.subWidgetErrorMessageMap[ 'email_' + validEmail ]).show();
					error = true;
				}
				if( validzip_code != 1 ) {
					$('.errorMessageContainerSubWidget').show();
					$(' ' + that.subWidgetErrorMessageMap[ 'zip_code_' + validzip_code ]).show();
					error = true;
				}
				if( error ) {
					that.signUpButton.disabled = false;
					return false;
				}
				
				var param = {
					'email'        : email.value.toLowerCase(),
					'zip_code'     : zip_code.value,
					'action'       : 'email_subscription',
					'email_format' : 'html'
				};
 
				var url = "http://marshalls.dev.sapientem.com/wp-content/tjx-commons/request-handlers/tjx-ajax-account-util-jsonp.php?callback=?";

//{"what":"email_subscription","code":"failure","data":"Email address is already subscribed."}
// invalid label
//http://marshalls.dev.sapientem.com/wp-content/tjx-commons/request-handlers/tjx-ajax-account-util.php?callback=jsonp1274124126200&_=1274124132358&email=foo%40foo.com&zip_code=12345&action=email_subscription&email_format=html
//Line 1
				
				//jQuery.post(url, param, function(retVal){
				//jQuery.getJSON (url, param, function(retVal){
													   
				jQuery.ajax (
					{
					//cache: false, 
					url      : url,
					dataType : 'jsonp',
					data     : param,
					success  : function(retVal) {
													 													 
						that.signUpButton.disabled = false;
						
						//alert ("i am inside the getJSON in subscribe-widget.js");
						//return;
						
						console.debug (retVal);
						
						if (retVal.code == "success") {
							that.email.value = "";
							that.zip_code.value = "";
							//$('.subscribeWidget p#emailSubSuccessEl').html( $('.subscribeWidget div#emailSubSuccessMessage').html() );
							$('.subscribeWidget div#emailSubSuccessMessage').show();
							//$('.subscribeWidget p#emailSubSuccessEl').show();
							$('.subscribeWidget form#subscribeWidgetForm').hide();
							$('.subscribeWidget form#subscribeWidgetRegForm').show();
								
							var s1 = s_gi("tjxmarshalls");
							s1.prop12 = "Email";s1.eVar13 = "Email (Subscription)";s1.eVar7 = "Out";		s1.linkTrackVars="prop10,prop11,prop12,events,eVar7,eVar13";
							s1.linkTrackEvents = "event2";
							s1.events = "event2";
							var s_code1=s1.tl();
							if(s_code1) document.write(s_code1);
		
						}
						else {
							$('.errorMessageContainerSubWidget').show();
							$('.errorMessageContainerSubWidget #emailError').html(retVal.data); // contains failure message
							$('.errorMessageContainerSubWidget #emailError').show();
						}
					
					}
				//,
				//"json"
				}
				);
 
				var finalurl="http://marshalls.dev.sapientem.com/?page_id=11?zip_code=" + zip_code.value + "&email=" +email.value;
                $("a#subscribe").attr("href",finalurl );
			});
		}
 
	};
 
 
	jQuery(document).ready(function($) {
			tjx.module.subscribeWidget.init(
				$('div.subscribeWidget input[value="sign up"]'),
				$('div.subscribeWidget form#subscribeWidgetForm')[0]
			);
		}
	);
});