var DOKU_BASE   = '/';var DOKU_TPL    = '/lib/tpl/arctic/';var alertText   = 'Por favor, pega el texto al que quieres dar formato.\n Será añadido al final del documento.';var notSavedYet = 'Hay cambios que no se han guardado que se perderán.\n¿Quieres continuar?';var reallyDel   = '¿Quieres realmente borrar lo seleccionado?';﻿LANG = {"keepopen":"Mantener esta ventana abierta durante la selecci\u00f3n","hidedetails":"Ocultar detalles","nosmblinks":"Enlazar a recursos compartidos de Windows s\u00f3lo funciona en Microsoft Internet Explorer.\nLo que si puedes hacer es copiar y pegar el enlace.","mu_btn":"Subir varios archivos a la vez","plugins":[]};


/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/helpers.js XXXXXXXXXX */

/**
 * Differrent helper functions
 *
 * @author Ilya Lebedev <ilya@lebedev.net>
 * @license LGPL
 */
//-----------------------------------------------------------------------------
//  Variable/property checks
//-----------------------------------------------------------------------------
/**
 *  Checks if property is undefined
 *
 *  @param {Object} prop value to check
 *  @return {Boolean} true if matched
 *  @scope public
 */
function isUndefined (prop /* :Object */) /* :Boolean */ {
  return (typeof prop == 'undefined');
}
/**
 *  Checks if property is function
 *
 *  @param {Object} prop value to check
 *  @return {Boolean} true if matched
 *  @scope public
 */
function isFunction (prop /* :Object */) /* :Boolean */ {
  return (typeof prop == 'function');
}
/**
 *  Checks if property is string
 *
 *  @param {Object} prop value to check
 *  @return {Boolean} true if matched
 *  @scope public
 */
function isString (prop /* :Object */) /* :Boolean */ {
  return (typeof prop == 'string');
}
/**
 *  Checks if property is number
 *
 *  @param {Object} prop value to check
 *  @return {Boolean} true if matched
 *  @scope public
 */
function isNumber (prop /* :Object */) /* :Boolean */ {
  return (typeof prop == 'number');
}
/**
 *  Checks if property is the calculable number
 *
 *  @param {Object} prop value to check
 *  @return {Boolean} true if matched
 *  @scope public
 */
function isNumeric (prop /* :Object */) /* :Boolean */ {
  return isNumber(prop)&&!isNaN(prop)&&isFinite(prop);
}
/**
 *  Checks if property is array
 *
 *  @param {Object} prop value to check
 *  @return {Boolean} true if matched
 *  @scope public
 */
function isArray (prop /* :Object */) /* :Boolean */ {
  return (prop instanceof Array);
}
/**
 *  Checks if property is regexp
 *
 *  @param {Object} prop value to check
 *  @return {Boolean} true if matched
 *  @scope public
 */
function isRegExp (prop /* :Object */) /* :Boolean */ {
  return (prop instanceof RegExp);
}
/**
 *  Checks if property is a boolean value
 *
 *  @param {Object} prop value to check
 *  @return {Boolean} true if matched
 *  @scope public
 */
function isBoolean (prop /* :Object */) /* :Boolean */ {
  return ('boolean' == typeof prop);
}
/**
 *  Checks if property is a scalar value (value that could be used as the hash key)
 *
 *  @param {Object} prop value to check
 *  @return {Boolean} true if matched
 *  @scope public
 */
function isScalar (prop /* :Object */) /* :Boolean */ {
  return isNumeric(prop)||isString(prop);
}
/**
 *  Checks if property is empty
 *
 *  @param {Object} prop value to check
 *  @return {Boolean} true if matched
 *  @scope public
 */
function isEmpty (prop /* :Object */) /* :Boolean */ {
  if (isBoolean(prop)) return false;
  if (isRegExp(prop) && new RegExp("").toString() == prop.toString()) return true;
  if (isString(prop) || isNumber(prop)) return !prop;
  if (Boolean(prop)&&false != prop) {
    for (var i in prop) if(prop.hasOwnProperty(i)) return false
  }
  return true;
}

/**
 *  Checks if property is derived from prototype, applies method if it is not exists
 *
 *  @param string property name
 *  @return bool true if prototyped
 *  @access public
 */
if ('undefined' == typeof Object.hasOwnProperty) {
  Object.prototype.hasOwnProperty = function (prop) {
    return !('undefined' == typeof this[prop] || this.constructor && this.constructor.prototype[prop] && this[prop] === this.constructor.prototype[prop]);
  }
}

/**
 * Very simplistic Flash plugin check, probably works for Flash 8 and higher only
 */
function hasFlash(version){
    var ver = 0;
    try{
        if(navigator.plugins != null && navigator.plugins.length > 0){
           ver = navigator.plugins["Shockwave Flash"].description.split(' ')[2].split('.')[0];
        }else{
           var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
           ver = axo.GetVariable("$version").split(' ')[1].split(',')[0];
        }
    }catch(e){ }

    if(ver >= version) return true;
    return false;
}


/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/helpers.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/events.js XXXXXXXXXX */

// written by Dean Edwards, 2005
// with input from Tino Zijdel

// http://dean.edwards.name/weblog/2005/10/add-event/

function addEvent(element, type, handler) {
    // assign each event handler a unique ID
    if (!handler.$$guid) handler.$$guid = addEvent.guid++;
    // create a hash table of event types for the element
    if (!element.events) element.events = {};
    // create a hash table of event handlers for each element/event pair
    var handlers = element.events[type];
    if (!handlers) {
        handlers = element.events[type] = {};
        // store the existing event handler (if there is one)
        if (element["on" + type]) {
            handlers[0] = element["on" + type];
        }
    }
    // store the event handler in the hash table
    handlers[handler.$$guid] = handler;
    // assign a global event handler to do all the work
    element["on" + type] = handleEvent;
};
// a counter used to create unique IDs
addEvent.guid = 1;

function removeEvent(element, type, handler) {
    // delete the event handler from the hash table
    if (element.events && element.events[type]) {
        delete element.events[type][handler.$$guid];
    }
};

function handleEvent(event) {
    var returnValue = true;
    // grab the event object (IE uses a global event object)
    event = event || fixEvent(window.event);
    // get a reference to the hash table of event handlers
    var handlers = this.events[event.type];
    // execute each event handler
    for (var i in handlers) {
        if (!handlers.hasOwnProperty(i)) continue;
        this.$$handleEvent = handlers[i];
        if (this.$$handleEvent(event) === false) {
            returnValue = false;
        }
    }
    return returnValue;
};

function fixEvent(event) {
    // add W3C standard event methods
    event.preventDefault = fixEvent.preventDefault;
    event.stopPropagation = fixEvent.stopPropagation;
    // fix target
    event.target = event.srcElement;
    return event;
};
fixEvent.preventDefault = function() {
    this.returnValue = false;
};
fixEvent.stopPropagation = function() {
    this.cancelBubble = true;
};


/**
 * Pseudo event handler to be fired after the DOM was parsed or
 * on window load at last.
 *
 * @author based upon some code by Dean Edwards
 * @author Dean Edwards
 * @link   http://dean.edwards.name/weblog/2006/06/again/
 */
window.fireoninit = function() {
  // quit if this function has already been called
  if (arguments.callee.done) return;
  // flag this function so we don't do the same thing twice
  arguments.callee.done = true;
  // kill the timer
  if (_timer) {
     clearInterval(_timer);
     _timer = null;
  }

  if (typeof window.oninit == 'function') {
        window.oninit();
  }
};

/**
 * Run the fireoninit function as soon as possible after
 * the DOM was loaded, using different methods for different
 * Browsers
 *
 * @author Dean Edwards
 * @link   http://dean.edwards.name/weblog/2006/06/again/
 */
  // for Mozilla
  if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", window.fireoninit, null);
  }

  // for Internet Explorer (using conditional comments)
  /*@cc_on @*/
  /*@if (@_win32)
    document.write("<scr" + "ipt id=\"__ie_init\" defer=\"true\" src=\"//:\"><\/script>");
    var script = document.getElementById("__ie_init");
    script.onreadystatechange = function() {
        if (this.readyState == "complete") {
            window.fireoninit(); // call the onload handler
        }
    };
  /*@end @*/

  // for Safari
  if (/WebKit/i.test(navigator.userAgent)) { // sniff
    var _timer = setInterval(function() {
        if (/loaded|complete/.test(document.readyState)) {
            window.fireoninit(); // call the onload handler
        }
    }, 10);
  }

  // for other browsers
  window.onload = window.fireoninit;


/**
 * This is a pseudo Event that will be fired by the fireoninit
 * function above.
 *
 * Use addInitEvent to bind to this event!
 *
 * @author Andreas Gohr <andi@splitbrain.org>
 * @see fireoninit()
 */
window.oninit = function(){};

/**
 * Bind a function to the window.init pseudo event
 *
 * @author Simon Willison
 * @see http://simon.incutio.com/archive/2004/05/26/addLoadEvent
 */
function addInitEvent(func) {
  var oldoninit = window.oninit;
  if (typeof window.oninit != 'function') {
    window.oninit = func;
  } else {
    window.oninit = function() {
      oldoninit();
      func();
    };
  }
}




/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/events.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/cookie.js XXXXXXXXXX */

/**
 * Handles the cookie used by several JavaScript functions
 *
 * Only a single cookie is written and read. You may only save
 * sime name-value pairs - no complex types!
 *
 * You should only use the getValue and setValue methods
 *
 * @author Andreas Gohr <andi@splitbrain.org>
 */
DokuCookie = {
    data: Array(),
    name: 'DOKU_PREFS',

    /**
     * Save a value to the cookie
     *
     * @author Andreas Gohr <andi@splitbrain.org>
     */
    setValue: function(key,val){
        DokuCookie.init();
        DokuCookie.data[key] = val;

        // prepare expire date
        var now = new Date();
        DokuCookie.fixDate(now);
        now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000); //expire in a year

        //save the whole data array
        var text = '';
        for(var key in DokuCookie.data){
            if (!DokuCookie.data.hasOwnProperty(key)) continue;
            text += '#'+escape(key)+'#'+DokuCookie.data[key];
        }
        DokuCookie.setCookie(DokuCookie.name,text.substr(1),now,DOKU_BASE);
    },

    /**
     * Get a Value from the Cookie
     *
     * @author Andreas Gohr <andi@splitbrain.org>
     */
    getValue: function(key){
        DokuCookie.init();
        return DokuCookie.data[key];
    },

    /**
     * Loads the current set cookie
     *
     * @author Andreas Gohr <andi@splitbrain.org>
     */
    init: function(){
        if(DokuCookie.data.length) return;
        var text  = DokuCookie.getCookie(DokuCookie.name);
        if(text){
            var parts = text.split('#');
            for(var i=0; i<parts.length; i+=2){
                DokuCookie.data[unescape(parts[i])] = unescape(parts[i+1]);
            }
        }
    },

    /**
     * This sets a cookie by JavaScript
     *
     * @link http://www.webreference.com/js/column8/functions.html
     */
    setCookie: function(name, value, expires, path, domain, secure) {
        var curCookie = name + "=" + escape(value) +
            ((expires) ? "; expires=" + expires.toGMTString() : "") +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            ((secure) ? "; secure" : "");
        document.cookie = curCookie;
    },

    /**
     * This reads a cookie by JavaScript
     *
     * @link http://www.webreference.com/js/column8/functions.html
     */
    getCookie: function(name) {
        var dc = document.cookie;
        var prefix = name + "=";
        var begin = dc.indexOf("; " + prefix);
        if (begin == -1) {
            begin = dc.indexOf(prefix);
            if (begin !== 0){ return null; }
        } else {
            begin += 2;
        }
        var end = document.cookie.indexOf(";", begin);
        if (end == -1){
            end = dc.length;
        }
        return unescape(dc.substring(begin + prefix.length, end));
    },

    /**
     * This is needed for the cookie functions
     *
     * @link http://www.webreference.com/js/column8/functions.html
     */
    fixDate: function(date) {
        var base = new Date(0);
        var skew = base.getTime();
        if (skew > 0){
            date.setTime(date.getTime() - skew);
        }
    }
};


/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/cookie.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/script.js XXXXXXXXXX */

/**
 * Some of these scripts were taken from wikipedia.org and were modified for DokuWiki
 */

/**
 * Some browser detection
 */
var clientPC  = navigator.userAgent.toLowerCase(); // Get client info
var is_macos  = navigator.appVersion.indexOf('Mac') != -1;
var is_gecko  = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1) &&
                (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));
var is_safari = ((clientPC.indexOf('AppleWebKit')!=-1) && (clientPC.indexOf('spoofer')==-1));
var is_khtml  = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled ));
if (clientPC.indexOf('opera')!=-1) {
    var is_opera = true;
    var is_opera_preseven = (window.opera && !document.childNodes);
    var is_opera_seven = (window.opera && document.childNodes);
}

// prepare empty toolbar for checks by lazy plugins
var toolbar = '';

/**
 * Handy shortcut to document.getElementById
 *
 * This function was taken from the prototype library
 *
 * @link http://prototype.conio.net/
 */
function $() {
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements.push(element);
  }

  return elements;
}

/**
 * Simple function to check if a global var is defined
 *
 * @author Kae Verens
 * @link http://verens.com/archives/2005/07/25/isset-for-javascript/#comment-2835
 */
function isset(varname){
  return(typeof(window[varname])!='undefined');
}

