
function testIt() {
  alert("hoho");
  }

function preloadImp(symroot) {
	sekce=["co","proc","kde","kdo"];
	for (i=0;i<sekce.length;i++) {
		image=new Image();
		image.src=symroot+"/image/lnav_"+sekce[i]+".png";
	}
	for (i=0;i<sekce.length;i++) {
		image=new Image();
		image.src=symroot+"/image/lnav_"+sekce[i]+"_o.png";
	}
		image=new Image();image.src=symroot+"/image/x0tnav_bg_i.png";
		image=new Image();image.src=symroot+"/image/x0tnav_bg.png";
		
	//gId('d1024').listenTo('click',basketInfo,false);

}


function fId(name) {
  return document.getElementById(name);
  }

ie=window.navigator.appName == "Microsoft Internet Explorer";


function populateNew(from,to) {
	for (i=0;i<from.childNodes.length;i++) {
		if (to.childNodes.item(i)) {
			elem=to.childNodes.item(i).firstChild;
			if (elem.type=="text") {
				elem.value = from.childNodes.item(i).hasChildNodes() ? from.childNodes.item(i).firstChild.nodeValue : '';
			}
		}
	}
}

function addMiniNav(nazev) {
	mini=document.getElementById("mininav");
	a=document.createElement("a");
	href=document.createAttribute("href");
	href.value="#"+nazev;
	a.setAttributeNode(href);
	a.appendChild(document.createTextNode("Edituj vlastnosti: "+nazev));
	mini.appendChild(a);
	mini.appendChild(document.createElement("br"));
}

function alertuj(text) {
	alert(text);
}

function enableAllInputs(form) {
	for (i=0;i<form.elements.length;i++) {
		if (form.elements[i].type=="text") form.elements[i].disabled=false;
	} 
}

function constructAddress(form) {
	if (form.adresa)
		form.adresa.value=form.adresa.value+"/"+form.id.value;
}

function prepareAddress(form) {
	if (form.adresa)
		form.adresa.value=parentAddress(form.adresa.value);
}

function prepareChild(form) {
	if (form.adresa)
		form.adresa.disabled=false;
	form.id.value=form.id.value+"_child";
	if (form.vetev) form.vetev.value="false";
}

function prepareSubmit(form) {
	//constructAddress(form);
}

function parentAddress(adresa) {
	return adresa.slice(0,adresa.lastIndexOf("/"));
}

function checkAll(form, nname) {
	var i;
	for (i=0;i<form.elements.length;i++) { 
		if (form.elements[i].type=="checkbox" && form.elements[i].name==nname) form.elements[i].checked=true;
	}
}

function checkAllOptions(form, nname) {
	var i;
	for (i=0;i<form.elements.length;i++) { 
		if (form.elements[i].type=="select-multiple" && form.elements[i].name==nname) {
			form.elements[i].selectedIndex=-1;
		}
	}
}


function uncheckAll(form, nname) {
	var i;
	for (i=0;i<form.elements.length;i++) { 
		if (form.elements[i].type=="checkbox" && form.elements[i].name==nname) form.elements[i].checked=false;
	}
}

function invertAll(form, nname) {
	var i;
	for (i=0;i<form.elements.length;i++) { 
		if (form.elements[i].type=="checkbox" && form.elements[i].name==nname && form.elements[i].checked==true) form.elements[i].checked=false;
		else if (form.elements[i].type=="checkbox" && form.elements[i].name==nname) form.elements[i].checked=true;
	}
}



function highlightTnavButton(name) {
	var obj=fId('tnav_button_'+name);
	if (obj) {
	//alert(obj.id);
	oldClass=obj.className;
	obj.className=oldClass+" over";
	}
}

function shadeTnavButton(name) {
	var obj=fId('tnav_button_'+name);
	//alert(obj.id);
	if (obj) {
	oldClass=obj.className;
	n=oldClass.length;
	obj.className=oldClass.substring(0,n-5);
	//alert(obj.className);
	}
}

function presentLeft() {
	pres=document.getElementById('present');
	pres.style.marginLeft="0";
	}

