var hasRightFlashVersion = DetectFlashVer(9, 0, 0);


$(document).ready(function()
{

    setHoverHpBoxes();
    fixAllPng();
    set_menu();
    setSkryvace();
    setPoptavkovyVyber()
    $(".lightbox_foto").lightBox({fixedNavigation:true});
    setFilterUpdater();
//    setPoptavkovyFormularValidation();

    filterMakeRedirect();
    filterGuideRedirect();
    setMapUi();
    setQuestionMarks();
//     HeaderImageChange();

	setHpBoxNewsScroll();
	setLoginForm();
	setServiceFormMyCars();

    setInterval( "HeaderImageChange()", 5000 );

    targetBlank(["logo_cp", "logo_generali", "logo_allianz", "page_tipcars", "made_by"]);
    setFilterHide();
    $("#vytisknout_stranku").click(function(event){
      window.print();
      event.preventDefault();
    });
});



function setServiceFormMyCars()
{
	var form = $("#poptavkovy_formular");
	var listMyCars = $("select#listMyCars", form);
	var inputVin = $("input[name='vin']", form);
	var selectMake = $("select[name='make']", form);

	form.submit(function()
	{
		return validateForm(this.id);
	});

	validacni_hlasky["first_name"] =  "Musí být vyplněno jméno.";
	validacni_hlasky["last_name"] =  "Musí být vyplněno příjmení.";
	validacni_hlasky["name"] =  "Musí být vyplněno jméno.";
	validacni_hlasky["jmeno"] =  "Musí být vyplněno jméno.";
	validacni_hlasky["prijmeni"] =  "Musí být vyplněno příjmení.";
	validacni_hlasky["email"] =  "Musí být vyplněn správný email.";
	validacni_hlasky["prodejce"] =  "Musíte vybrat některého z prodejců.";


	if (listMyCars.length == 0)
		return;

	var listMyCarsAddNew = $("a#listMyCarsAddNew", form);

	listMyCars.change(function()
	{
		var value = parseInt($(this).val());

		if (value > 0)
		{
			inputVin.val(cars[value].vin);
			$("option[value='"+ cars[value].make +"']").attr("selected", true);
		}
		else
		{
			$("option[value='']").attr("selected", true);
			inputVin.val("");
		}
	});

	listMyCarsAddNew.click(function(e)
	{
		e.preventDefault();

		var action = form.attr("action");

		form.attr("action", action +"?type=add_new_car");
		form.unbind("submit");
		form.submit();
	});


}


function setLoginForm()
{
	var buttonLogin = $("#buttonLogin");

	if (buttonLogin.length == 0)
		return;

	var loginOverlay = $("#loginOverlay");
	var loginForm = $("#loginForm");
	var loginFormForm = $("#loginFormForm", loginForm);
	var copiedButton = $("#copiedButton", loginForm);
	var forgotPasswordSubmit = $("#forgotPasswordSubmit");
	var formLogoutSubmit = $("#formLogoutSubmit");

	buttonLogin.click(function(e)
	{
		e.preventDefault();

		if (loginForm.is(":hidden"))
		{
			var buttonLoginHolder = buttonLogin.parent().parent();

			buttonLoginHolder.clone().appendTo(copiedButton);

			loginOverlay.width($(window).width());
			loginOverlay.height($(window).height());

			loginOverlay.show();
			loginForm.show();
		}

	});

	copiedButton.click(function(e)
	{
		e.preventDefault();

		loginOverlay.hide();
		loginForm.hide();

		copiedButton.html("");
	});

	forgotPasswordSubmit.click(function(e)
	{
		e.preventDefault();

		if (confirm("Vytvoří se vám nové heslo, které se zašle na uvedený e-mail.\nPůvodní heslo již nebude nadále platné.\n\nPřejete si nové heslo vytvořit?"))
		{
			var action = loginFormForm.attr("action");

			loginFormForm.attr("action", action +"?type=forgot_password");
		}
		else
		{
			return;
		}

		loginFormForm.submit();
	});

	formLogoutSubmit.click(function(e)
	{
		e.preventDefault();

		loginFormForm.submit();
	});


}



