//<!-- ADD NOTES AS NECESSARY
var isinferior = (navigator.appName.indexOf('Microsoft') >= 0) && (parseFloat(navigator.appVersion.substring(navigator.appVersion.indexOf('MSIE')+5)) < 7);

function joCorpBrandFooter(argArray) {

	var scheme = (argArray['scheme']) ? argArray['scheme'] : 'dark';//sets default to dark
	//consider using switch statement
	var domainPath = (argArray['loadAssetsFrom'] != 'beta') ? 'http://www.johnsonoutdoors.com/jocorpbrandfooter/' : 'http://beta.johnsonoutdoors.com/jocorpbrandfooter/';
	//var domainPath = 'http://test.johnsonoutdoors.com/jocorpbrandfooter/'; //comment-uncomment this line to pull from local work environment
	
	//accommodate light vs dark schemes
	var imgPath = domainPath+'images/';
	var schemePath = imgPath+scheme+'/';
	var bgPath = imgPath+'bg/';
	
	//check for bgcolor argument
	var bgcolor = (argArray['bgcolor']) ? argArray['bgcolor'] : '' ;

	var menuNav = new Array();
	var brands = new Array();
	var footerImg = new Array();
	var navHeight = 23;
	
	// currently using associative array index identical to the directory name to be used on johnsonoutoors.com/[]
	menuNav['camping']  = {'navWidth': 79, 'contentWidth': 195};
	brands['camping'] = {'Eureka! (r) Tents':'http://www.eurekatent.com/', 'Tech4O(tm) Instruments':'http://www.tech4o.com/', 'Silva (r) Compasses':'http://www.silvacompass.com/'};
	
	menuNav['diving']  = {'navWidth':64, 'contentWidth': 221};
	brands['diving'] = {'SCUBAPRO (r) Dive Equipment':'http://www.scubapro.com/', 'UWATEC (r) Instruments':'http://www.uwatec.com/', 'Seemann(tm) Dive Equipment':'http://www.seemannsub.de/' };
	
	menuNav['fishing']  = {'navWidth':140, 'contentWidth': 339};
	brands['fishing'] = {'Old Town (r) Canoes & Kayaks':'http://www.oldtowncanoe.com/', 'Ocean Kayak(tm)':'http://www.oceankayak.com/', 'Extrasport (r) Gear':'http://www.extrasport.com/', 'Minn Kota (r) Motors':'http://www.minnkotamotors.com/', 'Humminbird (r) Sonar':'http://www.humminbird.com/', 'Cannon (r) Downriggers':'http://www.cannondownriggers.com/'};
	
	menuNav['paddling']  = {'navWidth':85, 'contentWidth': 329};
	brands['paddling'] = {'Lendal(tm) Paddles':'http://www.lendal.com/', 'Carlisle (r) Paddles':'http://www.carlislepaddles.com/', 'Extrasport (r) Gear':'http://www.extrasport.com/', 'Necky (r) Kayaks':'http://www.neckykayaks.com/', 'Ocean Kayak(tm)':'http://www.oceankayak.com/', 'Old Town (r) Canoes & Kayaks':'http://www.oldtowncanoe.com/'};

	this.write = function(parentID) {
	    this.parentID = parentID;
	    var parentEl = document.getElementById(parentID);

	    if (parentEl) {
	        parentEl.style.overflow = 'visible';
	        if (writeStylesheet(parentID)) {

	            var footerContainer = new element(parentEl, 'div', { 'id': 'joCorpBrandFooterContainer' });
	            var footerLogo = new element(footerContainer, 'a', { 'id': 'joCorpFooterLogo', 'href': 'http://www.johnsonoutdoors.com' }, 'Johnson Outdoors' + String.fromCharCode[174]);
	            var footerSpiritOfAdventure = new element(footerContainer, 'a', { 'id': 'joCorpFooterBPTW', 'href': 'http://www.johnsonoutdoors.com/pdf/OUTSIDE_BPTW_PRESS_RELEASE.pdf' }, 'Outside\'s Best Places to Work 2008');

	            var mainNav = new element(footerContainer, 'ul', { 'id': 'joCorpFooterMainNav' });

	            /* Added by Carter */
	            var footerLinks = new element(footerContainer, 'ul', { 'id': 'LinksUL', 'style':'margin:5px auto 0;' });
              footerLinks.style.marginTop = '5px';
	            var footerSafeHarbor = new element(footerLinks, 'li',{'id':'FooterLinksSH'});
	            var footerPrivacy = new element(footerLinks, 'li',{'id':'FooterLinksPrivacy'});
	            var footerTerms = new element(footerLinks, 'li',{'id':'FooterLinksTerms'});
	            var footerSafeHarborA = new element(footerSafeHarbor, 'a', {'href': 'http://www.johnsonoutdoors.com/corporate/contact/ECommPrivacyPolicy.aspx' });
	            footerSafeHarborA.innerHTML = 'eCommerce Policy';
	            var footerPrivacyA = new element(footerPrivacy, 'a', {'href': 'http://www.johnsonoutdoors.com/corporate/contact/PrivacyPolicy.aspx' });
	            footerPrivacyA.innerHTML = 'Privacy Policy';
	            var footerTermsA = new element(footerTerms, 'a', {'href': 'http://www.johnsonoutdoors.com/corporate/contact/Terms.aspx' });
	            footerTermsA.innerHTML = 'Terms of Service';
	            /* End added by Carter */

	            var navItem = new Array();
	            var navItemLink = new Array();
	            var navItemImg = new Array();
	            var brandContent = new Array();
	            var brandList = new Array();
	            var brandLinks = new Array();
	            var bgObjects = new Array();

	            //content generation
	            for (idName in menuNav) {

	                if (idName == 'camping' || idName == 'diving' || idName == 'fishing' || idName == 'paddling') {
	                    navItem[idName] = new element(mainNav, 'li', { 'id': idName });
	                    //preload bg
	                    var bgSrc = bgPath + idName + '.gif';
	                    bgObjects[idName] = new element(false, 'img', { 'src': bgSrc });
	                    //element creation
	                    brandContent[idName] = document.createElement('div');
	                    brandContent[idName].id = idName + 'Content';
	                    brandContent[idName].className = 'brandContent';
	                    brandContent[idName].style.background = 'transparent url(' + bgSrc + ') no-repeat right top';
	                    navItem[idName].appendChild(brandContent[idName]);
	                    //set left value for created div

	                    var diff = Math.ceil((menuNav[idName]['navWidth'] / 2) - (menuNav[idName]['contentWidth'] / 2));

	                    var diffValue = diff + 'px';

	                    brandContent[idName].style.marginLeft = diffValue;


	                    //create inner brand links
	                    var brandCount = 0;
	                    var brandMax = 3;
	                    brandLinks[idName] = new Array();
	                    for (textVal in brands[idName]) {

	                        if (brandCount == 0) { brandList[idName] = new element(brandContent[idName], 'p'); }
	                        var linkText = convertChars(textVal, { '(r)': 174, '(tm)': 8482 });
	                        brandLinks[idName][textVal] = new element(brandList[idName], 'a', { 'href': brands[idName][textVal], 'rel': 'external' }, linkText);
	                        if (brandCount < (brandMax - 1)) { brandCount++; } else { brandCount = 0; }
	                    };
	                    var navSrc = schemePath + 'nav/' + idName;
	                    navItemLink[idName] = new element(navItem[idName], 'a', { 'href': 'http://www.johnsonoutdoors.com/' + idName, 'className': 'topLevelNav', 'rel': 'external' });

	                    navItemImg[idName] = new element(navItemLink[idName], 'img', { 'id': idName + 'Nav', 'src': navSrc + '_up.gif', 'width': menuNav[idName]['navWidth'], 'height': navHeight });

	                    //preload rollover image

	                    var over = idName + '_over';
	                    navItemImg[over] = new element(false, 'img', { 'src': navSrc + '_over.gif' });
	                    //rollover effects
	                    navItem[idName].onmouseover = function() {
	                        //change img src
	                        thisImg = this.getElementsByTagName('img')[0];
	                        thisImg.src = thisImg.src.replace('_up', '_over');
	                        //show content
	                        var thisContent = this.getElementsByTagName('div')[0];
	                        thisContent.style.display = 'block';
	                    };
	                    navItem[idName].onmouseout = function() {
	                        //change img src back
	                        thisImg = this.getElementsByTagName('img')[0];
	                        thisImg.src = thisImg.src.replace('_over', '_up');
	                        //hide content
	                        var thisContent = this.getElementsByTagName('div')[0];
	                        thisContent.style.display = 'none';
	                    };

	                }
	            } //end content generation

	            //assign target="_blank" to each of the links in the footer
	            var footerLinks = footerContainer.getElementsByTagName('a');
	            for (var i = 0; i < footerLinks.length; i++) {
	                footerLinks[i].setAttribute('target', '_blank');
	            }

	        } else {
	            alert('Stylesheet could not be written');
	        }
	    } else {
	        return false;
	    }
	};
	
	//functions
	function writeStylesheet(containerID) {
		var cssPath = domainPath+'css/joCorpBrandFooter.css';
		var headEl = document.getElementsByTagName('head')[0];
		var ssLink = new element(headEl, 'link', {'href': cssPath, 'rel': 'stylesheet', 'type':'text/css'});

		//define stype definitions from menuNav array values
		var styleEl = new element(headEl, 'style', {'type': 'text/css'});
		var borderColor = (argArray['scheme'] =='dark') ? '464646' : '717171' ;
		var styleDefList = new String();
		
		//attempt master reset of color, padding and margin
		styleDefList += "#"+containerID+" #joCorpBrandFooterContainer * { margin:0px; padding:0px; color:#CECECE; }\n";
		//styleDefList += "#"+containerID+" #joCorpBrandFooterContainer ul { margin-right: 7.5%; }\n";
		styleDefList += "#"+containerID+" #joCorpBrandFooterContainer ul#joCorpFooterMainNav li { margin-right: 4px; }\n";
		styleDefList += "#"+containerID+" #joCorpBrandFooterContainer ul#joCorpFooterMainNav li div p { padding: 15px 10px 5px 0px; }\n";
		styleDefList += "#"+containerID+" #joCorpBrandFooterContainer ul#joCorpFooterMainNav li div p a { margin-bottom: 6px; font-family:arial; font-size:10px; line-height:12px;}\n";
		
		//add background color to element if declared
		if(bgcolor != ''){styleDefList += "#"+containerID+" #joCorpBrandFooterContainer  { background-color: "+bgcolor+"; }\n";}
		
		//set border color of top object
		styleDefList += "#joCorpBrandFooterContainer { border-color: #"+borderColor+"; }\n ";
		
		//set background for logo and spirit of adventure;
		styleDefList += "#joCorpBrandFooterContainer #joCorpFooterLogo { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=\""+schemePath+"jo_logo.png\"); cursor: pointer; cursor:hand;}\n";
		styleDefList += "#joCorpBrandFooterContainer>#joCorpFooterLogo { background:transparent url("+schemePath+"jo_logo.png) no-repeat scroll 0px 0px; }\n";
		styleDefList += "#joCorpBrandFooterContainer #joCorpFooterSpiritOfAdventure { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=\""+schemePath+"spirit_of_adventure.png\"); }\n";
		styleDefList += "#joCorpBrandFooterContainer>#joCorpFooterSpiritOfAdventure { background:transparent url("+schemePath+"spirit_of_adventure.png) no-repeat scroll right top; }\n";
		styleDefList += "#joCorpBrandFooterContainer #joCorpFooterBPTW { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=\""+schemePath+"bptw.png\"); }\n";
		styleDefList += "#joCorpBrandFooterContainer>#joCorpFooterBPTW { background:transparent url("+schemePath+"bptw.png) no-repeat scroll right top; }\n";
		
		//color specifics
		for(category in menuNav){
			styleDefList+= "#joCorpBrandFooterContainer li#"+category+" div.brandContent { width: " + menuNav[category]['contentWidth'] + "px; } \n";
		}
	  //attach definitions to STYLE element and attach to HEAD
		if (styleEl.styleSheet) {
			// IE
			styleEl.styleSheet.cssText = styleDefList;
		} else {
			// DOM standards-compliant browsers
		    var styleTextNode = document.createTextNode(styleDefList);
		    styleEl.appendChild(styleTextNode);
		}
		return true;
	};
	
	function element(parent, type, attribList, textValue){
		// This function is not currently used, as the prototype.js library used on the diving sites
		// breaks for/in loops.
		if(typeof type == 'string'){
			var element = document.createElement(type);
			if(attribList){
				for(var attribute in attribList){
					element.setAttribute(attribute, attribList[attribute]);
				}
			}
			if(textValue){
				var textNode = document.createTextNode(textValue);
				element.appendChild(textNode);
			}
			if(parent && ((typeof parent) == 'object')){
				parent.appendChild(element);
			} else {
				//alert('parent "'+parent + '" not defined or not an element.');
				//do not attach element to DOM
			}
			return element;
		} else {
			alert('type "'+type+'" is not a string.');
			return false;
		}
	};
	
	function convertChars(textString, charArray){
		var textConverted = String(textString);
		for(needle in charArray){
			if(textString.indexOf(needle) >= 0) {
				//alert(true);
				textConverted = textConverted.replace(needle, String.fromCharCode(charArray[needle]));
			}
		};
		return textConverted;
	};
	
	function disable(object){
		object.onclick = function() {
			return false;
		};
		return true;
	};
	

};

// END -->