function $(o){
	return document.getElementById(o);
}

function getParent(o, el, classval, level, deep){
	var i=0;
	el=el.toLowerCase();
	if(!level)level=0;
	if(classval) rgp=new RegExp('(^| )('+classval+')($| )', 'g');
	while(o){
		if(i>=level && o.nodeName.toLowerCase()==el && (!classval || (o.className && o.className.match(rgp) ) )) return o;
		if(i>=deep)break;
		i++;
		o=o.parentNode;
	}
	return;
}

function x(o,j){
	var el=getParent(o,'TR').getElementsByTagName('TD'), i, s;
	for(i=0;i<el.length;i++){
		s=el[i].className;
		if(s.substr(0,2)=='ks'||s.substr(0,3)=='kos'||s.substr(0,4)=='cena'||s.substr(0,6)=='rozmer')el[i].style.backgroundColor=j?'':'#ffffcc';
	}
}

function prov(p){
	var i, el=getParent(p,'TD').getElementsByTagName('LABEL');
	var pf=p.getAttribute('for');
	for(i=0;i<el.length;i++){
		el[i].style.fontWeight='';
		var f=el[i].getAttribute('for');
		if( (pf && f==pf) || (p.id && f==p.id) ) el[i].style.fontWeight='bold';
	}
	if(p=$('jso')) p.style.display='none';
}


//-------------------------------------------------------

function changeqty(o,i,k){
	QT[i] = (o.value.search(/^-?[0-9]+$/) == 0) ? parseInt(o.value) : 0;
	$('p'+i).innerHTML = pformat(QT[i]*PR[i]);
	jsc_setValue("pform", k+jsc_glue2+QT[i], jsc_find('pform',k));
	obnovkosik();
	recount();
}

function recount(){
	var total=0, dphacka=[], c, dph=0, zbozi;
	for(i in QT){
		c=QT[i]*PR[i];
		total+=c;
		if(!dphacka[DPH[i]]) dphacka[DPH[i]]=0;
		dphacka[DPH[i]]+=c;
	}
	zbozi = total;
	
	if(total > 0){
		total+= D;
		$('do').innerHTML = D;
		if(!dphacka[20]) dphacka[20]=0;
		dphacka[20]+= D;
		/*
		var sleva = 0;
		if(total+dph > 5000) sleva = 3;
		else if(total+dph > 3000) sleva = 2;
		var slevakc = Math.round(total*(sleva/100));
		$('slevakc').innerHTML = slevakc ? '-'+pformat(slevakc) : 0;
		$('sleva').innerHTML = slevakc ? sleva+'% ' : '';
		total-=slevakc;
		*/
	}else{
		$('ttax20').innerHTML = '0';
		$('sleva').innerHTML = '';
		$('slevakc').innerHTML = '0';
		$('do').innerHTML = '0';
	}
	
	// DPH
	for(vysedph in dphacka){
		c = Math.round(dphacka[vysedph]*(vysedph/100));
		dph+= c;
		$('ttax'+vysedph).innerHTML = pformat(c);
	}
	
	$('tpi').innerHTML = pformat(zbozi);
	$('tp').innerHTML = pformat(total);
	$('tp2').innerHTML = pformat(total+dph);
}

function pformat(nStr){
	nStr+='';
	x=nStr.split('.');
	x1=x[0];
	x2=x.length>1?'.'+x[1]:'';
	var rgx = /(\d+)(\d{3})/;
	while(rgx.test(x1)) x1=x1.replace(rgx, '$1'+' '+'$2');
	return x1+x2;
}

function ptrdel(o,j,k){
	var delRow = o.parentNode.parentNode;
	var rIndex = delRow.sectionRowIndex;
	var rowArray = new Array(delRow);
	for (var i=0; i<rowArray.length; i++){
		var rIndex = rowArray[i].sectionRowIndex;
		rowArray[i].parentNode.deleteRow(rIndex);
	}
	// jen nastavime na 0, jinak by se zmenilo poradi a neslo by vymazat dalsi produkty => az po refresh
	jsc_unsetValue('pform', jsc_find('pform', k));
	QT[j]=0;
	obnovkosik();
	recount();
	return false;
}

