/**
* Funkce z templates
*/

function showhide_form(select, form) {
    select = document.getElementById(select);
    form = document.getElementById(form);
    if (select.value == 0) {
	
	document.getElementById('address').style.display = 'none';
	form.style.display='block';
    } else{ 
      document.getElementById('address').style.display = 'block';
      form.style.display="none";
    }
}

function showhide_delivery(select) {
    select = document.getElementById(select);
    if (select.value == 0) {
	
	document.getElementById('delivery_text').style.display = 'none';

    } else{ 
      document.getElementById('delivery_text').style.display = 'block';
     
    }
}


// mění parametry v url
// @from product_list.tpl
function changeParam(paramname, mode) {
	var location = new String(window.location)
	if (mode != -1) {
		if (location.match(paramname)) {
			var replaceexp = new RegExp ('(' + paramname + '=)[0-9]*', 'g')
			location = location.replace(replaceexp, '$1' + mode)
		} else {
			if (location.match(/\?/)) {
				location += '&'
			} else {
				location += '?'
			}
			location = location + paramname + '=' + mode;
		}

		if (paramname == 'producer' || paramname == 'sort') {
			location = firstPage(location)
		};

		window.location = location;
	}
}

// @from product_list.tpl
function firstPage(location) {
	return location.replace(/pageno=[0-9]+&?/, '')
}

// parametr funkce je id šipky (vzestupne[0] nebo sestupne[1])
// @from product_list.tpl
function sortMode(button) {
	var form = document.product_list_bar
	changeParam('sortmode', parseInt(form.sortmode.value) + parseInt(button))
}

// @from multimenu.tpl
function startMenu() {
	if (document.all && document.getElementById) {
		var multimenu = document.getElementById('multimenu');
		for (i = 0; i < multimenu.childNodes.length; i++) {
			var ul = multimenu.childNodes[i]
			if (ul.nodeName == 'UL') {
				for (j = 0; j < ul.childNodes.length; j++) {
					var node = ul.childNodes[j]
					if (node.nodeName == 'LI') {
						node.onmouseover = function() { this.className += ' over' }
						node.onmouseout = function() { this.className = this.className.replace(' over', '') }
					}
				}
			}
		}
	}
}

if (window.attachEvent) {
	// window.attachEvent('onload', startMenu)
} else {
	// window.onload = startMenu;
}

// @from categories.tpl
function depShowHide(id) {
	var dep = document.getElementById('depId' + id)
	var img = document.getElementById('depImgId' + id)
	var imgsrc = new String(img.src)

	if(dep.style.display == '') {
		dep.style.display = 'none'
		img.src = imgsrc.replace(/_open\.gif$/, '_close.gif')
	} else {
		dep.style.display = ''
		img.src = imgsrc.replace(/_close\.gif$/, '_open.gif')
	}
}

function depGet(url) {
	document.location = url
}

// @from download_categories.tpl
function depDownloadShowHide(id) {

	var dep = document.getElementById('depIdDown' + id)
	var img = document.getElementById('depImgIdDown' + id)
	var imgsrc = new String(img.src)

	if(dep.style.display == '') {
		dep.style.display = 'none'
		img.src = imgsrc.replace(/_open\.gif$/, '_close.gif')
	} else {
		dep.style.display = ''
		img.src = imgsrc.replace(/_close\.gif$/, '_open.gif')
	}
}

// @from basket.tpl
//function basket_clear_url() {
//	var location = new String(window.location)
//	var newlocation = location.replace(/[\?&]addproduct=[0-9]*/, '')
//	newlocation = newlocation.replace(/[\?&]count=[0-9]*/, '')
//	newlocation = newlocation.replace(/[\?&]jettison=[0-9]*/, '')
//	newlocation = newlocation.replace(/[0-9]+-.*/, 'kosik/')
//	newlocation = newlocation.replace(/([\?&]page=)[a-zA-Z_]*/, '$basket')

//	if (newlocation != location) 
//	{
//		window.location = newlocation;
//	}
//}

// @from order.tpl
var selected_tran = -1;
var service_value = new Array();

function radio_value(el) {
	var len = el.length
	for (i = 0; i < len; i++) {
		var radio = el[i]
		if (radio.checked) {
			return radio.value
		}
	}
	return false
}
 