/**
 * Select elements by their class name
 *
 * @author Dustin Diaz <dustin [at] dustindiaz [dot] com>
 * @link   http://www.dustindiaz.com/getelementsbyclass/
 */
function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();
    if ( node == null )
        node = document;
    if ( tag == null )
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if ( pattern.test(els[i].className) ) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}

/**
 * Get the X offset of the top left corner of the given object
 *
 * @link http://www.quirksmode.org/index.html?/js/findpos.html
 */
function findPosX(object){
  var curleft = 0;
  var obj = $(object);
  if (obj.offsetParent){
    while (obj.offsetParent){
      curleft += obj.offsetLeft;
      obj = obj.offsetParent;
    }
  }
  else if (obj.x){
    curleft += obj.x;
  }
  return curleft;
} //end findPosX function

/**
 * Get the Y offset of the top left corner of the given object
 *
 * @link http://www.quirksmode.org/index.html?/js/findpos.html
 */
function findPosY(object){
  var curtop = 0;
  var obj = $(object);
  if (obj.offsetParent){
    while (obj.offsetParent){
      curtop += obj.offsetTop;
      obj = obj.offsetParent;
    }
  }
  else if (obj.y){
    curtop += obj.y;
  }
  return curtop;
} //end findPosY function

/**
 * Escape special chars in JavaScript
 *
 * @author Andreas Gohr <andi@splitbrain.org>
 */
function jsEscape(text){
    var re=new RegExp("\\\\","g");
    text=text.replace(re,"\\\\");
    re=new RegExp("'","g");
    text=text.replace(re,"\\'");
    re=new RegExp('"',"g");
    text=text.replace(re,'&quot;');
    re=new RegExp("\\\\\\\\n","g");
    text=text.replace(re,"\\n");
    return text;
}

/**
 * This function escapes some special chars
 * @deprecated by above function
 */
function escapeQuotes(text) {
  var re=new RegExp("'","g");
  text=text.replace(re,"\\'");
  re=new RegExp('"',"g");
  text=text.replace(re,'&quot;');
  re=new RegExp("\\n","g");
  text=text.replace(re,"\\n");
  return text;
}

/**
 * Adds a node as the first childenode to the given parent
 *
 * @see appendChild()
 */
function prependChild(parent,element) {
    if(!parent.firstChild){
        parent.appendChild(element);
    }else{
        parent.insertBefore(element,parent.firstChild);
    }
}

/**
 * Prints a animated gif to show the search is performed
 *
 * Because we need to modify the DOM here before the document is loaded
 * and parsed completely we have to rely on document.write()
 *
 * @author Andreas Gohr <andi@splitbrain.org>
 */
function showLoadBar(){

  document.write('<img src="'+DOKU_BASE+'lib/images/loading.gif" '+
                 'width="150" height="12" alt="..." />');

  /* this does not work reliable in IE
  obj = $(id);

  if(obj){
    obj.innerHTML = '<img src="'+DOKU_BASE+'lib/images/loading.gif" '+
                    'width="150" height="12" alt="..." />';
    obj.style.display="block";
  }
  */
}

/**
 * Disables the animated gif to show the search is done
 *
 * @author Andreas Gohr <andi@splitbrain.org>
 */
function hideLoadBar(id){
  obj = $(id);
  if(obj) obj.style.display="none";
}

/**
 * Adds the toggle switch to the TOC
 */
function addTocToggle() {
    if(!document.getElementById) return;
    var header = $('toc__header');
    if(!header) return;

    var obj          = document.createElement('span');
    obj.id           = 'toc__toggle';
    obj.innerHTML    = '<span>&minus;</span>';
    obj.className    = 'toc_close';
    obj.style.cursor = 'pointer';

    prependChild(header,obj);
    obj.parentNode.onclick = toggleToc;
    try {
       obj.parentNode.style.cursor = 'pointer';
       obj.parentNode.style.cursor = 'hand';
    }catch(e){}
}

/**
 * This toggles the visibility of the Table of Contents
 */
function toggleToc() {
  var toc = $('toc__inside');
  var obj = $('toc__toggle');
  if(toc.style.display == 'none') {
    toc.style.display   = '';
    obj.innerHTML       = '<span>&minus;</span>';
    obj.className       = 'toc_close';
  } else {
    toc.style.display   = 'none';
    obj.innerHTML       = '<span>+</span>';
    obj.className       = 'toc_open';
  }
}

/**
 * This enables/disables checkboxes for acl-administration
 *
 * @author Frank Schubert <frank@schokilade.de>
 */
function checkAclLevel(){
  if(document.getElementById) {
    var scope = $('acl_scope').value;

    //check for namespace
    if( (scope.indexOf(":*") > 0) || (scope == "*") ){
      document.getElementsByName('acl_checkbox[4]')[0].disabled=false;
      document.getElementsByName('acl_checkbox[8]')[0].disabled=false;
    }else{
      document.getElementsByName('acl_checkbox[4]')[0].checked=false;
      document.getElementsByName('acl_checkbox[8]')[0].checked=false;

      document.getElementsByName('acl_checkbox[4]')[0].disabled=true;
      document.getElementsByName('acl_checkbox[8]')[0].disabled=true;
    }
  }
}

/**
 * Display an insitu footnote popup
 *
 * @author Andreas Gohr <andi@splitbrain.org>
 * @author Chris Smith <chris@jalakai.co.uk>
 */
function footnote(e){
    var obj = e.target;
    var id = obj.id.substr(5);

    // get or create the footnote popup div
    var fndiv = $('insitu__fn');
    if(!fndiv){
        fndiv = document.createElement('div');
        fndiv.id        = 'insitu__fn';
        fndiv.className = 'insitu-footnote JSpopup dokuwiki';

        // autoclose on mouseout - ignoring bubbled up events
        addEvent(fndiv,'mouseout',function(e){
            if(e.target != fndiv){
                e.stopPropagation();
                return;
            }
            // check if the element was really left
            if(e.pageX){        // Mozilla
                var bx1 = findPosX(fndiv);
                var bx2 = bx1 + fndiv.offsetWidth;
                var by1 = findPosY(fndiv);
                var by2 = by1 + fndiv.offsetHeight;
                var x = e.pageX;
                var y = e.pageY;
                if(x > bx1 && x < bx2 && y > by1 && y < by2){
                    // we're still inside boundaries
                    e.stopPropagation();
                    return;
                }
            }else{              // IE
                if(e.offsetX > 0 && e.offsetX < fndiv.offsetWidth-1 &&
                   e.offsetY > 0 && e.offsetY < fndiv.offsetHeight-1){
                    // we're still inside boundaries
                    e.stopPropagation();
                    return;
                }
            }
            // okay, hide it
            fndiv.style.display='none';
        });
        document.body.appendChild(fndiv);
    }

    // locate the footnote anchor element
    var a = $( "fn__"+id );
    if (!a){ return; }

    // anchor parent is the footnote container, get its innerHTML
    var content = new String (a.parentNode.parentNode.innerHTML);

    // strip the leading content anchors and their comma separators
    content = content.replace(/<sup>.*<\/sup>/gi, '');
    content = content.replace(/^\s+(,\s+)+/,'');

    // prefix ids on any elements with "insitu__" to ensure they remain unique
    content = content.replace(/\bid=\"(.*?)\"/gi,'id="insitu__$1');

    // now put the content into the wrapper
    fndiv.innerHTML = content;

    // position the div and make it visible
    var x; var y;
    if(e.pageX){        // Mozilla
        x = e.pageX;
        y = e.pageY;
    }else{              // IE
        x = e.offsetX;
        y = e.offsetY;
    }
    fndiv.style.position = 'absolute';
    fndiv.style.left = (x+2)+'px';
    fndiv.style.top  = (y+2)+'px';
    fndiv.style.display = '';
}

/**
 * Add the event handlers to footnotes
 *
 * @author Andreas Gohr <andi@splitbrain.org>
 */
addInitEvent(function(){
    var elems = getElementsByClass('fn_top',null,'a');
    for(var i=0; i<elems.length; i++){
        addEvent(elems[i],'mouseover',function(e){footnote(e);});
    }
});

/**
 * Add the edit window size controls
 */
function initSizeCtl(ctlid,edid){
    if(!document.getElementById){ return; }

    var ctl      = $(ctlid);
    var textarea = $(edid);
    if(!ctl || !textarea) return;

    var hgt = DokuCookie.getValue('sizeCtl');
    if(hgt){
      textarea.style.height = hgt;
    }else{
      textarea.style.height = '300px';
    }

    var wrp = DokuCookie.getValue('wrapCtl');
    if(wrp){
      setWrap(textarea, wrp);
    } // else use default value

    var l = document.createElement('img');
    var s = document.createElement('img');
    var w = document.createElement('img');
    l.src = DOKU_BASE+'lib/images/larger.gif';
    s.src = DOKU_BASE+'lib/images/smaller.gif';
    w.src = DOKU_BASE+'lib/images/wrap.gif';
    addEvent(l,'click',function(){sizeCtl(edid,100);});
    addEvent(s,'click',function(){sizeCtl(edid,-100);});
    addEvent(w,'click',function(){toggleWrap(edid);});
    ctl.appendChild(l);
    ctl.appendChild(s);
    ctl.appendChild(w);
}

/**
 * This sets the vertical size of the editbox
 */
function sizeCtl(edid,val){
  var textarea = $(edid);
  var height = parseInt(textarea.style.height.substr(0,textarea.style.height.length-2));
  height += val;
  textarea.style.height = height+'px';

  DokuCookie.setValue('sizeCtl',textarea.style.height);
}

/**
 * Toggle the wrapping mode of a textarea
 */
function toggleWrap(edid){
    var textarea = $(edid);
    var wrap = textarea.getAttribute('wrap');
    if(wrap && wrap.toLowerCase() == 'off'){
        setWrap(textarea, 'soft');
    }else{
        setWrap(textarea, 'off');
    }

    DokuCookie.setValue('wrapCtl',textarea.getAttribute('wrap'));
}

/**
 * Set the wrapping mode of a textarea
 *
 * @author Fluffy Convict <fluffyconvict@hotmail.com>
 * @author <shutdown@flashmail.com>
 * @link   http://news.hping.org/comp.lang.javascript.archive/12265.html
 * @link   https://bugzilla.mozilla.org/show_bug.cgi?id=41464
 */
function setWrap(textarea, wrapAttrValue){
    textarea.setAttribute('wrap', wrapAttrValue);

    // Fix display for mozilla
    var parNod = textarea.parentNode;
    var nxtSib = textarea.nextSibling;
    parNod.removeChild(textarea);
    parNod.insertBefore(textarea, nxtSib);
}

/**
 * Handler to close all open Popups
 */
function closePopups(){
  if(!document.getElementById){ return; }

  var divs = document.getElementsByTagName('div');
  for(var i=0; i < divs.length; i++){
    if(divs[i].className.indexOf('JSpopup') != -1){
            divs[i].style.display = 'none';
    }
  }
}

/**
 * Looks for an element with the ID scroll__here at scrolls to it
 */
function scrollToMarker(){
    var obj = $('scroll__here');
    if(obj) obj.scrollIntoView();
}

/**
 * Looks for an element with the ID focus__this at sets focus to it
 */
function focusMarker(){
    var obj = $('focus__this');
    if(obj) obj.focus();
}

/**
 * Remove messages
 */
function cleanMsgArea(){
    var elems = getElementsByClass('(success|info|error)',document,'div');
    if(elems){
        for(var i=0; i<elems.length; i++){
            elems[i].style.display = 'none';
        }
    }
}

/**
 * disable multiple revisions checkboxes if two are checked
 *
 * @author Anika Henke <anika@selfthinker.org>
 */
addInitEvent(function(){
    var revForm = $('page__revisions');
    if (!revForm) return;
    var elems = revForm.elements;
    var countTicks = 0;
    for (var i=0; i<elems.length; i++) {
        var input1 = elems[i];
        if (input1.type=='checkbox') {
            addEvent(input1,'click',function(e){
                if (this.checked) countTicks++;
                else countTicks--;
                for (var j=0; j<elems.length; j++) {
                    var input2 = elems[j];
                    if (countTicks >= 2) input2.disabled = (input2.type=='checkbox' && !input2.checked);
                    else input2.disabled = (input2.type!='checkbox');
                }
            });
        }
    }
});

/**
 * Add the event handler to the actiondropdown
 *
 * @author Andreas Gohr <andi@splitbrain.org>
 */
addInitEvent(function(){
    var selector = $('action__selector');
    if(!selector) return;

    addEvent(selector,'change',function(e){
        this.form.submit();
    });

    $('action__selectorbtn').style.display = 'none';
});

/**
 * Display error for Windows Shares on browsers other than IE
 *
 * Michael Klier <chi@chimeric.de>
 */
function checkWindowsShares() {
    var elems = getElementsByClass('windows',document,'a');
    if(elems){
        for(var i=0; i<elems.length; i++){
            var share = elems[i];
            addEvent(share,'click',function(){
                if(document.all == null) {
                    alert(LANG['nosmblinks']);
                }
            });
        }
    }
}

/**
 * Add the event handler for the Windows Shares check
 *
 * Michael Klier <chi@chimeric.de>
 */
addInitEvent(function(){
    checkWindowsShares();
});


/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/script.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/tw-sack.js XXXXXXXXXX */

/* Simple AJAX Code-Kit (SACK) */
/* ©2005 Gregory Wild-Smith */
/* www.twilightuniverse.com */
/* Software licenced under a modified X11 licence, see documentation or authors website for more details */

function sack(file){
  this.AjaxFailedAlert = "Your browser does not support the enhanced functionality of this website, and therefore you will have an experience that differs from the intended one.\n";
  this.requestFile = file;
  this.method = "POST";
  this.URLString = "";
  this.encodeURIString = true;
  this.execute = false;

  this.onLoading = function() { };
  this.onLoaded = function() { };
  this.onInteractive = function() { };
  this.onCompletion = function() { };
  this.afterCompletion = function() { };

  this.createAJAX = function() {
    try {
      this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (err) {
        this.xmlhttp = null;
      }
    }
    if(!this.xmlhttp && typeof XMLHttpRequest != "undefined"){
      this.xmlhttp = new XMLHttpRequest();
    }
    if (!this.xmlhttp){
      this.failed = true;
    }
  };

  this.setVar = function(name, value){
    if (this.URLString.length < 3){
      this.URLString = name + "=" + value;
    } else {
      this.URLString += "&" + name + "=" + value;
    }
  };

  this.encVar = function(name, value){
    var varString = encodeURIComponent(name) + "=" + encodeURIComponent(value);
  return varString;
  };

  this.encodeURLString = function(string){
    varArray = string.split('&');
    for (i = 0; i < varArray.length; i++){
      urlVars = varArray[i].split('=');
      if (urlVars[0].indexOf('amp;') != -1){
        urlVars[0] = urlVars[0].substring(4);
      }
      varArray[i] = this.encVar(urlVars[0],urlVars[1]);
    }
  return varArray.join('&');
  };

  this.runResponse = function(){
    eval(this.response);
  };

  this.runAJAX = function(urlstring){
    this.responseStatus = new Array(2);
    if(this.failed && this.AjaxFailedAlert){
      alert(this.AjaxFailedAlert);
    } else {
      if (urlstring){
        if (this.URLString.length){
          this.URLString = this.URLString + "&" + urlstring;
        } else {
          this.URLString = urlstring;
        }
      }
      if (this.encodeURIString){
        var timeval = new Date().getTime();
        this.URLString = this.encodeURLString(this.URLString);
        this.setVar("rndval", timeval);
      }
      if (this.element) { this.elementObj = document.getElementById(this.element); }
      if (this.xmlhttp) {
        var self = this;
        if (this.method == "GET") {
          var totalurlstring = this.requestFile + "?" + this.URLString;
          this.xmlhttp.open(this.method, totalurlstring, true);
        } else {
          this.xmlhttp.open(this.method, this.requestFile, true);
        }
        if (this.method == "POST"){
          try {
             this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
          } catch (e) {}
        }

        this.xmlhttp.onreadystatechange = function() {
          switch (self.xmlhttp.readyState){
            case 1:
              self.onLoading();
            break;
            case 2:
              self.onLoaded();
            break;
            case 3:
              self.onInteractive();
            break;
            case 4:
              self.response = self.xmlhttp.responseText;
              self.responseXML = self.xmlhttp.responseXML;
              self.responseStatus[0] = self.xmlhttp.status;
              self.responseStatus[1] = self.xmlhttp.statusText;
              self.onCompletion();
              if(self.execute){ self.runResponse(); }
              if (self.elementObj) {
                var elemNodeName = self.elementObj.nodeName;
                elemNodeName.toLowerCase();
                if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea"){
                  self.elementObj.value = self.response;
                } else {
                  self.elementObj.innerHTML = self.response;
                }
              }
              self.afterCompletion();
              self.URLString = "";
            break;
          }
        };
        this.xmlhttp.send(this.URLString);
      }
    }
  };
this.createAJAX();
}


