/****************************************************\
| TUPA UI 1.0                                        |
| Copyright by BonaSource Inc. (bonasource.com) 2004 |
\****************************************************/

//========================================================

var bkModDDOverColorN = "#B6C9F2";
var bkModDDOverColorO = "#DFE6F3";

function bkModDDOver(obj, st) {
  if(!isDOM) return;
	var i, objStyle;
	objStyle = (obj.style) ? obj.style : obj;
	objStyle.backgroundColor = (st) ? bkModDDOverColorO : bkModDDOverColorN;
}

//========================================================

function showClickBKModDDMenuLI(mItemName) {
	for(i=0; i<coM; i++) {
		if(!upMenu[i][0]) continue;
    if(mItemName == upMenu[i][0]) break;
	}
	if(upMenu[i][1] && upMenu[i][1].isExist() && upMenu[i][1].isVisible()) upMenu[i][1].hide();
	else showBKModDDMenuLI(mItemName);
}

function showBKModDDMenuLI(mItemName) {
  var i, p, mPosX, mPosY;
  imPos = new Array();
  for(i=0; i<coM; i++) {
		if(!upMenu[i][0]) continue;
    if(mItemName != upMenu[i][0]) {
			if(upMenu[i][1] && upMenu[i][1].isExist()) upMenu[i][1].hide();
    }
    else {
      cancelCloseMenuLI();
      if(upMenu[i][1] && upMenu[i][1].isExist()) {
        mPosX = upMenu[i][2].getAbsoluteLeft() + upMenu[i][2].getWidth() - upMenu[i][1].getWidth();
        if(mPosX + upMenu[i][1].getWidth() - getScrollX() > getWindowWidth())
          if((mPosX = getWindowWidth() - upMenu[i][1].getWidth()) < 0) mPosX = 0;
        mPosY = upMenu[i][2].getAbsoluteTop() + upMenu[i][2].getHeight() + 0;
        if(mPosY + upMenu[i][1].getHeight() - getScrollY() > getWindowHeight())
          mPosY = upMenu[i][2].getAbsoluteTop() - upMenu[i][1].getHeight() + 2;
        upMenu[i][1].moveTo(mPosX, mPosY);
        upMenu[i][1].show();
        curTM = 1000;
      }
      else {
        curTM = 0;
      }
    }
  }
}

//========================================================

var mmOverColorN = "#FFFFFF";
var mmOverColorO = "#000000";
var mmOverBGColorN = "#5C7B8E";
var mmOverBGColorO = "#D2E388";
var mmIcoArrowN = new Image();
var mmIcoArrowO = new Image();
var mmIcoArrowC = new Image();
mmIcoArrowN.src = appPath + 'images/mm-ico-arrow-n.gif';
mmIcoArrowO.src = appPath + 'images/mm-ico-arrow-o.gif';
mmIcoArrowC.src = appPath + 'images/mm-ico-arrow-c.gif';
var flDMOpen = false;

function mmOver(obj, st) {
	if(!isDOM || !obj) return;
	if(flDMOpen && !st) return;
	var i, objStyle;
	var objTD = obj.getElementsByTagName('TD');
	var objTDLength = objTD.length;
	for(i = 0; i < objTDLength; i++) {
		objStyle = (objTD[i].style) ? objTD[i].style : objTD[i];
		objStyle.backgroundColor = (st) ? mmOverBGColorO : mmOverBGColorN;
		if(objTD[i].firstChild.nodeName == 'A') {
			objStyle = (objTD[i].firstChild.style) ? objTD[i].firstChild.style : objTD[i].firstChild;
			objStyle.color = (st) ? mmOverColorO : mmOverColorN;
		}
		else if(i == objTDLength - 1 && objTD[i].firstChild.nodeName == 'IMG' && objTD[i].firstChild.height > 1) {
			objTD[i].firstChild.src = (st) ? mmIcoArrowO.src : mmIcoArrowN.src;
		}
	}
}


function mmGo(url) {
  window.location = url;
}

