var isIE6 = false;
var hasLiveChatLinks = false;
var MAX_LIMITS = 512;

/*************************M11 Accordion*******************************/
function loadAccordion() {
    var menu_id = "sec-mod-accordion";
    $('.' + menu_id + ' ul').hide();
    $('.' + menu_id + ' li:first').find('a:first').addClass('expanded').siblings('ul').show();
    $('.' + menu_id + ' > li > a').click(function() {
        var checkElement = $(this).next();
        $('li>a', $(this).closest("ul." + menu_id)).removeClass('expanded');
        $(this).addClass('expanded');
        if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
            $('ul:visible', $(this).closest("ul." + menu_id)).slideUp(300, function(){
                checkElement.stop().slideDown(450);
            });
        }
        return false;
    });
}

/*************************M7 Tabs*******************************/
function loadTabs() {
    $('.tabs > li > a').click(
            function(e) {
                e.preventDefault();
				var parent = $(this).closest("ul").parent();
                var index = $(this).closest("ul").find("> li").index($(this).parent()[0]);
                $(".tabs-content > li", parent).css("display", "none");
                $(".tabs-content > li:eq(" + index + ")", parent).css("display", "block");
				if($(".tabs > li", parent).hasClass('onhover'))
					$(".tabs > li", parent).removeClass("onhover");				
                $(".tabs > li", parent).removeClass("on");
                $(this).parent().addClass("on");

                if (!parent.hasClass("content-M7") && window.trackDetailTab) {
                    trackDetailTab($(this).text());
                }				             
            }
            );
}

function loadSecTabs() {
    $('.tabs-sec > li > a').click(
            function() {
                var parent = $(this).closest("ul").parent();
                var index = $(this).closest("ul").find("> li").index($(this).parent()[0]);
                $(".tabs-sec-content > li", parent).css("display", "none");
                $(".tabs-sec-content > li:eq(" + index + ")", parent).css("display", "block");
                $(".tabs-sec > li", parent).removeClass("on");
                $(this).parent().addClass("on");
                return false;
            }
            );
}

/*************************M9 Carousel*******************************/
function loadM9Carousel() {
    $(".m9-carousel a").click(function() {
        var li = $(this).closest("li");
        var carousel = $(this).closest("ul");
        var index = $("li", carousel).index(li);
        var top = $(this).closest("div.content-M9");
        $("a", carousel).removeClass("active").eq(index).addClass("active");
        $("> img", top).addClass("hidden").eq(index).removeClass("hidden");
        $(".M9-right-content", top).addClass("hidden").eq(index).removeClass("hidden");
        return false;
    });
}

/*************************Primary LOB Carousel*******************************/
function loadPrimaryLOBCarousel() {
    $("#main-carousel a").click(function() {
        var li = $(this).closest("li");
        var carousel = $(this).closest("ul");
        var index = $("li", carousel).index(li);
        $("a", carousel).removeClass("active").eq(index).addClass("active");
        $("#primary-lob-image img").addClass("hidden").eq(index).removeClass("hidden");
        $("#primary-lob-copy .primary-lob-copy-right").addClass("hidden").eq(index).removeClass("hidden");
        return false;
    });
}

/*************************Customer Quotes*******************************/
function loadCustomerQuotes() {
    $("div.co-case-study-text ul.co-carousel a").click(customerQuoteClick);
}

function customerQuoteClick() {
    var index = $(this).closest("ul.co-carousel").find("a").removeClass("active").index(this);
    $(this).addClass("active");
    $(this).closest("div.co-case-study-text").find("> div").hide().eq(index).show();
    return false;
}


/*************************Form Date Pickers******************************/
function loadFormDatePickers(root) {
    try {
        var datepickers = $(".datepickerField", root);
        if (datepickers.length > 0) {
            $("head").append("<link href='/css/jquery-ui-1.7.2.custom.css' type='text/css' rel='stylesheet'/>");
            $.getScript("/js/jquery-ui-1.7.2.custom.min.js", function() {
                datepickers.datepicker({
                    changeMonth: true,
                    changeYear: true,
                    yearRange: '-100:+10',
                    showAnim: 'fadeIn',
                    duration: 100
                });
            });
        }
    } catch (e) { }
}


/*************************Clear Form******************************/
function clearForm() {
    var form = $(this).closest("form");
    $('input', form).each(function() {
        var type = this.type;
        var tag = this.tagName.toLowerCase();

        if (type == 'text' || type == 'password' || tag == 'textarea') {
            this.value = "";
        } else if (type == 'checkbox' || type == 'radio') {
            this.checked = false;
        } else if (tag == 'select') {
            this.selectedIndex = 0;
        }
    });
    return false;
}


/*************************Number Only Input******************************/
function numberOnlyInput(e) {
    return (!(e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)));
}


