// Selection boxes
function one2two(m1, m2) {
    var m1len = m1.length ;
    var i = 0;
    for ( i=0; i<m1len ; i++){
        if (m1.options[i].selected == true ) {
            var m2len = m2.length;
            m2.options[m2len]= new Option(m1.options[i].text, m1.options[i].value);
        }
    }

    for ( i = (m1len -1); i>=0; i--){
        if (m1.options[i].selected == true ) {
            m1.options[i] = null;
        }
    }
}
function selectall (m1) {
  for (i=0; i<m1.length; i++) {
    m1.options[i].selected = true;
  }
}

function choose_image(img, img2, form) {
  window.opener.document.images[window.name].src = img;
  window.opener.document.edit.elements[form].value=img2;
  if (confirm("Picture is placed into article...\nClose this window?")) {
    self.close();
  }
  else {
    return true;
  }
}

function removeNonDigits(inputObject) {
  inputObject.value = inputObject.value.replace(/[\.,:]-$/,'');
  inputObject.value = inputObject.value.replace(/[\.,:][0-9][0-9]$/,'');
  inputObject.value = inputObject.value.replace(/[^0-9]/g,'');
}

function vindu(url,title,width,height,movx,movy) {
  window.name='windowOpener';
  newwin=window.open(url,title,'width='+width+',height='+height+',scrollbars=yes,resizable=yes,menubar=no,toolbar=no');
  //newwin.resizeTo(width,height);
  newwin.focus();
  x = screen.width;
  y = screen.height;
  if( movx && movy ){
    newwin.moveTo(movx,movy);
  } else{
    newwin.moveTo((x/2)-(width/2),(y/2)-(height/2));
  }
}

function toggle(wiptdiv, open, closed){
  if ( wiptdiv ) {
    var wipCurrDiv = document.getElementById(wiptdiv);
    if (wipCurrDiv) {
      if ( open ) {
        wipCurrDiv.style.display='block';
      } else if (closed) {
        wipCurrDiv.style.display='none';
      } else if (wipCurrDiv.style.display=='block') {
        wipCurrDiv.style.display='none';
      } else {
        wipCurrDiv.style.display='block';
      }
    }
  }
}

function wiptoggle(wiptdiv, open, closed){
  if ( wiptdiv ) {
    var wipCurrDiv = document.getElementById(wiptdiv);
    if (wipCurrDiv) {
      if ( open ) {
        wipCurrDiv.style.display='block';
      } else if (closed) {
        wipCurrDiv.style.display='none';
      } else if (wipCurrDiv.style.display=='block') {
        wipCurrDiv.style.display='none';
      } else {
        wipCurrDiv.style.display='block';
      }
    }
  }
}

function wiptogglefancy(wiptdiv, open, closed, dur){
  if (!dur) {
    dur = 2.0;
  }
  if ( wiptdiv ) {
    var wipCurrDiv = document.getElementById(wiptdiv);
    if (wipCurrDiv) {
      if ( open ) {
	Effect.BlindDown(wiptdiv, { duration: dur });
        //wipCurrDiv.style.display='block';
      } else if (closed) {
	Effect.BlindUp(wiptdiv, { duration: dur });
        //wipCurrDiv.style.display='none';
      } else if (wipCurrDiv.style.display=='block' || !wipCurrDiv.style.display) {
	Effect.BlindUp(wiptdiv, { duration: dur });
	//wipCurrDiv.style.display='none';
      } else {
	Effect.BlindDown(wiptdiv, { duration: dur });
        //wipCurrDiv.style.display='block';
      }
    }
  }
}

function wipcloseall(divprefix, ids) {
  var allids = ids.split(',');
  for (i = 0; i < allids.length; i++) {
    var currDiv = divprefix + allids[i];
    wiptoggle(currDiv, 0, 1);
  }
}


