﻿jQuery(document).ready(function(){    

    jQuery(".no-script").hide();
    jQuery("#content_wrapper #content #maincontent #contentareaportlets #mediaCoverage table .columnTwo div").hide();
    
    jQuery("#content_wrapper #content #maincontent #contentareaportlets #mediaCoverage table tbody tr td.columnTwo a").click(function () {
        jQuery(this).siblings("div").slideToggle("slow");
    });
    
    jQuery("#trigger_print").attr("href", "javascript:window.print()");
    
    jQuery("#StyleLarger").click(function() {
        if( !jQuery("#StartpageBottomPortletAreaLeft .textcontent").hasClass("textsize1") && 
            !jQuery("#StartpageBottomPortletAreaLeft .textcontent").hasClass("textsize2") && 
            !jQuery("#StartpageBottomPortletAreaLeft .textcontent").hasClass("textsize3")) {
                jQuery("#StartpageBottomPortletAreaLeft .textcontent").addClass("textsize1");
        } else if(jQuery("#StartpageBottomPortletAreaLeft .textcontent").hasClass("textsize1")) {
            jQuery("#StartpageBottomPortletAreaLeft .textcontent").removeClass("textsize1 textsize3");
            jQuery("#StartpageBottomPortletAreaLeft .textcontent").addClass("textsize2");
        } else if(jQuery("#StartpageBottomPortletAreaLeft .textcontent").hasClass("textsize2")) {
            jQuery("#StartpageBottomPortletAreaLeft .textcontent").removeClass("textsize1 textsize2");
            jQuery("#StartpageBottomPortletAreaLeft .textcontent").addClass("textsize3");
        }
        if( !jQuery("#maincontent .textcontent").hasClass("textsize1") && 
            !jQuery("#maincontent .textcontent").hasClass("textsize2") && 
            !jQuery("#maincontent .textcontent").hasClass("textsize3")) {
                jQuery("#maincontent .textcontent").addClass("textsize1");
        } else if(jQuery("#maincontent .textcontent").hasClass("textsize1")) {
            jQuery("#maincontent .textcontent").removeClass("textsize1 textsize3");
            jQuery("#maincontent .textcontent").addClass("textsize2");
        } else if(jQuery("#maincontent .textcontent").hasClass("textsize2")) {
            jQuery("#maincontent .textcontent").removeClass("textsize1 textsize2");
            jQuery("#maincontent .textcontent").addClass("textsize3");
        }
    });
    
    jQuery("#StyleLess").click(function() {
        if(jQuery("#StartpageBottomPortletAreaLeft .textcontent").hasClass("textsize3")) {
            jQuery("#StartpageBottomPortletAreaLeft .textcontent").removeClass("textsize1 textsize3");
            jQuery("#StartpageBottomPortletAreaLeft .textcontent").addClass("textsize2");
        } else if(jQuery("#StartpageBottomPortletAreaLeft .textcontent").hasClass("textsize2")) {
            jQuery("#StartpageBottomPortletAreaLeft .textcontent").removeClass("textsize2 textsize3");
            jQuery("#StartpageBottomPortletAreaLeft .textcontent").addClass("textsize1");
        } else {
            jQuery("#StartpageBottomPortletAreaLeft .textcontent").removeClass("textsize1 textsize2 textsize3");
        }
        if(jQuery("#maincontent .textcontent").hasClass("textsize3")) {
            jQuery("#maincontent .textcontent").removeClass("textsize1 textsize3");
            jQuery("#maincontent .textcontent").addClass("textsize2");
        } else if(jQuery("#maincontent .textcontent").hasClass("textsize2")) {
            jQuery("#maincontent .textcontent").removeClass("textsize2 textsize3");
            jQuery("#maincontent .textcontent").addClass("textsize1");
        } else {
            jQuery("#maincontent .textcontent").removeClass("textsize1 textsize2 textsize3");
        }
    });
 var parseUri={
	options: {
		strictMode: true,
		key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
		q: {
			name: "queryKey",
			parser: /(?:^|&)([^&=]*)=?([^&]*)/g
		},
		parser: {
			strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
			loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
		}
	},
	parseUri: function(value) {
		var o=parseUri.options,
			m=o.parser[o.strictMode?"strict":"loose"].exec(value),
			uri={},
			i=14;
		while(i--) {
			uri[o.key[i]]=m[i]||"";
		}
		uri[o.q.name]={};
		uri[o.key[12]].replace(o.q.parser,function($0,$1,$2) {
			if($1) {
				uri[o.q.name][$1]=$2;
			}
		});
		return uri;
	}
};   
    

    jQuery("a[href^='http']")
        .filter(function (index) {
               var href=$(this).attr("href");
			if(href) {
				var hrefHost=parseUri.parseUri(href).host;
				if(hrefHost!==""&&hrefHost!=document.location.hostname&&hrefHost!="www."+document.location.hostname&&hrefHost!=document.location.hostname.replace("www.","")) {
					$(this).attr("rel","external");
					return true;
				}
			}
            return false;
        })
        .click(function () {
            this.target = "_blank";
    });

    jQuery.fn.IsExternalLink =  function(href, rel){
		if(document.location.pathname != null){
			var host = document.location.href.substring(0, document.location.href.indexOf(document.location.pathname));
			if(href.indexOf(host) == 0){
				return false;
			}
		}
		var s = href.substring(0, 1);
		return (rel == "external" || (s != "/" && s != "#"));
	}

    
    jQuery("a[href^='http']")
        .filter(function (index) {
                var globalCorporateArr = ContentHandler.GlobalSites.split(',');   
                for(var i=0;i<globalCorporateArr.length;i++){
                    if(jQuery(this).attr("href").indexOf(globalCorporateArr[i]) > -1){
                        return true;
                    } 
                }
            return false;
        })
        .click(function () {
            if(ContentHandler.ExitAlertMessageCorporate != ""){
                if (!confirm(ContentHandler.ExitAlertMessageCorporate)) {
                    return false;
                } else {
                    //alert("External corporate");
                    href = $(this).attr("href");
                    $(this).gaTrack({category: "Page activities", action: "Leave site", label: href , value: 1, triggerClick: true});
                }
            }else{
                href = $(this).attr("href");
                $(this).gaTrack({category: "Page activities", action: "Leave site", label: href , value: 1, triggerClick: true});
            }
    });
    
    jQuery("a[href^='http']")
        .filter(function (index) {
            var localCorporateArr = ContentHandler.LocalSites.split(',');   
            for(var i=0;i<localCorporateArr.length;i++){
                if(jQuery(this).attr("href").indexOf(localCorporateArr[i]) > -1){
                    return true;
                } 
            }
            return false;
        })
        .click(function () {
            if(ContentHandler.ExitAlertMessageCorporateLocal != ""){
                if(ContentHandler.LocalSites != ""){
                    if (!confirm(ContentHandler.ExitAlertMessageCorporateLocal)) {
                        return false;
                    } else {
                        //alert("External corporate local");
                          href = $(this).attr("href");
                        $(this).gaTrack({category: "Page activities", action: "Leave site", label: href , value: 1, triggerClick: true});
                    }
                }else{
                      href = $(this).attr("href");
                    $(this).gaTrack({category: "Page activities", action: "Leave site", label: href , value: 1, triggerClick: true});
                }
            }else{
                  href = $(this).attr("href");
                $(this).gaTrack({category: "Page activities", action: "Leave site", label: href , value: 1, triggerClick: true});
            }
    });
    
    jQuery("a[href^='http']")
        .filter(function (index) {
            if(ContentHandler.GlobalSites != "" || ContentHandler.LocalSites != ""){
                var allCorporateStr = "";
                if(ContentHandler.GlobalSites != ""){
                    allCorporateStr += ContentHandler.GlobalSites;
                }
                if(ContentHandler.LocalSites != ""){
                    if(allCorporateStr != ""){
                        allCorporateStr += ",";
                    }
                    allCorporateStr += ContentHandler.LocalSites;
                }
                
                var allCorporateArr = allCorporateStr.split(',');   
                if(allCorporateArr != ""){
                    for(var i=0;i<allCorporateArr.length;i++){
                        if(jQuery(this).attr("href").indexOf(allCorporateArr[i]) > -1){
                            return false;
                        } 
                    }
                }
            }
            return true;
        })
        .click(function () {
            if(ContentHandler.ExitAlertMessageGeneral != ""){
                if (!confirm(ContentHandler.ExitAlertMessageGeneral)) {
                    return false;
                } else {
                    //alert("External");
                      href = $(this).attr("href");
                    $(this).gaTrack({category: "Page activities", action: "Leave site", label: href , value: 1, triggerClick: true});
                }
            } else {
                  href = $(this).attr("href");
                $(this).gaTrack({category: "Page activities", action: "Leave site", label: href , value: 1, triggerClick: true});
            }
    });
    
    if (jQuery.browser.msie) {
		jQuery("a[href$=xls]").addClass("xls");
		jQuery("a[href$=doc]").addClass("doc");
		jQuery("a[href$=ppt]").addClass("ppt");
		jQuery("a[href$=pdf]").addClass("pdf");			
	}   

	// Tracking
	// use guerystring "gaMode=test" to see objects with events
	if(typeof(pageTracker) !== 'undefined'){	
	    jQuery(".documentlist a, .orderportlet a.link").trackDocumentDownload();
	    jQuery(".print").trackPrintPage();
	    jQuery("#StyleLarger").trackTextLarger();
	    jQuery("#StyleLess").trackTextSmaller();
	    jQuery(".tipafriend button").trackTipAFriend();
	    jQuery(".simplequestionform").trackQuestionForm();
	    jQuery(".contactform").trackContactForm();
	    jQuery(".orderportlet.order-sent").trackOrders();
    }
});

