function addToBasket(evt,st,ks) {
	// if je prihlasen, continue
	if (jquery("currentUser")==-1) {
		alert("Přihlašte se, prosím");
		gId('loginInput').focus();
		return ;
		}
	//alert(st+" "+ks);
	// if je skladem, continue TODO
	if ((basketNo=jquery("action=addToBasket&itemId="+st+"&itemPcs="+ks))!=-1) {
		//alert("OK");
		//alert(basketNo);
		displayBasket();
		refreshBasketDisplay(basketNo);
		basketInfo(ks);
		basketMiniPopup(evt,ks);
	}
	else
		alert("Při přidávání zboží do košíku se vyskytla chyba");
	}
	
function basketMiniPopup(evt,ks) {
	var tgt;
	if (evt.srcElement)
		tgt = evt.srcElement.id+"_popup";
	else if (evt.originalTarget)
		tgt = evt.originalTarget.id+"_popup";
	var win = elm("div");
	win.className="miniAdd";
	win.id=tgt;
	var word;
	if (ks==1)
		word = "přidán";
	else if (ks>1 && ks<5)
		word = "přidány";
	else
		word = "přidáno";
	var w = 150;
	var x = trueX(evt)+10;
	x = correctX(w,x);
	win.style.cssText+="width: "+w+"px;top:"+(trueY(evt)+10)+"px;left:"+x+"px;";
	win.ac(tn(ks+" ks "+word+" do košíku."));
	document.body.appendChild(win);
	window.setTimeout('removeEl("'+tgt+'")',3000);
}

function updateBasket(e) {
	if (window.event && window.event.keyCode==13)
		src=window.event.srcElement;
	else if (e.which && e.which==13)
		src=e.originalTarget;
	else if (!window.event && !e.which) {
		alert("Použijte, prosím, tlačítko 'Přepočítat'.");
		return;
	} else
		return;
	updateToBasket(src.parentNode.parentNode.firstChild.firstChild.nodeValue,src.value);
}

function updateToBasket(st,ks) {
	// if je prihlasen, continue
	if (jquery("currentUser")==-1) {
		alert("Přihlašte se, prosím");
		return ;
		}
	// if je skladem, continue
	if ((basketNo=jquery("action=updateToBasket&itemId="+st+"&itemPcs="+ks))>-1) {
		if (refreshBasketDisplay()==-1)
			basketNote("Košík č. "+basketNo+" byl vysypán.");
	}
	else {
		alert(st);
		alert("Při změně zboží v košíku se vyskytla chyba");
	}
}

function removeFromBasketE(e){
	if (window.event)
		src=window.event.srcElement;
	else if (e.which)
		src=e.originalTarget;
	else if (!window.event && !e.which) {
		alert("Použijte, prosím, hodnotu '0' a tlačítko 'Přepočítat'.");
		return;
	} else
		return;
	removeFromBasket(src.parentNode.parentNode.firstChild.firstChild.nodeValue);
}

function removeFromBasket(item) {
	// if je prihlasen, continue
	if (jquery("currentUser")==-1) {
		alert("Přihlašte se, prosím");
		return ;
		}
	// if je skladem, continue
	if ((basketNo=jquery("action=removeFromBasket&itemId="+item))>-1) {
		if (refreshBasketDisplay()==-1)
			basketNote("Košík č. "+basketNo+" byl vysypán.");
	}
	else
		alert("Při odebírání zboží z košíku se vyskytla chyba");
	}

function refreshBasketDisplay() {
	var basket=jquery("action=getCurrentBasket");
	if (basket!=-1) {
		//alert(basket);
		refreshShortBasket(basket);
		refreshBasket();
		refreshBasketInfo();
	}
	else {
// 		alert(gId('basketTotalTip').firstChild.nodeValue);
		refreshBasketInfo();
		removeEl("basketTop");
		removeEl("basket");
		removeEl("dBPDiv");
		//gId('present').style.visibility='visible';
	}
	return basket;
}

function getCurrentBasket() {
	return jquery("action=getCurrentBasket");
}

function refreshBasketInfo() {
	if (ltnavinfo = gId('ltnavInfo')) {
		var data = jXquery("fetch=ltnavinfo");
		var style = jXquery("fetchroot=/templates/ident.xsl");
		//alert(data);
		replace(ltnavinfo.parentNode,ltnavinfo,transXML(data,style));
		//alert(transXML(data,style));
	}
}

