
function Navigation(){
	this.xmlPath = gHost + "xml";
	
	this.createLeftNavL2 = createLeftNavL2;
	this.createTopNavL2 = createTopNavL2;

	function createTopNavL2(cType,hCode,divObj,hasArrow){
		if ( $("#" + divObj).length <= 0 ) { return; }
		
		if(cType.indexOf('http') < 0)	{	var fileName = this.xmlPath + cType.toLowerCase() + ".xml";	}
		else							{	var fileName = cType.toLowerCase() + ".xml";					}
				
		$.ajax({
                 type: "GET",
                 url: fileName,
                 dataType: "xml",
                 success: function(xmlDoc) {
					 createTop(xmlDoc,hCode,divObj,hasArrow);
                 }
        }); //close $.ajax
	}
	function createTop(xmlDoc,hCode,objName,hasArrow){
		$("#" + objName).empty();
		
		var newTbl = $('<table></table>').attr({cellPadding:'0',cellSpacing:'0',className:'menu'});
		
		/*------------first line ----------------------*/
		var newTr = $('<tr></tr>');

		var count = 0; var selectedIndex = -1;
		isHcode = false;
		$(xmlDoc).find('mainmenu').each(function(){
			if($(this).attr('display').toLowerCase() == "top"){
					newTr.append(createTopNode(this,hCode));
					
					if(isHcode && (selectedIndex == -1)) selectedIndex = count;					
					count++;
					
			}
		});
		
		newTbl.append(newTr);
		
		/*------------second line ----------------------*/
		if(hasArrow){
			var newTr = $('<tr></tr>');
			for(i=0; i<count; i++){
				if(i == selectedIndex){
					className = "arrow";
				}
				else{
					className = "noarrow";
				}
				var newTd = $('<td></td>').attr({className:className});
				newTr.append(newTd);
			}
			newTbl.append(newTr);
		}
		
		$("#" + objName).append(newTbl);
	}
	
	function createTopNode(mainMenu,hCode){
		var className = "menu_list";
		var nBullet = "bullet";
		var name = "";
		var code = "";
		var target = "";
		var url = "";
			
		for(i=0; i<mainMenu.childNodes.length; i++){
			switch(mainMenu.childNodes[i].nodeName){
				case "code":
					if (mainMenu.childNodes[i].firstChild)	code = mainMenu.childNodes[i].firstChild.nodeValue;
					break;
							
				case "name":
					if (mainMenu.childNodes[i].firstChild)	name = mainMenu.childNodes[i].firstChild.nodeValue;
					break;
								
				case "target":
					if (mainMenu.childNodes[i].firstChild)	target = mainMenu.childNodes[i].firstChild.nodeValue;
					break;
								
				case "url":
					if (mainMenu.childNodes[i].firstChild)	url = mainMenu.childNodes[i].firstChild.nodeValue;
					break;
							
			}	
		}
		
		if(code == hCode){
			className += " selected";
			nBullet = "bullet_selected";
			isHcode = true;
		}
					
		var newTd = $('<td></td>').attr({className:className});
		
		if(url != ''){
			if(isPopup(target)){
				var newLink = $('<a></a>').attr({href:'javascript:void(0)',className:nBullet});
				newLink.click(function(){
					popupWindow(url,"navTop",target);
				});
			}
			else{
				var newLink = $('<a></a>').attr({href:url,target:target,className:nBullet});
			}
			newLink.append($('<span></span>').text(' ' + name));
		}
		else{
			var newLink = $('<span class="' + nBullet + '"></span>').html(name);
		}
		
		newTd.append(newLink);
		return newTd;
	}
		
	function createLeftNavL2(cType,mCode,hCode,divObj){
		if ( $("#" + divObj).length <= 0 ) { return; }
		
		if(cType.indexOf('http') < 0)	{	var fileName = this.xmlPath + cType.toLowerCase() + ".xml";	}
		else							{	var fileName = cType.toLowerCase() + ".xml";				}
				
		$.ajax({
                 type: "GET",
                 url: fileName,
                 dataType: "xml",
                 success: function(xmlDoc) {
					 createLeftL2(xmlDoc,mCode,hCode,divObj);
                 }
        }); //close $.ajax(
	}
		
	function createLeftL2(xmlDoc,mCode,hCode,objName){
		$("#" + objName).empty();
		
		var mainMenu = $(xmlDoc).find('mainmenu');
				
		for(i=0; i<mainMenu.length; i++){
			for(j=0; j<mainMenu[i].childNodes.length; j++){
				if(mainMenu[i].childNodes[j].nodeName == "code"){
					if(mainMenu[i].childNodes[j].firstChild.nodeValue == mCode){
						var subMenu = $(mainMenu[i]).find('submenu');
						for(m=0; m<subMenu.length; m++){
							if($(subMenu[m]).attr('display').toLowerCase() == "left-side"){
								var newLi = createMainMenuL2(subMenu[m],hCode,hCode);
								$('#' + objName).append(newLi);
							}
						}
					}
				}
			}
		}
	}
	
	function createMainMenuL2(mainMenu,mCode,hCode){
		var code = "";
		var name = "";
		var target = "";
		var url = "";
			
		for(j=0; j<mainMenu.childNodes.length; j++){
			switch(mainMenu.childNodes[j].nodeName){
				case "code":
					if (mainMenu.childNodes[j].firstChild)	code = mainMenu.childNodes[j].firstChild.nodeValue;
					break;
							
				case "name":
					if (mainMenu.childNodes[j].firstChild)	name = mainMenu.childNodes[j].firstChild.nodeValue;
					break;
								
				case "target":
					if (mainMenu.childNodes[j].firstChild)	target = mainMenu.childNodes[j].firstChild.nodeValue;
					break;
								
				case "url":
					if (mainMenu.childNodes[j].firstChild)	url = mainMenu.childNodes[j].firstChild.nodeValue;
					break;
							
			}	
		}//end for
				
		var newLi = $('<li></li>');
		if(code == mCode){
			newLi.attr({className: "nav-selected"});
			
			var divBg = $('<div class="bg"></div>');
			var divName = $('<div class="name"></div>').html('<img src="/img-tpl/tpl-content-bullet-2.gif" />' + name);
					
			newLi.append($('<div class="top"></div>'))
					.append(divBg.append(divName))
					.append($('<div class="bottom"></div>'));
		}
		else{
			
			if(url != ''){
				var newLink = $('<a></a>').html(name);
				if(isPopup(target)){
					newLink.attr({href: 'javascript:void(0)'});
					newLink.click(function(){
						popupWindow(url,"navLeft",target);
					});
				}
				else{
					newLink.attr({href: url, target: target});
				}
			}
			else{
				var newLink = $('<font></font>').html(name);
			}
			newLi.append(newLink);
		}
			
		return newLi;
	}	
}