

function valid_string(val) {
var t = 0;
var d = val.length;

if(d > 1) {
// predam retezec, separe posledni znak
var val = val.substr(-1, 1);
}

if(val == " " || val == "  " || val == "   ") { // mezery
t = 2;
return t;
}
else if (val == "") { // backspace
t = 3;
return t;
}
else {
var chars = ['a','b','c','d','e','f','g','h','ch','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', 1, 2, 3, 4, 5, 6, 7, 8, 9, 0];

var val = val.toLowerCase();

for (var i = 0; i < chars.length; i++) {
   	if(val == chars[i]) {
   		if(i==0 && chars[i] >= 0 && chars[i] <= 9){
   		t = 0;
   		break;
   		}
   		else {
	t += 1;
	}
	}
} // end of for
return t;
} // end of else

}



function ajax()
{
    var httpRequest;
    var variable = document.forms["form"]["id_variable"].value;
	var delka = variable.length;
	var kam = "input_result";

	// funkce proti zakazanym znakum
	var ret = valid_string(variable);

	if((ret < 1 || ret > 3)) { // vlozil se zakazany znak

		if(delka > 1) {
		var variable2 = variable.substr(-1, 1);
		document.forms["form"]["id_variable"].value = variable.substr(0, delka-1);
		variable = variable.substr(0, delka-1);
	    alert(variable2+" je zakazany znak!");
		}
		else
		{
		document.forms["form"]["id_variable"].value = "";
		variable = "";
		alert(variable+" je zakazany znak!");
		}

	}
	else if (ret == 2) { // vlozila se mezera
		if(delka > 1) {
		document.forms["form"]["id_variable"].value = variable.substr(0, delka-1);
		variable = variable.substr(0, delka-1);
		alert("mezera je zakazany znak!");
		}
		else
		{
		document.forms["form"]["id_variable"].value = "";
		variable = "";
		alert("mezera je zakazany znak!");

		}

	}
	else if (ret == 3) { // vlozil se backspace
		document.forms["form"]["id_variable"].value = "";
		variable = "";
	}

	// pokračování
	var stranka = '../ajax/ajax-dotaz.php?c_variable='+variable;

    if(typeof window.ActiveXObject != 'undefined')
    {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
        httpRequest = new XMLHttpRequest();
    }
    httpRequest.open("GET", stranka, true);
    httpRequest.onreadystatechange= function ()
    {
        processRequest(httpRequest, kam)
    };
    httpRequest.send(null);
}


function processRequest(httpRequest, kam)
{
    if (httpRequest.readyState == 4)
    {
        if(httpRequest.status == 200)
        {
            if (typeof kam == 'string')
            {
                document.getElementById(kam).innerHTML = httpRequest.responseText;
            }
            if (typeof kam == 'function')
            {
                kam(httpRequest.responseText);
            }
        }
        else
        {
            alert("Chyba pri nacitani stanky " + httpRequest.status +" : "+ httpRequest.statusText);
        }
    }
    else
    {
        if (typeof kam == 'string' && kam != '')
        {
            document.getElementById(kam).innerHTML = 'wait please...';
        }
    }

}


	function find_var() {
	var httpRequest;
    var variable = document.forms["form"]["id_variable"].value;
	var delka = variable.length;
	var kam = "input_result2";


	var stranka = '../ajax/ajax-dotaz.php?f_variable='+variable;

    if(typeof window.ActiveXObject != 'undefined')
    {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
        httpRequest = new XMLHttpRequest();
    }
    httpRequest.open("GET", stranka, true);
    httpRequest.onreadystatechange= function ()
    {
        processRequest(httpRequest, kam)
    };
    httpRequest.send(null);
	}





function getMozSelection(txtarea) {
       var selLength = txtarea.textLength;
       var selStart = txtarea.selectionStart;
       var selEnd = txtarea.selectionEnd;
       if (selEnd==1 || selEnd==2) selEnd=selLength;
       return (txtarea.value).substring(selStart, selEnd);
}