function dinfo(i,pr,str,dlbl)
{
	$('dolbl').innerHTML=dlbl;
	$('odinfo').innerHTML=str;
	D=pr;
	jsc_setValue('opts',i,0);
	recount();
}


//-------------------------------------------------------

function uvl(){
	var el=$('vlajky').getElementsByTagName('input');
	for(var i=0;i<el.length;i++){
		if(el[i].type!='text') continue;
		addEvent(el[i], 'click', function(){
			if(this.value==''){
				var o=this;
				o.value='1';
				var oo = o.createTextRange();
				oo.moveStart("character",-1);
				oo.moveEnd("character",0);
				oo.select();
			}
		});
	}
}

function dokosiku(id, va, btn){
	var i=1, on=0, p;
	
	while(p=$('provedeni'+id+'_'+i)){
		if(p.checked){
			on=i;
			break;
		}
		i++;
	}
	p=$('provedeni'+id+'_'+(i-1));
	
	if(!(d=$('jso'))){
		var d=document.createElement('DIV');
		d.id='jso';
		d.onclick=function(){this.style.display='none';};
		document.body.appendChild(d);
	}
	
	if(!on && p){
		var xy=findOffset(p);
		
		d.style.top=(xy[1]+7+p.offsetHeight)+'px';
		d.style.left=(xy[0]-7)+'px';
		
		d.innerHTML='<span></span>Prosím zvolte nejprve provedení.';
		d.style.display='block';
		return;
	}
	
	// pridame do kosiku
	var xy=findOffset(btn);
	
	d.style.top=(xy[1]-8)+'px';
	d.style.left=(xy[0]+btn.offsetWidth+10)+'px';
	
	d.innerHTML='<em></em>Přidáno do košíku.<br /><a href="/kosik/"><u>POKLADNA</u></a>';
	d.style.display='block';
	
	
	var cz = $('nazev'+id).innerHTML;
	var provedeni='';
	if(on>0) provedeni=' ('+$('provedeni'+id+'_'+on).value+')';
	
	var rozmer=$('rozmer'+id+'_'+va).innerHTML;
	var cena=$('cena'+id+'_'+va).innerHTML;
	cena=cena.replace(/[ kč]/ig,'');
	var ks=$('ks'+id+'_'+va).value;
	
	var s=encodeURIComponent(id+'#'+cz+provedeni+'#'+rozmer+'#'+cena);
	pridej(s, ks);
	
	// kosik recount
	obnovkosik();
}

function obnovkosik()
{
	jsc_init('pform');
	var cks=0;
	for(i=0;i<jsc_arr['pform'].length;i++){
		s=jsc_arr['pform'][i].split(jsc_glue2);
		s[1]=parseInt(s[1]);
		if(s[1]>0) cks+=s[1];
	}
	$('kosik').innerHTML = cks+' polož'+(cks > 0 && cks < 5 ? ((cks < 2) ? 'ku' : 'ky')  : 'ek');
}

function pridej(s, ks) // ks = true => increment
{
	ks=parseInt(ks);
	jsc_init('pform');
	if((i=jsc_find('pform',s))<0){
		jsc_setValue('pform',s+'//'+ks,-1);
	}else if(ks==0){
		jsc_unsetValue('pform',i);
		ks=0;
	}else{
		ks=parseInt(jsc_arr['pform'][i].split(jsc_glue2)[1])+ks; // zvedneme
		jsc_setValue('pform',s+'//'+ks, i);
	}
	return ks;
}


function findOffset(o,clname){
	var x=y=0;
	do{
		if(!o || o.className==clname) break;
		y+=o.offsetTop;
		x+=o.offsetLeft;
	}while(o = o.offsetParent);
	return [x, y];
}

function p(o){
	if(o.className=='on') return;
	o.className='on';
	var posx=o.id.indexOf('x');
	var a=o.id.substr(0, posx);
	var b=o.id.substr(posx+1, 1);
	$(a+'x'+(b == 1 ? 0 : 1)).className='';
	$(a).value=b;
}


//-------------------------------------------------------

