﻿function getMenu(menuLinkId, menuPanelId, submenuId, curPageLabel) {
    if(submenuId != ""){
        var arr = YAHOO.util.Dom.getElementsByClassName("submenuActive","div",menuPanelId);  
        for(var i =0; i < arr.length; i++) {
             arr[i].className = "submenu";
        }
        YAHOO.util.Dom.get(submenuId).className = "submenuActive"
        arr = YAHOO.util.Dom.getElementsByClassName("menuActive","a",menuPanelId);  
        for(var i =0; i < arr.length; i++) {
             arr[i].className = "menu";
        }
        YAHOO.util.Dom.get(menuLinkId).className = "menuActive"
        arr = YAHOO.util.Dom.getElementsByClassName("submenuActive","a",menuPanelId);  
        for(var i =0; i < arr.length; i++) {
             arr[i].className = "submenu";
        }
    }
    getContent(curPageLabel);
}
function getSubMenu(submenuLinkId, submenuId, curPageLabel) {
    var arr = YAHOO.util.Dom.getElementsByClassName("submenuActive","a",submenuId);  
    for(var i =0; i < arr.length; i++) {
         arr[i].className = "submenu";
    }
    YAHOO.util.Dom.get(submenuLinkId).className = "submenuActive";
    getContent(curPageLabel);
}
function getContent(curPageLabel){
    clearPanels();
    showPrevNext(false);
    showColRight(false);
    showcolRightSwitchContainer(false);
    if(AjaxObjectRequest != undefined) {
       if(YAHOO.util.Connect.isCallInProgress(AjaxObjectRequest)){
          YAHOO.util.Connect.abort(AjaxObjectRequest)
       } 
    } 
    if(YAHOO.util.Dom.get("thumbContainer_" + curPageLabel) || YAHOO.util.Dom.get("mainTextRight_" + curPageLabel) || YAHOO.util.Dom.get("colTextRight_" + curPageLabel)|| YAHOO.util.Dom.get("colTextRightActive_" + curPageLabel)){
        currentLabel = curPageLabel;
        if(YAHOO.util.Dom.get("thumbContainer_" + curPageLabel)){
            YAHOO.util.Dom.get("thumbContainer_" + curPageLabel).className = "active";
            getFirstPic(curPageLabel);
            showPrevNext(true);
            YAHOO.util.Dom.get(thumbContainer).style.display = "block";
        }
        if(YAHOO.util.Dom.get("mainTextRight_" + curPageLabel)){
            YAHOO.util.Dom.get("mainTextRight_" + curPageLabel).className = "active";
        }
        if(YAHOO.util.Dom.get("colTextRight_" + curPageLabel)){
            YAHOO.util.Dom.get("colTextRight_" + curPageLabel).className = "active";
            showColRight(false);
            showcolRightSwitchContainer(true)
        }
        if(YAHOO.util.Dom.get("colTextRightActive_" + curPageLabel)){
            YAHOO.util.Dom.get("colTextRight_" + curPageLabel).className = "active";
            showColRight(true);
            showcolRightSwitchContainer(true)
        }
    } else {
        var callback =
        {
            success:AjaxObject.handleSuccess,
            failure:AjaxObject.handleFailure,
            argument: curPageLabel,
            scope: AjaxObject
        };
        AjaxObjectRequest = AjaxObject.startRequest(callback, curPageLabel);
    }
}
function clearPanels(){
    //clears the imagesPanel
    var arr = YAHOO.util.Dom.getElementsByClassName("active","div");  
    for(var i =0; i < arr.length; i++) {
         arr[i].className = "hidden";
    }
    YAHOO.util.Dom.get(thumbContainer).style.display = "none";
    // clears the legend panel
    arr = YAHOO.util.Dom.getElementsByClassName("legendActive","div",legendContainer);  
    for(var i =0; i < arr.length; i++) {
         arr[i].className = "legend";
    }
}
function showPrevNext(bool) {
    if(bool){
        YAHOO.util.Dom.get(nextprevContainer).style.display = 'block';
    } else {
        YAHOO.util.Dom.get(nextprevContainer).style.display = 'none';
    } 
}
function showcolRightSwitchContainer(bool) {
    if(bool){
        YAHOO.util.Dom.get(colRightSwitchContainer).style.display = 'block';        
    } else {
        YAHOO.util.Dom.get(colRightSwitchContainer).style.display = 'none';
    } 
}
function showColRight(bool) {
    if(bool){
        YAHOO.util.Dom.get(colTextRight).style.display = 'block';
        YAHOO.util.Dom.get(mainTextRight).style.left = "213px";
        YAHOO.util.Dom.get("showColRightLink").className = "languageLinkactive";
        YAHOO.util.Dom.get("hideColRightLink").className = "";
        
    } else {
        YAHOO.util.Dom.get(colTextRight).style.display = 'none';
        YAHOO.util.Dom.get(mainTextRight).style.left = "0";
        YAHOO.util.Dom.get("showColRightLink").className = "";
        YAHOO.util.Dom.get("hideColRightLink").className = "languageLinkactive";
    } 
}
function getFirstPic(label) {
    currentImagePos = 0;
    currentImageMax = eval("imagesArray_"+label+".length - 1");
    getImage(eval("imagesArray_"+label), currentImagePos, "fullimage_"+label, "thumb_"+label+"_"+(currentImagePos +1)) ;
}
function getNextPic(label) {
    currentImagePos = (currentImagePos +1) % (currentImageMax+1);
    getImage(eval("imagesArray_"+label), currentImagePos, "fullimage_"+label, "thumb_"+label+"_"+(currentImagePos +1));
}
function getPrevPic(label) {
    currentImagePos = (currentImagePos - 1);
    if(currentImagePos < 0) {
    currentImagePos = 0;
    }
    getImage(eval("imagesArray_"+label), currentImagePos, "fullimage_"+label, "thumb_"+label+"_"+(currentImagePos +1));
}

