﻿function locateStore(btnId, inputId, contentId, loadingId)
{
    Tog.hide(inputId);
    $(contentId).innerHTML = "Please wait just a moment while we locate stores near you.";
    Tog.show(loadingId);
}

function validateEmail(emailAddressId, contentArea)
{
    contentArea = $(contentArea);
    var email = $(emailAddressId).value;
    var reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (email == "Enter Email Address" || !reg.test(email) || email == "")
    {
        contentArea.innerHTML = "Please enter a valid email address.";
        return false;
    }
    return true;
}

function validateEmailInterior(emailAddressId, contentArea)
{
    contentArea = $(contentArea);
    var email = $(emailAddressId).value;
    var reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (email == "Enter Email Address" || !reg.test(email) || email == "")
    {
        contentArea.innerHTML = "Enter valid email.";
        return false;
    }
    return true;
}

function newsletterSignup(emailAddressId, webServiceUrl, contentArea, hideArea, loadingArea)
{  
    var valid = validateEmail(emailAddressId, contentArea);
    if (!valid)
        return false;
        
    Tog.show(loadingArea);
    Tog.hide(hideArea);
    $(contentArea).innerHTML = "Please wait just a moment";
    $(contentArea).className = $(contentArea).className + " align-center";
    
    var email = $(emailAddressId).value;
    webServiceUrl = webServiceUrl + "/NewsletterSignup?emailAddress=" + email;

    new Ajax.Request(webServiceUrl, {
      method: 'get',
      contentType: 'application/json',
      onSuccess: function(transport) {
        oldClass = $(contentArea).className;
		newClass = oldClass.replace(/align-center/g, "");
		$(contentArea).className = newClass;
        var notice = $(contentArea);
        if (transport.responseText)
        {
          notice.innerHTML = transport.responseText;
          Tog.hide(loadingArea);
        }
        trackLinkEvent("event2","Newsletter Signup","");
      },
      onFailure: function(transport) {
        oldClass = $(contentArea).className;
		newClass = oldClass.replace(/align-center/g, "");
		$(contentArea).className = newClass;
        var notice = $(contentArea);
        notice.innerHTML =  "We had a problem signing you up for our newsletter, please try again later.";
        Tog.hide(loadingArea);
        Tog.show(hideArea);
      }
    });
}

function newsletterSignupInterior(emailAddressId, webServiceUrl, contentArea, hideArea, loadingArea, containerDiv, emptyContainerDiv)
{  
    var valid = validateEmailInterior(emailAddressId, contentArea);
    if (!valid)
        return false;
        
    Tog.hide(containerDiv);
    Tog.show(emptyContainerDiv);  
    Tog.show(loadingArea);
    
    //Tog.hide(hideArea);
    $(emptyContainerDiv).innerHTML = "Please wait just a moment";
    $(emptyContainerDiv).className = $(emptyContainerDiv).className + " align-center";
    
    var email = $(emailAddressId).value;
    webServiceUrl = webServiceUrl + "/NewsletterSignup?emailAddress=" + email;

    new Ajax.Request(webServiceUrl, {
      method: 'get',
      contentType: 'application/json',
      onSuccess: function(transport) {
        oldClass = $(emptyContainerDiv).className;
		newClass = oldClass.replace(/align-center/g, "");
		$(emptyContainerDiv).className = newClass;
        var notice = $(emptyContainerDiv);
        if (transport.responseText)
        {
          notice.innerHTML = transport.responseText;
          Tog.hide(loadingArea);
        }
        trackLinkEvent("event2","Newsletter Signup","");
      },
      onFailure: function(transport) {
        oldClass = $(emptyContainerDiv).className;
		newClass = oldClass.replace(/align-center/g, "");
		$(emptyContainerDiv).className = newClass;
        var notice = $(emptyContainerDiv);
        notice.innerHTML =  "We had a problem signing you up for our newsletter, please try again later.";
        Tog.hide(loadingArea);
      }
    });
}

