// Public_Site_Scripts.js
var language_section;
var xmlDOC;
var browser = (navigator.appName == "Netscape") ? "Netscape" : "IE";
var source;
var xmlSource;

function initialize_site_layout(){
	if(browser == "Netscape"){
		document.getElementById("main_menu_section").style.width = "780px";
		document.getElementById("contentFrameID").style.width = "780px";
		document.body.style.overflow = "scroll";
	}

	var copy_right_section = document.getElementById("copy_right_section");
	var currentYear = getCurrentYear();
	if(document.getElementById("languagePreference").innerHTML == "ENGLISH"){
		language_section = "french_content";
		copy_right_section.innerHTML = "Droits d'auteur&copy;" + currentYear + "&nbsp;&nbsp;Johnson Inc. Tous droits r&#233;serv&#233;s";
	}else{
		language_section = "french_content";
		copy_right_section.innerHTML = "Droits d'auteur&copy;" + currentYear + "&nbsp;&nbsp;Johnson Inc. Tous droits r&#233;serv&#233;s";
	}
	
	load_content_window("PWS_Intro.jsp");
}

function loadURL(e, templatePage, pageId){
	var elem = (browser == "Netscape") ? e.target : event.srcElement;
	if(elem.templatePage && elem.pageId){
		templatePage = elem.templatePage;
		pageId = elem.pageId;
		document.getElementById("drop_down_menu").style.display = "none";
		var cellElement = document.getElementById("drop_down_menu").triggerCell;
		document.getElementById(cellElement).className = "menuOption_off";
	}
	if(elem.className == "menuOption_on"){
		elem.className = "menuOption_off";
	}
	load_content_window(templatePage +"?index=" + pageId);
	return(false);
}

function load_content_window(url){
	var frame = document.getElementById("contentFrameID");
	frame.src = "./PWS_Site/" + language_section + "/" + url;
	return(false);
}

function displayDropDownMenu(e, pageId){
	var elem = (browser == "Netscape") ? e.target : event.srcElement;
	var oRow = elem.parentNode;
	for(i = 0; i < oRow.cells.length; i++){
		oRow.cells[i].className = "menuOption_off";
	}
	elem.className = "menuOption_on";
	if(document.getElementById("languagePreference").innerHTML == "ENGLISH"){
		loadXMLDocument("./PWS_Site/XML/menu_format_fr.xml");
	}else{
		loadXMLDocument("./PWS_Site/XML/menu_format_fr.xml");
	}
	var nodes;
	var captionArray = new Array();
	var templateArray = new Array();
	var pageIdArray = new Array();
	var counter = 0;

	if(browser == "Netscape"){ 
		nodes = executeXPathExpression("//menu-item[@parent-menu='" + pageId + "']");
		while(node = nodes.iterateNext()){
			captionArray[counter] = node.getElementsByTagName("caption")[0].childNodes[0].nodeValue;
			templateArray[counter] = node.getElementsByTagName("template-page")[0].childNodes[0].nodeValue;
			pageIdArray[counter] = node.getElementsByTagName("page-id")[0].childNodes[0].nodeValue;
			counter++;
		}
	}else{
		nodes = xmlDOC.selectNodes("//menu-items/menu-item[@parent-menu='" + pageId + "']");
		for(i = 0; i < nodes.length; i++){
			captionArray[counter] = nodes.item(i).getElementsByTagName("caption")[0].childNodes[0].nodeValue;
			templateArray[counter] = nodes.item(i).getElementsByTagName("template-page")[0].childNodes[0].nodeValue;
			pageIdArray[counter] = nodes.item(i).getElementsByTagName("page-id")[0].childNodes[0].nodeValue;
			counter++;
		}
	}
	if(counter > 0){
		var dropdown_section = document.getElementById("drop_down_menu");
		for( i = dropdown_section.childNodes.length - 1; i >= 0; i--){
			dropdown_section.removeChild(dropdown_section.childNodes[i]);
		}
		dropdown_section.triggerCell = elem.id;
		var table = document.createElement("table");
		table.id = "subOptionTable";
		dropdown_section.appendChild(table);
		for(i = 0; i < captionArray.length; i++){
			var row = table.insertRow(table.rows.length);
			var cell = row.insertCell(row.cells.length);
			cell.id = "subOption" + i;
			cell.templatePage = templateArray[i];
			cell.pageId = pageIdArray[i]
			cell.onclick = loadURL;
			cell.className = "subMenuItem_off";	
			cell.onmouseover = subMenuItemOnOFF;
			cell.onmouseout = subMenuItemOnOFF;	
			var textNode = document.createTextNode(captionArray[i]);
			cell.appendChild(textNode);
		}
		var mostLeftPosition = elem.parentNode.parentNode.parentNode.parentNode.offsetLeft;
		dropdown_section.style.left = (mostLeftPosition + elem.offsetLeft) + "px";
		dropdown_section.style.backgroundColor = "#E6DEC8";
		dropdown_section.style.zIndex = "99";
		dropdown_section.style.position = "absolute";
		dropdown_section.style.display = "block";
	}
}

function subMenuItemOnOFF(e){
	var elem = (browser == "Netscape") ? e.target : event.srcElement;
	if(elem.className == 'subMenuItem_off'){
		elem.className = 'subMenuItem_on';
	}else{
		elem.className = 'subMenuItem_off';
	}
}
function sideMenuItemOnOFF(elem){
	//var elem = (browser == "Netscape") ? e.target : event.srcElement;
	if(elem.className == 'sideMenuCaption_off'){
		elem.className = 'sideMenuCaption_on';
	}else{
		elem.className = 'sideMenuCaption_off';
	}
}

function hideDropDownMenu(e){
	var elem = (browser == "Netscape") ? e.target : event.srcElement;
	var drop_down_menu = document.getElementById("drop_down_menu");
	if(drop_down_menu.style.display == "block"){
		if(elem.id == "contentFrameID" || elem.id == "" || elem.id == null){
			drop_down_menu.style.display = "none";
			var cellElement = document.getElementById(drop_down_menu.triggerCell);
			cellElement.className = "menuOption_off";
		}
	}
}

function loadXMLDocument(url){
	if(window.ActiveXObject){
		xmlDOC = new ActiveXObject("Microsoft.XMLDOM");
		xmlDOC.async="false"; 
		xmlDOC.onreadystatechange = verify;
		xmlDOC.load(url);
	}else{	
		xmlSource = document.implementation.createDocument("", "", null);
		xmlSource.async = false;
		xmlSource.onreadystatechange = verify;
		xmlSource.load(url);
		xmlDOC = xmlSource.getElementsByTagName("menu-items");
 	}
}

function verify(){
	if(xmlDOC.readyState != 4){
		return(false);
	}
}

function executeXPathExpression(queryText){
	try{
		source = document.implementation.createDocument("","",null);
		source.async = false;
		source.onreadystatechange = verifySource;
		var node = document.importNode(xmlSource.documentElement, true);
		var nodes = document.evaluate(queryText, node, null, XPathResult.ANY_TYPE, null);
		return(nodes);
	}catch(e){
		alert(e);
	}
}

function verifySource(){
	if(source.readyState != 4){
		return(false);
	}
}

function changeLanguage(e){
	var elem = (browser == "Netscape") ? e.target : event.srcElement;
	if(elem.innerHTML == "ENGLISH"){
		language_section = "english_content";
		window.location = "index.jsp";
	}else{
		language_section = "french_content";
		window.location = "index_fr.jsp";
	}
}

function getCurrentYear(){
	var oDate = new Date();
	return(oDate.getFullYear());
}