/**
 * @author Bryce Bartley
 */

var post_url = 'http://communications.wholefoodsmarket.com/servlet/campaignrespondent';

//AJAX Connect
var request = null;
function createRequest() {
	try {
		request = new XMLHttpRequest();
	} catch (trymicrosoft) {
	try {
		request = new ActiveXObject("Msxm12.XMLHTTP");
	} catch (othermicrosoft) {
		try {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (failed) {
			request = null;
		}
	}
	}
	if (request == null) {
		//alert("Error creating request object")
	}
}

function subscribeGetInfo() {
	createRequest();
    var tlc = document.getElementById("storeDropdown").options[document.getElementById("storeDropdown").selectedIndex].value;
    var url = "/scripts/subscribeGetInfo.php?tlc=" + tlc;
    if (request) {
    	request.onreadystatechange=function()
    	{
     		if(request.readyState==4)
     	{
     		resp = request.responseText;
			arr = resp.split(":");
			document.getElementById("region").value = arr[0];
			document.getElementById("storename").value = arr[1];
			document.getElementById("state").value = arr[2];
			document.getElementById("storecode").value = tlc;
    	}
    }

     request.open("GET", url, true);
     request.send(null);
    }
}

function toggleDisableDropDown(dropDownID, checkBox) {
  var element = document.getElementById(dropDownID); // get the DOM element
  var cb = document.getElementById(checkBox);

  if (element && cb) { // elements found
    element.disabled = !cb.checked; // invert the boolean attribute
  }
  return false; // prevent default action
}

// JQUERY VALIDATION FUNCTIONS

var emailPattern = new RegExp(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i);

(function($) {
	$.fn.validationEngineLanguage = function() {};
	$.validationEngineLanguage = {
		newLang: function() {
			$.validationEngineLanguage.allRules = 	{
				"required":{    			// Add your regex rules here, you can take telephone as an example
						"regex":"none",
						"alertText":"This field is required for your newsletter selection. ",
						"alertTextCheckboxMultiple":"* Please select an option",
						"alertTextCheckboxe":""},
				"length":{
					"regex":"none",
					"alertText":"*Between ",
					"alertText2":" and ",
					"alertText3": " characters allowed"},
				"maxCheckbox":{
					"regex":"none",
					"alertText":"* Checks allowed Exceeded"},
				"minCheckbox":{
					"regex":"none",
					"alertText":"You must choose at least ",
					"alertText2":" newsletter in order to subscribe."},	
				"confirm":{
					"regex":"none",
					"alertText":"* Your field is not matching"},
				"telephone":{
					"regex":"/^[0-9\-\(\)\ ]+$/",
					"alertText":"* Invalid phone number"},
				"email":{
					"regex":emailPattern,
					"alertText":"* Invalid email address"},
				"date":{
					 "regex":"/^[0-9]{4}\-\[0-9]{1,2}\-\[0-9]{1,2}$/",
					 "alertText":"* Invalid date, must be in YYYY-MM-DD format"},
				"onlyNumber":{
					"regex":"/^[0-9\ ]+$/",
					"alertText":"* Numbers only"},
				"noSpecialCaracters":{
					"regex":"/^[0-9a-zA-Z]+$/",
					"alertText":"* No special caracters allowed"},	
				"ajaxUser":{
					"file":"validateUser.php",
					"extraData":"name=eric",
					"alertTextOk":"* This user is available",	
					"alertTextLoad":"* Loading, please wait",
					"alertText":"* This user is already taken"},	
				"ajaxName":{
					"file":"validateUser.php",
					"alertText":"* This name is already taken",
					"alertTextOk":"* This name is available",
					"alertTextLoad":"* Loading, please wait"},
				"onlyLetter":{
					"regex":"/^[a-zA-Z\ \']+$/",
					"alertText":"* Letters only"},
				"validatenewsletters":{
					"nname":"validatenewsletters",
					"alertText":"You must select at least one newsletter to subscribe to."
					},
				"validatestoreselection":{
					"nname":"validatestoreselection",
					"alertText":"Please select a location so we can include content from your favorite store."
					},
				"validateCANstoreselection":{
                    "nname":"validateCANstoreselection",
                    "alertText":"Please select a location so we can include content from your favorite store."
                    },
                "validateCSselection":{
                    "nname":"validateCSselection",
                    "alertText":"Please select a location so we can include content from your favorite cooking school."
                    },
                "validateWCselection":{
                    "nname":"validateWCselection",
                    "alertText":"Please select a Wellness Club."
                    },
                "validateHSHselection":{
                    "nname":"validateHSHselection",
                    "alertText":"Please select a series."
                    },
				"ajaxCheckEmail":{
					"file":"ajax.php",
					"extraData":"",
					"alertText":"* This email is already registered. To change your preferences or unsubscribe please click the link above.",
					"alertTextOk":"* This email address is ok",	
					"alertTextLoad":"* Checking email address"
					}
			}
		}
	}
	$('label.storeDropdown').hide();
	$('#selectall').click(function(){
	    if ( $('#selectall').attr("checked")) {
	        $('input:checkbox').attr("checked", true);
	    } else {
	        $('input:checkbox').attr("checked", false);
	    }
	});
})(jQuery);


function validatestoreselection() {
	if( ($("#StoreSpecials").attr('checked') && $("#storeDropdown").val() == "") || ($("#Local_Store_News").attr('checked') && $("#storeDropdown").val() == "") ) {
		return true;
	} else {
		return false;
	}
}

function validateCANstoreselection() {
    if($("#CAN_FLAVORS").attr('checked') && $("#CAN_STORE").val() == "") {
        return true;
    } else {
        return false;
    }
}

function validateCSselection() {
    if($("#CS_OPTIN").attr('checked') && $("#CS_NAME").val() == "") {
        return true;
    } else {
        return false;
    }
}

function validateWCselection() {
    if($("#WC_OPTIN").attr('checked') && $("#WC_NAME").val() == "") {
        return true;
    } else {
        return false;
    }
}

function validateHSHselection() {
    if($("#HSH_SERIES_OPTIN").attr('checked') && $("#HSH_SERIES_NAME").val() == "") {
        return true;
    } else {
        return false;
    }
}

function validatenewsletters() {
	var iz_checked = false;

	//if($("#LocalStoreSpecials").attr('checked') || $("#StoreSpecials").attr('checked') || $("#recipes").attr('checked')) {
	if($('#StoreSpecials').is(':checked'))		{ iz_checked = true; }
	if($('#LocalStoreSpecials').is(':checked'))	{ iz_checked = true; }
	if($('#recipes').is(':checked'))			{ iz_checked = true; }
	
	if (!iz_checked)	{ return false; }
}

// DOCUMENT INTITIALIZE

$(document).ready(function() {
	$.validationEngineLanguage.newLang();
	$("#storeDropdown").change(function(){
		subscribeGetInfo();
	});

	$("#email_subscribe").validationEngine();
});

