$(document).ready(function(){
  fixBg();
  
  $(window).resize(function() {
	fixBg();
  });
  
    $('.tabs-viceinfo-link').click(function(){
        $('#tabs-viceinfo').animate({"height": "toggle", "opacity": "toggle"}, "slow");
    });
    

	$('#forgottenPassword.hide').hide();
	$('a.sendPassword').click(function() {
		$('#forgottenPassword').slideDown();
	});
	
	/*** Filter hidemebox ***/
    if ( $(".hidemebox").length ) {
	  
	  $('#filtrDisky .filter-rolldown').click(function(){
		$('.hidemebox').slideToggle('middle', 'swing');
	  });
	  
	  $('#thirdlvl .filter-rolldown').click(function(){
		$('.hidemebox').fadeToggle();
	  });
	
	  
	  if ( $('#thirdlvl').length ) {
		var firlter3 = $('#thirdlvl #filter3').val();
		var firlter8 = $('#thirdlvl #filter8').val();
		var firlter9 = $('#thirdlvl #filter9').val();

		if((firlter3 != 0) || (firlter8 != 0) || (firlter9 != '')){
			$('#thirdlvl .hidemebox').show();
			$('#thirdlvl .filter-rolldown').attr('checked', true);
		}
	  }
	  
	  if ( $('#filtrAlu').length ) {
		var filter1 = $('#filtrAlu #filter1').val();
		var filter4 = $('#filtrAlu #filter4').val();
		var filter6 = $('#filtrAlu #filter6').val();
		var filter7 = $('#filtrAlu #filter7').val();

		if((filter1 != 0) || (filter4 != 0) || (filter6 != 0) || (filter7 != 0)  ){
			$('#filtrAlu.hidemebox').show();
			$('#filtrDisky .filter-rolldown').attr('checked', true);
		}
	  }
	  
	  if ( $('#filtrPlech').length ) {
		var filter1 = $('#filtrPlech #filter1').val();
		var filter4 = $('#filtrPlech #filter4').val();
		var filter7 = $('#filtrPlech #filter7').val();

		if((filter1 != 0) || (filter4 != 0) || (filter7 != 0)  ){
			$('#filtrPlech.hidemebox').show();
			$('#filtrDisky .filter-rolldown').attr('checked', true);
		}
	  }
	}
	/*** Filter hidemebox ***/
        
        
    /**
     *  Filtr rozmery pneu
     */
    if ($("#filter-search").length){
        
        showSelectUpdate = function(){
            $('#filter-search').append("<div id='filter-search-overlay'></div>");
            
            $('#filter-search-overlay')
                .css(
                    'opacity', 0.8
                )
                .width($("#filter").width())
                .height($("#filter").outerHeight())
                .fadeIn('slow');
        }
        hideSelectUpdate = function(){
            $('#filter-search-overlay').fadeOut('slow');
        }

    	// Aktualizuje selektory pruemry dle vybrane sirky
 	profilToPrumerUpdate = function() {
            
                showSelectUpdate();
                setTimeout(hideSelectUpdate, 300);
        
		$('#filter7').attr('disabled', '').removeClass('disabled');
		
		$('#filter7').replaceWith(filter7.clone());
		
		if ($('#filter1 option:selected').val() == 0) {
			return;
		}

        if (mapaRozmeru[$('#filter1 option:selected').text()] != undefined){
    		if (mapaRozmeru[$('#filter1 option:selected').text()][$('#filter4 option:selected').text()] != undefined) {
    			$('#filter7 option').each(function() {
    				if ($(this).val() != 0 && $.inArray($(this).text(), mapaRozmeru[$('#filter1 option:selected').text()][$('#filter4 option:selected').text()]) == -1) {
    					$(this).remove();
    				}
    			});
    		}
        }
	};   

	// Aktualizuje selektory profilu a prumer dle vybrane sirky
	sirkaToProfilUpdate = function() {
            
                showSelectUpdate();
                setTimeout(hideSelectUpdate, 300);
                
		$('#filter4').attr('disabled', '').removeClass('disabled');
		
		$('#filter4').replaceWith(filter4.clone());
		$('#filter7').replaceWith(filter7.clone());
		
		//$('#filter4 option:first').attr('selected', 'selected');
		$('#filter7 option:first').attr('selected', 'selected');

		$('#filter7').attr('disabled', 'disabled').addClass('disabled');

		if (mapaRozmeru[$('#filter1 option:selected').text()] != undefined) {
			$('#filter4 option').each(function() {
				if ($(this).val() != 0 && !mapaRozmeru[$('#filter1 option:selected').text()].hasOwnProperty($(this).text())) {
					$(this).remove();
				}
			});
		}
	};
	
	// Naklonuju si vychozi selekty, pri aktualizaci vzdy cely smazu, nahradim puvodnim a odstranim ty navic
	var filter1 = $('#filter1').clone();
	var filter4 = $('#filter4').clone();
	var filter7 = $('#filter7').clone();
	
	// Na zacatku vypnu vse krome sirky
	$('#filter4').attr('disabled', 'disabled').addClass('disabled');
	$('#filter7').attr('disabled', 'disabled').addClass('disabled');
	
	// Pri vyberu selectoru na dalsi strance je potreba aktualizovat kod, tohle to obstara, detekuje pokud uz je z vygenerovaneho HTML nejaka moznost vybrana
	$('#filter1 option:selected').each(function() {
		sirkaToProfilUpdate();
		$('#filter4 option:selected').each(function() {
			profilToPrumerUpdate();
		});
	});

	// Navesit obsluhu pro zmenu sirky a profilu, je potreba live, protoze element vytvarim a mazu dost casto
	$('#filter1').live('change', sirkaToProfilUpdate);
	$('#filter4').live('change', profilToPrumerUpdate);
	

    }
    
});





