// Funkcija kreira i vraca XMLHttpRequest object ili false u slucaju da browser ne podrzava Ajax
function ajaxTunel(){
	var ajaxXml;
	try{
		ajaxXml = new XMLHttpRequest();
		return(ajaxXml);
		}
	catch(e){
		try{
			ajaxXml = new ActiveXObject("Microsoft.XMLHTTP");
			return(ajaxXml);
			}
		catch(e){
			try{
				ajaxXml = new ActiveXObject("Msxml2.XMLHTTP");
				return(ajaxXml);
				}
			catch(e){
				return(false);
				}
			}
		}
	
	}

// Ajax Request 
function ajaxRequest(RequestUrl, RequestData, ResponseHandler){
	var tunel = ajaxTunel();
	tunel.open("POST", RequestUrl, true);
	tunel.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	tunel.onreadystatechange = function(){
		if(tunel.readyState == 4){
			ResponseHandler(tunel.responseText);
			}
		}
	tunel.send(RequestData);
	}


// Ajax Get and write data into container
function ajaxGetAndWriteHtml(container_id, sUrl, sendData, clearContainer, affterUpdate){ // 
	var tunel = ajaxTunel();
	var container = document.getElementById(container_id);
	tunel.open("POST", sUrl, true);
	tunel.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	tunel.onreadystatechange = function(){
		if(tunel.readyState == 4){
			//alert('Prosao ajax');
			if(clearContainer){
				container.innerHTML = tunel.responseText;
				}
			else{
				container.innerHTML += tunel.responseText;
				}
			if(affterUpdate != null){
				affterUpdate();
				}
			}
		}
	if(!sendData){
		tunel.send(null);
		}
	else{
		tunel.send(sendData);
		}
	}


function ajaxFormElementsStringGenerator(_formId){
	var formContainer = document.getElementById(_formId); // Element u kome se nalaze svi delovi forme
	var inputElements = formContainer.getElementsByTagName('INPUT'); // Svi elementi tipa INPUT
	var selectElements = formContainer.getElementsByTagName('SELECT'); // Svi Elementi tipa SELECT
	var textareaElements = formContainer.getElementsByTagName('TEXTAREA'); // Svi Elementi tipa TEXTAREA

	var formatedString = '';
	for(i=0; i<inputElements.length; i++){
		if(inputElements[i].type != 'button' & inputElements[i].value != '' & inputElements[i].name != ''){
			formatedString += inputElements[i].name + '=' + stringEncode(inputElements[i].value) + '&';
			}
		}
	for(i=0; i<selectElements.length; i++){
		if(selectElements[i].value != ''){
			formatedString += selectElements[i].name + '=' + stringEncode(selectElements[i].value) + '&';
			}
		}
	for(i=0; i<textareaElements.length; i++){
		if(textareaElements[i].value != ''){
			formatedString += textareaElements[i].name + '=' + stringEncode(textareaElements[i].value) + '&';
			}
		}
	formatedString = formatedString.substring(0,formatedString.length-1);
	//alert(formatedString);
	return(formatedString);
	}