function addEvent(obj, type, fn) {
	if(obj.attachEvent){
		obj['e'+type+fn] = fn;
		obj[type+fn] = function(){obj['e'+type+fn](window.event);}
		obj.attachEvent('on'+type, obj[type+fn]);
	}else
		obj.addEventListener(type, fn, false);
}

function removeEvent(obj, type, fn){
	if(obj.detachEvent){
		obj.detachEvent('on'+type, obj[type+fn]);
		obj[type+fn] = null;
	} else
		obj.removeEventListener(type, fn, false);
}

//-------------------------------------------------------

var bst=0; // (boolean) scrolltop
var ap=false; // is popup active?
var needF5=false;

function showMyPop(url, title, id, refresh, whconf)
{
	if(!id) id='';
	needF5 = refresh;
	if(!whconf) whconf=0;
	
	var h;
	if(whconf==1) h=180;
	else if(whconf==2) h=530;
	else h=450;
	
	ap = id;
	var cr=0;
	var mask = $('popupMask');
	var inner = $('popupInner'+id);
	var wdb = window.document.body;
	
	if(!mask){
		mask = document.createElement('div');
		mask.id = "popupMask";
		addEvent(mask,'click',hideMyPop);
		wdb.appendChild(mask);
	}
	if(!inner){
		cr=1;
		inner = document.createElement('div');
		inner.id = "popupInner"+id;
		inner.className = "popupInner";
		addEvent(inner,'click',hideMyPop);
		
		var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
		
		inner2 = document.createElement('div');
		inner2.className = "popupInner2";
		inner2.innerHTML = '<table cellpadding="0" cellspacing="0">'
			+'<tr><td class="popupControls">'
			+'<div></div><span id="popupTitle">'+title+'</span></td></tr>'
			+'<tr><td><iframe name="ifr'+id+'" scrolling="'+(IE6 ? 'yes' : 'auto')+'" frameborder="0" id="popupFrame'+id+'"></iframe></td></tr>'
			+'</table>';
		inner.appendChild(inner2);
		wdb.appendChild(inner);		
		inner.style.height = h+'px';
	}else{
		$('popupTitle').innerHTML=title;
	}
	
	//wdb.style.overflow='hidden';
	addEvent(top.window,'scroll',noscroll);
	mask.style.display='block';
	inner.style.display='block';
	
	var IFrameObj = $('popupFrame'+id);
	
	if((refresh||cr) && url != ''){
		var IFrameDoc;
		if(IFrameObj.contentDocument){
			IFrameDoc = IFrameObj.contentDocument; 
		} else if (IFrameObj.contentWindow){
			IFrameDoc = IFrameObj.contentWindow.document;
		} else if (IFrameObj.document){
			IFrameDoc = IFrameObj.document;
		}
		if(IFrameDoc.location.href != url) IFrameDoc.location.replace(url);
	}
	
	IFrameObj.style.height=h-30+'px';
	
	//---/navigace
	
	var windowh=innerSize()[1];
	bst = getScrollTop();
	
	inner.style.top = (bst+windowh/2-h/2)+'px';
	mask.style.top = 0;
	mask.style.height = document.body.offsetHeight+'px';
	
	return false;
}

function innerSize(boolTop){
	var w, h, s = boolTop ? top.window : window;
	if(s.innerHeight){
		w=s.innerWidth;
		h=s.innerHeight;
	}else{
		w=s.document.documentElement.clientWidth;
		h=s.document.documentElement.clientHeight;
	}
	return [w, h];
}

function getScrollTop(w){
	if(!w) w = window;
	var p = w.document.documentElement.scrollTop;
	return p > 0 ? p : w.document.body.scrollTop;
}

function noscroll(){window.scrollTo(0,bst);}

function hideMyPop(){
	if(ap === false) return;
	id = ap;
	var body = window.document.body;
	//body.style.overflow='auto';
	removeEvent(top.window,'scroll',noscroll);
	
	$('popupMask').style.display='none';
	$('popupInner'+id).style.display='none';
	ap = false;
	
	if(needF5) {
		var IFrameDoc;
		var IFrameObj = document.getElementById('popupFrame'+id);
		if(IFrameObj.contentDocument){
			IFrameDoc = IFrameObj.contentDocument; 
		}else if(IFrameObj.contentWindow){
			IFrameDoc = IFrameObj.contentWindow.document;
		}else if(IFrameObj.document){
			IFrameDoc = IFrameObj.document;
		}
		IFrameDoc.location.replace('about:blank');
	}
}

