/**
 * @author Roland Lambert
 */
jQuery.fn.fadeToggle = function(speed, easing, callback){
    return this.animate({
        opacity: 'toggle'
    }, speed, easing, callback);
};
jQuery.fn.scrollCenter = function(target, frame, speed, easing, callback){
    target_height = target.height() * 0.5;
    if ((target.height() - target.height() * 0.5) < frame.height()) {
        target_height = target.height() - frame.height();
    }
    if (speed) {
        //speed = speed/100 *target_height;
    }
    return this.animate({
        top: ('-=' + target_height)
    }, speed, easing, callback);
};
var moesian = {
    init: function(){
        moesian.form.init();
        moesian.slideshow.init();
        if (!$('#gallery a').length == 0) {
            $(function(){
                $('#gallery a').lightBox({
                    fixedNavigation: true
                }); // Select all links in object with gallery ID
            });
        };
            },
    form: {
        init: function(){
        
            if (!$('.value-title').length == 0) {
                if ($('input.value-title').length > 0) {
                    $('input.value-title').each(function(index, domEle){
                    
                        if ($(this).val() != "") {
                            domEle.defVal = $(this).val();
                            
                            $(this).bind("focus", function(){
                                if ($(this).val() == domEle.defVal) {
                                    $(this).val("");
                                }
                            });
                            $(this).bind("blur", function(){
                            
                                if ($(this).val() == "") {
                                    $(this).val(domEle.defVal);
                                }
                            })
                        }
                    })
                };
                if ($('textarea.value-title').length > 0) {
                    $('textarea.value-title').each(function(index, domEle){
                        if ($(this).html() != "") {
                        
                            domEle.defVal = $(this).html();
                            
                            $(this).bind("focus", function(){
                                if ($(this).html() == domEle.defVal) {
                                    $(this).html("");
                                }
                            });
                            $(this).bind("blur", function(){
                                if ($(this).val() == "") {
                                    $(this).html(domEle.defVal);
                                }
                            })
                        }
                    })
                }
            }
        }
    },
    slideshow: {
        window: null,
        nav: null,
        length: null,
        index: 0,
        interval: 0,
        timeout: 0,
        init: function(){
            if ($('.slideshow').length == 0) {
                return;
            }
            moesian.slideshow.window = $('.slideshow .window');
            moesian.slideshow.nav = $('.slideshow .nav');
            if(moesian.slideshow.window.find("li").length <= 1){
				return;
			}
			moesian.slideshow.window.find("li").hide();
            moesian.slideshow.window.find("li").css({
                'position': 'absolute'
            })
            moesian.slideshow.nav.find('a').each(function(i){
                $(this).bind("click", {
                    index: i
                }, moesian.slideshow.switch_item);
            })
            moesian.slideshow.interval = setInterval(function(){
                moesian.slideshow.next()
            }, 8000);
            moesian.slideshow.index = moesian.slideshow.window.find("li").length;
            moesian.slideshow.next();
            
        },
        switch_item: function(e){
            var current = $(e.target);
            if (!current.parent().hasClass('.current')) {
                clearInterval(moesian.slideshow.interval);
                clearTimeout(moesian.slideshow.timeout);
                moesian.slideshow.timeout = setTimeout(function(){
                    moesian.slideshow.interval = setInterval(moesian.slideshow.next, 8000)
                }, 15000);
                moesian.slideshow.display(e.data.index);
            }
        },
        display: function(index){
        
            moesian.slideshow.index = index;
            current = $(moesian.slideshow.nav.find('li a')[index]);
            moesian.slideshow.nav.find('li.current').removeClass('current');
            current.parent().toggleClass('current');
            moesian.slideshow.window.find("li:not(:visible)").css({
                'z-index': 1
            });
            moesian.slideshow.window.find("li:visible").css({
                'z-index': 3
            }).fadeToggle(500);
            
            new_item = $(moesian.slideshow.window.find("li")[index]);
            
            new_item.show().css({
                'top': 0,
                'left': 0
            })//.scrollCenter(new_item, moesian.slideshow.window, 8000)
;
            
            moesian.slideshow.window.parent().find("p.message:first").html(new_item.find(".message:first").html());
            return false;
        },
        next: function(){
            if (moesian.slideshow.index < moesian.slideshow.window.find("li").length - 1) {
                moesian.slideshow.index++;
            }
            else {
                moesian.slideshow.index = 0;
            }
            moesian.slideshow.display(moesian.slideshow.index);
            
        }
    }
}

$(document).ready(moesian.init);

