var DOKU_BASE = '/';var DOKU_TPL = '/lib/tpl/default/';var alertText = '文書の最後に挿入したい定型文書を入力して下さい。';var notSavedYet = '変更は保存されません。このまま処理を続けてよろしいですか?';var reallyDel = '選択した項目を本当に削除しますか?';LANG = {"keepopen":"\u9078\u629e\u4e2d\u306f\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u9589\u3058\u306a\u3044","hidedetails":"\u8a73\u7d30\u3092\u975e\u8868\u793a","nosmblinks":"\u30a6\u30a3\u30f3\u30c9\u30a6\u30ba\u306e\u5171\u6709\u30d5\u30a9\u30eb\u30c0\u3078\u30ea\u30f3\u30af\u306f Microsoft Internet Explorer \u3067\u306e\u307f\u53ef\u80fd\u3068\u306a\u308a\u307e\u3059\u3002\n\u5f53\u7136\u3001\u30ab\u30c3\u30c8\u30a2\u30f3\u30c9\u30da\u30fc\u30b9\u30c8\u304c\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002","mu_btn":"\u8907\u6570\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4e00\u5ea6\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9","plugins":[]}; /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/scripts/helpers.js XXXXXXXXXX */ /** * Differrent helper functions * * @author Ilya Lebedev * @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 /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/scripts/helpers.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/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("<\/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 * @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 /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/scripts/events.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/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 */ DokuCookie = { data: Array(), name: 'DOKU_PREFS', /** * Save a value to the cookie * * @author Andreas Gohr */ 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 */ getValue: function(key){ DokuCookie.init(); return DokuCookie.data[key]; }, /** * Loads the current set cookie * * @author Andreas Gohr */ init: function(){ if(DokuCookie.data.length) return; var text = DokuCookie.getCookie(DokuCookie.name); if(text){ var parts = text.split('#'); for(var i=0; i 0){ date.setTime(date.getTime() - skew); } } }; /* XXXXXXXXXX end of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/scripts/cookie.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/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 * @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 */ 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,'"'); 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,'"'); 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 */ function showLoadBar(){ document.write('...'); /* this does not work reliable in IE obj = $(id); if(obj){ obj.innerHTML = '...'; obj.style.display="block"; } */ } /** * Disables the animated gif to show the search is done * * @author Andreas Gohr */ 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 = ''; 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 = ''; obj.className = 'toc_close'; } else { toc.style.display = 'none'; obj.innerHTML = '+'; obj.className = 'toc_open'; } } /** * This enables/disables checkboxes for acl-administration * * @author Frank Schubert */ 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 * @author Chris Smith */ 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>/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 */ addInitEvent(function(){ var elems = getElementsByClass('fn_top',null,'a'); for(var i=0; i * @author * @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 */ addInitEvent(function(){ var revForm = $('page__revisions'); if (!revForm) return; var elems = revForm.elements; var countTicks = 0; for (var i=0; i= 2) input2.disabled = (input2.type=='checkbox' && !input2.checked); else input2.disabled = (input2.type!='checkbox'); } }); } } }); /** * Add the event handler to the actiondropdown * * @author Andreas Gohr */ 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 */ function checkWindowsShares() { var elems = getElementsByClass('windows',document,'a'); if(elems){ for(var i=0; i */ addInitEvent(function(){ checkWindowsShares(); }); /* XXXXXXXXXX end of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/scripts/script.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/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 /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/scripts/tw-sack.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/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 */ //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 /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/scripts/ajax.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/scripts/index.js XXXXXXXXXX */ /** * Javascript for index view * * @author Andreas Gohr */ 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 */ treeattach: function(obj){ if(!obj) return; var items = getElementsByClass('idx_dir',obj,'a'); for(var i=0; i * @author Ben Coburn */ 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 = '
  • loading...
  • '; 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 /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/scripts/index.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/tpl/default/script.js XXXXXXXXXX */ /* XXXXXXXXXX end of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/tpl/default/script.js XXXXXXXXXX */ addInitEvent(function(){ ajax_qsearch.init('qsearch__in','qsearch__out'); }); addInitEvent(function(){ addEvent(document,'click',closePopups); }); addInitEvent(function(){ addTocToggle(); }); /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/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/g,">"); return str; }, /** * Open or close a subtree using AJAX * * @author Andreas Gohr */ 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 -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 /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/acl/script.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/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 /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/usermanager/script.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/note/script.js XXXXXXXXXX */ /* Add Note buttons to the toolbar */ /* from http://wiki.splitbrain.org/wiki:tips:toolbarbutton */ /* Disabled because this does not allow to select a text and turn it into a note like the type:format does var notes_arr = new Array(); // key = insertion string , value = icon filename. notes_arr['\\n']='tb_note.png'; notes_arr['\\n']='tb_tip.png'; notes_arr['\\n']='tb_important.png'; notes_arr['\\n']='tb_warning.png'; toolbar[toolbar.length] = {"type":"picker", "title":"Notes", "icon":"../../plugins/note/images/tb_note.png", "key":"", "list": notes_arr, "icobase":"../plugins/note/images"}; */ if(toolbar){ toolbar[toolbar.length] = {"type":"format", "title":"note", "key":"", "icon":"../../plugins/note/images/tb_note.png", "open":"", "close":"" }; toolbar[toolbar.length] = {"type":"format", "title":"tip", "key":"", "icon":"../../plugins/note/images/tb_tip.png", "open":"", "close":"" }; toolbar[toolbar.length] = {"type":"format", "title":"important", "key":"", "icon":"../../plugins/note/images/tb_important.png", "open":"", "close":"" }; toolbar[toolbar.length] = {"type":"format", "title":"warning", "key":"", "icon":"../../plugins/note/images/tb_warning.png", "open":"", "close":"" }; } /* XXXXXXXXXX end of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/note/script.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/linkmanager/script.js XXXXXXXXXX */ /** * JavaScript functionalitiy for the media management popup * * @author Andreas Gohr * @author Otto Vainio */ linkpage = { keepopen: false, hide: false, /** * Attach event handlers to all "folders" below the given element * * @author Andreas Gohr * @author Otto Vainio */ treeattach: function(obj){ if(!obj) return; var items = obj.getElementsByTagName('li'); for(var i=0; i * @author Otto Vainio */ selectorattach: function(obj){ if(!obj) return; var items = getElementsByClass('select',obj,'a'); for(var i=0; i * @author Otto Vainio */ attachoptions: function(obj){ if(!obj) return; // keep open if(opener){ var kobox = document.createElement('input'); kobox.type = 'checkbox'; kobox.id = 'linkpage__keepopen'; if(DokuCookie.getValue('keepopen')){ kobox.checked = true; kobox.defaultChecked = true; //IE wants this linkpage.keepopen = true; } addEvent(kobox,'click',function(event){ return linkpage.togglekeepopen(event,this); }); var kolbl = document.createElement('label'); kolbl.htmlFor = 'linkpage__keepopen'; kolbl.innerHTML = LANG['keepopen']; var kobr = document.createElement('br'); obj.appendChild(kobox); obj.appendChild(kolbl); obj.appendChild(kobr); } }, /** * Toggles the keep open state * * @author Andreas Gohr */ togglekeepopen: function(event,cb){ if(cb.checked){ DokuCookie.setValue('keepopen',1); linkpage.keepopen = true; }else{ DokuCookie.setValue('keepopen',''); linkpage.keepopen = false; } }, /** * Toggles the hide details state * * @author Andreas Gohr */ togglehide: function(event,cb){ if(cb.checked){ DokuCookie.setValue('hide',1); linkpage.hide = true; }else{ DokuCookie.setValue('hide',''); linkpage.hide = false; } linkpage.updatehide(); }, /** * Sets the visibility of the image details accordingly to the * chosen hide state * * @author Andreas Gohr */ updatehide: function(){ var obj = $('linkpage__content'); if(!obj) return; var details = getElementsByClass('detail',obj,'div'); for(var i=0; i */ select: function(event,link){ var id = link.name.substr(2); var confusesepafield = $('conf__use_sepa'); var confusesepa = confusesepafield.value; var sepa = ''; if (confusesepa==1) { sepa='|'; } if (confusesepa==0) { sepa=''; } if(!opener){ // if we don't run in popup display example var ex = $('ex_'+id); if(ex.style.display == ''){ ex.style.display = 'none'; }else{ ex.style.display = ''; } return false; } opener.insertTags('wiki__text','[[:'+id+sepa,']]',''); if(!linkpage.keepopen) window.close(); opener.focus(); return false; }, selectnew: function(event,link){ // var id = link.value; var submit = $('newpage__name'); var id = submit.value; var nsfield = $('newpage__ns'); var confusesepafield = $('conf__use_sepa'); var confusesepa = confusesepafield.value; var sepa = ''; if (confusesepa==1) { sepa='|'; } if (confusesepa==0) { sepa=''; } var ns = nsfield.value; if (ns) { ns = ns + ':'; } if(!opener){ // if we don't run in popup display example var ex = $('ex_'+id); if(ex.style.display == ''){ ex.style.display = 'none'; }else{ ex.style.display = ''; } return false; } opener.insertTags('wiki__text','[[:'+ns+id+sepa,']]',''); if(!linkpage.keepopen) window.close(); opener.focus(); return false; }, /** * list the content of a namespace using AJAX * * @author Andreas Gohr */ list: function(event,link){ // prepare an AJAX call to fetch the subtree var ajax = new sack(DOKU_BASE + 'lib/plugins/linkmanager/exe/ajax.php'); ajax.AjaxFailedAlert = ''; ajax.encodeURIString = false; if(ajax.failed) return true; cleanMsgArea(); var content = $('linkpage__content'); content.innerHTML = '...'; ajax.elementObj = content; ajax.afterCompletion = function(){ linkpage.selectorattach(content); linkpage.updatehide(); reinitsort(); }; ajax.runAJAX(link.search.substr(1)+'&call=linkpagelist'); return false; }, /** * Open or close a subtree using AJAX * * @author Andreas Gohr */ toggle: function(event,clicky){ var listitem = clicky.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'; 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/linkmanager/exe/ajax.php'); ajax.AjaxFailedAlert = ''; ajax.encodeURIString = false; if(ajax.failed) return true; //prepare the new ul var ul = document.createElement('ul'); //fixme add classname here listitem.appendChild(ul); ajax.elementObj = ul; ajax.afterCompletion = function(){ linkpage.treeattach(ul); }; ajax.runAJAX(link.search.substr(1)+'&call=linkpagens'); clicky.src = DOKU_BASE+'lib/images/minus.gif'; return false; } }; addInitEvent(function(){ linkpage.treeattach($('linkpage__tree')); linkpage.selectorattach($('linkpage__content')); linkpage.attachoptions($('linkpage__opts')); }); //if(toolbar){ if(window.toolbar!=undefined){ toolbar[toolbar.length] = {"type":"mediapopup", "title":"links", "icon":"../../plugins/linkmanager/images/page_link.png", "key":"", "name":"linknameselect", "url":DOKU_BASE+"lib/plugins/linkmanager/exe/filemanager.php?ns=", "options":"width=750,height=500,left=20,top=20,scrollbars=yes,resizable=yes" }; } function reinitsort() { sorttable.reinit(); } /* XXXXXXXXXX end of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/linkmanager/script.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/tag/script.js XXXXXXXXXX */ /** * Javascript for tagindex management * * @author Gina Haeussge, Michael Klier * @author Andreas Gohr */ /** * 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
    '+pl_si.page+'
    ('+pl_si.done+'/'+pl_si.count+')
    '); 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 /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/tag/script.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/sortablejs/script.js XXXXXXXXXX */ /* SortTable version 2.1 7th April 2007 Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/ 19 Feb 2008 Fixed some jslint errors to support DokuWiki (http://www.splitbrain.org) js compression function reinitsort() sorttable.reinit added by Otto Vainio to allow sort tables updated with javascript. Otto Vainio (otto@valjakko.net) 27.11.2008 Changed line 77 document.getElementsByTagName('table') to div.getElementsByTagName('table') To allow multiple sortable tables in same page (Thanks to Hans Sampiemon) 14.1.2009 Added option for default sorting. Use dokuwiki event registration. 27.1.2009 Cleaned some jlint errors to make this workable, when css+js compress is set in dokuwiki Instructions: Used from dokuwiki Click on the headers to sort Thanks to many, many people for contributions and suggestions. Licenced as X11: http://www.kryogenix.org/code/browser/licence.html This basically means: do what you want with it. */ var stIsIE = /*@cc_on!@*/false; var tableid = 0; sorttable = { reinit: function() { arguments.callee.done = true; // kill the timer if (_timer) {clearInterval(_timer);} if (!document.createElement || !document.getElementsByTagName) {return;} // sorttable.DATE_RE = /^(\d\d?)[\/\.\-](\d\d?)[\/\.\-]((\d\d)?\d\d)$/; sorttable.DATE_RE = /^(\d\d?)[\/\.\-](\d\d?)[\/\.\-]((\d\d)?\d\d)( (\d\d?)[:\.]?(\d\d?))?$/; forEach(document.getElementsByTagName('table'), function(table) { if (table.className.search(/\bsortable\b/) != -1) { sorttable.makeSortable(table); } }); forEach(document.getElementsByTagName('div'), function(div) { if (div.className.search(/\bsortable\b/) != -1) { sorttable.makeSortablediv(div); } }); }, init: 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);} if (!document.createElement || !document.getElementsByTagName) {return;} // sorttable.DATE_RE = /^(\d\d?)[\/\.\-](\d\d?)[\/\.\-]((\d\d)?\d\d)$/; sorttable.DATE_RE = /^(\d\d?)[\/\.\-](\d\d?)[\/\.\-]((\d\d)?\d\d)( (\d\d?):?(\d\d?))?$/; forEach(document.getElementsByTagName('table'), function(table) { if (table.className.search(/\bsortable\b/) != -1) { sorttable.makeSortable(table); } }); forEach(document.getElementsByTagName('div'), function(div) { if (div.className.search(/\bsortable\b/) != -1) { sorttable.makeSortablediv(div); } }); }, makeSortablediv: function(div) { if (div.getElementsByTagName('table').length === 0) { } else { forEach(div.getElementsByTagName('table'), function(table) { sorttable.makeSortable(table); if (div.className.search(/\bsort/) != -1) { colid = div.className.replace('sortable',''); colid = colid.replace(' sort',''); revs=false; if (colid.search(/\br/) != -1) { revs=true; colid = colid.replace('r',''); } sorttable.defaultSort(table,colid,revs); } }); } }, defaultSort: function(table, colid, revs) { theadrow = table.tHead.rows[0].cells; colid--; colname ="col"+colid; // remove sorttable_sorted classes var thiscell=false; forEach(theadrow, function(cell) { if (cell.className==colname) { thiscell=cell; } // if (cell.nodeType == 1) { // an element // cell.className = cell.className.replace('sorttable_sorted_reverse',''); // cell.className = cell.className.replace('sorttable_sorted',''); // } }); if (thiscell===false) {return;} sortfwdind = document.getElementById('sorttable_sortfwdind'); if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); } sortrevind = document.getElementById('sorttable_sortrevind'); if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); } thiscell.className += ' sorttable_sorted'; sortfwdind = document.createElement('span'); sortfwdind.id = "sorttable_sortfwdind"; sortfwdind.innerHTML = stIsIE ? ' 6' : ' ▾'; thiscell.appendChild(sortfwdind); // build an array to sort. This is a Schwartzian transform thing, // i.e., we "decorate" each row with the actual sort key, // sort based on the sort keys, and then put the rows back in order // which is a lot faster because you only do getInnerText once per row row_array = []; col = thiscell.sorttable_columnindex; rows = thiscell.sorttable_tbody.rows; for (var j=0; j5' : ' ▴'; thiscell.appendChild(sortrevind); } }, makeSortable: function(table) { // tableid++; if (table.getElementsByTagName('thead').length === 0) { // table doesn't have a tHead. Since it should have, create one and // put the first table row in it. the = document.createElement('thead'); the.appendChild(table.rows[0]); table.insertBefore(the,table.firstChild); } // Safari doesn't support table.tHead, sigh if (table.tHead === null) {table.tHead = table.getElementsByTagName('thead')[0];} if (table.tHead.rows.length != 1) {return;} // can't cope with two header rows // table.tHead.className += ' tableid'+tableid; // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as // "total" rows, for example). This is B&R, since what you're supposed // to do is put them in a tfoot. So, if there are sortbottom rows, // for backwards compatibility, move them to tfoot (creating it if needed). sortbottomrows = []; for (var i=0; i5' : ' ▴'; this.appendChild(sortrevind); return; } if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) { // if we're already sorted by this column in reverse, just // re-reverse the table, which is quicker sorttable.reverse(this.sorttable_tbody); this.className = this.className.replace('sorttable_sorted_reverse', 'sorttable_sorted'); sortrevind = document.getElementById('sorttable_sortrevind'); if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); } // this.removeChild(document.getElementById('sorttable_sortrevind')); sortfwdind = document.getElementById('sorttable_sortfwdind'); if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); } sortfwdind = document.createElement('span'); sortfwdind.id = "sorttable_sortfwdind"; sortfwdind.innerHTML = stIsIE ? ' 6' : ' ▾'; this.appendChild(sortfwdind); return; } // remove sorttable_sorted classes // theadrow = this.parentNode; forEach(theadrow.childNodes, function(cell) { if (cell.nodeType == 1) { // an element cell.className = cell.className.replace('sorttable_sorted_reverse',''); cell.className = cell.className.replace('sorttable_sorted',''); } }); sortfwdind = document.getElementById('sorttable_sortfwdind'); if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); } sortrevind = document.getElementById('sorttable_sortrevind'); if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); } this.className += ' sorttable_sorted'; sortfwdind = document.createElement('span'); sortfwdind.id = "sorttable_sortfwdind"; sortfwdind.innerHTML = stIsIE ? ' 6' : ' ▾'; this.appendChild(sortfwdind); // build an array to sort. This is a Schwartzian transform thing, // i.e., we "decorate" each row with the actual sort key, // sort based on the sort keys, and then put the rows back in order // which is a lot faster because you only do getInnerText once per row row_array = []; col = this.sorttable_columnindex; rows = this.sorttable_tbody.rows; for (var j=0; j 12) { // definitely dd/mm return sorttable.sort_ddmm; } else if (second > 12) { return sorttable.sort_mmdd; } else { // looks like a date, but we can't tell which, so assume // that it's dd/mm (English imperialism!) and keep looking sortfn = sorttable.sort_ddmm; } } } } return sortfn; }, getInnerText: function(node) { // gets the text we want to use for sorting for a cell. // strips leading and trailing whitespace. // this is *not* a generic getInnerText function; it's special to sorttable. // for example, you can override the cell text with a customkey attribute. // it also gets .value for fields. hasInputs = (typeof node.getElementsByTagName == 'function') && node.getElementsByTagName('input').length; if (node.getAttribute("sorttable_customkey") !== null) { return node.getAttribute("sorttable_customkey"); } else if (typeof node.textContent != 'undefined' && !hasInputs) { return node.textContent.replace(/^\s+|\s+$/g, ''); } else if (typeof node.innerText != 'undefined' && !hasInputs) { return node.innerText.replace(/^\s+|\s+$/g, ''); } else if (typeof node.text != 'undefined' && !hasInputs) { return node.text.replace(/^\s+|\s+$/g, ''); } else { switch (node.nodeType) { case 3: if (node.nodeName.toLowerCase() == 'input') { return node.value.replace(/^\s+|\s+$/g, ''); } case 4: return node.nodeValue.replace(/^\s+|\s+$/g, ''); break; case 1: case 11: var innerText = ''; for (var i = 0; i < node.childNodes.length; i++) { innerText += sorttable.getInnerText(node.childNodes[i]); } return innerText.replace(/^\s+|\s+$/g, ''); break; default: return ''; } } }, reverse: function(tbody) { // reverse the rows in a tbody newrows = []; for (var i=0; i=0; i--) { tbody.appendChild(newrows[i]); } delete newrows; }, /* sort functions each sort function takes two parameters, a and b you are comparing a[0] and b[0] */ sort_numeric: function(a,b) { aa = parseFloat(a[0].replace(/[^0-9.\-]/g,'')); if (isNaN(aa)) {aa = 0;} bb = parseFloat(b[0].replace(/[^0-9.\-]/g,'')); if (isNaN(bb)) {bb = 0;} return aa-bb; }, sort_alpha: function(a,b) { if (a[0]==b[0]) {return 0;} if (a[0] 0 ) { var q = list[i]; list[i] = list[i+1]; list[i+1] = q; swap = true; } } // for t--; if (!swap) {break;} for(var i = t; i > b; --i) { if ( comp_func(list[i], list[i-1]) < 0 ) { var q = list[i]; list[i] = list[i-1]; list[i-1] = q; swap = true; } } // for b++; } // while(swap) } }; /* ****************************************************************** Supporting functions: bundled here to avoid depending on a library ****************************************************************** */ // Dean Edwards/Matthias Miller/John Resig // Dean's forEach: http://dean.edwards.name/base/forEach.js /* forEach, version 1.0 Copyright 2006, Dean Edwards License: http://www.opensource.org/licenses/mit-license.php */ // array-like enumeration if (!Array.forEach) { // mozilla already supports this Array.forEach = function(array, block, context) { for (var i = 0; i < array.length; i++) { block.call(context, array[i], i, array); } }; } // generic enumeration Function.prototype.forEach = function(object, block, context) { for (var key in object) { if (typeof this.prototype[key] == "undefined") { block.call(context, object[key], key, object); } } }; // character enumeration String.forEach = function(string, block, context) { Array.forEach(string.split(""), function(chr, index) { block.call(context, chr, index, string); }); }; // globally resolve forEach enumeration var forEach = function(object, block, context) { if (object) { var resolve = Object; // default if (object instanceof Function) { // functions have a "length" property resolve = Function; } else if (object.forEach instanceof Function) { // the object implements a custom forEach method so use that object.forEach(block, context); return; } else if (typeof object == "string") { // the object is a string resolve = String; } else if (typeof object.length == "number") { // the object is array-like resolve = Array; } resolve.forEach(object, block, context); } }; if ('undefined' != typeof(window.addEvent)) { window.addEvent(window, 'load', sorttable.init); } // if //sorttable.init; function reinitsort() { sorttable.reinit(); } /* XXXXXXXXXX end of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/sortablejs/script.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/indexmenu/script.js XXXXXXXXXX */ /* Queue of loaded script files */ var indexmenu_jsqueue = []; /* Queue of loaded css files */ var indexmenu_cssqueue = []; /* Queue of nojs trees */ var indexmenu_nojsqueue = []; function indexmenu_findExt (path){ var ext = "gif"; var cext = path.lastIndexOf("."); if ( cext > -1){ cext++; cext = path.substring(cext, path.length).toLowerCase(); if ((cext == "png") || (cext == "jpg")) {ext = cext;} } return ext; } function indexmenu_ajax (get,picker,btn,notoc) { var indx_list= $(picker); var show = false; if (!indx_list) { indx_list=indexmenu_createPicker(picker); indx_list.className='dokuwiki indexmenu_toc'; indx_list.innerHTML=''; tocobj = document.createElement('div'); indx_list.appendChild(tocobj); } if (!notoc) { show=true; indx_list=indx_list.childNodes[1]; } indexmenu_showPicker(picker,btn,show); // We use SACK to do the AJAX requests var ajax = new sack(DOKU_BASE+'lib/plugins/indexmenu/ajax.php'); ajax.encodeURIString=false; ajax.onLoading = function () { indx_list.innerHTML='
    Loading .....
    '; }; // define callback ajax.onCompletion = function(){ var data = this.response; indx_list.innerHTML=""; if (notoc) { if(data.substring(0,9) != 'indexmenu'){ indx_list.innerHTML="Retriving error";return; } indexmenu_createThemes(data,indx_list); } else { indx_list.innerHTML=data; } }; ajax.runAJAX(encodeURI(get)); } function indexmenu_createPicker(id,cl) { var indx_list = document.createElement('div'); indx_list.className = cl || 'picker'; indx_list.id=id; indx_list.style.position = 'absolute'; indx_list.style.display = 'none'; var body = document.getElementsByTagName('body')[0]; body.appendChild(indx_list); return indx_list; } function indexmenu_showPicker(pickerid,btn,show){ var picker = $(pickerid); var x = 0; var y = 0; if (btn) { x = findPosX(btn); y = findPosY(btn); } if(picker.style.display == 'none' || show){ picker.style.display = 'block'; picker.style.left = (x+3)+'px'; var offs = (btn.offsetHeight) ? btn.offsetHeight : 10; picker.style.top = (y+offs+3)+'px'; }else{ picker.style.display = 'none'; } } function indexmenu_loadtoolbar (){ var toolbar = $('tool__bar'); if(!toolbar) return; indexmenu_loadJs(DOKU_BASE+'lib/plugins/indexmenu/edit.js'); } function indexmenu_loadJs (f){ var basef = f.replace(/^.*[\/\\]/g, ''); if (indexmenu_notinarray(indexmenu_jsqueue,basef)) { var oLink = document.createElement("script"); oLink.src = f; oLink.type = "text/javascript"; oLink.charset="utf-8"; indexmenu_jsqueue.push(basef); document.getElementsByTagName("head")[0].appendChild(oLink); } } function indexmenu_checkcontextm(n,obj,e){ var k=0; e=e||event; if ((e.which == 3 || e.button == 2) || (window.opera && e.which == 1 && e.ctrlKey)) { obj.contextmenu (n,e); indexmenu_stopevt(e); } } function indexmenu_stopevt(e) { if (!window.indexmenu_contextmenu) { return true; } e=e||event; e.preventdefault? e.preventdefault() : e.returnValue = false; return false; } function indexmenu_notinarray (array,val) { for (var i = 0; i < array.length; i++) { if (array[i] == val) { return false; } } return true; }; addInitEvent(indexmenu_loadtoolbar); /* XXXXXXXXXX end of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/indexmenu/script.js XXXXXXXXXX */ /* XXXXXXXXXX begin of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/tagentry/script.js XXXXXXXXXX */ function tagentry_clicktag(tagname, cbox) { tagentry_settag(tagname,cbox.checked); } function tagentry_settag(tagname, on) { var oldtext = document.getElementById('wiki__text').value; var tagstart = oldtext.toLowerCase().indexOf("{{tag>"); if (tagstart >= 0) { var tagend = oldtext.substr(tagstart).indexOf("}}"); if (tagend < 0) { alert('incomlete "{{tag>}}" - missing trailing "}}" ?'); return; } // remove this tag is already present var len = tagname.length+1; var s=tagstart; var l=tagend; var f=-1; while ((f=oldtext.toLowerCase().substr(s,l).indexOf(tagname.toLowerCase())) >= 0) { var cs = oldtext.substr(s+f-1,1); // char before if (cs != ' ' && cs != '>' ) { s+=f+len; l-=f+len; continue; } var ce = oldtext.substr(s+f+len-1,1); // char after if (ce != ' ' && ce != '}' ) { s+=f+len; l-=f+len; continue; } if (ce == '}' ) { // no trailing whitespace to remove if (cs == '>' ) { len--; } else { f--; } } oldtext = oldtext.substr(0,s+f)+oldtext.substr(s+f+len); l = oldtext.substr(s).indexOf("}}"); } tagend = oldtext.substr(tagstart).indexOf("}}"); if (tagend < 0) { alert('incomlete "{{tag>}}" - missing trailing "}}" ?'); return; } if (on) { // insert tag var split = tagstart+tagend; var ws =""; if (tagend != 6) ws=" "; // empty "{{tag>" - TODO remove it!? oldtext = oldtext.substr(0,split)+ws+tagname+oldtext.substr(split); } } else { if (on) { // insert tag oldtext+='\n{{tag>'+tagname+'}}'; } } document.getElementById('wiki__text').value = oldtext; } /* XXXXXXXXXX end of /virtual/ozfa/public_html/www.cmsresume.com/lib/exe/../../lib/plugins/tagentry/script.js XXXXXXXXXX */ addInitEvent(function(){ scrollToMarker(); }); addInitEvent(function(){ focusMarker(); });