jQuery.fn.labelify = function(settings) {
    settings = jQuery.extend({
        text: "title",
        labelledClass: ""
    }, settings);
    var lookups = {
        title: function(input) {
            return $(input).attr("title");
        },
        label: function(input) {
            return $("label[for=" + input.id +"]").text();
        }
    };
    var lookup;
    var jQuery_labellified_elements = $(this);
    return $(this).each(function() {
        if (typeof settings.text === "string") {
            lookup = lookups[settings.text]; // what if not there?
        } else {
            lookup = settings.text; // what if not a fn?
        };
        // bail if lookup isn't a function or if it returns undefined
        if (typeof lookup !== "function") {
            return;
        }
        var lookupval = lookup(this);
        if (!lookupval) {
            return;
        }

        // need to strip newlines because the browser strips them
        // if you set textbox.value to a string containing them
        $(this).data("label",lookup(this).replace(/\n/g,''));
        $(this).focus(function() {
            if (this.value === $(this).data("label")) {
                this.value = this.defaultValue;
                $(this).removeClass(settings.labelledClass);
            }
        }).blur(function(){
            if (this.value === this.defaultValue) {
                this.value = $(this).data("label");
                $(this).addClass(settings.labelledClass);
            }
        });

        var removeValuesOnExit = function() {
            jQuery_labellified_elements.each(function(){
                if (this.value === $(this).data("label")) {
                    this.value = this.defaultValue;
                    $(this).removeClass(settings.labelledClass);
                }
            })
        };

        $(this).parents("form").submit(removeValuesOnExit);
        $(window).unload(removeValuesOnExit);

        if (this.value !== this.defaultValue) {
            // user already started typing; don't overwrite their work!
            return;
        }
        // actually set the value
        this.value = $(this).data("label");
        $(this).addClass(settings.labelledClass);

    });
};

(function ($) {
    $.fn.vAlign = function() {
        return this.each(function(i){
            var h = $(this).height();
            var oh = $(this).outerHeight();
            var mt = (h + (oh - h)) / 2;
            $(this).css("margin-top", "-" + mt + "px");
            $(this).css("top", "50%");
            $(this).css("position", "absolute");
        });
    };
})(jQuery);

(function ($) {
    $.fn.hAlign = function() {
        return this.each(function(i){
            var w = $(this).width();
            var ow = $(this).outerWidth();
            var ml = (w + (ow - w)) / 2;
            $(this).css("margin-left", "-" + ml + "px");
            $(this).css("left", "50%");
            $(this).css("position", "absolute");
        });
    };
})(jQuery);