function togglefolder(timage, tdiv, tlink, open, closed, fopen, fclosed){
  if ( timage ) {
    var re = new RegExp(fopen);
    var m = re.exec(timage.src);

    //if ( timage.src==fopen && !open ){
    if (open) {
      timage.src=fopen;
    } else if (closed) {
      timage.src=fclosed;
    } else if ( m ){
      timage.src=fclosed;
    } else {
      timage.src=fopen;
    }
  }
  if ( tdiv ) {
    var currDiv = document.getElementById(tdiv);
    if ( currDiv.style.display=='block' && !open ) {
      currDiv.style.display='none';
    }
    else {
      currDiv.style.display='block';
    }
  }
  if ( tlink ) {
    active.background='#ffffff';
    active.color='#000000';

    tlink.background='#666666';
    tlink.color='#ffffff';

    active=tlink;
  }
}



function closeall() {
  for (i=0; i<10; i++) {
    var currDiv = document.getElementById('sheet'+i);
    if (currDiv) {
      toggle('sheet'+i, 0, 1);
    }
  }
}



function closeSelected(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10) {
  var input = new Array();
  input.push(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10);
  var divs = new Array();
  for (i=0; i<input.length; i++) {
    var element = input[i];
    if (element) {
      divs.push(element);
    }
  }
  for (i=0; i<divs.length; i++) {
    if (divs[i]) {
      toggle(divs[i], 0, 1);
    }
  }
}



function resetStyle (style, s1,s2,s3,s4,s5,s6,s7,s8,s9,s10) {
  var input = new Array();
  input.push(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10);
  var divs = new Array();
  for (i=0; i<input.length; i++) {
    var element = input[i];
    if (element) {
      divs.push(element);
    }
  }
  for (i=0; i<divs.length; i++) {
    if (divs[i]) {
      setStyle(divs[i], style);
    }
  }
}
function setStyleTo (el, style) {
  var element = document.getElementById(el);
  element.className=style;
}