function refreshShortBasket(basket) {
	var sbp,sbvp,sbpc,smer;
	var bp=jAquery("getBasketPrice");
	if (bp!=-1)
		sbp="price="+bp;
	var bvp=jAquery("getBasketVATPrice");
	if (bvp!=-1)
		sbvp="priceVAT="+bvp;
	var bpc=jAquery("getBasketPcs");
	if (bpc!=-1)
		sbpc="pcs="+bpc;
	bn="basket="+basket;
	if (gId('basket'))
		smer="smer=in";
	var fr = getTransFragment('/templates/basketTop.xml','/templates/basketTop.xsl',sbp,sbvp,sbpc,bn,smer);
	replace(gId('logincontainer'),gId('basketTop'),fr);
	if (ie() && gId('basket')) //STRANGE IE BEHAVIOUR
		gId('showBasket').value='Skrýt';
}

function emptyBasket(basket) {
	if ((n=jAquery("emptyCurrentBasket"))!=-1) {
		//alert("Košík č. "+n+" byl vysypán");
		//reloadModule(
		refreshBasketDisplay();
		basketNote("Košík č. "+n+" byl vysypán.");
		alert("Košík č. "+n+" byl vysypán.");
		}
	else
		alert("Chyba vysypání, pošlete zprávu webmaster@citybikes.cz. Díky!");
}

function basketNote(nt) {
	if ((bt=gId("basketTop"))==null) {
		bt=elm("div",{style: "margin-top: 10px;",id: "basketTop"}, elm("span",{style:"font-size:8pt;font-style:italic;"},nt) );
 		if (ie())
		 	bt.style.lineHeight="125%";
		gId("loginform").appendChild(bt);
	}
}


function basketPopup() {
	if (e) 
		srcEl = e.srcElement;
	if (!srcEl) 
		srcEl = e.originalTarget;
	
	if (srcEl.className=='buyButton') {
		if (e.x)
			pos = {x: e.x,y: e.y};
		else
			pos = {x: e.layerX,y: e.layerY};
		pos.button=e.button;
		parts=srcEl.id.split("_");
		num=parts[1];
		count=gId('ks_'+num).value;
		basketPopup = getBlankShadeWindow('basketPopup',200,100,pos.x+25+185,pos.y+163-20,5,0,0);
		xml = jXquery("fetchroot=/templates/dummy.xml");
		xsl = jXquery("fetchroot=/templates/basketPopup.xsl");
		out = transXML(xml,xsl,"basketPrice=1","itemCount="+count);
		basketPopup.ac(out);
	}
}
var t1,t2;

function basketInfo(count) {
		//basketPopup = getBlankShadeWindow('basketPopup',200,100,pos.x+25+185,pos.y+163-20,5);
		basketPopup = gId('basketPopup');
// 		if (!basketPopup) {
// 			basketPopup = elm("div",{id: "basketPopup"});
// 			basketPopup.style.cssText="margin: 0 auto; border: 1px solid white; overfloat: hidden;height: 20px;top:100px;right:2em;position:absolute;padding: 0.25ex 1ex 0 1ex;text-align: center;color:white";
// 		}
		xml = jXquery("fetchroot=/templates/dummy.xml");
		xsl = jXquery("fetchroot=/templates/basketPopup.xsl");
		out = transXML(xml,xsl,"basketPrice=1","itemCount="+count);
		//genericElementMethods.apply(document.body);
		if(basketPopup)
			document.body.replaceChild(out,basketPopup);
		else
			document.body.appendChild(out);
// 		alert(gId('basketPopup').id);
// 		document.body.appendChild(basketPopup);
		//alert(gId('basketPopup').parentNode);
		window.clearTimeout(t1);
		t1=window.setTimeout('removeEl(\'basketPopup\')',5000);
		//window.clearTimeout(t2);
		//t2=window.setTimeout('removeEl(basketPopup.firstChild)',1500);
}


function removeBasketTop() { // TEPRVE POTE, CO SE VYPRAZDNI NA SERVERU
	if (gId('basketTop')!=null)
		gId("basketTop").parentNode.removeChild(gId("basketTop"));
	}

function removeBasket() { // TEPRVE POTE, CO SE VYPRAZDNI NA SERVERU
	if (gId('basket')!=null)
		gId("basket").parentNode.removeChild(gId("basket"));
	}

function toggleBasket(o,basket) {
	if (bdiv=gId('basket')) {
		o.value="Zobrazit";
		removeEl(bdiv);
	} else {
		o.value="Skrýt";
		displayBasket(basket);
		if (cb=gId('continueBasket'))
			cb.focus();
	}
}

function basketButton(way) {
	if (bbutton=gId('showBasket'))
		if (way=="open")
			bbutton.value="Zobrazit";
		else
			bbutton.value="Skrýt";
}

