/**
 *
 *
 * Luxburg Redesign Javascript file
 *
 * @author Nicolas Traeder codebility.com
 *
 *
 */

lxAjax = {
    
    loadPage : function(id,target) {
        
        var url = '/index.php?id='+id;
        var loadingDiv = '<div id="loading">Loading...</div>';
        
        $.ajax({
            'type' : 'get',
            'asnyc' : true,
            'url' : url,
            'beforeSend' : function(xmlRe) {
                //$('body').append(loadingDiv);
            },
            'complete' : function(xmlRe,status) {
                //$('#loading').remove()                 
            },
            'success' : function(data,code,xmlRe) {
                $(target).append(data);
            },
            'error' : function(xmlRe,type,expObj) {}
            });
        
    }
    
}

function loadPage(id) {
    
    var loadedId = $('#viewport').data('loadedId');
    
    if(loadedId != null && loadedId != id) {
        $('div.ajax-content').remove();
        $('#viewport').data('loadedId', id);
        lxAjax.loadPage(id,'#viewport');
    } else if (loadedId == null) {
        $('#viewport').data('loadedId', id);
        lxAjax.loadPage(id,'#viewport');        
    }
    
    
}


function appendScrollbar() {
    
    $(document).ready(function(){
        
        if ($('.slider').length > 0) {            
            $('.slider-wrapper').remove();
        }
        
        var textHeight =  new Number($(".ajax-inner-content").height())+20;
        var containerHeight = new Number(219);//$("#hn-info-box").height();
        var maxHeight = new Number(230);//new Number($("#hn-info-box").css('maxHeight').replace(/px/,''));
    
        if (textHeight > maxHeight) {
            
            var sliderHtml = '<div class="slider-wrapper">'
		    + '<div id="slider" class="slider"></div>'
                    + '</div>';
                    
            $("div.ajax-content").append(sliderHtml);
            
            $('.scroll-arrow-up').show();
            $('.scroll-arrow-down').show();
        
            var text = $("div.ajax-inner-content");
            var max = textHeight-maxHeight;
       
            var sliderJqObj = $('.slider').slider({
                     'orientation' : 'vertical',
                     'value' : max,
                     'max' : max,
                     'slide' : function(event,ui) {
                       var textOffset = $('.slider').slider('option','max')-ui.value;
                       text.css('top','-'+textOffset+'px');            
                     },
                     'change' : function(event,ui) {
                       var textOffset = $('.slider').slider('option','max')-ui.value;                  
                       text.css('top','-'+textOffset+'px');            
                     }
                     });
             
            
            var sliderHeight = (250 / (textHeight / containerHeight));        
            $(".ui-slider-handle").css('height' , sliderHeight+'px');
           
            var sliderVerticalHeight = containerHeight - sliderHeight;
            $('.ui-slider-vertical').css({'top':sliderHeight+'px','height':sliderVerticalHeight+'px'});
                      
             
            //sliderJqObj.data('sliderOffset',{'sliderHandlerHeight' : sliderHeight, 'sliderHeight' : sliderVerticalHeight, 'textHeight' : textHeight, 'maxHeight' : maxHeight, 'sliderMax' : max});            
            //sliderDebug();
         
            $('.ajax-content').bind('mousewheel',function(event,delta){
                var value = sliderJqObj.slider('value')+(delta*20);            
                sliderJqObj.slider('value',value);                
             });
         
         
             var scrollInterval = undefined;
         
      
        } else {
            $("div.ajax-inner-content").css('top' ,'0px');
        }       
    
    });     
    
 }
 
 
 function startQuiz() {
	
	
	
    
    $(document).ready(function(){
		
        var top = ($(window).height() / 2) - (250/2);
        var left = ($(window).width() / 2) - (600/2);
        
        $('#disg-quiz').css({'left' :left, 'top': top});
        
        $('#closequiz').position({my : "left top", 'at': "left top", of : '#disg-quiz', offset : "-20 60" });
                    
        var questions = $("#questions").tabs();
        
        function onePerRowSelected() {
			
			var wSelected  = false;
			var eSelected  = false;
			
			$('table.question:visible').find('input').each(function(){
		
				if(this.checked == true) {
					if((/w/).test(this.name)) {
						wSelected = true;
					} else {
						eSelected = true;
					}
				}
			
			});
			
			if(eSelected && wSelected) { 
				return true;
			} else {
				return false;
			}
			
		}	
		
		function alertMessage(msg) {
			$('table.question:visible').find('td:first').css("color","red").html(msg);
		}
        
        $('#closequiz').click(function(){
			$('#disg-quiz').remove();
			$('#overlay').remove();
			$('#viewport').data('loadedId', 0); 
		});
        
		$('.next').click(function(){
				
			if(onePerRowSelected()) {
			
				var currentTab = new Number(questions.tabs('option','selected'));
				questions.tabs('select',currentTab+1);
				questions.tabs('disable',currentTab);
			} else {
				alertMessage("Sie müssen ein \"j\" und \"n\" verteilen");
            }
            
        });
        
        
        
        $('input[type="radio"]').change(function(){
			
			var pressedInput = $(this);
			
			var selected = 0;
			
			$(this).parents('tr').find('input').each(function(){
					
					if(this.checked) 
						selected++;
						
					if(selected == 2) {
						alertMessage("In einer Zeile darf nur ein j <strong>oder</strong> n sein");
						pressedInput.attr('checked',false);
					}
				
			});
						
		});
        
        questions.bind("tabsselect",function(event,ui){
				
				var currentTab = new Number(questions.tabs('option','selected'));							
				
				var diff = new Number(ui.index) - currentTab;
				
				return true;
				
				if (diff != 1) {
					return false;
				}
				
				if(onePerRowSelected()) {
					return true;
				} else {					
					alertMessage("Sie müssen ein \"j\" und \"n\" verteilen");
					return false;
				}
				
				
		});
        
         //$('.back').click(function(){
           // questions.tabs('select',new Number(questions.tabs('option','selected'))-1); 
        //});
        
        $('#start').click(function(){
            $('#questions').show();
            $('#quiz-info').hide();              
        });
                
        
        $('#lastnext').click(function(){ 
			
			if(onePerRowSelected()) {   
				$('#person-info').show();
				
				$('div#submit').click(function(){
					
					
					var validationSuccess = $("form#disgquiz").validationEngine({returnIsValid:true});

					if(validationSuccess == true) {					
						$('form#disgquiz').trigger('submit');
					} else {
						setTimeout(function(){$.validationEngine.closePrompt(".formError",true);},3000);
					}
				});
				
				$('#questions').hide();  
			} else {
				alertMessage("Sie müssen ein \"j\" und \"n\" verteilen");
            } 
                 
        });
        
        

    }); //close document ready
    
 }