function getImage(array, position, container, linkThumbID) {
    var imgsrc = array[position];
    currentImagePos = position;
    YAHOO.util.Dom.get(container).innerHTML = "<img src='serverScripts/ReturnImage.aspx?src=" +imgsrc+"&w="+ getScreenWitdh() + "&h=" + getScreenHeight() +"' />";
    var arr = YAHOO.util.Dom.getElementsByClassName("thumbActive","a",thumbContainer);  
    for(var i =0; i < arr.length; i++) {
         arr[i].className = "thumb";
    }
    YAHOO.util.Dom.get(linkThumbID).className = "thumbActive";
    var arr = YAHOO.util.Dom.getElementsByClassName("legendActive","div",legendContainer);  
    for(var i =0; i < arr.length; i++) {
         arr[i].className = "legend";
    }
    if(YAHOO.util.Dom.get(linkThumbID + "_legend")){
     YAHOO.util.Dom.get(linkThumbID + "_legend").className = "legendActive"
    } 
}
var currentLabel = "";
var currentImagePos = 0;
var currentImageMax = 0;
var AjaxObjectRequest;
var AjaxObject = {

	handleSuccess:function(o){
		this.processResult(o);
	},

	handleFailure:function(o){
		alert("ko")
	},

	processResult:function(o){
	var label = o.argument;
	var nodeList = o.responseXML.documentElement.getElementsByTagName('div');
	
		for(var i = 0; i < nodeList.length; i++){
		    switch(nodeList[i].getAttribute("class")){
		        case "imagesThumb": 
		            nodeList[i].setAttribute("class", "active")           
		            var newNode = nodeList[i];
		            var importedNode = document._importNode(newNode,true);
		            YAHOO.util.Dom.get(thumbContainer).appendChild(importedNode);
		            currentImagePos = 0;
		            currentImageMax = eval("imagesArray_"+label+".length - 1");
		            if (!document.importNode){
		                YAHOO.util.Dom.get(thumbContainer).innerHTML = YAHOO.util.Dom.get(thumbContainer).innerHTML;
		            } 
		            currentLabel = label;
		            showPrevNext(true);
		            YAHOO.util.Dom.get(thumbContainer).style.display = "block";
		        break;
		        case "imagesLegend":
		            nodeList[i].setAttribute("class", "active")           
		            var newNode = nodeList[i];
		            var importedNode = document._importNode(newNode,true);
		            YAHOO.util.Dom.get(legendContainer).appendChild(importedNode);
		            if (!document.importNode){
		                YAHOO.util.Dom.get(legendContainer).innerHTML = YAHOO.util.Dom.get(legendContainer).innerHTML;
		            } 
		            currentLabel = label;
		            showPrevNext(true);
		            linkThumbID =  "thumb_" + label + "_1_legend"
                    if(YAHOO.util.Dom.get(linkThumbID)){
                     YAHOO.util.Dom.get(linkThumbID).className = "legendActive"
                    } 
		        break;
		        case "mainTextRight": 
		            nodeList[i].setAttribute("class", "active")           
		            var newNode = nodeList[i];
		            var importedNode = document._importNode(newNode,true);
		            YAHOO.util.Dom.get(mainTextRight).appendChild(importedNode);
		            if (!document.importNode){
		                YAHOO.util.Dom.get(mainTextRight).innerHTML = YAHOO.util.Dom.get(mainTextRight).innerHTML;
		            }
		            YAHOO.util.Dom.get(mainTextRight).innerHTML.replace("&%2338;","&")
		            YAHOO.util.Dom.get(mainTextRight).innerHTML.replace("&#38;","&")
		            
		        break;
		        case "colTextRight": 
		            nodeList[i].setAttribute("class", "active")           
		            var newNode = nodeList[i];
		            var importedNode = document._importNode(newNode,true);
		            YAHOO.util.Dom.get(colTextRight).appendChild(importedNode);
		            if (!document.importNode){
		                YAHOO.util.Dom.get(colTextRight).innerHTML = YAHOO.util.Dom.get(colTextRight).innerHTML;
		            } 
		            showColRight(false)
		            showcolRightSwitchContainer(true)
		        break;
		        case "colTextRightActive":
		            nodeList[i].setAttribute("class", "active")           
		            var newNode = nodeList[i];
		            var importedNode = document._importNode(newNode,true);
		            YAHOO.util.Dom.get(colTextRight).appendChild(importedNode);
		            if (!document.importNode){
		                YAHOO.util.Dom.get(colTextRight).innerHTML = YAHOO.util.Dom.get(colTextRight).innerHTML;
		            } 
		            showColRight(true)
		            showcolRightSwitchContainer(true)
		        break;
		    }
		}
	},

	startRequest:function(callback,label) {
	   return YAHOO.util.Connect.asyncRequest('POST', 'serverScripts/ReturnPage.aspx', callback, "label="+label+"&w="+ getScreenWitdh() + "&h=" + getScreenHeight());
	}

};
function getScreenWitdh () {
    return (YAHOO.util.Dom.getClientWidth() - 433);
}
function getScreenHeight () {
    return (YAHOO.util.Dom.getClientHeight() - 66);
}

