/* old */

/*
bul = new Image();
bul.src = "/img/b.gif";
bul_a = new Image();
bul_a.src = "/img/menu/bullet.gif";

img1 = new Image();
img1.src = "/media/eng/ttl/group/btn.gif";
img1_a = new Image();
img1_a.src = "/media/eng/ttl/group/btn_a.gif";

img2 = new Image();
img2.src = "/media/eng/ttl/projects/btn.gif";
img2_a = new Image();
img2_a.src = "/media/eng/ttl/projects/btn_a.gif";

img3 = new Image();
img3.src = "/media/eng/ttl/expertise/btn.gif";
img3_a = new Image();
img3_a.src = "/media/eng/ttl/expertise/btn_a.gif";

img4 = new Image();
img4.src = "/media/eng/ttl/research/btn.gif";
img4_a = new Image();
img4_a.src = "/media/eng/ttl/research/btn_a.gif";

img5 = new Image();
img5.src = "/media/eng/ttl/data/btn.gif";
img5_a = new Image();
img5_a.src = "/media/eng/ttl/data/btn_a.gif";

img6 = new Image();
img6.src = "/media/eng/ttl/press/btn.gif";
img6_a = new Image();
img6_a.src = "/media/eng/ttl/press/btn_a.gif";
*/


function pop(popup_name,popup_url,popup_width,popup_height,myWidth,myHeight)
		{ 	
			if(!myWidth){myWidth=10;}
			if(!myHeight){myHeight=50;}
			var popup_left=(window.screen.width/2)-(popup_width/2+myWidth);
			var popup_top=(window.screen.height/2)-(popup_height/2+myHeight);
			var newWindow=window.open(popup_url,popup_name,"toolbar=no,location=no,status=no,menubar=no,scrollbars=1,resizable=no,width="+popup_width+",height="+popup_height+",left="+popup_left+",top="+popup_top+",screenX="+popup_left+",screenY="+popup_top);
			newWindow.focus();
		}
/*
function menuOver(num)
{
  if ( g_bi.IE )
  {
    if ( document.images[ "menuImg" + num ].src.indexOf( "_a.gif" ) < 0 ) document.images[ "menuImg" + num ].src = document.images[ "menuImg" + num ].src.replace( ".gif", "_a.gif" );
    if ( document.images[ "cornerImg" + num ].src.indexOf( "_a.gif" ) < 0 ) document.images[ "cornerImg" + num ].src = document.images[ "cornerImg" + num ].src.replace( ".gif", "_a.gif" );
  }
  else
  {
    if ( document.layers[ "Sub" + num ].document.images[ "menuImg" + num ].src.indexOf( "_a.gif" ) < 0 ) document.layers[ "Sub" + num ].document.images[ "menuImg" + num ].src = document.layers[ "Sub" + num ].document.images[ "menuImg" + num ].src.replace( ".gif", "_a.gif" );
    if ( document.layers[ "corner" + num ].document.images[ "cornerImg" + num ].src.indexOf( "_a.gif" ) < 0 ) document.layers[ "corner" + num ].document.images[ "cornerImg" + num ].src = document.layers[ "corner" + num ].document.images[ "cornerImg" + num ].src.replace( ".gif", "_a.gif" );
  }
}

function menuOut(num)
{
  if ( g_bi.IE )
  {
    document.images[ "menuImg" + num ].src = document.images[ "menuImg" + num ].src.replace( "_a.gif", ".gif" );
    document.images[ "cornerImg" + num ].src = document.images[ "cornerImg" + num ].src.replace( "_a.gif", ".gif" );
  }
  else
  {
    document.layers[ "Sub" + num ].document.images[ "menuImg" + num ].src = document.layers[ "Sub" + num ].document.images[ "menuImg" + num ].src.replace( "_a.gif", ".gif" );
    document.layers[ "corner" + num ].document.images[ "cornerImg" + num ].src = document.layers[ "corner" + num ].document.images[ "cornerImg" + num ].src.replace( "_a.gif", ".gif" );
  }
}

function doSearch()
{
  if ( document.all )
  {
    document.search_form.submit();
  }
  else if ( document.layers.SearchDiv )
  {
    document.layers.SearchDiv.document.search_form.submit();
  }
  else
  {
    document.search_form.submit();
  }
}


	var viewPortHeight = 55;
	var viewPortLeft = 0;
	var viewPortTop = 0;
	var motionT = 40;
	var stopT = 3000;
	var timeout = stopT;
	function Announce( id, top, left )
	{
		this.id = id;
		this.left = left;
		this.top = top;
		this.div = document.getElementById( this.id );
		this.updateClip = function()
		{
			this.topClip = 0 - this.top;
			this.bottomClip = viewPortHeight - this.top;
			this.div.style.top = viewPortTop + this.top;
			this.div.style.left = viewPortLeft + this.left;
			this.div.style.clip = "rect( " + this.topClip + " auto " + this.bottomClip + " auto )";
		}
		this.updateClip();
		this.div.style.display = "block";
		this.moveUp = function()
		{
			if ( ( this.top == 1 ) || ( this.top == ( 1 + viewPortHeight ) ) )
			{
				this.top--;
				timeout = stopT;
			}
			else if ( this.top == ( 1 - viewPortHeight ) )
			{
				this.top = viewPortHeight;
			}
			else
			{
				this.top--;
				timeout = motionT;
			}
			this.updateClip();
		}
	}
	
	var a1, a2;

	function scroll()
	{
		a1 = new Announce( "a1", 0, 0 );
		a2 = new Announce( "a2", 55, 0 );
		setTimeout( "doScroll();", timeout );
	}

	function doScroll()
	{
		a1.moveUp();
		a2.moveUp();
		setTimeout( "doScroll();", timeout );
	}
*/
/* end old */