function recalc_total(curr, before, round) {
	var trans_value = radio_value(document.getElementsByName('transport'));
	var paym_value = radio_value(document.getElementsByName('payment'));
  var discount = 0;
  
  if(document.getElementById('discount-price') != null){
    discount = document.getElementById('discount-price').innerHTML;
  }
  
  if(document.getElementById('discount-price-kom') != null){
    discount = document.getElementById('discount-price-kom').innerHTML;
  }
  
	var price = 0
	if (trans_value) {
		price += trans_prices[trans_value];
		if (service_value[trans_value]) {
			price += service_value[trans_value]
		}
	}
	if (paym_value) {
		price += paym_prices[paym_value]
	}
  //alert('price' + price+ ' base price '+base_price+' discount '+discount+ ' round '+custom_round(price + base_price - discount,round)  +  'vypis '+format_currency2(custom_round((price + base_price- discount,round),round),curr, before) );
	//alert('trans: '+price+'\r\ntotal: '+base_price+'\r\ncurr: '+curr+'\r\nbefore: '+before);
    //document.getElementById('celkova_cena2').innerHTML = format_currency2(price + base_price,curr, before);

		document.getElementById('celcena').innerHTML = format_currency2( custom_round((price + base_price- discount) ,round) ,curr, before);
  //  document.getElementById('celcena').innerHTML = format_currency2( custom_round(price,round) ,curr, before);    
		document.getElementById('price-transport').innerHTML = format_currency2( custom_round(price,round) ,curr, before);
		// document.getElementById('price-total').innerHTML = format_currency2(price + base_price,curr, before);
		
		
}

function radio_label_state(prefix, id, enabled) {
	if (enabled) {
		document.getElementById(prefix + '_' + id).disabled = ''
		removeClassName(document.getElementById(prefix + '_' + id + '_label'), 'disabled')
	} else {
		document.getElementById(prefix + '_' + id).disabled = 'disabled'
		addClassName(document.getElementById(prefix + '_' + id + '_label'), 'disabled')
		document.getElementById(prefix + '_' + id).checked = false
	}
}

function transport_payment_change(prefix, ids, curr, before, round) {
	//var form_el = document.order.elements
	//var re = new RegExp('^' + prefix + '_(\\d+)')
	if (prefix == 'payment') {
		for (i=0; i < paym_ids.length; i++) {
 			radio_label_state(prefix, paym_ids[i], false);
		}
	}
	
	for (i=0; i < ids.length; i++) {
		radio_label_state(prefix, ids[i], true)
  	}

	recalc_total(curr, before, round)
}

function transport_change(id,curr, before, round) {
   
	if (loyalty != 1) {
		transport_payment_change('payment', tp_enable[id],curr, before, round)
	}

	if(selected_tran != -1) {
		elem = document.getElementById('services_'+selected_tran);
		if(elem){
			addClassName(elem, 'hidden');
		}
	}

	elem = document.getElementById('services_'+id);
	if(elem){
		removeClassName(elem, 'hidden');
	}

	selected_tran = id;
}

function payment_change(id,curr, before,round) {
	transport_payment_change('transport', pt_enable[id],curr, before, round)
}

function service_change(elem, id_tran, id_serv, curr, before, round) {
	if (!service_value[id_tran]) service_value[id_tran] = 0;

	if (elem.checked) {
		service_value[id_tran] += service_price[id_serv];
	} else {
		service_value[id_tran] -= service_price[id_serv];
	}

	recalc_total(curr, before, round);
}

Number.prototype.toCurrency2 = function() {
	// convert number into a currency-formatted string result
	var symb = (arguments.length>0) ? arguments[0] : "  .";

	symb = ((typeof(symb)=="string" && symb.length==3) ? symb : "$,.").split("");
	var nbr = this;

	var n = Math.round( (nbr - Math.floor(nbr))*100 ) ;
	dec = Math.floor((nbr*100+0.5)%100);
	
	nbr = Math.floor((nbr*100+0.5)/100).toString();
	if (dec < 10) dec = "0" + dec;
	for (var i = 0; i < Math.floor((nbr.length-(1+i))/3); i++) {
		nbr = nbr.substring(0,nbr.length-(4*i+3))+symb[1]+nbr.substring(nbr.length-(4*i+3));
	}
	if(n > 0) {
		return nbr.toString()+","+ (n < 10 ? 0 + n.toString() : n.toString() ) ;  
	} else {
		return nbr.toString();  
	}
	
}


