$(document).ready(function() {
  // sbali kosik, vyber defauktnich prvku
  if(document.getElementById('formOrder')){
    //toggleDisplay('bez_registrace',true);
    toggleDisplay('kont_ico',false);
    toggleDisplay('doru',false);
    toggleDisplay('fakt',false);
    toggleDisplay('fakt_ico',false);
    toggleDisplay('registrace',false);
  }	  


  // nahledy fotek
  $("a.lightbox").fancybox({
    'zoomSpeedIn': 300,
    'zoomSpeedOut': 300,
    'overlayShow': false
  });
  
	var url = window.location.href;
	var splitted = url.split('#');

	if(splitted[1] && splitted[1].substr(0,5)=='smenu') show(splitted[1]);
  
	var oneplaylinks = document.getElementById( 'oneplaylinks' );  
	if(oneplaylinks) showone('oneplay1');
	
  var druh_dopravy = document.getElementsByName('druh_dopravy');
  if(druh_dopravy.length>0){  
    for(x=0;x<druh_dopravy.length;x++){
      if(druh_dopravy[x].checked==true){
        startDoprava(druh_dopravy[x].value);                      
      }
    }
  }  
  
  var druh_platby = document.getElementsByName('druh_platby');
  if(druh_platby.length>0){  
    for(x=0;x<druh_platby.length;x++){
      if(druh_platby[x].checked==true){
        startPlatba(druh_platby[x].value);                              
      }
    }
  } 	
	
});

function DetailChangeCountPrice(currency){		
	DetailKs = document.getElementById('DetailKs');
	DetailTotalPrice = document.getElementById('DetailTotalPrice');
	DetailPrice = document.getElementById('DetailPrice');	
	if(DetailKs && DetailTotalPrice && DetailPrice){		
		DetailKs.value = (isNaN(parseInt(DetailKs.value)) ? '' : parseInt(DetailKs.value));			
		DetailTotalPrice.innerHTML = parseInt(DetailKs.value*parseInt(DetailPrice.innerHTML,10),10)+currency;
	}
	return false;
}

function checkStep(activeElement){
  var parentBox = getElementsByClass('steps',document,'ul');    
  for(x=0;x<parentBox.length;x++){
    var insideLi = parentBox[x].getElementsByTagName('li');
    for(y=0;y<insideLi.length;y++){            
      insideLi[y].className = '';                        
      if(activeElement.title==insideLi[y].title) insideLi[y].className='active';
    }
  }
}

function show(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=20; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}


