 	/*
		Build a dynamically generated 'semi-smart' menu.
	
		When		Who		Why
		10-01-09	Arman	Created for Longwatch.com
	*/
 
 	// Image filter
 	var isImage = false;
	
 	// use names
 	var name = 0;
	var url = 1;
 	var submenu = 2;
	
	// setup location and page parsing
	var loc = document.location.href;
	var host = location.protocol + "//" + location.hostname;

    function getArea(url)
    {
        var returnVal = url;
        // if url already ends with a / (but is not the root), chop it off, so we go one level up
        if ( (returnVal.substring(returnVal.length-1,returnVal.length) == "/") && (returnVal != host + "/") ) 
        {   
            returnVal = returnVal.substring(0, returnVal.length-1);
        }
        returnVal = returnVal.substring(0,returnVal.lastIndexOf("/") + 1);
        
		//alert("getArea(" + url + ") = " + returnVal);
        
		return returnVal;
    }	
    
    function trimBookmark(url)
    {
    	var trimmed = url;
    	if (url.indexOf("#") > 0)
    	{
    		trimmed = url.substring(0, url.indexOf("#"));
    	}
    	return trimmed;
    }
    
	
	
	
	//var area = loc.substr(host.length);
	var page = trimBookmark(loc);
	var area = getArea(page);
		
			// Get the area the page comes from
			locArray = loc.split("/");
			p_area = locArray[(locArray.length)-2];
			p_file = locArray[(locArray.length)-1];
			
			/*
			alert(locArray.length);
			alert(locArray[(locArray.length)-2]);
			*/
			
	function showArea(){
 		
		alert("location [" + loc + "]");
		alert("host [" + host + "]");
		alert("area [" + area + "]");
		alert("page [" + page + "]");
		
		//stringObject.substr(start,length)
	}
	
	
	// Check for existing menu image
	
	
	
	function checkImage(img){

		var imageObj = new Image();
    	
		imageObj.onload	 = function(){ //alert('good'); 
		isImage = true  }
		imageObj.onerror = function(){ //alert('bad'); 
		isImage = false }
    	
		imageObj.src = img;
	}
	
	
	function isArea(toCheck){

		//alert("area " + area + " = " + getArea(toCheck) ); 
		
		var areaCheck = area;
		
		if (toCheck.indexOf('http') < 0 && area.indexOf('http') == 0){
		    areaCheck = area.substr(area.indexOf('/', 'https://'.length));
		}
		
		if(areaCheck == getArea(toCheck) || areaCheck == toCheck) return true;
		else return false;
	}
	
	function isPage(toCheck){

		//alert("page " + page + " = " + toCheck ); 
		
		var pageCheck = page;
		if (toCheck.indexOf('http') < 0 && page.indexOf('http') == 0)
		{
		    pageCheck = page.substr(page.indexOf('/', 'https://'.length));
		    //alert("page chopped = " + page);
		}
		
		if(pageCheck == toCheck) 
		    return true;
		else
		    return false;
	}
	
	function doMenu(menu,lvl,areaOverride) {
	
	    if (areaOverride != null && areaOverride != ""){
	        area = areaOverride;
	    }
		
		
		//alert("Area = [" + area +"]" + "<br>Page = [" + page + "]"); 
		
		generateMenu(menu,lvl);
		
	}
	
	function generateMenu(menu,lvl){
		
		//showArea();
		
		switch(lvl){
					
			case 0: char = ''; break;
			case 1: char = ''; break;
			case 2: char = '&minus;&nbsp;'; break;
		}
		
		
		for(var i=0; i < menu.length; i++){


				//alert("is area [" + menu[i][url] + "]");
				
				
				if(isArea(menu[i][url])) {
				
					
					
					if(isPage(menu[i][url]) || lvl == 0){ // Always Highlight entering menu
							
							//alert("isPage");
							document.write('<ul class=menunode-' + lvl + '><li><p>' + char + menu[i][name] + '</p></li></ul>');
					} else {	
							
							//alert("Not page");
							document.write('<ul class=menunode-' + lvl + '><li><a href="' + menu[i][url] +'">' + char + menu[i][name] + '</a></li></ul>');
							}
					
					// Recursively call the next menu and build it at a new level
					if(typeof(menu[i][submenu]) == 'object'){generateMenu(menu[i][submenu],lvl + 1); }
					
				
				}
				
				else {
						//alert("is not area");
						document.write('<ul class=menunode-' + lvl + '><li><a href="' + menu[i][url] +'">' + menu[i][name] + '</a></li></ul>');
				}
		}

	}
	


	function he(name,domain,ext){
		document.write("<a href=\"mailto");
		document.write(":" + name + "@");
		document.write(domain + "." + ext + "\">" + name + "@" + domain + "." + ext + "<\/a>");
	}



