	       function getObjById(id)
            {
                if (document.getElementById)
                    var returnVar = document.getElementById(id);
                else if (document.all)
                    var returnVar = document.all[id];
                else if (document.layers)
                    var returnVar = document.layers[id];
                return returnVar;
            }
            //validation of quantity in shopCart
            function validateIntRangeRP(inputId,minValue,maxValue)
            {
                var element=getObjById(inputId);
                var isValid = true;
                
                if (element.type == 'text' ||
                    element.type == 'textarea' ||
                    element.type == 'select-one' ||
                    element.type == 'radio') 
                {
                    var value;
					// get value
					if (element.type == "select-one") {
						var si = element.selectedIndex;
						value = element.options[si].value;
					} else 
					{
						value = element.value;
					}
                    if (value.length > 0) 
                    {
                        //parseInt(s).toString() == s
                        var iValue = parseInt(value);
                        if (iValue.toString()!=value || isNaN(iValue) || !(iValue >= minValue && iValue <= maxValue)) 
	                    {
	                        isValid = false;
	                    }
                    } else
                    {
                        isValid = false;
                    }
                    if (!isValid)
                    {
                        var alertString="Počet kusů musí být číslo mezi "+minValue+" a "+maxValue+".";
                        element.focus();
                        element.select();
                        alert(alertString);
                    }
                    
                }
                return isValid;
            }
            //RP:checks all form fields if fit in range
            function checkIntRangeFormRP(formId,minValue,maxValue)
            {
                var form=getObjById(formId);
                for(var i=0;i<form.getElementsByTagName('input').length;i++)
                {
                    var element = form.getElementsByTagName('input')[i];
                    //only on quantity fields
                    if (element.name.indexOf("Quantity")!=-1)
                    {
                        var passed=validateIntRangeRP(element.name,minValue,maxValue);
                        if (passed!=true) 
                        {
                            return false;
                        }
                    }
                }
                return true;
            }
            
    function ShoppingCartRecalculateAjax(formId){
	//validate values
	if(!checkIntRangeFormRP(formId,0,100000)){
		return false;
	}
	var result = KarsaAjaxGetObjectById('recalculate').value;
	var form=getObjById(formId);
    for(var i=0;i<form.getElementsByTagName('input').length;i++)
    {
        var element = form.getElementsByTagName('input')[i];
        //only on quantity fields
        if (element.name.indexOf("Quantity")!=-1)
        {
			//add element name and value
			result += 'value' + element.id + '='+element.value+';';
        }
    }
    //ajax callback
    KarsaAjaxRefreshDirect('ShoppingCartDiv', result);
	
	}
            