var ddSetFixedIntervals = new Object();
function ddSetFixed(ddId, size1, size2, selectedClassName)
{
  var dd, i, intervId;
  
  if (dd = document.getElementById(ddId))
  {
    if (dd.offsetWidth)
    {
       if (ddSetFixedIntervals[ddId])
         clearInterval(ddSetFixedIntervals[ddId]);
       if (dd.offsetWidth < size1)
         dd.style.width = size1;
       else if (dd.offsetWidth < size2)
         dd.style.width = size2;
    }
    for (i = 0; i < dd.options.length; i++)
      if (dd.options[i].selected && dd.options[i].value)
        dd.options[i].className = selectedClassName;
  }
}
function btnSetNormalSize(btnId, minSize, padding, maxLen) {
	var objBtn, divButtonSize, objBtnStyle, objBtnValue, buttonSizeInnerTD, valueButtonSize;
	if(isDOM && (objBtn = document.getElementById(btnId)) && (divButtonSize = document.getElementById('idDivButtonSize'))) {
		try {
			objBtnStyle = (isIE) ? objBtn.currentStyle : getComputedStyle(objBtn, null);
		}
		catch(e){}
		objBtnValue = btnSetSeparators(objBtn, maxLen);
		divButtonSize.innerHTML = '<table id="idTableButtonSize" border="0" cellspacing="0" cellpadding="0"><tr><td id="idButtonSizeInnerTD" style="font-family:' + objBtnStyle.fontFamily + ';font-size:' + objBtnStyle.fontSize + ';font-style:' + objBtnStyle.fontStyle + ';font-weight:' + objBtnStyle.fontWeight + ';font-variant:' + objBtnStyle.fontVariant + ';letter-spacing:' + objBtnStyle.letterSpacing + ';word-spacing:' + objBtnStyle.wordSpacing + ';text-indent:' + objBtnStyle.textIndent + ';white-space: nowrap;" nowrap><nobr>' + objBtnValue + '</nobr></td></tr></table>';
		if(buttonSizeInnerTD = document.getElementById('idButtonSizeInnerTD')) {
		  if (!padding || padding < 4) padding = 11;
			valueButtonSize = buttonSizeInnerTD.offsetWidth + padding + padding;
			objBtn.style.width = ((valueButtonSize > minSize) ? valueButtonSize : minSize) + 'px';
		}
	}
}
function btnSetSeparators(objBtn, maxLen, sep, rep)
{
  var isInnerHTML, str, i1, i2, i3, i4;
  isInnerHTML = objBtn.tagName.toUpperCase() == 'BUTTON' && objBtn.innerHTML != '';
  str = isInnerHTML ? objBtn.innerHTML : objBtn.value;
  if (maxLen && maxLen > 0 && str.length > maxLen) {
    if (!sep) sep = ' ';
    if (!rep) rep = '\n';
    i1 = 0;
    i3 = -sep.length;
    do { do {
        i2 = i3 + sep.length;
        i3 = str.indexOf(sep, i2);
      } while (i3 > 0 && (i3 - i1) < maxLen);
      if (i2 > i1) {
        i4 = i2 - sep.length;
        str = str.substr(0, i4) + rep + str.substr(i2);
        if (i3 > 0) i3 = i4 + rep.Length;
      }
      i1 = i3;
    } while (i1 > 0);
    if (isInnerHTML) objBtn.innerHTML = str;
    else objBtn.value = str;
  }
  return str.replace(/\n/g,'<br>');
}

//========================================================

var mmOTM = false;
var flUpMenuShow = false;
var mmOutObj, mmOutSt;
var mmItems = new Array();
var coMMItem = 0;
var mmOverColorN = "#F1F1F1";
var mmOverColorC = "#FFFFFF";
var mmOverColorO = "#CCCCCC";
var mmOverBorderN = "#F1F1F1";
var mmOverBorderC = "#999999";
var mmOverBorderO = "#999999";

function mmOut(obj, st) {
	if(isDOM && obj && obj.id) {
		if(mmOTM) {
			clearTimeout(mmOTM);
			mmOTM = false;
		}
		mmOutObj = obj;
		mmOutSt = st;
		if(flUpMenuShow)
			mmOTM = setTimeout('mmOutDo();', curTM);
		else
			mmOTM = setTimeout('mmOutDo();', 5);
	}
}
function mmOutDo() {
	if(isDOM && mmOutObj && mmOutObj.id) {
		if(mmOTM) {
			clearTimeout(mmOTM);
			mmOTM = false;
		}
		var objStyle = (mmOutObj.style) ? mmOutObj.style : mmOutObj;
		objStyle.backgroundColor = (mmOutSt) ? mmOverColorC : mmOverColorN;
		objStyle.borderColor = (mmOutSt) ? mmOverBorderC : mmOverBorderN;
	}
}

function mmOver(obj) {
	if(isDOM && obj && obj.id) {
		if(mmOTM) {
			clearTimeout(mmOTM);
			mmOTM = false;
		}
		mmOutDo();
		mmOutObj = obj;
		var objStyle = (obj.style) ? obj.style : obj;
		objStyle.backgroundColor = mmOverColorO;
		objStyle.borderColor = mmOverBorderO;
	}
}

function mmGo(obj) {
	if(isDOM && obj) {
		event.cancelBubble = true;
		var objA = obj.getElementsByTagName("A");
		if(objA && objA[0]) {
		  var e;
		  try {
			  window.location = objA[0].href;
			} catch (e) {}
		}
	}
}

//========================================================

var dmOverColorN = "#F1F1F1";
var dmOverColorO = "#CCCCCC";
var dmOverColorC = "#FFFFFF";
var dmOverBorderN = "#F1F1F1";
var dmOverBorderO = "#999999";
var dmOverBorderC = "#999999";

function dmOver(obj, st) {
	if(isDOM && obj) {
		var objStyle = (obj.style) ? obj.style : obj;
		objStyle.backgroundColor = dmOverColorO;
		objStyle.borderColor = dmOverBorderO;
	}
}

function dmOut(obj, st) {
	if(isDOM && obj) {
		var objStyle = (obj.style) ? obj.style : obj;
		objStyle.backgroundColor = (st) ? dmOverColorC : dmOverColorN;
		objStyle.borderColor = (st) ? dmOverBorderC : dmOverBorderN;
	}
}

//========================================================

var tmOverColorN = "#F47E2F";
var tmOverColorO = "#F48337";
var tmOverBorderN = "#F47E2F";
var tmOverBorderO = "#FFC096";

function tmOut(obj) {
	if(isDOM && obj) {
		var objStyle = (obj.style) ? obj.style : obj;
		objStyle.backgroundColor = tmOverColorN;
		objStyle.borderColor = tmOverBorderN;
	}
}

function tmOver(obj) {
	if(isDOM && obj) {
		var objStyle = (obj.style) ? obj.style : obj;
		objStyle.backgroundColor = tmOverColorO;
		objStyle.borderColor = tmOverBorderO;
	}
}

