// -*- coding: utf-8 -*-

//********************* OPEN WINDOW *********************
//define general window and its status globaly
var opened_gen = false;
var okno_gen;

//define window and its status for info about V. Skrabanek globaly
var opened_fi = false;
var okno_fi;

//define window and its status for big version of book image globaly
var opened_big = false;
var okno_big;

function openWindow(wurl,wx,wy) //open general window
{
    openNew(wurl,opened_gen,okno_gen,wy,wx);
}

function openFotoInfo() //open info about V. Skrabanek
{
    openNew("skrabanek.html",opened_fi,okno_fi,'200','400');
}

function openBigImage(url_big,bx) //open big version of book image
{
    document['coverImg'].src = url_big;
    var cpw = document.getElementById("coverPopupWrapper");
    cpw.style.width = bx + "px";
    var cpb = document.getElementById("coverPopupBgr");
    cpb.style.visibility = "visible";
    cpb.style.display = "block";
    cpb.style.height = document.body.scrollHeight + 'px';
    cpb.style.width = document.body.scrollWidth + 'px';
    var di = setTimeout("openBigImageCnt()",500);
}

function openBigImageCnt() {
    var cp = document.getElementById("coverPopup");
    cp.style.visibility = "visible";
    cp.style.display = "block";
    cp.style.marginLeft = document.body.scrollLeft + 'px';
    cp.style.marginTop = document.body.scrollTop + 'px';
}

function closeBigImage(url_big) //close big version of book image
{
    document['coverImg'].src = "";
    var cpb = document.getElementById("coverPopupBgr");
    var cp = document.getElementById("coverPopup");
    cpb.style.visibility = "hidden";
    cpb.style.display = "none";
    cp.style.visibility = "hidden";
    cp.style.display = "none";
}

function openNew(url,opened,okno,height,width) //general function for opening window
{
    //create window's name
    var name = url.replace(/^.*\//,"");
    name = name.replace(/\?.*$/,"");
    name = name.replace(/\..*/,"");
    name = name.replace(/\-/g,"");
    //set window's features
    var features = "toolbar=no, status=no, height=" + height + ", width=" + width + ", scrollbars=no, resizable=no, left=200";

    //open window or return focus to it - if it is opened - and reload it
    if (!opened)
	{ 
	    opened = true;
	    okno = window.open(url,name,features);
	    okno.focus();  
	}
    else if (okno.closed)
	{
	    okno = window.open(url,name,features);
	}
    else { 
	okno.focus();
	okno.location.replace(url);
    }
}

//********************* SHOW BANNER *********************

//define index, text, timer and stopper globaly
var idx;
var motto = new Array();;
var timer;
var stopper;

function show(what) //simple show function
{
    document.getElementById(what).style.visibility = "visible";
}

function hide(what) //simple hide function
{
    document.getElementById(what).style.visibility = "hidden";
}

function chooseMotto() //pseudorandom selection of motto according to actual time
{
    var opt_0 = new Array ("N","e","b","á","t"," ","s","e"," ","a"," ","č","í","s","t","!");
    var opt_1 = new Array ("K","d","o"," ","č","t","e"," ","v","í","c","e",","," ","k","r","a","d","e"," ","m","é","n","ě","!");
    var opt_2 = new Array ("D","A","U","P","H","I","N"," ","-"," ","t","o"," ","n","e","j","l","e","p","š","í"," ","z"," ","k","n","i","h","y","!");
    today = new Date();
    secs = today.getSeconds();
    switch (secs % 3) {
    case 0 :
	motto = opt_0;
	break;
    case 1 :
	motto = opt_1;
	break;
    case 2 :
	motto = opt_2;
	break;
    default :
	motto = opt_0;
	break;
    }
}

function showBanner() // start showing banner
{
    //initalize banner, choose motto and start to show letters one by one
    initBanner();
    chooseMotto();
    timer = setInterval("addTxt()",200);
}

function addTxt() //add one letter to banner 
{
    //get banner and add next letter according to idx
    var banner = document.getElementById("banner");
    var btext = document.createTextNode(motto[idx]);
    banner.appendChild(btext);
    //show it and increase idx by one
    show('banner');
    show('bannerBgr');
    idx += 1;
    //if we are finished, stop timer and start banner countdown
    if (idx == motto.length) {
	clearInterval(timer);
	stopper = setTimeout("initBanner()",2000);
    }
}

function initBanner() //hide banner and reset index and all texts in banner
{
    //if timer ot stopper is still active, kill it and hide banner
    if (timer) clearInterval(timer);
    if (stopper) clearTimeout(stopper);
    hide('banner'); 
    hide('bannerBgr'); 
    //reset index
    idx = 0;
    //remove text added to banner
    var banner = document.getElementById("banner");
    for (var i=0;i<motto.length;i++) {
	var btext = banner.firstChild;
	if (btext != null) banner.removeChild(btext);
    }
}

//********************* E-SHOP *********************
var bookList="";

function toggleCount(chb) {
    var cid = "c-" + chb.name;
    var cobj = document.getElementById(cid);
    if (chb.checked) {
	cobj.style.visibility = "visible";
    } else {
	cobj.style.visibility = "hidden";
    }
}

function toggleRow(chb) {
    var cid = "r-" + chb.name;
    var cobj = document.getElementById(cid);
    if (chb.checked) {
	cobj.style.color = "#000000";
    } else {
	cobj.style.color = "#999999";
    }
}

function updateCookie(iid) {
    readCookie();
    toggleCookieInfo(iid);
    writeCookie();
}

function writeCookie() 
{
    document.cookie = "dauphin=" + bookList;
}

function readCookie() 
{
    var name = "dauphin";
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
	begin = dc.indexOf(prefix);
	if (begin != 0) return null;
    } else
	begin += 2;
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
	end = dc.length;
    bookList =  unescape(dc.substring(begin + prefix.length, end));
}