var starRating = {
    create: function(selector) {
        $(selector).each(function() {
            var $list = $('<div></div>');
            // loop over every radio button in each container
            $(this)
                .find('input:radio')
                .each(function(i) {
//                     var rating = $(this).parent().text().trim(); //proc tam je ten trim??
                    var rating = $(this).parent().text();
                    var $item = $('<a href="#"></a>')
//                         .attr('title', rating / 2)
                        .addClass(i % 2 == 1 ? 'rating-right' : '')
                        .attr('rel', rating);
                    if (rating != '')
                    {
                        starRating.addHandlers($item);
                    } else {
                        $item.click(function () {return false});
                    }
                    $list.append($item);
                    if ($(this).is(':checked')) {
                        $item.prevAll().andSelf().addClass('rating');
                    }
                });
            // Hide the original radio buttons
            $(this).append($list).find('input:radio').parent().hide();
//             $(this).append($list);
        });
        
    },
    addHandlers: function(item) {
        $(item).click(function(e) {
            // Handle Star click
            var $star = $(this);
            var $allLinks = $(this).parent();
            // Set the radio button value
            $allLinks
                .parent()
                .find('input:radio[value=' + $star.attr('rel') + ']')
                .attr('checked', 'checked');
            // Set the ratings
            $allLinks.children().removeClass('rating');
            $star.prevAll().andSelf().addClass('rating');
            // prevent default link click
            e.preventDefault();
        })
        .hover(function() {
            $(this).prevAll().andSelf().addClass('rating-over');
        },function() {
            $(this).siblings().andSelf().removeClass('rating-over');
        });
    },
    removeHandlers: function(item){
        $(item).find('*').unbind('click').unbind('mouseover');
    }
}

$(function(){
    starRating.create('.stars');
    starRating.removeHandlers('.bezeventu');

    $('form#hodnoceni').submit(function(){
        var iAutor = $(':input[name=commentAuthor]');
        var iText = $(':input[name=commentText]');
        var iKapca = $(':input[name=kapca]');
        var iStars = $("input[name=commentTitle]:checked");
        var success = true;
        var errorMessages = [];

		if( iText.val() == "" ){
            success = false;
            errorMessages.push(iText.attr('rel'));
        }

        if( iAutor.val() == "" ){
            success = false;
            errorMessages.push(iAutor.attr('rel'));
        }

        if( iKapca.val() != "t18342" && iKapca.val() != "T18342" ){
            success = false;
            errorMessages.push(iKapca.attr('rel'));
        }

        if( success == false ){
            alert( errorMessages.join("\n") );
            return false;
        }
        
        if ( iStars.val() == undefined) {
			/** hlaska: opravdu chcete hodnotit nulou ?? **/
				if(confirm('Chcete opravdu ohodnotit pneumatiku známkou 0?')){
					return true;
				} else {
					return false;
				}
		}

    });
});



function nahled(path) {
  window.open(path, '_blank', 'left=400, top=100, width=500, height=350, resizable=1');
}



function winopen(path)
  {
  window.open(path, '_blank', 'left=400, top=100, width=350, height=200, resizable=1, scrollbars=1');
  }

// "javascript bez javascriptu" - otevirani odkazu v novem okne - v html pro odkaz pouzijeme class="popup"

function aktualizujOdkazy() {
  if(!document.getElementsByTagName) return false;
  var links = document.getElementsByTagName("a");
  for (var i=0; i < links.length; i++) {
    if(links[i].className.match("noveokno")) {
      links[i].onclick = function () {
        return !window.open(this.href);
      }
    }
  }
}
window.onload=aktualizujOdkazy;

function selectorSend()
{
  var forms = [".form1", ".form2", ".form3", ".form4"];
  
  var lastform = null;
  for (var i in forms) 
  {
    var opt = $(forms[i] + " :input > option[value!=0]").size();
    
    if (opt > 0)
    {
      lastform = forms[i];
    }
  }
  
  if (lastform) {
    $(lastform).submit();
  }
} 