function enlargeImageOld(novy) {
	try {
		var prt = novy.parentNode;
		for (var i=0;i<prt.childNodes.length;i++)
			if (prt.childNodes[i].nodeName=='img' || prt.childNodes[i].nodeName=='IMG')
				if (prt.childNodes[i].className=='main_img')
					break;
		//alert(i);
		if (i<prt.childNodes.length) {
			var stary = prt.childNodes[i];
			var temp=stary.src.replace(/full/,"fthumb");
			stary.src=novy.src.replace(/fthumb/,"full");
			novy.src=temp;
		}
	} catch (e) {}
}

function enlargeImage(novy) {
	try {
		var stary = gId('full_image');
		if (stary) {
			var parts = novy.src.split("/");
			var fname= parts[parts.length-1];
			var hparts = stary.parentNode.href.split("/");
			hparts[hparts.length-1]=fname;
			stary.parentNode.href=hparts.join("/");
			var temp=stary.src.replace(/full/,"fthumb");
			stary.src=novy.src.replace(/fthumb/,"full");
			novy.src=temp;
		}
	} catch (e) {alert(e);}
}

function ieHacks() {
	if (ie) {
		presentLeft();
	}
}

function presentLeft() {
	pres=document.getElementById('present');
//	pres.style.marginLeft="185px";
}

function checkUni(myform) {
	for (i=0;i<myform.elements.length;i++) {
		if (myform.elements.item(i).name.match(/uni_/)) {
			if (myform.elements.item(i).value=="") {
				disableUni(myform);
			}
		}
	}
}

function enableUni(myform) {
	for (i=0;i<myform.elements.length;i++) {
		if (myform.elements.item(i).name.match(/uni_/)) {
			myform.elements.item(i).removeAttribute("disabled");
		}
	}
}

function disableUni(myform) {
	for (i=0;i<myform.elements.length;i++) {
		if (myform.elements.item(i).name.match(/uni_/)) {
			myform.elements.item(i).setAttribute("disabled",true);
		}
	}
}

function nullUni(myform){
	for (i=0;i<myform.elements.length;i++) {
		if (myform.elements.item(i).name.match(/uni_[fo]/)) {
			myform.elements.item(i).selectedIndex=0;
		} else {
			if (myform.elements.item(i).name.match(/uni_c/)) {
				myform.elements.item(i).value="";
			}
		}
	}
}

function advsearchToggle(obj) {
	advsearch=obj.parentNode.lastChild;
	if (advsearch.style.visibility=="visible") {
    advsearch.style.visibility="hidden";
    advsearch.style.width="140px";
		advsearch.style.height="0px";
  }	else {
		advsearch.style.visibility="visible";
		advsearch.style.width="180px";
		advsearch.style.height="200px";
	}
	
	//alert(e.layerX);
}

function createDiv(e,myform) {
  div=document.createElement("div");
  div.setAttribute("style","position:absolute;z-index:500;width:295px;height:200px;background-color:white;border:1px solid #a7a7a7;");
  mytop=e.layerY-30;
  myleft=e.layerX;
  div.style.top=mytop+"px";
  div.style.left=myleft+"px";
  div2=div.cloneNode(false);
  div2.style.top=(mytop+5)+"px";
  div2.style.left=(myleft+5)+"px";
  div2.style.backgroundColor="#494949";
  div2.style.borderWidth=0;
  div2.style.zIndex=499;
  exitButton=document.createElement("input");
  exitButton.setAttribute("value","Zavřít");
  exitButton.setAttribute("type","button");
  exitButton.setAttribute("class","linka");
  exitButton.setAttribute("style","margin:10px;float:right");
  exitButton.onclick=closeThese;
  div.appendChild(exitButton);
  document.body.appendChild(div2);
  document.body.appendChild(div);
  }

function closeThese() {
  //document.removeChild(div2);
  //document.removeChild(div);
  //alert(this.nodeName);
  this.parentNode.parentNode.removeChild(this.parentNode.previousSibling.previousSibling);
  this.parentNode.parentNode.removeChild(this.parentNode.previousSibling);
  this.parentNode.parentNode.removeChild(this.parentNode);
}

function ieStyle(obj,styleStr) {
	alert(obj.id);
	}

var ies = new Array();
ies["present"] = "div#present {margin-left:185px;}";
ies["d1024"] = "div#d1024{left: 50%;margin-left:-500px;}";

