function initjs(){
	initTree();
	if(!document.body.currentStyle){return;}
	var subs = document.getElementsByName('nano-submenu');
	for(var i=0; i< subs.length; i++) {
		var li = subs[i].parentNode;
		if(li && li.lastChild.style) {
			li.onmouseover = function() {
				this.lastChild.style.visibility = 'visible';
			}
			li.onmouseout = function() {
				this.lastChild.style.visibility = 'hidden';
			}
		}
	}
}

function turn_language(language_id){
	var subs = document.getElementsByTagName('SPAN');
	for(var i=0; i< subs.length; i++) {
		for(var d=0; d <= numberoflanguage; d++) {
			if(subs[i] && subs[i].getAttribute("name")=="MENU_TEXT_"+d) {
						subs[i].style.display = 'none';
			}
		}
	}
	for(var i=0; i< subs.length; i++) {
		for(var d=0; d <= numberoflanguage; d++) {
			if(subs[i] && subs[i].getAttribute("name")=="MENU_TEXT_"+d) {
					if(d==language_id){
						subs[i].style.display = '';
					}else{
						subs[i].style.display = 'none';
					}
			}
		}
	}
}

function repositioning(){
	var subsx = document.getElementsByTagName('DIV');
	var currenttop = 0;
	var bottomlength= 0;
	var currentlength= 0;
	var actual= 0;
	var expanded = 0;
	var gap = 0;
	var found = 0;
	var runonce = 0;
	for(var i=0; i< subsx.length; i++) {
			if(subsx[i] && subsx[i].getAttribute("xbehaviour")== "1") {

				bottomlength = parseInt(subsx[i].offsetHeight) + parseInt(subsx[i].offsetTop);
				if(bottomlength  >= currentlength){
				    currentlength = bottomlength;
				    actual        = parseInt(subsx[i].getAttribute("xht"));
				    expanded      = parseInt(subsx[i].offsetHeight - actual);
				    found = 1;
				}

                                if(expanded < 1){
                                        subsx[i].style.height = actual;
                                }
			}
	}

	if(found == 0){return;}


	var subsxx = document.getElementsByTagName('DIV');
	for(var i=0; i< subsxx.length; i++) {
			if(subsxx[i] && subsxx[i].getAttribute("xwill_expand") > "0") {

				      //meaning that the puzzle has not expand, but position might be greater than other page.
				      if(runonce == 0){
					  if(expanded <= 0){
					      expanded = 10;
					      gap      = currentlength - subsxx[i].offsetHeight - subsxx[i].offsetTop + expanded;
					  }else{
					      gap      = currentlength - subsxx[i].offsetHeight - subsxx[i].offsetTop + 30 ;
					  }
					  runonce = 1;
				      }
                                      //if gap is negative, meaning that thepage will scrink. so exit.
                                      if(gap < 1){return;}



				      if(subsxx[i] && subsxx[i].getAttribute("xwill_expand")== "1"){
					  //will expand
					  subsxx[i].style.height = subsxx[i].offsetHeight +  gap;				    
				      }

				      if(subsxx[i] && subsxx[i].getAttribute("xwill_expand")== "2"){
					  //will reposition
					  subsxx[i].style.top = subsxx[i].offsetTop  + gap;				    
				      }

				
			}
	}
}


