function getNodeValue(tree, el){
	if ( tree.getElementsByTagName(el)[0].firstChild != null )
		return tree.getElementsByTagName(el)[0].firstChild.nodeValue;
	else
		return '';
}

function getValue(el) {
	if ( el.firstChild != null )
		return el.firstChild.nodeValue
	else
		return '';
}

// AJAX
function Platby() {
	this.ajaxFile = '';
	this.loader = false;
	this.loaderText = '';
	this.target = false;
	this.msgErr = '';
	this.msgNothing = '';
	this.title1 = '';
	this.title2 = '';
	this.stat = 0;
	this.jazyk = 0;
	this.mena = 0;
	this.orderValue = 0;
	this.ie = 0; // je user agent IE?
	
	this.buildLoader = function() {
	    this.loader = document.createElement('div');
	    this.loader.style.position   = 'absolute';
	    this.loader.style.top        = '50%';
	    this.loader.style.left       = '50%';
	    this.loader.style.width      = '400px';
	    this.loader.style.lineHeight = '100px';
	    this.loader.style.margin     = '-50px 0 0 -200px';
	    this.loader.style.textAlign  = 'center';
	    this.loader.style.border     = '3px double #870108';
	    this.loader.style.background = '#f6f6f6';
	    this.loader.appendChild(document.createTextNode(this.loaderText));
	    document.getElementsByTagName('body')[0].appendChild(this.loader);
	}

	this.killLoader = function() {
	    document.getElementsByTagName('body')[0].removeChild(this.loader);
	}

	this.vyber = function(doprava) {
		var url = this.ajaxFile+'?doprava=' + doprava + '&stat=' + this.stat + '&jazyk=' + this.jazyk + '&cena_objednavky=' + this.orderValue + '&mena=' + this.mena;
		
		this.buildLoader();
		
		if (window.ActiveXObject) {
			httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
		} else {
			httpRequest = new XMLHttpRequest();
		}
		httpRequest.open("GET", url, true);
		target = this.target; msgErr = this.msgErr; msgNothing = this.msgNothing; title1 = this.title1; title2 = this.title2; ie = this.ie;
		httpRequest.onreadystatechange = function() { process = new PlatbyProcess(target, ie, msgErr, msgNothing, title1, title2); process.process(); }
		httpRequest.send(null);
		
		this.killLoader();
	}
}

function PlatbyProcess(target, ie, msgErr, msgNothing, title1, title2) {
	this.target = target;
	this.ie = ie; //je to IE? {1,0}
	this.msgErr = msgErr;
	this.msgNothing = msgNothing;
	this.title1 = title1;
	this.title2 = title2;
	
	this.process = function() {
		if (httpRequest.readyState == 4) {
	    	if(httpRequest.status == 200) {
				var xml = httpRequest.responseXML;
				this.refresh(xml);
	    	} else {
				alert(this.msgErr);
			}
		}
	}
	
	this.refresh = function(xml) {
		var targetArea = document.getElementById(this.target);
		var id = xml.getElementsByTagName('id');
		var nazev = xml.getElementsByTagName('nazev');
		var is_sleva = xml.getElementsByTagName('is_sleva');
		var sleva_s_dani = xml.getElementsByTagName('s_dani');
		var sleva_bez_dane = xml.getElementsByTagName('bez_dane');
		var sleva_procenta = xml.getElementsByTagName('procenta');
		
		targetArea.innerHTML = '';
		
		if ( id.length > 0 ) {
			table = document.createElement('table');
			targetArea.appendChild(table);
			tbody = document.createElement('tbody');
			table.appendChild(tbody);
			
			for (i=0; i < id.length; i++) {
				tr = document.createElement('tr');
				
				td = document.createElement('td');
				if ( this.ie != 1 ) {
					// vsechny browsery mimo IE
					radio = document.createElement('input');
					radio.type = 'radio';
					radio.name = 'placeni';
					radio.id = 'placeni'+getValue(id[i]);
					radio.value = getValue(id[i]);
				} else {
					// jen ie
					radio = document.createElement('<input type="radio" name="placeni" id="placeni'+getValue(id[i])+'" value="'+getValue(id[i])+'">');
				}
				td.appendChild(radio);
				td.className = 'for-input';
				tr.appendChild(td);
				
				td = document.createElement('td');
				label = document.createElement('label');
				label.setAttribute('for', 'placeni'+getValue(id[i]));
				label.innerHTML = getValue(nazev[i]);
				td.appendChild(label);
				tr.appendChild(td);
				
				td = document.createElement('td');
				if ( getValue(is_sleva[i]) == 0 ) {
					td.innerHTML = '&nbsp;'
				} else {
					acronym = document.createElement('acronym');
					acronym.title = this.title1 + ': ' + getValue(sleva_s_dani[i]) + ' (' + this.title2 + ' ' + getValue(sleva_procenta[i]) + ' %)';
					acronym.innerHTML = '-&nbsp;' + getValue(sleva_s_dani[i]);
					td.appendChild(acronym);
				}
				td.className = 'right';
				tr.appendChild(td);
						
				tbody.appendChild(tr);
				
			}
			
		} else {
			var p = document.createElement('p');
			p.innerHTML = this.msgNothing;
			targetArea.appendChild(p);
		}
	}
}
