/**
 * @author Bastian Jansen
 *
 * (C) Bastian Jansen, scaleweb.de
 */
var menu_one = new Spry.Data.XMLDataSet("http://www.zahnaerztemg.de/data/page.xml", "page/default/menu_button");
var menu_two = new Spry.Data.XMLDataSet("http://www.zahnaerztemg.de/data/xml/{menu_one::url}", "content/links/link");
var submenu = new Spry.Data.XMLDataSet(null, "submenu/list/sublink");
var subdata = new Spry.Data.XMLDataSet(null, "submenu/description");

var selected_bg_pic = "bg_lim";
var visiblePanels = new Array(0, 0, 0);
var initStartPage = true;

var gEffectInProgress = null;
var gPendingSetRowIDRequest = -1;
var gPendingBgPicRequest = "";

var BG_OFF = true;

var globalHeight_Panle0 = 504;
var globalHeight_Panle1 = 627;
var globalHeight_Panle2 = 504;
//
//
function fadeInContent(notificationType, notifier, data){
    if (notificationType != "onPostUpdate") 
        return;
    Spry.Data.updateRegion('menu');
    if (bool_dis) {
        bool_dis = false;
        menu_two.setCurrentRow('3');
        return;
    }
    
    if (bool_impres) {
        bool_impres = false;
        menu_two.setCurrentRow('2');
        return;
    }
    
    var effect = new FadeSlide('link_list', {
        sto: 126,
        sfrom: 0,
        to: 80,
        from: 0,
        duration: 600,
        horizontal: true,
        finish: function(){
            gEffectInProgress = null;
            loadName = '';
            link = '';
            loadPanel = -1;
            if (gPendingSetRowIDRequest >= 0) {
                var id = gPendingSetRowIDRequest;
                var pic = gPendingBgPicRequest;
                gPendingSetRowIDRequest = -1;
                fadeOutContentThenSetRow(id, pic);
            }
            if (menu_two.getDataWasLoaded()) {
                var row = menu_two.getCurrentRow();
                //'{frag}', '{panel}', '{bg}','{name}' , '{height}' , '{subXML}'
                loadContent(row["frag"], row["panel"], row["bg"], row["name"], row["height"], row["subXML"]);
                //           
            }
        }
    });
    effect.start();
};

Spry.Data.Region.addObserver('link_list', fadeInContent);

function fadeOutContentThenSetRow(rowID, bg_pic){
    if (gEffectInProgress || lEffectInProgress || mEffectInProgress) {
        gPendingSetRowIDRequest = rowID;
        gPendingBgPicRequest = bg_pic;
        return;
    }
    window.clearInterval(aktiv);
    if (rowID == menu_one.getCurrentRowID()) 
        return;
    gEffectInProgress = new FadeOutMenu('link_list', {
        sto: 0,
        sfrom: 126,
        to: 0,
        from: 80,
        duration: 300,
        sduration: 300,
        horizontal: true,
        finish: function(){
            loadBGPicture(bg_pic, rowID);
        }
    });
    gEffectInProgress.start();
};

function changePageXPath(xmlpath){
    if (menu_one.getXPath() == xmlpath) {
        if (menu_one.getCurrentRowID() == 0) {
            menu_two.setCurrentRow('0');
            var row = menu_two.getCurrentRow();
            //'{frag}','{panel}','{bg}','{name}', '{height}'
            loadContent(row["frag"], row["panel"], row["bg"], row["name"], row["height"]);
            Spry.Data.updateRegion('menu');
        }
        else {
            fadeOutContentThenSetRow(0, selected_bg_pic);
            Spry.Data.updateRegion('menu');
        }
        return;
    }
    mEffectInProgress = true;
    var effect = new FadeOutContent({
        to: fadeFROM,
        from: fadeTO,
        duration: fadeOUT_DURATION,
        sduration: slideOUT_DURATION,
        horizontal: false,
        bg_name: selected_bg_pic,
        finish: function(){
            menu_one.setXPath(xmlpath);
            switchPraxis(xmlpath);
            mEffectInProgress = false;
        }
    });
    effect.start();
};

function switchPraxis(xmlpath){
    if (xmlpath.lastIndexOf("ZE") >= 0) {
        document.getElementById("zentrum").style.backgroundColor = "#AAAAAA";
        document.getElementById("wick").style.backgroundColor = "#CCCCCC";
        var tmp = new Spry.Widget.HTMLPanel('panel_2');
        tmp.loadContent('frags/logoZE.html');
        return;
    }
    if (xmlpath.lastIndexOf("WI") >= 0) {
        document.getElementById("wick").style.backgroundColor = "#AAAAAA";
        document.getElementById("zentrum").style.backgroundColor = "#CCCCCC";
        var tmp = new Spry.Widget.HTMLPanel('panel_2');
        tmp.loadContent('frags/logoWI.html');
        return;
    }
    if (xmlpath.lastIndexOf("default") >= 0) {
        document.getElementById("wick").style.backgroundColor = "#CCCCCC";
        document.getElementById("zentrum").style.backgroundColor = "#CCCCCC";
        var tmp = new Spry.Widget.HTMLPanel('panel_2');
        tmp.loadContent('frags/logoDefault.html');
        return;
    }
};

function loadBGPicture(bg_name, rowID){
    if (BG_OFF) {
        menu_one.setCurrentRow(rowID);
        return;
    }
    if (selected_bg_pic != bg_name && bg_name != '') {
        var main_out = new Spry.Effect.Fade('main_page', {
            duration: 100,
            from: 100,
            to: 20,
            toggle: false
        });
        var main_in = new Spry.Effect.Fade('main_page', {
            duration: 100,
            from: 20,
            to: 100,
            toggle: false,
            finish: function(){
                menu_one.setCurrentRow(rowID);
            }
        });
        
        var ob_re = new Object();
        ob_re.onPostEffect = function(){
            document.getElementById("main_page").style.backgroundImage = 'url(data/pic/' + bg_name + '.jpg)';
            document.getElementById("main_page").style.backgroundRepeat = 'no-repeat';
            main_in.start();
        };
        main_out.addObserver(ob_re);
        main_out.start();
        selected_bg_pic = bg_name;
    }
    else {
        menu_one.setCurrentRow(rowID);
    }
};
