$(document).ready(function() {
  
  /****************************************************************************/
  /* Vstupni vyhledavaci pole
  /****************************************************************************/
    
  $('input[name=q]').focus(function() {
    this.value = this.value == this.defaultValue ? '' : this.value;
  });

  $('input[name=q]').blur(function() {
    this.value = this.value == '' ? $(this).attr('title')+'...' : this.value;
  });
  
  
  /****************************************************************************/
  /* Zeleny prihlasovaci formular a košík 
  /****************************************************************************/                
  $('#pri').live('click',function(){
      $("#kos").hide();
      if($('#log').is(":hidden")){ 
        $('#log').show();
        $('input[name=uzivat]').focus();
      } else {
        $('#log').hide();
      }
      return false;
  });   
      
  $('#uka, #close-cart').live('click',function(){
      $("#log").hide();
      if($('#kos').is(":hidden")){ 
        $('#kos').show();
      } else {
        $('#kos').hide();
      }
      return false;
  });
          

  /****************************************************************************/
  /* ZALOZKY
  /****************************************************************************/
  
	//When page loads...
	$(".tab_content").hide(); 
  
  if($('#activeTab').val()!=''){     
  	$("ul.tabs li.active").show(); 
  	$(".tab_content.active").show();
  } else {
  	$("ul.tabs li:first").addClass("active").show(); 
  	$(".tab_content:first").show(); 
  }

	//On Click Event
	$("ul.tabs li").click(function() {

		$("ul.tabs li").removeClass("active"); //Remove any "active" class
		$(this).addClass("active"); //Add "active" class to selected tab
		$(".tab_content").hide();   //Hide all tab content

		var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
    activeTab = activeTab.substring(strrpos(activeTab,'/')+1);
		//$(activeTab).fadeIn(); //Fade in the active ID content - else ... '->
    $(activeTab).show();
    $('#activeTab').val(activeTab);
		return false;
	});
  
  
  /****************************************************************************/
  /* udela kulate rohy u tagu, ktere maji nastavenu tridu corner (barvy)
  /****************************************************************************/
  //$("li.corner").corner("keep");
  //$("li.corner2").corner("5px");
      
      
  /****************************************************************************/
  /* Pri editaci postovneho nastavi hodnoty comba a cen postovneho na ''
  /****************************************************************************/
  $('.smaz_postovne').live('click',function(){
    $(this).parent().parent().find('input').val('');
    $(this).parent().parent().find('select').val('');
    hodnota = $(this).parent().find('input').attr('name');
    if(hodnota.indexOf('[]',0)==-1){ // nova polozka postovneho
      $(this).parent().parent().hide();
    } else {
      $(this).attr('checked','');
    }
  });
      
  /****************************************************************************/
  /* na karte produktu zabezpecuje prehazovani obrazku
  /****************************************************************************/
  $('#zmenseniny a').click(function(){
      var zdroj = $(this).find('img').attr('src'); 
      var odkaz = $(this).attr('href');
      $('#velke-foto-odkaz').attr('rel',$(this).attr('rel'));
      $('#velke-foto-odkaz').attr('href',odkaz.replace('s.jpg','v.jpg'));
      $('#velke-foto-obrazek').removeAttr('height');
      $('#velke-foto-obrazek').attr('src',odkaz.replace('m.jpg','v.jpg'));
      $('#velke-foto-obrazek').attr('alt',$(this).find('img').attr('alt'));
      $('#velke-foto-obrazek, #velke-foto-odkaz').attr('title',$(this).attr('title'));
      return false;
  });
  
  
  /****************************************************************************/
  /* Prepocita pocet kusu v kosiku a informaci doda do zeleneho bloku Cart
  /****************************************************************************/
  function basket_reload(){    
    $.ajax({
      async: true,
      url: 'exec/basket-reload.php?pcp=1',
      success: function(data) {
        $('#pcp').html(data);
      }
    });
        
    $.ajax({
      async: true,
      url: 'exec/basket-reload.php',
      success: function(data) {
        $('#kos').html(data);
      }
    });
  }    
  
  /****************************************************************************/
  /* prida zbozi do nakupniho kosiku a vrati hlasku OK nebo KO (pomoci fancybox)
  /****************************************************************************/
  $(".dok").click( function(){
      $.getJSON( $(this).attr('href') + '&ajax=1', function(data) {
        $("#pcp").html(data.pocet);
                      
        $.fancybox(data.report, {
        		'autoDimensions'	: false,
      			'width'           : 350,
      			'height'        	: 'auto',
            'padding'         : 0,
            'showCloseButton' : false
        });
        
        basket_reload();
        
      });
      return false;
  });

  
  
  /****************************************************************************/
  /* Navysi pocitadlo objednanych kusu
  /****************************************************************************/
  $("table.nastaveni-poctu .up").click(function(){ 
    id_zbozi = parseURL($(this).attr('href')).params.id;
    $("#pocet_ks-"+id_zbozi).val( parseInt($("#pocet_ks-"+id_zbozi).val())+1 );
    $(this).parent().prev().find('input').change();
    return false;
	});
  
  
  /****************************************************************************/
  /* Snizi pocitadlo objednanych kusu
  /****************************************************************************/
  $("table.nastaveni-poctu .dw").click(function(){
    id_zbozi = parseURL($(this).attr('href')).params.id;
    $("#pocet_ks-"+id_zbozi).val( parseInt($("#pocet_ks-"+id_zbozi).val())-1 );
    $(this).parent().parent().prev().find('input').change();
    return false;
	});
  
  
  /****************************************************************************/
  /* Smaze zbozi z kosiku
  /****************************************************************************/
  $("a.smazat-z-kosiku").click(function(){
    id_zbozi = parseURL($(this).attr('href')).params.id;
    $("#pocet_ks-"+id_zbozi).val(0);
    $(this).parent().parent().parent().children().find('input').change();
    return false;
  });
  
  
  /****************************************************************************/
  /* Zmeni pocitadlo objednanych kusu
  /****************************************************************************/
  $('.pocet_ks').change(function() {
    //alert('zmena');
    id_zbozi = $(this).attr('id').substr(9);
    pocetKS  = parseInt($(this).val());
    
    var dw = $(".dw[href*='id=" + id_zbozi + "']");
    var up = $(".up[href*='id=" + id_zbozi + "']");
    
    minimum = parseInt(dw.attr('rel'));
    maximum = parseInt(up.attr('rel'));
    
    // upravime odkaz nahoru a dolu
    up.attr('href', up.attr('href').replace( /value=\d/, 'value='+(pocetKS+1).toString() ) );
    dw.attr('href', dw.attr('href').replace( /value=\d/, 'value='+(pocetKS-1>0?(pocetKS-1):0).toString() ));
    
    if(pocetKS <= 0){
      
      // ajaxove volani vraci bud ID zbozi (smazano z DB) nebo 'false' (nesmazano) 
      $.get( dw.attr('href').replace( /value=\d/, 'value=0' ), { ajax: 1 },
        function(data){ 
         if(data != 'false' && parseInt(data)>0 ){ 
           
           // smazani radku
           $("tr.product-" + data).fadeOut('slow', function(){ $(this).remove(); });
           
           // prepocet ceny 
           prepocet_ceny( $($("tr.product-" + data).parent()).attr('class') , data );
           
         } else {
            // nastala nejaka chyba
            $.fancybox('<div id="pridano" class="failed" onclick="$.fancybox.close();">'+
                       'We are sorry, something is wrong!'+
                       '<div class="button">OK</div>'+
                       '</div>', {
                		'autoDimensions'	: false,
              			'width'           : 350,
              			'height'        	: 'auto',
                    'padding'         : 0,
                    'showCloseButton' : false
            }); 
         }
      }); 
    
    } else if( pocetKS > minimum ){
      
      if( pocetKS <= maximum ){
        // ajaxove volani vraci bud 1 (zmeneno v DB) nebo 0 (nezmeneno) 
        $.get("exec/order-change.php", { id: id_zbozi, value: pocetKS, ajax: 1 }, 
                function(data){ 
                  prepocet_ceny( $($("tr.product-" + id_zbozi).parent()).attr('class'), 0); 
                }
             );
      } else {
        $("#pocet_ks-"+id_zbozi).val( maximum );
        $.fancybox('<div id="pridano" class="failed" onclick="$.fancybox.close();">'+
                     'We are sorry, but you can order most '+maximum+' pieces of this item!'+
                   '</div>', {
            		'autoDimensions'	: false,
          			'width'           : 350,
          			'height'        	: 'auto',
                'padding'         : 0,
                'showCloseButton' : false
        });  
      }
                
    } else {
      $("#pocet_ks-"+id_zbozi).val( minimum );
      $.fancybox('<div id="pridano" class="failed" onclick="$.fancybox.close();">'+
                 'We are sorry, you have to order minimum '+minimum+' pcs of this item!<br />'+
                 '<div class="button">OK</div>'+
                 '</div>', {
          		'autoDimensions'	: false,
        			'width'           : 350,
        			'height'        	: 'auto',
              'padding'         : 0,
              'showCloseButton' : false
      });  
    }
    
    return false;
  });
  
  
  /****************************************************************************/
  /* Funkce prepocita cenu objednavky pro jednoho konkretniho prodejce
  /****************************************************************************/
  function prepocet_ceny(prodejce, id_zbozi ){ 
    var cena_celkem = 0;
    // najde vsechny inputy, do kterych se zadava pozadovany pocet kusu, najde  
    // cenu produktu a tyto dve hodnoty pronasobi 
    $("tbody." + prodejce + " .pocet_ks").each(function(index) {
      id = $(this).attr('id').substr(9);
      if( parseInt(id) != parseInt(id_zbozi) ){
        cena_celkem += parseFloat($("#cena-produktu-"+id+" span").html()) * parseInt($("#pocet_ks-"+id).val());
      }
    }); 
    basket_reload();
    
    // nen-li v kosiku dalsi zbozi od tohoto vyrobce, smazu jeho jmeno a cenu objednavky od nej
    if(cena_celkem*1 == 0){
      $("thead." + prodejce).fadeOut('slow', function(){ $(this).remove(); });
      $("tbody." + prodejce).fadeOut('slow', function(){ $(this).remove(); });
       
      // je-li kosik prazdny, obnovime stranku
      empty = true;
      $(".pocet_ks").each(function(index) {
        if( parseInt($(this).attr('id').substr(9)) != parseInt(id_zbozi) ) empty = false;
      });
      if(empty){ 
        $(".nakupni-kosik").html('<tr><td>The cart is empty.</td></tr>');
        window.location.reload(location.href); 
      }
      
    } else {
      // po upravach vysledku jej doplni do celkoveho souctu ceny od jednoho prodejce 
      $("tbody." + prodejce + " big.celkem-u-prodejce span").html( round(cena_celkem) );
    }
  }
  
  /****************************************************************************/
  /* Funkce vybere radiobox nove nebo ulozene postovne
  /****************************************************************************/
  $("#shipTo").change(function() { 
    if($(this).val()>0){ 
      $("#shipTo2").attr('checked','');
      $("#shipTo1").attr('checked','checked');
    }
  });
  $("input[type=text].atx, td.vzcs select").focus(function() { 
    $("#shipTo1").attr('checked','');
    $("#shipTo2").attr('checked','checked');
  });
  
  /****************************************************************************/
  /* Otevira iframe s obchodnimi podminkami
  /****************************************************************************/
  $(".iframe").fancybox({
		'width'				  : '70%',
		'height'			  : '75%',
    'autoScale'     :  false,
    'transitionIn'  : 'none',
		'transitionOut' : 'none',
		'type'				  : 'iframe'
	});

  
});