function dmGo(obj) {
	if(!isDOM || !obj) return;
	event.cancelBubble = true;
	var objA = obj.getElementsByTagName("A");
  window.location = objA[0].href;
}

//========================================================

var dmOverColorN = "#000000";
var dmOverColorO = "#FFFFFF";
var dmOverBGColorN = "#D2E388";
var dmOverBGColorO = "#5C7B8E";

function dmOver(obj, st) {
	if(!isDOM || !obj) return;
	var i, objStyle;
	var objTD = obj.getElementsByTagName('TD');
	var objTDLength = objTD.length;
	for(i = 0; i < objTDLength; i++) {
		objStyle = (objTD[i].style) ? objTD[i].style : objTD[i];
		objStyle.backgroundColor = (st) ? dmOverBGColorO : dmOverBGColorN;
		if(objTD[i].firstChild.nodeName == 'A') {
			objStyle = (objTD[i].firstChild.style) ? objTD[i].firstChild.style : objTD[i].firstChild;
			objStyle.color = (st) ? dmOverColorO : dmOverColorN;
		}
	}
}

function dmGo(obj) {
	if(!isDOM || !obj) return;
	event.cancelBubble = true;
	var objA = obj.getElementsByTagName("A");
  window.location = objA[0].href;
}

//========================================================

var smOverBGColorN = "#DADADA";
var smOverBGColorO = "#D2E388";

function smOver(obj, st) {
	if(!isDOM || !obj) return;
	var i, objStyle;
	var objTD = obj.getElementsByTagName('TD');
	var objTDLength = objTD.length;
	for(i = 0; i < objTDLength; i++) {
		objStyle = (objTD[i].style) ? objTD[i].style : objTD[i];
		objStyle.backgroundColor = (st) ? smOverBGColorO : smOverBGColorN;
	}
}

function smGo(obj) {
	if(!isDOM || !obj) return;
	event.cancelBubble = true;
	var objA = obj.getElementsByTagName("A");
  window.location = objA[0].href;
}

//========================================================

var ccOverColorN = "#E5E1E4";
var ccOverColorO = "#DEFFFB";

function ccOver(obj, st) {
	if(!isDOM || !obj) return;
	var i, objStyle;
	objStyle = (obj.style) ? obj.style : obj;
	objStyle.backgroundColor = (st) ? ccOverColorO : ccOverColorN;
}

//========================================================

function BSMenu() {
  this.div = new Array();
  this.dcounter = 0;
}

BSM = BSMenu.prototype;

BSM.add = function(bsdObj) {
  this.div[this.dcounter++] = bsdObj;
}

BSM.render = function() {
  var bsdc, i, j, obj, ls, rs, str, resstr, arr, arItem, nstrb, nstre, coLt, coClt, coItem;
  arLt = new Array();
  arClt = new Array();
  for(bsdc = 0; bsdc < this.dcounter; bsdc++) {
    obj = this.div[bsdc];
	str = obj.lt; coLt = 0;
	nstrb = 0;
	while((nstre = str.indexOf("##", nstrb)) != -1) {
	  arLt[coLt++] = str.substring(nstrb, nstre);
	  arLt[coLt++] = str.substring(nstre, nstre + 8);
	  nstrb = nstre + 8;
	}
	arLt[coLt] = str.substring(nstrb);
	str = obj.clt; coClt = 0;
	nstrb = 0;
	while((nstre = str.indexOf("##", nstrb)) != -1) {
	  arClt[coClt++] = str.substring(nstrb, nstre);
	  arClt[coClt++] = str.substring(nstre, nstre + 8);
	  nstrb = nstre + 8;
	}
	arClt[coClt] = str.substring(nstrb);
	arr = obj.links;
	resstr = "";
    for(i = 0; i < obj.counter; i++) {
	  if(arr[i].state) {
	    arItem = arLt;
		coItem = coLt;
	  }
	  else {
	    arItem = arClt;
		coItem = coClt;
	  }
	  for(j = 0; j <= coItem; j++) {
	    switch (arItem[j]) {
		  	case '##DVID##': resstr += obj.id; break;
		  	case '##ITID##': resstr += 't' + i + obj.id; break;
		  	case '##LINK##': resstr += arr[i].url; break;
		  	case '##TEXT##': resstr += arr[i].text; break;
		  	case '##TRGT##': resstr += arr[i].target; break;
		  	default: resstr += arItem[j];
			}
	  }
    }
	str = obj.dt;
	nstrb = str.indexOf("##DVID##");
    ls = str.substring(0, nstrb);
    rs = str.substring(nstrb + 8);
    str = ls + obj.id + rs;
    nstrb = str.indexOf("##ITMS##");
    ls = str.substring(0, nstrb);
    rs = str.substring(nstrb + 8);
    str = ls + resstr + rs;
    document.write(str);
  }
}