function mozWrap(txtarea, lft, rgt) {
       var selLength = txtarea.textLength;
       var selStart = txtarea.selectionStart;
       var selEnd = txtarea.selectionEnd;
       if (selEnd==1 || selEnd==2) selEnd=selLength;
       var s1 = (txtarea.value).substring(0,selStart);
       var s2 = (txtarea.value).substring(selStart, selEnd)
       var s3 = (txtarea.value).substring(selEnd, selLength);
       txtarea.value = s1 + lft + s2 + rgt + s3;
}

function IEWrap(lft, rgt) {
       strSelection = document.selection.createRange().text;
       if (strSelection!="") {
       document.selection.createRange().text = lft + strSelection + rgt;
       }
}

function wrapSelection(lft, rgt, id) {
		if(id) {
		 var txtarea = document.getElementById("id_lang"+id);
		 }
		 else {
	   var txtarea = document.forms["form"]["id_lang"]; }
       if (document.all) {IEWrap(lft, rgt);}
       else if (document.getElementById) {mozWrap(txtarea, lft, rgt);}
}


function selectVehicles() {
if(document.forms["form"]["id_vehicles"]) {
var pocet_cestujich = document.forms["form"]["id_passengers"].value;
var pa = 0;

  			if (pocet_cestujich <= 8) {
  				pa = 1;
  			}
  			else if(pocet_cestujich<=16) {
  				pa = 2;
  			}
  			else if(pocet_cestujich<=20) {
  				pa = 1;
  			}
  			else if(pocet_cestujich<=28) {
  				pa = 2;
  			}
			else if(pocet_cestujich<=49) {
  				pa = 1;
  			}
	if(pa>0) {
	document.forms["form"]["id_vehicles"].value = parseInt(pa);
	}
}
}


function changeFromTo() {
var from = document.forms["form"]["id_from"].value;
var to   = document.forms["form"]["id_to"].value;

if(from && to) {
document.forms["form"]["id_from"].value=to;
document.forms["form"]["id_to"].value=from;
}
}

function inputArrival() {
var day = document.forms["form"]["id_arr_day"].value;
var month   = document.forms["form"]["id_arr_month"].value;
var year   = document.forms["form"]["id_arr_year"].value;
var hour   = document.forms["form"]["id_arr_hour"].value;
var minute   = document.forms["form"]["id_arr_minute"].value;
if(day && month && year && hour && minute)
{
document.forms["form"]["id_pick_day"].value=day;
document.forms["form"]["id_pick_month"].value=month;
document.forms["form"]["id_pick_year"].value=year;
document.forms["form"]["id_pick_hour"].value=hour;
document.forms["form"]["id_pick_minute"].value=minute;
}
}

function currency () {
    var httpRequest;
    var variable = document.forms["form_curr"]["id_currency"].value;
	var kam = "input_result";


	var stranka = '../ajax/ajax-dotaz.php?curr_variable='+variable;

    if(typeof window.ActiveXObject != 'undefined')
    {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
        httpRequest = new XMLHttpRequest();
    }
    httpRequest.open("GET", stranka, true);
    httpRequest.onreadystatechange= function ()
    {
        processRequest(httpRequest, kam)
    };
    httpRequest.send(null);
}


function setPick() {
		var check = document.getElementById('rad1');
		if(check && check.value == 1) {
		document.getElementById('id_pick_day').disabled=true;
		document.getElementById('id_pick_month').disabled=true;
		document.getElementById('id_pick_year').disabled=true;
		document.getElementById('id_pick_hour').disabled=true;
		document.getElementById('id_pick_minute').disabled=true;
		}
		if(document.getElementById('id_fl_no'))
		document.getElementById('id_fl_no').checked=true;
		if(document.getElementById('id_dr_no'))
		document.getElementById('id_dr_no').checked=true;
		if(document.getElementById('id_sw_no'))
		document.getElementById('id_sw_no').checked=true;
		if(document.getElementById('id_h_flower'))
		document.getElementById('id_h_flower').value = '';
		if(document.getElementById('id_h_drink'))
		document.getElementById('id_h_drink').value = '';
		if(document.getElementById('id_h_sweet'))
		document.getElementById('id_h_sweet').value = '';
		if(document.getElementById('id_next_note_flower'))
		document.getElementById('id_next_note_flower').value = '';
		if(document.getElementById('id_next_note_drink'))
		document.getElementById('id_next_note_drink').value = '';
		if(document.getElementById('id_next_note_sweet'))
		document.getElementById('id_next_note_sweet').value = '';

}