function setHpBoxNewsScroll()
{
	var hp_box_news = $("#hp_box_news");

	if (hp_box_news.length == 0)
		return;

	var news_row_holder = $("#news_row_holder", hp_box_news);
	var news_row = $("#news_row", hp_box_news);
	var slider = $(".slider", hp_box_news);
	var items = $("div.news_item", news_row);

	var ITEM_WIDTH = items.width();
	var ITEM_VISIBLE = 1;

	var timer;
	var SCROLL_TIME = 5000;

	// nastavíme šírku řady
	news_row.width(ITEM_WIDTH * items.length)

	var startAutoRoll = function()
	{
		timer = setInterval(function()
		{
			var actual_step = slider.slider("value");

			if (actual_step < (items.length -1) )
			{
				slider.slider("value", actual_step +1);
				rollProducts(actual_step +1);
			}
			else
			{
				slider.slider("value", 0);
				rollProducts(0);
			}

		}, SCROLL_TIME);
	}

	var stopAutoScroll = function()
	{
		clearInterval(timer);
	}

	// funkce pro posunutí řady
	var rollProducts = function(step)
	{
		if (typeof step == "undefined")
			step = 0;

		var step_px = step * ITEM_WIDTH;

		news_row_holder.stop(true, false).animate({
			scrollLeft: step_px
		}, 500);
	}

	// nastavíme slider
	slider.slider(
	{
		min: 0,
		max: items.length - ITEM_VISIBLE,
		slide: function(event, ui)
		{
			rollProducts(ui.value);
		}
	});

	// stisknutí levé šipky
	$("#hp_box_news_arrow_left").click(function()
	{
		stopAutoScroll();
//		startAutoRoll();

		var actual_step = slider.slider("value");

		if (actual_step > 0)
		{
			slider.slider("value", actual_step -1);
			rollProducts(actual_step -1);
		}
	});

	// stisknutí pravé šipky
	$("#hp_box_news_arrow_right").click(function()
	{
		stopAutoScroll();
//		startAutoRoll();

		var actual_step = slider.slider("value");

		if (actual_step < (items.length -1) )
		{
			slider.slider("value", actual_step +1);
			rollProducts(actual_step +1);
		}
	});

	news_row_holder.scrollLeft(0);
	startAutoRoll();
}



function setQuestionMarks() {
    var $marks = jQuery('span.question_mark span');

//     $marks.each(function(index, item){
//         var mark = jQuery(item);

//         if (div.hasClass("closed")) {
//             var element = div.children(".skryvaci_nadpis").children(".tlacitko_skryt");
//             skryvacHide(element);
//         }
//     });


    $marks.mouseover(function(event){
        var mark = jQuery(this);
        mark.next('div.msg').slideDown(150);
    });

    $marks.mouseout(function(event){
        var mark = jQuery(this);
        mark.next('div.msg').slideUp(150);
    });

}



function targetBlank(idecka) {
    for (var i = 0; i < idecka.length; i++) {
        var elem = document.getElementById(idecka[i]);

        if (elem != null) {
            elem.onclick = function(e) {
                window.open(this.href, "new_"+ i);
                return preventDefaultAction(e);
            }
        }
    }
}



function preventDefaultAction(e) {
  if (e && e.preventDefault) {
      e.preventDefault;
  } else {
      window.event.returnValue = false;
  }
  return false;
}


function HeaderImageChange()
{
    var $active = jQuery('#hp_pruvodce_img_holder IMG.active');
    if ( $active.length == 0 ) $active = jQuery('#hp_pruvodce_img_holder IMG:last');
    var $next =  $active.next().length ? $active.next() : jQuery('#hp_pruvodce_img_holder IMG:first');

    // var $sibs  = $active.siblings();
    // var rndNum = Math.floor(Math.random() * $sibs.length );
    // var $next  = $( $sibs[ rndNum ] );

    $active.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');

            var num = $next.attr("id");
            num = num.split("_");
            num = num[1];

            var link = $('#hp_pruvodce_spustit');
            link.attr('href', guide_links[num]);
        });
}