function fireStyles(id) {
	head=document.getElementsByTagName('head')[0];
	childs=head.childNodes;
	var j = 0;
	for (i=0;i<childs.length;i++) {
		if (childs.item(i).nodeName=="STYLE") j=i;
	}
	//alert(j);
	if (j>0) {
		st=childs.item(j);
		st.firstChild.appendData(ies[id]);
	} else {
		st=document.createElement('style');
		st.appendChild(document.createTextNode(ies[id]));
		head.appendChild(st);
	}
	//alert(st.nodeName);
}

function fireStyle(id,styleName,styleValue) {
	alert(eval("document.getElementsByTagName('head')[0]"));
	//alert(eval("document.getElementById(d1024)"));
	//eval("document.getElementById("+id+").style."+styleName+"="+styleValue+"");
	}



function includeFile(scriptpath){
	var oXML = getXMLHttpObj();
	oXML.open('GET', scriptpath, false);
	oXML.send('');
	if (oXML.status>199 && oXML.status<299) {
		window["funkce"] = eval(oXML.responseText);
		alert(eval(oXML.responseText));
	}	else alert(oXML.status+": "+scriptpath+" "+oXML.statusText);
}


function loadScript(scriptpath, functions){
	var oXML = getXMLHttpObj();
	oXML.open('GET', scriptpath, false);
	oXML.send('');
	if (oXML.status>199 && oXML.status<299) {
		eval(oXML.responseText);
		for(var i=0; i<functions.length; i++) {
			window[functions[i]] = eval(functions[i]);
		}
	}	else alert(oXML.status+": "+scriptpath+" "+oXML.statusText);
}

function first(pole) {
	if (pole.length>0) return pole[0];
	}

function handle(e) {
	alert("Message: "+e["message"]+'\n'+"File: "+e["fileName"]+'\n'+"Line: "+e["lineNumber"]+'\n'+"Stack: "+e["stack"]);
}

function currentPath() {
	return document.location;
	}

function checkNames(form,atr) {
	deti=form.childNodes;
	for (i=0;i<deti.length;i++)
		if (deti.item(i).nodeName=='INPUT' && deti.item(i).getAttribute(atr)!=null && deti.item(i).value=='') {
			alert("Vyplňte, prosím, pole označená hvězdičkou.");
			return false;
		}
	return true;
}

function checkDNames(form,atr) {
	deti=form.childNodes;
	for (i=0;i<deti.length;i++)
		if (deti.item(i).name!='dic' && deti.item(i).nodeName=='INPUT' && deti.item(i).getAttribute(atr)!=null && deti.item(i).value=='') {
			alert("Vyplňte, prosím, také pole označená křížkem.");
			return false;
		}
	return true;
}

function activateDNames(form,atr) {
	deti=form.childNodes;
	for (i=0;i<deti.length;i++)
		if (deti.item(i).nodeName=='INPUT' && deti.item(i).getAttribute(atr)!=null) {
			deti.item(i).disabled=false;
			deti.item(i).previousSibling.className="regName";
		}
}

function deactivateDNames(form,atr) {
	deti=form.childNodes;
	for (i=0;i<deti.length;i++)
		if (deti.item(i).nodeName=='INPUT' && deti.item(i).getAttribute(atr)!=null) {
			deti.item(i).disabled=true;
			deti.item(i).previousSibling.className="regNameD";		
		}
}

function checkSouhlas(form) {
	if (form.souhlas.checked)
		return true;
	else
		{
			alert("Přijměte, prosím, vybrané obchodní podmínky");
			return false;
		}
}

function checkTelm(form,tel) {
	if (ie())
		value = getByName(arguments[1],form.elements).value;
	else
		value=eval("form."+tel+".value;");
	if (value.length!=9 || value.charAt(0)=='1') {
		alert("Zadejte telefonní číslo v devítimístném formátu bez mezer");
		return false;
	}
	return true;
}

function checkEmail(form,em) {
	if (ie())
		value = getByName(arguments[1],form.elements).value;
	else
		value=eval("form."+em+".value;");
	if (value.search(/(([a-zA-Z0-9])+\.)*([a-zA-Z0-9])+@(([a-zA-Z0-9])+\.)*([a-zA-Z0-9])+\.(.){2,}/)==-1) {
		alert("Zadejte správný e-mail");

		return false;
	}
	return true;
}