function toggleCookieInfo(iid) {
    var chb = document.forms["eshop"].elements[iid];
    var sel = document.forms["eshop"].elements["count-" + iid];
    var csel = sel.options[sel.options.selectedIndex].value;

    var cinfo = new RegExp(iid + ":[1-5]#");
    bookList = bookList.replace(cinfo,"","g");

    if (chb.checked) {	
	bookList += iid + ":" + csel + "#";
    }
}

function initShopInfo() {
    readCookie();
    var items = bookList.split("#");
    for (var j = 0; j < items.length-1;j++) {
	var items2 = items[j].split(":");
	if (document.forms["eshop"].elements[items2[0]]) {
	    var chb = document.forms["eshop"].elements[items2[0]];
	    var sel = document.forms["eshop"].elements["count-" + items2[0]];
	    chb.checked = true;
	    sel.options.selectedIndex = items2[1]-1;
	    toggleCount(chb);
	}
    }
}

function showBasket() {
    readCookie();
    document.forms["ebasket"].elements["basket"].value = bookList;
    document.forms["ebasket"].submit();
}

function updatePrice() {
    var elems = document.forms["eshop"].elements;
    var tprice = 0;
    //var disc = document.forms["eshop"].elements["discount"].value;
    for (var k = 0; k < elems.length; k++) { 
	if (elems[k].name.match("count-")) {
	    var iid = elems[k].name.replace("count-","");
	    var chb = document.forms["eshop"].elements[iid];
	    var sel = document.forms["eshop"].elements["count-" + iid];
	    var iprice = document.forms["eshop"].elements["pr-" + iid].value;
	    iprice = (iprice == "") ? 0 : iprice;
	    var icount = sel.options[sel.options.selectedIndex].value;
	    if (chb.checked) {
		tprice += Number(iprice) * Number(icount);
	    }
	}
    }
    document.forms["eshop"].elements["tprice"].value = tprice; 
}

