/**
 * @author SSchreiber
 */
function addElement(afterElement, labelText, labelRemove, elementName, lastId, cloneElement){
    Site.addElement(afterElement, labelText, labelRemove, elementName, lastId, cloneElement);
}

var Site = {


    start: function(){
        Site.lastid = 1;
        if ($('sigs_navigation'))
            Site.setVertical(33, $$('#sigs_navigation #menu li.firstLevel a span'));
        Site.menu();
        if ($$("input.text")) {
            Site.inputReset();
        }
        if ($$('table.program')) {
            Misc.start();
        }
        if ($$('#sigs_leftColumn div.sponsorsWrapper')) {
            Site.setVertical(80, $$('#sigs_leftColumn div.sponsorsWrapper img'));
        }

		datePicker = $$(".DatePicker");
		if (datePicker) {
            datePicker.each(function(el){
                new DatePicker(el);
            });
        }

    },

    inputReset: function(){
        $$("input.text").each(function(f){
            if (f.value != "") {
                var old = f.value;
                f.addEvent("focus", function(){
                    if (f.value == old)
                        f.value = "";
                });
                f.addEvent("blur", function(){
                    if (f.value == "")
                        f.value = old;
                });
            }
        });
    },

    setVertical: function(height, items){
        var menuItems = items;
        menuItems.each(function(el, i){
            var menuItemHeight = el.getStyle('height').toInt();
            var parentHeight = height;
            var targetDifference = (parentHeight - menuItemHeight) / 2;
            el.setStyle('padding-top', targetDifference);
        });

    },
    menu: function(){
        var menuItems = $$('#sigs_navigation #menu li.firstLevel');
        if (menuItems) {
            menuItems.each(function(el, i){
                Site.createOver(el, i);
            }, this);
        }
        var menuItemsSecondLevel = $$('#sigs_navigation #menu ul.secondLevel li.secondLevelList');
        if (menuItemsSecondLevel) {
            menuItemsSecondLevel.each(function(el, i){
                Site.createOver(el, i);
            }, this);
        }
    },
    createOver: function(el, i){
        el.addEvent('mouseenter', function(e){
            el.addClass('over');
        });
        el.addEvent('mouseleave', function(e){
            el.removeClass('over');
        });
    },
    addElement: function(beforeElement, labelText, labelRemove, elementName, lastId, cloneElement){

        lastId = (Site.lastid + 1).toInt();
        var timenow = elementName + lastId;

        cFormElement = $(cloneElement).clone();
        cFormElement.setProperty('id', timenow);

        anchor = $E("a.removeLinks", cFormElement);
        anchor.setStyle('visibility', 'visible');


        inputFields = $ES('input', cFormElement);
        if (inputFields) {
            inputFields.each(function(el){
                el.value = '';
            });
        }

        cFormElement.injectBefore($(beforeElement));

        Site.addToRemoveLinks('visibile');
    },

    addToRemoveLinks: function(visibilitiy){

        removeLinks = $$('.removeLinks');
        if (removeLinks) {
            removeLinks.each(function(el){
                el.addEvent('click', function(e){
                    Site.ajaxRemove(this, e);
                })
            })
        }
    },

	ajaxRemove: function(el, e){
        e = new Event(e).stop();
        parentEl = el.getParent();
        parentId = parentEl.id;
        var result = parentId.search(/Wrapper1.+/);
        //alert(result);
        if (result == -1) {
            parentEl.remove();
        }
    }
}

window.addEvent('load', Site.start);

var Misc = {
    start: function(){
        tables = $$('#mainContentSubSite table');
        if (tables) {
            tables.each(function(el, i){
                Misc.stripe(el, '#d9d9d9', '#e6e7ea');
            }, this);
        }
    },
    hasClass: function(obj){
        var result = false;
        if (obj.getAttributeNode("class") != null) {
            result = obj.getAttributeNode("class").value;
        }
        return result;
    },

    stripe: function(el){

        var even = false;

        var evenColor = arguments[1] ? arguments[1] : "#fff";
        var oddColor = arguments[2] ? arguments[2] : "#eee";

        var table = el;
        if (!table) {
            return;
        }

        var tbodies = table.getElementsByTagName("tbody");

        for (var h = 0; h < tbodies.length; h++) {

            var trs = tbodies[h].getElementsByTagName("tr");

            for (var i = 0; i < trs.length; i++) {

                if (!Misc.hasClass(trs[i]) &&
                !trs[i].style.backgroundColor) {

                    var tds = trs[i].getElementsByTagName("td");

                    for (var j = 0; j < tds.length; j++) {

                        var mytd = tds[j];

                        if (!Misc.hasClass(mytd) &&
                        !mytd.style.backgroundColor) {

                            mytd.style.backgroundColor = even ? evenColor : oddColor;

                        }
                    }
                }
                even = !even;
            }
        }
    }
}


function decryptCharcode(n,start,end,offset){n=n+offset;if(offset>0&&n>end){n=start+(n-end-1);}else if(offset<0&&n<start){n=end-(start-n-1);}
return String.fromCharCode(n);}
function decryptString(enc,offset){var dec="";var len=enc.length;for(var i=0;i<len;i++){var n=enc.charCodeAt(i);if(n>=0x2B&&n<=0x3A){dec+=decryptCharcode(n,0x2B,0x3A,offset);}else if(n>=0x40&&n<=0x5A){dec+=decryptCharcode(n,0x40,0x5A,offset);}else if(n>=0x61&&n<=0x7A){dec+=decryptCharcode(n,0x61,0x7A,offset);}else{dec+=enc.charAt(i);}}
return dec;}
function linkTo_UnCryptMailto(s){location.href=decryptString(s,-1);}