function custom_round(price, round) {
  
	if( round == 1 ) {
	  price =  Math.round(price*100)/100 ;
	} else if ( round == 2 ) {
	  price =  Math.round(price) ;
	} else if ( round == 3 ) {
	  price =   Math.round(price) ;  
	  var dec = price - parseInt(price);
	  var add;
	  if(dec < 0.25) {
	  	add = 0;
		}	else if ( dec >= 0.25 && dec < 0.75 ) {
			add	= 0.5;
		}	else {
		 	add = 1;
		}            
		price = parseInt(price) + add;	
				
	} else if ( round == 4 ) {
	  price =  Math.round(price*10)/10 ; 
	} else {
	  price =  Math.round(price*100)/100 ; 
	}	

  return price.toCurrency2();
}

// mění parametry v url
    
var pocet = 0;
var cena = 0;
var pole_pocet = new Array();
var pole_cen = new Array();
var pole_id = new Array();
var b2c = 1;
    
    
function changeParam(paramname, mode) {
	var location = new String(window.location)
		
	if (mode != -1) {
		if (location.match(paramname)) {
			var replaceexp = new RegExp ('(' + paramname + '=)[,%A-Z0-9]*', 'g')
				location = location.replace(replaceexp, '$1' + mode)
		} else {
			if (location.match(/\?/)) {
				location += '&'
			} else {
				location += '?'
			}
			location = location + paramname + '=' + mode;
		}

	}


	if (paramname == 'producer' || paramname == 'sort') {
		location = firstPage(location)
	};

	window.location = location;
}


function firstPage(location) {
	return location.replace(/pageno=[0-9]+&?/, '')
}

// parametr funkce je id šipky (vzestupne[0] nebo sestupne[1])
function sortMode(button) {
	var form = document.product_list_bar
	changeParam('sortmode', parseInt(form.sortmode.value) + parseInt(button))
}

function show_description(id_element, th){
	var element = document.getElementById(id_element);
	if(element != null){
		element.style.display='block';
		//this.className='shop-offer-item over'; // this! je prvek ze ktereho je fce volana
		addClassName(th, 'over');
		
    
		
	}
}

function hide_description(id_element, th){
	var element = document.getElementById(id_element);
	if(element != null){
		element.style.display='none';
		//this.className='shop-offer-item'; // this! je prvek ze ktereho je fce volana
		removeClassName(th, 'over');
	}
}

function load_sizes(produkt_id){
	new Ajax.Updater('size-table', SHOP_URL+'ajax.php', {
			parameters: { 
			produkt_id: produkt_id,
	 		page: 'ajax_product_list_sizes'
			}
	});
	document.getElementById('size-table').style.display='block';
  var respond_size = {
    onComplete: function() {
      size_table_size();
    	Ajax.Responders.unregister(respond_size);	
    }
  };
  Ajax.Responders.register(respond_size);		
}

function show_pending(produkt_id,type){
	
  new Ajax.Updater('popup', SHOP_URL+'ajax.php', {
			parameters: { 
			produkt_id: produkt_id,type: type,
	 		page: 'ajax_product_list_pending'
			}
	});	

    Ajax.Responders.register({
    onComplete: function() {
      document.getElementById('popup').style.display = 'block';
      heightwindow();
    }
  });					
}

function popup_clear() {
	new Ajax.Updater('popup', SHOP_URL+'ajax.php', {
		parameters: { 
 		page: 'ajax_popup_clear'
		}
	});
	document.getElementById('popup').style.display = 'none';
}

String.prototype.toNumber = function() {
// convert number-formatted string into a numeric result
	var nbr = Number(this);
	return ((isNaN(nbr)) ? 0 : nbr);
}
String.prototype.fromCurrency = function() {
// convert currency-formatted string into a numeric result
	var symb = (arguments.length>0) ? arguments[0] : "  .";
	symb = ((typeof(symb)=="string" && symb.length>1) ? symb : "$,.").split("");
	var re = new RegExp("[\\"+symb[0]+"\\"+symb[1]+"]","g");
	return this.replace(re,"").toNumber();
}
Number.prototype.toCurrency = function() {
	// convert number into a currency-formatted string result
	var symb = (arguments.length>0) ? arguments[0] : "  .";
	symb = ((typeof(symb)=="string" && symb.length==3) ? symb : "$,.").split("");
	var nbr = this.toString().toNumber().toString();
	dec = Math.floor((nbr*100+0.5)%100);
	nbr = Math.floor((nbr*100+0.5)/100).toString();
	if (dec < 10) dec = "0" + dec;
	for (var i = 0; i < Math.floor((nbr.length-(1+i))/3); i++) {
		nbr = nbr.substring(0,nbr.length-(4*i+3))+symb[1]+nbr.substring(nbr.length-(4*i+3));
	}
	return (nbr);
}

