/* Var: Check for Modern Browser
---------------------------------------------------------- */
var W3CDOM = (document.createElement && document.getElementsByTagName);


/* Popup Window
---------------------------------------------------------- */
function popWin(theURL,winName,features) { 
  window.open(theURL,winName,features);
}


/* Initialize Functions on window.onload Event
---------------------------------------------------------- */
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

/* Relative Maturity Map Rollovers
   Used On: Products > Corn (and a sub page of)
---------------------------------------------------------- */
function relMaturityMapRollOvers() {
	if (!W3CDOM) return;

	var mapDiv = document.getElementById("rel_maturity_map");
	
	if (!mapDiv) return;
	
	var oLIs = mapDiv.getElementsByTagName("LI");
	var oImg = mapDiv.getElementsByTagName("IMG")[0];
	var oImgSrc = oImg.src;
	
  	for (var i=0; i < oLIs.length; i++) {
		
		var oLi = oLIs[i];
		var	rollSrc = oImgSrc.replace("rm_map", oLi.id);
		
		//preload image
    	oImg.oversrc_img = new Image();
    	oImg.oversrc_img.src = rollSrc;
		oImg.id = "map";
		
		// set event handlers
		oLi.onmouseover = new Function('document.getElementById("map").src="' + rollSrc + '";');
    	oLi.onmouseout = new Function('document.getElementById("map").src="' + oImgSrc + '";');
  	}
}
addLoadEvent(relMaturityMapRollOvers);


/* Replace URLs on /web/traits/corn.jsp and /web/traits/soybean.jsp
   Those pages are using the same body files as /web/products/corn/traits.jsp and    
   /web/products/soybean/traits.jsp. Need to replace body file internal links so we 
   stay in /web/traits instead of jumping to /web/products section.
---------------------------------------------------------- */
function traitsReplaceUrls() {
	var curPg = window.location.pathname;
	var traitsCornPg = curPg == "/web/traits/corn.jsp";
	var traitsSoybeanPg = curPg =="/web/traits/soybean.jsp";
	
	if (!traitsCornPg && !traitsSoybeanPg) return; 
		
	var oDiv = document.getElementById("content_wrapper");
	var oAs = oDiv.getElementsByTagName("a");
		
	for (i=0; i < oAs.length; i++) {
		var oA = oAs[i];
		if (traitsCornPg) {
			oA.href = oA.href.replace("/web/products/corn/traits/", "/web/traits/corn/");
		} else {
			oA.href = oA.href.replace("/web/products/soybean/traits/", "/web/traits/soybean/");
		}	
	}
}
addLoadEvent(traitsReplaceUrls);


/* Add class and rel "external" to all links going off-site
   Only add class to external links that aren't already
   marked as so.
---------------------------------------------------------- */
function external_links() {
	var server, oAs, aHref, aClass, isExtLink;
	server = window.location.host;
	oAs = document.getElementsByTagName("a");
	
	for (i=0; i < oAs.length; i++) {
		aHref = oAs[i].href;
		aClass = oAs[i].className;
		
		// if named anchor, JS call, internal link, .pdf, or .xls stop and go to next item
		if (!aHref || aHref.indexOf("javascript:") != -1 || aHref.indexOf(server) != -1 || aHref.indexOf(".pdf") != -1 || aHref.indexOf(".xls") != -1) continue;
		
		// if external link & already has external class, stop and go to next item 
		if (aHref.indexOf(server) == -1 && aClass.indexOf("external") != -1) continue;
		
		// add class, making sure not to ovewrite any existing value
		oAs[i].className += " external";
	}	
}
addLoadEvent(external_links);


/* Homepage Media Tabs
   If a cookie exists, show the related asgrow or dekalb tab.
   Otherwise, show the Highlights tab.
---------------------------------------------------------- */

function homePageMediaTabs() {
	if (!W3CDOM) return;
	var tabs = document.getElementById("rich_media_navigation");
	
	if (!tabs) return;
	
	var crop;
	if (crop == null || crop == "") {
		show_div("rm_highlights");
		return;
	}

	crop = crop.toLowerCase();

	if (crop == "corn" || crop == "silage") {
		show_div("rm_dekalb");
	} else if (crop == "soybean") {
		show_div("rm_asgrow");
	} else {
		show_div("rm_highlights");
	}
}
addLoadEvent(homePageMediaTabs);

/* Greg's code for switching tabs in the video section of homepage
---------------------------------------------------------- */
function show_div(div_id) {
	  try {
		// hide all the divs content and turn off tabs
		document.getElementById('rm_highlights_content').style.display = 'none';
		document.getElementById('rm_asgrow_content').style.display = 'none';
		document.getElementById('rm_dekalb_content').style.display = 'none';
		document.getElementById('rm_featured_products_content').style.display = 'none';
		document.getElementById('rm_highlights').className = 'off';
		document.getElementById('rm_asgrow').className = 'off';
		document.getElementById('rm_dekalb').className = 'off';
		document.getElementById('rm_featured_products').className = 'off';
		// show the requested div and tab
		document.getElementById(div_id + '_content').style.display = 'block';
		document.getElementById(div_id).className = 'on';
	}
	catch(ex) {
		//Ignore error: since this function is called when any tab on nav toolbar is clicked.
		//Only home page has these divs so it throws a javascript error for all other pages
	}
}

/* Read Cookie
---------------------------------------------------------- */
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}