/// Kontrola správnosti zadání emailové adresy
function emailCheck(email) {
    if (""!=email) {
        if (window.RegExp) {
            re = new RegExp("^[_a-zA-Z0-9\-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)*\.[a-zA-Z]{2,6}$");

            if (!re.test(email)) {
                return false;
            }
        }
    }
    return true;
}

// kontrola formulare
function checkForm(elem, ticket) {
    if ('' == elem.jmeno.value) {
        alert("Vyplňte prosím jméno.");
        return false;
    }

    if ('' == elem.telefon.value) {
        alert("Vyplňte prosím telefon.");
        return false;
    }

    if ('' == elem.email.value) {
        alert("Vyplňte prosím email.");
        return false;
    } else {
        if (!emailCheck(elem.email.value)) {
            alert("E-mail nemá správný formát!");
            return false;
        }
    }

    if ('' == elem.zprava.value) {
        alert("Vyplňte prosím dotaz.");
        return false;
    }

    // nastaveni ticketu
    var elem = document.getElementById('ticket');

    if (!elem) {
        return false;
    }

    elem.value = ticket;

    return true;
}

// kontrola formulare
function checkFormForum(elem, ticket) {
    if ('' == elem.jmeno.value) {
        alert("Vyplňte prosím jméno.");
        return false;
    }

    if ('' == elem.zprava.value) {
        alert("Vyplňte prosím zprávu.");
        return false;
    }

    // nastaveni ticketu
    var elem = document.getElementById('ticket');

    if (!elem) {
        return false;
    }

    elem.value = ticket;

    return true;
}

// zkontroluje formular s objednavkou
function checkObjednavka(elem, ticket) {
    // pole identifikatoru, u kterych se kontroluje vkladana hodnota
    var elements = new Array(
        'pocet_dospelych', 'pocet_deti', 'jmeno', 'prijmeni', 'ulice', 'mesto', 'psc', 'email', 'telefon'
    );

    // pole nazvu
    var names = new Array(
        'Počet dospělých', 'Počet dětí', 'Jméno', 'Příjmení', 'Ulice', 'Město', 'PSČ', 'E-mail', 'Telefon'
    );

    // pomocne promenne
    var el, re, i, focus = '', error = '';

    for (i = 0; i < elements.length; i++) {
        el = document.getElementById(elements[i]);

        if (!el) {
            return false;
        }

        if (el.value.length == 0) {
            error = error + "Vyplňte prosím " + names[i] + ".\n\n";
        } else if ('email' == elements[i]) {
            if (window.RegExp) {
            		re = new RegExp("^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+[\.][a-zA-Z]{2,4}$");

            		if (!re.test(el.value)) {
              			error = error + "Emailová adresa je neplatná, zadejte ji prosím znovu.\n\n";
            		}
          	}
        }

        if ((error.length > 0) && (focus.length == 0)) {
            focus = el;
        }
    }

    if ((0 == document.getElementById('pocet_dospelych').value) && (0 == document.getElementById('pocet_deti').value)) {
        error = error + "Vyplňte prosím pole Počet dospělých nebo Počet dětí.\n\n";
        if (focus.length == 0) {
            focus = document.getElementById('pocet_dospelych');
        }
    }

    if (error.length != 0) {
        alert(error);
        focus.focus();
        return false;
    }

    // nastaveni ticketu
    var elem = document.getElementById('ticket');

    if (!elem) {
        return false;
    }

    elem.value = ticket;

    return true;
}

function toggleElement(element, button, show, hide)
{
    var tmp = document.getElementById(element);

    if (tmp.style.display == "none" || tmp.style.display == "") {
		    tmp.style.display = "block";
		    button.innerHTML  = hide;
	  } else {
		    tmp.style.display = "none";
		    button.innerHTML  = show;
	  }
}

function format_nums_only(e,s)
{
    switch (e.keyCode) {
        case 8:
        case 9:
        case 13:
        case 46:
            return true;
            break;
    }

    if (!(document.all) && (e.keyCode == 116)) {
        return true;
    }

    k = (e.which) ? e.which : e.keyCode;
    
    if (!((k < 48 || k > 57) && (k < 35 || k > 40))) {
        // format numbers to currency
        var tmp = s.value.toString().replace(/ /g,'');
        
        numArr = new String(tmp).split('').reverse();
        
        for (i=2; i<numArr.length; i+=3) {
            numArr[i] += ' ';
        }

       s.value = numArr.reverse().join('');

       return true;
    }

    return false;
}

function date_only(e)
{
    switch (e.keyCode) {
        case 8:
        case 9:
        case 13:
        case 46:
            return true;
            break;
    }

    k   = (e.which) ? e.which : e.keyCode;
    dot = (k == 46);

    var r = ((k < 48 || k > 57) && !dot && (k < 35 || k > 40));

    return !r;
}


function nums_only(e)
{
    switch (e.keyCode) {
        case 8:
        case 9:
        case 13:
            return true;
            break;
    }

    k = (e.which) ? e.which : e.keyCode;
    var r = !((k < 48 || k > 57) && (k < 35 || k > 40));

    return r;
}

function objCheck(cinnost, names, ids)
{
    var tmp;

    for (var i = 0; i < ids.length; i++) {
        tmp = document.getElementById(ids[i]);

        if (!tmp.value) {
            var pole = (names[i]) ? names[i] : ids[i];
            var cin  = (cinnost[i]) ? cinnost[i] : 'Zadejte';

            alert(cin + ' prosím ' + pole + '.');
            tmp.focus();
            
            return false;
        } else if (ids[i].indexOf('email') != -1) {
            var valid = emailCheck(document.getElementById(ids[i]));

            if (!valid) {
                tmp.focus();
                
                return false;
            }
        }
    }

    return true;
}

function populateSelect(elt, value, show )
{
    elt.options.length = 0;
    
    for (i = 0; i < show.length; i++) {
        elt.options[i] = new Option(show[i], value[i]);
    }
    
    elt.selectedIndex = 0;
}


var _REF = '';

function redirectTo(ref, time)
{
    if (!time) {
        time = 0;
    }

    _REF = ref;

    window.setTimeout("redirect()", time);
}

function toggleTable(element, button)
{
    // ten sikovny IE nepodporuje display: table-row
    if (navigator.appName.indexOf('Microsoft') != -1){
        toggleElement(element, button, button.innerHTML, button.innerHTML);
        return false;
    }
    
    var tmp = document.getElementById(element);

    if (tmp.style.display == "none" || tmp.style.display == "") {
        tmp.style.display = "table-row";
	} else {
	   tmp.style.display = "none";
	}
	return false;
}

function redirect()
{
    window.location.href = _REF;
}

// pouzivano misto (v norme Strict) zakazaneho target='_blank'
function external(url) {
	win = window.open(url);
	return (typeof(win)=='object') ? false : true;
}

// otevre nove okno - url se zjisti z parametru href
// pouzivano misto (v norme Strict) zakazaneho target='_blank'
function external_link(elem) {
	if (elem.getAttribute('href')) {
		return external(elem.getAttribute('href'));
	}
	return true;
}

// odkaz "zpet"
function back() {
    history.go(-1);
    return false;
}