function checkDic(form,dic) {
	return true; //VZDY ANO, NEKONTROLUJEME DIC, JSOU I BEZ NEJ
	if (ie())
		value = getByName(arguments[1],form.elements).value;
	else
		value=eval("form."+dic+".value;");
// 	alert(value);
	if (value!='')
		if (value.charAt(0).toLowerCase()!='c' || value.charAt(1).toLowerCase()!='z') {
			alert("Zadejte správné DIČ");
			return false;
		}
	return true;
}

function checkZip(form,zip) {
	if (ie())
		value = getByName(arguments[1],form.elements).value;
	else
	value=eval("form."+zip+".value;");
	if (value!='') {
		if (value.search(/([0-9]){5}/)==-1 && value.search(/([0-9]){3} ([0-9]){2}/)==-1) {
			alert("Zadejte správně PSČ");
			return false;
		}
	}
	if (value.search(/([0-9]){3} ([0-9]){2}/)!=-1) eval("form."+zip+".value=value.substring(0,3)+value.substring(4,6);");
	return true;
}

function checkLogin(form,em) {
	if (ie())
		value = getByName(arguments[1],form.elements).value;
	else
		value=eval("form."+em+".value;");
	var re = new RegExp("[^a-zA-Z0-9\.-_]");
	if (value.match(re)) {
		alert("Pro uživatelské jméno a heslo použijte, prosím, pouze následující znaky bez mezer: a-zA-Z0-9.-_");
		return false;
	}
	return true;
}

function prepareJQuery(form,atts) {
	var q='';
	for (i=0;i<form.elements.length;i++)
		if (member(form.elements[i].type,atts)) 
			if (form.elements[i].value!=null && form.elements[i].value!='') {
// 				alert("&"+form.elements[i].name+"="+form.elements[i].value);
				q+="&"+encodeURIComponent(form.elements[i].name+"="+form.elements[i].value);
				}
	if (q!=null) 
		return q;
	else 
		return null
}

function loginAsUser(user,pass) {
	if (lph = gId('lostPwdHelp'))
		sendForgotten();
	else {
		result=jquery("action=applyCss&style="+user+"&class="+pass);
		if (result==1)
			switchLogin("logout");
		else if (result==2)
			window.location.reload();
		else { 
			if (li=gId('loginInput'))
				li.blur();
			alert(result);
			if (li=gId('loginInput'))
				window.setTimeout('li.focus()',500);
		}
		return result;
	}
}

function logoutUser() {
	waitCursor();
	result=jquery("action=clearCss");
	if (result==1)
		switchLogin("login");
	else if (result==2)
		window.location.reload();
	else 
		alert(result);
	autoCursor();
	return result;
}

function getCurrentUserName() {
	if (uname = jquery("action=getCurrentUserRealName"))
		return uname;
}

function updateUserInfo() {
	var span = gId('currentUserName');
	if (span)
		if (uname = getCurrentUserName())
			span.replaceChild(tn(uname),span.firstChild);
		else
			span.replaceChild(tn("Nepřihlášen"),span.firstChild);
}


function logoutQuestion() {
	if (getCurrentUserName()) {
		if (confirm("Opravdu?"))
			logoutUser();
	}	else
		gId('loginInput').focus();
}