$(document).ready(function(){
	
    if (jQuery.browser.msie && jQuery.browser.version.substr(0,1)<7) {
        jQuery("body").hide();
        if(confirm("Oldalaink látogatásához fejlettebb böngészőre lesz szüksége.\nKérjük cserélje le és látogasson vissza.\nWeboldalunk nem támogatja az IE6-os böngészőt!")){
            window.location="http://www.google.com/chrome/?hl=hu";
        }else{
            window.location="http://www.mozilla-europe.org/hu/firefox/";
        }
    }

    //menu hover
    jQuery("#header-menu ul li").hover(function(){
        var c = jQuery(this).attr("class");
        jQuery(this).addClass("h-"+c);
    },function(){
        var c = jQuery(this).attr("class");
            t = c.split(" ");
        jQuery(this).removeClass("h-"+t[0]);

    });


    jQuery(".external").attr("target", "_blank");

    //------------------------------------------------------------------------
    //kiválasztott menü
    jQuery("#header-menu-item li a.selected").append("<span style='display:inline;font-size: 8px;left: 5px;margin-top: 2px;padding: 0 0 0 2px;'>></span>")

    //menu kinyitás, becsukás
    jQuery("#header-menu-item li a.submenu").next("ul").hide();
    jQuery('#header-menu-item li a.selected').next("ul").show();
    jQuery('#header-menu-item li a.selected').parents().show();
    
    jQuery("#header-menu-item li a.submenu").click(function(e){

       jQuery("#header-menu-item li a.submenu").next("ul").hide();
       jQuery("#header-menu-item li a.submenu").text(function(i,t){
            jQuery(this).text(t.replace(">", ""));
       });
       jQuery("#header-menu-item li a").removeClass("selected");
       jQuery(this).addClass("selected");       

       jQuery('#header-menu-item li a.selected').next("ul").show();       
       jQuery("#header-menu-item li a.selected").append("<span style='display:inline;font-size: 8px;left: 5px;margin-top: 2px;padding: 0 0 0 2px;'>></span>");

       e.preventDefault(); 
    });
    //------------------------------------------------------------------------

    //scrollozható tartalom
    if(jQuery('.scroll-pane').length>0){
    var pageHeight = jQuery('body').height();
    var contentHeight = jQuery('#content-text').height();
    if(contentHeight>400){
        //csak ha nagyobb a tartalom
        jQuery("#content-text").height(pageHeight-300);
        var jsp_element = jQuery('.scroll-pane').jScrollPane({
                verticalDragMaxHeight: "44",
                animateScroll: 100,
                mouseWheelSpeed: 40,
                animateScroll: true
            });
            var jsapi = jsp_element.data('jsp');
            //console.log(api);
        }
    }

    //------------------------------------------------------------------------

    jQuery(".login-content").hide();
    jQuery("#login-on").click(function(){
        $('#login').animate({
            width: '250px'
        }, 300, function() {
            jQuery(".login-content").show();
        });
        return false;
    });


    jQuery("#buttonoff").click(function(){
        jQuery(".login-content").hide();
        $('#login').animate({
            width: '0px'
        }, 300, function() {
            jQuery("#login-errmsg").hide();
        });
        return false;
    });

    //------------------------------------------------------------------------

    //slideshow
    var slideShowElements = jQuery("#slideshow ul li").size();
    slideShowElements-=1;
    var animSpeed = 200;
    var isSlideShow = (slideShowElements>0) ? true:false;
    jQuery("#lapozo").hide();
    if(isSlideShow){
        jQuery("#slideshow ul li").hide();
        jQuery("#slideshow ul li:first").show().addClass("slideShowFirst selectedSlideShowElement");
        jQuery("#slideshow ul li:last").addClass("slideShowLast");
        jQuery("#lapozo").show();

    }
    var alt = jQuery(".slideShowFirst").parent().find("img").attr("alt");
    var title = jQuery(".slideShowFirst").parent().find("img").attr("title");
 
    if(alt!=undefined && title!=undefined){
        jQuery("#content-text").html("<strong><span class='upper'>" + title + "</span></strong>" + alt)
    }

    

    //lapozás
    jQuery(".prev").click(function(e){
      
        var selected = jQuery(".selectedSlideShowElement").index();

//            jQuery(".prev-icon").show().effect( "pulsate", {times:0}, 3000, function(){
//              jQuery(this).hide("slow");
//            });

        var prevElement = selected-1;
        if(selected!=0 && isSlideShow){
        }else{
            prevElement=slideShowElements;
        }
        /*jQuery(".selectedSlideShowElement").animate({
            opacity: 0
        }, animSpeed, function() {
            jQuery("#slideshow ul li").hide().removeClass("selectedSlideShowElement");
            jQuery("#slideshow ul li:eq(" + prevElement +")").addClass("selectedSlideShowElement").show();
            jQuery(".selectedSlideShowElement").animate({
                opacity: 1
            }, animSpeed);

            if(alt!=undefined && title!=undefined){
                jQuery("#content-text").html("<strong><span class='upper'>" + alt + "</span></strong><br />" + title)
            }
        });*/
				
            jQuery("#slideshow ul li").fadeOut(animSpeed).removeClass("selectedSlideShowElement");
            setTimeout(function() {
                    jQuery("#slideshow ul li:eq(" + prevElement +")").addClass("selectedSlideShowElement").fadeIn(animSpeed);
            }, animSpeed+10 );

       e.preventDefault();
    });

		
    jQuery(".next, .selectedSlideShowElement").live('click', function(e){
       
        var selected = jQuery(".selectedSlideShowElement").index();
        
//            jQuery(".next-icon").show().effect( "pulsate", {times:0}, 3000, function(){
//              jQuery(this).hide();
//            });
        var nextElement = selected+1;
        if(selected < slideShowElements && isSlideShow){

        }else{
            nextElement=0;
        }

            jQuery("#slideshow ul li").fadeOut(animSpeed).removeClass("selectedSlideShowElement");
            setTimeout(function() {
                    jQuery("#slideshow ul li:eq(" + nextElement +")").addClass("selectedSlideShowElement").fadeIn(animSpeed);
            }, animSpeed+10 );

        alt = jQuery(".selectedSlideShowElement").parent().find("img").attr("alt");
        title = jQuery(".selectedSlideShowElement").parent().find("img").attr("title");
        if(alt!=undefined && title!=undefined){
            jQuery("#content-text").html("<strong><span class='upper'>" + title + "</span></strong>" + alt)
        }
            

        e.preventDefault();

    });

    if ( jQuery.browser.msie ) {
        //jQuery(".prev-icon, .next-icon").remove();
    }


    //egy .logo kiterjesztésű képfájl végét kicseréli
    //kocepció: szürkén kezd és ha fókuszba kerül akkor színes lesz
    //ha színes lesz _c lesz a fájl neve 2 fájl van szürke és színes
    var logoAnimacioSpeed = 0;
    jQuery(".logo").hover(function(){

        jQuery(this).animate({
            opacity: 0
        }, logoAnimacioSpeed, function() {
            data = jQuery(this).attr("src");
            var m = data.match(/(.*)[\/\\]([^\/\\]+)(\.\w+)$/);
            var fileName = m[2] + m[3];
            jQuery(this).attr("src", m[1] + "/" + fileName.replace(m[3], "_c"+m[3]));
            jQuery(this).animate({
                opacity: 1
            }, logoAnimacioSpeed);
        });


    },function(){

        jQuery(this).animate({
            opacity: 0
        }, logoAnimacioSpeed, function() {
            data = jQuery(this).attr("src");
            var m = data.match(/(.*)[\/\\]([^\/\\]+)(\.\w+)$/);
            var fileName = m[2] + m[3];
            jQuery(this).attr("src", m[1] + "/" + fileName.replace("_c"+m[3], m[3]));
            jQuery(this).animate({
                opacity: 1
            }, logoAnimacioSpeed);
        });

    });


    //jQuery("#content").vAlign();

    jQuery(".errmsg-ok").click(function(){
        jQuery(this).parent().hide();
        jQuery(":input").removeAttr("disabled");
        return false;
    });



    if (jQuery(".errmsg-ok").length!=0) {
        jQuery(":input").attr("disabled", "disabled");
    }

    if(jQuery("#login-errmsg").length!=0){
        jQuery("#login-on").click();        
    }


    //jQuery("input").labelify({ text: "label" });
});