var ie6 = navigator.userAgent.indexOf("MSIE 6") > -1;

function defer() {
	var dinamycs = [
		{
			reg: new RegExp("(\\s|^)"+ "level-2" +"(\\s|$)"),
			fn: menuLevel2,
			isClass: true
		},
		{
			reg: new RegExp("(\\s|^)"+ "collapsed-folders" +"(\\s|$)"),
			fn: collapsedFolders,
			isClass: true
		},
		{
			reg: new RegExp( "announcement($)" ),
			fn: announcement,
			isClass: true
		},
		{
			reg: new RegExp("(\\s|^)"+ "hover-description" +"(\\s|$)"),
			fn: hoverDescription,
			isClass: false
		}
	];
	for (var els = document.getElementsByTagName("*"), i=0, l=els.length; i<l; i++) {
		for (var i2=0, l2=dinamycs.length; i2<l2; i2++) {
			if (dinamycs[i2].reg.test(els[i].className || "")) {
				if (dinamycs[i2].isClass) {
					new dinamycs[i2].fn(els[i]);
				} else {
					dinamycs[i2].fn(els[i])
				}
			}
		}
	}
}

function hoverDescription(element) {
	var place = element.getElementsByTagName("*");
	for (var i=0, l=place.length, cl; i<l; i++) {
		cl = place[i].className || "";
		if (cl.indexOf("for-desc")>-1) break;
	}
	if (i==l) return;
	place = place[i];
	if (place.getElementsByTagName("p").length) {
		place = place.getElementsByTagName("p")[0];
	}
	var defaultText = place.innerHTML;
	if (element.addEventListener) {
		element.addEventListener("mouseover", mouseover, false);
	} else {
		element.attachEvent("onmouseover", mouseover);
	}
	function mouseover(evt) {
		var evt = evt || window.event;
		var el = evt.target || evt.toElement;
		place.innerHTML = el.getAttribute("title") || defaultText;
	}
}

function announcement(element) {
	element.className += " announcement-js";
	var height = element.getElementsByTagName("p")[0].offsetHeight;
	var top = 0;
	var el = element.getElementsByTagName("div")[0];
	var interval = 10; // ms
	var defaultDelay = 2000; // ms
	defaultDelay /= interval;
	var delay = defaultDelay, startDelay = defaultDelay;
	var timer = window.setInterval(timer, interval);
	function timer() {
		if (startDelay) return --startDelay;
		if (top*-1>=height) {
			delay--;
			top = height *-1;
			if (delay==0) {
				top = 0;
				var el2 = el.appendChild( document.createTextNode(" ") );
				el.replaceChild(el.getElementsByTagName("p")[0], el2);
				delay = defaultDelay;
			}
		} else {
			top -= 2;
		}
		el.style.top = top +"px";
	}
}

function collapsedFolders(element) {
	for (var c=element.childNodes, i=0, l=c.length, el; i<l; i++) {
		el = c[i];
		if (el.nodeType!=1) continue;
		if (el.tagName.toLowerCase()=="li") {
			el.onclick = function() { collapseFolder.call(this); }
			var header = el.getElementsByTagName("span")[0];
			if (header) {
				header.onmouseover = function() {
					if ((this.className || "").indexOf("hover")==-1) this.className = (this.className || "") + " hover";
				}
				header.onmouseout = function() {
					if ((this.className || "").indexOf("hover")>-1) this.className = (this.className || "").replace(/hover/, "");
				}
			}
		}
	}
}

