var siteUrl;
var hisMan;
var defaultContent = '';
var myURLHandler = function (url) {
    SetSite(url);
};

// arguments are (key, defaults, onMatch, onGenerate, regexp, options)
function InitHistory() {
    hisMan = new HistoryManager();
    hisMan.addEvent('onHistoryChange', function (id) {
        historyClick(id)
    });
    var state = hisMan.getCurrentHash();
    if (state != '') {
        SetSite(state);
    }
   
}
function historyClick(id) {
    if (id != '') {
        SetSite(id);
        var mid = id.split('mid=');
        /*getAd(mid[1].split('&')[0]);*/
    }
}
function getAd(mid) {
//    var req = new Request.JSON({
//        method: 'get',
//        secure: false,
//        url: 'inc/Business/getad.php?mid=' + mid + '&t=tb',
//        onComplete: function (jsonObj) {
//            $('topbanner').src = jsonObj.picture;
//            $('topbannerlink').href = jsonObj.url;
//        }
//    }).send();
//    req = new Request.JSON({
//        method: 'get',
//        secure: false,
//        url: 'inc/Business/getad.php?mid=' + mid + '&t=sk',
//        onComplete: function (jsonObj) {
//            $('skyscraper').src = jsonObj.picture;
//            $('skyscraperlink').href = jsonObj.url;
//        }
//    }).send();
}
var requestLoader;
window.addEvent('domready', function () {
    //var _menu = new UvumiDropdown('dropdownmenu1', { duration: 300, transition: Fx.Transitions.Sine.easeOut, delay: 200, clickToOpen: false, maxOpacity: 1 });
    //LoadTicker();
    requestLoader = new Spinner();
    var cUri = new URI();
    cSite = cUri.get('fragment');
    if (cSite == "") {
        SetSite(defaultContent);
    } else {
        var mid = cSite.split('mid=');
        /*if (mid.length > 1) {
        getAd(mid[1].split('&')[0]);
        }*/
    }
    //onLoadTopGallery();
    InitHistory();
    //InitMainCalendar();

});
function InitMainCalendar() {
    MooTools.lang.set('de-DE', 'Date', {
        months: ['Januar', 'Februar', 'M&auml;rz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
        days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
        dateOrder: ['date', 'month', 'year', '/']
    });
    MooTools.lang.setLanguage('de-DE');
    //Example XIII
    var SiteCalendar = new CalendarEightysix('SiteCalendar', { 'injectInsideTarget': true, 'alwaysShow': true, 'pickable': false });
    SiteCalendar.addEvent('rendermonth', function (e) {
        //The event returns all the date related elements within the calendar which can easily be iterated
        e.elements.each(function (day) {
            day.set('title', day.retrieve('date').format('%A %d %B'));
        });
    });
    SiteCalendar.render(); //Render again because while initializing and doing the first render it did not have the event set yet
}

var currentSite = '';
var menuitem;
function SetMenuImage(id, src) {
    if (menuitem != id) {
        id.src = src;
    }

}
function onMenuCall(id, site) {    
    hisMan.addState(site);
    if (menuitem) {
        menuitem.src = menuitem.src.replace('-over', '');
    }
    try {
        var child = $(id).getChildren()[0];
        if ($(id).getChildren().length > 0 && child.tagName.toLowerCase() == 'img') {
            menuitem = child;
        }
    }
    catch (e) {
    }
    
    SetSite(site);
}
function SetLayout(id) {
    var request = new Request.JSON({
        url: 'adm/layoutprocess.php?f=li&lid=1',
        onComplete: function (jsonObj) {
            for (var layoutitemid in jsonObj) {
                var layoutitem = jsonObj[layoutitemid];
                $(layoutitem.contentid).setStyle('backgroundColor', layoutitem.backgroundcolor);
            }
        }
    }).send();

}
function checkIt(evt) {
    evt = (evt) ? evt : window.event
    var charCode = (evt.which) ? evt.which : evt.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {        
        return false
    }
    return true
}
function SetSite(site) {
    var rndi = Math.random() * 20345;
    if (site.indexOf('?') > -1) {
        site += '&rnd=' + rndi;
    } else {
        site += '?rnd=' + rndi;
    }
    currentSite = site;
    var rndGB = $('RandomGalleryBar');
    if (rndGB) {
        rndGB.hide();
    }    
    requestLoader.show();
    var req = new Request.HTML({ url: currentSite,
        onSuccess: function (htmltree, _elements, htmls, scripts) {
            $('MainContent').set('text', '');
            $('MainContent').set('html', htmls);
            DisplayContent();
            requestLoader.hide();
            try {
                var rndGBC = $('RandomGalleryBarContent');
                if (rndGBC) {
                    var rndGB = $('RandomGalleryBar');
                    if (rndGB) {
                        rndGB.set('html', rndGBC.get('html'));
                        rndGB.show();
                    }
                }
            } catch (eLC) {
            }
            try {

                onLoadModul();
            } catch (e) { }
            try {
                onLoadEventTickerModul();
            } catch (e2) { }
            try {
                onLoadNewsTickerModul();
            } catch (e3) { }
            try {
                getBasketInfo(siteUrl);
            } catch (e4) { }
        },
        onFailure: function () {
            $('MainContent').set('text', 'Fehler beim laden der Unterseite');
        }
    });
    req.send();

}
function DisplayContent() {

    if (currentSite.indexOf('getDetails') > -1) {
        var milkbox = new Milkbox();
    }
    var anim = new Fx.Morph($('MainContent'), { duration: 300, transition: Fx.Transitions.Sine.easeIn });
    anim.start({ 'opacity': 1 });
    var scroller = new Fx.Scroll($('MainContent'));
    scroller.toTop();

}


