/* RESIZE TEXT */
var tags = new Array('div', 'td', 'tr');
var size = new Array( 'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large' );
var startSz = 2;
function resizeText(trgt, inc) {
   if ( ! document.getElementById) return
   var d = document, cEl = null, sz = startSz, i, j, cTags;
   sz += inc;
   if ( sz < 0 ) sz = 0;
   if ( sz > 6 ) sz = 6;
   startSz = sz;
   if ( ! ( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];
   cEl.style.fontSize = size[ sz ];
   for ( i = 0 ; i < tags.length ; i ++ ) {
      cTags = cEl.getElementsByTagName( tags[ i ] );
      for ( j = 0 ; j < cTags.length ; j ++ ) cTags[ j ].style.fontSize = size[ sz ];
   }
}

//  ---------------------------------------

/* BOXOVER (ToolTips) */
/* --- BoxOver ---
/* --- v 2.1 17th June 2006
By Oliver Bryant with help of Matthew Tagg
http : // boxover.swazz.org */
if(typeof document.attachEvent != "undefined"){
   window.attachEvent("onload", init);
   document.attachEvent("onmousemove", moveMouse);
   document.attachEvent("onclick", checkMove);
}

//  ---------------------------------------

else{
   window.addEventListener("load", init, false);
   document.addEventListener("mousemove", moveMouse, false);
   document.addEventListener("click", checkMove, false);
}

//  ---------------------------------------

var oDv = document.createElement("div");
var dvHdr = document.createElement("div");
var dvBdy = document.createElement("div");
var windowlock, boxMove, fixposx, fixposy, lockX, lockY, fixx, fixy, ox, oy, boxLeft, boxRight, boxTop, boxBottom, evt, mouseX, mouseY, boxOpen, totalScrollTop, totalScrollLeft;
boxOpen = false;
ox = 10;
oy = 10;
lockX = 0;
lockY = 0;
function init(){
   oDv.appendChild(dvHdr);
   oDv.appendChild(dvBdy);
   oDv.style.position = "absolute";
   oDv.style.visibility = "hidden";
   document.body.appendChild(oDv);
}

//  ---------------------------------------

function defHdrStyle(){
   dvHdr.innerHTML = dvHdr.innerHTML;
   dvHdr.style.fontWeight = "bold";
   dvHdr.style.width = "";
   dvHdr.style.fontFamily = "arial";
   dvHdr.style.border = "1px solid #AAAAAA";
   dvHdr.style.padding = "0";
   dvHdr.style.fontSize = "11";
   dvHdr.style.color = "#333333";
   dvHdr.style.background = "#EA1D6A";
  // dvHdr.style.filter = "alpha(opacity=85)";
   //dvHdr.style.opacity = "0.85";
}

//  ---------------------------------------

function defBdyStyle(){
   dvBdy.style.borderBottom = "1px solid #AAAAAA";
   dvBdy.style.borderLeft = "1px solid #AAAAAA";
   dvBdy.style.borderRight = "1px solid #AAAAAA";
   dvBdy.style.width = "";
   dvBdy.style.fontFamily = "arial";
   dvBdy.style.fontSize = "11";
   dvBdy.style.padding = "0";
   dvBdy.style.color = "#FFFFFF";
   dvBdy.style.background = "#000000";
   //dvBdy.style.filter = "alpha(opacity=85)";
   //dvBdy.style.opacity = "0.85";
}

//  ---------------------------------------

function checkElemBO(_1){
   if( ! _1 || typeof (_1) != "string"){
      return false;
   }
   if((_1.indexOf("header") > - 1) && (_1.indexOf("body") > - 1) && (_1.indexOf("[") > - 1) && (_1.indexOf("[") > - 1)){
      return true;
   }
   else{
      return false;
   }
}

//  ---------------------------------------

function scanBO(_2){
   if(checkElemBO(_2.title)){
      _2.boHDR = getParam("header", _2.title);
      _2.boBDY = getParam("body", _2.title);
      _2.boCSSBDY = getParam("cssbody", _2.title);
      _2.boCSSHDR = getParam("cssheader", _2.title);
      _2.IEbugfix = (getParam("hideselects", _2.title) == "on") ? true : false;
      _2.fixX = parseInt(getParam("fixedrelx", _2.title));
      _2.fixY = parseInt(getParam("fixedrely", _2.title));
      _2.absX = parseInt(getParam("fixedabsx", _2.title));
      _2.absY = parseInt(getParam("fixedabsy", _2.title));
      _2.offY = (getParam("offsety", _2.title) != "") ? parseInt(getParam("offsety", _2.title)) : 10;
      _2.offX = (getParam("offsetx", _2.title) != "") ? parseInt(getParam("offsetx", _2.title)) : 10;
      _2.fade = true;
      _2.fadespeed = 0.1;
      _2.delay = (getParam("delay", _2.title) != "") ? parseInt(getParam("delay", _2.title)) : 0;
      if(getParam("requireclick", _2.title) == "on"){
         _2.requireclick = true;
         document.all ? _2.attachEvent("onclick", showHideBox) : _2.addEventListener("click", showHideBox, false);
         document.all ? _2.attachEvent("onmouseover", hideBox) : _2.addEventListener("mouseover", hideBox, false);
      }
      else{
         if(getParam("doubleclickstop", _2.title) != "off"){
            document.all ? _2.attachEvent("ondblclick", pauseBox) : _2.addEventListener("dblclick", pauseBox, false);
         }
         if(getParam("singleclickstop", _2.title) == "on"){
            document.all ? _2.attachEvent("onclick", pauseBox) : _2.addEventListener("click", pauseBox, false);
         }
      }
      _2.windowLock = getParam("windowlock", _2.title).toLowerCase() == "off" ? false : true;
      _2.title = "";
      _2.hasbox = 1;
   }
   else{
      _2.hasbox = 2;
   }
}

//  ---------------------------------------

function getParam(_3, _4){
   var _5 = new RegExp("([^a-zA-Z]" + _3 + "|^" + _3 + ")\\s*=\\s*\\[\\s*(((\\[\\[)|(\\]\\])|([^\\]\\[]))*)\\s*\\]");
   var _6 = _5.exec(_4);
   var _7;
   if(_6){
      return _6[2].replace("[[", "[").replace("]]", "]");
   }
   else{
      return "";
   }
}

//  ---------------------------------------

function Left(_8){
   var x = 0;
   if(_8.calcLeft){
      return _8.calcLeft;
   }
   var _a = _8;
   while(_8){
      if((_8.currentStyle) && ( ! isNaN(parseInt(_8.currentStyle.borderLeftWidth))) && (x != 0)){
         x += parseInt(_8.currentStyle.borderLeftWidth);
      }
      x += _8.offsetLeft;
      _8 = _8.offsetParent;
   }
   _a.calcLeft = x;
   return x;
}

//  ---------------------------------------

function Top(_b){
   var x = 0;
   if(_b.calcTop){
      return _b.calcTop;
   }
   var _d = _b;
   while(_b){
      if((_b.currentStyle) && ( ! isNaN(parseInt(_b.currentStyle.borderTopWidth))) && (x != 0)){
         x += parseInt(_b.currentStyle.borderTopWidth);
      }
      x += _b.offsetTop;
      _b = _b.offsetParent;
   }
   _d.calcTop = x;
   return x;
}

//  ---------------------------------------

var ah, ab;
function applyStyles(){
   if(ab){
      oDv.removeChild(dvBdy);
   }
   if(ah){
      oDv.removeChild(dvHdr);
   }
   dvHdr = document.createElement("div");
   dvBdy = document.createElement("div");
   CBE.boCSSBDY ? dvBdy.className = CBE.boCSSBDY : defBdyStyle();
   CBE.boCSSHDR ? dvHdr.className = CBE.boCSSHDR : defHdrStyle();
   dvHdr.innerHTML = "<div style=\"padding : 2px; \"><img src=\"images/comment_bubble.png\" style=\"vertical - align : middle\" border=\"0\">&nbsp;" + CBE.boHDR + "</div>";
   dvBdy.innerHTML = "<div style=\"padding : 2px; \">" + CBE.boBDY + "</div>";
   ah = false;
   ab = false;
   if(CBE.boHDR != ""){
      oDv.appendChild(dvHdr);
      ah = true;
   }
   if(CBE.boBDY != ""){
      oDv.appendChild(dvBdy);
      ab = true;
   }
}

//  ---------------------------------------

var CSE, iterElem, LSE, CBE, LBE, totalScrollLeft, totalScrollTop, width, height;
var ini = false;
function SHW(){
   if(document.body && (document.body.clientWidth != 0)){
      width = document.body.clientWidth;
      height = document.body.clientHeight;
   }
   if(document.documentElement && (document.documentElement.clientWidth != 0) && (document.body.clientWidth + 20 >= document.documentElement.clientWidth)){
      width = document.documentElement.clientWidth;
      height = document.documentElement.clientHeight;
   }
   return [width, height];
}

//  ---------------------------------------

var ID = null;
function moveMouse(e){
   e ? evt = e : evt = event;
   CSE = evt.target ? evt.target : evt.srcElement;
   if( ! CSE.hasbox){
      iElem = CSE;
      while((iElem.parentNode) && ( ! iElem.hasbox)){
         scanBO(iElem);
         iElem = iElem.parentNode;
      }
   }
   if((CSE != LSE) && ( ! isChild(CSE, dvHdr)) && ( ! isChild(CSE, dvBdy))){
      if( ! CSE.boxItem){
         iterElem = CSE;
         while((iterElem.hasbox == 2) && (iterElem.parentNode)){
            iterElem = iterElem.parentNode;
         }
         CSE.boxItem = iterElem;
      }
      iterElem = CSE.boxItem;
      if(CSE.boxItem && (CSE.boxItem.hasbox == 1)){
         LBE = CBE;
         CBE = iterElem;
         if(CBE != LBE){
            applyStyles();
            if( ! CBE.requireclick){
               if(CBE.fade){
                  if(ID != null){
                     clearTimeout(ID);
                  }
                  ID = setTimeout("fadeIn(" + CBE.fadespeed + ")", CBE.delay);
               }
               else{
                  if(ID != null){
                     clearTimeout(ID);
                  }
                  COL = 1;
                  ID = setTimeout("oDv.style.visibility='visible';ID=null;", CBE.delay);
               }
            }
            if(CBE.IEbugfix){
               hideSelects();
            }
            fixposx = ! isNaN(CBE.fixX) ? Left(CBE) + CBE.fixX : CBE.absX;
            fixposy = ! isNaN(CBE.fixY) ? Top(CBE) + CBE.fixY : CBE.absY;
            lockX = 0;
            lockY = 0;
            boxMove = true;
            ox = CBE.offX ? CBE.offX : 10;
            oy = CBE.offY ? CBE.offY : 10;
         }
      }
      else{
         if( ! isChild(CSE, dvHdr) && ! isChild(CSE, dvBdy) && (boxMove)){
            if(( ! isChild(CBE, CSE)) || (CSE.tagName != "TABLE")){
               CBE = null;
               if(ID != null){
                  clearTimeout(ID);
               }
               fadeOut();
               showSelects();
            }
         }
      }
      LSE = CSE;
   }
   else{
      if(((isChild(CSE, dvHdr) || isChild(CSE, dvBdy)) && (boxMove))){
         totalScrollLeft = 0;
         totalScrollTop = 0;
         iterElem = CSE;
         while(iterElem){
            if( ! isNaN(parseInt(iterElem.scrollTop))){
               totalScrollTop += parseInt(iterElem.scrollTop);
            }
            if( ! isNaN(parseInt(iterElem.scrollLeft))){
               totalScrollLeft += parseInt(iterElem.scrollLeft);
            }
            iterElem = iterElem.parentNode;
         }
         if(CBE != null){
            boxLeft = Left(CBE) - totalScrollLeft;
            boxRight = parseInt(Left(CBE) + CBE.offsetWidth) - totalScrollLeft;
            boxTop = Top(CBE) - totalScrollTop;
            boxBottom = parseInt(Top(CBE) + CBE.offsetHeight) - totalScrollTop;
            doCheck();
         }
      }
   }
   if(boxMove && CBE){
      bodyScrollTop = document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
      bodyScrollLet = document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft;
      mouseX = evt.pageX ? evt.pageX - bodyScrollLet : evt.clientX - document.body.clientLeft;
      mouseY = evt.pageY ? evt.pageY - bodyScrollTop : evt.clientY - document.body.clientTop;
      if((CBE) && (CBE.windowLock)){
         mouseY < - oy ? lockY = - mouseY - oy : lockY = 0;
         mouseX < - ox ? lockX = - mouseX - ox : lockX = 0;
         mouseY > (SHW()[1] - oDv.offsetHeight - oy) ? lockY = - mouseY + SHW()[1] - oDv.offsetHeight - oy : lockY = lockY;
         mouseX > (SHW()[0] - dvBdy.offsetWidth - ox) ? lockX = - mouseX - ox + SHW()[0] - dvBdy.offsetWidth : lockX = lockX;
      }
      oDv.style.left = ((fixposx) || (fixposx == 0)) ? fixposx : bodyScrollLet + mouseX + ox + lockX + "px";
      oDv.style.top = ((fixposy) || (fixposy == 0)) ? fixposy : bodyScrollTop + mouseY + oy + lockY + "px";
   }
}

//  ---------------------------------------

function doCheck(){
   if((mouseX < boxLeft) || (mouseX > boxRight) || (mouseY < boxTop) || (mouseY > boxBottom)){
      if( ! CBE.requireclick){
         fadeOut();
      }
      if(CBE.IEbugfix){
         showSelects();
      }
      CBE = null;
   }
}

//  ---------------------------------------

function pauseBox(e){
   e ? evt = e : evt = event;
   boxMove = false;
   evt.cancelBubble = true;
}

//  ---------------------------------------

function showHideBox(e){
   oDv.style.visibility = (oDv.style.visibility != "visible") ? "visible" : "hidden";
}

//  ---------------------------------------

function hideBox(e){
   oDv.style.visibility = "hidden";
}

//  ---------------------------------------

var COL = 0;
var stopfade = false;
function fadeIn(fs){
   ID = null;
   COL = 0;
   oDv.style.visibility = "visible";
   fadeIn2(fs);
}

//  ---------------------------------------

function fadeIn2(fs){
   COL = COL + fs;
   COL = (COL > 1) ? 1 : COL;
   //oDv.style.filter = "alpha(opacity=" + parseInt(100 * COL) + ")";
  // oDv.style.opacity = COL;
   if(COL < 1){
      setTimeout("fadeIn2(" + fs + ")", 20);
   }
}

//  ---------------------------------------

function fadeOut(){
   oDv.style.visibility = "hidden";
}

//  ---------------------------------------

function isChild(s, d){
   while(s){
      if(s == d){
         return true;
      }
      s = s.parentNode;
   }
   return false;
}

//  ---------------------------------------

var cSrc;
function checkMove(e){
   e ? evt = e : evt = event;
   cSrc = evt.target ? evt.target : evt.srcElement;
   if(( ! boxMove) && ( ! isChild(cSrc, oDv))){
      fadeOut();
      if(CBE && CBE.IEbugfix){
         showSelects();
      }
      boxMove = true;
      CBE = null;
   }
}

//  ---------------------------------------

function showSelects(){
   var _17 = document.getElementsByTagName("select");
   for(i = 0; i < _17.length; i ++ ){
      _17[i].style.visibility = "visible";
   }
}

//  ---------------------------------------

function hideSelects(){
   var _18 = document.getElementsByTagName("select");
   for(i = 0; i < _18.length; i ++ ){
      _18[i].style.visibility = "hidden";
   }
}

//  ---------------------------------------

/* BBCODE */ 																																																																																																																																																																	function addSmile(val, frm, elm) {
   document.forms[frm].elements[elm].value += val;
   document.forms[frm].elements[elm].focus();
}

//  ---------------------------------------

var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko') != - 1) ? true : false;
var regexp = new RegExp("[\r]", "gi");
function addBBCode(selec, frm, elm) {
   if (isMozilla) {
      // Mozilla
      oField = document.forms[frm].elements[elm];
      objectValue = oField.value;
      deb = oField.selectionStart;
      fin = oField.selectionEnd;
      objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
      objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
      objectSelected = objectValue.substring( oField.selectionStart , oField.selectionEnd );
      oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
      oField.selectionStart = strlen(objectValueDeb);
      oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]");
      oField.focus();
      oField.setSelectionRange(
      objectValueDeb.length + selec.length + 2,
      objectValueDeb.length + selec.length + 2);
   }
   else {
      // IE
      oField = document.forms[frm].elements[elm];
      var str = document.selection.createRange().text;
      if (str.length > 0) {
         // Selected text
         var sel = document.selection.createRange();
         sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
         sel.collapse();
         sel.select();
      }
      else {
         oField.focus(oField.caretPos);
         oField.focus(oField.value.length);
         oField.caretPos = document.selection.createRange().duplicate();
         var bidon = "%~%";
         var orig = oField.value;
         oField.caretPos.text = bidon;
         var i = oField.value.search(bidon);
         oField.value = orig.substr(0, i) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);
         var r = 0;
         for(n = 0; n < i; n ++ )
         {
            if(regexp.test(oField.value.substr(n, 2)) == true){
               r ++ ;
            }
         }
         ;
         pos = i + 2 + selec.length - r;
         var r = oField.createTextRange();
         r.moveStart('character', pos);
         r.collapse();
         r.select();
      }
   }
}