function setSkryvace()
{
  $(".skryvac .tlacitko_skryt").click(function(event){
    var element = jQuery(this);
    if (element.hasClass("skryvaci_nadpis_skryt"))
    {
      skryvacHide(element);
    }
    else
    {
      skryvacShow(element);
    }


    if (element.attr('href') == "#") {
        event.preventDefault();
    }
  });

  $(".skryvac_title_a").click(function(event){
    var element = jQuery(this);
    element.parent().children(".tlacitko_skryt").trigger('click');
    event.preventDefault();
  });

  $(".skryvac").each(function(index, item){
      var div = jQuery(item);

      if (div.hasClass("closed")) {
          var element = div.children(".skryvaci_nadpis").children(".tlacitko_skryt");
          skryvacHide(element);
      }
  });

}

function skryvacShow(element) {
    element.parent().parent().children(".skryvaci_text").slideDown(100);
    element.removeClass("skryvaci_nadpis_zobrazit");
    element.addClass("skryvaci_nadpis_skryt");
    element.text("skrýt");
}
function skryvacHide(element) {
    element.parent().parent().children(".skryvaci_text").slideUp(100);
    element.removeClass("skryvaci_nadpis_skryt");
    element.addClass("skryvaci_nadpis_zobrazit");
    element.text("zobrazit");
}



function setPoptavkovyVyber()
{

    var contact_images = $(".poptavkovy_formular_vyber img");

    jQuery.each(contact_images, function(i, elem) {
        var newOption   = document.createElement('option');
        newOption.value = elem.alt;
        newOption.appendChild(document.createTextNode(elem.alt));
        $("#selectProdejce").append(newOption);

    });



  $(".poptavkovy_formular_vyber a").click(function(event){

      $(".poptavkovy_vyber_selected").removeClass("poptavkovy_vyber_selected");

      var element = jQuery(this);
      element.addClass("poptavkovy_vyber_selected");

      var img = $(".poptavkovy_vyber_selected img");
      var prodejce = img.attr("alt");

      var selectProdejce = document.getElementById("selectProdejce");

      setSelectedByValue(selectProdejce, prodejce);

      event.preventDefault();
  });


  $("#selectProdejce").change(function(event){
      $(".poptavkovy_vyber_selected").removeClass("poptavkovy_vyber_selected");

      var selected_name = this.options[this.selectedIndex].value;

      var img = $(".poptavkovy_formular_vyber img[alt='"+selected_name+"']");

      var href = img.parent("a");
      href.addClass("poptavkovy_vyber_selected");

  });


}


// nastaví výběr selectboxu podle hodnoty value
function setSelectedByValue(selectbox, seekValue) {
    if (selectbox == null || typeof selectbox == "undefined")
        return false;

    for (var i=0; i < selectbox.length; i++) {
        if (selectbox[i].value == seekValue) {
            selectbox[i].selected = true;

            return true;
        }
    }

    return false;
}


function setHoverHpBoxes() {

    if (!document.getElementById("hp_boxy"))
        return false;

    var holder = document.getElementById("hp_boxy");
    var div = holder.getElementsByTagName("div");

    for (var i = 0; i < div.length; i++) {

        if (div[i].className == "hp_box") {
            var a = div[i].getElementsByTagName("a")[0];

            if (a.className == "button") {
                a.onmouseover = function() {
                    var div = this.parentNode;
                    div.className = "hp_box hp_box_hover";
                }

                a.onmouseout = function() {
                    var div = this.parentNode;
                    div.className = "hp_box";
                }
            }


        }

    }



}



function setFilterUpdater() {
    if (!document.getElementById("form_filter"))
        return false;

    var div = document.getElementById("form_filter");
    var select = div.getElementsByTagName("select");
    var checkbox = document.getElementById("filter_top_offer");

    for (var i = 0; i < select.length; i++) {

        if (select[i].className == "filter") {
            select[i].onchange = function() {
                var div_buttons = document.getElementById("submit_buttons");
                div_buttons.innerHTML = "<img src='images/car_filter_ajax_loader.gif' alt='Prosím čekejte' />";

                ajaxExecute("form_filter", "inc/ajax.car.filter.php", "type="+ this.name +"&value="+this.options[this.selectedIndex].value, function() {setFilterUpdater();filterMakeRedirect();setFilterHide();});
            }
        }
    }

    checkbox.onclick = function()
    {
		var div_buttons = document.getElementById("submit_buttons");
		div_buttons.innerHTML = "<img src='images/car_filter_ajax_loader.gif' alt='Prosím čekejte' />";

    	ajaxExecute("form_filter", "inc/ajax.car.filter.php", "type="+ this.name +"&value="+(this.checked ? 1 : 0), function() {setFilterUpdater();filterMakeRedirect();setFilterHide();});
	}

}


