/*
 * Praemien-Ansicht nach Punkten
 */
$(document).ready ( function ()
{       
    //Indicator Top:
    function initIndicatorSmall(){
        $("div#praemienlist").prepend('<div id="msg_indicator_small"><center><img src="/img/loadingbar.gif" alt="lade..."/></center></div>');
        $("#msg_indicator_small").hide();
    }
    initIndicatorSmall();        
	$("#msg_indicator_small")
		.ajaxStart(function(){   // Wird ausgefuehrt sobald AJAX startet
			$(this).fadeIn("fast");
		})	
		.ajaxSuccess(function(){  	// Wird ausgefuehrt sobald AJAX fertig ist
			$(this).fadeOut("fast");
		});
        
    //Indicator Bottom:
    function initIndicatorBottom(){
        if ($("div#praemien_footernav").attr("id")){
            $("div#praemien_footernav").prepend('<div id="msg_indicator_bottom"><center><img src="/img/loadingbar.gif" alt="lade..."/></center></div>');
            $("#msg_indicator_bottom").hide();
            
        	$("#msg_indicator_bottom")
        		.ajaxStart(function(){   // Wird ausgefuehrt sobald AJAX startet
        			$(this).fadeIn("fast");
        		})	
        		.ajaxSuccess(function(){  	// Wird ausgefuehrt sobald AJAX fertig ist
        			$(this).fadeOut("fast");
        		});             
        }
    }
    initIndicatorBottom();                   
    
    
    function updatePraemienList(parameter)
    {
		if (!parameter)
		{
			parameter = '';
		}
		$.ajax({ // AJAX Request ausloesen
			type: "GET",
			url: '/inc/boxes/praemien.ajax.php'+parameter,
			dataType: 'html',
			global: 'false',
			success: function(html) { // Funktion um die HTML-Antwort des PHP-Scripts zu verarbeiten						
                
				//Container ausblenden:
                $("div#praemienlist").fadeOut("slow", function(){
                    
                    //Bisherigen Inhalt herausschneiden
                    $("div#praemiencontent").remove();
                    
                    //Neuen Inhalt anfuegen
                    $("div#praemienlist").append(html);
                    
                    //Alles wieder einblenden:
                    $("div#praemienlist").fadeIn("slow");
                    
                    //Eventhandler setzen
                    refreshCartButtons();
                    refreshListButtons();
					refreshMenuLinks();
                    refreshPraemienlinks();  
                    refreshPageLinks();                    
                    initIndicatorBottom();
                    
                    
                });                               
                
				//Rightbox aktualisieren
                if ($("div#praemie_rightimage").attr('id')){
                    $("div#praemie_rightimage").slideUp("slow", function(){
                        $("div#praemie_rightimage").remove();
                    })
                }                                
			}
		});         
    }
    
    function displayProduct(id)
    {
		$.ajax({ // AJAX Request ausloesen
			type: "GET",
			url: '/inc/boxes/praemien.ajax.php?action=displayProduct&productId='+id,
			dataType: 'html',
			global: 'false',
			success: function(html) { // Funktion um die HTML-Antwort des PHP-Scripts zu verarbeiten						
                
				//Container ausblenden:
                $("div#praemienlist").fadeOut("slow", function(){
                    
                    //Bisherigen Inhalt herausschneiden
                    $("div#praemiencontent").remove();
                    
                    //Neuen Inhalt anfuegen
                    $("div#praemienlist").append(html);
                    
                    //Alles wieder einblenden:
                    $("div#praemienlist").fadeIn("slow");
                    
                    //Eventhandler setzen
                    refreshCartButtons();
                    refreshListButtons();
                    refreshPraemienlinks();
                    refreshPageLinks();                    
                });                 
			}
		});         
    }
    
    function displayRightProductImage(id)
    {
		$.ajax({ // AJAX Request ausloesen
			type: "GET",
			url: '/inc/boxes/praemien.ajax.php?action=showRightImage&productId='+id,
			dataType: 'html',
			global: 'false',
			success: function(html) { // Funktion um die HTML-Antwort des PHP-Scripts zu verarbeiten						
                
				                
                if ($("div#praemie_rightimage").attr('id')){
                    $("div#praemie_rightimage").slideUp("slow", function(){
                        
                        $("div#praemie_rightimage").remove();
                        $("div#right_praemienimage").append(html);
                        $("div#praemie_rightimage").hide();
                        $("div#praemie_rightimage").slideDown("slow");
                        tb_init('a.thickbox_ajax');                                               
                    });                  
                }
                else{
                    $("div#right_praemienimage").append(html);
                    $("div#praemie_rightimage").hide();
                    $("div#praemie_rightimage").slideDown("slow");
                    tb_init('a.thickbox_ajax');                     
                }                                                                                    
			}
		});         
    }
    
    function refreshCartButtons()
    {
        $(".productSubmitButton").hover(        
        function(){
            var id = $(this).attr('id').substr(13);
            $("#productSpan"+id).addClass('underline');
        },
        function(){
            var id = $(this).attr('id').substr(13);
            $("#productSpan"+id).removeClass('underline');
        });
    }    
    refreshCartButtons();                
    
    function refreshPraemienlinks(){
        $( function (){
            $(".praemienlink").click(function(){            
                var id = $(this).attr('href');
                displayProduct(id);
                displayRightProductImage(id);
                return false;
            });        
        });                
    }
    refreshPraemienlinks();
    
    function refreshListButtons(){
        $(function(){
            $(".link_praemienlist").click(function(){
                var params = $(this).attr('href');
                updatePraemienList(params);
                return false;
            });
        });
    }
    refreshListButtons();
    
    
    function refreshMenuLinks(){
        $(function(){
            $(".praemien_menulink").click(function(){
                var id = $(this).attr('href');               
                var params = "?action=displaylist&strucId=" +id;
                
                $(".praemien_active").each(function(){
                    $(this).removeClass('praemien_active');
                });
                $("#pr"+id).addClass('praemien_active');                                
                
                updatePraemienList(params);
                return false;
            });
        });        
    }
    refreshMenuLinks();
    
    function refreshRightMenuLinks(){
        $(function(){
            $(".praemien_rightmenulink").click(function(){
                $(".praemien_active").each(function(){
                    $(this).removeClass('praemien_active')
                });
                $(this).addClass('praemien_active');
                var id = $(this).attr('href');               
                var params = "?action=displaylist&strucId=" +id;
                updatePraemienList(params);
                return false;
            });
        });        
    }
    refreshRightMenuLinks();
    
    function refreshPageLinks(){
        $(function(){
            $(".link_praemienpage").click(function(){
                var params = $(this).attr('href');
                updatePraemienList(params);
                return false;
            });
        });
    }
    refreshPageLinks();       
});