//----------------------------- MARQUEE

var marqueespeed = -1;
var maxw = 840;
var marqueedir = 0;
var marqueeleft;
var marqueew;

function marquee(){
	//o=$('marquee');
	/*addEvent(o, 'mousemove', function(e)
	{
		var posx=0;
		if (!e) var e = window.event;
		if (e.pageX) 	{
			posx = e.pageX;
		}
		else if (e.clientX) 	{
			posx = e.clientX + document.body.scrollLeft
				+ document.documentElement.scrollLeft;
		}
		var windowx=(window.innerWidth ? window.innerWidth : window.document.body.offsetWidth);
		marqueespeed = 8;
	});
	addEvent(o, 'mouseout', function(){marqueespeed=1});
	*/
	
	var oo=$('marqueeb');
	
	marqueew=oo.offsetWidth;
	
	if(marqueew > maxw) {
		marqueeleft = 100;
	}else{
		marqueeleft = (maxw-marqueew)/2;
	}
	oo.style.left = marqueeleft+'px';
	
	
	window.setInterval(
		function(){
			if(marqueeleft-5 <= 0 && marqueeleft+marqueew+5 <= maxw) {
				marqueespeed = 1;
			} else if(marqueeleft-5 >= 0 && marqueeleft+marqueew+5 >= maxw) {
				marqueespeed = -1;
			}
			marqueeleft+= marqueespeed;
			oo.style.left = marqueeleft+'px';
	}, 20);
}

//addEvent(window, 'load', marquee);




//-----------------------


var jsc_arr_str = [];
var jsc_arr = [];
var jsc_glue = ":";
var jsc_glue2 = "//";


function jsc_init(coo) {
	jsc_arr_str[coo] = jsc_readCookie(coo);
	jsc_arr[coo] = jsc_arr_str[coo] ? jsc_arr_str[coo].split(jsc_glue) : [];
}

function jsc_setValue(coo, val, pos) {
	if(jsc_arr[coo] == undefined) jsc_init(coo);
	if(pos < 0) pos=jsc_arr[coo].length;
	
	jsc_arr[coo][pos]=val;
	jsc_save(coo);
}

function jsc_switchValue(coo, o, pos) {
	if(o.checked) jsc_setValue(coo, 1, pos);
	else jsc_setValue(coo, 0, pos);
}

function jsc_save(coo) {
	var str='', d=new Date(), dt=d.getTime(), dt2=jsc_readCookie('modified');
	if(jsc_arr[coo]) str = jsc_arr[coo].join(jsc_glue);
	d.setTime(dt+(24*3600*365));
	var expires = " expires="+d.toGMTString();
	document.cookie = escape(coo)+"="+escape(str)+";"+expires+"; path=/";
	document.cookie = "touch="+(parseInt(dt2)+60)+";"+expires+"; path=/";
	jsc_arr_str[coo] = str;
	jsc_arr[coo] = jsc_arr_str[coo] ? jsc_arr_str[coo].split(jsc_glue) : [];
}

function unsetCookie(coo) {
	jsc_arr[coo] = [];
	jsc_save(coo);
}

function jsc_unsetValue(coo, pos) {
	if(pos == -1) return;
	if(jsc_arr[coo] == undefined) jsc_init(coo);
	jsc_arr[coo].splice(pos, 1);
	jsc_save(coo);
}

function jsc_readCookie(name) {
	var nameEQ = name + "=";
	var ca = unescape(document.cookie);
	ca = ca.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return '';
}

function jsc_find(coo, substr) {
	if(jsc_arr[coo] == undefined) jsc_init(coo);
	var str;
	for(i=0;i<jsc_arr[coo].length;i++) {
		str = jsc_arr[coo][i]+jsc_glue2;
		if(str.indexOf(substr+jsc_glue2) == 0) return i; // bylo > -1
	}
	return -1;
}


