String.prototype.trim = function(){
    return this.replace(/\s+/g, '');
}
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
(function(){
    var trueName = '';
    //Defaults
    var headerSubLogoHrefDefault = '#';
    var headerSubLogoTextDefault = 'heart.org';
    var headerSubLogoAltDefault = 'American Heart Association';
    var headerSubLogoImgDefault = '';
    var headerDonateCampaignCodeDefault = '99';
    var headerSearchPostUrlDefault = document.location.protocol+'//www.heart.org/HEARTORG/search/searchResults.jsp';
    var headerTypeDefault = 'aha';
	

	headerSubLogoHrefDefault = (typeof window.headerSubLogoHref !== 'undefined') ? headerSubLogoHref : headerSubLogoHrefDefault;
    headerTypeDefault = (typeof window.headerType !== 'undefined') ? headerType : headerTypeDefault;
    headerSubLogoAltDefault = (typeof window.headerSubLogoAlt !== 'undefined') ? headerSubLogoAlt : headerSubLogoAltDefault;
    headerSearchPostUrlDefault = (typeof window.headerSearchPostUrl !== 'undefined') ? headerSearchPostUrl : headerSearchPostUrlDefault;
    headerDonateCampaignCodeDefault = (typeof window.headerDonateCampaignCode !== 'undefined') ? headerDonateCampaignCode : headerDonateCampaignCodeDefault;
	
	var headerDonateUrlDefault = 'https://donate.americanheart.org/ecommerce/donation/donation_info.jsp?campaignId=' + headerDonateCampaignCodeDefault + '&site=' + headerSubLogoAltDefault.trim() + '_AHAAHEADER&itemId=prod20008';
	
	headerDonateUrlDefault = (typeof window.headerDonateUrl !== 'undefined') ? headerDonateUrl : headerDonateUrlDefault;
	
    if (typeof window.headerSubLogoImg !== 'undefined') {
	
		/* Following if logic is for backward compatibility for the new header design */
		var backwardCompatibilityList = new Array("handsonlycpr.org","sffc.heart.org","bethebeat.heart.org","www.heart.org/akronohheartball","www.heart360.org","hoop_map","jump_map","pt.wkhealth.com/pt/re/chf","heart360.org","honor.americanheart.org","outpatient.heart.org");
		//chjeck to see if we have a old header domain
		var domainFound = false;
		for (i=0; i < backwardCompatibilityList.length; i++) {

			if (location.href.indexOf(backwardCompatibilityList[i]) != -1) {
				var domainFound = true; // if above 'if' statement=true, then match found.
				
				var temp = headerSubLogoImg.split("/");
				headerSubLogoImg = temp.pop();
				headerSubLogoTextDefault = '';
				headerSubLogoImgDefault = '<a class="subLogo" href="' + headerSubLogoHrefDefault + '">' + '<img src="'+document.location.protocol+'//static.heart.org/images/logos/'+headerSubLogoImg + '" title="' + headerSubLogoAltDefault + '" alt="' + headerSubLogoAltDefault + '" border="0"/>' + headerSubLogoTextDefault + '</a>';
				
				break; // break loop
			} 
		}
		if (!domainFound) {
			headerSubLogoTextDefault = '';
			var parts = headerSubLogoImg.split('//');
			headerSubLogoImgDefault = '<a class="subLogo" href="' + headerSubLogoHrefDefault + '">' + '<img src="'+document.location.protocol+'//'+parts[1]+'" title="' + headerSubLogoAltDefault + '" alt="' + headerSubLogoAltDefault + '" border="0"/>' + headerSubLogoTextDefault + '</a>';				
		}
    } else if (typeof window.headerSubLogoText !== 'undefined') {
            headerSubLogoImgDefault = headerSubLogoText;
        }
    for (var i = 0; i < 16; i++) {
        trueName += String.fromCharCode(Math.floor(Math.random() * 26) + 97);
    }
    window[trueName] = {};
    var $ = window[trueName];
    $.f = function(){
        return {
            init: function(target){
                var theScripts = document.getElementsByTagName('SCRIPT');
                for (var i = 0; i < theScripts.length; i++) {
                    if (theScripts[i].src.match(target)) {
                        var styles = document.location.protocol + "//static.heart.org/ahaanywhere/css/headerv2_vend.css";
                        var newSS = document.createElement('link');
                        newSS.rel = 'stylesheet';
                        newSS.href = styles;
                        document.getElementsByTagName("head")[0].insertBefore(newSS, document.getElementsByTagName("head")[0].firstChild);
                        $.w = document.createElement('DIV');
                        $.w.id = 'headerWrapper';
                        $.searchBefore = '<div class="searchWrap clrit">';
                        $.searchAfter = '</div>';
                        $.searchFormDefault = '<form action="'+headerSearchPostUrlDefault+'" class="clrfix" name="suggestion_form" method="get" id="suggestion_form"><input value="ISO-8859-1" type="hidden" name="_dyncharset"></input><div class="input"><input type="text" onfocus="if (this.value == \'How Can We Help Your Heart?\') {this.value = \'\';}" onblur="ss_hide(\'\');if (this.value == \'\') {this.value = \'How Can We Help Your Heart?\';}" value="How Can We Help Your Heart?" class="inputhint ac_input" name="q" id="q" autocomplete="off"/></div><button type="submit" title="Search" id="hd-search-submit"><span class="round">Search</span></button><br/><br/><table cellpadding="0" border="0" cellspacing="0" class="ss-gac-m roundBottom" style="width: 460px; visibility:hidden;margin-top:-3px;" id="search_suggest"></table></form>';
                        $.searchFormDefault = (typeof window.headerSearchForm !== 'undefined') ? headerSearchForm : $.searchFormDefault;
                        $.search = $.searchBefore + $.searchFormDefault + $.searchAfter;
						$.turnOffSearch = 'headerDesign';
						
                        if (typeof window.hideSearch !== 'undefined') {
                            if (hideSearch) {
								// if explicitly set to true then turn off								
                                $.search = '';
								$.turnOffSearch = 'noSearchDesign';
                            }
                        } else {
							// default turn off search
							$.search = '';
							$.turnOffSearch = 'noSearchDesign';
						}
                        // this section generates the Donate button on the header
                        $.donateButton = '<span class="buttonDonate"><a href="'+headerDonateUrlDefault+'" class="displayDonate roundBottom">'+'Donar'+'</a></span>';
                        //Checks the variable passed by the vendor to see if we need to hide the donate button.
                        if (typeof window.hideDonate !== 'undefined') {
                            if (hideDonate) {
                                $.donateButton = '';
                            }
                        }
						$.langaugeBar = '<span class="linkLanguages"></span>';
                        //Checks the variable passed by the vendor to see if we need to hide the donate button.
                        if (typeof window.hideLanguageBar !== 'undefined') {
                            if (hideLanguageBar) {
								// if explicitly set to true then turn off
                                $.langaugeBar = '';
                            }
                        } else {
							//default turn off
							$.langaugeBar = '';
						}
						
						$.localInfo = '<span class="linkLocal"><a href="http://www.heart.org/HEARTORG/localization/chooseState.jsp">Informaci\363n local</a></span>';
						
						if (typeof window.hideLocalInfo !== 'undefined') {
						 if (hideLocalInfo) {
								// if explicitly set to true then turn off
                                $.localInfo = '';
                            }
                        } else {
							//default turn off
							$.localInfo = '';
						}

						$.careers = '<span class="linkCareers"><a href="http://www.heart.org/careers">Empleos</a></span>';
						
						if (typeof window.hideCareers !== 'undefined') {
						 if (hideCareers) {
								// if explicitly set to true then turn off
                                $.careers = '';
                            }
                        } else {
							//default turn off
							$.careers = '';
						}
						
                        $.w.innerHTML = '<div class="width960 '+$.turnOffSearch+'"><div class="leftRegion"><a class="'+headerTypeDefault+'Logo" href="http://www.heart.org"><span>American Heart Association</span></a>'+headerSubLogoImgDefault+'</div><div class="rightRegion">' + $.donateButton + '<div class="additionalHeaderLinks">' + $.localInfo + $.langaugeBar + $.careers+ '</div>' + $.search + '</div></div>';
                        $.a = {};
                        if (theScripts[i].innerHTML) {
                            $.a = $.f.parseJson(theScripts[i].innerHTML);
                        }
                        if ($.a.err) {
                            alert($.a.err);
                        }
                        theScripts[i].parentNode.insertBefore($.w, theScripts[i]);
                        theScripts[i].parentNode.removeChild(theScripts[i]);
                        break;
                    }
                }
            },
            parseJson: function(json){
                this.parseJson.data = json;
                if (typeof json !== 'string') {
                    return {
                        "err": "trying to parse a non-string JSON object"
                    };
                }
                try {
                    var f = Function(['var document,top,self,window,parent,Number,Date,Object,Function,', 'Array,String,Math,RegExp,Image,ActiveXObject;', 'return (', json.replace(/<\!--.+-->/gim, '').replace(/\bfunction\b/g, 'function�'), ');'].join(''));
                    return f();
                } 
                catch (e) {
                    return {
                        "err": "trouble parsing JSON object == " + e
                    };
                }
            }
        };
    }();
    var thisScript = /^https?:\/\/[^\/]*heart.org\/aha_header.js$/;
//    if (typeof window.addEventListener !== 'undefined') {
//        window.addEventListener('load', function(){
            $.f.init(thisScript);
//        }, false);
 //   }
//    else 
 //       if (typeof window.attachEvent !== 'undefined') {
 //           window.attachEvent('onload', function(){
      //          $.f.init(thisScript);
   //         });
    //    }
})();