function displayBasket(basket) { //CLIENT SIDE
	var dc;
	if (jquery("currentUser")==-1) {
		alert("Přihlašte se, prosím");
		return ;
	}
	if (!arguments[0])
		var basket = getCurrentBasket();
	if (basket==-1) {
		alert("Košík je prázdný.");
		return;
	}

	//if (ie) {
	//  pozadi=ieTransform('/templates/basket.xml','/templates/basket.xsl',"basket="+basket);
	//  container = elm("div");
	//  container.innerHTML=pozadi;
	//  if ((bdiv=gId('basket'))!=null)
	//    replace(bdiv.parentNode,bdiv,container.firstChild);
	//  else
	//    gId('present').insertBefore(container.firstChild,gId('present').firstChild);
	//} else {
		var pozadi=getTransFragment('/templates/basket.xml','/templates/basket.xsl',"basket="+basket);

		if (gId('basket')!=null)
			replace(gId('basket').parentNode,gId('basket'),pozadi);
		else {
			gId('basket_place').ac(pozadi);
		}
		if (document.implementation.hasFeature("Events","2.0")) {
			gId('basket').addEventListener("click",simpleExitHandler,false);
		}

		var xsl=jXquery('fetchroot=/templates/basketContent.xsl'); // ZDE SJEDNOTIT DO 1 VOLANI AJAX -> vyrazne RYCHLEJSI!
		var userXML;
		
		var basketUserDiv = gId("basketUser");
		if (basketUserDiv) {
			var userXML=jXquery("fetch=userData");
			var frag=transXML(userXML,xsl);
			basketUserDiv.appendChild(frag);
		}

		userXML=jXquery("fetch=basketContent");
		frag=transXML(userXML,xsl,"basket="+basket);
		gId("basketContent").appendChild(frag);

		userXML=jXquery("fetch=basketTotal");
		// alert(userXML);
		//alert("dCat="+jAquery("getDCat"));
		if (dc=jAquery("getDCat"))
			frag=transXML(userXML,xsl,"dCat="+dc);
		else
			frag=transXML(userXML,xsl);
 		gId("basketTotal").ac(frag);

		userXML=jXquery("fetch=discounts");
		//alert(userXML);
		frag=transXML(userXML,xsl);
		gId("discounts").appendChild(frag);

		userXML=jXquery("fetch=gTotals");
		frag=transXML(userXML,xsl);
		gId("gTotals").appendChild(frag);

	//}
	
}

	function refreshBasket() {
		if (gId('basketContent')!=null) {
			xsl=jXquery('fetchroot=/templates/basketContent.xsl');
			userXML=jXquery("fetch=basketContent");
			frag=transXML(userXML,xsl);
			gId("basketContent").replaceChild(frag,gId('basketContent').firstChild);
			userXML=jXquery("fetch=basketTotal");
			frag=transXML(userXML,xsl);
			gId("basketTotal").replaceChild(frag,gId('basketTotal').firstChild);
			userXML=jXquery("fetch=discounts");
			frag=transXML(userXML,xsl);
			gId("discounts").replaceChild(frag,gId('discounts').firstChild);
			userXML=jXquery("fetch=gTotals");
			frag=transXML(userXML,xsl);
			gId("gTotals").replaceChild(frag,gId('gTotals').firstChild);
		}
	}

	function recalculateBasket(table) {
		bc=gId("basketContent");
		rows=bc.firstChild.lastChild.childNodes;
		//alert(rows.item(0).nodeName);
		var zadani="";
		for (m=0;m<rows.length;m++) {
			myid=getByAttribute("name","id",rows[m].childNodes).firstChild.nodeValue;
			mypcs=getByAttribute("name","pcs",rows[m].childNodes).firstChild.value;
			zadani+=myid+"="+mypcs+",";
			}
		if ((basketNo=jquery("action=recalculateBasket&items='"+zadani+"'"))==-1)
			alert("Chyba při přepočítávání košíku.");
		else
			if (refreshBasketDisplay()==-1)
				basketNote("Košík č. "+basketNo+" byl vysypán.");

	}

	function chooseTransport(tnum) {
		var holder;
		holder = gId('basketOTotalHolder');
		if (!holder)
			return ;
		var content=jXquery("action=changeTransport&transport="+tnum);
		var xsl=jXquery('fetchroot=/templates/identHTML.xsl');
		var output = transXML(content,xsl);
		//alert(holder);
		//var par = holder.parentNode;
		//par.removeChild(holder);
		//par.replaceChild(document.createElement("div"),holder);
		holder.parentNode.replaceChild(output,holder);
	}

	function showAvail(e,n) {
		var win = getPopup(e);
		var txt;
		var parts=eSrc(e).getAttribute('id').split("_");
		var objId = parts[1];
		var stav = jquery("fetch=stockStatus&id="+objId);
		/*var stav = eSrc(e).getAttribute('src').charAt(eSrc(e).getAttribute('src').length-5);*/
		switch (stav) {
			case '1':
				if (n=='1')
					txt = "Skladem v\u00A0pražské prodejně! Do 1\u00A0týdne po celé ČR.";
				else
					txt = "Skladem v\u00A0pražské prodejně! Nákup je možný pouze tam.";
				break;
			case '2':
				txt = "Do 1\u00A0týdne (do 2\u00A0týdnů po celé ČR).";
				if (n!='1') txt = txt + " (Pouze v\u00A0prodejně v\u00A0Praze).";
				break;
			case '3':
				txt = "Do 2\u00A0týdnů (do 3\u00A0týdnů po celé ČR).";
				if (n!='1') txt = txt + " (Pouze v\u00A0prodejně v\u00A0Praze).";
				break;
			case '4':
				txt = "Do 3\u00A0týdnů (do 1\u00A0měsíce po celé ČR).";
				if (n!='1') txt = txt + " (Pouze v\u00A0prodejně v\u00A0Praze).";
				break;
			case '5':
				txt = "Dodávky potvrzeny koncem srpna. Přijímáme předběžné objednávky.";
				if (n!='1') txt = txt + " (Pouze v\u00A0prodejně v\u00A0Praze).";
				break;
			case '0':
				txt = "Tento model je dočasně nedostupný. Zkuste to jindy.";
				break;
			default:
				break;
		}
		pic = el("img",{src: "/image/ikona_sklad_"+stav+".png", style: "float:left;margin-right: 1ex"});
		win.ac(pic);
		win.ac(tn(txt));
	}