/* Finds position of last occurrence of a string within another string */  
function strrpos (haystack, needle, offset) { var i = -1; if (offset) { i = (haystack+'').slice(offset).lastIndexOf(needle);  if (i !== -1) { i += offset; } } else { i = (haystack+'').lastIndexOf(needle); } return i >= 0 ? i : false; }

/* JS alternative function for strpad in PHP */
function strpad(str, pad, len, dir) { while (str.length < len) {if (dir == 'left') str = pad + str; else if (dir == 'right') str = str + pad;}return str; }
   
/* This function creates a new anchor element and uses location properties (inherent) to get the desired URL data. Some String operations are used (to normalize results across browsers).*/
 
function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':',''), host: a.hostname, port: a.port, query: a.search, params: (function(){ var ret = {}, seg = a.search.replace(/^\?/,'').split('&'), len = seg.length, i = 0, s; for (;i<len;i++) { if (!seg[i]) { continue; } s = seg[i].split('='); ret[s[0]] = s[1]; } return ret; })(), file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1], hash: a.hash.replace('#',''), path: a.pathname.replace(/^([^\/])/,'/$1'), relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [,''])[1], segments: a.pathname.replace(/^\//,'').split('/')}; }

/* rounds number to X decimal places, defaults to 2 */
function round(number,X) { X = (!X ? 2 : X); return Math.round(number*Math.pow(10,X))/Math.pow(10,X); }

/* Dimension plugin */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('1.a.1g=1.a.f;1.a.Y=1.a.t;1.a.f=e(){6(2[0]==g)9 r.T||1.p&&7.z.1b||7.d.1b;6(2[0]==7)9 14.11(7.d.1n,7.d.G);9 2.1g(W[0])};1.a.t=e(){6(2[0]==g)9 r.V||1.p&&7.z.U||7.d.U;6(2[0]==7)9 14.11(7.d.1j,7.d.D);9 2.Y(W[0])};1.a.T=e(){9 2[0]==g||2[0]==7?2.f():2.3(\'o\')!=\'B\'?2[0].G-(4(2.3("k"))||0)-(4(2.3("1d"))||0):2.f()+(4(2.3("N"))||0)+(4(2.3("1c"))||0)};1.a.V=e(){9 2[0]==g||2[0]==7?2.t():2.3(\'o\')!=\'B\'?2[0].D-(4(2.3("i"))||0)-(4(2.3("18"))||0):2.f()+(4(2.3("J"))||0)+(4(2.3("16"))||0)};1.a.1s=e(){9 2[0]==g||2[0]==7?2.f():2.3(\'o\')!=\'B\'?2[0].G:2.f()+(4(2.3("k"))||0)+(4(2.3("1d"))||0)+(4(2.3("N"))||0)+(4(2.3("1c"))||0)};1.a.1r=e(){9 2[0]==g||2[0]==7?2.t():2.3(\'o\')!=\'B\'?2[0].D:2.f()+(4(2.3("i"))||0)+(4(2.3("18"))||0)+(4(2.3("J"))||0)+(4(2.3("16"))||0)};1.a.h=e(){6(2[0]==g||2[0]==7)9 r.1p||1.p&&7.z.h||7.d.h;9 2[0].h};1.a.j=e(){6(2[0]==g||2[0]==7)9 r.1l||1.p&&7.z.j||7.d.j;9 2[0].j};1.a.1k=e(c,F){u x=0,y=0,8=2[0],5=2[0],s=E,C=E,n,l=0,m=0,c=1.S({R:q,P:q,1h:E,A:q},c||{});1f{x+=5.1x||0;y+=5.1w||0;6(1.b.v||1.b.M){u L=4(1.3(5,\'k\'))||0;u K=4(1.3(5,\'i\'))||0;x+=K;y+=L;6(1.b.v&&5!=8&&1.3(5,\'1a\')!=\'19\'){x+=K;y+=L}6(1.3(5,\'w\')==\'1e\')s=q;6(1.3(5,\'w\')==\'1v\')C=q}6(c.A){n=5.17;1f{l+=5.h||0;m+=5.j||0;5=5.1u;6(1.b.v&&5!=8&&5!=n&&1.3(5,\'1a\')!=\'19\'){x+=4(1.3(5,\'i\'))||0;y+=4(1.3(5,\'k\'))||0}}15(n&&5!=n)}Q 5=5.17;6(5&&(5.13.12()==\'d\'||5.13.12()==\'1q\')){6((1.b.H||(1.b.M&&1.p))&&1.3(8,\'w\')!=\'1e\'){x+=4(1.3(5,\'10\'))||0;y+=4(1.3(5,\'Z\'))||0}6((1.b.v&&!s)||(1.b.M&&1.3(8,\'w\')==\'1o\'&&(!C||!s))){x+=4(1.3(5,\'i\'))||0;y+=4(1.3(5,\'k\'))||0}1m}}15(5);6(!c.R){x-=4(1.3(8,\'10\'))||0;y-=4(1.3(8,\'Z\'))||0}6(c.P&&(1.b.H||1.b.O)){x+=4(1.3(8,\'i\'))||0;y+=4(1.3(8,\'k\'))||0}Q 6(!c.P&&!(1.b.H||1.b.O)){x-=4(1.3(8,\'i\'))||0;y-=4(1.3(8,\'k\'))||0}6(c.1h){x+=4(1.3(8,\'J\'))||0;y+=4(1.3(8,\'N\'))||0}6(c.A&&1.b.O&&1.3(8,\'o\')==\'1t\'){l-=8.h||0;m-=8.j||0}u I=c.A?{X:y-m,1i:x-l,j:m,h:l}:{X:y,1i:x};6(F){1.S(F,I);9 2}Q{9 I}};',62,96,'|jQuery|this|css|parseInt|parent|if|document|elem|return|fn|browser|options|body|function|height|window|scrollLeft|borderLeftWidth|scrollTop|borderTopWidth|sl|st|op|display|boxModel|true|self|absparent|width|var|mozilla|position|||documentElement|scroll|none|relparent|offsetWidth|false|returnObject|offsetHeight|safari|returnValue|paddingLeft|bl|bt|msie|paddingTop|opera|border|else|margin|extend|innerHeight|clientWidth|innerWidth|arguments|top|_width|marginTop|marginLeft|max|toLowerCase|tagName|Math|while|paddingRight|offsetParent|borderRightWidth|visible|overflow|clientHeight|paddingBottom|borderBottomWidth|absolute|do|_height|padding|left|scrollWidth|offset|pageYOffset|break|scrollHeight|static|pageXOffset|html|outerWidth|outerHeight|inline|parentNode|relative|offsetTop|offsetLeft'.split('|'),0,{}))
