/* storeredirection.js */
/* redirect only there is cookie set and if current page is store locator page*/
(function() {
    var baseUrlRegex = /^.+?\/portal\/page\/portal\/tggwebportal/i;
    var referrerRegex = /^.+?\/portal\/page\/portal\/tggwebportal(\/|$)/i;
    var locationRegex = /^.+?\/portal\/page\/portal\/tggwebportal(?=\/?$)/i;
    var location2Regex = /^.+?\/portal\/page\/portal\/tggwebportal\/corporate\/storelocator(?=\/?$)/i;

    var isToBeRedirectedByUsingCookie = function() {
        var redirectFlag = document.referrer == null;
        if (!redirectFlag) redirectFlag = document.referrer.length == 0;
        if (!redirectFlag) redirectFlag = document.referrer.match(referrerRegex) == null;
        if (redirectFlag) redirectFlag = (window.location != null);
        if (redirectFlag) redirectFlag = (window.location.href.match(locationRegex) != null) ||
		(window.location.href.match(location2Regex) != null);

        return redirectFlag;
    };

    var redirectToStoreInCookie = function($) {
        // fetch jquery.cookie.js script
        jQuery.importScript('~j/jquery/jquery.cookie.js');

        // check if cookie for state and store is exist
        var state = jQuery.cookie('tggStoreHomeState') || '';
        var store = jQuery.cookie('tggStoreHomeStoreId') || '';
        var isHaveStoreCookie = (state + store + '').length > 0;

        if (isHaveStoreCookie) {
            var baseUrl = window.location.href.match(baseUrlRegex);
            var newUrl = baseUrl + '/' + state + '/store' + store + '/home?storeId=' + store;

            // redirect now
            window.location.href = newUrl;
        }
    };

    if (isToBeRedirectedByUsingCookie()) redirectToStoreInCookie();
})();