//  ---------------------------------------

function addBBCodeColor(val, frm, elm) {
   msg = prompt("Insert text to color", '');
   color = prompt("Insert the color", '#');
   if (color != null) {
      if (msg != null) {
         document.forms[frm].elements[elm].value += "[" + val + "=" + color + "]" + msg + "[/" + val + "]";
      }
   }
   document.forms[frm].elements[elm].focus();
}

//  ---------------------------------------

function addBBCodeUrl(val, frm, elm) {
   msg = prompt("Insert link text", '');
   url = prompt("Insert link url", 'http://');
   if (msg != null) {
      document.forms[frm].elements[elm].value += "[" + val + "=" + url + "]" + msg + "[/" + val + "]";
   }
   else if (url != null ){
      document.forms[frm].elements[elm].value += "[" + val + "]" + url + "[/" + val + "]";
   }
   document.forms[frm].elements[elm].focus();
}

//  ---------------------------------------

function addBBCodeFlash(val, frm, elm) {
   url = prompt("Insert Flash animation url", 'http://');
   w = prompt("Insert animation width", '');
   h = prompt("Insert animation height", '');
   if (url != null) {
      if (w != null) {
         if (h != null) {
            document.forms[frm].elements[elm].value += "[" + val + "=" + w + "," + h + "]" + url + "[/" + val + "]";
         }
      }
   }
   document.forms[frm].elements[elm].focus();
}

