    function ShowBubble(element,text){
        var id = 'bubble';
        
        if(document.getElementById(id) == undefined){
            var body = document.getElementsByTagName("body");
            if(body !== undefined){
                var obj = body.item(0);
                var div = document.createElement("div");
                div.setAttribute('id',id);
                div.style.position = 'absolute';
                obj.insertBefore(div, obj.lastChild);
            }
        }
        
        var pos = getElementPosition(element);
        var e = document.getElementById(id);
        if(e != undefined && e.style.display != 'block'){
            e.innerHTML = '<div>' + text + '</div>';
            e.style.display = 'block';
            e.style.top = (pos.y - 0) + 'px';
            e.style.left = (pos.x - 210) + 'px';
        }
    }
    
    function HideBubble(){
        var id = 'bubble';
        var e = document.getElementById(id);
        if(e != undefined){
            e.innerHTML = '';
            e.style.display = 'none';
        }
    }
    
    function getElementPosition(element) {
        var pos = {x:0, y:0};
    	if (element.offsetParent) {
    		pos.x = element.offsetLeft
    		pos.y = element.offsetTop
    		while (element = element.offsetParent) {
    			pos.x += element.offsetLeft
    			pos.y += element.offsetTop
    		}
    	}
    	return pos;
    }
    
    function ChangePaymentStatus(e){
        var eTable = document.getElementById('payment');
        if(eTable != undefined){
            var inputs = eTable.getElementsByTagName('INPUT');
            if(inputs.length){
                for(i=0; i<inputs.length; i++){
                    if(inputs[i].className == 'single' || inputs[i].className == 'multiple'){
                        inputs[i].disabled = (inputs[i].className == e.value) ? false : true;
                        inputs[i].checked = false;
                    }
                    if(inputs[i].className == 'paymentprice'){
                        inputs[i].disabled = true;
                        inputs[i].value = '';
                    }
                }
            }
        }
    }
    
    function ActivatePriceInput(e,value){
        if(e.className == 'single'){
            var eTable = document.getElementById('payment');
            if(eTable != undefined){
                var inputs = eTable.getElementsByTagName('INPUT');
                if(inputs.length){
                    for(i=0; i<inputs.length; i++){
                        if(inputs[i].className == 'paymentprice'){
                            inputs[i].disabled = true;
                            inputs[i].value = '';
                        }
                        if(inputs[i].className == 'single'){
                            inputs[i].checked = false;
                        }
                    }
                }
            }
            e.checked = true;
        }
        
        var eInput = document.getElementById('item' + e.value);
        if(eInput != undefined){
            if(e.checked == true){
                eInput.disabled = false;
                eInput.value = (value > 0) ? value : '';
                eInput.readOnly = (value > 0) ? true : false;
            } else {
                eInput.disabled = true;
                eInput.value = '';
            }
        }
    }
    
    function ShowPriceImage(id,eID,media){
        var e = document.getElementById(eID);
        if(e != undefined){
            AjaxRequest.get(
                {
                     'url': WEBROOT + '/files/prevedenie.php?id=' + id + '&media=' + media
                    ,'onSuccess':function(req) {
                        e.innerHTML = req.responseText;
                    }
                    ,'onLoading':function(req) { }
                    ,'onLoaded':function(req) { }
                    ,'onError':function(req) { }
                }
            );
        }
    }
    
    function ShowAccounts(eID){
        var e = document.getElementById(eID);
        if(e != undefined){
            e.style.display = 'block';
        }
    }
    
    function HideAccounts(eID){
        var e = document.getElementById(eID);
        if(e != undefined){
            e.style.display = 'none';
            e.value = '';
        }
    }
    
    var SelectOptionsValues = Array();
    var SelectOptionsNames = Array();
    
    function SearchTheSelect(jsid,f,spancount){
        var search_value = f;
        f = f.toLowerCase();
    	var reg = new RegExp(f);
	    var o = document.getElementById(jsid);
    	if (o == undefined){ return; }
	    //napln pole ak nie je definovane:
    	if (SelectOptionsValues.length == 0) {
		    var i=0;
	    	for(i=0;i<o.options.length;i++) {
    			SelectOptionsValues.push(o.options[i].value);
			    SelectOptionsNames.push(o.options[i].text);
		    }
	    }
    	//filtruj options v selekte
	    var cmp = '';
    	var NewSelectValues = Array();
	    var NewSelectNames = Array();
    	for(i=0; i<SelectOptionsValues.length; i++){
		    cmp = SelectOptionsNames[i].toLowerCase();
	    	if (reg.test(cmp)){
                if(search_value == ''){
                    NewSelectValues.push(SelectOptionsValues[i]);
                    NewSelectNames.push(SelectOptionsNames[i]);
                } else {
                    var r = new RegExp('\u00A0');
                    var name = SelectOptionsNames[i];
                    while(r.test(name)){
                        name = name.replace('\u00A0','');
                    }
                    NewSelectValues.push(SelectOptionsValues[i]);
                    NewSelectNames.push(name);
                }
		    }
	    }
    	o.length = NewSelectValues.length;
	    for(i=0;i<NewSelectValues.length;i++){
    		o.options[i].value = NewSelectValues[i];
		    o.options[i].text = NewSelectNames[i];
	    }
    	if(document.getElementById(spancount) != undefined){
		    document.getElementById(spancount).innerText = NewSelectValues.length;
	    }
    }
    
    NewWindow1 = null;
	function ShowWin(href, w, h){
		if(NewWindow1){ NewWindow1.close(); }
		if(NewWindow1==null || NewWindow1.closed){
			var top = screen.height/2 - h/2;
			var left = screen.width/2 - w/2;
			var settings =
		 		"left=" + left + "px,"
				+"top=" + top + "px,"
				+"width=" + w + "px,"
				+"height=" + h + "px,"
				+"toolbar=no,"
				+"location=no,"
				+"directories=no,"
				+"status=yes,"
				+"menubar=yes,"
				+"scrollbars=yes,"
				+"resizable=yes";
			NewWindow1 = window.open(href,'okno',settings);
		}
		NewWindow1.focus();
	}

    function AjaxDeleteItemFromCart(id,id_produkt,id_price_type,msg){
		if(confirm(msg)){
			AjaxRequest.get(
				{
					'url':WEBROOT + '/exec.php?ajax=1&command=delete&id='+id_produkt+'&id_price_type='+id_price_type
					,'onSuccess':function(req) { AjaxDisplay('cart_view',req.responseText); }
					,'onLoading':function(req) { Effect.Puff(id); }
					,'onLoaded':function(req) { }
					,'onError':function(req) { }
				}
			);
		}
	}
    
    function AjaxAddItemToCart(form,id){
        var status = AjaxRequest.submit(
    		form,
			{
				'ajax':1
      			,'onSuccess':function(req){ AjaxDisplay('cart_view',req.responseText); }
				,'onLoading':function(req) { Effect.Puff(id) }
				,'onLoaded':function(req) { }
				,'onError':function(req) { }
    		}
  		);
  		return status;
	}
    
    function AjaxDisplay(id,msg){
        document.getElementById(id).innerHTML = msg;
	}