function switchLogin(kam) {
	data=jXquery("fetch=dummy");
	stylesheet=jXquery("fetch=loginDialogTemp");
	lc=document.getElementById("logincontainer");
	if (document.implementation.createDocument) {
		try {
			var xslp= new XSLTProcessor();
			if (kam=="logout" && (username=jquery("action=getCurrentUserName"))!=-1)
				xslp.setParameter('','username',username);
			xslp.setParameter('','smer',kam);
			xslp.importStylesheet(stylesheet);
			fragment = xslp.transformToFragment(data, document);
			deleteAllChild(lc);
			lc.appendChild(fragment);
		} catch (x) {
			alert(x);
		}
	} else if (window.ActiveXObject) {
		try {
			var xml = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
			var xsl = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
			var result = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
			xsl.loadXML(stylesheet.xml);
			xml.loadXML(data.xml);
			var xslt=new ActiveXObject("MSXML2.XSLTemplate");
			xslt.stylesheet=xsl;
			var xslp = xslt.createProcessor();
			xslp.input = xml;
			//xslp.output = result;
			if (kam=="logout" && (username=jquery("action=getCurrentUserName"))!=-1)
				xslp.addParameter('username',username);
			xslp.addParameter('smer',kam);
			xslp.transform();
			//alert(xslp.output);
			lc.innerHTML=xslp.output;
		} catch (e) {
			alert(e.description);
		}
	}
	updateUserInfo();
	refreshBasketDisplay();
	if (kam=="logout") {
		//if (li=gId('logoutButton'))
			//window.setTimeout('li.focus()',300);
		ldivs = getClasses('loginDialog');
		//alert(ldivs.length);
		for (i in ldivs)
			//alert(ldivs[i].className);
			try {
				//alert(ldivs[i].firstChild.className);
				fireMouseEventAt(ldivs[i].firstChild);
			} catch(e) {
				//alert(e.description);
			}
	}	else {
		removeEl('basket');
		//if (li=gId('loginInput'))
		//  window.setTimeout('li.focus()',300);
	}
}

function registerNewLogin(e,form) {
	var userok = true && checkSouhlas(form) && checkNames(form,'comp') && checkZip(form,'zip') && checkDic(form,'dic') && checkTelm(form,'telefon') && checkEmail(form,'email') && checkLogin(form,'login') && checkLogin(form,'pwd');
	for (i=0;i<form.dealprep.length;i++) {
		if (form.dealprep[i].checked)
			if (form.dealprep[i].value=="wh") {
				userok = userok && checkDNames(form,'dcomp');
				var deal=true;
			}
		}
//	alert(deal);
	if (userok) {
		var passwd=ie() ? getByName('pwd',form).value : form.pwd.value;
		var login = ie() ? getByName('login',form).value : form.login.value;
		query=prepareJQuery(form,["text","password"]);
			//alert(query);
//		updateStat("regStat","Odesílám data...");
		if (deal) {
			dquery="&dealer=true"; //+form.dealtype.value;
			result=jquery("action=firstCss"+query+dquery);
		} else
			result=jquery("action=firstCss"+query);
//		updateStat("regStat","Data odeslána");

		//result=-1;

//  		alert(result);
//  		result=1;
		if (result==0 || result==1) {
			if (result==0) {
				alert("Děkujeme za registraci. Na uvedený e-mail Vám budou za okamžik odeslány zadané údaje. Nyní budete přihlášeni jako nový uživatel.");
				runExitNewLogin();
				loginAsUser(login,passwd);
			}	else {
				alert("Děkujeme za registraci. Na uvedený e-mail Vám budou za okamžik odeslány zadané údaje. Váš přístup do velkoobchodu bude aktivní do 48 hodin po ověření registrace.");
				runExitNewLogin();
			}
			//alert(e.target);
		} else {
			alert(result);
//			clearStat("regStat");
		}
	}
}

function updateProfile(e,form) {
	var userok = true && checkNames(form,'comp') && checkDic(form,'dic') && checkZip(form,'zip') && checkTelm(form,'telefon') && checkEmail(form,'email');
	if (dStatus())
		userok = userok && checkDNames(form,'dcomp');
	if (userok) {
		var passwd=ie() ? getByName('pwd',form).value : form.pwd.value;
		var login = ie() ? getByName('login',form).value : form.login.value;
		query=prepareJQuery(form,["text","password"]);
//  		alert(query);
 		result=jquery("action=updateCss"+query);
//  		alert(result);
//  		result=1;
		if (result==0) {
			alert("V pořádku uloženo. Moment, stránka bude znovu načtena.");
			//alert(e.target);
// 			runExitNewLogin();
// 			loginAsUser(login,passwd);
			window.location=window.location;
		} else alert(result);
	}
}

function runExitNewLogin() {
	fireMouseEventAt(gId('registerDialog').firstChild);
}

