/* from http://www.quirksmode.org/js/cookies.html */
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}







$(document).ready(function() {
    //TODO in Typo3 (.first) -> wrap x|y|*|asd|dsa
    $('ul#submenu li:first').addClass('first');
    
    var iLeft = (960 - $('img#content_right').attr('width') - 16);
    //alert(iLeft);
    $('img#content_border').css({ 
        'position': 'absolute',
        'float'     : 'none',
        'top'     : '140px',
        'left'    : iLeft + 'px',
        'margin'  : 0
    });
    
    $('img#content_right').css('margin-left', '51px');
    
    //TODO: auch bei Hauptmenü? JS-Ajax-History (siehe DCI) einbauen
    $('ul#submenu li a').click(function() {
        if (!$(this).parent().hasClass('active')) {
            //TODO: Zwischenspeichern, Ladegrafik!
            $('ul#submenu li').removeClass('active');
            $(this).parent().addClass('active');
            
            //TODO: type=22 -> keine Headers usw aus Typo3 ausliefern
            $.get($(this).attr('href'), { type: 22 }, function(sData) {
                var oContent = $(document.createElement('div')).html(sData);
                var oImg     = new Image();
                
                oImg.src = $(oContent).find('img#content_right').attr('src');
                
                //TODO: Seitentitel aktualisieren, Bild-alt aktualisieren
                
                var iLeft = (960 - $('img#content_right').attr('width') - 16);
                var iTo   = (960 - $(oContent).find('img#content_right').attr('width') - 16);
                
                //TODO: iTo == NaN -> Bild + Balken ausblenden, entsprechend einblenden wenn weg
                var iWidth = $('img#content_right').attr('width') - ($('img#content_right').attr('width') - $(oContent).find('img#content_right').attr('width')) / 2;
                
                $('img#content_border').animate({'left': iTo + 'px'}, 500);
                //$('img#content_right').animate({ 'opacity': 0, 'width': iWidth }, 500);
                
                
                $('div#content').fadeOut(250);
                $('img#content_right').fadeOut(250, function() {
                    $('div#content').html($(oContent).find('div#content').html());
                    $('img#content_right').attr({ 'src': oImg.src, 'width': oImg.width });
                    
                    $('div#content, img#content_right').fadeIn(250);
                });
            });
        }
        
        
        //for (var i in oBorderCss) alert(i + ': ' + oBorderCss[i]);
        this.blur();
        return false;
    });
    
    
    
    
    
    // Galerien laden
    $("div#imageflow p span.imageflow_right").live('mousedown', function() {
        imageFlow.iVal = -1;
        imageFlow.startInterval();
    }).mouseup(function() {
        imageFlow.finishInterval();
    });
    
    $("div#imageflow p span.imageflow_left").live('mousedown', function() {
        imageFlow.iVal = 1;
        imageFlow.startInterval();
    }).mouseup(function() {
        imageFlow.finishInterval();
    }); 
});







window.imageFlow = {
    oDiv      : null,
    oInterval : null,
    iVal      : -1,
    iDelay    : 1,
    iWidth    : 0,
    iMargin   : 0,
    bStopIt   : false,
    
    startInterval : function(iTempDelay) {
        this.stopInterval();
        this.bStopIt = false;
        
        this.iWidth = parseInt($("div#imageflow div").css("width").substr(0, ($("div#imageflow div").css("width").length - 2)));
        this.oInterval = window.setInterval("imageFlow.moveImageflow()", 25);
    },
    
    finishInterval : function() {
        //this.stopInterval();
        this.bStopIt = true;
    },
    
    stopInterval : function() {
        if (this.oInterval) {
            window.clearInterval(this.oInterval);
            this.oInterval = null;
        }
    },
    
    moveImageflow : function() {
        this.iMargin = this.iMargin + this.iVal;
        $("div#imageflow div").css("margin-left", this.iMargin + "px");
        
        if ((this.iVal < 0)) {
            if (this.bStopIt == true) this.iVal++;
            else if (this.iVal > -10) this.iVal--;
        }
        else if ((this.iVal > 0)) {
            if (this.bStopIt == true) this.iVal--;
            else if (this.iVal < 10) this.iVal++;
        }
            
        if ((this.iVal == -1) || (this.iVal == 1)) {
            this.stopInterval();
        }
        else if (this.iMargin > 0) {
            this.iMargin = 0;
            $("div#imageflow div").css("margin-left", "0px");
            this.stopInterval();
        }
        else if (this.iMargin < -1 * (this.iWidth - 301)) {
            this.iMargin = (-1 * (this.iWidth - 301));
            $("div#imageflow div").css("margin-left", this.iMargin + "px");
            this.stopInterval();
        }
    }
}