function is_array(input){
    return typeof(input)=='object'&&(input instanceof Array);
  }


var products = new Array();

function sectiPocet(id, product_id, div_id){
      
    var pocet = 0;
    var cena = 0;
    pole_id[id] = id;
    if(!is_array(products[product_id] )) {
      products[product_id] = new Array();
    }

    //alert('cyklus');
    if(pole_pocet[id]!=""){
        if(document.getElementById(id).value != "" && parseInt(document.getElementById(id).value) > 0){
            pole_cen[id] = parseInt(document.getElementById("pricex-"+product_id).innerHTML); 
            pole_pocet[id] = parseInt(document.getElementById(id).value);
            products[product_id][id] = 1;
        } else {
            pole_cen[id] = 0; 
            pole_pocet[id] = 0;
            document.getElementById(id).value = '';
             products[product_id][id] = 0;                   
        }
    }else{
        if(document.getElementById(id).value != "" && parseInt(document.getElementById(id).value) > 0){
            pole_pocet[id] += parseInt(document.getElementById(id).value);
            pole_cen[id] += parseInt(document.getElementById("pricex-"+product_id).innerHTML);
            products[product_id][id] = 1;
        } else{
            pole_cen[id] = 0; 
            pole_pocet[id] = 0;
            document.getElementById(id).value = '';
            products[product_id][id] = 0;
        } 
    }
    var show = false;
    if(is_array(products[product_id])) {
      products[product_id].each( function(it) {
          if(it) { show = true; }
        }  
      );  
    }
    if(show) {
      $(div_id).addClassName('active');
    } else {
      $(div_id).removeClassName('active');
    }  
    
    pole_id.each(function(item){
        
       if(pole_pocet[item] == document.getElementById(id).value){
          if(document.getElementById(id).value != ""){
            pole_pocet[item] = parseInt(document.getElementById(id).value);
            pole_cen[item] = parseInt(document.getElementById("pricex-"+product_id).innerHTML);
          }else{
            pole_cen[id] = 0; 
            pole_pocet[id] = 0;
            document.getElementById(id).value = '';  
          }
       } 
        pocet += pole_pocet[item];
        cena += (pole_cen[item] * pole_pocet[item]);
    });  
                      
        if(pocet==""){
            pocet = 0;// document.getElementById(id).value;
            cena = 0;//document.getElementById("pricex-"+product_id).innerHTML;
        } else {
        	fireAlert();
        }
        
   
        document.getElementById("cel-cena").innerHTML = cena.toCurrency();
        document.getElementById("cel-pocet").innerHTML = pocet;
        
        document.getElementById("cel-cena2").innerHTML = cena.toCurrency();
        document.getElementById("cel-pocet2").innerHTML = pocet;
}


function depShowHide(id) {
	var dep = document.getElementById('depId' + id)
	var img = document.getElementById('depImgId' + id)
	var imgsrc = new String(img.src)

	if(dep.style.display == '') {
		dep.style.display = 'none'
		img.src = imgsrc.replace(/_open\.gif$/, '_close.gif')
	} else {
		dep.style.display = ''
		img.src = imgsrc.replace(/_close\.gif$/, '_open.gif')
	}
}

function depGet(url) {
	document.location = url
}

function activate_tab(tab, count, prefix)
{
  if (!prefix)
  {
   prefix = '';
  }
  
   var e_tab;
   var e_box;
  
   for (i = 0; i < count; i++)
   {
     e_tab = document.getElementById(prefix + 'tab_' + i);
     e_box = document.getElementById(prefix + 'box_' + i);
    
     if (i == tab)
     { // aktivni
       e_tab.style.background.color = 'red';
       e_tab.style.color = '#3f3f3f';
      
       e_box.style.display = 'block';
     }
     else
     { // neaktivni
       e_tab.style.background.color = 'blue';
       e_tab.style.color = 'red';
      
       e_box.style.display = 'none';
      }
    }
}