function array_push ( array ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: array_push(['kevin','van'], 'zonneveld');
    // *     returns 1: 3

    var i, argv = arguments, argc = argv.length;

    for (i=1; i < argc; i++){
        array[array.length++] = argv[i];
    }

    return array.length;
}

function array_shift( array ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Martijn Wieringa
    // *     example 1: array_shift(['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: 'Kevin'

    if (array.length > 0) {
        return array.shift();
    }

    return null;
}


function count( mixed_var, mode ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: _argos
    // *     example 1: count([[0,0],[0,-4]], 'COUNT_RECURSIVE');
    // *     returns 1: 6
    // *     example 2: count({'one' : [1,2,3,4,5]}, 'COUNT_RECURSIVE');
    // *     returns 2: 6

    var key, cnt = 0;

    if( mode == 'COUNT_RECURSIVE' ) mode = 1;
    if( mode != 1 ) mode = 0;

    for (key in mixed_var){
        cnt++;
        if( mode==1 && mixed_var[key] && (mixed_var[key].constructor === Array || mixed_var[key].constructor === Object) ){
            cnt += count(mixed_var[key], 1);
        }
    }

    return cnt;
}

function print_r( array, return_val ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Michael White (http://crestidg.com)
    // +   improved by: Ben Bryan
    // *     example 1: print_r(1, true);
    // *     returns 1: 1

    var output = "", pad_char = " ", pad_val = 4;

    var formatArray = function (obj, cur_depth, pad_val, pad_char) {
        if (cur_depth > 0) {
            cur_depth++;
        }

        var base_pad = repeat_char(pad_val*cur_depth, pad_char);
        var thick_pad = repeat_char(pad_val*(cur_depth+1), pad_char);
        var str = "";

        if (obj instanceof Array || obj instanceof Object) {
            str += "Array\n" + base_pad + "(\n";
            for (var key in obj) {
                if (obj[key] instanceof Array) {
                    str += thick_pad + "["+key+"] => "+formatArray(obj[key], cur_depth+1, pad_val, pad_char);
                } else {
                    str += thick_pad + "["+key+"] => " + obj[key] + "\n";
                }
            }
            str += base_pad + ")\n";
        } else {
            str = obj.toString();
        }

        return str;
    };

    var repeat_char = function (len, pad_char) {
        var str = "";
        for(var i=0; i < len; i++) {
            str += pad_char;
        };
        return str;
    };
    output = formatArray(array, 0, pad_val, pad_char);

    if (return_val !== true) {
        document.write("<pre>" + output + "</pre>");
        return true;
    } else {
        return output;
    }
}

function explode( delimiter, string, limit ) {
    // http://kevin.vanzonneveld.net
    // +     original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     improved by: kenneth
    // +     improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     improved by: d3x
    // +     bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: explode(' ', 'Kevin van Zonneveld');
    // *     returns 1: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'}
    // *     example 2: explode('=', 'a=bc=d', 2);
    // *     returns 2: ['a', 'bc=d']

    var emptyArray = { 0: '' };

    // third argument is not required
    if ( arguments.length < 2
        || typeof arguments[0] == 'undefined'
        || typeof arguments[1] == 'undefined' )
    {
        return null;
    }

    if ( delimiter === ''
        || delimiter === false
        || delimiter === null )
    {
        return false;
    }

    if ( typeof delimiter == 'function'
        || typeof delimiter == 'object'
        || typeof string == 'function'
        || typeof string == 'object' )
    {
        return emptyArray;
    }

    if ( delimiter === true ) {
        delimiter = '1';
    }

    if (!limit) {
        return string.toString().split(delimiter.toString());
    } else {
        // support for limit argument
        var splitted = string.toString().split(delimiter.toString());
        var partA = splitted.splice(0, limit - 1);
        var partB = splitted.join(delimiter.toString());
        partA.push(partB);
        return partA;
    }
}


function in_array(needle, haystack, strict) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: true

    var found = false, key, strict = !!strict;

    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }

    return found;
}