function collapseFolder() {
	var li = this;
	// getElementRoot(li).style.height = getElementRoot(li).offsetHeight +"px"; 
	var ul = li.getElementsByTagName("ul")[0];
	var closed = checkClosed(li);
	var d = 10 * (closed ? 1 : -1);
	if (closed) {
		ul.style.height = "0px";
		li.className = (li.className||"").replace(/(\s|^)close(\s|$)/g, '');
		var lastLi = ul.getElementsByTagName("li");
		lastLi = lastLi[lastLi.length-1];
		var needHeight = lastLi.offsetParent==ul ? lastLi.offsetHeight + lastLi.offsetTop : lastLi.offsetHeight + lastLi.offsetTop - ul.offsetTop;
	} else {
		// var needHeight = 0;
		return false;
	}
	var allUL = getAllUL(li);
	for (var i=0, l=allUL.length, cur; cur=(allUL[i] == ul), i<l; i++) startAnimate(
		allUL[i], 
		getParentLi(allUL[i]), 
		cur ? true : false, 
		cur ? needHeight : 0, 
		10 * (cur ? 1 : -1)
	);
	
	function getParentLi(node) {
		var li = node;
		while((li.tagName||"").toLowerCase()!="li") li = li.parentNode;
		return li;
	}
	function getAllUL(anyDescendant) {
		return getElementRoot(anyDescendant).getElementsByTagName("ul");
	}
	function getElementRoot(anyDescendant) {
		var parent = anyDescendant;
		while((parent.className||"").indexOf("collapsed-folders")==-1) parent = parent.parentNode;
		return parent;
	}
	function checkClosed(node) {
		return (node.className||"").indexOf(" close")>-1;
	}
	function startAnimate(node_ul, node_li, bool_closed, int_needHeight, int_d) {
		var ul = node_ul, li = node_li, closed = bool_closed, needHeight = int_needHeight, d = int_d;
		var height = ul.offsetHeight;
		var timer = window.setInterval(timer, 20);
		function timer() {
			height += d;
			if (d<0 && height<needHeight || d>0 && height>needHeight) {
				height = needHeight;
				if (!closed && !checkClosed(li)) li.className = (li.className||"") + " close";
				window.clearInterval(timer);
				timer = null;
			}
			ul.style.height = height +"px";
			if (!timer) {
				delete timer;
				delete li;
				delete ul;
				delete d;
				delete closed;
				delete lastLi;
				delete needHeight;
				delete height;
			}
		}
	}
}

function menuLevel2(element) {
	for (var dls=element.getElementsByTagName("dl"), i=0, l=dls.length, dl, dt, elForToggle; i<l; i++) {
		dl = dls[i];
		// edit structure 
		dt = dl.getElementsByTagName("dt")[0];
		if (dt.getElementsByTagName("a").length) {
			elForToggle = dt.getElementsByTagName("a")[0];
			if (!elForToggle.href) {
				elForToggle.href = "#";
				elForToggle.className = "cursor-default";
			} else {
				// collapse
				if (!dl.getElementsByTagName("strong").length && (dl.className || "").indexOf("close")==-1 ) dl.className = (dl.className || "") + " close";
				continue;
			}
		} else {
			elForToggle = dt.getElementsByTagName("strong")[0];
			// strong / span / span / text >> strong / a / span / span / text
			var anc = document.createElement("a");
			anc.href = "#";
			anc.className = "cursor-default";
			anc.appendChild(elForToggle.firstChild.cloneNode(true));
			while(elForToggle.firstChild) elForToggle.removeChild(elForToggle.firstChild);
			elForToggle = elForToggle.appendChild( anc );
		}
		// add collapse/expand
		elForToggle.onclick = function() {
			var el = this;
			var regOpen = new RegExp("(\\s|^)"+ "open" +"(\\s|$)");
			var regClose = new RegExp("(\\s|^)"+ "close" +"(\\s|$)");
			while(el.tagName.toLowerCase()!="dl") el = el.parentNode;
			if (regClose.test(el.className || "")) {
				el.className = el.className.replace(regClose, "") +" open";
			} else if (regOpen.test(el.className || "")) {
				el.className = (el.className || "").replace(regOpen, "") + " close";
			}
			return false;
		}
		// collapse
		if (!dl.getElementsByTagName("strong").length && (dl.className || "").indexOf("close")==-1 ) dl.className = (dl.className || "") + " close";
	}
}

if (navigator.userAgent.indexOf('Safari')>-1) {
 safari2 = navigator.userAgent.indexOf('Version/3')==-1; // saf
 var _timer = setInterval(function() {
   if (/loaded|complete/.test(document.readyState)) {
     clearInterval(_timer);
     delete _timer;
     defer();
   }
 }, 50);
} else {
  if (window.addEventListener) {
    window.addEventListener('DOMContentLoaded', defer, false);
  } else {
   defer();
  }
}

try{ if (typeof(document.execCommand && !window.XMLHttpRequest)!="undefined") document.execCommand("BackgroundImageCache", false, true) }
catch(er) { }