function next(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=20; i++) {
		if (document.getElementById('bxfull'+i)) {document.getElementById('bxfull'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}

function showone(id) {  
  var p = document.getElementById( 'oneplaylinks' );
  var c = 1;
  
  for( var i = 0; i < p.childNodes.length; i++ ) {
    if ( p.childNodes[i].tagName == 'LI' ) {
      p.childNodes[i].className = '';      
      document.getElementById( 'oneplay' + c ).style.display = 'none';      	
	  
      if ( id == 'oneplay' + c ) {
        p.childNodes[i].className = 'active';
        document.getElementById( 'oneplay' + c ).style.display = 'block';
      }
      
      c ++;
    }
  }
}

function descriptionCategory(){
  var descriptionStyle = document.getElementById("descriptionCategory").style.display;    
  if(descriptionStyle=='none'){
      document.getElementById("descriptionCategory").style.display='';
      document.getElementById("descriptionCategorySmall").style.display='none';
  }else{
      document.getElementById("descriptionCategory").style.display='none';
      document.getElementById("descriptionCategorySmall").style.display='';
  }          
  return false;
}
/* eshop navigace */
function navigator1() {
  location.href=(document.getElementById("navigator1").options[document.getElementById("navigator1").selectedIndex].value);
}
function navigator2() {
  location.href=(document.getElementById("navigator2").options[document.getElementById("navigator2").selectedIndex].value);
}
function navigator3() {
  location.href=(document.getElementById("navigator3").options[document.getElementById("navigator3").selectedIndex].value);
}
function redirect(e){
  location.href=e;
}
/* end eshop navigace */
/* kontrola celeho formulare s kosikem, dopravou a registraci */
function SetDelivery(i){
  // existuje polozka
  for (j in delivery[i])
  {
    x=delivery[i][j];   
    payment=document.getElementById("payment"+j);
    // existuje-li polozka (nemusi se objevit vzhledem k cene nektere moznosti mohou trvale vypadnout)
    if(payment){
      if(x==1){
        document.getElementById("payment"+j).disabled=false;
      }
      else{
       document.getElementById("payment"+j).disabled=true;
      }
    }
  }   
}
function SetPayment(i){
  //funkce vypnuta
  return;
  // existuje polozka
  for (j in delivery[i])
  {
    x=delivery[i][j];   
    payment=document.getElementById("delivery"+j);
    // existuje-li polozka (nemusi se objevit vzhledem k cene nektere moznosti mohou trvale vypadnout)
    if(payment){
      if(x==1){
        document.getElementById("delivery"+j).disabled=false;
      }
      else{
       document.getElementById("delivery"+j).disabled=true;
      }
    }
  } 
}
function kosikCheck()
{
    if(!kontrolaDopravy()) // je vybrana doprava ?
        return false;
    else if(!kontrolaRegistrace()) //
        return false;
    else
        return true;
}


function aktualizujSoucty()
{
    var suma_bez = document.getElementById('suma_bez');
    var suma_s = document.getElementById('suma_s');	
	
    suma_bez.innerHTML = Math.ceil(cenaZbozi_bez + cenaDopravy_bez + cenaPlatby_bez + cenaBonusu_bez);
    suma_s.innerHTML = Math.ceil(cenaZbozi_s + cenaDopravy_s + cenaPlatby_s + cenaBonusu_s);
}

function celkovaCenaDopravy()
{
    var doprava_cena_bez = document.getElementById('doprava_cena_bez');
    var doprava_cena_s = document.getElementById('doprava_cena_s');        
	
    var platba_cena_bez = document.getElementById('platba_cena_bez');
    var platba_cena_s = document.getElementById('platba_cena_s');        	
                                                               
    cenaDopravy_bez = parseInt(cenaDruhDopravy_bez,10) + parseInt(cenaTypDopravy_bez,10); 
    cenaDopravy_s = parseInt(cenaDruhDopravy_s,10) + parseInt(cenaTypDopravy_s,10);
	
	cenaPlatby_bez =  parseInt(cenaPlatebniMetoda_bez,10)
	cenaPlatby_s = parseInt(cenaPlatebniMetoda_s,10);
    
    doprava_cena_bez.innerHTML = Math.ceil(cenaDopravy_bez);
    doprava_cena_s.innerHTML = Math.ceil(cenaDopravy_s);
	
    platba_cena_bez.innerHTML = Math.ceil(cenaPlatby_bez);
    platba_cena_s.innerHTML = Math.ceil(cenaPlatby_s);	
}

function zvolDruhDopravy(nazev, cena_s, cena_bez)
{
    var doprava_druh_nazev = document.getElementById('doprava_druh_nazev');

    cenaDruhDopravy_s = cena_s;
    cenaDruhDopravy_bez = cena_bez;

    doprava_druh_nazev.innerHTML = nazev;

    document.getElementById('doprava_typ_nazev').innerHTML = '';
    cenaTypDopravy_s = cenaTypDopravy_bez = 0;
    document.getElementById('platebni_metoda_nazev').innerHTML = '';
    cenaPlatebniMetoda_s = cenaPlatebniMetoda_bez = 0;

    celkovaCenaDopravy();
    aktualizujSoucty();
}

function delPayCombinations(combinationStr, kind){  
  if(kind=='delivery') numKind = '1';
  else numKind = '0';   
  var parentBox = document.getElementById(kind+'Box');
  var labelElements = parentBox.getElementsByTagName('label');
  var inputElements = parentBox.getElementsByTagName('input');
  for(y=0;y<labelElements.length;y++){
	if(combinationStr==false){
		labelElements[y].style.display='';
		inputElements[y].style.disabled='';
		inputElements[y].style.display='';	
	}else{
		labelElements[y].style.display='none';
		inputElements[y].style.disabled='disabled';
		inputElements[y].style.display='none';
	}
  }  
  //zobrazeni vsech plateb
  if(combinationStr==false)return false;
  
  //zobrazeni vybranych plateb/doruceni
  var combinations = combinationStr.split('|');
  var labelEl = new Array();  
  var druh_platbyEl = new Array();       
  for(x=0;x<combinations.length;x++){        
    labelEl[x] = document.getElementById('label'+numKind+combinations[x]);
    druh_platbyEl[x] = document.getElementById('value'+numKind+combinations[x]);        	
    if(labelEl[x]==undefined || druh_platbyEl[x]==undefined) continue;  // zjisti jestli tyto elementy existuji             
    
	druh_platbyEl[x].style.display='';
	druh_platbyEl[x].style.disabled='';
    labelEl[x].style.display='';
	
    if(druh_platbyEl[x].checked==true) startPlatba(druh_platbyEl[x].value);		
  }     
	
	if(druh_platbyEl.length==1){		
		var parentBox = document.getElementById('paymentBox');  
		var paymentInput = parentBox.getElementsByTagName('input');	
		paymentInput[0].checked='checked'; //pokud je pouze jedna moznost, vyber ji
		startPlatba(paymentInput[0].value);
	}	    
}

function zvolTypDopravy(nazev, cena_s, cena_bez)
{
    var doprava_typ_nazev = document.getElementById('doprava_typ_nazev');

    cenaTypDopravy_s = cena_s;    
    cenaTypDopravy_bez = cena_bez;

    doprava_typ_nazev.innerHTML = nazev;

    //document.getElementById('platebni_metoda_nazev').innerHTML = '';
    //cenaPlatebniMetoda_s = cenaPlatebniMetoda_bez = 0;

    celkovaCenaDopravy();        
    aktualizujSoucty();
}
      
function zvolMetoduPlatby(nazev, cena_s, cena_bez)
{
    var platebni_metoda_nazev = document.getElementById('platebni_metoda_nazev');

    cenaPlatebniMetoda_s = cena_s;    
    cenaPlatebniMetoda_bez = cena_bez;

    platebni_metoda_nazev.innerHTML = nazev;
        
    celkovaCenaDopravy();
    aktualizujSoucty();
}

/** funkce obsluhuje kliknuti na checkbox "bonusu dopravy"
    vklada / odstranuje odpovidajici polozku v tabulce kosiku
*/

function zobraz_typy(druh)
{
    hide_all();
    document.getElementById('doprava-typy-table').style.display = 'block';
    for(i=0;i<typy_druhu[druh].length;i++)
        if(document.getElementById('typ-dopravy-'+typy_druhu[druh][i]))
            document.getElementById('typ-dopravy-'+typy_druhu[druh][i]).style.display = 'block';
    
    try
    {
        if(druh > 1 && (cenaZbozi_s + cenaDopravy_s) > 3000)
        {    
            document.getElementById('doprava-splatky-tip').style.display = 'block';
        }
        else
        {
            document.getElementById('doprava-splatky-tip').style.display = 'none';    
        }
        document.getElementById('vybrany-druh-dopravy').value = druh;
    } 
    catch(e) {}
    
    
}
function zobraz_platby(typ)
{
    hide_platby();
    document.getElementById('doprava-platby-table').style.display = 'block';
    for(i=0;i<=platby_typu[typ].length;i++)
        if(document.getElementById('platba-'+platby_typu[typ][i]))
            document.getElementById('platba-'+platby_typu[typ][i]).style.display = 'block';
}

function hide_typy()
{
    document.getElementById('doprava-typy-table').style.display = 'none';
    for(i=0;i<vsechny_typy.length;i++)
        if(document.getElementById(vsechny_typy[i]))
            document.getElementById(vsechny_typy[i]).style.display = 'none';
    re = new RegExp('Opera 7\.5');
    if(!re.test(navigator.userAgent))
    {
        for(j=0;j<document.getElementById('kosik_form').typ_dopravy.length;j++)
            document.getElementById('kosik_form').typ_dopravy[j].checked = false;
    }
}
function hide_platby()
{
    document.getElementById('doprava-platby-table').style.display = 'none';
    for(i=0;i<vsechny_platby.length;i++)
        if(document.getElementById(vsechny_platby[i]))
            document.getElementById(vsechny_platby[i]).style.display = 'none';
    re = new RegExp('Opera 7\.5');
    if(!re.test(navigator.userAgent))
    {
        for(j=0;j<document.getElementById('kosik_form').platba.length;j++)
            document.getElementById('kosik_form').platba[j].checked = false;
    }
}
function hide_all()
{
    hide_typy();
    hide_platby();
}
function init_transport_form()
{
    hide_typy();
    hide_platby();
    for(i=0;i<document.getElementById('kosik_form').druh_dopravy.length;i++)
        document.getElementById('kosik_form').druh_dopravy[i].checked = false;
}

/** je treba definovat*/
function kontrolaDopravy()
{
    var vybrany_druh = false;
    var vybrany_typ = false;
    var vybrana_platba = false;

    for(i=0;i<document.getElementById('kosik_form').druh_dopravy.length;i++)
        if(document.getElementById('kosik_form').druh_dopravy[i].checked)
            vybrany_druh = true;

    for(i=0;i<document.getElementById('kosik_form').typ_dopravy.length;i++)
        if(document.getElementById('kosik_form').typ_dopravy[i].checked)
            vybrany_typ = true;

    for(i=0;i<document.getElementById('kosik_form').platba.length;i++)
        if(document.getElementById('kosik_form').platba[i].checked)
            vybrana_platba = true;

    if(!vybrany_druh)
    {
        alert("Vyberte prosím druh dopravy. Děkujeme.");
        return false;
    }
    else if(!vybrany_typ)
    {
        alert("Vyberte prosím typ dopravy. Dě›kujeme.");
        return false;
    }
    else if(!vybrana_platba)
    {
        alert("Vyberte prosím platební metodu. Děkujeme.");
        return false;
    }
    else
        return true;
}

/** kosik moznosti skriti zobrazeni*/
function toggleDisplay(elementId,display){
    var element = document.getElementById(elementId);
    try
    {
        if(display)
            element.style.display='block';
        else
            element.style.display='none';
    }
    catch(e) {}
}

function ShowHide(elementId){
    var element = document.getElementById(elementId);
    try
    {        
		if(element.style.display=='none')
            element.style.display='block';
        else
            element.style.display='none';
    }
    catch(e) {}
}


function panely(tab){
  var listy = document.getElementById("jcPanelyListy");
  var menu = document.getElementById("jcPanelyMenu");
  var all = listy.getElementsByTagName('div');
  for (var i=0; i<all.length;i++){
    if (all[i].className != tab && all[i].parentNode == listy)
      all[i].style.display='none';
    else if (all[i].parentNode == listy)
      all[i].style.display='block';
  }
  var all=menu.getElementsByTagName('span');
  for (var i=0; i<all.length;i++){
    if (all[i].className != tab && all[i].parentNode == menu){
      //if (all[i].className == 'tab1'){
      //} else if (all[i].className == 'tab2'){
      //} else if (all[i].className == 'tab3'){
      //}
      all[i].style.textDecoration='none';
      all[i].style.cursor='pointer';
    }
    else if (all[i].parentNode == menu){
      //if (all[i].className == 'tab1'){
      //} else if (all[i].className == 'tab2'){
      //} else if (all[i].className == 'tab3'){
      //}
      all[i].style.textDecoration='none';
      all[i].style.cursor='auto';
    }
  }
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
	 
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
