
var IE = (typeof document.addEventListener)!="function";
var stopLeft;
var stopUp;
var time;
var minDif = IE ? 90: 90;
var $em = 0.0625;

function getImg(id)
{
    var result = document.getElementById(id).firstChild;
    if (result && result.tagName!="IMG")
        return result.nextSibling;
    else
        return result
}

function lastElement(elem)
{
    if (elem)
    {
        elem = elem.lastChild;
        while ((elem!=null) && (elem.nodeType!=1))
            elem = elem.previousSibling;
    }
    return elem;
}

function getDocument(elem)
{
    return elem.contentWindow.document;
}

function firstElement(elem)
{
    if (elem)
    {
        elem = elem.firstChild;
        while ((elem!=null) && (elem.nodeType!=1))
            elem = elem.nextSibling;
    }
    return elem;
}

function initHorizontalScroller()
{
  var obj = document.getElementById("img_list_scrollable");
  if (obj)
  {
    var parent = document.getElementById("img_list_scroller");
    var diff = obj.scrollWidth - parent.offsetWidth;
    var next = getImg("button_next");
    stopLeft = obj.offsetLeft - diff;
    if (stopLeft>-minDif)
    {
	    next.src =  "../images/button_next_end.png";
        next._enable = false;
        next.style.cursor = "default";
    }
    else
    {
        next._enable = true;
    }
    
    var prev = getImg("button_prev");
    prev.src =  "../images/button_prev_end.png";
    prev._enable = false;
    prev.style.cursor = "default";
  }
}

function initVerticalScroller()
{
  var obj = document.getElementById("obj_text_scrollable");
  if (obj)
  {
    var parent = document.getElementById("obj_text_scroller");
    if (parent)
    {
        obj.style.top = "0em";
        var diff = obj.offsetHeight - parent.offsetHeight;
	        stopUp = parent.offsetTop - diff;
	 }
  }
}

function scrollright( sourceId )
{
  var next = document.getElementById( "button_next" );
  var prev = document.getElementById( "button_prev" );
  var obj = document.getElementById( sourceId );
  var objOffsetX = obj.offsetLeft;
  if (objOffsetX >= stopLeft)
  {
	  obj.style.left = (objOffsetX - 30)*$em+"em";
	  prev.style.display = "inline";
  }
	else
	  next.style.display = "none";
  time = setTimeout("scrollright('"+ sourceId + "')", 100);
}

function scrollleft( sourceId )
{
  var next = document.getElementById( "button_next" );
  var prev = document.getElementById( "button_prev" );
  var obj = document.getElementById( sourceId );
  var objOffsetX = obj.offsetLeft;
  if ( objOffsetX < 0 )
  {
    obj.style.left = (objOffsetX + 30)*$em+"em";
    next.style.display = "inline";
  }
  else
    prev.style.display = "none";
	time = setTimeout("scrollleft('" + sourceId + "')", 100);
}

function buttonState(element, ena, val)
{
	prev.src =  "../images/button_"+val+"_end.png";
	element._onmouseover = element.onmouseover;
	element.onmouseover = null;
	
	element._onmouseout = element.onmouseout;
	element.onmouseout = null;
	
	element._onclick = element.onclick;
	element.onclick = null;
}


function scrollleftClick(sourceId)
{
  var next = getImg("button_next");
  var prev = getImg("button_prev");
  var obj = document.getElementById( sourceId );
  obj.style.left = (obj.offsetLeft + minDif)*$em+"em";
  next._enable = true;
  next.src =  "../images/button_next_inactive.png";
  next.style.cursor = "";

  if (obj.offsetLeft>=0)
  {
      prev._enable = false;
	  prev.src =  "../images/button_prev_end.png";
      prev.style.cursor = "default";
  }
}

function scrollrightClick(sourceId)
{
  var next = getImg("button_next");
  var prev = getImg("button_prev");
  var obj = document.getElementById( sourceId );

  obj.style.left = (obj.offsetLeft - minDif)*$em+"em";
  prev._enable = true;
  prev.src =  "../images/button_prev_inactive.png";
  prev.style.cursor = "";

  if (obj.offsetLeft-minDif <= (stopLeft-5))
  {
	  next._enable = false;
	  next.src =  "../images/button_next_end.png";
      next.style.cursor = "default";
  }
}

function ajustScroll(img, sourceId)
{
    var obj = document.getElementById(sourceId);
    if (img && obj)
    {
        var stop = 100;
        if (img.offsetLeft+obj.offsetLeft<0)
        {
            while((img.offsetLeft+obj.offsetLeft<0)&&(stop>0))
            {
                scrollleftClick(sourceId);
                stop--;
            }
        }
        else
          if (img.offsetLeft+obj.offsetLeft>370)
          {
            while((img.offsetLeft+obj.offsetLeft>400)&&(stop>0))
            {
                scrollrightClick(sourceId);
                stop--;
            }
          }
    }
}

function scrollDown( sourceId )
{
  var obj = document.getElementById( sourceId );
	var objOffsetTop = obj.offsetTop;
	if ( objOffsetTop >  stopUp)
	  obj.style.top = (objOffsetTop - 30)*$em+"em";
	time = setTimeout("scrollDown('" + sourceId + "')", 100);
}

function scrollUp( sourceId )
{
  var obj = document.getElementById( sourceId );
	var objOffsetTop = obj.offsetTop;
	if ( objOffsetTop < 0 )
	  obj.style.top = (objOffsetTop + 30)*$em+"em";
	time = setTimeout("scrollUp('" + sourceId + "')", 100);
}

function stopScroll()
{
	if (time) clearTimeout(time);
}