function array_search( needle, haystack, strict ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: array_search('zonneveld', {firstname: 'kevin', middle: 'van', surname: 'zonneveld'});
    // *     returns 1: 'surname'

    var strict = !!strict;

    for(var key in haystack){
        if( (strict && haystack[key] === needle) || (!strict && haystack[key] == needle) ){
            return key;
        }
    }

    return false;
}


function trim( str, charlist ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: mdsjack (http://www.mdsjack.bo.it)
    // +   improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
    // +      input by: Erkekjetter
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: DxGx
    // +   improved by: Steven Levithan (http://blog.stevenlevithan.com)
    // *     example 1: trim('    Kevin van Zonneveld    ');
    // *     returns 1: 'Kevin van Zonneveld'
    // *     example 2: trim('Hello World', 'Hdle');
    // *     returns 2: 'o Wor'

    var whitespace;

    if(!charlist){
        whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
    } else{
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    }

  for (var i = 0; i < str.length; i++) {
    if (whitespace.indexOf(str.charAt(i)) === -1) {
    str = str.substring(i);
    break;
    }
  }
  for (i = str.length - 1; i >= 0; i--) {
    if (whitespace.indexOf(str.charAt(i)) === -1) {
      str = str.substring(0, i + 1);
      break;
      }
  }
  return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}


function SelectCurrent(id_curr){

if(id_curr) {

if(document.getElementById(id_curr).disabled==false) {

	document.getElementById(id_curr).disabled=true;
	var curr_curr = document.getElementById(id_curr).value;
	document.getElementById('id_curr_now').value = curr_curr;

	var pole = ['id_czk', 'id_usd', 'id_eur', 'id_gbp'];

	for (var i = 0; i < pole.length; i++) {

   	if(id_curr != pole[i]) {
		document.getElementById(pole[i]).disabled=false;
	}
}
}

}
}
function minusCena(thisId, cena) {
var id = document.getElementById(thisId).value;
var total = document.getElementById('id_total').value;
document.getElementById('id_total').value = total-id;
document.getElementById(thisId).value = 0;
}



function pickUp(id) {
// funkce pro nastavení jednosměrné nebo zpáteční cesty
if(id) {
	if(id == 'rad2') {
		document.getElementById('id_pick_day').disabled=false;
		document.getElementById('id_pick_month').disabled=false;
		document.getElementById('id_pick_year').disabled=false;
		document.getElementById('id_pick_hour').disabled=false;
		document.getElementById('id_pick_minute').disabled=false;
		}
	if(id == 'rad1') {
		document.getElementById('id_pick_day').disabled=true;
		document.getElementById('id_pick_month').disabled=true;
		document.getElementById('id_pick_year').disabled=true;
		document.getElementById('id_pick_hour').disabled=true;
		document.getElementById('id_pick_minute').disabled=true;
	}
}
}






function setPrice(i) {
var k = "";
if(i) {
if(i>0  && i<=4)  k = 4;
if(i>4  && i<=8)  k = 8;
if(i>8  && i<=12) k = 12;
if(i>12 && i<=16) k = 16;
if(i>16 && i<=20) k = 20;
if(i>20 && i<=28) k = 28;
if(i>28 && i<=49) k = 49;
}
return k;
}

function clearNice(nice) {
if(nice)
{
	document.getElementById('price_of_'+nice+'s').value = 0;
	document.getElementById('id_next_note_'+nice).value = '';
	document.getElementById('id_next_note_'+nice).style.display = 'none';
}
}

function clearHelp(id) {
var text = document.getElementById(id).value;
if(text) {
	var ex = explode("@", trim(text));
	var newText = (ex[2]);
	document.getElementById(id).value = newText;
}
}