//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?');
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs)
{
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret =
    AC_GetArgs
    (  arguments, "", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret =
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();

    switch (currArg){
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace":
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}




  function styleImage(imgid,myfilter,mystyle,myval) {
    /*
      Filter: fliph, flipv, gray, invert, xRay, chroma(color=red), chroma(color=green), chroma(color=blue)
      Style: border
    */
    var image = document.getElementById(imgid);
    if (myfilter) {
      image.style.filter=myfilter;
    } else {
      image.style.filter='';
    }
    if (mystyle) {
      image.style.mystyle=myval;
    }
  }

  function shrinkImage(imgid) {
    var image = document.getElementById(imgid);
    if (image.width > 100) {
      image.width  = image.width*0.8;
      image.height = image.height*0.8;
    }
  }

  function enlargeImage(imgid) {
    var image = document.getElementById(imgid);
    image.width  = image.width*1.2;
    image.height = image.height*1.2;
  }




function lbc(e, objname, openTag, closeTag) {
     var el = document.getElementById(objname);
     if (el.setSelectionRange) {
          //Mozilla or FireFox Code
          var st = el.scrollTop;
          var ss = el.selectionStart;
          var se = el.selectionEnd;
          el.value = el.value.substring(0,el.selectionStart) + openTag + el.value.substring(el.selectionStart,el.selectionEnd) + closeTag + el.value.substring(el.selectionEnd,el.value.length);
          el.selectionStart = ss;
          el.selectionEnd = se;
          el.scrollTop = st;
          el.focus();
          setCaretTo(el, se + openTag.length);
      }
      else if (document.selection && document.selection.createRange) {
          //Internet Explorer Code
          el.focus(); //Makes sure tags are being added to the textarea
          //var orig = el.value.replace(/\r\n/g, "\n");
          var range = document.selection.createRange();
          if(range.parentElement() != el) { 
	    return false; 
	  } 
          range.text = openTag + range.text + closeTag; //Adds beginning and end tags.
          //setCaretTo( el, range.indexOf(range.text) );
      } 
      el.focus();       
}


function setCaretTo(obj, pos) { 
    if(obj.createTextRange) { 
        /* Create a TextRange, set the internal pointer to
           a specified position and show the cursor at this
           position
        */ 
        var range = obj.createTextRange(); 
        range.move("character", pos); 
        range.select(); 
    } else if(obj.selectionStart) { 
        /* Gecko is a little bit shorter on that. Simply
           focus the element and set the selection to a
           specified position
        */ 
        obj.focus(); 
        obj.setSelectionRange(pos, pos); 
    } 
} 






function countdown_clock(year, month, day, hour, minute, format) {
  //I chose a div as the container for the timer, but
  //it can be an input tag inside a form, or anything
  //who's displayed content can be changed through
  //client-side scripting.
  //html_code = '<div class="countdown" id="countdown"></div>';
  //document.write(html_code);
  countdown(year, month, day, hour, minute, format);
}

var myClockTimer = '';
function countdown(year, month, day, hour, minute, format) {
  if (myClockTimer) {
    clearTimeout(myClockTimer);
  }
  Today = new Date();
  Todays_Year = Today.getFullYear() - 2000;
  Todays_Month = Today.getMonth() + 1;
  var CountDown = document.getElementById('countdown');
  //Convert both today's date and the target date into miliseconds.                           
  Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(), 
                          Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();                                 
  Target_Date = (new Date(year, month, day, hour, minute, 00)).getTime();                  
         
  //Find their difference, and convert that into seconds.                  
  Time_Left = Math.round((Target_Date - Todays_Date) / 1000);
         
  if(Time_Left < 0)
    Time_Left = 0;
         
  switch(format) {
               case 0:
                    //The simplest way to display the time left.
                    CountDown.innerHTML = Time_Left + ' seconds';
                    break;
               case 1:
                    //More datailed.
                    days = Math.floor(Time_Left / (60 * 60 * 24));
                    Time_Left %= (60 * 60 * 24);
                    hours = Math.floor(Time_Left / (60 * 60));
                    Time_Left %= (60 * 60);
                    minutes = Math.floor(Time_Left / 60);
                    Time_Left %= 60;
                    seconds = Time_Left;
                    
                    dps = 'er'; hps = 'r'; mps = 'er'; sps = 'er';
                    //ps is short for plural suffix.
                    if(days == 1) dps ='';
                    if(hours == 1) hps ='';
                    if(minutes == 1) mps ='';
                    if(seconds == 1) sps ='';
                    
                    CountDown.innerHTML = days + ' dag' + dps + ' ';
                    CountDown.innerHTML += hours + ' time' + hps + ' ';
                    CountDown.innerHTML += minutes + ' minutt' + mps + ' og ';
                    CountDown.innerHTML += seconds + ' sekund' + sps;
                    break;
               default: 
                    CountDown.innerHTML = Time_Left + ' seconds';
               }
               
  //Recursive call, keeps the clock ticking.
  myClockTimer = setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + format + ');', 1000);
}


function facebook_share(myurl) {
  var url = myurl || location.href;
  var facebook_url = 'http://www.facebook.com/sharer.php?u=' + encodeURIComponent(url);
  vindu (facebook_url, 'facebook_share',500,500);
  return false;
}


function nextimage (curimg, maximg, myarr, myimage) {
  curimg = curimg + 1;
  if (curimg > maximg) {
    curimg = 1;
  }
  document.getElementById(myimage).src = myarr[curimg];
  return curimg;
}
function previmage (curimg, maximg, myarr, myimage) {
  curimg = curimg - 1;
  if (curimg < 1) {
    curimg = maximg;
  }
  document.getElementById(myimage).src = myarr[curimg];
  return curimg;
}

function nimg (curimg, myarr, myimage) {
  curimg = curimg + 1;
  if (curimg >= myarr.length) {
    curimg = 0;
  }
  document.getElementById(myimage).src = myarr[curimg];
  return curimg;
}
function pimg (curimg, myarr, myimage) {
  curimg = curimg - 1;
  if (curimg < 0) {
    curimg = myarr.length-1;
  }
  document.getElementById(myimage).src = myarr[curimg];
  return curimg;
}





function changeHeight(frm) {
  if (navigator.appName=="Netscape" || navigator.appName=="Opera" || navigator.appName=="Konqueror")
    var docheight=frm.contentWindow.document.body.offsetHeight;
  else if(navigator.appName=="Microsoft Internet Explorer")
    var docheight=frm.contentWindow.document.body.scrollHeight;
  frm.height = docheight+20;
}



function getPositionLeft (This) {
  var el = This;
  var pL = 0;
  while(el){
    pL+=el.offsetLeft;el=el.offsetParent;
  }
  return pL
}

function getPositionTop(This){
  var el = This;
  var pT = 0;
  while(el){ 
    pT+=el.offsetTop;el=el.offsetParent;
  }
  return pT
}





function getY( oElement ) {
  var iReturnValue = 0;
  while ( oElement != null ) {
    iReturnValue += oElement.offsetTop;
    oElement = oElement.offsetParent;
  }
  return iReturnValue;
}

function getX( oElement ) {
  var iReturnValue = 0;
  while ( oElement != null ) {
    iReturnValue += oElement.offsetLeft;
    oElement = oElement.offsetParent;
  }
  return iReturnValue;
}


/*
document.onmousemove = mouseMove;
var mousePos = '';
function mouseMove(ev){
  ev       = ev || window.event;
  mousePos = mouseCoords(ev);
}
*/


function mouseCoords(ev){
  if(ev.pageX || ev.pageY){
    return {x:ev.pageX, y:ev.pageY};
  }
  //        x:ev.clientX + document.body.scrollLeft + document.body.clientLeft,
  //	    y:ev.clientY + document.body.scrollTop + document.body.clientTop

  return {
      x:ev.clientX + document.body.clientLeft + document.body.scrollLeft,
	  y:ev.clientY + document.body.clientTop + document.body.scrollTop
	 };
}


/*
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
    if (IE) { // grab the x-y pos.s if browser is IE
	tempX = event.clientX + document.body.scrollLeft;
	tempY = event.clientY + document.body.scrollTop;
    }
    else {  // grab the x-y pos.s if browser is NS
	tempX = e.pageX;
	tempY = e.pageY;
    }  
    if (tempX < 0){tempX = 0;}
    if (tempY < 0){tempY = 0;}  
//    return {
//	x:tempX,
//	y:tempY
//    };
}
*/


function showBalloon (el, balloon, hidegeneric, mouse, skiphide) {
  if (!skiphide) {
    if (readCookie('wipHideBalloon')) return 0;
  }
  var myX = 0;
  var myY = 0;
  if (mouse) {
    myX = mousePos.x;
    myY = mousePos.y;
  } else {
    myX = getX(el);
    myY = getY(el);
  }

  toggle(balloon,1,0);

  var myDiv = document.getElementById(balloon);
  myDiv.style.left = myX - 5 + 'px';
  myDiv.style.top  = el.offsetHeight + myY + 5 + 'px';
}



function hideBalloon (balloon, skiphide) {
  if (!skiphide) {
    if (readCookie('wipHideBalloon')) return 0;
  }
  toggle(balloon,0,1);
}


function setCookie(cookieName,cookieValue,nDays) {
  var today = new Date();
  var expire = new Date();
  if (nDays==null || nDays==0) nDays=1;
  expire.setTime(today.getTime() + 3600000*24*nDays);
  document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString();
}

function readCookie(c_name) {
    if (document.cookie.length > 0) {
	var c_start = document.cookie.indexOf(c_name + "=");
	if (c_start != -1) {
	    c_start = c_start + c_name.length + 1;
	    c_end = document.cookie.indexOf(";", c_start);
	    if (c_end == -1) {
		c_end=document.cookie.length;
	    }
	    return unescape(document.cookie.substring(c_start,c_end));
	} 
    }
}



function checkAll(frm) {
    count = frm.elements.length;
    for (i=0; i < count; i++) {
	if(frm.elements[i].checked == 1) {
	    frm.elements[i].checked = 1;
	} else {
	    frm.elements[i].checked = 1;
	}
    }
}
function uncheckAll(frm) {
    count = frm.elements.length;
    for (i=0; i < count; i++) {
	if(frm.elements[i].checked == 1) {
	    frm.elements[i].checked = 0; 
	} else {
	    frm.elements[i].checked = 0;
	}
    }
}





function addEventBase(obj,type,fn,name_hash) {
  if(obj.addEventListener) obj.addEventListener(type,fn,false);
  else if(obj.attachEvent) {
    obj["e"+type+fn+name_hash]=fn;obj[type+fn+name_hash]=function(){obj["e"+type+fn+name_hash](window.event);
  }
  obj.attachEvent("on"+type,obj[type+fn+name_hash]);}
}

function removeEventBase(obj,type,fn,name_hash) {
  if(obj.removeEventListener) obj.removeEventListener(type,fn,false);
  else if(obj.detachEvent) {
    obj.detachEvent("on"+type,obj[type+fn+name_hash]);
    obj[type+fn+name_hash]=null;
    obj["e"+type+fn+name_hash]=null;
  }
}


function placeholderSetup(id) {
  var el=document.getElementById(id);
  if(!el) return;
  if(el.type=='search') return;

  var ph=el.getAttribute("alt");
  if (!ph||ph=="") {
    ph=el.getAttribute("placeholder");
  }
  if(!ph||ph=="") return;
  if(el.value==ph) el.value=""; 
  el.is_focused=(el.value!="");
  if(!el.is_focused){
    el.value=ph;el.style.color='#777';
    el.is_focused=0;
  }
  addEventBase(el,'focus',placeholderFocus);
  addEventBase(el,'blur',placeholderBlur);
}

function placeholderFocus() {
  if(!this.is_focused) {
    this.is_focused=1;
    this.value='';
    this.style.color='#000';
    var rs=this.getAttribute("radioselect");
    if(rs&&rs!="") {
      var re=document.getElementById(rs);
      if(!re) {
        return;
      }
      if(re.type!='radio') return;
      re.checked=true;
    }
  }
}

function placeholderBlur() {
  var ph=this.getAttribute("alt");
  if (!ph||ph=="") {
    ph=this.getAttribute("placeholder");
  }
  if(this.is_focused&&ph&&this.value=="") {
    this.is_focused=0;
    this.value=ph;
    this.style.color='#777';
  }
}



function ge (id) {
  var el = document.getElementById(id);
  return el;
}


function sct (id) {
  var y  = getY(ge(id));
  var sy = f_scrollTop();
  if (sy > y) {
    scrollTo(0, y-20);
  }
}


function f_clientWidth() {
    return f_filterResults (
			    window.innerWidth ? window.innerWidth : 0,
			    document.documentElement ? document.documentElement.clientWidth : 0,
			    document.body ? document.body.clientWidth : 0
			    );
}
function f_clientHeight() {
    return f_filterResults (
			    window.innerHeight ? window.innerHeight : 0,
			    document.documentElement ? document.documentElement.clientHeight : 0,
			    document.body ? document.body.clientHeight : 0
			    );
}
function f_scrollLeft() {
    return f_filterResults (
			    window.pageXOffset ? window.pageXOffset : 0,
			    document.documentElement ? document.documentElement.scrollLeft : 0,
			    document.body ? document.body.scrollLeft : 0
			    );
}
function f_scrollTop() {
    return f_filterResults (
			    window.pageYOffset ? window.pageYOffset : 0,
			    document.documentElement ? document.documentElement.scrollTop : 0,
			    document.body ? document.body.scrollTop : 0
			    );
}
function f_filterResults(n_win, n_docel, n_body) {
    var n_result = n_win ? n_win : 0;
    if (n_docel && (!n_result || (n_result > n_docel)))
	n_result = n_docel;
    return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}



function updateHidden (txt, li) {
  hiddenName = txt.name.replace("_","");
  id = li.id.replace("auto_","");
  txt.form[hiddenName].value = id;
}



function cc_menu (css, div) {
  ge(div).className = css;
}

function cc_menu_off (css, divprefix, ids) {
  var allids = ids.split(',');
  for (i = 0; i < allids.length; i++) {
    var currDiv = divprefix + allids[i];
    ge(currDiv).className = 'off';
  }
}


function get_login_unique () {
  var cookie = readCookie('WiP_Login_Ticket');
  if (cookie) {
      var array = cookie.split("&");
      var user = array[1];
      return user;
  }
}


function textarea_countlines (id, def_rows) {
  var area      = ge(id);
  var text      = area.value;
  var lines_arr = text.split("\n")
  var lines     = lines_arr.length;
  for (i=0; i<lines_arr.length; i++) {
    if (lines_arr[i].length > area.cols) {
      lines += Math.round( lines_arr[i].length / area.cols );
    }
  }
  if (lines > area.rows) {
    area.rows = lines + 1;
  } else if (lines < def_rows) {
    area.rows = def_rows;
  }
  return lines;
}


var myLightWindow = '';
var mlw2 = undefined;
function wip_lw (mlw, w, h, url, title, author, caption, cssclass) {
  mlw2 = new lightwindow({resizeSpeed : 10});
  mlw2.activateWindow({
	               href     : url,
		       title    : title,
		       author   : author,
		       caption  : caption,
		       width    : w,
 	               height   : h,
   	               cssclass : cssclass || ''
		      });
}

function wip_lw_close () {
  mlw2.deactivate();
}


function getQueryStringVars() {
  var params = {};
  try {
    var query_string = window.location.search.split("?")[1];
    if (query_string) {
      params = query_string.toQueryParams();
    }
  } catch (err) {
  }

  return params;
}


function readPersonCookie (cookieKey) {
  var params = new Array();
  var cookie  = readCookie(cookieKey);
  params = cookie.split("&");
  var data = params[1].evalJSON();
  return data;
}



function wip_admin_toolbar (objid, script_name, func) {
  var params  = getQueryStringVars();
  var cookie  = readCookie('WiP_Admin_Ticket');
  if (cookie) {
      var array   = cookie.split("&");
      var user    = array[1];
      var myenv   = {};
      try {
	  if (env) {
	      myenv = env;
	  }
      } catch (err) {
      }
      var toolbar = {
	  css:      '<link rel="stylesheet" href="/tools/wip_v4/admin-toolbar-css-default.css" type="text/css" />',
	  ajax:     '<scr'+'ipt type="text/javascript" src="/tools/ajax/lib.epl"></scr'+'ipt>',
	  main:     '<div class="wiptoolbar">' +
                      '<div id="wipadmintoolbar"></div>' +
                      '<scr'+'ipt type="text/javascript">' +
	              'wipAjax("div=wipadmintoolbar&digest=' + user + '&page=' + encodeURIComponent(script_name || myenv.SCRIPT_NAME) + '&id=' + (params.id || '') + '&aid=' + (params.aid || '') + '&cid=' + (params.cid || '') + '&kid=' + (params.kid || '') + '&url=' + encodeURIComponent('/tools/wip_v4/admin/toolbar/main.epl')  + '", "wipadmintoolbar", "/tools/wip_v4/redirect_admin.epl", "get", "");' +
                      '</scr'+'ipt>' +
                    '</div>' +
                    '<div class="wiptoolbar_placeholder"><div class="clear"></div></div>'
      };

      if (user) {
	  if (objid) {
	      if (func) {
	        wipAjax('skip=all&div=' + objid + '&digest=' + user + '&page=' + encodeURIComponent(script_name || myenv.SCRIPT_NAME) + (script_name ? ('&page2=' + encodeURIComponent(myenv.SCRIPT_NAME)) : '') + '&id=' + (params.id || '') + '&aid=' + (params.aid || '') + '&cid=' + (params.cid || '') + '&kid=' + (params.kid || '') + '&url=' + encodeURIComponent('/tools/wip_v4/admin/toolbar/main_lingua.epl'), objid, '/tools/wip_v4/redirect_admin.epl', 'get', '');
	      } else {
	        wipAjax('skip=all&div=' + objid + '&digest=' + user + '&page=' + encodeURIComponent(script_name || myenv.SCRIPT_NAME) + (script_name ? ('&page2=' + encodeURIComponent(myenv.SCRIPT_NAME)) : '') + '&id=' + (params.id || '') + '&aid=' + (params.aid || '') + '&cid=' + (params.cid || '') + '&kid=' + (params.kid || '') + '&url=' + encodeURIComponent('/tools/wip_v4/admin/toolbar/main.epl'), objid, '/tools/wip_v4/redirect_admin.epl', 'get', '');
	      }
	  } else {
	      document.write( toolbar.css );
	      document.write( toolbar.ajax );
	      document.write( toolbar.main );
	  }
      }
  }
}


function wip_page_toolbar_login_update () {
    if ($('wippagetoolbar_not_logged_in')) {
	var params  = getQueryStringVars();
	var myenv   = {};
	try { 
	    if (env) { myenv = env; }
	} catch (err) {}
	wipAjax("div=wippagetoolbar&digest=' + user + '&page=' + encodeURIComponent(script_name || myenv.SCRIPT_NAME) + '&id=' + (params.id || '') + '&aid=' + (params.aid || '') + '&cid=' + (params.cid || '') +'", "wippagetoolbar", "/tools/wip_v4/toolbar/main.epl", "get", "");

    } else if (parent.$('wippagetoolbar_not_logged_in')) {
	var params  = getQueryStringVars();
	var myenv   = {};
	try { 
	    if (env) { myenv = env; }
	} catch (err) {}
	parent.wipAjax("div=wippagetoolbar&digest=' + user + '&page=' + encodeURIComponent(script_name || myenv.SCRIPT_NAME) + '&id=' + (params.id || '') + '&aid=' + (params.aid || '') + '&cid=' + (params.cid || '') +'", "wippagetoolbar", "/tools/wip_v4/toolbar/main.epl", "get", "");

    }
}


function wip_page_toolbar (script_name) {
  var params  = getQueryStringVars();
  var cookie  = readCookie('WiP_Login_Ticket');
  var myenv   = {};
  try { 
      if (env) { myenv = env; }
  } catch (err) {}
  var toolbar = {
	  css:            '<link rel="stylesheet" href="/tools/wip_v4/toolbar/css/default.css" type="text/css" />',
	  main_head:      '<div class="wippagetoolbar_container" id="wippagetoolbar_container">' +
                          '  <div class="wippagetoolbar" id="wippagetoolbar"></div>' +
	                  '  <scr'+'ipt type="text/javascript">',
          main_main:      '    wipAjax("div=wippagetoolbar&digest=' + user + '&page=' + encodeURIComponent(script_name || myenv.SCRIPT_NAME) + '&id=' + (params.id || '') + '&aid=' + (params.aid || '') + '&cid=' + (params.cid || '') +'", "wippagetoolbar", "/tools/wip_v4/toolbar/main.epl", "get", "");',
          main_subscribe: '    wipAjax("div=wippagetoolbar&digest=' + user + '&page=' + encodeURIComponent(script_name || myenv.SCRIPT_NAME) + '&id=' + (params.id || '') + '&aid=' + (params.aid || '') + '&cid=' + (params.cid || '') +'", "wippagetoolbar", "/tools/wip_v4/toolbar/subscribe.epl", "get", "");',
          main_done:      '    wipAjax("div=wippagetoolbar&digest=' + user + '&page=' + encodeURIComponent(script_name || myenv.SCRIPT_NAME) + '&id=' + (params.id || '') + '&aid=' + (params.aid || '') + '&cid=' + (params.cid || '') +'", "wippagetoolbar", "/tools/wip_v4/toolbar/login.epl", "get", "");',
          main_foot:      '  </scr'+'ipt>' +
                          '</div>' +
 	                  '<div class="wippagetoolbar_placeholder" id="wippagetoolbar_placeholder"><div class="clear"></div></div>' +
                          '<div id="wippagetoolbar_dropdown_c" class="wippagetoolbar_container_dropdown_c" style="display:none;"></div>',
	  hide_main_head:      '<div class="wippagetoolbar_container_hide" id="wippagetoolbar_container">' +
                               '  <div class="wippagetoolbar_hide" id="wippagetoolbar"></div>' +
	                       '  <scr'+'ipt type="text/javascript">',
          hide_main_main:      '    wipAjax("div=wippagetoolbar&digest=' + user + '&page=' + encodeURIComponent(script_name || myenv.SCRIPT_NAME) + '&id=' + (params.id || '') + '&aid=' + (params.aid || '') + '&cid=' + (params.cid || '') +'", "wippagetoolbar", "/tools/wip_v4/toolbar/main_hide.epl", "get", "");',
          hide_main_subscribe: '    wipAjax("div=wippagetoolbar&digest=' + user + '&page=' + encodeURIComponent(script_name || myenv.SCRIPT_NAME) + '&id=' + (params.id || '') + '&aid=' + (params.aid || '') + '&cid=' + (params.cid || '') +'", "wippagetoolbar", "/tools/wip_v4/toolbar/subscribe_hide.epl", "get", "");',
          hide_main_done:      '    wipAjax("div=wippagetoolbar&digest=' + user + '&page=' + encodeURIComponent(script_name || myenv.SCRIPT_NAME) + '&id=' + (params.id || '') + '&aid=' + (params.aid || '') + '&cid=' + (params.cid || '') +'", "wippagetoolbar", "/tools/wip_v4/toolbar/login_hide.epl", "get", "");',
          hide_main_foot:      '  </scr'+'ipt>' +
                               '</div>' +
	                       '<div class="wippagetoolbar_placeholder_hide" id="wippagetoolbar_placeholder"><div class="clear"></div></div>' +
                               '<div id="wippagetoolbar_dropdown_c" class="wippagetoolbar_container_dropdown_c" style="display:none;"></div>'

      };

  if (cookie) {
      var array   = cookie.split("&");
      var user    = array[1];
      if (user) {
	  var cookie_hide_login = readCookie('WiP_Toolbar_Hide_Login');
	  var hide_login        = undefined;
          document.write( toolbar.css );
	  if (cookie_hide_login) {
	      var array = cookie_hide_login.split("&");
	      hide_login      = array[0];
	      document.write( toolbar.hide_main_head + toolbar.hide_main_main + toolbar.hide_main_foot);
	  }
	  if (!hide_login) {
	      document.write( toolbar.main_head + toolbar.main_main + toolbar.main_foot);
	  }
      }
  } else {
      var cookie_hide = readCookie('WiP_Toolbar_Hide');
      var cookie_done = readCookie('WiP_Toolbar_Hide_Done');
      var hide        = undefined;
      var done        = undefined;
      document.write( toolbar.css );
      if (cookie_done) {
	  var array = cookie_done.split("&");
	  done      = array[0];
      }
      if (cookie_hide) {
	  var array = cookie_hide.split("&");
	  hide      = array[0];
          if (done) {
	    document.write( toolbar.hide_main_head + toolbar.hide_main_done + toolbar.hide_main_foot);
	  } else {
	    document.write( toolbar.hide_main_head + toolbar.hide_main_subscribe + toolbar.hide_main_foot);
	  }
      }
      if (!hide) {
          if (done) {
	    document.write( toolbar.main_head + toolbar.main_done + toolbar.main_foot);
	  } else {
	    document.write( toolbar.main_head + toolbar.main_subscribe + toolbar.main_foot);
	  }
      }
  }
  return undefined;
}



// Must have no margin or padding on body.
function vertical_middle() {
  var scr   = document.viewport.getDimensions();
  var el    =  $(vertical_middle_myDiv).getDimensions();
  var y_mid = Math.round((scr.height/2) - (el.height/2));
  y_mid = y_mid > 0 ? y_mid : 0;
  $(vertical_middle_myDiv).setStyle({
				     marginTop : y_mid + 'px'
				    });
}


function adCookie (ck, max) {
  var params = new Array();
  var cookie  = parseInt(readCookie(ck));
  if (cookie) {
   cookie = cookie + 1;
  } else {
   cookie = 1;
  }
  setCookie(ck,cookie,100);
  if (cookie <= max) {
      return true; 
  } else {
      return false;
  }
}