//  ---------------------------------------

function addBBCodeYouTube(val, frm, elm) {
   url = prompt("Insert YouTube embed animation url", 'http://');
   w = prompt("Insert animation width", '');
   h = prompt("Insert animation height", '');
   if (url != null) {
      if (w != null) {
         if (h != null) {
            document.forms[frm].elements[elm].value += "[" + val + "=" + w + "," + h + "]" + url + "[/" + val + "]";
         }
      }
   }
   document.forms[frm].elements[elm].focus();
}

//  ---------------------------------------

/* OTHER */
function detectRes() {
   var today = new Date();
   var the_cookie_date = new Date(today.getTime() + (1000 * 60 * 60));
   var the_cookie = "stats_res=" + screen.width + "x" + screen.height;
   var the_cookie = the_cookie + ";expires=" + the_cookie_date;
   document.cookie = the_cookie;
}

//  ---------------------------------------

// Show / Hide item
function showhide(id) {
   if (document.getElementById){
      if(document.getElementById(id).style.display == 'none'){
         document.getElementById(id).style.display = 'block';
      }
      else {
         document.getElementById(id).style.display = 'none';
      }
   }
}

//  ---------------------------------------

var newwindow = '';
function openPopup(url, w, h) {
   if ( ! newwindow.closed && newwindow.location) {
      newwindow.location.href = url;
   }
   else {
      newwindow = window.open(url, 'memhtportal', 'toolbar=no,scrollbars=yes,status=no,directories=no,menubar=no,resizable=no,width=' + w + ',height=' + h + '');
      if ( ! newwindow.opener) newwindow.opener = self;
   }
   if (window.focus) {
      newwindow.focus()
   }
   return false;
}

//  ---------------------------------------

function itemSlide(id, tot) {
   for(i = 1; i <= tot; i ++ ) {
      document.getElementById(i).style.display = 'none';
   }
   document.getElementById(id).style.display = 'block';
}

//  ---------------------------------------

function opacity(id, opacStart, opacEnd, millisec) {
   // speed for each frame
   var speed = Math.round(millisec / 100);
   var timer = 0;

   // determine the direction for the blending, if start and end are the same nothing happens
   if(opacStart > opacEnd) {
      for(i = opacStart; i >= opacEnd; i -- ) {
         setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed));
         timer ++ ;
      }
   }
   else if(opacStart < opacEnd) {
      for(i = opacStart; i <= opacEnd; i ++ )
      {
         setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed));
         timer ++ ;
      }
   }
}

//  ---------------------------------------

function changeOpac(opacity, id) {
   var object = document.getElementById(id).style;
  // object.opacity = (opacity / 100);
   //object.MozOpacity = (opacity / 100);
  // object.KhtmlOpacity = (opacity / 100);
   //object.filter = "alpha(opacity=" + opacity + ")";
}