function enterPromoCode(promoCodeId, webServiceUrl, contentArea, hideArea, loadingArea)
{
    var promoCode = $(promoCodeId).value;
    
    if (promoCode == "Enter Promo Code" || promoCode == "")
    {
        $(contentArea).innerHTML = "Please enter a promotion code.";
        return false;    
    }
    
    Tog.show(loadingArea);
    Tog.hide(hideArea);
    $(contentArea).innerHTML = "Please wait just a moment";
    $(contentArea).className = $(contentArea).className + " align-center";
    
    webServiceUrl = webServiceUrl + "/PromoCodeEntry?promoCode=" + promoCode;
    
    new Ajax.Request(webServiceUrl, {
      method: 'get',
      contentType: 'application/json',
      onSuccess: function(transport) {
        var notice = $(contentArea);
        if (transport.responseXML.getElementsByTagName("string")[0].childNodes[0].nodeValue == "Success")
        {
            window.location = rootURL + 'promo-code.aspx'; 
        }
        else
        {
            oldClass = $(contentArea).className;
		    newClass = oldClass.replace(/align-center/g, "");
		    $(contentArea).className = newClass;
            if (transport.responseXML.getElementsByTagName("string")[0].childNodes[0].nodeValue == "UnregognizedCode")
            {
                notice.innerHTML = "Sorry, that promotion code is not recognized.";
                Tog.hide(loadingArea);
                Tog.show(hideArea);
            }
            else if (transport.responseXML.getElementsByTagName("string")[0].childNodes[0].nodeValue == "NoCode")
            {
                notice.innerHTML = "Please enter a promotion code.";
                Tog.hide(loadingArea);
                Tog.show(hideArea);
            }
            else if (transport.responseXML.getElementsByTagName("string")[0].childNodes[0].nodeValue == "ExpiredCode")
            {
                notice.innerHTML = "Sorry, that promotion code has expired.";
                Tog.hide(loadingArea);
                Tog.show(hideArea);
            }
            else
            {
                notice.innerHTML = "Sorry, that promotion code is not recognized.";
                Tog.hide(loadingArea);
                Tog.show(hideArea);
            }
        }
      },
      onFailure: function(transport) {
        oldClass = $(contentArea).className;
		newClass = oldClass.replace(/align-center/g, "");
		$(contentArea).className = newClass;
        var notice = $(contentArea);
        notice.innerHTML =  "We had a problem looking up the promotion code, please try again later.";
        Tog.hide(loadingArea);
        Tog.show(hideArea);
      }
    });        
}

function enterPromoCodeInterior(promoCodeId, webServiceUrl, containerDiv, emptyContainerDiv, loadingArea, emptyContainerDivContent, contentArea)
{
    var promoCode = $(promoCodeId).value;
    $(promoCodeId).value = '';
    
    if (promoCode == "Enter Promo Code" || promoCode == "")
    {
        $(contentArea).innerHTML = "Enter a promo code.";
        return false;    
    }
    
    Tog.hide(containerDiv);
    Tog.show(emptyContainerDiv);
    $(emptyContainerDivContent).innerHTML = "Please wait just a moment";
    $(emptyContainerDiv).className = $(contentArea).className + " align-center";
    
    webServiceUrl = webServiceUrl + "/PromoCodeEntry?promoCode=" + promoCode;
    
    new Ajax.Request(webServiceUrl, {
      method: 'get',
      contentType: 'application/json',
      onSuccess: function(transport) {
        var notice = $(emptyContainerDivContent);
        if (transport.responseXML.getElementsByTagName("string")[0].childNodes[0].nodeValue == "Success")
        {
            window.location = rootURL + 'promo-code.aspx'; 
        }
        else
        {
            oldClass = $(emptyContainerDiv).className;
		    newClass = oldClass.replace(/align-center/g, "");
		    $(emptyContainerDiv).className = newClass;
            if (transport.responseXML.getElementsByTagName("string")[0].childNodes[0].nodeValue == "UnregognizedCode")
            {
                notice.innerHTML = "<p>Sorry, that promotion code is not recognized.</p><p><a href='#' onclick=\"javascript: Tog.hide('" + emptyContainerDiv + "'); Tog.show('" + containerDiv + "'); return false;\">Start Over</a></p>";
                Tog.hide(loadingArea);
            }
            else if (transport.responseXML.getElementsByTagName("string")[0].childNodes[0].nodeValue == "NoCode")
            {
                notice.innerHTML = "<p>Invalid promotion code.</p><p><a href='#' onclick=\"javascript: Tog.hide('" + emptyContainerDiv + "'); Tog.show('" + containerDiv + "'); return false;\">Start Over</a></p>";
                Tog.hide(loadingArea);
            }
            else if (transport.responseXML.getElementsByTagName("string")[0].childNodes[0].nodeValue == "ExpiredCode")
            {
                notice.innerHTML = "<p>Sorry, that promotion code has expired.</p><p><a href='#' onclick=\"javascript: Tog.hide('" + emptyContainerDiv + "'); Tog.show('" + containerDiv + "'); return false;\">Start Over</a></p>";
                Tog.hide(loadingArea);
            }
            else
            {
                notice.innerHTML = "<p>Sorry, that promotion code is not recognized.</p><p><a href='#' onclick=\"javascript: Tog.hide('" + emptyContainerDiv + "'); Tog.show('" + containerDiv + "'); return false;\">Start Over</a></p>";
                Tog.hide(loadingArea);
            }
        }
      },
      onFailure: function(transport) {
        oldClass = $(emptyContainerDiv).className;
		newClass = oldClass.replace(/align-center/g, "");
		$(emptyContainerDiv).className = newClass;
        var notice = $(emptyContainerDivContent);
        notice.innerHTML =  "We had a problem looking up the promotion code, please try again later.";
        Tog.hide(loadingArea);
      }
    });        
}
