/*
Object.parent(Object);
Object.child(next Page);
Object.link(current Link);
Object.name;
Object.ImgOver;
Object.Img;
Object.ImgOn;
*/
var items = new Array();
var MapRootNode = new mapNode("root");

function addNode(level, enName, scName, link, img, imgOver, imgOn)
{	
	//create a object for current node
	var currentNode = new mapNode(enName, scName, link, img, imgOver, imgOn);
	//find the parent
	var parentNode = findLevelLastNode(level);
	
	//connect current node with parent node
	currentNode.setParent(parentNode);
	parentNode.addChild(currentNode);
}

function mapNode(enName, scName, link, img, imgOver, imgOn)
{
	this.name = new Array();
	this.name[1] = enName;
	this.name[2] = scName;
	this.link = link;
	this.img = img;
	this.imgOver = imgOver;
	this.imgOn = imgOn;
	this.child = new Array();
	this.parent = null;
	
	this.getName = getNodeName;
	this.getLink = getNodeLink;
	this.getImg = getNodeImg;
	this.getImgOver = getNodeImgOver;
	this.getImgOn = getNodeImgOn;
	this.getChild = getNodeChild;
	this.getBranch = getNodeBranch;
	this.getParent = getNodeParent;
	
	this.addChild = addNodeChild;
	this.setParent = setNodeParent;
	
	
}


function findLevelLastNode(lv){
	var currentNode = MapRootNode;
	while(lv > 0){
		currentNode = currentNode.child[currentNode.child.length-1]
		lv--;
	}
	return currentNode;
}

function getNodeName(){
	return this.name[language];
}
function getNodeLink(){
	return this.link;
}
function getNodeImg(){
	return this.img;
}
function getNodeImgOver(){
	return this.imgOver;
}
function getNodeImgOn(){
	return this.imgOn;
}
function getNodeChild(){
	return this.child;
}
function getNodeParent(){
	return this.parent;
}
function addNodeChild(childNode){
	this.child[this.child.length] = childNode;
}
function setNodeParent(parentNode){
	this.parent = parentNode;
}
function getNodeBranch(){
	return this.child.length;
}

