var gsPlusPath = '';
var gnTypes, oTbl;

// hodnoty plním ASPčkem
var nGroups;
var pkCFG;
var iFirstTshVisible;
var iTshCurrent;
///

var gabGroupHidden = new Array();
var gasGroup = new Array();

var ganCfglPK = new Array();
var gasCfgl = new Array();
var gabCfglHelp = new Array();

var ganPrice = new Array();
var gafkTblCommodity = new Array();
var gaCFGL = new Array();
var gaCFGLI = new Array();
var gasCode = new Array();
var gasName = new Array();
var ganValueDph = new Array();
var gabSpecialPrice = new Array();
var ganDiscount = new Array();
var ganBundleQuantity = new Array();
var gasUrlNoCommodity = new Array();

function SkippedHiddenTsh(id) {
	var nSkipped = 0;
	for (var i=Math.floor(id/2); i<gabGroupHidden.length; i++) {
		if (!gabGroupHidden[i]) return nSkipped;
		nSkipped += 2;
	}
	// všechny groupy už jsou zobrazené/schované, tak ještě SOUHRN
	return nSkipped;
}
function showTshCfg(iTsh) {
	iTshCurrent = iTsh;
	// obecná fce pro přepínání záložek - některé můžou být skryté !
	var oID, oCFGs, bImg, nSkipped;
	if (nGroups==0) return;
	// osetreni prvni zalozky
	if (iTsh==iFirstTshVisible)
//		getE("tshId"+iFirstTshVisible*2).src = '/img/' + gsPlusPath + 'tshBeginOn.gif';
		var x;
	else
		var x;
//		getE("tshId"+iFirstTshVisible*2).src = '/img/' + gsPlusPath + 'tshBeginOff.gif';
	// osetreni posledni zalozky
	if (iTsh == nGroups)
		var x;
//		getE("tshId" + (nGroups+1)*2).src = '/img/' + gsPlusPath + 'tshEndOn.gif';
	else
		var x;
//		getE("tshId" + (nGroups+1)*2).src = '/img/' + gsPlusPath + 'tshEndOff.gif';
	// osetreni zbyvajicich, viditelných!
	for(var i=iFirstTshVisible*2+1; i < (nGroups)*2+2; i++) {
		nSkipped = SkippedHiddenTsh(i);
		oID = getE("tshId" + (i+nSkipped));
		if (iTsh*2+1==i+nSkipped) {
			// prostredek zaply
//			oID.style.backgroundImage = 'url(/img/' + gsPlusPath + 'tshMidOn.gif)';
			oID.className = "DetTshOn";
			getE("tshGroup" + (Math.floor((i+nSkipped)/2))).style.display = "block";
		} else if (i%2==1) {
			// prostredek vyply
//			oID.style.backgroundImage = 'url(/img/' + gsPlusPath + 'tshMidOff.gif)';
			oID.className = "DetTshOff";
			getE("tshGroup" + (Math.floor((i+nSkipped)/2))).style.display = "none";
		} else if (iTsh*2==i+nSkipped) {
			// levy On-okraj
//			oID.src = '/img/' + gsPlusPath + 'tshLROffOn.gif';
		} else if (iTsh*2+2==i) {
			// pravy On-okraj
//			oID.src = '/img/' + gsPlusPath + 'tshLROnOff.gif';
		} else {
			// off
//			oID.src = '/img/' + gsPlusPath + 'tshLROffOff.gif';
		}
		i+=nSkipped;
	}
}
function CfglIndexFromPK(pkCFGL) {
	var n = ganCfglPK.length;
	for (var i = 0; i<n; i++) {
		if (ganCfglPK[i]==pkCFGL)
			return i;
	}
	return null;
}
var nSumPrice0WDPH, nSumPrice5WDPH, nSumPrice19WDPH, nSumPrice22WDPH;
function showCfgPriceAndItems() {
	// přepočet ceny + sCFGLaI aktuálně vybrané varianty konfigurace
	var i,ii,iCFGL,o,oo,nSumPrice,nSumPriceWDPH,sHTMLtmp,sHTML,sHtmlNoCommodity,sPrice,nPrice1ks,nPriceTmp, saCFGL, saCFGLI, sDelimiter, sName, pkCFGLlast, pkCFGLnoCommodityLast, sIfNoCommodityAndNoOtherThenHide;
	//if (nGroups==0) return; ... zobrazím nulovou cenu ...
	i=0;
	nSumPrice = 0;
	nSumPrice22WDPH = 0;
	nSumPrice19WDPH = 0;
	nSumPrice5WDPH = 0;
	nSumPrice0WDPH = 0;
	sHTML = "";
	sHtmlNoCommodity = "";
	sDelimiter = "";
	saCFGL = "";
	saCFGLI = "";
	pkCFGLlast = -1;
	pkCFGLnoCommodityLast = -1;
	o = (getE('iItem0') == null) ? null : getE("iItem"+i);
	while (o!=null) {
		if (((o.tagName=="INPUT") && (o.checked)) || ((o.tagName=="OPTION") && (o.selected))) {
			nPrice1ks = Math.round( ganPrice[i] / 10 * (100-ganDiscount[i]))/10;
			nPriceTmp = nPrice1ks * ganBundleQuantity[i];
			nSumPrice += nPriceTmp;
			if (ganValueDph[i]==22)
			    nSumPrice22WDPH += nPriceTmp * 1.22;
			else if (ganValueDph[i] == 20)
			    nSumPrice19WDPH += nPriceTmp * 1.20;				
			else if (ganValueDph[i]==19)
				nSumPrice19WDPH += nPriceTmp * 1.19;
			else if (ganValueDph[i]==5)
				nSumPrice5WDPH += nPriceTmp * 1.05;
			else
				nSumPrice0WDPH += nPriceTmp;
			// zobrazení ceny vybraného OPTIONu
			if (o.tagName=="OPTION") {
				ii = i;
				oo = getE("iItemPrice"+ii);
				while (oo==null) {
					ii+=1;
					oo = getE("iItemPrice"+ii);
				}
				sPrice = (gasCode[i]=='') ? 'zdarma' : ((nPriceTmp==0) ? 'zdarma' : FormatCurrency(nPriceTmp,1) + '0');
				getE("iItemPrice"+ii).innerHTML = sPrice;
			} else {
				sPrice = ((nPriceTmp==0) ? 'zdarma' : FormatCurrency(nPriceTmp,1) + '0');
			}
			saCFGL += sDelimiter + gaCFGL[i];
			saCFGLI += sDelimiter + gaCFGLI[i];
			if (gafkTblCommodity[i]!=0) {

				// nejde o položku "bez položky"
				sDelimiter = "$$";
				if (ganBundleQuantity[i]>1)
					sName = ganBundleQuantity[i] + 'x ' + gasName[i];
				else
					sName = gasName[i];

				// získám index CFGL abych mohl vypsat data ...
				if (gaCFGL[i] != pkCFGLlast) iCFGL = CfglIndexFromPK(gaCFGL[i]);

				// hlavičku CFGL vypíšu pouze pokud ještě není vypsaná (zvlášť pro zboží a zvlášť pro integrované položky)
				sIfNoCommodityAndNoOtherThenHide = ((gafkTblCommodity[i]==-1) && (gaCFGL[i] == pkCFGLlast)) ? " style='display:none'" : "";

				sHTMLtmp =
					(
						(
							((gafkTblCommodity[i]!=-1) && (gaCFGL[i] != pkCFGLlast)) ||
							((gafkTblCommodity[i]==-1) && (gaCFGL[i] != pkCFGLnoCommodityLast))
						) ? "<tr" + sIfNoCommodityAndNoOtherThenHide + "><td class='cfglName'>" + gasCfgl[iCFGL] + "</td></tr>" : ""
					) +
					"<tr class='cfgItemRec0'" + sIfNoCommodityAndNoOtherThenHide + ">" +
					"	<td style='width:486px;'>" +
					"		<input type='hidden' name='nPrice' value='" + nPrice1ks + "'>" +
					"		<input type='hidden' id='fkCFGL' name='fkCFGL' value='" + gaCFGL[i] + "'>" +
					"		<input type='hidden' name='fkCFGLI' value='" + gaCFGLI[i] + "'>" +
					"		<input type='hidden' name='fkTblCommodity' value='" + gafkTblCommodity[i] + "'>" +
					"		<input type='hidden' name='sCode' value='" + gasCode[i] + "'>" +
					"		<input type='hidden' name='sName' value='" + gasName[i].replace(/'/g,"&#39;") + "'>" +
					"		<input type='hidden' name='nValueDph' value='" + ganValueDph[i] + "'>" +
					"		<input type='hidden' name='bSpecialPrice' value='" + gabSpecialPrice[i] + "'>" +
					"		<input type='hidden' name='nDiscount' value='" + ganDiscount[i] + "'>" +
					"		<input type='hidden' name='nBundleQuantity' value='" + ganBundleQuantity[i] + "'>" +
					"		&nbsp; &nbsp; " + sName +
					((gafkTblCommodity[i]!=-1) ?
						" <a href='/DetailPageCFG.asp?DPG=" + gafkTblCommodity[i] + "' target='_blank' title='Detail ...'><!-- <img border=0 src='/img/info.gif'> --></a>"
						:
						((gasUrlNoCommodity[i]=='') ?
							""
							:
							" <a href='" + gasUrlNoCommodity[i] + "' target='_blank' title='Detail ...'><!-- <img border=0 src='/img/info.gif'> --></a>"
						)
					) +
					"	</td>" +
					"	<td style='text-align:right; vertical-align:top' class='cfgItemPrice'>" +
					sPrice +
					"	</td>" +
					"</tr>";
				// abych nevypisoval 2x nadpis CFGL, uložím si jej při prvním použití
				// a vypsání položek zvlášť zboží a zvlášť (nakonec) integrovaných
				if (gafkTblCommodity[i]!=-1) {
					pkCFGLlast = gaCFGL[i];
					sHTML += sHTMLtmp;
				} else {
					pkCFGLlast = gaCFGL[i];
					sHtmlNoCommodity += sHTMLtmp;
				}

				//sHTML += sHTMLtmp;
			}
		}
		i+=1;
		o = getE("iItem"+i);
	}
	nSumPriceWDPH = Math.round(nSumPrice0WDPH*10)/10 + Math.round(nSumPrice5WDPH*10)/10 + Math.round(nSumPrice19WDPH*10)/10 + Math.round(nSumPrice22WDPH*10)/10;
	getE("cfgPrice").innerHTML =
		"<span style='width: 80px;text-align: right;'>" + FormatCurrency(nSumPrice,1) + '0 </span><span style="width: 52px; text-align: right; font-size: 10px;font-weight: normal;">bez DPH</span><br>' +
		"<span style='width: 80px;text-align: right;'>" + FormatCurrency(nSumPriceWDPH,1) + '0 </span><span style="width: 52px; text-align: right; font-size: 10px;font-weight: normal;">s DPH</span>';
	getE("cfgPriceSum").innerHTML = FormatCurrency(nSumPrice,1) + '0';
	getE("cfgPriceSumWDPH").innerHTML = FormatCurrency(nSumPriceWDPH,1) + '0';
	getE("CFGLaI").value = saCFGL + '##' + saCFGLI;
	o = getE("tshGroup"+nGroups);
	if (o!=null) o.innerHTML = 
		"<table cellspacing=2 cellpadding=0 border=0 class='medium border' style='width:100%;line-height:16px'>" +
		sHTML +
		sHtmlNoCommodity +
		"</table>";
}
function UncheckAllCheckboxItems() {
	for (var i=0; i<gaCFGLI.length; i++) {
		o = getE("iItem"+i);
		if ((o.type=="checkbox") && (o.checked)) o.checked = false;
	}
}
function CheckOrSelectCfgListItem(fkCFGL, fkCFGLI) {
	// zaškrtnutí defaultních / zvolených / nakoupených komponent
	var o, f;
	for (var i=0;i<gaCFGLI.length;i++) {
		if (((fkCFGLI==-fkCFGL)&&(gaCFGL[i]==fkCFGL)) || (fkCFGLI==gaCFGLI[i])) {
			// bud je zvoleno "bez položky", nebo zvolím konkrétní
			o = getE("iItem"+i);
			if (o.tagName=="OPTION") {
				// OPTION
				o.selected = true;
			} else {
				// INPUT checkbox / radio
				o.checked = true;
			}
			break;
		}
	}
}
function getCfcCode() {
	// získání unikátního kódu konfigurace (nelze mít pro každou variantu unikátní kód tj. až 6mld. záznamů na 1 konfiguraci)
	var o, i, c, safkCFGL, safkCFGLI, sDelimiter,sTmpCFGL, oF;
	safkCFGL = '';
	safkCFGLI = '';
	sDelimiter = '';
	i = 0;
	o = (getE('iItem0') == null) ? null : getE("iItem0");
	while (o!=null) {
		if (((o.tagName=="INPUT") && (o.checked)) || ((o.tagName=="OPTION") && (o.selected))) {
			safkCFGL  = safkCFGL  + sDelimiter + gaCFGL[i];
			safkCFGLI = safkCFGLI + sDelimiter + gaCFGLI[i];
			sDelimiter = '$$';
		}
		i += 1;
		o = (getE('iItem'+i) == null) ? null : getE("iItem"+i);
	}
	if (sDelimiter == '') {
		getF('frmCfgCode').CFC.value = '';
		alert('Sestavte nejprve konfiguraci');
	} else {
		oF = getF('frmCfgCodeIFR');
		oF.fkCFG.value = pkCFG;
		oF.fkCFGL.value = safkCFGL;
		oF.fkCFGLI.value = safkCFGLI;
		getF('frmCfgCode').CFC.value = 'Moment ...';
		oF.submit();
	}
}
function getCfcCodeA() {
	// získání unikátního kódu konfigurace (nelze mít pro každou variantu unikátní kód tj. až 6mld. záznamů na 1 konfiguraci)
	var o, i, c, safkCFGL, safkCFGLI, sDelimiter,sTmpCFGL, oF;
	safkCFGL = '';
	safkCFGLI = '';
	sDelimiter = '';
	i = 0;
	o = (getE('iItem0') == null) ? null : getE("iItem0");
	while (o!=null) {
		if (((o.tagName=="INPUT") && (o.checked)) || ((o.tagName=="OPTION") && (o.selected))) {
			safkCFGL  = safkCFGL  + sDelimiter + gaCFGL[i];
			safkCFGLI = safkCFGLI + sDelimiter + gaCFGLI[i];
			sDelimiter = '$$';
		}
		i += 1;
		o = (getE('iItem'+i) == null) ? null : getE("iItem"+i);
	}
	if (sDelimiter == '') {
		getF('frmCfgCode').CFC.value = '';
	} else {
		oF = getF('frmCfgCodeIFR');
		oF.fkCFG.value = pkCFG;
		oF.fkCFGL.value = safkCFGL;
		oF.fkCFGLI.value = safkCFGLI;
		getF('frmCfgCode').CFC.value = 'Moment ...';
		oF.submit();
	}
}
function GetAction(nA) {
	var o, i, c, safkCFGL, safkCFGLI, sDelimiter,sTmpCFGL, oF;
	safkCFGL = '';
	safkCFGLI = '';
	sDelimiter = '';
	i = 0;
	o = (getE('iItem0') == null) ? null : getE("iItem0");
	while (o!=null) {
		if (((o.tagName=="INPUT") && (o.checked)) || ((o.tagName=="OPTION") && (o.selected))) {
			safkCFGL  = safkCFGL  + sDelimiter + gaCFGL[i];
			safkCFGLI = safkCFGLI + sDelimiter + gaCFGLI[i];
			sDelimiter = '$$';
		}
		i += 1;
		o = (getE('iItem'+i) == null) ? null : getE("iItem"+i);
	}

	getF("CFGLs").action =
		"/Configuration.asp" +
		"?CFG=" + getE("CFG").value +
		"&ordpkCFG=" + pkCFG +
		"&ordsafkCFGL=" + safkCFGL +
		"&ordsafkCFGLI=" + safkCFGLI +
		"&TSH=" + iTshCurrent +
		"&CFGLaI=" + escape(getE("CFGLaI").value	
	);
//	alert ( getF("CFGLs").action );
}
function BackToShop(sServerAddress) {
	// pokud není správný opener, pak musím přejít na korektní stránku e-shopu!
	var bOpen = false;
	if (window.opener==null) {
		bOpen = true;
	} else if (typeof(window.opener.location.hostname) == 'unknown') {
		bOpen = true;
	} else if (window.opener.location.hostname != sServerAddress ) {
		bOpen = true;
	}
	if (bOpen){
		window.open("http://" + sServerAddress + "/default.asp","","scrollbars=1,toolbar=1,location=1,status=1,menubar=1,resizable=1");
	}else{
		window.opener=self;
	}
	self.close();
}

function ConfigPrintOn() {
	var o, i, c, safkCFGL, safkCFGLI, sDelimiter,sTmpCFGL, oF;
	safkCFGL = '';
	safkCFGLI = '';
	sDelimiter = '';
	i = 0;
	o = (getE('iItem0') == null) ? null : getE("iItem0");
	while (o!=null) {
		if (((o.tagName=="INPUT") && (o.checked)) || ((o.tagName=="OPTION") && (o.selected))) {
			safkCFGL  = safkCFGL  + sDelimiter + gaCFGL[i];
			safkCFGLI = safkCFGLI + sDelimiter + gaCFGLI[i];
			sDelimiter = '$$';
		}
		i += 1;
		o = (getE('iItem'+i) == null) ? null : getE("iItem"+i);
	}

	// povypínám nepotřebné věci pro tisk, vytisknu a zase zapnu
	var oCFGprint = window.open("/ConfigurationPrint.asp?ordpkCFG=" + pkCFG + "&ordsafkCFGL=" + safkCFGL + "&ordsafkCFGLI=" + safkCFGLI, "CFGPRINT","scrollbars=1,status=0,toolbar=0,location=0,directories=0,height=500,width=650,left=10,top=10,resizable=1");
	oCFGprint.focus();
}

function LoadConfigPrint(sCode) {

//alert(sCode)

	var oContent;
	var oSouhrnContent;
	var bOK = true;
	var sHTML = "";
	if (window.opener==null) {
		bOK = false;
	} else if (typeof(window.opener.location.hostname) == 'unknown') {
		bOK = false;
	} else {
		oContent = window.opener.getE('idPrintContent0');
		if (oContent!=null) {
			if (sCode!=0) {
				strText = oContent.innerHTML;
				sHTML += strText.replace(/<!--SCODE-->/g,'  Kód konfigurace: ' + sCode);
				//sHTML += oContent.innerHTML;
			} else {
				sHTML += oContent.innerHTML;
			}
		} else {
			bOK = false;
		}
		i = 0;
		oContent = window.opener.getE('tshGroup0');
		while (oContent!=null) {
			i += 1;
			oSouhrnContent = oContent;
			oContent = window.opener.getE('tshGroup' + i);
		}
		if (oSouhrnContent!=null) {
			sHTML += oSouhrnContent.innerHTML;
		} else {
			bOK = false;
		}
		oContent = window.opener.getE('idPrintContent1');
		if (oContent!=null) {
			sHTML += "<br>" + oContent.innerHTML;
		} else {
			bOK = false;
		}
	}
	if (bOK) {
		getE('idPrintResult').innerHTML = sHTML;
		window.print();
	} else {
		getE('idPrintResult').innerHTML = "<br>Stránku s náshledem pro tisk konfigurace<br>lze zobrazit pouze z detailu konfigurace.<br><br>";
	}
}


function ResizeWindow() {
return;
	var obj = getE('tblConfigurator');
	if (obj != null) {
		var nHeight = obj.offsetHeight + 48;
		if (nHeight>screen.availHeight) {nHeight = screen.availHeight};
		window.resizeTo(obj.offsetWidth+60, nHeight);
		window.moveTo(0,0); // kvůli Configuration.asp
	}
}

function CfglShowDescription(pkCFGL) {
	window.open('/ConfigListDesc.asp?pkCFGL=' + pkCFGL, "CFGLdesc","scrollbars=1,status=0,toolbar=0,location=0,directories=0,height=200,width=650,left=10,top=10,resizable=1");
}

function updateCount( nCount, nMaxRelatedItemCount, iItem, fkRelationshipItem) {
	if (parseInt(nCount)!=nCount) { alert('Zadejte pouze celočíselný výraz.'); return false; }
	ganBundleQuantity[iItem]=nCount;
	if (fkRelationshipItem>'') {
		var newCount=Math.floor(nCount/nMaxRelatedItemCount+0.9); 
		getE('count'+fkRelationshipItem).value=newCount;
		var iItem2, i = 1;
		while ( i<=gafkTblCommodity.length ) {
			if (gafkTblCommodity[i]==fkRelationshipItem) { ganBundleQuantity[i]=newCount ; break; }
			i++;
		}
	}
	showCfgPriceAndItems();
}
function showdetailitem(ident) {
    if (!getE('hidenURL')) return false;
    if (!getE(ident)) return false;

    var a = getE('hidenURL').value.split(';')
    var currValue = getE(ident).options[getE(ident).selectedIndex].value;
    if (getE(ident).options[getE(ident).selectedIndex].text == '- Bez položky, nebo si vyberu alternativu na e-shopu -') return false;
    
    var Url = "";
    for (var i = 0; i < a.length; i++) {
        if (a[i] != '' && a[i].split(':')[0] == currValue ) { var Url = a[i].split(':')[1]; break; }
    }
    if (Url != '') {
        OpenWndAdvance(Url, 800, 800)
        //window.location.href = Url;
    }
    
}