(function($){
 $.fn.extend({
 
 	customStyle : function(options) {
	  if(!$.browser.msie || ($.browser.msie&&$.browser.version>6)){
	  return this.each(function() {
	  
			var currentSelected = $(this).find(':selected');
			$(this).after('<span class="customStyleSelectBox"><span class="customStyleSelectBoxInner">'+currentSelected.text()+'</span></span>');
			var selectBoxSpan = $(this).next();
			$(this).css({position:'absolute', opacity:0,fontSize:selectBoxSpan.css('font-size')});
			var selectBoxWidth = parseInt($(this).width()) - parseInt(selectBoxSpan.css('padding-left')) -parseInt(selectBoxSpan.css('padding-right'));			
			var selectBoxSpanInner = selectBoxSpan.find(':first-child');
			selectBoxSpan.css({display:'inline-block'});
			selectBoxSpanInner.css({width:selectBoxWidth, display:'inline-block'});
			var selectBoxHeight = parseInt(selectBoxSpan.height()) + parseInt(selectBoxSpan.css('padding-top')) + parseInt(selectBoxSpan.css('padding-bottom'));
			$(this).height(selectBoxHeight).change(function(){
				selectBoxSpanInner.parent().addClass('changed');
			});
			
	  });
	  }
	}
 });
})(jQuery);