/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/tw-sack.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/ajax.js XXXXXXXXXX */

/**
 * AJAX functions for the pagename quicksearch
 *
 * We're using a global object with self referencing methods
 * here to make callbacks work
 *
 * @license  GPL2 (http://www.gnu.org/licenses/gpl.html)
 * @author   Andreas Gohr <andi@splitbrain.org>
 */

//prepare class
function ajax_qsearch_class(){
  this.sack = null;
  this.inObj = null;
  this.outObj = null;
  this.timer = null;
}

//create global object and add functions
var ajax_qsearch = new ajax_qsearch_class();
ajax_qsearch.sack = new sack(DOKU_BASE + 'lib/exe/ajax.php');
ajax_qsearch.sack.AjaxFailedAlert = '';
ajax_qsearch.sack.encodeURIString = false;

ajax_qsearch.init = function(inID,outID){
  ajax_qsearch.inObj  = document.getElementById(inID);
  ajax_qsearch.outObj = document.getElementById(outID);

  // objects found?
  if(ajax_qsearch.inObj === null){ return; }
  if(ajax_qsearch.outObj === null){ return; }

  // attach eventhandler to search field
  addEvent(ajax_qsearch.inObj,'keyup',ajax_qsearch.call);

  // attach eventhandler to output field
  addEvent(ajax_qsearch.outObj,'click',function(){ ajax_qsearch.outObj.style.display='none'; });
};

ajax_qsearch.clear = function(){
  ajax_qsearch.outObj.style.display = 'none';
  ajax_qsearch.outObj.innerHTML = '';
  if(ajax_qsearch.timer !== null){
    window.clearTimeout(ajax_qsearch.timer);
    ajax_qsearch.timer = null;
  }
};

ajax_qsearch.exec = function(){
  ajax_qsearch.clear();
  var value = ajax_qsearch.inObj.value;
  if(value === ''){ return; }
  ajax_qsearch.sack.runAJAX('call=qsearch&q='+encodeURI(value));
};

ajax_qsearch.sack.onCompletion = function(){
  var data = ajax_qsearch.sack.response;
  if(data === ''){ return; }

  ajax_qsearch.outObj.innerHTML = data;
  ajax_qsearch.outObj.style.display = 'block';
};

ajax_qsearch.call = function(){
  ajax_qsearch.clear();
  ajax_qsearch.timer = window.setTimeout("ajax_qsearch.exec()",500);
};



/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/ajax.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/index.js XXXXXXXXXX */

/**
 * Javascript for index view
 *
 * @author Andreas Gohr <andi@splitbrain.org>
 */

index = {

     /**
     * Delay in ms before showing the throbber.
     * Used to skip the throbber for fast AJAX calls.
     */
    throbber_delay: 500,

    /**
     * Attach event handlers to all "folders" below the given element
     *
     * @author Andreas Gohr <andi@splitbrain.org>
     */
    treeattach: function(obj){
        if(!obj) return;

        var items = getElementsByClass('idx_dir',obj,'a');
        for(var i=0; i<items.length; i++){
            var elem = items[i];

            // attach action to make the link clickable by AJAX
            addEvent(elem,'click',function(e){ return index.toggle(e,this); });

            // get the listitem the elem belongs to
            var listitem = elem.parentNode;
            while (listitem.tagName != 'LI') {
              listitem = listitem.parentNode;
            }
            //when there are uls under this listitem mark this listitem as opened
            if (listitem.getElementsByTagName('ul').length) {
              listitem.open = true;
            }
        }
    },

    /**
     * Open or close a subtree using AJAX
     * The contents of subtrees are "cached" untill the page is reloaded.
     * A "loading" indicator is shown only when the AJAX call is slow.
     *
     * @author Andreas Gohr <andi@splitbrain.org>
     * @author Ben Coburn <btcoburn@silicodon.net>
     */
    toggle: function(e,clicky){
        var listitem = clicky.parentNode.parentNode;

        listitem.open = !listitem.open;
        // listitem.open represents now the action to be done

        // if already open, close by removing the sublist
        var sublists = listitem.getElementsByTagName('ul');
        if(!listitem.open){
            if (sublists.length) {
              sublists[0].style.display='none';
            }
            listitem.className='closed';
            e.preventDefault();
            return false;
        }

        // just show if already loaded
        if(sublists.length && listitem.open){
            sublists[0].style.display='';
            listitem.className='open';
            e.preventDefault();
            return false;
        }

        // prepare an AJAX call to fetch the subtree
        var ajax = new sack(DOKU_BASE + 'lib/exe/ajax.php');
        ajax.AjaxFailedAlert = '';
        ajax.encodeURIString = false;
        if(ajax.failed) return true;

        //prepare the new ul
        var ul = document.createElement('ul');
        ul.className = 'idx';
        timeout = window.setTimeout(function(){
            // show the throbber as needed
            if (listitem.open) {
              ul.innerHTML = '<li><img src="'+DOKU_BASE+'lib/images/throbber.gif" alt="loading..." title="loading..." /></li>';
              listitem.appendChild(ul);
              listitem.className='open';
            }
        }, this.throbber_delay);
        ajax.elementObj = ul;
        ajax.afterCompletion = function(){
            window.clearTimeout(timeout);
            index.treeattach(ul);
            if (listitem.className!='open') {
              if (!listitem.open) {
                ul.style.display='none';
              }
              listitem.appendChild(ul);
              if (listitem.open) {
                listitem.className='open';
              }
            }
        };
        ajax.runAJAX(clicky.search.substr(1)+'&call=index');
        e.preventDefault();
        return false;
    }
};


addInitEvent(function(){
    index.treeattach($('index__tree'));
});


/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/scripts/index.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/tpl/arctic/script.js XXXXXXXXXX */

/**
 * javascript functionality for the arctic template
 * copies the mothod for dokuwikis TOC functionality
 * in order to keep the template XHTML valid
 */

/**
 * Adds the toggle switch to the TOC
 */
function addSbLeftTocToggle() {
    if(!document.getElementById) return;
    var header = $('sb__left__toc__header');
    if(!header) return;

    var obj          = document.createElement('span');
    obj.id           = 'sb__left__toc__toggle';
    obj.innerHTML    = '<span>&minus;</span>';
    obj.className    = 'toc_close';
    obj.style.cursor = 'pointer';

    prependChild(header,obj);
    obj.parentNode.onclick = toggleSbLeftToc;
    try {
       obj.parentNode.style.cursor = 'pointer';
       obj.parentNode.style.cursor = 'hand';
    }catch(e){}
}

/**
 * This toggles the visibility of the Table of Contents
 */
function toggleSbLeftToc() {
  var toc = $('sb__left__toc__inside');
  var obj = $('sb__left__toc__toggle');
  if(toc.style.display == 'none') {
    toc.style.display   = '';
    obj.innerHTML       = '<span>&minus;</span>';
    obj.className       = 'toc_close';
  } else {
    toc.style.display   = 'none';
    obj.innerHTML       = '<span>+</span>';
    obj.className       = 'toc_open';
  }
}

/**
 * Adds the toggle switch to the TOC
 */
function addSbRightTocToggle() {
    if(!document.getElementById) return;
    var header = $('sb__right__toc__header');
    if(!header) return;

    var obj          = document.createElement('span');
    obj.id           = 'sb__right__toc__toggle';
    obj.innerHTML    = '<span>&minus;</span>';
    obj.className    = 'toc_close';
    obj.style.cursor = 'pointer';

    prependChild(header,obj);
    obj.parentNode.onclick = toggleSbRightToc;
    try {
       obj.parentNode.style.cursor = 'pointer';
       obj.parentNode.style.cursor = 'hand';
    }catch(e){}
}

/**
 * This toggles the visibility of the Table of Contents
 */
function toggleSbRightToc() {
  var toc = $('sb__right__toc__inside');
  var obj = $('sb__right__toc__toggle');
  if(toc.style.display == 'none') {
    toc.style.display   = '';
    obj.innerHTML       = '<span>&minus;</span>';
    obj.className       = 'toc_close';
  } else {
    toc.style.display   = 'none';
    obj.innerHTML       = '<span>+</span>';
    obj.className       = 'toc_open';
  }
}

// add TOC events
addInitEvent(addSbLeftTocToggle);
addInitEvent(addSbRightTocToggle);

// add AJAX index events
addInitEvent(function(){
    index.treeattach($('left__index__tree'));
});
addInitEvent(function(){
    index.treeattach($('right__index__tree'));
});


/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/tpl/arctic/script.js XXXXXXXXXX */

addInitEvent(function(){ ajax_qsearch.init('qsearch__in','qsearch__out'); });
addInitEvent(function(){ addEvent(document,'click',closePopups); });
addInitEvent(function(){ addTocToggle(); });


/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/acl/script.js XXXXXXXXXX */