function showDiscountsHelp(e) {
	var win = getPopup(e);
	var txt = "Platí při prvním nákupu, kde součásí objednávky je alespoň 1x městské kolo, 1x koš, 3x brašny/kabely, 1x zámek nebo cena libovolné objednávky bez DPH přesahuje částku 25\u00A0000,00 Kč.";
	win.ac(tn(txt));
}
	

	function dispatchBasketPreview(basket) {
		//create divs
		//var place=getBlankShadowWindow("dBPDiv",600,600,5,0);
		var place=getBlankShadeWindow("dBPDiv",600,600,'','',5,0,1,1);
		genericElementMethods.apply(place);
		//fillthem with php reply
		//var content=jquery("fetchroot=/templates/dummy.xml");
		//var xsl=jXquery('fetchroot=/templates/basketDispatchPreview.xsl');
		//var frag=transXML(content,xsl,"basket="+basket);
// 		pre=elm("pre");
 		//place.ac(pre);
		
		//place.ac(frag);
		//place.ac(tn(content));
		place.style.overflow="auto";

		//content=jquery("fetch=userData");
		//xsl=jXquery('fetchroot=/templates/basketContentPreview.xsl');
		//frag=transXML(content,xsl);
		//gId("basketUserP").appendChild(frag);
		//pre.ac(tn(content));

		//content=jquery("fetch=basketContent");
		//frag=transXML(content,xsl);
		//gId("basketContentP").appendChild(frag);	
		
		//alert(cuser);
		var content=jXquery("fetch=basketDispatchPreview");
 		var xsl=jXquery('fetchroot=/templates/identHTML.xsl');
// 		pre.ac(tn(content));
// 		place.ac(pre);
		var output = transXML(content,xsl);
		if (ie()) {
			var indiv=document.createElement("div");
			genericElementMethods.apply(indiv);
			indiv.st({width: "97%"});
			indiv.ac(output);
			place.ac(indiv);
		} else
			place.ac(output);
		//if (db=gId('dispatchbutton'))
			//db.focus();
	}


	function dispatchBasket(o) {
		if (allRequired("name,street,town,zip")) { // INVERT
			alert("Pro zaslání zboží je nutné vyplnit adresu.");
		} else {
			//alert("deliveryAddress="+gId('deliveryAddress').value+",deliveryNotes="+gId('deliveryNotes').value);
			//alert("action=dispatchBasket&deliveryAddress="+gId('deliveryAddress').value+"&deliveryNotes="+gId('deliveryNotes').value);
			var basketNo=postQuery("action=dispatchBasket&deliveryAddress="+gId('deliveryAddress').value+"&deliveryNotes="+gId('deliveryNotes').value);
			//alert("Kosik: "+basketNo);
			if (basketNo==-1)
				alert("Chyba při přístupu k databázi.");
			else if (basketNo==-2)
				alert("Chyba odesílání košíku v e-mailu.");
			else {
				closeShadowDiv(gId('dBPDiv'));
				if (refreshBasketDisplay()==-1)
					alert("Košík č. "+basketNo+" byl odeslán. Děkujeme. V nejbližší době Vás budeme kontaktovat.");
				else
					alert("Vyskytla se chyba při překreslování stránky.");
				//alert("Košík č. "+basketNo+" byl odeslán. Děkujeme! Objednávku potvrdíme telefonicky.");
			}
		}
	}		