/*************************Popups******************************/
function showLightbox() {
    var lightbox = $("#lightbox");
    if (lightbox.length == 0) {
        $("body").append("<div id='lightbox' />");
        lightbox = $("#lightbox");
    }
    $('.select').not('#formLayer .select').css('display', 'none');
    
    lightbox.width($(document).width()).height($(document).height()).show().fadeTo('fast',0.8);
}

function hideLightbox() {
    $("#lightbox").remove();
	if($('.select')[0]){
		$('.select').css('display', 'block');
	}
}

function centerElementInitial(element) {
    var height = isIE6 ? element.outerHeight() : element.height();
    var windowHeight = $(window).height();

    if (windowHeight < height) {
        centerElementH(element);
        element.css("top", 0);
        $(window).scrollTop(0);
    } else {
        centerElement(element);
    }
}

function centerElement(element) {
    var scrollLeft = 0;
    var scrollTop = 0;

    var width = isIE6 ? element.outerWidth() : element.width();
    var height = isIE6 ? element.outerHeight() : element.height();
    var windowWidth = $(window).width();
    var windowHeight = $(window).height();

    if (windowHeight < height) {
        element.css("position", "absolute");
        return;
    }

    if (!$.browser.msie) {
        element.css("position", "fixed");
    } else {
        scrollLeft = $(window).scrollLeft();
        scrollTop = $(window).scrollTop();
    }

    element.css("left", (windowWidth - width) / 2 + scrollLeft)
            .css("top", (windowHeight - height) / 2 + scrollTop);
}

function centerElementH(element) {
    var width = isIE6 ? element.outerWidth() : element.width();
    var windowWidth = $(window).width();

    element.css("left", (windowWidth - width) / 2 + $(window).scrollLeft());
}

function loadFormLayers() {
    $("div.template-15 a.return").click(formReturn);
}

function openFormLayer() {
    var baseurl = $(this).attr("href");
    var url = baseurl;
    if (url.indexOf("?") != -1) {
        url += "&popup=true";
    } else {
        url += "?popup=true";
    }

    showLightbox();

    var formLayer = $("#formLayer");    
    if (formLayer.length == 0) {    	
        $("body").append($("<div id='formLayer'><div class='top'/><div class='template-15 clearfix'/><div class='bottom'/></div>"));
        formLayer = $("#formLayer");
        var fCenter = function() {
            centerElement(formLayer);
        };
        $(window).scroll(fCenter).resize(fCenter);
    }

    $.get(url, null, function(data) {
        setupFormLayer(formLayer, url, baseurl, data);
        centerElementInitial(formLayer);
        formLayer.show();
        centerElementInitial(formLayer);
        modalBinder( formLayer ,"#comments" );
        showLightbox();
    }, "html");

    return false;
}

function setupFormLayer(formLayer, url, baseurl, data) {

    var xml = $(data);
    var template15 = xml.find(".template-15");
    if (template15.length > 0) {
        data = template15.html();
    }

    formLayer.find("div.template-15").html(data).prepend("<a href='#' class='close'><span>Close</span></a>").append("<div class='clear'/>");
    loadFormDatePickers(formLayer);
    formLayer.find("form").attr("action", baseurl).submit(function() {
        var fields = $(this).serializeArray();
        $.post(url, fields, function(resp) {
            setupFormLayer(formLayer, url, baseurl, resp);
            if (window.processFormCompletionTracking) {
                processFormCompletionTracking(true);
            }
        }, "html");
        return false;
    });
    formLayer.find("div.buttons a.cancel, a.return, a.close").click(function() {
        hideLightbox();
        formLayer.remove();
        return false;
    });
    centerElement(formLayer);
}

