
var browser = {}
browser.explorer = /*@cc_on!@*/false;
browser.webkit = /Apple|KDE/i.test(navigator.vendor);

if (browser.explorer) {
    document.write('<script id="_defer" defer="true" src="//:"><\/script>');
}
var documentReadyCalls = new Array();
function documentReady(callback)
{
    documentReadyCalls.push(callback);
}
function documentReady_(callback) {
    //Firefox, Opera
    if (document.addEventListener) {
        document.addEventListener("DOMContentLoaded", callback, false);
    }
    //Internet Explorer
    if (browser.explorer) {
        var deferScript = document.getElementById('_defer');
        if (deferScript) {
            deferScript.onreadystatechange = function() {
                if (this.readyState == 'complete') {
                    callback();
                }
            };
            deferScript.onreadystatechange();
            deferScript = null;
        }
    }
    //Safari, Konqueror
    if (browser.webkit) {
        var _timer = setInterval(function() {
            if (/loaded|complete/.test(document.readyState)) {
                clearInterval(_timer);
                callback();
            }
        }, 10);
    }
    window.onload = callback;   
}
function documentReadyCall()
{
    if(!document.domLoaded)
    {
        documentReadyCalls.each(function(s){s();});
        document.domLoaded = true;
    }
}
documentReady_(documentReadyCall);


function ObjectPosition(obj) {
    var curleft = 0;
      var curtop = 0;
      if (obj.offsetParent) {
            do {
                  curleft += obj.offsetLeft;
                  curtop += obj.offsetTop;
            } while (obj = obj.offsetParent);
      }
      return [curleft,curtop];
}

/* DOMContentLoaded */
function init(){    

    var onf = function(event){
            if(!Event.element(event).cleaned) {Event.element(event).orgVal = Event.element(event).value; Event.element(event).value=''; Event.element(event).cleaned = true; Event.element(event).removeClassName('clean'); }
        }
    var onb = function(event){
            if(Event.element(event).cleaned && Event.element(event).value == '') {Event.element(event).value=Event.element(event).orgVal; Event.element(event).cleaned=0; Event.element(event).addClassName('clean');}
        }
	$$('input.autoclean').each(function(ac){
		ac.addClassName('clean');
        Event.observe(ac,'focus',onf);
        Event.observe(ac,'blur',onb);
    });
    
   
	var jumpToHeader = new Element("a", {'class': 'jump', 'href': "#header"}).update("↑");

	$$('h3, h4').each(function(el) {
		var pos = ObjectPosition(el);
		if(pos[1] > document.viewport.getHeight()) el.insert(jumpToHeader.cloneNode(true));	
	});
	
	try {
		$$('#aside-first ul a[href]').findAll(function(e) { return e.href == location.href; }).invoke('addClassName','selected');
	} catch(e) {
		//nothing
	}
	/*
	try {
		if(window.sessionStorage && !window.sessionStorage.referrer) window.sessionStorage.referrer = document.referrer;
	} catch (e) {
		//nothing
	}
	*/
}
  

documentReady(init);

