
    function pocetkusuvalid(pocet){
    	var cislicko = /^[0-9]+$/;
    	//var elem = document.getElementById(nazev_pole);
    	var elem = pocet+"";
    	//alert(elem);
    	if(elem.match(cislicko)){
    		return true;
    	}else{
    		alert("Nesprávně vložené množství zboží - '"+pocet+"'");
    		//elem.focus();
    		return false;
    	}
    }	
     
    function alfnum(s) {
    	var re=/[^0-9]/g;
    	var result=s.replace(re,'');
    	//alert(result);
    	return result;
   	}


/*    function checknumber(cislo){
    	var cislicko = /^[0-9]+$/;
    	var elem = document.getElementById(nazev_pole);
    	if(cislo.value.match(cislicko)){
    		return true;
    	}else{
    		alert("Nesprávně vložené množství zboží");
    		elem.focus();
    		return false;
    	}
    }
  */



	 function pridat_do_kosiku(kartapk, pocet) {	 			
		if(pocetkusuvalid(pocet)){ //kontrola spravnosti vlozeneho poctu
		//var elem = document.getElementById("kartapk");
		//var kartapk = document.getElementById("kartapk").value;
		var mnozstvi = pocet; //document.getElementById("mnozstvi_zbozi").value;
		
		
		//alert("karta "+kartapk+" ; pocet "+mnozstvi);
    
		var xmlhttp = new XMLHttpRequest();
		xmlhttp.open('POST', 'http://www.koupelnovedoplnky.cz/in/kosik/ajax_pridani_kosiku.php', false);					
		// Send the POST request
		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlhttp.send('kartapk_pridat='+kartapk+'&pocet_kusu='+mnozstvi+'&kosik_funkce='+document.getElementById("kosik_funkce").value);
		//xmlhttp.send('w_tkv_nazev=' + document.getElementById('w_tkv_nazev').value + '&w_tkv_pk=' + document.getElementById('w_tkv_pk').value + '&w_tkv_tpk_pk=".$l_kartavyrobku->TKV_TPK_PK."'+'&w_tkv_katalog_cislo=' + document.getElementById('w_tkv_katalog_cislo').value); //+'&random='+Math.random()
		//xmlhttp.send('w_tkv_nazev=' + document.getElementById('w_tkv_nazev').value + '&w_tkv_pk=' + document.getElementById('w_tkv_pk').value + '&w_tkv_tpk_pk=".$l_kartavyrobku->TKV_TPK_PK."'+'&w_tkv_katalog_cislo=' + document.getElementById('w_tkv_katalog_cislo').value); //+'&random='+Math.random()
		//alert("odeslano1: "+xmlhttp.responseXML.getElementsByTagName('obsah_kose'));
		
		//alert(new XMLSerializer().serializeToString(xmlhttp.responseXML));
		
		
		
		//var response_stat = xmlhttp.responseXML.getElementsByTagName('obsah_kose')[0].firstChild.data;
		//alert("odeslano2.");
		//var response_stat = xmlhttp.responseXML.getElementsByTagName('obsah_kose');
		//alert("PSSS: "+response_stat);
		
		//alert("PSSS: "+Base64.decode(response_stat));
		
		//alert("PSSS: "+document.getElementById("kosik_obsah"));
		
		//document.getElementById("kosik_obsah").innerHTML = Base64.decode(response_stat);
		//document.getElementById("kosik_obsah").height='500px';

			try {
				xmlhttp.responseXML.normalize()
			}
			catch(e){
       // Sarissa.updateCursor(oTargetElement, "auto");
       // throw e;
    };
			
			var response_stat = xmlhttp.responseXML.getElementsByTagName('obsah_kose')[0].firstChild.data;
		
		// remove all children from element
			var element = document.getElementById("kosik_obsah");
			while (element.firstChild) {
			  element.removeChild(element.firstChild);
			}
			
			//http://209.85.129.132/search?q=cache:KQrQOCkGrLIJ:rasensio.wordpress.com/2007/09/11/firefox-limit-up-to-4096-characters-a-text-node/+javascript+getElementsByTagName+4096+firefox&cd=1&hl=cs&ct=clnk&gl=cz
			//xmlDocument.normalize()
			
			var newdiv = document.createElement("div");
			newdiv.innerHTML = Base64.decode(response_stat);
			
			//alert ("delka innerhtml = "+newdiv.innerHTML.length+", response_stat="+response_stat.length + ", firstchild.data="+xmlhttp.responseXML.getElementsByTagName('obsah_kose')[0].firstChild.data.length+", firstchild ="+xmlhttp.responseXML.getElementsByTagName('obsah_kose')[0].firstChild.length+', serialize='+(new XMLSerializer().serializeToString(xmlhttp.responseXML)).length);
			
			var container = document.getElementById("kosik_obsah");
			container.appendChild(newdiv);
	 }
  }
  
  /*
  try{
        Sarissa.updateCursor(oTargetElement, "wait");
      
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("GET", sFromUrl);
        
        function sarissa_dhtml_loadHandler() {
            if (xmlhttp.readyState == 4) {
                Sarissa.updateContentFromNode(xmlhttp.responseXML, oTargetElement, xsltproc, callback);
            };
        };
        xmlhttp.onreadystatechange = sarissa_dhtml_loadHandler;
        if (skipCache) {
             var oldage = "Sat, 1 Jan 2000 00:00:00 GMT";
             xmlhttp.setRequestHeader("If-Modified-Since", oldage);
        };
        xmlhttp.send("");
   
   
    }
    catch(e){
        Sarissa.updateCursor(oTargetElement, "auto");
        throw e;
    };
  */
  /*
    
	 function pridat_do_kosiku(kartapk, pocet) {	 			
	 	 try{
	 	 	  
		if(pocetkusuvalid(pocet)){ //kontrola spravnosti vlozeneho poctu
		//var elem = document.getElementById("kartapk");
		//var kartapk = document.getElementById("kartapk").value;
		var mnozstvi = pocet; //document.getElementById("mnozstvi_zbozi").value;
		
		
		//alert("karta "+kartapk+" ; pocet "+mnozstvi);
    
		var xmlhttp = new XMLHttpRequest();
		xmlhttp.open('POST', 'http://www.koupelnovedoplnky.cz/in/kosik/ajax_pridani_kosiku.php', true);					//false
		// Send the POST request
		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		function sarissa_dhtml_loadHandler() {
            if (xmlhttp.readyState == 4) {
                //Sarissa.updateContentFromNode(xmlhttp.responseXML, oTargetElement, xsltproc, callback);
                var response_stat = xmlhttp.responseXML.getElementsByTagName('obsah_kose')[0].firstChild.data;
		
		
								// remove all children from element
									var element = document.getElementById("kosik_obsah");
									while (element.firstChild) {
									  element.removeChild(element.firstChild);
									}
						
									var newdiv = document.createElement("div");
									newdiv.innerHTML = Base64.decode(response_stat);
									var container = document.getElementById("kosik_obsah");
									container.appendChild(newdiv);
            };
        };
        xmlhttp.onreadystatechange = sarissa_dhtml_loadHandler;
        
		xmlhttp.send('kartapk_pridat='+kartapk+'&pocet_kusu='+mnozstvi+'&kosik_funkce='+document.getElementById("kosik_funkce").value);

		//alert(new XMLSerializer().serializeToString(xmlhttp.responseXML));
		
		
	 }
    }
    catch(e){

        throw e;
    };
  }
  */
	
   function je_v_kosiku(kartapk) {	 			
/*
			var xmlhttp = new XMLHttpRequest();
			xmlhttp.open('POST', './in/kosik/ajax_zjisteni_kosiku.php', false);					
			// Send the POST request
			xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			xmlhttp.send('kartapk='+kartapk);
			
			var response_stat = xmlhttp.responseXML.getElementsByTagName('je_v_kosi')[0].firstChild.data;
			
			document.getElementById("je_v_kosi").value = Base64.decode(response_stat);*/
		 }
	  	 
		 		 
	 function nastav_v_kosiku(kartapk, pocet) {	 			
		if(pocetkusuvalid(pocet)){ //kontrola spravnosti vlozeneho poctu
		// if(true){ //kontrola spravnosti vlozeneho poctu

			var mnozstvi = pocet;
			
			//alert("karta "+kartapk+" ; pocet "+mnozstvi);
	    
			var xmlhttp = new XMLHttpRequest();
			xmlhttp.open('POST', 'http://www.koupelnovedoplnky.cz/in/kosik/ajax_nastaveni_kosiku.php', false);					
			// Send the POST request
			xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			xmlhttp.send('kartapk='+kartapk+'&pocet_kusu='+mnozstvi+'&kosik_funkce='+document.getElementById("kosik_funkce").value);
			
			/*
			 function sarissa_dhtml_loadHandler() {
            if (xmlhttp.readyState == 4) {
                var response_stat = xmlhttp.responseXML.getElementsByTagName('obsah_kose')[0].firstChild.data;
                document.getElementById("kosik_obsah").innerHTML = Base64.decode(response_stat);
            };
        };
        xmlhttp.onreadystatechange = sarissa_dhtml_loadHandler;
        */
			
			//var response_stat = xmlhttp.responseXML.getElementsByTagName('obsah_kose')[0].firstChild.data;
			
  		try {
				xmlhttp.responseXML.normalize()
			}
			catch(e){
       // Sarissa.updateCursor(oTargetElement, "auto");
       // throw e;
    };
			
			var response_stat = xmlhttp.responseXML.getElementsByTagName('obsah_kose')[0].firstChild.data;

			
			//alert(new XMLSerializer().serializeToString(Base64.decode(xmlhttp.responseXML)));
			
			//oTargetElement.appendChild
			//document.getElementById("kosik_obsah").innerHTML = Base64.decode(response_stat);
			
			// remove all children from element
			var element = document.getElementById("kosik_obsah");
			while (element.firstChild) {
			  element.removeChild(element.firstChild);
			}

			var newdiv = document.createElement("div");
			newdiv.innerHTML = Base64.decode(response_stat);
			
			//alert ("delka innerhtml = "+newdiv.innerHTML.length+", response_stat="+response_stat.length);
			
			var container = document.getElementById("kosik_obsah");
			container.appendChild(newdiv);
			
			
			//document.getElementById("kosik_obsah").height='500px';
			
			//alert(Base64.decode(response_stat));
		 }
	  }	 
	 

	 /**
	 *
	 *  Base64 encode / decode
	 *  http://www.webtoolkit.info/
	 *
	 **/
	  
	 var Base64 = {
	  
	 	// private property
	 	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
	  
	 	// public method for encoding
	 	encode : function (input) {
	 		var output = "";
	 		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
	 		var i = 0;
	  
	 		input = Base64._utf8_encode(input);
	  
	 		while (i < input.length) {
	  
	 			chr1 = input.charCodeAt(i++);
	 			chr2 = input.charCodeAt(i++);
	 			chr3 = input.charCodeAt(i++);
	  
	 			enc1 = chr1 >> 2;
	 			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
	 			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
	 			enc4 = chr3 & 63;
	  
	 			if (isNaN(chr2)) {
	 				enc3 = enc4 = 64;
	 			} else if (isNaN(chr3)) {
	 				enc4 = 64;
	 			}
	  
	 			output = output +
	 			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
	 			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
	  
	 		}
	  
	 		return output;
	 	},
	  
	 	// public method for decoding
	 	decode : function (input) {
	 		var output = "";
	 		var chr1, chr2, chr3;
	 		var enc1, enc2, enc3, enc4;
	 		var i = 0;
	  
	 		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
	  
	 		while (i < input.length) {
	  
	 			enc1 = this._keyStr.indexOf(input.charAt(i++));
	 			enc2 = this._keyStr.indexOf(input.charAt(i++));
	 			enc3 = this._keyStr.indexOf(input.charAt(i++));
	 			enc4 = this._keyStr.indexOf(input.charAt(i++));
	  
	 			chr1 = (enc1 << 2) | (enc2 >> 4);
	 			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
	 			chr3 = ((enc3 & 3) << 6) | enc4;
	  
	 			output = output + String.fromCharCode(chr1);
	  
	 			if (enc3 != 64) {
	 				output = output + String.fromCharCode(chr2);
	 			}
	 			if (enc4 != 64) {
	 				output = output + String.fromCharCode(chr3);
	 			}
	  
	 		}
	  
	 		output = Base64._utf8_decode(output);
	  
	 		return output;
	  
	 	},
	  
	 	// private method for UTF-8 encoding
	 	_utf8_encode : function (string) {
	 		string = string.replace(/\r\n/g,"\n");
	 		var utftext = "";
	  
	 		for (var n = 0; n < string.length; n++) {
	  
	 			var c = string.charCodeAt(n);
	  
	 			if (c < 128) {
	 				utftext += String.fromCharCode(c);
	 			}
	 			else if((c > 127) && (c < 2048)) {
	 				utftext += String.fromCharCode((c >> 6) | 192);
	 				utftext += String.fromCharCode((c & 63) | 128);
	 			}
	 			else {
	 				utftext += String.fromCharCode((c >> 12) | 224);
	 				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
	 				utftext += String.fromCharCode((c & 63) | 128);
	 			}
	  
	 		}
	  
	 		return utftext;
	 	},
	  
	 	// private method for UTF-8 decoding
	 	_utf8_decode : function (utftext) {
	 		var string = "";
	 		var i = 0;
	 		var c = c1 = c2 = 0;
	  
	 		while ( i < utftext.length ) {
	  
	 			c = utftext.charCodeAt(i);
	  
	 			if (c < 128) {
	 				string += String.fromCharCode(c);
	 				i++;
	 			}
	 			else if((c > 191) && (c < 224)) {
	 				c2 = utftext.charCodeAt(i+1);
	 				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
	 				i += 2;
	 			}
	 			else {
	 				c2 = utftext.charCodeAt(i+1);
	 				c3 = utftext.charCodeAt(i+2);
	 				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
	 				i += 3;
	 			}
	  
	 		}
	  
	 		return string;
	 	}
	  
	 }	 