/* is this stuff defined? */
if (!document.ELEMENT_NODE) {
	document.ELEMENT_NODE = 1;
	document.ATTRIBUTE_NODE = 2;
	document.TEXT_NODE = 3;
	document.CDATA_SECTION_NODE = 4;
	document.ENTITY_REFERENCE_NODE = 5;
	document.ENTITY_NODE = 6;
	document.PROCESSING_INSTRUCTION_NODE = 7;
	document.COMMENT_NODE = 8;
	document.DOCUMENT_NODE = 9;
	document.DOCUMENT_TYPE_NODE = 10;
	document.DOCUMENT_FRAGMENT_NODE = 11;
	document.NOTATION_NODE = 12;
}

document._importNode = function(node, allChildren) {
	/* find the node type to import */
	switch (node.nodeType) {
		case document.ELEMENT_NODE:
			/* create a new element */
			var newNode = document.createElement(node.nodeName);
			/* does the node have any attributes to add? */
			if (node.attributes && node.attributes.length > 0)
				/* add all of the attributes */
				for (var i = 0, il = node.attributes.length; i < il;)
					newNode.setAttribute(node.attributes[i].nodeName, node.getAttribute(node.attributes[i++].nodeName));
			/* are we going after children too, and does the node have any? */
			if (allChildren && node.childNodes && node.childNodes.length > 0)
				/* recursively get all of the child nodes */
				for (var i = 0, il = node.childNodes.length; i < il;)
					newNode.appendChild(document._importNode(node.childNodes[i++], allChildren));
			return newNode;
			break;
		case document.TEXT_NODE:
		case document.CDATA_SECTION_NODE:
			return document.createTextNode(node.nodeValue);
			break;
        case document.COMMENT_NODE:
            return document.createTextNode("<!-- " + node.nodeValue + " -->");
            break;
	}
};	