function displayNewLoginWindow(e,ntop) {
// 	try {
		var div = getBlankShadeWindow("registerDialog",300,550,'','',5,0,1,1)
		var data=jXquery('fetch=registerDialog');
 		var shape=jXquery('fetchroot=/templates/identHTML.xsl');
		//alert("symroot="+symRoot());
  	var frag=transXML(data,shape,"symroot="+symRoot());
 		div.ac(frag);
 		
// 		div.ac(elm("pre"),tn(xml));
// 		alert(data.xml);
		
		//var sub = div.lastChild.lastChild.lastChild.firstChild;
		var sub = gId('registerButton');
		
		if (sub) {
			genericElementMethods.apply(sub);		
			sub.listenTo("mouseover","bOver",false);
			sub.listenTo("mouseout","bOut",false);
			sub.listenTo("click",function () {registerNewLogin(e,sub.form)},false);
		}
		
		firstReg=gId('firstRegister');
		if (firstReg)
			firstReg.focus();

// 	} catch(e) {
// 			alert(typeof(e));
// 		handle(e);
// 	}
}

function toggleForgotten(src) {
// 	debug(elHtml());
	//var src = gId('lostPwd');
// 	alert(elHtml().scrollHeight);
	if (!src)
		return;
	//var lb = gId('loginButton');
	var lb = src.parentNode.firstChild;
	if (!lb)
		return;
	var newvalue,lph;
	if ((lph = src.nextSibling) && lph.getAttribute("id")=='lostPwdHelp') {
		removeEl(lph);
		src.replaceChild(tn("Zapomenuté heslo?"),src.firstChild);
		newvalue = "Přihlásit";
	} else {
		newvalue = "Poslat heslo";
		src.replaceChild(tn("Normální přihlášení"),src.firstChild);
		var inn = elm("span",{id: 'lostPwdHelp'},"Vyplňte svůj login a stiskněte Enter, systém zašle heslo na e-mail uvedený při registraci.");
		inn.style.margin='0 1ex';
		src.parentNode.appendChild(inn);
	}
	lb.value=newvalue;
}

function sendForgotten() {
	var li = gId('loginInput');
	var li2 = gId('loginPInput');
	if (!li && !li2)
		return;
	else if (li2)
	 li=li2;
	var result = jquery("action=sendForgotten&login="+li.value);
	switch (result) {
    case '3':
  		alert("Daný login neexistuje.");
  		break;
  	case '2':
  		alert("Chyba databáze.");
  		break;
	  case '1':
	   alert("Nepodařilo se poslat e-mail. Kontaktujte nás.")
	   break;
	  case '0':
	   alert("Heslo bylo v pořádku odesláno na Váš e-mail.");
	   toggleForgotten(li.parentNode.nextSibling.lastChild.previousSibling);
		 break;
	  default:
		  alert(result);
		  break;
	}
}

function focusOnLogin() {
	if (li = gId('loginInput'))
		li.focus();
	else if (li = gId('logoutButton'))
		li.focus();
}

function popupWindow(_name,content){
// 	event.clientY+document.getElementsByTagName('html').item(0).scrollTop
 	win = getBlankShadeWindow(_name,'','',trueX()+10,trueY()+10,3,0,1,1);
	win.appendChild(content);
// 	alert(trueY());
}

function snipPopup(_name) {
 	xml = jXquery("fetchroot=/templates/dummy.xml");
 	xsl = jXquery("fetchroot=/templates/"+_name+".xsl");
 	popupWindow(_name,transXML(xml,xsl,"smer=login"));
}

function loginPopup() {
	evt = arguments[0];
	_name="loginPopup";
 	xml = jXquery("fetchroot=/templates/dummy.xml");
 	xsl = jXquery("fetchroot=/templates/"+_name+".xsl");
 	win = getBlankShadeWindow(_name,185,300,trueX(evt)-95,trueY(evt)-70,5,0,1,0);
	win.appendChild(transXML(xml,xsl,"smer=login"));
	gId('loginPInput').focus();
}

function sameNamePopup(_name) {
 	xml = jXquery("fetchroot=/templates/"+_name+".xml");
 	xsl = jXquery("fetchroot=/templates/"+_name+".xsl");
 	popupWindow(_name,transXML(xml,xsl,"smer=login"));
}
