
    var LNObject = new Array();                                                 // left navigation list in object
    var CorpElements = {
        LeftNavShowType : true,                                                 // true - show full 0 level tree; false - show only selected 0 level
        BreadCrumb      : new Array(), 
        BreadCrumbHref  : new Array(),
        NavigationLevel : 0,
        CurrentLNOpt    : false,						// true - the first level breadcrumb equals Markets; false - otherwise
        CurrenDomain    : document.domain,
        CurrenProtocol  : location.protocol,
        CurrenURL       : window.location.href,
        CurrenSearch    : window.location.search,
        CurrenIWOV      : (location.href.match(/iw\-mount\//)) ? true : false,
        CurrenStage     : (location.href.match(/\/[pre|stg|prd]\//)) ? true : false,
        OpenLeftNav     : function(obj) {
                            if (this.BreadCrumb.length) {
							//alert(this.BreadCrumb);
                                if (!this.LeftNavShowType) {
                                    this.ShowOrHiddenBar(obj);
                                }
                                for (var l=1; l<this.BreadCrumb.length; l++) {
                                    var CurrentElement = this.EntryChecking(obj,l); 
                                    //this.ShowAlert("node innerHTML in OpenLeftNav : "+CurrentElement.innerHTML);
									//alert(this.BreadCrumb.length)
                                    if (CurrentElement != "") {
                                    	if (CurrentElement.className == "collapse") {
                                    		CurrentElement.className = "expanded";
                                    	}
                                    
	                                    
                                        if (CurrentElement.childNodes || CurrentElement.childNodes.length > 0) { 
                                        
                                            for (var i=0; i<CurrentElement.childNodes.length; i++) { 
                                                var item = CurrentElement.childNodes[i];
                                             	//alert(i);
                                                if (item.nodeName == "UL") {
                                                	item.style.display = "";
                                                	
						    					}
						    					
						    					//if (l>1) {
						    					if (item.nodeName == "A") {
                                                	item.style.fontWeight = "bold";
                                                	
                                                }
                                            	//}
						    					
                                               
                                            } 
                                        }
                                    } 
                                } 
                            } else { 
                                this.ShowOnStatusBar("Home"); 
                            } 
                        }, 
        ElementLeftNav  : function(newClass,obj) { 
	        
	        				if (this.BreadCrumb.length && newClass) { 
                                var trigger = true; 
                                for (var l=0; l<this.BreadCrumb.length; l++) { 
                                    if (trigger) { 
                                        if ((l+1) == this.BreadCrumb.length) { 
                                            var CurrentElement = this.ElementChecking(obj,l);
                                            if (CurrentElement != "") { 
                                                CurrentElement.className = newClass; 
                                            } else { 
                                                this.ShowOnStatusBar("Some Selection Error"); 
                                            }                                         
                                        } else { 
                                            trigger = (this.ElementChecking(obj,l) == "") ? false : true;
                                        } 
                                    } 
                                } 
                            } else { 
                                this.ShowOnStatusBar("Without selection yet"); 
                            } 
                        },

        URLbyDomain     : function(obj) {
                            var outSlash = new RegExp("^[\\|\/]");
                            var test = "Level is " + this.NavigationLevel + "\nHREF : " + location.href + "\nIWOV : " + this.CurrenIWOV + "\nSTAGE : " + this.CurrenStage + "\n";
                            for (var l=0; l<obj.length; l++) {
                                var linkTree = obj[l].currentObject.pathname.replace(outSlash,"");
                                /* on the same domain */
                                if (this.CurrenDomain == obj[l].currentObject.hostname) {
                                    var restURL = this.restTree(obj[l].currentObject.href,linkTree);
                                   //test += "href : " + obj[l].currentObject.href + "\ntree : " + linkTree + "\nrest : " + restURL + "\n";
                                   //test += "href : " + obj[l].currentObject.href + "\n";
                                    if (!this.CurrenIWOV) {
                                        var htmlRegex = new RegExp("html\/");
                                        //linkTree = linkTree.replace(htmlRegex,"");
                                        obj[l].currentObject.href = this.fullTree(this.CurrenProtocol + "//" + this.CurrenDomain + restURL + linkTree,obj[l].currentObject.href);
                                       //test += "\tfinal : " + this.fullTree(this.CurrenProtocol + "//" + this.CurrenDomain + restURL + linkTree,obj[l].currentObject.href) + "\n";
                                    }
                                }
                            }
                            //this.ShowAlert(test);
                        },
        URLbySource     : function(obj) {
                            var outSlash = new RegExp("^[\\|\/]");
                            var test = "Level is " + this.NavigationLevel + "\n";
                            for (var l=0; l<obj.length; l++) {
                                var linkTree = obj[l].currentObject.pathname.replace(outSlash,"");
                                var levelTree = linkTree.split(/[\\|\/]/);
                                if (this.CurrenDomain == obj[l].currentObject.hostname) {
                                    if (this.NavigationLevel > 0) {
                                        var levelResult = obj[l].level - this.NavigationLevel;
                                        var totalPath = (levelResult < 0) ? this.fullTree(this.backTree(levelResult) + levelTree.join("/"),obj[l].currentObject.href) : this.fullTree(this.lessTree(levelTree),obj[l].currentObject.href);
                                        obj[l].currentObject.href = totalPath;
                                        test += obj[l].currentObject.innerHTML + "\n\t" + totalPath + "\n";
                                    } else {
                                        obj[l].currentObject.href = this.fullTree(linkTree,obj[l].currentObject.href);
                                    }
                                }
                            }
                            //this.ShowAlert(test);
                        },
        backTree        : function(num) {
                            var back = "/";
                            for (var i=1; i<Math.abs(num); i++) {
                                back += "../";
                            }
                            return back;
                        },
        fullTree        : function(path,full) {
                            if (full.match(/#/)) {
                                var regex = new RegExp("^(.*)#");
                                full = "#" + full.replace(regex,"");
                            } else if (full.match(/\?/)) {
                                var regex = new RegExp("^(.*)\\?");
                                full = "?" + full.replace(regex,"");
                            } else {
                                full = "";
                            }
                            return path + full;
                        },
        lessTree        : function(array) {
                            if (array.length > 1) {
                                var temp = array.slice(this.NavigationLevel,array.length);
                                return temp.join("/");
                            } else {
                                return array[0];
                            }
                        },
        restTree        : function(fpath,cpath) {
                            var cutDomain = new RegExp("^(.*)" + this.CurrenDomain);
                            var cutSource = new RegExp(cpath + "(.*)$");
                            fpath = fpath.replace(cutDomain,"");
                            fpath = fpath.replace(cutSource,"");
                            return fpath;
                        },
        initBreadCrumb  : function(obj) { 
                            if (obj.childNodes || obj.childNodes.length > 0) { 
                                for (var item=0; item<obj.childNodes.length; item++) { 
                                    var node = obj.childNodes[item]; 
                                    if (((node.nodeName == "A") || (node.nodeName == "STRONG")) ) {
									
									//&& (node.innerHTML.toLowerCase() != "home") 
                                        CorpElements.BreadCrumb[this.BreadCrumb.length] = node.innerHTML;
                                        CorpElements.BreadCrumbHref[this.BreadCrumbHref.length] = node.href;
                                        //this.ShowAlert("node innerHTML in initBreadCrumb : "+node.innerHTML); // show names of current node
                                    } 
                                } 
                            }
                            this.ShowOnStatusBar("Initialization completed");
                        }, 
        ElementChecking : function(obj,index) { 
                            for (var l=0; l<obj.length; l++) { 
	                            if (obj[l].name == CorpElements.BreadCrumb[index]) { 
                                    CorpElements.NavigationLevel = obj[l].level;
                                    return obj[l].currentObject; 
                                } 
                            } 
                            return ""; 
                        }, 
        EntryChecking   : function(obj,index) { 
                            for (var l=0; l<obj.length; l++) { 
                            //this.ShowAlert(l + " : " + obj[l].name + " = " + CorpElements.BreadCrumb[index] +"\n" + obj[l].currentObject.href +" = "+ CorpElements.BreadCrumbHref[index]);
	                            if (obj[l].name == CorpElements.BreadCrumb[index]) { 
                                    return obj[l].baseObject; 
                                } 
                            } 
                            return ""; 
                        },
        ShowOrHiddenBar : function(obj) {
                            if (obj.length) {
                                for (var l=0; l<obj.length; l++) {
                                    if (obj[l].level == 0 && this.BreadCrumb[0] != obj[l].name) {
                                        obj[l].baseObject.style.display = "none";
                                    }
                                }
                            }
                        },
        ShowOnStatusBar : function(text) {
                            if (document.getElementById && navigator.appName=="Netscape") {
                                document.onmouseover = this.ShowStatus(text);
                                document.onmouseout  = this.ShowStatus(text);
                            }
                        }, 
        ShowAlert       : function(text) { 
                            alert(text); 
                        },
        ShowStatus      : function(text) {
                            window.status = text;
                            return true;
                        }
        
        }; 
    
   
    
   
    