function updateDiscount() {
    if (document.forms["eshop"].elements["disc30"].checked) {
	document.forms["eshop"].elements["discount"].value = 15;
    }
    else {
	document.forms["eshop"].elements["discount"].value = 15;
    }
    updatePrice();
}

function toggleCustomer() {
    updateDiscount();
    var os1 = document.getElementById("osob1");
    var os2 = document.getElementById("osob2");
    var os3 = document.getElementById("osob3");
    var fu1 = document.getElementById("faktu1");
    var fu2 = document.getElementById("faktu2");
    var fu3 = document.getElementById("faktu3");
    var fu4 = document.getElementById("faktu4");
    if (document.forms["eshop"].elements["disc30"].checked) {
	os1.style.visibility = "visible";
	os1.style.display = "block";
	os2.style.visibility = "visible";
	os2.style.display = "";
	os3.style.visibility = "visible";
	os3.style.display = "";
	fu1.style.visibility = "hidden";
	fu1.style.display = "none";
	fu2.style.visibility = "hidden";
	fu2.style.display = "none";
	fu3.style.visibility = "hidden";
	fu3.style.display = "none";
	fu4.style.visibility = "visible";
	fu4.style.display = "block";
    }
    else {
	fu1.style.visibility = "visible";
	fu1.style.display = "";
	fu2.style.visibility = "visible";
	fu2.style.display = "";
	fu3.style.visibility = "visible";
	fu3.style.display = "";
	fu4.style.visibility = "hidden";
	fu4.style.display = "none";
	togglePersonal(document.getElementById("osc"));
    }

}

function togglePersonal(rad) {
    var os1 = document.getElementById("osob1");
    var os2 = document.getElementById("osob2");
    var os3 = document.getElementById("osob3");
    var fu2 = document.getElementById("faktu2");
    var fu3 = document.getElementById("faktu3");
    if (rad.checked && (rad.value == 'o')) {
	os1.style.visibility = "hidden";
	os1.style.display = "none";
	os2.style.visibility = "hidden";
	os2.style.display = "none";
	os3.style.visibility = "hidden";
	os3.style.display = "none";
	fu2.style.visibility = "visible";
	fu2.style.display = "";
	fu3.style.visibility = "hidden";
	fu3.style.display = "none";
    } else {
	os1.style.visibility = "visible";
	os1.style.display = "block";
	os2.style.visibility = "visible";
	os2.style.display = "";
	os3.style.visibility = "visible";
	os3.style.display = "";
	fu2.style.visibility = "hidden";
	fu2.style.display = "none";
	if (!checkFormChbox("disc30")) {
	    fu3.style.visibility = "visible";
	    fu3.style.display = "";
	}
    } 
}

function checkForm(fitem) {
    var pomstr = document.forms["eshop"].elements[fitem].value;
    pomstr = pomstr.replace(/\s/g,"");
    if (pomstr == "") {
	return false;
    } else {
	return true;
    }
}

function checkFormRadio(fitem) {
    var elems = document.forms["eshop"].elements;
    var ret = '';
    for (var k = 0; k < elems.length; k++) {
	if ((elems[k].name == fitem) && elems[k].checked) {
	    ret = elems[k].value;
	}
    }
    return ret;
}

function checkFormChbox(fitem) {
    var chbch = document.forms["eshop"].elements[fitem].checked;
    return chbch;
}