//========================================================

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, parentObj, imgObj;
  arLt = new Array();
  arClt = new Array();
	arClLt = 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);
		if(obj.cllt) {
			str = obj.cllt; coClLt = 0;
			nstrb = 0;
			while((nstre = str.indexOf("##", nstrb)) != -1) {
				arClLt[coClLt++] = str.substring(nstrb, nstre);
				arClLt[coClLt++] = str.substring(nstre, nstre + 8);
				nstrb = nstre + 8;
			}
			arClLt[coClLt] = str.substring(nstrb);
		}
		arr = obj.links;
		resstr = "";
    for(i = 0; i < obj.counter; i++) {
			if(arr[i].state < 5) {
	  		if(arr[i].state == 1) {
	    		arItem = arLt;
					coItem = coLt;
	  		}
	  		else if(arr[i].state == 0) {
	    		arItem = arClt;
					coItem = coClt;
	  		}
	  		else if(arr[i].state == 2) {
	    		arItem = arClLt;
					coItem = coClLt;
	  		}
	  		for(j = 0; j <= coItem; j++) {
	    		switch (arItem[j]) {
		  			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;
						case '##IEST##': resstr += (isIE) ? 'style="width: 100%;"' : ''; break;
						case '##LEVL##': resstr += (arr[i].level) ? (arr[i].level * 11) + 'px;' : '0px;'; break;
		  			default: resstr += arItem[j];
					}
	  		}
			}
			else {
				resstr += obj.sep;
			}
    }
		str = obj.dt;
		if((nstrb = str.indexOf("##DVID##")) != -1) {
			ls = str.substring(0, nstrb);
			rs = str.substring(nstrb + 8);
			str = ls + obj.id + rs;
		}
		if((nstrb = str.indexOf("##CUPA##")) != -1) {
			ls = str.substring(0, nstrb);
			rs = str.substring(nstrb + 8);
			str = ls + obj.current + rs;
		}
		if((nstrb = str.indexOf("##IESW##")) != -1) {
			ls = str.substring(0, nstrb);
			rs = str.substring(nstrb + 8);
			str = ls + ((isIE) ? 'style="width: 25px;"' : '') + rs;
		}
    if((nstrb = str.indexOf("##ITMS##")) != -1) {
			ls = str.substring(0, nstrb);
			rs = str.substring(nstrb + 8);
			str = ls + resstr + rs;
		}
    document.write(str);
  }
}

function BSDiv(id, flCur, divTempl, linkTempl, curLinkTempl, sepTempl, lvl) {
  this.id = "d" + id;
	this.parentId = id;
  this.current = flCur;
  this.links = new Array();
  this.counter = 0;
  this.dt = divTempl;
  this.lt = linkTempl;
  this.clt = curLinkTempl;
	this.cllt = (eval('curLinkTempl' + 'Active')) ? eval('curLinkTempl' + 'Active') : false;
	this.sep = sepTempl;
	this.level = (lvl) ? lvl : false;
}

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" ##IESW## onMouseOver="if(mmOTM) { clearTimeout(mmOTM); mmOTM = false; } flClose=1; cancelCloseMenuLI(); return true" onMouseOut="flClose=0; hideMenuLI(##CUPA##); return true">##ITMS##</div>';

linkTempl = '<div class="bgDMItemN" ##IEST## onMouseOver="dmOver(this); return false;" onMouseOut="dmOut(this); return false;" onClick="mmGo(this); return false;"><nobr><a href="##LINK##" onClick="event.cancelBubble = true;">##TEXT##</a></nobr></div>';

curLinkTemplActive = '<div class="bgDMItemC" ##IEST## onMouseOver="dmOver(this); return false;" onMouseOut="dmOut(this, 1); return false;" onClick="mmGo(this); return false;"><nobr><a href="##LINK##" onClick="event.cancelBubble = true;">##TEXT##</a></nobr></div>';

curLinkTempl = '<div class="bgDMItemC">##TEXT##</div>';

//********

tmDivTempl = '<div id="##DVID##" class="bgDT" onMouseOver="flClose=1; cancelCloseMenuLI(); return true" onMouseOut="flClose=0; hideMenuLI(); return true">##ITMS##</div>';

tmLinkTempl = '<div class="bgDTItemN"><nobr><a href="##LINK##" onClick="event.cancelBubble = true;">##TEXT##</a></nobr></div>';

tmCurLinkTempl = '<div class="bgDTItemC"><nobr>##TEXT##</nobr></div>';

tmSepTempl = '<div class="bgDTSep"><img src="' + applicationPath + 'images/z.gif" width="1" height="1" border="0"></div>';

//========================================================

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('d' + upMenuIni[i][0]);
		upMenu[i][2] = layer(upMenuIni[i][0]);
		upMenu[i][3] = layer('tmidall');
  }
}

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].hide();
    }
    else {
      cancelCloseMenuLI();
      if(upMenu[i][1] && upMenu[i][1].isExist()) {
        mPosX = upMenu[i][2].getAbsoluteLeft() + upMenu[i][2].getWidth() - 1;
        if(mPosX + upMenu[i][1].getWidth() - getScrollX() > getWindowWidth()) {
          if((mPosX = getWindowWidth() + getScrollX() - upMenu[i][1].getWidth()) < getScrollX())
						mPosX = getScrollX();
				}
				else if(mPosX < getScrollX()) {
					mPosX = getScrollX();
				}
        mPosY = upMenu[i][2].getAbsoluteTop() - 3;
        if(mPosY + upMenu[i][1].getHeight() - getScrollY() > getWindowHeight()) {
          if((mPosY = getWindowHeight() + getScrollY() - upMenu[i][1].getHeight()) < getScrollY())
						mPosY = getScrollY();
				}
				else if(mPosY < getScrollY()) {
					mPosY = getScrollY();
				}
        upMenu[i][1].moveTo(mPosX, mPosY);
				if(isIE) {
					upMenu[i][1].object.style.width = upMenu[i][1].getWidth() - 4;
//					upMenu[i][1].object.firstChild.style.width = "100%";
				}
				flUpMenuShow = true;
        upMenu[i][1].show();
        curTM = 500;
      }
      else {
        curTM = 0;
      }
    }
  }
}

//********

function showMenuTM(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() - 8;
        if(mPosX + upMenu[i][1].getWidth() - getScrollX() > getWindowWidth()) {
          if((mPosX = getWindowWidth() + getScrollX() - upMenu[i][1].getWidth()) < getScrollX())
						mPosX = getScrollX();
				}
				else if(mPosX < getScrollX()) {
					mPosX = getScrollX();
				}
        mPosY = upMenu[i][3].getAbsoluteTop() + upMenu[i][3].getHeight();
        if(mPosY + upMenu[i][1].getHeight() - getScrollY() > getWindowHeight()) {
          if((mPosY = getWindowHeight() + getScrollY() - upMenu[i][1].getHeight()) < getScrollY())
						mPosY = getScrollY();
				}
				else if(mPosY < getScrollY()) {
					mPosY = getScrollY();
				}
        upMenu[i][1].moveTo(mPosX, mPosY);
				if(!isOpera) {
					document.getElementById('d' + upMenu[i][0]).firstChild.width = upMenu[i][2].getWidth();
				}
				flUpMenuShow = true;
        upMenu[i][1].show();
        curTM = 500;
      }
      else {
        curTM = 0;
      }
    }
  }
}

function hideMenuLI(st) {
  if(self.tm) clearTimeout(tm);
  if(!flClose) tm = setTimeout("totalHideMenuLI()", curTM);
	if(!mmOTM && mmOutObj) mmOut(mmOutObj, st);
	flUpMenuShow = false;
}

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();
  }
}

function cancelCloseMenuLI(){
  if(self.tm) clearTimeout(tm);
	flUpMenuShow = true;
}

//========================================================

var icoSubP = new Image(); icoSubP.src = applicationPath + 'images/pl1.gif';
var icoSubM = new Image(); icoSubM.src = applicationPath + 'images/mi1.gif';