function intriguer(search){
	if(search.length >= 3) {
   	document.getElementById('naseptavac-top').style.display = 'block';
  	new Ajax.Updater('naseptavac-top', SHOP_URL+'ajax.php', {
			parameters: { 
				search: search,
				page: 'ajax_intriguer',
				count: '7'
			}
		});
	} else {
			setTimeout("document.getElementById('naseptavac-top').style.display = 'none'",150);
	}
}

function related_products_show_hide(paramname1,paramname2, paramname3) {
	var rh = document.getElementById('related-hide')
	
	var text_show = document.getElementById('text_show_all_products')
	
	var text_hide = document.getElementById('text_hide_all_products')
	
	//var rhi = document.getElementById('related-hide-img')
	
	//var img_src = new String(rhi.src)
	
	if(rh && rh.style){
		if (rh.style.display != 'none') {
			rh.style.display = 'none'
			text_show.style.display = 'block'
			text_hide.style.display = 'none'
			//rhi.src = img_src.replace(/-[0-9](\..+)$/, '-1$1')
		} else {
			rh.style.display = ''
			text_show.style.display = 'none'
			text_hide.style.display = 'block'
			//rhi.src = img_src.replace(/-[0-9](\..+)$/, '-2$1')
		}
	}
}

function related_products_show_hide_alternative() {
	var rh = document.getElementById('related-hide-alternative')
	
  var text_show = document.getElementById('text_show_all_products_alternative')
  
	var text_hide = document.getElementById('text_hide_all_products_alternative')
	
	//var rhi = document.getElementById('related-hide-img')

	//var img_src = new String(rhi.src)
	if(rh){
		if (rh.style.display != 'none') {
			rh.style.display = 'none'
			text_show.style.display = 'block'
			text_hide.style.display = 'none'
			//rhi.src = img_src.replace(/-[0-9](\..+)$/, '-1$1')
		} else {
			rh.style.display = ''
			text_show.style.display = 'none'
			text_hide.style.display = 'block'
			//rhi.src = img_src.replace(/-[0-9](\..+)$/, '-2$1')
		}
	}
}

function show_why(element_id){
	jQuery(document).ready(function() {
		var block = document.getElementById(element_id).style.display;
		
		var max_height = document.getElementById(element_id).offsetHeight;
		
		if (block == '' || block == 'none') { 
			// hlavicka (odkaz)
			$(element_id + '-a').addClassName('active');
			// div s textem
			
			jQuery('#'+element_id).show("blind", { direction: "vertical", easing : 'easeOutCirc' }, 1000);
			$(element_id).style.display = 'block';
		} else { 
			// hlavicka (odkaz)
			$(element_id + '-a').removeClassName('active');
			// div s textem
			
			jQuery('#'+element_id).hide("blind", { direction: "vertical", easing : 'easeOutCirc' }, 1000);
			setTimeout('my_hide', 1000);
			
		}
	});
	
}

function my_hide(){ $(element_id).style.display = 'none'; }

	
function slideSwitch() {
	jQuery(document).ready(function($){
		
	if(i_make_click){
		i_make_click = false;
		return false;
	}
	// $("div#stripTransmitter0 a").addClass("current").parent().parent().find("a").not($("div#stripTransmitter0 a")).removeClass("current"); // wow!
	var ui 	= 	jQuery(".a_link_next");
	var container = jQuery("#slideshow");


	if(current_slide + 1 < public_size_img){
		ui.eq(current_slide).removeClass("current");
		ui.eq(current_slide+1).addClass("current");
		current_slide++;
	}else{
		ui.eq(current_slide).removeClass("current");
		ui.eq(0).addClass("current"); 
		current_slide = 0;
	}
	
	
    var $active = $('#slideshow DIV.active');

    if ( $active.length == 0 ) $active = $('#slideshow DIV:last');

    var $next =  $active.next().length ? $active.next()
        : $('#slideshow DIV:first');	        
        
    $active.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 750, function() {
            $active.removeClass('active last-active');
        });
    });
    
    //load_text();
}