$(document).ready(function()
{

	$('select#lang-select').customStyle();
	$('select#currency').customStyle();

	 // TABS
    $('.tabs-box').pdTabs({});

	// Init pdBox
	$('.thickbox').pdBox({minWidth: 400});
  	$('.tball').pdBox({minWidth: 940});

  // SHOW BOXS
  $('.show-recommend-form').click(function(){
		$('.recommend-form').slideDown();
	});
	$('.recommend-form .close').click(function(){
		$('.recommend-form').slideUp();
	});


	$('.quick-info').addClass('with-js');
	$('.quick-info .spc').hide();
	$('.quick-info h2').addClass('close');

	$('.quick-info').each(function(){
		var el = $(this);
		$('h2', this).click(function(){
			if ( $(this).hasClass('close') ){
				$('.spc', el).slideDown('slow');
				$(this).removeClass('close');
			}
			else	{
				$('.spc', el).slideUp('slow');
				$(this).addClass('close');
			}
		});
	});

	//obsluha formulare na odesilani faxu: .../web
	$('#faxSend input, #faxSend textarea').blur(function(){
		var el = $(this).parent().parent();
	    var $this = $(this);
	    var value = $this.val();
	    var id = $this.attr('id');
	    var lg = $("#lg").val();
	    $.ajax({
	    			     type: "POST",
	    			     url: '/ajaxValidate/validate',
	    			     data: id+'='+value+'&lg='+lg,

	    			     success: function(xml){
	    			     					$('.ok-message', el).remove();
	    			     					$('.error-message', el).remove();
	                        if (xml) $('.desc', el).after('	<span class="error-message">'+xml+'</span>');
	    			     }
	    });
	});
	
	$('#letterSend input, #letterSend select').blur(function(){
		var el = $(this).parent().parent();
	    var $this = $(this);
	    var value = $this.val();
	    var id = $this.attr('id');
	    var lg = $("#lg").val();
	    $.ajax({
	    			     type: "POST",
	    			     url: '/ajaxValidate/validate',
	    			     data: id+'='+value+'&lg='+lg,

	    			     success: function(xml){
	    			     					$('.ok-message', el).remove();
	    			     					$('.error-message', el).remove();
	                        if (xml) $('.desc', el).after('<span class="error-message">'+xml+'</span>');
	    			     }
	    });
	});
	
	//obsluha formulare na odesilani sms: .../web
	$('#smsSend input, #smsSend textarea').blur(function(){
		var el = $(this).parent().parent();
	    var $this = $(this);
	    var value = $this.val();
	    var id = $this.attr('id');
	    var lg = $("#lg").val();
	    $.ajax({
	    			     type: "POST",
	    			     url: '/ajaxValidate/validate',
	    			     data: id+'='+value+'&lg='+lg,

	    			     success: function(xml){
	    			     					$('.ok-message', el).remove();
	    			     					$('.error-message', el).remove();
	                        if (xml) $('.desc', el).after('<span class="error-message">'+xml+'</span>');
	    			     }
	    });
	});

	//rekalkulace ceny u objednavkoveho formulare
	$('#step1-form input, #step1-form select, #step1-form textarea').change(function(){
		func_post();
	});
	
	
	//rekalkulace ceny u objednavkoveho formulare 2
	$('#step1-form2 input, #step1-form2 select, #step1-form2 textarea').change(function(){
		func_post2("#step1-form2");
	});
	
	$('#step2-form2 input, #step2-form2 select, #step2-form2 textarea').change(function(){
		func_post2("#step2-form2");
	});
	
	
	
	function func_post2(idForm)
	{
		var post = '';
		var lg = $("#lg").val();
		var stepOrder = $("#stepOrder").val();
		
	    $('.text, .checkbox, .radio, select, textarea').each(function(){
		//alert($(this).attr('name'));
	        if(($(this).is('.radio') || $(this).is('.checkbox')) && $(this).attr('checked') == true || $(this).is('.text') || $(this).is('select') || $(this).is('textarea'))
	        {
	            post = post +'&'+ $(this).attr('name') + '=' + $(this).attr('value');
	        }
	    });
	    post = post.substr(1);
	    $.ajax({
		     type: "POST",
		     url: '/ajaxRecalculate2/recalculate2',
		     data: post+'&lg='+lg+'&stepOrder='+stepOrder,

		     success: function(xml){
			//alert(xml);
			$(idForm+' .price-sum .reset').replaceWith(xml);
		     }
	    });
	}
	
	function func_post()
	{
		var post = '';
		var lg = $("#lg").val();
	    $('.text, .checkbox, .radio, select, textarea').each(function(){
		//alert($(this).attr('name'));
	        if(($(this).is('.radio') || $(this).is('.checkbox')) && $(this).attr('checked') == true || $(this).is('.text') || $(this).is('select') || $(this).is('textarea'))
	        {
	            post = post +'&'+ $(this).attr('name') + '=' + $(this).attr('value');
	        }
	    });
	    post = post.substr(1);
	    $.ajax({
		     type: "POST",
		     url: '/ajaxRecalculate/recalculate',
		     data: post+'&lg='+lg,

		     success: function(xml){
			//alert(xml);
			$('#step1-form .price-sum .reset').replaceWith(xml);
		     }
	    });
	}

	//$('.cancelFile').live('click', function(){
	$('.cancelFile').click(function(){
		$.ajax({
			type: "GET",
			url: '/ajaxCancelFile/cancel-file/'+$("#lg").val()+$(this).attr('href'),
			success: function(ul){
				$('#filesUploaded').children('ul').replaceWith(ul);
		     }
		});
		return false;
	});

	// Triger click
	$('.steps .go-next').click(function(){
    $('.go-next-btn').trigger('click');
    return false;
  });
	$('.steps .go-back').click(function(){
    $('.go-back-btn').trigger('click');
    return false;
  });

	function srovnej()
	{
		$('.std-int').each(function(){
				var number = 2;     // pocet prvku srovnavanych na radku
				var el = $('.std-box .border, .std-box', this).css('height','auto');  // srovnavany element
		    var count = 0;
		    var heightE = 0;
		    var length = el.size();
		    while ( count < length) {
		      for( j = count; j < count + number; j++){
				    heightE = el.eq(j).height() > heightE ? el.eq(j).height() : heightE;
				  };
				  for( i = count; i < count + number; i++){
				    el.eq(i).height(heightE);
				  };
				  count += number;
				  heightE = 0;
		    };
			});
	}

	// Add mail
	$('.add-email').each(function(){
		var mail_count=0;
		$('.add-email a').click(function(){
			mail_count=mail_count+1;
			$(this).before('<p><label for="sendemail'+mail_count+'">Další e-mail:</label><span class="int-text"><input type="text" class="text" id="sendemail'+mail_count+'" value="@" name="sendemail[]" /><span class="minus"></span></span></p>');
			$('.add-email p').each(function(){
				var elP = $(this);
				$('.minus', this).click(function(){
					$(elP).remove();
					srovnej();
					func_post();
				});
			});
			srovnej();
			//volani ajaxu
			func_post();
			return false;
		});
	});
	$('.add-email-post').each(function(){
		var mail_count=0;
		$('.add-email-post a').click(function(){
			mail_count=mail_count+1;
			$(this).before('<p><label for="sendpost'+mail_count+'">Další e-mail:</label><span class="int-text"><input type="text" class="text" id="sendpost'+mail_count+'" value="@" name="sendpost[]" /><span class="minus"></span></span></p>');
			$('.add-email-post p').each(function(){
				var elP = $(this);
				$('.minus', this).click(function(){
					$(elP).remove();
					srovnej();
					func_post();
				});
			});
			srovnej();
			//volani ajaxu
			func_post();
			return false;
		});
	});


	// Valid Url
	var strHref = window.location.hash.slice(1)
	if (strHref == 'recommend-form' ) $('.recommend-form').show();

	/* LAVALAMP */
  $('.slider ul.reset').lavalamp({
      startEl : '.active',
      efectSpeed : 300,
      fadeSpeed : 300,
      helpEl : '<div class="spc"></div>'
  });

	$('.slider ul.reset').each(function(){
		var ele = $(this);
		$('li label', this).click(function(){
			var ind = $('li label', ele).index($(this));
			$('input', this).click();
			$('.inds').hide();
			$('.ind'+ind+'').show();
			func_post();
		},function(){});
	});

	$('.slider .border').addClass('js');

	// Mám zájem o zvýhodněné předplatné tarifu
	$('#prepaid').click(function(){
		if ($('#prepaid').is(':checked')){
		 	$('.czVersion .label-float .col-h-l label[for="senumber"] .r').text('Zdarma');
		 	$('.skVersion .label-float .col-h-l label[for="senumber"] .r').text('Zadarmo');
		}
		else {
			$('.label-float .czVersion .col-h-l label[for="senumber"] .r').text('1000 Kč / jednorázově');
			//$('.label-float .czVersion .col-h-l label[for="sescanner"] .r').text('400 Kč bez DPH');
			$('.label-float .skVersion .col-h-l label[for="senumber"] .r').text('30 € / jednorázovo');
			//$('.label-float .skVersion .col-h-l label[for="sescanner"] .r').hide();
		}
	});

	// Img hover
	//$('.order-no-risk').hover(function(){
	//	$('.next', this).stop().animate({opacity: 1}, 400);
	//},function(){
	//	$('.next', this).stop().animate({opacity: 0}, 400);
	//});
	
	
	
	$('.jsHide').hide();
	
	$('#currency').change(function(){	
		 $("#currencyF").submit();
	});

	$('#lang-select').change(function(){	
		 var $url = $('#lang-select option:selected').attr('value');
		 window.location.replace($url);
	});
	
	
	// size sort
	$('.detailForm').each(function() {
		var $this = $(this),
			$brand = $('#state', $this),
			$type =  $('#city', $this);
			
		var copy = {
			$type: $type.clone()
		};
		
		var control = function(first){
			var c = $brand.find('option:selected').attr('class');
			$type.html(copy.$type.find('optgroup.'+c).html());	
			if(!first){ $type.focus();}
		}
		
		$brand.each(function(){
			control(true);	
		}).bind('change', function(e){
			control(false);
		});
	
	});
	
});