function toggle3D_text( state )
{
  btn_state = state;
}

function printTMM(siteId, asp)
{
  window.open(asp + "?what=printTMM&" + siteId, "printer");
}

function printTMMApp(appId, asp)
{
    // do print for APPId
    //window.open(asp + "?what=printTMM&app=" + appId, "printer");
}

var lastVisible = null;

function displayText(id)
{
    if (lastVisible!=null)
        lastVisible.style.display = "none";
        
    var it=document.getElementById("txmner");
    if (it) 
        it.style.height = "auto";
    
    lastVisible = document.getElementById(id);

    if (lastVisible!=null)
        lastVisible.style.display = "block";
        
    if (it &&(it.scrollHeight<416)) 
        it.style.height = "27em";
        
    traverse();
//    ajustFoot(lastVisible);
}

function fixMS()
{
    var it=document.getElementById("txmner");
    if (it) 
    {
        it.height = "auto";
        if ((it.scrollHeight<416)) 
            it.style.height = "28em";
    }
}

function tm_Menu(b)
{
    var tmMenu = document.getElementById("tmMenu");
    if (tmMenu)
    {
        if (b)
            tmMenu.style.display = "block";
        else
            tmMenu.style.display = "none";
    }
}

function ajustFoot()
{
    var main_content = document.getElementById("main_content");
    //var main_content = document.getElementById("txmner");
    
    main_content.style.height = "";
    var c_height = main_content.offsetHeight;
    var frame = document.getElementById("theframe");
    if (frame)
    {   
        if (frame.tagName=="IFRAME")
        {
            c_height = getDocHeight(getDocument(frame));
            if (!IE)
            {
                if (lastVisible)
                    frame.style.width = "17.500em";
                frame.style.height = (c_height*$em)+"em";
            }
            if (lastVisible)
                c_height += 110;
        }
    }
    
    if (main_content)
    {
        if (c_height<400)
            main_content.style.height = "25.000em"
        else
        {
            if (lastVisible)
                main_content.style.height = (IE ? c_height -110 : c_height)*$em +'em';
            else
                main_content.style.height = (IE ? c_height : c_height)*$em +'em';                    
        }
    }
    
    if (frame) 
    {
        if (c_height<400)
            frame.style.height = "25.000em"
        else
        {
            if (lastVisible)
                frame.style.height = (IE ? c_height -110 : c_height)*$em +'em';
            else
                frame.style.height = (IE ? c_height : c_height)*$em +'em';                    
        }
    }
}

function fixIFrame()
{
    var frame = document.getElementById("theframe");
    if (frame)
    {
        if (IE)
            frame.document.onload = ajustFoot;
        else
            frame.contentDocument.onload = ajustFoot;
    }
}

function getDocHeight(doc) 
{
  var docHt = 0, sh, oh;
  if (doc.height) 
    docHt = doc.height;
  else 
    if (doc.body) 
    {
        if (doc.body.scrollHeight) 
            docHt = sh = doc.body.scrollHeight;
        if (doc.body.offsetHeight) 
            docHt = oh = doc.body.offsetHeight;
        if (sh && oh) 
            docHt = Math.max(sh, oh);
    }
  return docHt;
}

function setZero(n)
{
    return n<10 ? '0'+n : n;
}
function lastUpdate(ndate)
{
    if (ndate)
    {
        var lastUpdated = document.getElementById("lastUpdated");
        if (lastUpdated)
        {
            var d = new Date();
            d.setTime(Number(ndate));
            lastUpdated.innerHTML = d.getFullYear() + '-' + setZero(d.getMonth())+'-'+setZero(d.getDate());
        }
    }
}

function traverse(w)
{
    try
    {
        var frs = document.getElementsByTagName("iframe");
        for(var i=0; i<frs.length; i++)
        {
            resizeIframe(frs[i]);
        }
    }
    catch(e)
    {}
}

function resizeIframe(currentfr)
{
    if ((typeof notFixIframe!= "undefined") && notFixIframe)
        return;

	if (currentfr && !window.opera)
	{
	    currentfr.style.height = "";
	    var p = null;
		if (currentfr.contentDocument && currentfr.contentDocument.body) //ns6 syntax
	        p = currentfr.contentDocument.body;
			else 
				if (currentfr.Document && currentfr.Document.body)
					p = currentfr.Document.body;
        if (p!=null)
        {
		    var h = 411;
		    try
		    {
		        if (typeof p._height!="undefined")
		            h = p._height;
		        else
		            while (p)
		            {
		                if (h<p.scrollHeight)
		                    h = p.scrollHeight;  
		                p = p.parentNode;
		            }
		    }
		    catch(e)
		    {}
			currentfr.style.height = h+"px"; 
		}
	}
}

function resizeGIframe(currentfr)
{
	//var currentfr=frameid; // document.getElementById(frameid)
	if (currentfr && !window.opera)
	{
		if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
			currentfr.style.height = ((currentfr.contentDocument.body.offsetHeight < 400)?400:currentfr.contentDocument.body.offsetHeight)+"px"; 
			else 
				if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
					currentfr.style.height = ((currentfr.Document.body.scrollHeight < 400)?400:currentfr.Document.body.scrollHeight)+"px";
	}
}

function readjustIframe(loadevt) 
{
	var crossevt=(window.event)? event : loadevt
	var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
	if (iframeroot)
		resizeIframe(iframeroot.id);
}

function $go(url)
{
    document.location.href = url;
}


/*
if (window.addEventListener)
    window.addEventListener("load", traverse, false);
else 
    if (window.attachEvent)
        window.attachEvent("onload", traverse);
    else
        window.onload=traverse;
 */       
        
        
        
        