function BSDiv(id, level, divTempl, linkTempl, curLinkTempl) {
  this.id = "d" + level + id;
  this.level = level;
  this.links = new Array();
  this.counter = 0;
  this.dt = divTempl;
  this.lt = linkTempl;
  this.clt = curLinkTempl;
}

BSD = BSDiv.prototype;

BSD.add = function(state, url, text, target) {
  this.links[this.counter++] = new BSItem(state, url, text, target);
}

BSD.itemOff = function(itm) {
  this.links[itm-1][0] = 0;
}

function BSItem(state, url, text, target) {
  this.state = state;
  this.url = url;
  this.text = text;
  this.target = (!target || target == "") ? "_top" : target;
}

BSI = BSItem.prototype;

divTempl = '<div id="##DVID##" class="bgDM" style="position:absolute; left: 1px; top: 1px; z-index: 30050; visibility: hidden;" onMouseOver="flClose=1; cancelCloseMenuLI(); return true" onMouseOut="flClose=0; hideMenuLI(); return true"><table border="0" cellspacing="0" cellpadding="0"><tr><td width="4" class="bgDMTop"><img src="' + appPath + 'images/z.gif" width="1" height="1"></td><td width="20" class="bgDMTop"><img src="' + appPath + 'images/z.gif" width="20" height="1"></td><td class="bgDMTop"><img src="' + appPath + 'images/z.gif" width="100" height="1"></td><td width="4"><img src="' + appPath + 'images/dm-cotr.gif" width="4" height="4"></td></tr>##ITMS##<tr><td width="4"><img src="' + appPath + 'images/dm-cobl.gif" width="4" height="4"></td><td width="20" class="bgDMBottom"><img src="' + appPath + 'images/z.gif" width="20" height="1"></td><td class="bgDMBottom"><img src="' + appPath + 'images/z.gif" width="1" height="1"></td><td width="4"><img src="' + appPath + 'images/dm-cobr.gif" width="4" height="4"></td></tr></table></div>';

linkTempl = '<tr onMouseOver="dmOver(this, 1); return false;" onMouseOut="dmOver(this, 0); return false;" onClick="dmGo(this); return false;"><td width="4" class="bgDMItemN"><img src="' + appPath + 'images/z.gif" width="1" height="1"></td><td width="20" class="bgDMItemN"><img src="' + appPath + 'images/z.gif" width="1" height="15"></td><td class="bgDMItemN"><nobr><a href="##LINK##" class="dmItemLinkN">##TEXT##</a></nobr></td><td width="4" class="bgDMItemN"><img src="' + appPath + 'images/z.gif" width="1" height="1"></td></tr>';

curLinkTempl = '<tr><td width="4" class="bgDMItemC"><img src="' + appPath + 'images/z.gif" width="1" height="1"></td><td width="20" class="bgDMItemC"><img src="/images/dm-bulet.gif" width="20" height="15"></td><td class="bgDMItemC"><nobr><span class="dmItemLinkC">##TEXT##</span></nobr></td><td width="4" class="bgDMItemC"><img src="' + appPath + 'images/z.gif" width="1" height="1"></td></tr>';

//*************