function writeSubDC(pId, st) {
	if((isDOM || isIE) && document.body && document.body.style && document.body.style.display != undefined) {
		var str;
		switch(st) {
			case 1: str = '<div onClick="viewSubDC(\'' + pId + '\')" style="cursor: pointer; cursor: hand;"><img id="' + pId + 'i" src="' + applicationPath + 'images/pl1.gif" width="11" height="11" border="0" align="absmiddle">'; break;
			case 2: str = '</div><div id="' + pId + '" style="display: none;">'; break;
			case 3: str = '</div>'; break;
		}
		document.write(str);
	}
	else if(st == 1) {
		document.write('<img id="' + pId + 'i" src="' + applicationPath + 'images/mi1.gif" width="11" height="11" border="0" align="absmiddle">');
	}
}

function viewSubDC(pId) {
	if((isIE4 && document.all[pId]) || document.getElementById(pId)) {
		var obj = (isIE4) ? document.all[pId] : document.getElementById(pId);
		obj.style.display = (obj.style.display == 'none') ? 'inline' : 'none';
		var imgObj = (isIE4) ? document.all[pId + 'i'] : document.getElementById(pId + 'i');
		imgObj.src = (obj.style.display == 'none') ? icoSubP.src : icoSubM.src;
	}
}

//========================================================

var icoBtnV = new Image(); icoBtnV.src = applicationPath + 'images/btn-1-view-bg.gif';
var icoBtnH = new Image(); icoBtnH.src = applicationPath + 'images/btn-1-hide-bg.gif';

//========================================================

var icoBtnDDMCView = new Image(); icoBtnDDMCView.src = applicationPath + 'images/btn-ddmc-view-bg.gif';
var icoBtnDDMCHide = new Image(); icoBtnDDMCHide.src = applicationPath + 'images/btn-ddmc-hide-bg.gif';
var multiChoiceImg = new Array();
multiChoiceImg[0] = new Image();
multiChoiceImg[1] = new Image();
multiChoiceImg[0].src = applicationPath + 'images/pl2.gif';
multiChoiceImg[1].src = applicationPath + 'images/mi2.gif';
var multiChoice = new Array();
var coMultiChoice = 0;
var multiChoiceST = new Array();
var coMultiChoiceST = 0;
var flMCInitState;
var colorMCNormal = '#999999';
var colorMCAlert = '#FF0000';

Array.prototype.exval = function(k) {
	var i;
	if(k == null) return false;
	for(i = 0; i < this.length; i++) {
		if(this[i] == k)
			return true;
	}
	return false;
}

Array.prototype.addval = function(k) {
	var i;
	if(k == null) return false;
	for(i = 0; i < this.length; i++) {
		if(this[i] == k)
			return true;
	}
	this.push(k);
	return true;
}

Array.prototype.removeval = function(k) {
	var i;
	if(k == null) return false;
	for(i = 0; i < this.length; i++) {
		if(this[i] == k) {
			this.splice(i, 1);
			return true;
		}
	}
	return true;
}

String.prototype.addval = function(a) {
	var at, st;
	if(a == null) return false;
	if(this == '')
		return a;
	at = this.split('|');
	st = at.addval(a);
	if(st)
		return at.join('|');
	else
		return false;
}

String.prototype.removeval = function(a) {
	var at, st;
	if(a == null) return false;
	at = this.split('|');
	st = at.removeval(a);
	if(st)
		return (at.length) ? at.join('|') : '';
	else
		return false;
}

var mcGenCo, mcCoLevel, mcPreSum, mcPreSumChecked;

function addMultiChoiceST(pId, st, txView, txHide, btnClass, flMCIS, itStrT, itMax, hfId, mcValue, mcChecked, strsValidate, isDisabled) {
	var i;
	if((isDOM || isIE) && document.body && document.body.style && document.body.style.display != undefined) {
		if(flMCIS != undefined) {
			flMCInitState = flMCIS;
		}
		multiChoiceST[coMultiChoiceST] = new Array();
		multiChoiceST[coMultiChoiceST][0] = pId;
		multiChoiceST[coMultiChoiceST][1] = (itStrT) ? itStrT : '';
		multiChoiceST[coMultiChoiceST][2] = (itMax) ? itMax : 0;
		var mcCheckedClr = new Array();
		if(mcChecked && mcChecked[0] != '') {
			for(i = 0; i < mcChecked.length; i++) {
				mcCheckedClr[i] = (((mcChecked[i] + '').split('-'))[0]) * 1;
			}
		}
		mcGenCo = 0;
		mcCoLevel = 0;
		if(st) {
			document.write('<input id="' + pId + '" type="button" name="' + pId + '" value="' + ((flMCInitState) ? txHide : txView) + '" align="absmiddle" class="' + btnClass + '" style="background-image: url(' + ((flMCInitState) ? applicationPath + 'images/btn-ddmc-hide-bg.gif' : applicationPath + 'images/btn-ddmc-view-bg.gif') + ');" onClick="viewMultiChoiceST(\'' + pId + '\', \'' + txView + '\', \'' + txHide + '\'); return false;">');
		}
		document.write('<div id="' + pId + 'div" style="display: ' + ((flMCInitState) ? 'block' : 'none') + ';"><div id="' + pId + '_Body">');
		renderMultiChoiceST(pId, hfId, mcValue, mcCheckedClr, strsValidate, isDisabled, false);
		document.write('</div></div>');
		document.getElementById(hfId).value = (mcChecked && mcChecked[0] != '') ? mcChecked.join('|') : '';
		coMultiChoiceST++;
	}
	else {
		document.write('<span style="font-size: 150%; font-weight: bold; color: #FF0000;">!!!!!!!!!!!!!!!</span>');
	}
}