function ajaxExecute(idecko, script, vars, action) {
    vars = vars || null;

    var httpp = getHTTPObject();

    httpp.onreadystatechange = function() {
      if (httpp.readyState == 4) {

        if (idecko != "") {
            document.getElementById(idecko).innerHTML = httpp.responseText;
        } else {
            return httpp.responseText;
        }

        if (typeof action != "undefined") {
            return action();
        }

      }
    }

    httpp.open('POST', script, true);
    httpp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    httpp.send(vars);


}



// ajax object
function getHTTPObject() {
  var request = false;
    try {
      request = new ActiveXObject('Msxml2.XMLHTTP');
    }
    catch (err2) {
      try {
        request = new ActiveXObject('Microsoft.XMLHTTP');
      }
      catch (err3) {
		    try {
          request = new XMLHttpRequest();
		    }
		    catch (err1) {
          request = false;
		    }
      }
    }
    return request;
}


//function setPoptavkovyFormularValidation()
//{

//   validacni_hlasky["telefon"] =  "Musí být vyplněn telefon.";
//   validacni_hlasky["phone"] =  "Musí být vyplněn telefon.";
//}





function filterMakeRedirect() {
    if (!document.getElementById("filter_make"))
        return false;

    var select = document.getElementById("filter_make");

    select.onchange = function() {
        var httpp = getHTTPObject();

        var div_buttons = document.getElementById("submit_buttons");
        div_buttons.innerHTML = "<img src='images/car_filter_ajax_loader.gif' alt='Prosím čekejte' />";

        httpp.onreadystatechange = function() {
            if (httpp.readyState == 4) {

              window.location.href = httpp.responseText;

            }
        }

        httpp.open('POST', "inc/ajax.car.filter.make.redirect.php", true);
        httpp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        httpp.send("pointer="+this.options[this.selectedIndex].value);

    }

}


function filterGuideRedirect() {
    if (!document.getElementById("filter_guide"))
        return false;

    var select = document.getElementById("filter_guide");

    select.onchange = function() {
        var httpp = getHTTPObject();

        var div_buttons = document.getElementById("submit_buttons");
        div_buttons.innerHTML = "<img src='images/car_filter_ajax_loader.gif' alt='Prosím čekejte' />";

        httpp.onreadystatechange = function() {
            if (httpp.readyState == 4) {

              if (httpp.responseText != "") {
                  window.location.href = httpp.responseText;
              }

            }
        }

        httpp.open('POST', "inc/ajax.car.filter.guide.redirect.php", true);
        httpp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        httpp.send("guide="+this.options[this.selectedIndex].value);

    }

}



function setMapUi()
{
  $('.mapClick').click(function() {
          $(".map_div").html('<iframe src="'+this.href+'" width="638" height="500" style="border: 0px none;" frameborder="0"></iframe>');
          $.blockUI({
		  		message: $('.map_div'),
		  		css: {
	            border: 'none',
	            padding: '10px 0px 0px 10px',
	            backgroundColor: 'black',
	            color: '#fff',
					width: '648px',
					height: '510px',
					top:    '50px'
	        },
	        overlayCSS: {
			  		backgroundColor: '#000000',
					  opacity: 0.8
				}
		  	});

		  	$('.blockOverlay').attr('title','Kliknutím zavřete').click(
			  		function() {
			  				$.unblockUI();
			  				$('.map_div').hide();
					}
			);
			return false;
	});
}

function closeMapUi() {
    $.unblockUI();
    $('.map_div').hide();
}

function setFilterHide()
{
  $(".hide_value_on_click").focus(function(event){
      this.value = "";
    });

  $(".hide_value_on_click").blur(function(event){
    if (this.value == "")
      this.value = "vyhledat text";
  });
}