acl = {
    init: function(){
        this.ctl = $('acl_manager');
        if(!this.ctl) return;

        var sel = $('acl__user').getElementsByTagName('select')[0];

        addEvent(sel,'change',acl.userselhandler);
        addEvent($('acl__tree'),'click',acl.treehandler);
        addEvent($('acl__user').getElementsByTagName('input')[1],'click',acl.loadinfo);
    },


    /**
     * Handle user dropdown
     */
    userselhandler: function(e){
        // make entry field visible/invisible
        if(this.value == '__g__' || this.value == '__u__'){
            $('acl__user').getElementsByTagName('input')[0].style.display = ''; //acl_w
            $('acl__user').getElementsByTagName('input')[1].style.display = ''; //submit
        }else{
            $('acl__user').getElementsByTagName('input')[0].style.display = 'none';
            $('acl__user').getElementsByTagName('input')[1].style.display = 'none';
        }

        acl.loadinfo();
    },

    /**
     * Load the current permission info and edit form
     *
     * @param frm - Form element with needed data
     */
    loadinfo: function(){
        // get form
        var frm = $('acl__detail').getElementsByTagName('form')[0];

        // prepare an AJAX call
        var ajax = new sack(DOKU_BASE + 'lib/plugins/acl/ajax.php');
        ajax.AjaxFailedAlert = '';
        ajax.encodeURIString = false;
        if(ajax.failed) return true;

        // prepare data
        var data = Array();
        data[0] = ajax.encVar('ns',frm.elements['ns'].value);
        data[1] = ajax.encVar('id',frm.elements['id'].value);
        data[2] = ajax.encVar('acl_t',frm.elements['acl_t'].value);
        data[3] = ajax.encVar('acl_w',frm.elements['acl_w'].value);
        data[4] = ajax.encVar('ajax','info');

        ajax.elementObj = $('acl__info');

        ajax.runAJAX(data.join('&'));
        return false;
    },

    /**
     * parse URL attributes into a associative array
     *
     * @todo put into global script lib?
     */
    parseatt: function(str){
        if(str[0] == '?') str = str.substr(1);
        var attributes = {};
        var all = str.split('&');
        for(var i=0; i<all.length; i++){
            var att = all[i].split('=');
            attributes[att[0]] = decodeURIComponent(att[1]);
        }
        return attributes;
    },

    /**
     * htmlspecialchars equivalent
     *
     * @todo put in gloabl scripts lib?
     */
    hsc: function(str) {
        str = str.replace(/&/g,"&amp;");
        str = str.replace(/\"/g,"&quot;");
        str = str.replace(/\'/g,"&#039;");
        str = str.replace(/</g,"&lt;");
        str = str.replace(/>/g,"&gt;");
        return str;
    },


    /**
     * Open or close a subtree using AJAX
     *
     * @author Andreas Gohr <andi@splitbrain.org>
     */
    treetoggle: function(clicky){
        var listitem = clicky.parentNode.parentNode;

        // if already open, close by removing the sublist
        var sublists = listitem.getElementsByTagName('ul');
        if(sublists.length){
            listitem.removeChild(sublists[0]);
            clicky.src = DOKU_BASE+'lib/images/plus.gif';
            clicky.alt = '+';
            return false;
        }

        // get the enclosed link (is always the first one)
        var link = listitem.getElementsByTagName('a')[0];

        // prepare an AJAX call to fetch the subtree
        var ajax = new sack(DOKU_BASE + 'lib/plugins/acl/ajax.php');
        ajax.AjaxFailedAlert = '';
        ajax.encodeURIString = false;
        if(ajax.failed) return true;

        //prepare the new ul
        var ul = document.createElement('ul');
        listitem.appendChild(ul);
        ajax.elementObj = ul;
        ajax.runAJAX(link.search.substr(1)+'&ajax=tree');
        clicky.src = DOKU_BASE+'lib/images/minus.gif';
        return false;
    },

    /**
     * Handles all clicks in the tree, dispatching the right action based on the
     * clicked element
     */
    treehandler: function(e){
        if(e.target.src){ // is it an image?
            acl.treetoggle(e.target);
        } else if(e.target.href){ // is it a link?
            // remove highlighting
            var obj = getElementsByClass('cur',$('acl__tree'),'a');
            for(var i=0; i<obj.length; i++){
                obj[i].className = obj[i].className.replace(/ cur/,'');
            }

            // add new highlighting
            e.target.className += ' cur';

            // set new page to detail form
            var frm = $('acl__detail').getElementsByTagName('form')[0];
            if(e.target.className.search(/wikilink1/) > -1){
                frm.elements['ns'].value = '';
                frm.elements['id'].value = acl.hsc(acl.parseatt(e.target.search)['id']);
            }else if(e.target.className.search(/idx_dir/) > -1){
                frm.elements['ns'].value = acl.hsc(acl.parseatt(e.target.search)['ns']);
                frm.elements['id'].value = '';
            }

            acl.loadinfo();
        }

        e.stopPropagation();
        e.preventDefault();
        return false;
    }

};

addInitEvent(acl.init);


/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/acl/script.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/tag/script.js XXXXXXXXXX */

/**
 * Javascript for tagindex management
 *
 * @author Gina Haeussge, Michael Klier <dokuwiki@chimeric.de>
 * @author Andreas Gohr <andi@splitbrain.org>
 */

/**
 * Class to hold some values
 */
function plugin_tagindex_class(){
    this.pages = null;
    this.page = null;
    this.sack = null;
    this.done = 1;
    this.count = 0;
}
var pl_si = new plugin_tagindex_class();
pl_si.sack = new sack(DOKU_BASE + 'lib/plugins/tag/ajax.php');
pl_si.sack.AjaxFailedAlert = '';
pl_si.sack.encodeURIString = false;

/**
 * Display the loading gif
 */
function plugin_tagindex_throbber(on){
    obj = document.getElementById('pl_si_throbber');
    if(on){
        obj.style.visibility='visible';
    }else{
        obj.style.visibility='hidden';
    }
}

/**
 * Gives textual feedback
 */
function plugin_tagindex_status(text){
    obj = document.getElementById('pl_si_out');
    obj.innerHTML = text;
}

/**
 * Callback. Gets the list of all pages
 */
function plugin_tagindex_cb_clear(){
    ok = this.response;
    if(ok == 1){
        // start indexing
        window.setTimeout("plugin_tagindex_index()",1000);
    }else{
        plugin_tagindex_status(ok);
        // retry
        window.setTimeout("plugin_tagindex_clear()",5000);
    }
}

/**
 * Callback. Gets the list of all pages
 */
function plugin_tagindex_cb_pages(){
    data = this.response;
    pl_si.pages = data.split("\n");
    pl_si.count = pl_si.pages.length;
    plugin_tagindex_status(pl_si.pages.length+" pages found");

    pl_si.page = pl_si.pages.shift();
    window.setTimeout("plugin_tagindex_clear()",1000);
}

/**
 * Callback. Gets the info if indexing of a page was successful
 *
 * Calls the next index run.
 */
function plugin_tagindex_cb_index(){
    ok = this.response;
    if(ok == 1){
        pl_si.page = pl_si.pages.shift();
        pl_si.done++;
        // get next one
        window.setTimeout("plugin_tagindex_index()",1000);
    }else{
        plugin_tagindex_status(ok);
        // get next one
        window.setTimeout("plugin_tagindex_index()",5000);
    }
}

/**
 * Starts the indexing of a page.
 */
function plugin_tagindex_index(){
    if(pl_si.page){
        plugin_tagindex_status('indexing<br />'+pl_si.page+'<br />('+pl_si.done+'/'+pl_si.count+')<br />');
        pl_si.sack.onCompletion = plugin_tagindex_cb_index;
        pl_si.sack.URLString = '';
        pl_si.sack.runAJAX('call=indexpage&page='+encodeURI(pl_si.page));
    }else{
        plugin_tagindex_status('finished');
        plugin_tagindex_throbber(false);
    }
}

/**
 * Cleans the index
 */
function plugin_tagindex_clear(){
    plugin_tagindex_status('clearing index...');
    pl_si.sack.onCompletion = plugin_tagindex_cb_clear;
    pl_si.sack.URLString = '';
    pl_si.sack.runAJAX('call=clearindex');
}

/**
 * Starts the whole index rebuild process
 */
function plugin_tagindex_go(){
    document.getElementById('pl_si_gobtn').style.display = 'none';
    plugin_tagindex_throbber(true);

    plugin_tagindex_status('Finding all pages');
    pl_si.sack.onCompletion = plugin_tagindex_cb_pages;
    pl_si.sack.URLString = '';
    pl_si.sack.runAJAX('call=pagelist');
}

//Setup VIM: ex: et ts=4 enc=utf-8 :


/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/tag/script.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/contact/script.js XXXXXXXXXX */

function isBlank(s)
{
  if ( (s == null) || (s.length == 0) )
    return true;
 
  for(var i = 0; i < s.length; i++)
  {
    var c = s.charAt(i);
	  if ((c != ' ') && (c != '\\n') && (c != '\\t'))
	    return false;
  }
  return true;
}
 
function validatecontact(frm) {
 
  if (isBlank(frm.name.value)) {
    alert ("Please enter a name");
    frm.name.focus();
    return false;
  }
  if (isBlank(frm.email.value) || frm.email.value.indexOf("@") == -1) {
    alert ("Please enter your email address");
    frm.email.focus();
    return false;
  }
 
  if (isBlank(frm.content.value)) {
    alert ("Please add a comment");
    frm.content.focus();
    return false;
	}
}

/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/contact/script.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/discussion/script.js XXXXXXXXXX */

/**
 * Javascript functionality for the discussion plugin
 */

/**
 * Check if a field is blank
 */
function isBlank(s){
  if ((s === null) || (s.length === 0)){
    return true;
  }

  for (var i = 0; i < s.length; i++){
    var c = s.charAt(i);
	  if ((c != ' ') && (c != '\n') && (c != '\t')){
	    return false;
    }
  }
  return true;
}

/**
 * Validate an input field
 */
function validate(form){
    if(!form) return;

    if (isBlank(form.name.value)){
        form.name.focus();
        form.name.style.backgroundColor = '#fcc';
        return false;
    } else {
        form.name.style.backgroundColor = '#fff';
    }
    if (isBlank(form.mail.value) || form.mail.value.indexOf("@") == -1){
        form.mail.focus();
        form.mail.style.backgroundColor = '#fcc';
        return false;
    } else {
        form.mail.style.backgroundColor = '#fff';
    }
    if (isBlank(form.text.value)){
        form.text.focus();
        form.text.style.borderColor = '#fcc';
        return false;
    }
}

/**
 * AJAX preview
 *
 * @author Michael Klier <chi@chimeric.de>
 */
function discussion_ajax_preview() {
    if(!document.getElementById) return;

    var textarea = $('discussion__comment_text');
    var comment = textarea.value;
    if(!comment) return;

    var preview = $('discussion__comment_preview');
    preview.innerHTML = '<img src="'+DOKU_BASE+'/lib/images/throbber.gif" />';

    // We use SACK to do the AJAX requests
    var ajax = new sack(DOKU_BASE+'lib/exe/ajax.php');
    ajax.AjaxFailedAlert = '';
    ajax.encodeURIString = false;
    ajax.setVar('call', 'discussion_preview');
    ajax.setVar('comment', comment);

    // define callback
    ajax.onCompletion = function(){
        var data = this.response;
        if(data === ''){ return; }
        preview.style.visibility = 'hidden';
        preview.innerHTML = data;
        preview.style.visibility = 'visible';
    };

    ajax.runAJAX();
}

// init toolbar
addInitEvent(function() { 
    if(typeof window.initToolbar == 'function') {
        initToolbar("discussion__comment_toolbar", "discussion__comment_text", toolbar) 
    }
});

// init preview button
addInitEvent(function() {
    var btn = $('discussion__btn_preview');
    if(!btn) return;
    addEvent(btn, 'click', discussion_ajax_preview);
});

// init field check
addInitEvent(function() {
    var form = $('discussion__comment_form');
    if(!form) return;
    addEvent(form, 'submit', function() { return validate(form); });
});


/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/discussion/script.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/remotescript/script.js XXXXXXXXXX */

/**
 * JsHttpRequest: JavaScript "AJAX" data loader
 * Minimized version: see debug directory for the complete one.
 *
 * @license LGPL
 * @author Dmitry Koterov, http://en.dklab.ru/lib/JsHttpRequest/
 * @version 5.x $Id: script.js 91 2007-04-09 12:29:16Z wingedfox $
 */
function JsHttpRequest(){var i=this;i.onreadystatechange=null;i.readyState=0;i.responseText=null;i.responseXML=null;i.status=200;i.statusText="OK";i.responseJS=null;i.caching=false;i.loader=null;i.session_name="PHPSESSID";i._ldObj=null;i._reqHeaders=[];i._openArgs=null;i._errors={inv_form_el:"Invalid FORM element detected: name=%, tag=%",must_be_single_el:"If used, <form> must be a single HTML element in the list.",js_invalid:"JavaScript code generated by backend is invalid!\n%",url_too_long:"Cannot use so long query with GET request (URL is larger than % bytes)",unk_loader:"Unknown loader: %",no_loaders:"No loaders registered at all, please check JsHttpRequest.LOADERS array",no_loader_matched:"Cannot find a loader which may process the request. Notices are:\n%",no_headers:"Method setRequestHeader() cannot work together with the % loader."};i.abort=function(){with(this){if(_ldObj&&_ldObj.abort){_ldObj.abort();}_cleanup();if(readyState==0){return}if(readyState==1&&!_ldObj){readyState=0;return}_changeReadyState(4,true);}};i.open=function(I,l,o,O,Q){with(this){try{if(document.location.search.match(new RegExp("[&?]"+session_name+"=([^&?]*)"))||document.cookie.match(new RegExp("(?:;|^)\\s*"+session_name+"=([^;]*)"))){l+=(l.indexOf("?")>=0?"&":"?")+session_name+"="+this.escape(RegExp.$1);}}catch(e){};_openArgs={method:(I||"").toUpperCase(),url:l,asyncFlag:o,username:O!=null?O:"",password:Q!=null?Q:""};_ldObj=null;_changeReadyState(1,true);return true}};i.send=function(I){if(!this.readyState){return}this._changeReadyState(1,true);this._ldObj=null;var l=[];var o=[];if(!this._hash2query(I,null,l,o)){return}var O=null;if(this.caching&&!o.length){O=this._openArgs.username+":"+this._openArgs.password+"@"+this._openArgs.url+"|"+l+"#"+this._openArgs.method;var Q=JsHttpRequest.CACHE[O];if(Q){this._dataReady(Q[0],Q[1]);return false}}var _=(this.loader||"").toLowerCase();if(_&&!JsHttpRequest.LOADERS[_]){return this._error("unk_loader",_);}var c=[];var C=JsHttpRequest.LOADERS;for(var e in C){var v=C[e].loader;if(!v){continue}if(_&&e!=_){continue}var V=new v(this);JsHttpRequest.extend(V,this._openArgs);JsHttpRequest.extend(V,{queryText:l.join("&"),queryElem:o,id:(new Date().getTime())+""+JsHttpRequest.COUNT++,hash:O,span:null});var x=V.load();if(!x){this._ldObj=V;JsHttpRequest.PENDING[V.id]=this;return true}if(!_){c[c.length]="- "+e.toUpperCase()+": "+this._l(x);}else{return this._error(x);}}return e?this._error("no_loader_matched",c.join("\n")):this._error("no_loaders");};i.getAllResponseHeaders=function(){with(this){return _ldObj&&_ldObj.getAllResponseHeaders?_ldObj.getAllResponseHeaders():[]}};i.getResponseHeader=function(I){with(this){return _ldObj&&_ldObj.getResponseHeader?_ldObj.getResponseHeader():[]}};i.setRequestHeader=function(I,l){with(this){_reqHeaders[_reqHeaders.length]=[I,l]}};i._dataReady=function(I,l){with(this){if(caching&&_ldObj){JsHttpRequest.CACHE[_ldObj.hash]=[I,l]}if(I!==null||l!==null){status=4;responseText=responseXML=I;responseJS=l}else{status=500;responseText=responseXML=responseJS=null}_changeReadyState(2);_changeReadyState(3);_changeReadyState(4);_cleanup();}};i._l=function(I){var l=0,o=0,O=this._errors[I[0]];while((o=O.indexOf("%",o))>=0){var Q=I[++l]+"";O=O.substring(0,o)+Q+O.substring(o+1,O.length);o+=1+Q.length}return O};i._error=function(I){I=this._l(typeof(I)=="string"?arguments:I);I="JsHttpRequest: "+I;if(!window.Error){throw I}else{if((new Error(1,"test")).description=="test"){throw new Error(1,I);}else{throw new Error(I);}}};i._hash2query=function(I,l,o,O){if(l==null){l=""}if((""+typeof(I)).toLowerCase()=="object"){var Q=false;if(I&&I.parentNode&&I.parentNode.appendChild&&I.tagName&&I.tagName.toUpperCase()=="FORM"){I={form:I}}for(var _ in I){var c=I[_];if(c instanceof Function){continue}var C=l?l+"["+this.escape(_)+"]":this.escape(_);var e=c&&c.parentNode&&c.parentNode.appendChild&&c.tagName;if(e){var v=c.tagName.toUpperCase();if(v=="FORM"){Q=true}else{if(v=="INPUT"||v=="TEXTAREA"||v=="SELECT"){}else{return this._error("inv_form_el",(c.name||""),c.tagName);}}O[O.length]={name:C,e:c}}else{if(c instanceof Object){this._hash2query(c,C,o,O);}else{if(c===null){continue}o[o.length]=C+"="+this.escape(""+c);}}if(Q&&O.length>1){return this._error("must_be_single_el");}}}else{o[o.length]=I}return true};i._cleanup=function(){var I=this._ldObj;if(!I){return}JsHttpRequest.PENDING[I.id]=false;var l=I.span;if(!l){return}I.span=null;var o=function(){l.parentNode.removeChild(l);};JsHttpRequest.setTimeout(o,50);};i._changeReadyState=function(I,l){with(this){if(l){status=statusText=responseJS=null;responseText=""}readyState=I;if(onreadystatechange){onreadystatechange();}}};i.escape=function(I){return escape(I).replace(new RegExp("\\+","g"),"%2B");}}JsHttpRequest.COUNT=0;JsHttpRequest.MAX_URL_LEN=2000;JsHttpRequest.CACHE={};JsHttpRequest.PENDING={};JsHttpRequest.LOADERS={};JsHttpRequest._dummy=function(){};JsHttpRequest.TIMEOUTS={s:window.setTimeout,c:window.clearTimeout};JsHttpRequest.setTimeout=function(i,I){window.JsHttpRequest_tmp=JsHttpRequest.TIMEOUTS.s;if(typeof(i)=="string"){l=window.JsHttpRequest_tmp(i,I);}else{var l=null;var o=function(){i();delete JsHttpRequest.TIMEOUTS[l]};l=window.JsHttpRequest_tmp(o,I);JsHttpRequest.TIMEOUTS[l]=o}window.JsHttpRequest_tmp=null;return l};JsHttpRequest.clearTimeout=function(i){window.JsHttpRequest_tmp=JsHttpRequest.TIMEOUTS.c;delete JsHttpRequest.TIMEOUTS[i];var I=window.JsHttpRequest_tmp(i);window.JsHttpRequest_tmp=null;return I};JsHttpRequest.query=function(i,I,l,o){var O=new this();O.caching=!o;O.onreadystatechange=function(){if(O.readyState==4){l(O.responseJS,O.responseText);}};var Q=null;if(i.match(/^((\w+)\.)?(GET|POST)\s+(.*)/i)){O.loader=RegExp.$2?RegExp.$2:null;Q=RegExp.$3;i=RegExp.$4}O.open(Q,i,true);O.send(I);};JsHttpRequest.dataReady=function(i){var I=this.PENDING[i.id];delete this.PENDING[i.id];if(I){I._dataReady(i.text,i.js);}else{if(I!==false){throw"dataReady(): unknown pending id: "+i.id}}};JsHttpRequest.extend=function(i,I){for(var l in I){i[l]=I[l]}};JsHttpRequest.LOADERS.xml={loader:function(i){JsHttpRequest.extend(i._errors,{xml_no:"Cannot use XMLHttpRequest or ActiveX loader: not supported",xml_no_diffdom:"Cannot use XMLHttpRequest to load data from different domain %",xml_no_headers:"Cannot use XMLHttpRequest loader or ActiveX loader, POST method: headers setting is not supported, needed to work with encodings correctly",xml_no_form_upl:"Cannot use XMLHttpRequest loader: direct form elements using and uploading are not implemented"});this.load=function(){if(this.queryElem.length){return["xml_no_form_upl"]}if(this.url.match(new RegExp("^([a-z]+)://([^\\/]+)(.*)","i"))){if(RegExp.$2.toLowerCase()==document.location.hostname.toLowerCase()){this.url=RegExp.$3}else{return["xml_no_diffdom",RegExp.$2]}}var I=null;if(window.XMLHttpRequest){try{I=new XMLHttpRequest();}catch(e){}}else{if(window.ActiveXObject){try{I=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){};if(!I){try{I=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){}}}}if(!I){return["xml_no"]}var l=window.ActiveXObject||I.setRequestHeader;if(!this.method){this.method=l?"POST":"GET"}if(this.method=="GET"){if(this.queryText){this.url+=(this.url.indexOf("?")>=0?"&":"?")+this.queryText}this.queryText="";if(this.url.length>JsHttpRequest.MAX_URL_LEN){return["url_too_long",JsHttpRequest.MAX_URL_LEN]}}else{if(this.method=="POST"&&!l){return["xml_no_headers"]}}this.url+=(this.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+(i.caching?"0":this.id)+"-xml";var o=this.id;I.onreadystatechange=function(){if(I.readyState!=4){return}I.onreadystatechange=JsHttpRequest._dummy;i.status=null;try{i.status=I.status;i.responseText=I.responseText}catch(e){};if(!i.status){return}try{eval("JsHttpRequest._tmp = function(id) { var d = "+i.responseText+"; d.id = id; JsHttpRequest.dataReady(d); }");}catch(e){return i._error("js_invalid",i.responseText);}JsHttpRequest._tmp(o);JsHttpRequest._tmp=null};I.open(this.method,this.url,true,this.username,this.password);if(l){for(var O=0;O<i._reqHeaders.length;O++){I.setRequestHeader(i._reqHeaders[O][0],i._reqHeaders[O][1]);}I.setRequestHeader("Content-Type","application/octet-stream");}I.send(this.queryText);this.span=null;this.xr=I;return null};this.getAllResponseHeaders=function(){return this.xr.getAllResponseHeaders();};this.getResponseHeader=function(I){return this.xr.getResponseHeader(I);};this.abort=function(){this.xr.abort();this.xr=null}}};JsHttpRequest.LOADERS.script={loader:function(i){JsHttpRequest.extend(i._errors,{script_only_get:"Cannot use SCRIPT loader: it supports only GET method",script_no_form:"Cannot use SCRIPT loader: direct form elements using and uploading are not implemented"});this.load=function(){if(this.queryText){this.url+=(this.url.indexOf("?")>=0?"&":"?")+this.queryText}this.url+=(this.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+this.id+"-"+"script";this.queryText="";if(!this.method){this.method="GET"}if(this.method!=="GET"){return["script_only_get"]}if(this.queryElem.length){return["script_no_form"]}if(this.url.length>JsHttpRequest.MAX_URL_LEN){return["url_too_long",JsHttpRequest.MAX_URL_LEN]}if(i._reqHeaders.length){return["no_headers","SCRIPT"]}var I=this,l=document,o=null,O=l.body;if(!window.opera){this.span=o=l.createElement("SCRIPT");var Q=function(){o.language="JavaScript";if(o.setAttribute){o.setAttribute("src",I.url);}else{o.src=I.url}O.insertBefore(o,O.lastChild);}}else{this.span=o=l.createElement("SPAN");o.style.display="none";O.insertBefore(o,O.lastChild);o.innerHTML="Workaround for IE.<s"+"cript></"+"script>";var Q=function(){o=o.getElementsByTagName("SCRIPT")[0];o.language="JavaScript";if(o.setAttribute){o.setAttribute("src",I.url);}else{o.src=I.url}}}JsHttpRequest.setTimeout(Q,10);return null}}};JsHttpRequest.LOADERS.form={loader:function(i){JsHttpRequest.extend(i._errors,{form_el_not_belong:"Element \"%\" does not belong to any form!",form_el_belong_diff:"Element \"%\" belongs to a different form. All elements must belong to the same form!",form_el_inv_enctype:"Attribute \"enctype\" of the form must be \"%\" (for IE), \"%\" given."});this.load=function(){var I=this;if(!I.method){I.method="POST"}I.url+=(I.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+I.id+"-"+"form";if(i._reqHeaders.length){return["no_headers","FORM"]}if(I.method=="GET"){if(I.queryText){I.url+=(I.url.indexOf("?")>=0?"&":"?")+I.queryText}if(I.url.length>JsHttpRequest.MAX_URL_LEN){return["url_too_long",JsHttpRequest.MAX_URL_LEN]}var l=I.url.split("?",2);I.url=l[0];I.queryText=l[1]||""}var o=null;var O=false;if(I.queryElem.length){if(I.queryElem[0].e.tagName.toUpperCase()=="FORM"){o=I.queryElem[0].e;O=true;I.queryElem=[]}else{o=I.queryElem[0].e.form;for(var Q=0;Q<I.queryElem.length;Q++){var _=I.queryElem[Q].e;if(!_.form){return["form_el_not_belong",_.name]}if(_.form!=o){return["form_el_belong_diff",_.name]}}}if(I.method=="POST"){var c="multipart/form-data";var C=(o.attributes.encType&&o.attributes.encType.nodeValue)||(o.attributes.enctype&&o.attributes.enctype.value)||o.enctype;if(C!=c){return["form_el_inv_enctype",c,C]}}}var e=o&&(o.ownerDocument||o.document)||document;var v="jshr_i_"+I.id;var V=I.span=e.createElement("DIV");V.style.position="absolute";V.style.display="none";V.style.visibility="hidden";V.innerHTML=(o?"":"<form"+(I.method=="POST"?" enctype=\"multipart/form-data\" method=\"post\"":"")+"></form>")+"<iframe name=\""+v+"\" id=\""+v+"\" style=\"width:0px; height:0px; overflow:hidden; border:none\"></iframe>";if(!o){o=I.span.firstChild}e.body.insertBefore(V,e.body.lastChild);var x=function(_,z){var Z=[];var w=_;if(_.mergeAttributes){var w=e.createElement("form");w.mergeAttributes(_,false);}for(var Q=0;Q<z.length;Q++){var W=z[Q][0],s=z[Q][1];Z[Z.length]=[W,w.getAttribute(W)];w.setAttribute(W,s);}if(_.mergeAttributes){_.mergeAttributes(w,false);}return Z};var X=function(){top.JsHttpRequestGlobal=JsHttpRequest;var z=[];if(!O){for(var Q=0,Z=o.elements.length;Q<Z;Q++){z[Q]=o.elements[Q].name;o.elements[Q].name=""}}var w=I.queryText.split("&");for(var Q=w.length-1;Q>=0;Q--){var W=w[Q].split("=",2);var _=e.createElement("INPUT");_.type="hidden";_.name=unescape(W[0]);_.value=W[1]!=null?unescape(W[1]):"";o.appendChild(_);}for(var Q=0;Q<I.queryElem.length;Q++){I.queryElem[Q].e.name=I.queryElem[Q].name}var s=x(o,[["action",I.url],["method",I.method],["onsubmit",null],["target",v]]);o.submit();x(o,s);for(var Q=0;Q<w.length;Q++){o.lastChild.parentNode.removeChild(o.lastChild);}if(!O){for(var Q=0,Z=o.elements.length;Q<Z;Q++){o.elements[Q].name=z[Q]}}};JsHttpRequest.setTimeout(X,100);return null}}};

/**
 *  JsHttpRequest controller wrapper
 *
 *  @author Ilya Lebedev
 */
function RemoteScript () {
  var _JHRopen = this.open;
  var _JHRsend = this.send;
  var _callback = null;
  /**
   *  JsHttpRequest 'open' method wrapper
   *
   *  @param {String} method name GET, POST, FORM
   *  @param {String, Array} callback type string means both plugin filename and method name, 
   *                                       array - 0 is plugin name, 1 is method name
   *  @access public
   */
  this.open = function (method, callback) {
    _JHRopen.call (this,method, DOKU_BASE+'lib/plugins/remotescript/rs.php');
    _callback = callback;
  };
  /**
   *  JsHttpRequest 'send' method wrapper
   *
   *  @param {String, Array, Object} method name GET, POST, FORM
   *  @access public
   */
  this.send = function (content) {
    /*
    *  create proper params list
    */
    var c = {'args' : content};
    if (_callback instanceof Array) {
      c.callback = _callback[0];
      c.method = _callback[1]
    } else {
      c.callback = _callback;
    }
    _JHRsend.call (this,c);
  }
};
RemoteScript.prototype = new JsHttpRequest;
/**
 *  Wrapper to JsHttpRequest.query method with appropriate corrections
 *
 *  @param {String, Array} cbk callback either as function call (string) or class method call (array)
 *  @param {Object, String, HTMLFormElement} content data to be sent to the server
 *  @param {Function} onready callback function, should receive 2 params: JS and Text output
 *  @param {Boolean} nocache disables query caching, when set to true
 *  @scope public
 */
RemoteScript.query = function(url, content, onready, nocache) {
    var req = new RemoteScript();
    req.caching = !nocache;
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            onready(_from_utf8(req.responseJS), _from_utf8(req.responseText));
        }
    };
//    req.loader = 'script';
    req.method = 'GET';
    req.open(null, url, true);
    req.send(content);
};


function _from_utf8(s) {
  var c, d = "", flag = 0, tmp;
  for (var i = 0; i < s.length; i++) {
    c = s.charCodeAt(i);
    if (flag == 0) {
      if ((c & 0xe0) == 0xe0) {
        flag = 2;
        tmp = (c & 0x0f) << 12;
      } else if ((c & 0xc0) == 0xc0) {
        flag = 1;
        tmp = (c & 0x1f) << 6;
      } else if ((c & 0x80) == 0) {
        d += s.charAt(i);
      } else {
        flag = 0;
      }
    } else if (flag == 1) {
      flag = 0;
      d += String.fromCharCode(tmp | (c & 0x3f));
    } else if (flag == 2) {
      flag = 3;
      tmp |= (c & 0x3f) << 6;
    } else if (flag == 3) {
      flag = 0;
      d += String.fromCharCode(tmp | (c & 0x3f));
    } else {
      flag = 0;
    }
  };
  return d;
};

function _to_utf8(s) {
  var c, d = "";
  for (var i = 0; i < s.length; i++) {
    c = s.charCodeAt(i);
    if (c <= 0x7f) {
      d += s.charAt(i);
    } else if (c >= 0x80 && c <= 0x7ff) {
      d += String.fromCharCode(((c >> 6) & 0x1f) | 0xc0);
      d += String.fromCharCode((c & 0x3f) | 0x80);
    } else {
      d += String.fromCharCode((c >> 12) | 0xe0);
      d += String.fromCharCode(((c >> 6) & 0x3f) | 0x80);
      d += String.fromCharCode((c & 0x3f) | 0x80);
    }
  };
  return d;
};

/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/remotescript/script.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/gallery/script.js XXXXXXXXXX */

/**
 * Script for the Gallery Plugin to add nifty inline image viewing.
 *
 * It's based upon lightbox plus by Takuya Otani which is based upon
 * lightbox by Lokesh Dhakar.
 *
 * For the DokuWiki plugin the following modifications were made:
 *
 * - addEvent removed (is shipped with DokuWiki)
 * - IDs were changed to avoid clashs
 * - previous and next buttons added
 * - keyboard support added
 * - neighbor preloading (not sure if it works)
 *
 * @license Creative Commons Attribution 2.5 License
 * @author  Takuya Otani <takuya.otani@gmail.com>
 * @link    http://serennz.cool.ne.jp/sb/sp/lightbox/
 * @author  Lokesh Dhakar <lokesh@huddletogether.com>
 * @link    http://www.huddletogether.com/projects/lightbox/
 * @author  Andreas Gohr <andi@splitbrain.org>
 */

/* Original copyright notices follow:

  lightbox_plus.js
  == written by Takuya Otani <takuya.otani@gmail.com> ===
  == Copyright (C) 2006 SimpleBoxes/SerendipityNZ Ltd. ==

    Copyright (C) 2006 Takuya Otani/SimpleBoxes - http://serennz.cool.ne.jp/sb/
    Copyright (C) 2006 SerendipityNZ - http://serennz.cool.ne.jp/snz/

    This script is licensed under the Creative Commons Attribution 2.5 License
    http://creativecommons.org/licenses/by/2.5/

    basically, do anything you want, just leave my name and link.

    Original script : Lightbox JS : Fullsize Image Overlays
    Copyright (C) 2005 Lokesh Dhakar - http://www.huddletogether.com
    For more information on this script, visit:
    http://huddletogether.com/projects/lightbox/
*/



/**
 * This variable will enable the lightbox mode for every normal image
 * embedded through the normal wiki image syntax and using the ?direct
 * parameter.
 *
 * If you don't like that behavior, set this variable to 0.
 */
var lightboxForEveryImg = 0;

function WindowSize()
{ // window size object
    this.w = 0;
    this.h = 0;
    return this.update();
}
WindowSize.prototype.update = function()
{
    var d = document;
    this.w =
      (window.innerWidth) ? window.innerWidth
    : (d.documentElement && d.documentElement.clientWidth) ? d.documentElement.clientWidth
    : d.body.clientWidth;
    this.h =
      (window.innerHeight) ? window.innerHeight
    : (d.documentElement && d.documentElement.clientHeight) ? d.documentElement.clientHeight
    : d.body.clientHeight;
    return this;
};
function PageSize()
{ // page size object
    this.win = new WindowSize();
    this.w = 0;
    this.h = 0;
    return this.update();
}
PageSize.prototype.update = function()
{
    var d = document;
    this.w =
      (window.innerWidth && window.scrollMaxX) ? window.innerWidth + window.scrollMaxX
    : (d.body.scrollWidth > d.body.offsetWidth) ? d.body.scrollWidth
    : d.body.offsetWidt;
    this.h =
      (window.innerHeight && window.scrollMaxY) ? window.innerHeight + window.scrollMaxY
    : (d.body.scrollHeight > d.body.offsetHeight) ? d.body.scrollHeight
    : d.body.offsetHeight;
    this.win.update();
    if (this.w < this.win.w) this.w = this.win.w;
    if (this.h < this.win.h) this.h = this.win.h;
    return this;
};
function PagePos()
{ // page position object
    this.x = 0;
    this.y = 0;
    return this.update();
}
PagePos.prototype.update = function()
{
    var d = document;
    this.x =
      (window.pageXOffset) ? window.pageXOffset
    : (d.documentElement && d.documentElement.scrollLeft) ? d.documentElement.scrollLeft
    : (d.body) ? d.body.scrollLeft
    : 0;
    this.y =
      (window.pageYOffset) ? window.pageYOffset
    : (d.documentElement && d.documentElement.scrollTop) ? d.documentElement.scrollTop
    : (d.body) ? d.body.scrollTop
    : 0;
    return this;
};
function UserAgent()
{ // user agent information
    var ua = navigator.userAgent;
    this.isWinIE = this.isMacIE = false;
    this.isGecko  = ua.match(/Gecko\//);
    this.isSafari = ua.match(/AppleWebKit/);
    this.isOpera  = window.opera;
    if (document.all && !this.isGecko && !this.isSafari && !this.isOpera) {
        this.isWinIE = ua.match(/Win/);
        this.isMacIE = ua.match(/Mac/);
        this.isNewIE = (ua.match(/MSIE 5\.5/) || ua.match(/MSIE 6\.0/));
    }
    return this;
}
// === lightbox ===
function LightBox(option)
{
    var self = this;
    self._imgs = new Array();
    self._wrap = null;
    self._box  = null;
    self._open = -1;
    self._page = new PageSize();
    self._pos  = new PagePos();
    self._ua   = new UserAgent();
    self._expandable = false;
    self._expanded = false;
    self._expand = option.expandimg;
    self._shrink = option.shrinkimg;
    return self._init(option);
}
LightBox.prototype = {
    _init : function(option)
    {
        var self = this;
        var d = document;
        if (!d.getElementsByTagName) return;
        var links = d.getElementsByTagName("a");
        for (var i=0;i<links.length;i++) {
            var anchor = links[i];
            var num = self._imgs.length;

            //check if this is a direct link to an image
            if ( (anchor.getAttribute("href") && anchor.getAttribute("rel") == "lightbox") ||
                 (lightboxForEveryImg && anchor.getAttribute("class") &&
                  anchor.getAttribute("class").match("media") &&
                  anchor.firstChild.nodeName.toLowerCase().match("img") &&
                  anchor.getAttribute("href") &&
                  anchor.getAttribute("href").match("lib/exe/fetch.php|_media/")) ){
                // okay add lightbox
            }else{
                continue;
            }


            // initialize item
            self._imgs[num] = {src:anchor.getAttribute("href"),w:-1,h:-1,title:'',caption:'',cls:anchor.className};
            if (anchor.getAttribute("title"))
                self._imgs[num].title = anchor.getAttribute("title");
            else if (anchor.firstChild && anchor.firstChild.getAttribute && anchor.firstChild.getAttribute("title"))
                self._imgs[num].title = anchor.firstChild.getAttribute("title");
            if (anchor.firstChild && anchor.firstChild.getAttribute &&
                anchor.firstChild.getAttribute("longdesc")) {
                self._imgs[num].caption = anchor.firstChild.getAttribute("longdesc");
            }
            anchor.onclick = self._genOpener(num); // set closure to onclick event
        }
        var body = d.getElementsByTagName("body")[0];
        self._wrap = self._createWrapOn(body,option.loadingimg);
        self._box  = self._createBoxOn(body,option);
        return self;
    },
    _genOpener : function(num)
    {
        var self = this;
        return function() {
            self._show(num);
            if(window.event) window.event.returnValue = false;
            return false;
        }
    },
    _createWrapOn : function(obj,imagePath)
    {
        var self = this;
        if (!obj) return null;
        // create wrapper object, translucent background
        var wrap = document.createElement('div');
        wrap.id = 'gallery__overlay';
        with (wrap.style) {
            display = 'none';
            position = 'fixed';
            top = '0px';
            left = '0px';
            zIndex = '50';
            width = '100%';
            height = '100%';
        }
        if (self._ua.isWinIE) wrap.style.position = 'absolute';
        addEvent(wrap,"click",function() { self._close(); });
        obj.appendChild(wrap);
        // create loading image, animated image
        var imag = new Image;
        imag.onload = function() {
            var spin = document.createElement('img');
            spin.id = 'gallery__loadingImage';
            spin.src = imag.src;
            spin.style.position = 'relative';
            self._set_cursor(spin);
            addEvent(spin,'click',function() { self._close(); });
            wrap.appendChild(spin);
            imag.onload = function(){};
        };
        if (imagePath != '') imag.src = imagePath;
        return wrap;
    },
    _createBoxOn : function(obj,option)
    {
        var self = this;
        if (!obj) return null;
        // create lightbox object, frame rectangle
        var box = document.createElement('div');
        box.id = 'gallery__lightbox';
        with (box.style) {
            display = 'none';
            position = 'absolute';
            zIndex = '60';
        }
        obj.appendChild(box);
        // create image object to display a target image
        var img = document.createElement('img');
        img.id = 'gallery__lightboxImage';
        self._set_cursor(img);
        addEvent(img,'click',function(){ self._close(); });
        addEvent(img,'mouseover',function(){ self._show_action(); });
        addEvent(img,'mouseout',function(){ self._hide_action(); });
        box.appendChild(img);
        var zoom = document.createElement('img');
        zoom.id = 'gallery__actionImage';
        with (zoom.style) {
            display = 'none';
            position = 'absolute';
            top = '15px';
            left = '15px';
            zIndex = '70';
        }
        self._set_cursor(zoom);
        zoom.src = self._expand;
        addEvent(zoom,'mouseover',function(){ self._show_action(); });
        addEvent(zoom,'click', function() { self._zoom(); });
        box.appendChild(zoom);
        addEvent(window,'resize',function(){ self._set_size(true); });
        // close button
        if (option.closeimg) {
            var btn = document.createElement('img');
            btn.id = 'gallery__closeButton';
            with (btn.style) {
                display = 'inline';
                position = 'absolute';
                right = '10px';
                top = '10px';
                zIndex = '80';
            }
            btn.src = option.closeimg;
            self._set_cursor(btn);
            addEvent(btn,'click',function(){ self._close(); });
            box.appendChild(btn);
        }
        // next button
        if (option.nextimg) {
            var btn = document.createElement('img');
            btn.id = 'gallery__nextButton';
            with (btn.style) {
                display = 'inline';
                position = 'absolute';
                right = '10px';
                bottom = '10px';
                zIndex = '80';
            }
            btn.src = option.nextimg;
            self._set_cursor(btn);
            addEvent(btn,'click',function(){ self._move(+1) });
            box.appendChild(btn);
        }
        // prev button
        if (option.previmg) {
            var btn = document.createElement('img');
            btn.id = 'gallery__prevButton';
            with (btn.style) {
                display = 'inline';
                position = 'absolute';
                left = '10px';
                bottom = '10px';
                zIndex = '80';
            }
            btn.src = option.previmg;
            self._set_cursor(btn);
            addEvent(btn,'click',function(){ self._move(-1) });
            box.appendChild(btn);
        }
        // caption text
        var caption = document.createElement('span');
        caption.id = 'gallery__lightboxCaption';
        with (caption.style) {
            display = 'none';
            position = 'absolute';
            zIndex = '80';
        }
        box.appendChild(caption);
        return box;
    },
    _set_photo_size : function()
    {
        var self = this;
        if (self._open == -1) return;
        var imag = self._box.firstChild;
        var targ = { w:self._page.win.w - 30, h:self._page.win.h - 40 };
        var orig = { w:self._imgs[self._open].w, h:self._imgs[self._open].h };

        // shrink image with the same aspect
        var ratio = 1.0;
        if ((orig.w >= targ.w || orig.h >= targ.h) && orig.h && orig.w)
            ratio = ((targ.w / orig.w) < (targ.h / orig.h)) ? targ.w / orig.w : targ.h / orig.h;
        imag.width  = Math.floor(orig.w * ratio);
        imag.height = Math.floor(orig.h * ratio);
        self._expandable = (ratio < 1.0) ? true : false;
        if (self._ua.isWinIE) self._box.style.display = "block";
        self._box.style.top  = [self._pos.y + (self._page.win.h - imag.height - 33) / 2,'px'].join('');
        self._box.style.left = [((self._page.win.w - imag.width - 30) / 2),'px'].join('');
        self._show_caption(true);
    },
    _set_size : function(onResize)
    {
        var self = this;
        if (self._open == -1) return;
        self._page.update();
        self._pos.update();
        var spin = self._wrap.firstChild;
        if (spin) {
            var top = (self._page.win.h - spin.height) / 2;
            if (self._wrap.style.position == 'absolute') top += self._pos.y;
            spin.style.top  = [top,'px'].join('');
            spin.style.left = [(self._page.win.w - spin.width - 30) / 2,'px'].join('');
        }
        if (self._ua.isWinIE) {
            self._wrap.style.width  = [self._page.win.w,'px'].join('');
            self._wrap.style.height = [self._page.h,'px'].join('');
        }
        if (onResize) self._set_photo_size();
    },
    _show_action : function()
    {
        var self = this;
        if (self._open == -1 || !self._expandable) return;
        var obj = document.getElementById('gallery__actionImage');
        if (!obj) return;
        obj.src = (self._expanded) ? self._shrink : self._expand;
        obj.style.display = 'inline';
    },
    _hide_action : function()
    {
        var self = this;
        var obj = document.getElementById('gallery__actionImage');
        if (obj) obj.style.display = 'none';
    },
    _zoom : function()
    {
        var self = this;
        if (self._expanded) {
            self._set_photo_size();
            self._expanded = false;
        } else if (self._open > -1) {
            var imag = self._box.firstChild;
            self._box.style.top  = [self._pos.y,'px'].join('');
            self._box.style.left = '0px';
            imag.width  = self._imgs[self._open].w;
            imag.height = self._imgs[self._open].h;
            self._show_caption(false);
            self._expanded = true;
        }
        self._show_action();
    },
    _show_caption : function(enable)
    {
        var self = this;
        var caption = document.getElementById('gallery__lightboxCaption');
        if (!caption) return;
        if (caption.innerHTML.length == 0 || !enable) {
            caption.style.display = 'none';
        } else { // now display caption
            var imag = self._box.firstChild;
            with (caption.style) {
                top = [imag.height + 10,'px'].join(''); // 10 is top margin of lightbox
                left = '0px';
                width = [imag.width + 20,'px'].join(''); // 20 is total side margin of lightbox
                height = '';
                paddingBottom = '3px';
                display = 'block';
            }
        }
    },
    _move : function(by)
    {
        var self = this;
        var num  = self._open + by;
        // wrap around at start and end
        if(num < 0) num = self._imgs.length - 1;
        if(num >= self._imgs.length) num = 0;

        self._disable_keyboard();
        self._hide_action();
        self._box.style.display  = "none";
        self._show(num);
    },
    _show : function(num)
    {
        var self = this;
        var imag = new Image;
        if (num < 0 || num >= self._imgs.length) return;
        var loading = document.getElementById('gallery__loadingImage');
        var caption = document.getElementById('gallery__lightboxCaption');
        self._open = num; // set opened image number
        self._set_size(false); // calc and set wrapper size
        self._wrap.style.display = "block";
        if (loading) loading.style.display = 'inline';
        imag.onload = function() {
            if (self._imgs[self._open].w == -1) {
                // store original image width and height
                self._imgs[self._open].w = imag.width;
                self._imgs[self._open].h = imag.height;
            }
            if (caption) caption.innerHTML = '<b>'+self._imgs[self._open].title + '</b><br />' +
                                             self._imgs[self._open].caption;
            self._set_photo_size(); // calc and set lightbox size
            self._hide_action();
            self._box.style.display = "block";
            self._box.firstChild.src = imag.src;
            self._box.firstChild.setAttribute('title',self._imgs[self._open].title);
            if (loading) loading.style.display = 'none';
        };
        self._expandable = false;
        self._expanded = false;
        self._enable_keyboard();
        imag.src = self._imgs[self._open].src;
        self._preload_neighbors(num);
    },
    _preload_neighbors: function(num){
        var self = this;

        if((self._imgs.length - 1) > num){
            var preloadNextImage = new Image();
            preloadNextImage.src = self._imgs[num + 1].src;
        }
        if(num > 0){
            var preloadPrevImage = new Image();
            preloadPrevImage.src = self._imgs[num - 1].src;
        }
    },
    _set_cursor : function(obj)
    {
        var self = this;
        if (self._ua.isWinIE && !self._ua.isNewIE) return;
        obj.style.cursor = 'pointer';
    },
    _close : function()
    {
        var self = this;
        self._open = -1;
        self._disable_keyboard();
        self._hide_action();
        self._wrap.style.display = "none";
        self._box.style.display  = "none";
    },
    _enable_keyboard: function()
    {
        //globally store refernce to current lightbox object:
        __lightbox = this;
        addEvent(document,'keydown',this._keyboard_action);
    },
    _disable_keyboard: function()
    {
        //remove global pointer:
        delete __lightbox;
        removeEvent(document,'keydown',this._keyboard_action);
    },
    _keyboard_action: function(e) {
        var self = __lightbox;
        var keycode = 0;

        if(e.which){ // mozilla
            keycode = e.which;
        }else{ // IE
            keycode = event.keyCode;
        }

        var key = String.fromCharCode(keycode).toLowerCase();
        if((key == 'x') || (key == 'c') || (keycode == 27)){   // close lightbox
            self._close();
        } else if( (key == 'p') || (keycode == 37) ){  // display previous image
            self._move(-1);
        } else if(key == 'n' || (keycode == 39) ){  // display next image
            self._move(+1);
        }
    }
};

/**
 * Add a quicklink to the media popup
 */
function gallery_plugin(){
    var opts = $('media__opts');
    if(!opts) return;
    if(!window.opener) return;

    var glbl = document.createElement('label');
    var glnk = document.createElement('a');
    var gbrk = document.createElement('br');
    glnk.name         = 'gallery_plugin';
    glnk.innerHTML    = 'Add namespace as gallery';
    glnk.style.cursor = 'pointer';

    glnk.onclick = function(){
        var h1 = $('media__ns');
        if(!h1) return;
        var ns = h1.innerHTML;
        opener.insertAtCarret('wiki__text','{{gallery>'+ns+'}}');
        if(!media.keepopen) window.close();
    };

    opts.appendChild(glbl);
    glbl.appendChild(glnk);
    opts.appendChild(gbrk);
}

/**
 * Display a selected page and hide all others
 */
function gallery_pageselect(e){
    var galid = e.target.hash.substr(10,4);

    var pages = getElementsByClass('gallery__'+galid,document,'div');
    for(var i=0; i<pages.length; i++){
        if(pages[i].id == e.target.hash.substr(1)){
            pages[i].style.display = '';
        }else{
            pages[i].style.display = 'none';
        }
    }
    return false;
}

// === main ===
addInitEvent(function() {
    var lightbox = new LightBox({
        loadingimg:DOKU_BASE+'lib/plugins/gallery/images/loading.gif',
        expandimg:DOKU_BASE+'lib/plugins/gallery/images/expand.gif',
        shrinkimg:DOKU_BASE+'lib/plugins/gallery/images/shrink.gif',
        closeimg:DOKU_BASE+'lib/plugins/gallery/images/close.gif',
        nextimg:DOKU_BASE+'lib/plugins/gallery/images/next.gif',
        previmg:DOKU_BASE+'lib/plugins/gallery/images/prev.gif'
    });
    gallery_plugin();

    // hide all pages except the first one
    var pages = getElementsByClass('gallery_page',document,'div');
    for(var i=0; i<pages.length; i++){
        if(!pages[i].id.match(/_1/)){
            pages[i].style.display = 'none';
        }
    }

    // attach page selector
    var pgsel = getElementsByClass('gallery_pgsel',document,'a');
    for(var i=0; i<pgsel.length; i++){
        addEvent(pgsel[i],'click',gallery_pageselect);
    }

});


/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/gallery/script.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/usermanager/script.js XXXXXXXXXX */

/**
 * Add JavaScript confirmation to the User Delete button
 */
function usrmgr_delconfirm(){
    if($('usrmgr__del')){
        addEvent( $('usrmgr__del'),'click',function(){ return confirm(reallyDel); } );
    }
};
addInitEvent(usrmgr_delconfirm);


/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/usermanager/script.js XXXXXXXXXX */



/* XXXXXXXXXX begin of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/indexmenu/script.js XXXXXXXXXX */

/****************
*  $Id: cms.js 99 2007-03-12 12:01:00Z wingedfox $
*  $HeadURL: https://svn.debugger.ru/repos/CompleteMenuSolution/tags/v0.5.12/cms.js $
*
*  The Complete Menu Solution project
*
*  @application Complete Menu Solution
*  @author Ilya Lebedev <ilya@lebedev.net>
*  @copyright (c) 2005-2006, Ilya Lebedev
*  @license Free for non-commercial use
*  @title Complete Menu Solution
*  @version $Rev: 99 $
*
******/
CompleteMenuSolution=function(){var i=this;var I=null;var l=[];var O=[];var Q=[];var _={'root':'CmsListMenu','folder':'CmsMenuItemFolder','folderOpen':'CmsMenuItemFolderExpanded','folderClosed':'CmsMenuItemFolderCollapsed','menuItem':'CmsMenuItemFile','evenLevel':'CmsMenuItemEvenLevel','oddLevel':'CmsMenuItemOddLevel','menuLevel':'CmsMenuItemLevel'};var c={'theme':{'name':'','options':{}},'transitions':{},themeRootPath:null,maxDepth:0,maxOpenDepth:0,forceSkipTransitions:false,interval:10,length:100,openTimeout:0,closeTimeout:0,toggleMenuOnClick:0,closeSiblings:true,incrementalConvert:true,handlers:{onOpen:[],onClose:[],onChangeState:[]},stripCssClasses:{'root':[],'ul':[],'li':[],'a':[]},flagOpenClass:_['folderOpen'],flagClosedClass:_['folderClosed'],appendTemplateSuffix:false,dummy:null};var C={'cmsSelf':'__cmsSelf','openFlag':'__isOpen','interval':'__interval','timeout':'__timeout','isRoot':'__isRoot','isFolder':'__isFolder','parentNode':'__parentNode','submenu':'__submenu','menuLevel':'__menuLevel','activator':'__activator'};var v;this.setMenuOption=function(V,o){if(c[V]&&typeof c[V]!=typeof o)return false;c[V]=o;return true};this.initMenu=function(x,o){I=x;c.theme.merge(o.theme);if(o.themeRootPath)c.themeRootPath=o.themeRootPath;s.init(o);r();};this.getThemePath=function(X){if(!/^[-a-z0-9\/]*$/.test(name.toLowerCase()))return false;var o=c.theme.name.split('/');return gluePath(c.themeRootPath?c.themeRootPath:gluePath(i.cmsRoot,'templates'),(X?c.theme.name:o[0]));};this.reinitSubmenu=function(z){if(!z||!z.tagName)return;var o=c.maxDepth;switch(z.tagName.toLowerCase()){case"li":c.maxDepth=z[C['parentNode']][C['menuLevel']]+2;q(z[C['submenu']],z[C['parentNode']][C['menuLevel']]+1);break}c.maxDepth=o};var Z;var w=function(css,o){try{for(var t=css.length;t>=0;t--){if(c.stripCssClasses[o].indexOf(css[t])<0)continue;css.splice(t,1);}}catch(e){};return css};var W=function(node,o){var e={};if(isUndefined(o)||'string'!=typeof o)o=node.tagName.toLowerCase();for(var t=0,T=Q.length;t<T;t++){if(i.modifier[Q[t]].runat!=o||!isUndefined(e[Q[t]]))continue;i.modifier[Q[t]].mod.call(i.modifier[Q[t]],node,C,_,c);e[Q[t]]=true}e=null};var s=new function(){var e=this;var t=null;var T=document.getElementsByTagName('head')[0];var y=function(sn){if(!isUndefined(i.loadedStylesheets[sn]))return;T.appendChild(document.createElementExt('link',{'param':{'rel':'stylesheet','type':'text/css','href':sn}}));i.loadedStylesheets[sn]=true};var Y=function(sn){if(!isUndefined(i.loadedJS[sn]))return;T.appendChild(document.createElementExt('script',{'param':{'type':'text/javascript','defer':true,'src':sn}}));i.loadedJS[sn]=true};this.transitionOnload=function(u,o){if(o>=10000){i.transition[u]=true;return}if(!i.transition[u]){setTimeout(function(){e.transitionOnload(u,o+10)},10);return}O[O.length]=i.transition[u];if('function'==typeof i.transition[u].init)i.transition[u].init.call(i.transition[u],c,_,C);};this.themeOnload=function(u){O=[i.transition['default']];c.merge(t);for(var o in c.transitions){if(!c.transitions.hasOwnProperty(o))continue;if(!i.transition[o])Y(gluePath(i.cmsRoot,'transitions',o+'.js'));playTimeout(this.transitionOnload,1,[o,0]);}if(c.modifiers&&c.modifiers.length>0){for(var o=0,p=c.modifiers.length;o<p;o++){if(!i.modifier[c.modifiers[o]]){if(isUndefined(i.modifier[c.modifiers[o]]))i.modifier[c.modifiers[o]]=c.modifiers[o];Y(gluePath(i.cmsRoot,'modifiers',c.modifiers[o]+'.js'));}l[l.length]=['modifier',c.modifiers[o]];Q.push(c.modifiers[o]);}}};this.init=function(U){t=U;y(gluePath(i.getThemePath(),'layout.css'));y(gluePath(i.getThemePath(true),'design.css'));Y(gluePath(i.getThemePath(),'template.js'));var p=c.theme.name.split('/');if(isUndefined(i.theme[p[0]]))i.theme[p[0]]=p[0];l[l.length]=['theme',p[0]]}};var S=function(e){var o=getParent(e.srcElement||e.target,C.isRoot,true);if(o[C.cmsSelf]!=i)return;var z=getParent(e.srcElement||e.target,'li');if(!getParent(z,o))return;o=null;var t=z;while(z&&!z[C['parentNode']]&&t!=(t=getParent(z,C['isFolder'],true)))i.reinitSubmenu(t);if(!z)return;switch(e.type.toLowerCase()){case"mouseover":case"mouseout":while(!z[C['isRoot']]){if(z[C['isFolder']]){if(parseInt(z[C['timeout']]))clearTimeout(z[C['timeout']]);z[C['timeout']]=null;switch(e.type.toLowerCase()){case'mouseover':if(!z[C['openFlag']])z[C['timeout']]=playTimeout(k,c.openTimeout,[z,'open']);break;case'mouseout':if(z[C['openFlag']]&&parseInt(c.closeTimeout))z[C['timeout']]=playTimeout(k,c.closeTimeout,[z,'close']);break}}z=z[C['parentNode']]}break;case"mouseup":if(!z[C['isFolder']]||(z[C['submenu']][C['interval']]&&z[C['submenu']][C['interval']].interval))return;clearTimeout(z[C['timeout']]);if(c['toggleMenuOnClick']&&(c['toggleMenuOnClick']^z[C['openFlag']]*2))k(z,'toggle');break}};var k=function(z,o){var T,y,Y;if(o!='toggle'&&z[C['openFlag']]==(o=='open'))return;switch(o.toLowerCase()){case'open':o='Open';break;case'close':o='Close';break;case'toggle':o=z[C['openFlag']]?'Close':'Open';break;default:return}if(z[C['openFlag']]!=(o=='Open'))K(z,o);if(null==z[C['submenu']][C['menuLevel']])i.reinitSubmenu(z);T=z[C['openFlag']]=(o=='Open');if(c['closeSiblings']&&T)for(y=0,sL=z[C['parentNode']][C['submenu']].length;y<sL;y++)if(z[C['parentNode']][C['submenu']][y][C['openFlag']]&&z[C['parentNode']][C['submenu']][y]!=z&&z[C['parentNode']][C['submenu']][y][C['isFolder']])k(z[C['parentNode']][C['submenu']][y],'close');z=z[C['submenu']];Y=function(z,U,p){var y,e=U.length,t=p.length;var P=(new Date).valueOf();z[C['interval']].pg=Math.round(z[C['interval']].pg+(P-z[C['interval']].start)*100/c.length);z[C['interval']].start=P;if(z[C['interval']].pg>100)z[C['interval']].pg=100;z[C['interval']].pg_delta=z[C['interval']].pg/100;for(y=0;y<e;y++){if(null==U[y])continue;if(!U[y][0].call(U[y][1],z,c,_,C)){U.splice(y,1);y--;e--}}if(0==U.length){for(y=0;y<t;y++)p[y][0].call(p[y][1],z,c,_,C);clearInterval(z[C['interval']].interval);z[C['interval']].interval=false;c['forceSkipTransitions']=false}};if(z[C['interval']]){clearInterval(z[C['interval']].interval);z[C['interval']].pg=100-z[C['interval']].pg;z[C['interval']].pg_delta=z[C['interval']].pg/100}else{z[C['interval']]={'pg':0,'pg_delta':0}}var u,U=[],p=[];for(y=0,mL=O.length;y<mL;y++){u=O[y]['init'+o];if(typeof u=='function')u.call(O[y],z,c,_,C);u=O[y]['play'+o];if(!c['forceSkipTransitions']&&typeof u=='function')U[U.length]=[u,O[y]];u=O[y]['finish'+o];if(typeof u=='function')p[p.length]=[u,O[y]]}z[C['interval']].start=(new Date).valueOf();z[C['interval']].interval=setInterval(function(){Y(z,U,p)},c.interval);};var K=function(z,o){if(!c.handlers)return;var t=function(z,T){if(c.handlers[T]instanceof Array){for(var y=0,Y=c.handlers[T].length;y<Y;y++){try{c.handlers[T][y][1].call(c.handlers[T][y][0],z,C,_,c);}catch(e){}}}};var T='on'+o;t(z,T);t(z,'onChangeState');};var q=function(z,o){if(c.maxDepth&&o>c.maxDepth-1&&(z[C.parentNode]&&z[C.parentNode][C.openFlag]===false))return;z[C.menuLevel]=o;var e=document.createElement('div');z.parentNode.replaceChild(e,z);o++;z[C.submenu]=[];for(var t=0,T=z.childNodes.length;t<T;t++){if(!z.childNodes[t].tagName||z.childNodes[t].tagName.toLowerCase()!='li')continue;z[C.submenu][z[C.submenu].length]=z.childNodes[t];z.style.display='';z.childNodes[t][C.parentNode]=z;var y=z.childNodes[t].className.split(' ');z.childNodes[t][C.openFlag]=((o<c.maxOpenDepth||y.indexOf(c.flagOpenClass)>-1)&&y.indexOf(c.flagClosedClass)<0);y=w(y,'li');E(z.childNodes[t],o);if(!isUndefined(z.childNodes[t][C.submenu])){y[y.length]=_['folder'];y[y.length]=_[z.childNodes[t][C.openFlag]?'folderOpen':'folderClosed'];z.childNodes[t][C.isFolder]=true}else{y[y.length]=_.menuItem;z.childNodes[t][C.isFolder]=false}y[y.length]=_.menuLevel.split(" ").map(function(z){return z+o}).join(" ");y[y.length]=_[o%2?'evenLevel':'oddLevel'];z.childNodes[t].className=y.join(' ');W(z.childNodes[t]);var Y=z.childNodes[t].firstChild;while(null!=Y&&(!Y.tagName||(Y.tagName&&Y.tagName.toLowerCase()!='a')))Y=Y.nextSibling;if(Y){z.childNodes[t][C.activator]=Y;Y[C.parentNode]=z.childNodes[t];var y=Y.className.split(' ');y=w(y,'a');Y.className=y.join(" ");W(Y);}}if(z[C['submenu']].length<1&&z[C.parentNode]){z[C.parentNode][C.openFlag]=false}e.parentNode.replaceChild(z,e);e=null};var E=function(z,o){for(var e=0,t=z.childNodes.length;e<t;e++){if(!z.childNodes[e].tagName||z.childNodes[e].tagName.toLowerCase()!='ul')continue;var T=z.childNodes[e].className.split(" ");T=w(T,'ul');z.childNodes[e].className=T.join(" ");z[C['submenu']]=z.childNodes[e];z.childNodes[e][C['parentNode']]=z;if(!c.incrementalConvert||z[C['openFlag']]||o<c['maxDepth']-1)q(z[C['submenu']],o);W(z.childNodes[e]);}};var r=function(){var z=document.getElementById(I);if(!z||!R()){setTimeout(r,10);return}c.stripCssClasses.li.push(c.flagOpenClass);c.stripCssClasses.li.push(c.flagClosedClass);if(c.appendTemplateSuffix){var V=c.theme.name.split("/");var o=V[0];var V=V.join("");for(var e in _){if(_.hasOwnProperty(e)&&'root'!=e)_[e]=_[e]+o+' '+_[e]+V}}var t=z.className.split(" ");t=w(t,'root');t[t.length]=_.root;var V=c.theme.name.split("/");var o="";for(var e=0,T=V.length;e<T;e++){o+=V[e];t[t.length]=_.root+o}z.className=t.join(" ");z[C['isRoot']]=true;q(z,-1);if(c.openTimeout){z.attachEvent('onmouseover',S);z.attachEvent('onmouseout',S);}z.attachEvent('onmouseup',S);z.style.display='';W(z,'root');z[C['cmsSelf']]=i};var R=function(){var o,e=l.length,t;for(o=0;o<e;o++){if(isNaN(l[o][3]))l[o][3]=0;t=i[l[o][0]][l[o][1]];if('string'!=typeof t){if(t.menuOptions)c.merge(t.menuOptions,l[o][0]=='theme');if(t.init)t.init.call(t,c,_,C);if(s[l[o][0]+'Onload'])s[l[o][0]+'Onload'](l[o][1]);l.splice(o,1);o--;e--}else if(l[o][3]>=10000){throw Error("Resource could not be loaded: "+l[o][0]+" - "+l[o][1]);}else{l[o][3]+=10}}return!l.length}};CompleteMenuSolution.prototype.cmsRoot=DOKU_BASE+'/lib/plugins/indexmenu/cms/';CompleteMenuSolution.prototype.loadedStylesheets={};CompleteMenuSolution.prototype.loadedJS={};CompleteMenuSolution.prototype.theme={};CompleteMenuSolution.prototype.transition={'default':{'initOpen':function(el,i,I,l){el=el[l['parentNode']];var o=el.className.split(" "),O=I.folderClosed.split(" "),Q;for(var _=0,c=O.length;_<c;_++){Q=o.indexOf(O[_]);if(Q>-1)o.splice(Q,1);}O=I.folderOpen.split(" ");for(var _=0,c=O.length;_<c;_++){Q=o.indexOf(O[_]);if(Q>-1)o.splice(Q,1);}o[o.length]=I.folderOpen;el.className=o.join(" ");},'finishClose':function(el,i,I,l){el=el[l['parentNode']];var o=el.className.split(" "),O=I.folderOpen.split(" "),Q;for(var _=0,c=O.length;_<c;_++){Q=o.indexOf(O[_]);if(Q>-1)o.splice(Q,1);}O=I.folderClosed.split(" ");for(var _=0,c=O.length;_<c;_++){Q=o.indexOf(O[_]);if(Q>-1)o.splice(Q,1);}o[o.length]=I.folderClosed;el.className=o.join(" ");}}};CompleteMenuSolution.prototype.modifier={};CompleteMenuSolution.prototype.requires=['extensions/e.js',];for(var i=0,cL=CompleteMenuSolution.prototype.requires.length;i<cL;i++){try{document.write("<scr"+"ipt type=\"text/javascript\" src=\""+CompleteMenuSolution.prototype.cmsRoot+CompleteMenuSolution.prototype.requires[i]+"\" ></script>");}catch(e){var el=document.getElementsByTagName('head')[0],s=document.createElement('script');s.type="text/javascript";s.src=CompleteMenuSolution.prototype.cmsRoot+CompleteMenuSolution.prototype.requires[i];el.appendChild(s);}}function findPath(i){var I=document.getElementsByTagName('script'),l=new RegExp('^(.*/|)('+i+')([#?]|$)');for(var o=0,O=I.length;o<O;o++){var Q=String(I[o].src).match(l);if(Q){if(Q[1].match(/^((https?|file)\:\/{2,}|\w:[\\])/))return Q[1];if(Q[1].indexOf("/")==0)return Q[1];b=document.getElementsByTagName('base');if(b[0]&&b[0].href)return b[0].href+Q[1];return(document.location.pathname.match(/(.*[\/\\])/)[0]+Q[1]).replace(/^\/+(?=\w:)/,"");}}return null};

/* XXXXXXXXXX end of /home/emklcom/public_html/consultor/lib/exe/../../lib/plugins/indexmenu/script.js XXXXXXXXXX */

addInitEvent(function(){ scrollToMarker(); });
addInitEvent(function(){ focusMarker(); });