jQuery.fn.trackTextLarger =  function(){	    
    obj = $(this);
    obj.each(function(){
        $(this).gaTrack({category: "Page activities", action: "Text size larger", label: "Larger", value: 1});
    });
};
jQuery.fn.trackTextSmaller =  function(){	    
    obj = $(this);
    obj.each(function(){
        $(this).gaTrack({category: "Page activities", action: "Text size smaller", label: "Smaller", value: 1});
    });
};
jQuery.fn.trackPrintPage =  function(){
    obj = $(this);
    obj.each(function(){
        var title = document.title;
        $(this).gaTrack({category: "Page activities", action: "Print", label: title, value: 1});
    });
};
jQuery.fn.trackTipAFriend =  function(){	    
    obj = $(this);
    obj.each(function(){
        $(this).gaTrack({category: "Portlet functions", action: "Tip a friend", value: 1});
    });
}
jQuery.fn.trackQuestionForm =  function(){	    
    obj = $(this);
    obj.each(function(){
        var name = $(this).find("h1").text();
        $(this).find("button").gaTrack({category: "Portlet functions", action: "Question form", label: name, value: 1});
    });
};
jQuery.fn.trackContactForm =  function(){	    
    obj = $(this);
    obj.each(function(){
        var name = $(this).find("h1").text();
        $(this).find("button").gaTrack({category: "Portlet functions", action: "Contact form", label: name, value: 1});
    });
};
jQuery.fn.trackDocumentDownload =  function(){	    
    obj = $(this);
    obj.each(function(){
        var filename = gaGetFileName($(this).attr("href"));
        $(this).gaTrack({category: "Documents", action: "Download", label: filename, value: 1});
    });
};
jQuery.fn.trackOrders =  function(){	    
    obj = $(this);
    if(obj.size() > 0){
        obj.find(".orderitems li").each(function(){
            var amount = parseInt($(this).find("span.amount").text(),10);
            var productText = $(this).text();
            productText = productText.substr(productText.indexOf("st")+2,productText.length).replace(/^\s+|\s+$/g, '');
            $(this).gaTrack({category: "Downloads", action: "Order", label: productText, value: amount, triggerClick: true});
        });
    }
    
};