function presubmitOrder() {
    readCookie();
    if (bookList == "") {
	alert("Vaše objednávka je prázdná.");
    } else {
	if (checkFormChbox("disc30")) {
	    //check for schools
	    if (((checkFormRadio("platba") == "b") || (checkFormRadio("platba") == "e")) && (checkFormRadio("vyzvednuti") == "p") && checkForm("email") && checkForm("jmeno") && checkForm("ulice") && checkForm("cislo") && checkForm("mesto") && checkForm("psc") && checkForm("fjmeno") && checkForm("fulice") && checkForm("fcislo") && checkForm("fmesto") && checkForm("fpsc") && checkForm("fico") && checkForm("fdic")) {
		document.forms["eshop"].elements["basket"].value = bookList;
		document.forms["eshop"].submit();
	    } else { 
		alert("Pro úspěšné odeslání objednávky je třeba vyplnit všechna povinná pole.");
	    }
	} else {
	    //check for ordinary customers
	    if (checkFormRadio("vyzvednuti") == "o") {
		if ((checkFormRadio("platba") == "h") && checkForm("email")) {
		    document.forms["eshop"].elements["basket"].value = bookList;
		    document.forms["eshop"].submit();
		} else { 
		    alert("Pro úspěšné odeslání objednávky je třeba vyplnit všechna povinná pole.");
		}
	    } else if (checkFormRadio("vyzvednuti") == "p") {
		if (((checkFormRadio("platba") == "d") || (checkFormRadio("platba") == "b") || (checkFormRadio("platba") == "e")) && checkForm("email") && checkForm("jmeno") && checkForm("ulice") && checkForm("cislo") && checkForm("mesto") && checkForm("psc")) {
		    document.forms["eshop"].elements["basket"].value = bookList;
		    document.forms["eshop"].submit();
		} else { 
		    alert("Pro úspěšné odeslání objednávky je třeba vyplnit všechna povinná pole.");
		}
	    } else {
		alert("Pro úspěšné odeslání objednávky je třeba vyplnit všechna povinná pole.");
	    }
	}
    }
}

function submitOrder() {
    readCookie();
    if (bookList == "") {
	alert("Vaše objednávka je prázdná.");
    } else {
	document.forms["eshop"].elements["basket"].value = bookList;
	document.forms["eshop"].submit();
	bookList = "";
	writeCookie();
    }
}

function returnOrder() {
    document.forms["eshop"].action = "kosik.php";
    document.forms["eshop"].submit();
}

//********************* TABS CALENDAR ARCHIVE *********************
function showDefTabContent(tbc) {
    if (window.location.hash != '') {
	var tbn = window.location.hash;
	tbn = tbn.replace(/#/g,"");
	showTabContent(tbn, tbc);
    }
}

function showTabContent(tbn, tbc) {    
    for (var i = 1; i <= tbc; i++) {   
	var tb = document.getElementById('tab' + i);    
	var tbl = document.getElementById('tab' + i + 'Link');    
	tb.className = "tabArea";
	tbl.className = "tabLink";
    }

    var tba = document.getElementById('tab' + tbn);    
    var tbla = document.getElementById('tab' + tbn + 'Link');    
    tba.className = "tabArea Active";
    tbla.className = "tabLink Act";
}

//********************* Pagination *********************
function showPage(pgn,pgc) { 
    for (var i = 1; i <= pgc; i++) {   
	var pg = document.getElementById('pg' + i);    
	var pgl = document.getElementById('pg' + i + 'Link');    
	pg.className = "bookPage";
	if (pgl) {
	    pgl.className = "bookPageLink";
	}
    }

    var pga = document.getElementById('pg' + pgn);    
    var pgla = document.getElementById('pg' + pgn + 'Link');    
    pga.className = "bookPage Selected";
    if (pgla) {
	pgla.className = "bookPageLink Sel";
    }
}

function showPageByBook() {
    var hs = window.location.hash;
    hs = hs.replace(/#/g,"");
    if (hs != '') {
	var bk = document.getElementById(hs);
	if (bk) {
	    var pgn = bk.getAttribute('page');
	    var lpgn = bk.getAttribute('lpage');
	    showPage(pgn,lpgn);
	}
    }
} 

//********************* MISC *********************
var horfoto = new Image();
var daufoto = new Image();
horfoto.src = "img/photos/MistrHoracek01.jpg";
daufoto.src = "img/photos/Oslovujeme01.jpg";

function changePhoto(nm,which) {   
    if (nm == 'horfoto') { 
	document[nm].src = "img/photos/MistrHoracek" + which + ".jpg";
    }
    if (nm == 'daufoto') { 
	document[nm].src = "img/photos/Oslovujeme" + which + ".jpg";
    }
}