function renderMultiChoiceST(pId, hfId, mcValue, mcCheckedClr, strsValidate, isDisabled, flParChecked) {
	var i, str, inpId, strL, strS, flCurChecked, cl;
	var grpName;
	if(mcCoLevel != 0) {
		document.write('<div id="' + pId + '_' + (mcGenCo-1) + '_Childs" class="bgDDMCLevel"' + ((flParChecked) ? '' : ' style="display:none;"') + '>');
		grpName = pId + '_' + (mcGenCo-1) + '_CheckBox_SubL';
	}
	else {
		grpName = pId + '_CheckBox_TopL';
	}
	for(i = 0; i < mcValue.length; i++) {
		if(typeof(mcValue[i]) == 'string') {
			mcPreSum = 0;
			mcPreSumChecked = 0;
			flCurChecked = mcCheckedClr.exval(mcGenCo);
			if(flCurChecked && typeof(mcValue[i+1]) == 'object') {
				presumMultiChoiceST(mcValue[i+1], mcCheckedClr);
			}
			str = '<div class="bgDDMCItem"><nobr>';
			if(typeof(mcValue[i+1]) == 'object') {
				str += '<img src="' + ((flCurChecked) ? multiChoiceImg[1].src : multiChoiceImg[0].src) + '" width="12" height="15" border="0" align="absmiddle" style="cursor: ' + ((isIE) ? 'hand' : 'pointer') + ';" onclick="levelMultiChoice(this);">';
			}
			else {
				str += '<img src="' + applicationPath + 'images/z.gif" width="12" height="1" border="0" align="absmiddle">';
			}
			inpId = pId + '_' + mcGenCo + '_CheckBox';
			strT = (typeof(mcValue[i+1]) == 'object') ? 'levelMultiChoice(\'' + inpId + '\', true);' : '';
			strT += 'sumMultiChoiceST(\'' + inpId + '\', \'' + pId + '\');';
			str += '<input id="' + inpId + '" name="' + grpName + '" type="checkbox" class="ckDDChoice" hfid="' + hfId + '" coItems="' + mcPreSumChecked + '" st="' + ((flCurChecked) ? '1' : '0') + '" onchange="addRemoveCBStateMultiChoiceST(this);' + strT + ((strsValidate[mcCoLevel]) ? strsValidate[mcCoLevel] : '') + '"  onclick="addRemoveCBStateMultiChoiceST(this);' + strT + ((strsValidate[mcCoLevel]) ? strsValidate[mcCoLevel] : '') + '" value="' + mcGenCo + '-' + mcCoLevel + '" ' + ((flCurChecked) ? 'checked' : '') + ' align="absmiddle"' + ((isDisabled) ? ' disabled' : '') + '>';
			str += '</nobr>';
			strT = '';
			if(mcPreSumChecked) {
				cl = (multiChoiceST[coMultiChoiceST][2] && mcPreSumChecked > multiChoiceST[coMultiChoiceST][2]) ? colorMCAlert : colorMCNormal;
				if(multiChoiceST[coMultiChoiceST][1] != '') {
					strT = multiChoiceST[coMultiChoiceST][1].replace(/#DD#/, '<span style="color: ' + cl + ' ">' + mcPreSumChecked + '</span>');
					strT = strT.replace(/#FF#/, mcPreSum);
				}
				else {
					strT = '<span style="color: ' + cl + ' ">' + coChecked + '</span>/' + objMCInInputs.length;
				}
				strT = ' <span class="lblCounterSpan" style="color: ' + colorMCNormal + ' ">(' + strT + ')</span>';
			}
			str += '<label id="' + pId + '_' + mcGenCo + '_Label" class="lbDDMulti" for="' + pId + '_' + mcGenCo + '_CheckBox"' + ((isDisabled) ? ' style="color: #cccccc"' : '') + '>' + mcValue[i] + strT + '</label>';
			str += '</div>';
			document.write(str);
			mcGenCo++;
		}
		else {
			mcCoLevel++;
			renderMultiChoiceST(pId, hfId, mcValue[i], mcCheckedClr, strsValidate, isDisabled, flCurChecked);
			mcCoLevel--;
		}
	}
	if(mcCoLevel != 0) {
		document.write('</div>');
	}
}

function presumMultiChoiceST(mcValue, mcCheckedClr) {
	var i;
	for(i = 0; i < mcValue.length; i++) {
		if(typeof(mcValue[i]) == 'string') {
			mcPreSum++;
			if(mcCheckedClr.exval(mcGenCo + mcPreSum)) {
				mcPreSumChecked++;
			}
		}
		else {
			presumMultiChoiceST(mcValue[i], mcCheckedClr);
		}
	}
}

function addRemoveCBStateMultiChoiceST(cb) {
	var objHF = document.getElementById(cb.getAttribute('hfid', 0));
	if(objHF)
		objHF.value = (cb.checked) ? objHF.value.addval(cb.value) : objHF.value.removeval(cb.value);
}

function viewMultiChoiceST(targetId, txView, txHide) {
	if((isIE4 && document.all[targetId + 'div']) || document.getElementById(targetId + 'div')) {
		var btn = (isIE4) ? document.all[targetId] : document.getElementById(targetId);
		var obj = (isIE4) ? document.all[targetId + 'div'] : document.getElementById(targetId + 'div');
		if(obj.style.display == 'none') {
			if (btn)
			{ btn.value = txHide;
			  btn.style.backgroundImage = 'url(' + icoBtnDDMCHide.src + ')';
			}
			obj.style.display = 'block';
		}
		else {
		  if (btn)
		  {
			  btn.value = txView;
			  btn.style.backgroundImage = 'url(' + icoBtnDDMCView.src + ')';
			} 
			obj.style.display = 'none';
		}
	}
}

function sumMultiChoiceST(objId, parId, coItr, coFromChild, stSub, flCoItrStop) {
	var i, objPar, objOut, subLevelObj, objMCLabel, objSp, coChecked, flFirst = false;
	var objInput = document.getElementById(objId);
	if(coItr == null && ((objInput.getAttribute('st', 0) == 1 && objInput.checked == true) || (objInput.getAttribute('st', 0) == 0 && objInput.checked == false))) {
		return;
	}
	else {
		if(objInput.checked == true) {
			objInput.setAttribute('st', 1, 0);
		}
		else {
			objInput.setAttribute('st', 0, 0);
		}
	}
	if(coItr == null) {
		coItr = 1;
		flFirst = true;
		flCoItrStop = false;
	}
	if(coFromChild == null) {
		coFromChild = objInput.getAttribute('coItems', 0) * 1 + 1;
	}
	for(i = 0; i < multiChoiceST.length; i++) {
		if(multiChoiceST[i][0] == parId) {
			var multiCMT = multiChoiceST[i];
			var multiCMTId = multiChoiceST[i][0] + 'div';
			break;
		}
	}
	if(objPar = document.getElementById(objInput.name.substring(0, objInput.name.length-5))) {
		objOut = objPar;
		while(objOut && objOut.parentNode && objOut.nodeName.toUpperCase() != 'DIV') {
			objOut = objOut.parentNode;
		}
		if(objOut && objOut.nodeName && objOut.nodeName.toUpperCase() == 'DIV') {
			objMCLabel = objOut.getElementsByTagName('LABEL')[0];
			objSp = objMCLabel.getElementsByTagName('SPAN');
			for(i = 0; i < objSp.length; i++) {
				if(objSp[i].className == 'lblCounterSpan') {
					objSp[i].removeNode(true);
					break;
				}
			}
			coChecked = objPar.getAttribute('coItems', 0) * 1;
			if(objInput.checked && !stSub) {
				if(!flFirst && !flCoItrStop) {
					coItr++;
				}
				if(!objPar.checked) {
					objPar.checked = true;
				}
				else {
					flCoItrStop = true;
				}
				addRemoveCBStateMultiChoiceST(objPar);
				coChecked += coItr;
				objPar.setAttribute('coItems', coChecked, 0);
				stSub = false;
			}
			else {
				coChecked -= coFromChild;
				if(coChecked < 0)
					coChecked = 0;
				objPar.setAttribute('coItems', coChecked, 0);
				stSub = true;
			}
			if(coChecked > 0) {
				subLevelObj = document.getElementById(objPar.id.substring(0, objPar.id.length - 8) + 'Childs');
				cl = (multiCMT[2] && coChecked > multiCMT[2]) ? colorMCAlert : colorMCNormal;
				if(multiCMT[1] != '') {
					str = multiCMT[1].replace(/#DD#/, '<span style="color: ' + cl + ' ">' + coChecked + '</span>');
					str = str.replace(/#FF#/, subLevelObj.getElementsByTagName('INPUT').length);
				}
				else {
					str = '<span style="color: ' + cl + ' ">' + coChecked + '</span>/' + subLevelObj.getElementsByTagName('INPUT').length;
				}
				objMCLabel.innerHTML = objMCLabel.innerHTML + ' ' + '<span class="lblCounterSpan" style="color: ' + colorMCNormal + ' ">(' + str + ')</span>';
			}
		}
		sumMultiChoiceST(objPar.id, parId, coItr, coFromChild, stSub, flCoItrStop);
	}
	if(flFirst)
		objInput.setAttribute('coItems', 0, 0);
}

function levelMultiChoice(obj, st) {
	if(isDOM && document.body && document.body.style && document.body.style.display != undefined) {
		var i;
		var subLevelObj, subLevelDIV, subLevelCB, objImages, objMCLabel, objSp, objOut, aSI;
		if(st) {
			obj = document.getElementById(obj);
		}
		subLevelObj = obj.parentNode;
		while(subLevelObj && subLevelObj.parentNode && subLevelObj.nodeName.toUpperCase() != 'DIV') {
			subLevelObj = subLevelObj.parentNode;
		}
		while((subLevelObj && subLevelObj.nextSibling) && (subLevelObj.nodeName.toUpperCase() != 'DIV' || subLevelObj.className != 'bgDDMCLevel')) {
			subLevelObj = subLevelObj.nextSibling;
		}
		if (!subLevelObj || subLevelObj.nodeName.toUpperCase() != 'DIV' || subLevelObj.className != 'bgDDMCLevel')
			return;
		if(obj.nodeName.toUpperCase() == 'INPUT' && !obj.checked) {
			levelMultiChoiceST(eval('document.forms[0].' + obj.id + '_SubL'));
			objOut = obj;
			while(objOut && objOut.parentNode && objOut.nodeName.toUpperCase() != 'DIV') {
				objOut = objOut.parentNode;
			}
			objMCLabel = objOut.getElementsByTagName('LABEL')[0];
			objSp = objMCLabel.getElementsByTagName('SPAN');
			for(j = 0; j < objSp.length; j++) {
				if(objSp[j].className == 'lblCounterSpan') {
					objSp[j].removeNode(true);
					break;
				}
			}
			if(!st) {
				subLevelObj.style.display = 'none';
				if((objImages = objOut.getElementsByTagName('IMG')[0]) && objImages.src == multiChoiceImg[1].src) {
					objImages.src = multiChoiceImg[0].src
				}
			}
		}
		else if(obj.nodeName.toUpperCase() == 'IMG') {
			objOut = obj;
			while(objOut && objOut.parentNode && objOut.nodeName.toUpperCase() != 'DIV') {
				objOut = objOut.parentNode;
			}
			if(subLevelObj.style.display == 'none') {
				subLevelObj.style.display = 'block';
				if((objImages = objOut.getElementsByTagName('IMG')[0]) && objImages.src == multiChoiceImg[0].src) {
					objImages.src = multiChoiceImg[1].src
				}
			}
			else {
				subLevelObj.style.display = 'none';
				if((objImages = objOut.getElementsByTagName('IMG')[0]) && objImages.src == multiChoiceImg[1].src) {
					objImages.src = multiChoiceImg[0].src
				}
			}
		}
	}
}

function levelMultiChoiceST(aSI) {
	var i, objOut, objMCLabel, objSp, parSI;
	var aSubInp = new Array();
	if(!aSI.length)
		aSubInp[0] = aSI;
	else
		aSubInp = aSI;
	for(i = 0; i < aSubInp.length; i++) {
		if(aSubInp[i].checked) {
			if((parSI = eval('document.forms[0].' + aSubInp[i].id + '_SubL'))) {
				levelMultiChoiceST(parSI);
			}
			aSubInp[i].checked = false;
			aSubInp[i].setAttribute('st', 0, 0);
			aSubInp[i].setAttribute('coItems', 0, 0);
			addRemoveCBStateMultiChoiceST(aSubInp[i]);
			objOut = aSubInp[i];
			while(objOut && objOut.parentNode && objOut.nodeName.toUpperCase() != 'DIV') {
				objOut = objOut.parentNode;
			}
			objMCLabel = objOut.getElementsByTagName('LABEL')[0];
			objSp = objMCLabel.getElementsByTagName('SPAN');
			for(j = 0; j < objSp.length; j++) {
				if(objSp[j].className == 'lblCounterSpan') {
					objSp[j].removeNode(true);
					break;
				}
			}
		}
	}
}

//========================================================

var isOK;

function checkEmail(fld) {
  var i = 0, coS = 0, cStr, flDot = true;
  var str = document.forms['form3'].elements[fld].value;
  while((i = str.indexOf('@', i + 1)) != -1) coS++;
  while((i = str.indexOf('.', i + 1)) != -1)
    if(str.indexOf('.', i + 1) != -1 && (str.indexOf('.', i + 1) - i) == 1) flDot = false;
  if(coS == 1 && flDot && str.indexOf(' ') == -1 && str.charAt(0) != '.') {
    var lStr = str.substring(0, str.indexOf('@'));
	var rStr = str.substring(str.indexOf('@') + 1, str.length);
	if(lStr.charAt(lStr.length - 1) != '.' && rStr.charAt(0) != '.') {
	  if((coS = rStr.lastIndexOf('.')) != -1) {
	    if((str.lastIndexOf('.') - str.indexOf('@')) > 1) {
	      rStr = rStr.substring(coS + 1, str.length);
	      if(rStr.length > 1) {
		    isOK = true;
		    return true;
		  }
	    }
      }
	}
  }
  isOK = false;
  alert('Please enter valid e-mail');
  return false;
}



dWriteDiv = '<div id="zoomDIVfix" class="divFixSize">WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW</div>';
dWriteDiv += '<div id="zoomDIV" class="divSize" onresize="resDoc();">WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW</div>';

function resDoc() {
  var cz = Math.round(document.all.zoomDIV.offsetWidth / document.all.zoomDIVfix.offsetWidth * 100);
  if(cz > 95 && cz < 105) cz = 100;
  document.body.style.zoom = cz + "%";
}

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);

//=========== BOXES HEIGHTS ADJUSTMENT =============================================

var arrHomeBoxes = new Array();

function initHomeBoxes(id) {
  var objHomeBoxes;
  var objHomeBoxesTD = new Array();
  var objYellowBox = new Array();
  var objListBox = new Array();
  var objActionBoxes = new Array();
	var i, j, k, n, objIn, objInTR, objInTD, objInTable, flNextSiblingTR, flNextSiblingTD;
	objHomeBoxes = document.getElementById(id);
	objInTR = objHomeBoxes.getElementsByTagName('TR')[0];
	flNextSiblingTR = true;
	i = 0;
	while(flNextSiblingTR) {
		objHomeBoxesTD[i] = new Array();
		objInTD = objInTR.getElementsByTagName('TD')[0];
		flNextSiblingTD = true;
		j = 0;
		while(flNextSiblingTD) {
			objHomeBoxesTD[i][j] = new Array();
			objHomeBoxesTD[i][j][0] = objInTD;
			do {
				if(objInTD && objInTD.nextSibling)
					objInTD = objInTD.nextSibling;
				else
					flNextSiblingTD = false;
			} while(flNextSiblingTD && objInTD.nodeName.toUpperCase() != 'TD');
			j++;
		}
		do {
			if(objInTR && objInTR.nextSibling)
				objInTR = objInTR.nextSibling;
			else
				flNextSiblingTR = false;
		} while(flNextSiblingTR && objInTR.nodeName.toUpperCase() != 'TR');
		i++;
	}	
	for(i = 0; i < objHomeBoxesTD.length; i++) {
		if(!objHomeBoxesTD[i][1]) continue;
		for(j = 0; j < objHomeBoxesTD[i].length; j++) {
			objIn = objHomeBoxesTD[i][j][0];
			objInTable = objHomeBoxesTD[i][j][0].getElementsByTagName('TABLE');
			objHomeBoxesTD[i][j][1] = objInTable[0];
			objHomeBoxesTD[i][j][2] = objHomeBoxesTD[i][j][1].className;
			switch(objHomeBoxesTD[i][j][2]) {
				case 'idYellowBox':
					objIn = objHomeBoxesTD[i][j][1].getElementsByTagName('TD');
					objHomeBoxesTD[i][j][3] = objIn[4];
					break;
				case 'idListBox':
					objIn = objHomeBoxesTD[i][j][1].getElementsByTagName('TD');
					objHomeBoxesTD[i][j][3] = objIn[0];
					for(k = 1; k < objIn.length; k++) {
						if(objIn[k].className == 'bgBBTItemBG') {
							objHomeBoxesTD[i][j][4] = objIn[k];
						}
						else if(objIn[k].className == 'bgBBTSeeAll') {
							objHomeBoxesTD[i][j][5] = objIn[k];
						}
					}
					break;
				case 'idActionBox':
					objIn = objHomeBoxesTD[i][j][1].getElementsByTagName('TD');
					objHomeBoxesTD[i][j][3] = objIn[0];
					for(k = 1; k < objIn.length; k++) {
						switch(objIn[k].className) {
							case 'bgOBCenterLev1':
								objHomeBoxesTD[i][j][4] = objIn[k];
								break;
							case 'bgOBCenterLev3':
								objHomeBoxesTD[i][j][5] = objIn[k];
								break;
							case 'bgOBSeeAll':
								objHomeBoxesTD[i][j][6] = objIn[k];
								break;
						}
					}
					break;
			}
		}
	}
	i = arrHomeBoxes.length;
	arrHomeBoxes[i] = new Object();
	arrHomeBoxes[i].id = id;
	arrHomeBoxes[i].objHomeBoxes = objHomeBoxes;
  arrHomeBoxes[i].objHomeBoxesTD = objHomeBoxesTD;
  arrHomeBoxes[i].objYellowBox = objYellowBox;
  arrHomeBoxes[i].objListBox = objListBox;
  arrHomeBoxes[i].objActionBoxes = objActionBoxes;
  arrHomeBoxes[i].rhbTM = false;
	objHomeBoxes.onresize = new Function('renderHomeBoxesTM("' + id + '");');
}

function renderHomeBoxesTM(id) {
  var i;
  for(i = 0; i < arrHomeBoxes.length; i++) {
    if(arrHomeBoxes[i].id == id) {
      if(arrHomeBoxes[i].rhbTM) clearTimeout(arrHomeBoxes[i].rhbTM);
      arrHomeBoxes[i].rhbTM = setTimeout('renderHomeBoxes("' + id + '")', 1);
    }
  }
}

function renderHomeBoxes(id) {
	var i, j, objGet, objSet;
	var maxOffsetHeight, nunMaxOffsetHeight;
	var objHomeBoxes, objHomeBoxesTD, objYellowBox, objListBox, objActionBoxes;
	for(i = 0; i < arrHomeBoxes.length; i++) {
	  if(arrHomeBoxes[i].id == id) {
	    if(arrHomeBoxes[i].rhbTM) clearTimeout(arrHomeBoxes[i].rhbTM);
	    objHomeBoxes = arrHomeBoxes[i].objHomeBoxes;
	    objHomeBoxesTD = arrHomeBoxes[i].objHomeBoxesTD;
	    objYellowBox = arrHomeBoxes[i].objYellowBox;
	    objListBox = arrHomeBoxes[i].objListBox;
	    objActionBoxes = arrHomeBoxes[i].objActionBoxes;
	  } 
	}
	for(i = 0; i < objHomeBoxesTD.length; i++) {
		if(!objHomeBoxesTD[i][1]) continue;
		maxOffsetHeight = 0;
		nunMaxOffsetHeight = 0;
		for(j = 0; j < objHomeBoxesTD[i].length; j++) {
			switch(objHomeBoxesTD[i][j][2]) {
				case 'idYellowBox':
					objHomeBoxesTD[i][j][3].height = '';
					objHomeBoxesTD[i][j][1].height = '';
					break;
				case 'idListBox':
					objHomeBoxesTD[i][j][4].height = '';
					objHomeBoxesTD[i][j][1].height = '';
					break;
				case 'idActionBox':
					objHomeBoxesTD[i][j][4].height = '';
					objHomeBoxesTD[i][j][5].height = '';
					objHomeBoxesTD[i][j][1].height = '';
					break;
			}
			if(objHomeBoxesTD[i][j][1].offsetHeight > maxOffsetHeight) {
				maxOffsetHeight = objHomeBoxesTD[i][j][1].offsetHeight;
				nunMaxOffsetHeight = j; 
			}
		}
		objGet = objHomeBoxesTD[i][nunMaxOffsetHeight];

	  for(j = 0; j < objHomeBoxesTD[i].length; j++) {
	    if(j != nunMaxOffsetHeight) {
	      objSet = objHomeBoxesTD[i][j];
	    }
	    else continue;
		  switch(objSet[2]) {
			  case 'idYellowBox':
				  objSet[3].height = objGet[1].offsetHeight - 8;
				  objSet[1].height = objGet[1].offsetHeight;
				  break;
			  case 'idListBox':
				  objSet[4].height = objGet[1].offsetHeight - objSet[3].offsetHeight - objSet[5].offsetHeight - 13;
				  objSet[1].height = objGet[1].offsetHeight;
				  break;
			  case 'idActionBox':
				  objSet[4].height = objGet[1].offsetHeight - objSet[3].offsetHeight - 23;
				  objSet[5].height = objSet[4].offsetHeight - objSet[6].offsetHeight;
				  objSet[1].height = objGet[1].offsetHeight;
				  break;
		  }
		}
	}
}

//========================================================

var objGlobalTable = new Array();
var gblTM = false;

function GlobalAlignment(st) {
	var i, flNextSibling = true, maxWidth = 0, strRE = ' ';
	if(st) {
		var objIn = document.body.getElementsByTagName('TABLE')[0];
		if (objIn.id && objIn.id == 'idTableButtonSize')
		  objIn = document.body.getElementsByTagName('TABLE')[1];
		i = 0;
		while(flNextSibling) {
			objGlobalTable[i] = objIn;
			do {
				if(objIn && objIn.nextSibling)
					objIn = objIn.nextSibling;
				else
					flNextSibling = false;
			} while(flNextSibling && objIn.nodeName.toUpperCase() != 'TABLE');
			i++;
		}
		strRE.match(/./);
		((document.body.onresize + '').replace(/\n/g, '')).match(/.*?\{(.*?)\}.*?/);
		document.body.onresize = new Function(RegExp.$1 + '; GlobalAlignmentTM();');
	}
	for(i = 0; i < objGlobalTable.length; i++) {
		if(!st)
			objGlobalTable[i].width = '100%';
		if(objGlobalTable[i].offsetWidth > maxWidth)
			maxWidth = objGlobalTable[i].offsetWidth;
	}
	for(i = 0; i < objGlobalTable.length; i++) {
		objGlobalTable[i].width = maxWidth;
	}
}

function GlobalAlignmentTM() {
	if(gblTM) clearTimeout(gblTM);
	gblTM = setTimeout('GlobalAlignment()', 1);
}

//========================================================

var wMsgTM = false;
var objWaitMsg = new Array();

function BonaWaitMsg(msgText, msgTMStart, msgTMStop, msgHTML, msgClass, msgX, msgY, msgW, msgH, msgZ, msgFLView, msgFLVD, msgFLHide, msgFLHD, msgFLClose) {
	var i, objStyleLinks;
	var msgRndDate = new Date();
	var co = objWaitMsg.length;
	this.msgId = 'WaitMsgID' + msgRndDate.getTime() + Math.round(Math.random() * 1000000) + (co + '');
	this.msgText = (msgText) ? msgText : 'Please wait...';
	this.msgTMStart = (msgTMStart) ? msgTMStart : 0;
	this.msgTMStop = (msgTMStop) ? msgTMStop : 0;
	this.msgHTML = bonaWaitMsgHTML;
	if(msgHTML) {
		if(msgHTML.substr(0, 6) == '##ID##') {
			if(document.getElementById(msgHTML.substr(6)) && document.getElementById(msgHTML.substr(6)).innerHTML) {
				this.msgHTML = document.getElementById(msgHTML.substr(6)).innerHTML;
			}
		}
		else {
			this.msgHTML = msgHTML;
		}
	}
	this.msgClass = (msgClass) ? msgClass : 'waitMsgBlock';
	this.msgX = (msgX) ? msgX : 0;
	this.msgY = (msgY) ? msgY : 0;
	this.msgW = (msgW) ? msgW : 0;
	this.msgH = (msgH) ? msgH : 0;
	this.msgZ = (msgZ) ? msgZ : 0;
	this.msgFLView = (msgFLView) ? msgFLView : null;
	this.msgFLViewD = (msgFLVD) ? msgFLVD : 0.2;
	this.msgFLHide = (msgFLHide) ? msgFLHide : null;
	this.msgFLHideD = (msgFLHD) ? msgFLHD : 0.2;
	this.msgFLClose = (msgFLClose) ? msgFLClose : false;
	
	this.spnMsg = document.createElement('SPAN');
	this.spnMsg.id = this.msgId + 'spn';
	document.body.insertBefore(this.spnMsg, document.body.firstChild);
	this.spnMsg = document.getElementById(this.msgId + 'spn');
	if(isIE) {
		this.spnMsg.innerHTML = '<iframe id="' + this.msgId + '" name="' + this.msgId + 'ifrnm" src="images/spacer.gif" frameborder="0" marginheight="0" marginwidth="0" hspace="0" vspace="0" scrolling="no" style="position: absolute; left: ' + this.msgX + 'px; top: ' + this.msgY + 'px; z-index: ' + ((this.msgZ) ? this.msgZ : 35000 + co) + '; filter: progid:DXImageTransform.Microsoft.Shadow(color=#858585, direction=135, strength=4, enabled=true); visibility: hidden;"></iframe>';
		this.objMsg = document.getElementById(this.msgId);
		this.contMsg = window.frames[this.msgId + 'ifrnm'];
		this.contMsgDoc = this.contMsg.document;
	}
	else {
		this.objMsg = document.createElement('IFRAME');
		this.objMsg.id = this.msgId;
		this.objMsg.name = this.msgId;
		this.objMsg.style.position = 'absolute';
		this.objMsg.style.visibility = 'hidden';
		this.objMsg.style.left = this.msgX;
		this.objMsg.style.top = this.msgY;
		this.objMsg.style.zIndex = (this.msgZ) ? this.msgZ : 35000 + co;
		this.objMsg.frameborder = this.objMsg.marginheight = this.objMsg.marginwidth = this.objMsg.hspace = this.objMsg.vspace = 0;
		this.objMsg.scrolling = 'no';
		this.objMsg.src = 'images/z.gif';
		this.spnMsg.appendChild(this.objMsg);
		this.objMsg = document.getElementById(this.msgId);
		this.contMsg = this.objMsg;
		this.contMsgDoc = this.contMsg.contentDocument;
	}
	this.contMsgDoc.open();
	this.contMsgDoc.write('<html><head><title></title><meta http-equiv="Content-Type" content="text/html; charset=utf-8">');
	objStyleLinks = document.getElementsByTagName('LINK');
	if(objStyleLinks && objStyleLinks.length > 0) {
		for(i = 0; i < objStyleLinks.length; i++) {
			if(objStyleLinks[i].type.toLowerCase() == 'text/css') {
				this.contMsgDoc.write('<link href="' + objStyleLinks[i].href + '" rel="stylesheet" type="text/css">');
			}
		}
	}
	this.contMsgDoc.write('</head><body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">');
	this.contMsgDoc.write('<div id="' + this.msgId + 'infrmdiv" class="' + this.msgClass + '" style="width: ' + ((this.msgW) ? this.msgW + 'px' : 'auto') + '; height: ' + ((this.msgH) ? this.msgH + 'px' : 'auto') + ';">');
	this.contMsgDoc.write(this.msgHTML.replace(/##TEXT##/g, this.msgText));
	this.contMsgDoc.write('</div>');
	this.contMsgDoc.write('</body></html>');
	this.contMsgDoc.close();
	this.sfdTM = false;
	this.msgTM = false;
	objWaitMsg[co] = this;
	this.sfdTM = setTimeout('setInFrmDiv("' + this.msgId + '");', 11);
}

function setInFrmDiv(id) {
	var i = 0;
	while(i < objWaitMsg.length && objWaitMsg[i].msgId != id) i++;
	if(i < objWaitMsg.length) {
		if(objWaitMsg[i].sfdTM) clearTimeout(objWaitMsg[i].sfdTM);
		try {
			objWaitMsg[i].inFrmDiv = window.frames[objWaitMsg[i].objMsg.name].document.getElementById(objWaitMsg[i].msgId + 'infrmdiv');
		}
		catch(e){}
		if(objWaitMsg[i].inFrmDiv) {
			objWaitMsg[i].objMsg.width = objWaitMsg[i].inFrmDiv.offsetWidth;
			objWaitMsg[i].objMsg.height = objWaitMsg[i].inFrmDiv.offsetHeight;
			if(objWaitMsg[i].msgFLClose) {
				objWaitMsg[i].inFrmDiv.title = ((typeof(objWaitMsg[i].msgFLClose)).toUpperCase() == 'STRING') ? objWaitMsg[i].msgFLClose : 'Click to Close/Open message';
				objWaitMsg[i].inFrmDiv.style.cursor = 'hand';
				objWaitMsg[i].inFrmDiv.onclick = new Function('parent.hideWaitMsgDo("' + objWaitMsg[i].msgId + '", true);');
			}
		}
	}
}

BonaWM = BonaWaitMsg.prototype;

BonaWM.viewWaitMsg = function(st) {
  if(this.msgTM) clearTimeout(this.msgTM);
	this.msgTM = setTimeout('viewWaitMsgDo("' + this.msgId + '", ' + ((st) ? true : false) + ');', this.msgTMStart + 33);
}

function viewWaitMsgDo(id, st) {
	var i = 0, strRE = ' ';
	while(i < objWaitMsg.length && objWaitMsg[i].msgId != id) i++;
	if(i < objWaitMsg.length) {
		if(objWaitMsg[i].msgTM) clearTimeout(objWaitMsg[i].msgTM);
		if(st && objWaitMsg[i].inFrmDiv) {
			objWaitMsg[i].inFrmDiv.className = objWaitMsg[i].msgClass;
			objWaitMsg[i].objMsg.style.position = 'absolute';
			if(objWaitMsg[i].msgW) {
				objWaitMsg[i].inFrmDiv.style.width = objWaitMsg[i].msgW;
				objWaitMsg[i].objMsg.width = objWaitMsg[i].inFrmDiv.offsetWidth;
			}
			if(objWaitMsg[i].msgH) {
				objWaitMsg[i].inFrmDiv.style.height = objWaitMsg[i].msgH;
				objWaitMsg[i].objMsg.height = objWaitMsg[i].inFrmDiv.offsetHeight;
			}
			objWaitMsg[i].msgText = '12345';
			if(objWaitMsg[i].inFrmDiv.innerHTML) {
				objWaitMsg[i].inFrmDiv.innerHTML = objWaitMsg[i].msgHTML.replace(/##TEXT##/g, objWaitMsg[i].msgText);
			}
		}
		objWaitMsg[i].objMsg.style.left = (objWaitMsg[i].msgX) ? objWaitMsg[i].msgX : ((getWindowWidth() - objWaitMsg[i].objMsg.offsetWidth) / 2) + getScrollX();
		objWaitMsg[i].objMsg.style.top = (objWaitMsg[i].msgY) ? objWaitMsg[i].msgY : ((((getWindowHeight() <= getDocumentHeight()) ? getWindowHeight() : getDocumentHeight()) - objWaitMsg[i].objMsg.offsetHeight) / 2) + getScrollY();
		if(objWaitMsg[i].objMsg.style.visibility == 'hidden') {
			if(isIE && isDOM && objWaitMsg[i].msgFLView) {
				if(objWaitMsg[i].objMsg.currentStyle.filter.indexOf("DXImageTransform.Microsoft.RevealTrans") == -1) {
					objWaitMsg[i].objMsg.style.filter = objWaitMsg[i].objMsg.currentStyle.filter + ' progid:DXImageTransform.Microsoft.RevealTrans()';
				}
				objWaitMsg[i].objMsg.filters.item("DXImageTransform.Microsoft.RevealTrans").Apply();
				objWaitMsg[i].objMsg.filters.item("DXImageTransform.Microsoft.RevealTrans").Transition = objWaitMsg[i].msgFLView - 1;
				objWaitMsg[i].objMsg.filters.item("DXImageTransform.Microsoft.RevealTrans").Duration = objWaitMsg[i].msgFLViewD;
				objWaitMsg[i].objMsg.style.visibility = 'visible';
				objWaitMsg[i].objMsg.filters.item("DXImageTransform.Microsoft.RevealTrans").Play();
			}
			else {
				objWaitMsg[i].objMsg.style.visibility = 'visible';
			}
		}
		strRE.match(/./);
		((document.body.onresize + '').replace(/\n/g, '')).match(/.*?\{(.*?)\}.*?/);
		document.body.onresize = new Function(RegExp.$1 + '; viewWaitMsgRefresh("' + objWaitMsg[i].msgId + '");');
		strRE.match(/./);
		((document.body.onscroll + '').replace(/\n/g, '')).match(/.*?\{(.*?)\}.*?/);
		document.body.onscroll = new Function(RegExp.$1 + '; viewWaitMsgRefresh("' + objWaitMsg[i].msgId + '");');
		if(objWaitMsg[i].msgTMStop) {
			objWaitMsg[i].msgTM = setTimeout('hideWaitMsgDo("' + objWaitMsg[i].msgId + '", ' + false + ');', objWaitMsg[i].msgTMStop);
		}
	}
}

function viewWaitMsgRefresh(id) {
	var i = 0;
	while(i < objWaitMsg.length && objWaitMsg[i].msgId != id) i++;
	if(i < objWaitMsg.length) {
		objWaitMsg[i].objMsg.style.left = (objWaitMsg[i].msgX) ? objWaitMsg[i].msgX : ((getWindowWidth() - objWaitMsg[i].objMsg.offsetWidth) / 2) + getScrollX();
		objWaitMsg[i].objMsg.style.top = (objWaitMsg[i].msgY) ? objWaitMsg[i].msgY : ((((getWindowHeight() <= getDocumentHeight()) ? getWindowHeight() : getDocumentHeight()) - objWaitMsg[i].objMsg.offsetHeight) / 2) + getScrollY();
	}
}

BonaWM.hideWaitMsg = function(st) {
  if(this.msgTM) clearTimeout(this.msgTM);
	hideWaitMsgDo(this.msgId, st);
}

function hideWaitMsgDo(id, st) {
	var i = 0;
	while(i < objWaitMsg.length && objWaitMsg[i].msgId != id) i++;
	if(i < objWaitMsg.length) {
		if(objWaitMsg[i].msgTM) clearTimeout(objWaitMsg[i].msgTM);
		if(objWaitMsg[i].objMsg.style.visibility == 'visible') {
			if(!st && isIE && isDOM && objWaitMsg[i].msgFLHide) {
				if(objWaitMsg[i].objMsg.currentStyle.filter.indexOf("DXImageTransform.Microsoft.RevealTrans") == -1) {
					objWaitMsg[i].objMsg.style.filter = objWaitMsg[i].objMsg.currentStyle.filter + ' progid:DXImageTransform.Microsoft.RevealTrans()';
				}
				objWaitMsg[i].objMsg.filters.item("DXImageTransform.Microsoft.RevealTrans").Apply();
				objWaitMsg[i].objMsg.filters.item("DXImageTransform.Microsoft.RevealTrans").Transition = objWaitMsg[i].msgFLHide - 1;
				objWaitMsg[i].objMsg.filters.item("DXImageTransform.Microsoft.RevealTrans").Duration = objWaitMsg[i].msgFLHideD;
				objWaitMsg[i].objMsg.style.visibility = 'hidden';
				objWaitMsg[i].objMsg.filters.item("DXImageTransform.Microsoft.RevealTrans").Play();
			}
			else {
				objWaitMsg[i].objMsg.style.visibility = 'hidden';
			}
		}
	}
}

bonaWaitMsgHTML = '##TEXT##';

//========================================================

var disableSumbitTimeout = false;
var disableEscapeMessage = false;
var disableSumbitTrigger = false;
var objWM;

function DisableSubmit(waitMessage)
{
  if (disableSumbitTimeout) clearTimeout(disableSumbitTimeout);
  if (disableSumbitTrigger)
  {
    disableSumbitTrigger = false;
    return;
  }

  var i, elems;

  elems = document.getElementsByTagName('INPUT');
  for (i = 0; i < elems.length; i++)
    elems[i].disabled = true;
  elems = document.getElementsByTagName('SELECT');
  for (i = 0; i < elems.length; i++)
    elems[i].disabled = true;
  elems = document.getElementsByTagName('TEXTAREA');
  for (i = 0; i < elems.length; i++)
    elems[i].disabled = true;
  elems = document.getElementsByTagName('BUTTON');
  for (i = 0; i < elems.length; i++)
    elems[i].disabled = true;

  window.onsubmit = new Function('return false;');
  __doPostBack = new Function('return;');
  
  if (waitMessage && !objWM)
  {
    objWM = new BonaWaitMsg(waitMessage, 5500, 0, '', "confMsgBox", 0, 0, 330, 40, 0, 13, 0.1, 13, 0.1);  
    objWM.viewWaitMsg();
    
    var strRE = ' ';
    strRE.match(/./);
    ((window.onunload + '').replace(/\\n/g, '')).match(/.*?\{(.*?)\}.*?/);
    window.onunload = new Function(RegExp.$1 + ';if (objWM) objWM.hideWaitMsg(true);');
  }
}

function InitDisableResubmit(waitMessage)
{
  var strRE = ' ';
  strRE.match(/./);
  ((window.onbeforeunload + '').replace(/\\n/g, '')).match(/.*?\{(.*?)\}.*?/);
  window.onbeforeunload = new Function(RegExp.$1 + ';if(disableEscapeMessage) return disableEscapeMessage; else {if (disableSumbitTimeout) clearTimeout(disableSumbitTimeout); disableSumbitTimeout = setTimeout(\'DisableSubmit("' + waitMessage + '")\',10);}');
}

//==============================================
var KSA_temp_img = new Image();
var KSA_interval;
var KSA_curDate;

function KeepSessionAlive(dummyUrl, intervalMsec)
{
  KSA_interval = setInterval('KSA_temp_img.src = ""; KSA_curDate = new Date(); KSA_temp_img.src = "' + dummyUrl + '?" + KSA_curDate.valueOf();', intervalMsec, 'javascript');
}