function formReturn() {
    var results = /[\\?&]ref=([^&#]*)/.exec(window.location.href);
    if (results != null) {
        window.location.href = unescape(results[1]);
    }
    return false;
}

/*****************************Video Popup****************************************/
function openVideo() {
    showLightbox();

    var videoPopup = $("#videoPopup");

    if (videoPopup.length == 0) {
        videoPopup = $("<div id='videoPopup'/>");
        $("body").append(videoPopup);
    }

    videoPopup.html("<div id='videoPopupContent'></div>");
    videoPopup.show();

    var flashvars = {
        configPath: $(this).attr("rev"),
        background: $("body").hasClass("business-interiors") ? "green" : "blue"
    };

    var params = {
        allowScriptAccess: "always",
        wMode: "transparent"
    };

    var attributes = {};

    swfobject.embedSWF("/swf/main.swf", "videoPopupContent", "833", "500", "9.0.115.0", "/swf/expressInstall.swf",  flashvars, params, attributes);

    centerElement(videoPopup);

    return false;
}

function closeVideoWindow() {
    $("#videoPopup").html("").hide();
    hideLightbox();
}

function closeVideoWindowBC(oID) {
	if(brightcove.getExperience(oID)){
		brightcove.getExperience(oID).getModule("experience").unload();
		brightcove.removeExperience(oID);
	}
    $("#videoPopupBC").remove();
    hideLightbox();

}

function openVideoBC() {
	if($("#videoPopupBC")[0]){
		$("#videoPopupBC").remove();
	}
    showLightbox();
	
	var videoUrl = $(this).attr('rev') || '';
	var videoPopup = $('<div id="videoPopupBC"></div>');
	
	videoPopup.appendTo('body').show(function(){
		$(this).load(videoUrl,function(){
			var oID = $(this).find('object').attr('id');
			$('<a href="#" class="close" title="Close">close</a>').prependTo($(this)).bind('click',function(){
				closeVideoWindowBC(oID);
				return false;
			});
			if($(this).find('#videoPopupBC-description:visible').length>0){
				$(this).find('#videoPopupBC-content').addClass('hasDescription');
			}
		});
		centerElement($(this));
	})
    return false;
}

/*************************Image Popup********************************************/
function openImage() {
    showLightbox();

    var imagePopup = $("#imagePopup");

    if (imagePopup.length === 0) {
        imagePopup = $("<div id='imagePopup'/>").html(
                "<div class=\"closeContet\"><a class=\"close\" href=\"#\"> </a></div>" +
                "<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">" +
                "<tr><td><img src=\"\" alt=\"\"/></td></tr></table>");
        $("body").append(imagePopup);
    }

    imagePopup.find("a.close").click(function() { hideImagePopup(imagePopup); return false; });
    imagePopup.find("table img")
            .attr("src", "")
            .attr("src", $(this).attr("href"))
            .attr("alt", $("img", this).attr("alt"));
    centerElementInitial(imagePopup);
    imagePopup.show();
    centerElementInitial(imagePopup);
    return false;
}

function hideImagePopup(imagePopup) {
    imagePopup.hide();
    hideLightbox();
}


/*************************News and Events Pagination*********************/

var newsAndEventsPageSize = 8;

function loadNewsAndEventsPagination() {
    $("ul.events-list, ul.news-list").each(function() {
        var list = $(this);
        var pg = list.siblings(".pagination");
        if (pg.length > 0) {
            var elements = list.find("> li:not(.clear)");
            var totalPages = Math.floor(elements.length / newsAndEventsPageSize) + (elements.length % newsAndEventsPageSize > 0 ? 1 : 0);
            pg.html("<a class='prev-end' href='#'>Prev</a><span></span><a class='next' href='#'>Next</a><input type='hidden' value='-1'/>");
            pg.find(".prev-end").click(function() {
                newsAndEventsSetPage(list, elements, pg, totalPages, newsAndEventsGetCurrentPage(pg) - 1);
                return false;
            });
            pg.find(".next").click(function() {
                newsAndEventsSetPage(list, elements, pg, totalPages, newsAndEventsGetCurrentPage(pg) + 1);
                return false;
            });
            newsAndEventsSetPage(list, elements, pg, totalPages, 0);
        }
    });
}

function newsAndEventsSetPage(list, elements, pg, totalPages, page) {
    if (page < 0)
        page = 0;
    if (page >= totalPages)
        page = totalPages - 1;

    if (page == newsAndEventsGetCurrentPage(pg))
        return;

    pg.find("input").attr("value", page);
    var start = page * newsAndEventsPageSize;
    var top = (page + 1) * newsAndEventsPageSize;
    if (top > elements.length)
        top = elements.length;
    pg.find("span").text( (start + 1) + " - " + top + " of " + elements.length);
    elements.hide().slice(start, top).show();
    var scrollTop = $(window).scrollTop();
    if (scrollTop > 200) {
        $(window).scrollTop(list.offset().top - 55);
    }

    if (page == 0) {
        pg.find("a:first").addClass("prev-end").removeClass("prev");
    } else {
        pg.find("a:first").addClass("prev").removeClass("prev-end");
    }

    if (page == totalPages - 1) {
        pg.find("a:last").addClass("next-end").removeClass("next");
    } else {
        pg.find("a:last").addClass("next").removeClass("next-end");
    }
}

function newsAndEventsGetCurrentPage(pg) {
    return parseInt(pg.find("input").attr("value"));
}


/*************************Menu Selection******************************/

function menuSelection(u) {
    var current = cleanUrl(u != null ? u : window.location.href);

    if (current.match(/search-results.jsp/)) {
        return;
    }

    var globalNavUrl = null;

    $("#global-navigation > ul > li > a").each(function() {
        var href = clearIndexFile(cleanUrl($(this).attr("href")));
        if (href != "" && href != "/" && href != "#") {
            if (current.indexOf(href) == 0) {
                globalNavUrl = href;
                trackingGlobalNav = $.trim($(this).addClass("global-active").text());
            }
        }
    });

    $("#sec-navigation > ul > li > a").each(function() {
        var href = clearIndexFile(cleanUrl($(this).attr("href")));
        if (current.indexOf(href) == 0) {
            trackingCategory = $.trim($(this).text());
            $(this).closest("li").addClass("sec-active");
            trackingGlobalNav = $("#global-navigation > ul > li > a:first").addClass("global-active").text();
        }
    });

    var sectionUrl = null;

    $("#primary-lob-navigation a").each(function() {
        var href = clearIndexFile(cleanUrl($(this).attr("href")));
        if (current.indexOf(href) == 0) {
            trackingSection = $.trim($(this).addClass("set-active").text());
            sectionUrl = href;
        }
    });
    
	if(window.trackingSection == null){
	    var doIt = true;
		$("ul.secondary-nav > li > a").each(function() {
			var hrefLeft = clearIndexFile(cleanUrl($(this).attr("href")));
			if(doIt){
				$("#primary-lob-navigation a").each(function() {
					var hrefTop = clearIndexFile(cleanUrl($(this).attr("href")));
					if (hrefTop.indexOf(hrefLeft) == 0) {
						trackingSection = $.trim($(this).text());
						doIt = false;
					}
				});
			}
		});
	}   

    $(".secondary-nav > li ul.tertiary-nav").hide();
    $(".secondary-nav > li ul.tertiary-nav").css('position','static');
    
    $(".secondary-nav > li.open").removeClass("open");

    $("ul.secondary-nav > li > a").each(function() {
        var href = clearIndexFile(cleanUrl($(this).attr("href")));
        if (href != "" && current.indexOf(href) == 0) {
            $(this).addClass("active");
            if (sectionUrl != href && globalNavUrl != href) {
                trackingSubSection = $.trim($(this).text());
            }
            var li = $(this).closest("li");
            var internalNav = li.find("ul.tertiary-nav");
            if (internalNav.length > 0) {
                li.addClass("opened");
                internalNav.show();
            }
            internalNav.find("a").each(function() {
                var hrefInternal = cleanUrl($(this).attr("href"));
                if (current.indexOf(hrefInternal) == 0) {
                    trackingDetailPage = $.trim($(this).addClass("set-active").text());
                }
            });
        }
    });

    if (window.trackingSection != null && window.trackingSubSection == null) {
        $("ul.secondary-nav > li > a").each(function() {
            var hrefInternal = cleanUrl($(this).attr("href"));
            if (hrefInternal != "" && current.indexOf(hrefInternal) == 0) {
                trackingDetailPage = $.trim($(this).addClass("set-active").text());
                trackingSubSection = $.trim($(this).closest("ul").prev("a").addClass("active").text());
                $(this).closest("ul").show().closest("li").addClass("opened");
            }
        });
    }

    $("ul.secondary-nav > li > a.active:not(:last)").removeClass("active");
}

function cleanUrl(url) {
    url = jQuery.trim(url);
    if (url.indexOf("http") == 0) {
        url = url.substring(url.indexOf("/", 7));
    }
    // remove locale
    if ( ((url.indexOf("/") == 0 && url.indexOf("/", 1) == 6) || (url.indexOf("/") == 5)) &&
         url.match(/^\/?[a-z][a-z][_\-][A-Z][A-Z]/i)) {
        url = url.substring(url.indexOf("/", 1));
    }
    // remove query string
    if (url.indexOf("?") >= 0) {
        url = url.substring(0, url.indexOf("?"));
    }
    // remove hash
    if (url.indexOf("#") >= 0) {
        url = url.substring(0, url.indexOf("#"));
    }
    return url;
}

function clearIndexFile(url) {
    if (url.match(/index\.html$/)) {
        url = url.substring(0, url.lastIndexOf("index.html"));
    }
    return url;
}

function clearMenuSelection() {
    $("#global-navigation > ul > li > a").removeClass("global-active");
    $("#sec-navigation > ul > li").removeClass("sec-active");
    $("#primary-lob-navigation a").removeClass("set-active");
    $("ul.secondary-nav a").removeClass("active");
}

/*************************Body Scrollbar******************************/

function bodyScroll() {
    if ($(window).width() > 960) {
        $("body").addClass("hscroll");
    } else {
        $("body").removeClass("hscroll");
    }
}

/*************************Anchor Targets******************************/

function setupAnchorTargets() {
    $("a, area").each(function() {
        var target = $(this).attr("target");
        if (target == "_form") {
            $(this).click(openFormLayer);
        } else if (target == "_image") {
            $(this).click(openImage);
        } else if (target == "_video") {
			var revStr = $(this).attr("rev") || '';
			if (revStr.indexOf('.html')!=-1) {
				$(this).click(openVideoBC);
			} else {
				$(this).click(openVideo);
			}
        } else if (target == "_videobc") {
        	$(this).click(openVideoBC);
        /* } else if (target == "_videobc_close") {
        	$(this).click(closeVideoWindow); */
        } else if (target == "_timeline") {
            $(this).click(timelineLinkClick);
        } else if (target == "_livechat") {
            hasLiveChatLinks = true;
            $(this).attr("href", "http://server.iad.liveperson.net/hc/30416575/?cmd=file&file=visitorWantsToChat&site=30416575&byhref=1&imageUrl=http://www.thrivenetworks.com/assets/images/LivePersonChat/")
                    .attr("target", "chat30416575")
                    .click(function() {
                        lpButtonCTTUrl = 'http://server.iad.liveperson.net/hc/30416575/?cmd=file&file=visitorWantsToChat&site=30416575&imageUrl=http://www.thrivenetworks.com/assets/images/LivePersonChat/&referrer='+escape(document.location); lpButtonCTTUrl = (typeof(lpAppendVisitorCookies) != 'undefined' ? lpAppendVisitorCookies(lpButtonCTTUrl) : lpButtonCTTUrl); lpButtonCTTUrl = ((typeof(lpMTag)!='undefined' && typeof(lpMTag.addFirstPartyCookies)!='undefined')?lpMTag.addFirstPartyCookies(lpButtonCTTUrl):lpButtonCTTUrl);window.open(lpButtonCTTUrl,'chat30416575','width=475,height=400,resizable=yes');
                        startLiveChatTracking();
                        return false;
                    });
        } else if (target == "_layer") {
            var rev = $(this).attr("rev");
            if (rev != "") {
                $(this).click(showNavigationalPopup);
            } else {
                $(this).click(showGenericOverlay);
            }
        }
    });
}

/*************************Anchor Targets******************************/

var lpMTagConfig = {'lpServer' : "server.iad.liveperson.net",'lpNumber' : "30416575",'lpProtocol' : "http"};

function lpAddMonitorTag(src) {
    if(typeof(src)=='undefined'||typeof(src)=='object') {
        src=lpMTagConfig.lpMTagSrc?lpMTagConfig.lpMTagSrc:'/hcp/html/mTag.js';
    }

    if(src.indexOf('http')!=0) {
        src=lpMTagConfig.lpProtocol+"://"+lpMTagConfig.lpServer+src+'?site='+lpMTagConfig.lpNumber;
    }
    else{
        if(src.indexOf('site=')<0) {
            if(src.indexOf('?')<0)src=src+'?';else src=src+'&';src=src+'site='+lpMTagConfig.lpNumber;
        }
    };
    var s = document.createElement('script');
    s.setAttribute('type','text/javascript');
    s.setAttribute('charset','iso-8859-1');
    s.setAttribute('src',src);
    document.getElementsByTagName('head').item(0).appendChild(s);
}

function loadLiveChat() {
    if (hasLiveChatLinks) {
        lpAddMonitorTag(null);
    }
}

/*************************Generic Overlay*****************************/
/* Navigational content overlay */
function hideGenericPopup(overlay) {
	overlay.hide();
    hideLightbox();
}

function showNavigationalPopup() {
    showLightbox();
    var overlay = $("#genericOverlay");
    if (overlay.length == 0) {
        overlay = $("<div id='genericOverlay'>" +
                    "<div class='top'/>" +
                    "<div class='middle'><a href='#' class='close'><span>Close</span></a>" +
                    "<div id='nav-overlay-ctn'/></div>" +
                    "<div class='bottom'/></div>");
        $("body").append(overlay);
        var fCenter = function() {
            centerElement(overlay);
        };
        $(window).scroll(fCenter).resize(fCenter);
    } else {
        overlay.html("<div class='top'/>" +
                    "<div class='middle'><a href='#' class='close'><span>Close</span></a>" +
                    "<div id='nav-overlay-ctn'/></div>" +
                    "<div class='bottom'/>");
    }
    var htmlUrl = $(this).attr("href");
    var startingAt = $(this).attr("rev");
    $.ajax({
		type: "GET",
		url: htmlUrl,
		dataType: "html",
		success: function(data){
            setupNavOverlay(overlay, data, startingAt);
            centerElementInitial(overlay);
            overlay.show();
            centerElementInitial(overlay);
            showLightbox();
        }
    });
    return false;
}

function setupNavOverlay(overlay, data, startingAt) {
    var xml = $(data);
    var slides = xml.find("#overlay-content");
    if (slides.length > 0) {
        data = slides.html();
    }
    overlay.find("#nav-overlay-ctn").html(data).append('<p class="pagination"/>');
    setNavOverlayPagination(overlay, startingAt);
    overlay.find("a.close").click(function() { hideGenericPopup(overlay); return false; });
    centerElement(overlay);
}

function setNavOverlayPagination(overlay, startingAt) {
    var pg = overlay.find(".pagination");
    var slides = overlay.find(".slide");
    if(pg.length > 0) {
        pg.html("<a class='prev-end' href='#'>Prev</a><span></span><a class='next' href='#'>Next</a><input type='hidden' value='-1'/>");
        pg.find(".prev-end").click(function() {
            navOverlaySetSlide(slides, pg, navOverlayGetCurrentPage(pg) - 1);
            return false;
        });
        pg.find(".next").click(function() {
            navOverlaySetSlide(slides, pg, navOverlayGetCurrentPage(pg) + 1);
            return false;
        });
        navOverlaySetSlide(slides, pg, startingAt - 1);
    }
}

function navOverlaySetSlide(slides, pg, slide) {
    var totalPages = slides.length;
    if (slide < 0)
        slide = 0;
    if (slide >= totalPages)
        slide = totalPages - 1;
    if (slide == navOverlayGetCurrentPage(pg))
        return;
    pg.find("input").attr("value", slide);
    pg.find("span").text( (slide + 1) + " of " + totalPages);
    slides.hide().eq(slide).show();

    if (slide == 0) {
        pg.find("a:first").addClass("prev-end").removeClass("prev");
    } else {
        pg.find("a:first").addClass("prev").removeClass("prev-end");
    }
    if (slide == totalPages - 1) {
        pg.find("a:last").addClass("next-end").removeClass("next");
    } else {
        pg.find("a:last").addClass("next").removeClass("next-end");
    }
}

function navOverlayGetCurrentPage(pg) {
    return parseInt(pg.find("input").attr("value"));
}
/* Compare generic chart */
function showGenericOverlay() {
    showLightbox();
    var overlay = $("#genericOverlay");
    if (overlay.length == 0) {
        overlay = $("<div id='genericOverlay'>" +
                    "<div class='top'></div>" +
                    "<div class='middle'><a href='#' class='close'><span>Close</span></a>" +
                    "<div id='overlay-ctn'></div></div>" +
                    "<div class='bottom'></div></div>");
        $("body").append(overlay);
        var fCenter = function() {
            centerElement(overlay);
        };
        $(window).scroll(fCenter).resize(fCenter);
    } else {
        overlay.html("<div class='top'></div>" +
                    "<div class='middle'><a href='#' class='close'><span>Close</span></a>" +
                    "<div id='overlay-ctn'></div></div>" +
                    "<div class='bottom'></div>");
    }
    var htmlUrl = $(this).attr("href");
    $.ajax({
		type: "GET",
		url: htmlUrl,
		dataType: "html",
		success: function(data){
            setupGenericOverlay(overlay, data);
            centerElementInitial(overlay);
            overlay.show();
            centerElementInitial(overlay);
            showLightbox();
        }
    });
    return false;
}

function setupGenericOverlay(overlay, data) {
    var xml = $(data);
    var content = xml.find("#overlay-content");
    if (content.length > 0) {	// the local advantage pages
        data = content.html();
		if(content.find("#tlao").length > 0){
			$("body").addClass("tla-page");
		}
    }
    overlay.find("#overlay-ctn").html(data);
    overlay.find("a.close").click(function() { hideGenericPopup(overlay); return false; });
    centerElement(overlay);
}
/*************************Document Load******************************/
$(document).ready(function() {
    isIE6 = $.browser.msie && $.browser.version.substr(0,1)<7;
    bodyScroll();
    $(window).resize(bodyScroll);
    menuSelection(null);
    loadAccordion();
    loadTabs();
    loadSecTabs();
    loadM9Carousel();
    loadPrimaryLOBCarousel();
    loadFormDatePickers();
    loadCustomerQuotes();
    $("div.form div.buttons a.cancel").click(clearForm);
    $("div.form div.phone-number input").keypress(numberOnlyInput);
    loadFormLayers();
    loadNewsAndEventsPagination();
    setupAnchorTargets();
    loadLiveChat();

    
    if (window.pageLoadTracking) {
        pageLoadTracking(null);
    }

    if (navigator.platform.indexOf("Mac") >= 0) {
        $("head").append("<link rel='stylesheet' href='css/mac.css' type='text/css' />");
    }

    var secNavBoxModelFix = 0;

    if ($.browser.mozilla && (navigator.platform.indexOf("Mac") >= 0)) {
        $("head").append("<link rel='stylesheet' href='css/ff-mac.css' type='text/css' />");
    } else if ($.browser.mozilla && (navigator.platform.indexOf("Linux") >= 0)) {
        $("#sec-navigation li.last-sec-tab div.navigation-over-wrap").css("marginLeft", "-6.9em");
    } else if ($.browser.mozilla && (navigator.platform.indexOf("Win") >= 0)) {
        $("#sec-navigation ul.sec-last-tab li.sec-active div.navigation-over-wrap").css("marginLeft", "-5.7em");
    } else if ($.browser.safari && (navigator.platform.indexOf("Win") >= 0)) {
        $("#sec-navigation ul.sec-last-tab li.sec-active div.navigation-over-wrap").css("marginLeft", "-5.95em");
        $(".template-15-nav ul.pagination a.ten").css("padding-top","3px");
    } else if (isIE6) {
        if ($(".contact-container > img").length > 0) {
            $("#contact-us-component > div").css("marginLeft", "-70px");
        }
        secNavBoxModelFix = 20;
    }

    setTimeout(function() {
        $("#sec-navigation-wrapper li.last-sec-tab .navigation-over-wrap").css("marginLeft",
                $("#sec-navigation-wrapper li.last-sec-tab").width() -
                $("#sec-navigation-wrapper li.last-sec-tab .navigation-over-wrap").width() - secNavBoxModelFix);
    }, 250);

	openFormLayerByDefault();							//To be removed after ad campaign Media Plan
	
	/* homepage dropdown mod */
	$("#existing_form_sel").each(function(){
		$(this).sSelect();
	});
	$("#existing_form_sub").each(function(){
		$(this).hover(
			function(){
				$(this).addClass("btn_sub_hover");
			},
			function(){
				$(this).removeClass("btn_sub_hover");
			}
		).click(function(){
			var siteurl = $("#existing_form_sel").val();
			//tracking
			var sitename = $("#existing_form_sel option:selected").text();
			homeLoginSelectTracking(sitename);
			//end tracking
			if(!siteurl[0] || siteurl==""){
				alert("Please select a site!");
			} else {
				window.open(siteurl);
			}
			return false;
		});
	});
	
	/* existing customers page */
	$(".links-login").each(function(){
		$(this).after('<div class="links-img"><img src="'+$(this).attr("href")+'" alt="" /></div>').hover(
			function(){
				$(this).setPosition().siblings(".links-img").stop(true,true).fadeIn(500);
			},
			function(){
				$(this).siblings(".links-img").stop(true,true).fadeOut(300);
			}
		);
	});
	$("#exi-cus .exi-list>li").hover(
		function(){
			$(this).addClass("onhover");
		},
		function(){
			$(this).removeClass("onhover");
		}
	);
	
	/* for local advantage pages */
	// 'Go' button highlight
	$(".orange-btn").live("mouseover",function(){
		$(this).addClass("orange-btn-hover");
	}).live("mouseout",function(){
		$(this).removeClass("orange-btn-hover");
	});
	// monitor 'enter' key
	$("#tlao-state").live("keydown",function(e){
		var key = e.which;
		if (key == 13) {
			$("#tlao-state-sub").trigger("click");
		}
	});
	// write cookie
	$("#tlao-state-sub").live("click",function(){	
		var selectval = $(this).siblings("#tlao-state").val();
		if(selectval!=""){
			$.cookie(
				"localname",
				selectval,
				{
					path: "/",
					expires: 365
				}
			);
			goLocal(selectval);
		} else {
			$(this).siblings("#tlao-state").css({"color":"red","border-color":"red"});
		}
		return false;
	});
	$("#tlao-state").live("change",function(){
		$(this).css({"color":"#666","border-color":"#666"});
	});
	// direct to local advantage if has cookie value
	$("a[href='/why-us/local-advantage/home.html']").each(function(){
		$(this).attr("href","/why-us/local-advantage/the-local-advantage-overlay.html");
		if($(this).text()!="Select Another State"){
			$(this).bind("click",function(){
				if($.cookie("localname")){
					var lovalval= $.cookie("localname");
					goLocal(lovalval);
				}
			});
		} else {
			$(this).bind("click",function(){
				//tracking
				processStateSelectorTracking(location.href);
				//end tracking
			});
		}
	});
	// direct to local advantage function
	function goLocal(val){
		var locallink = "";
		switch(val){
			case "AL": locallink = "Alabama";    break;
			case "AK": locallink = "Alaska";    break;
			case "AZ": locallink = "Arizona";    break;
			case "AR": locallink = "Arkansas";    break;
			case "CA": locallink = "California";    break;
			case "CO": locallink = "Colorado";    break;
			case "CT": locallink = "Connecticut";    break;
			case "DE": locallink = "Delaware";    break;
			case "DC": locallink = "District Of Columbia";    break;
			case "FL": locallink = "Florida";    break;
			case "GA": locallink = "Georgia";    break;
			case "HI": locallink = "Hawaii";    break;
			case "ID": locallink = "Idaho";    break;
			case "IL": locallink = "Illinois";    break;
			case "IN": locallink = "Indiana";    break;
			case "IA": locallink = "Iowa";    break;
			case "KS": locallink = "Kansas";    break;
			case "KY": locallink = "Kentucky";    break;
			case "LA": locallink = "Louisiana";    break;
			case "ME": locallink = "Maine";    break;
			case "MD": locallink = "Maryland";    break;
			case "MA": locallink = "Massachusetts";    break;
			case "MI": locallink = "Michigan";    break;
			case "MN": locallink = "Minnesota";    break;
			case "MS": locallink = "Mississippi";    break;
			case "MO": locallink = "Missouri";    break;
			case "MT": locallink = "Montana";    break;
			case "NE": locallink = "Nebraska";    break;
			case "NV": locallink = "Nevada";    break;
			case "NH": locallink = "New Hampshire";    break;
			case "NJ": locallink = "New Jersey";    break;
			case "NM": locallink = "New Mexico";    break;
			case "NY": locallink = "New York";    break;
			case "NC": locallink = "North Carolina";    break;
			case "ND": locallink = "North Dakota";    break;
			case "OH": locallink = "Ohio";    break;
			case "OK": locallink = "Oklahoma";    break;
			case "OR": locallink = "Oregon";    break;
			case "PA": locallink = "Pennsylvania";    break;
			case "RI": locallink = "Rhode Island";    break;
			case "SC": locallink = "South Carolina";    break;
			case "SD": locallink = "South Dakota";    break;
			case "TN": locallink = "Tennessee";    break;
			case "TX": locallink = "Texas";    break;
			case "UT": locallink = "Utah";    break;
			case "VT": locallink = "Vermont";    break;
			case "VA": locallink = "Virginia";    break;
			case "WA": locallink = "Washington";    break;
			case "WV": locallink = "West Virginia";    break;
			case "WI": locallink = "Wisconsin";    break;
			case "WY": locallink = "Wyoming";    break;
			default: locallink = "New York";
		}
		window.location="/why-us/local-advantage/"+locallink.replace(/ /gi,"-").toLowerCase()+"/index.html";
	}
});

/************************************ Limit Comments ****************************************
 * This function limits the characters typed inside the text area, it should not allow more 
 * than 512 characters according to the business rules.
 */
function exceedsTheLimitAllowed(textAreaElement){
	if(textAreaElement.val().length > MAX_LIMITS){		
		textAreaElement.val(textAreaElement.val().substring(0,MAX_LIMITS));
	}
}

/*********************************************************************************************
 * This function initializes the listeners required when the document is ready.
 */
/*$(document).ready(function(){
	var current_Url = window.location.href;	
	if(current_Url.indexOf('contact-us') < 0){
		$('.right-content').hide();
	}	
	modalBinder( $(document) , 	"#comments" );
});*/


/*********************************************************************************************
 * This function set the listeners for the text area component.
 * @param anElement
 * @param textAreaId
 */
function modalBinder( anElement , textAreaId ){

	anElement.find(textAreaId).live("paste",function(e){		
		exceedsTheLimitAllowed($(this));
	});
	
	anElement.find(textAreaId).keyup(function (e){ 
		exceedsTheLimitAllowed($(this));
	});
	
	anElement.find(textAreaId).bind("contextmenu",function (e){ 
		e.preventDefault();
	});
}



/*********************************************************************************************
 * This function displays the Contact Us form on the layer on OP & SFS landing pages.
 * The purpose is pop up the Contact Us form when reffered by ad campaign.
 * Below function should be removed a month after ad campaign.
*/
function openFormLayerByDefault(){
	
	if(document.referrer.length>0){
		if((document.referrer.indexOf(".staplesadvantage.com/mktcampaign/20100913/mediaplan/")>=0 || document.referrer.indexOf(".staplesadvantage.com/letstalkfacilities/")>=0 || document.referrer.indexOf(".staplesadvantage.com/letstalkfacility/")>=0) && (document.URL.substring(document.URL.length-17,document.URL.length)=="/office-products/" || document.URL.substring(document.URL.length-20,document.URL.length)=="/facility-solutions/")){
			var elem = document.getElementById("contact-us-component"); 
			var anchors = elem.getElementsByTagName("A");
			for(var i=0; i<anchors.length; i++){
				if(anchors[i].target=='_form'){
					if(document.dispatchEvent){
						var oEvent = document.createEvent( "MouseEvents" );
						oEvent.initMouseEvent("click", true, true,window, 1, 1, 1, 1, 1, false, false, false, false, 0, anchors[i]);
						anchors[i].dispatchEvent( oEvent );
					} else if(document.fireEvent){
						anchors[i].fireEvent("onclick");
					}
				}
			}
		}
	}
	
}


jQuery.cookie = function (key, value, options) {
    if (arguments.length > 1 && (value === null || typeof value !== "object")) {
        options = jQuery.extend({}, options);
        if (value === null) {
            options.expires = -1;
        }
        if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days);
        }
        return (document.cookie = [
            encodeURIComponent(key), '=',
            options.raw ? String(value) : encodeURIComponent(String(value)),
            options.expires ? '; expires=' + options.expires.toUTCString() : '',
            options.path ? '; path=' + options.path : '',
            options.domain ? '; domain=' + options.domain : '',
            options.secure ? '; secure' : ''
        ].join(''));
    }
    options = value || {};
    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};

/* existing customer page */
(function($){
	$.fn.setPosition = function() {
		return this.each(function() {
			var x = $(this).position().left + 15;
			var y = $(this).position().top + 12;
			if($(this).hasClass("popup-above")){
				y -= ($(this).siblings(".links-img").height()+40);
			}
			$(this).siblings(".links-img").css({
				left: x,
				top: y
			})
		});
	};
})(jQuery);