divModTempl = '<div id="##DVID##" class="bkDM" style="position:absolute; left: 1px; top: 1px; z-index:30070; visibility: hidden" onMouseOver="flClose=1; cancelCloseMenuLI(); return true" onMouseOut="flClose=0; hideMenuLI(); return true"><table border="0" cellspacing="0" cellpadding="0">##ITMS##</table></div>';

linkModTempl = '<tr><td class="bkDMItemN" onMouseOver="bkModDDOver(this, 1);" onMouseOut="bkModDDOver(this, 0);" onClick="totalHideMenuLI(); ##LINK##; return false" nowrap><nobr><span class="bkDMItemLinkN">##TEXT##</span></nobr></td></tr>';

curLinkModTempl = '';

sepModTempl = '';

//========================================================

var tm, flClose = 0, coM = 0, curTM = 1000;
upMenuIni = new Array();
for(i=0; i<100; i++) {
  upMenuIni[i] = 0;
}
upMenu = new Array();
for(i=0; i<100; i++) {
  upMenu[i] = 0;
}

function initMenuLI(nm) {
  upMenuIni[coM] = new Array();
  upMenuIni[coM][0] = nm;
  coM++;
}

function renderMenuLI() {
  var i;
  for(i = 0; i < coM; i++) {
    upMenu[i] = new Array();
    upMenu[i][0] = upMenuIni[i][0];
    upMenu[i][1] = layer('d1' + upMenuIni[i][0]);
		upMenu[i][2] = layer(upMenuIni[i][0]);
  }
}

function showMenuLI(mItemName) {
  var i, p, mPosX, mPosY;
  imPos = new Array();
  for(i=0; i<coM; i++) {
		if(!upMenu[i][0]) continue;
    if(mItemName != upMenu[i][0]) {
      if(upMenu[i][1] && upMenu[i][1].isExist() && upMenu[i][1].isVisible()) {
				upMenu[i][1].hide();
				flDMOpen = false;
				mmOver(document.getElementById(upMenu[i][0]), 0);
			}
    }
    else {
      cancelCloseMenuLI();
      if(upMenu[i][1] && upMenu[i][2] && upMenu[i][1].isExist()) {
        mPosX = upMenu[i][2].getAbsoluteLeft()  + upMenu[i][2].getWidth();
        if(mPosX + upMenu[i][1].getWidth() > getWindowWidth() + getScrollX())
          if((mPosY = upMenu[i][2].getAbsoluteLeft() - upMenu[i][1].getWidth()) < 0) mPosY = 0;
        mPosY = upMenu[i][2].getAbsoluteTop();
        if(mPosY + upMenu[i][1].getHeight() > getWindowHeight() + getScrollY())
					if((mPosX = getWindowHeight() + getScrollY() - upMenu[i][1].getHeight()) < 0) mPosX = 0;
        upMenu[i][1].moveTo(mPosX, mPosY);
				if(!isOpera) {
//					upMenu[i][1].css.width = upMenu[i][2].getWidth() + 2;
//					upMenu[i][1].object.firstChild.width = upMenu[i][2].getWidth() + 2;
					upMenu[i][1].css.width = upMenu[i][1].getWidth();
					upMenu[i][1].object.firstChild.width = upMenu[i][1].getWidth();
				}
        upMenu[i][1].show();
				flDMOpen = true;
        curTM = 1000;
      }
      else {
        curTM = 0;
      }
    }
  }
}

function hideMenuLI() {
  if(self.tm) clearTimeout(tm);
  if(!flClose) tm=setTimeout("totalHideMenuLI()", curTM);
}

function totalHideMenuLI(){
  var i;
  for(i=0; i<coM; i++) {
		if(!upMenu[i][0]) continue;
    if(upMenu[i][1] && upMenu[i][1].isExist()) {
			upMenu[i][1].hide();
			flDMOpen = false;
			mmOver(document.getElementById(upMenu[i][0]), 0);
		}
  }
}

function cancelCloseMenuLI(){
  if(self.tm) clearTimeout(tm);
}

//========================================================

function MM_reloadPage(init) {
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

