﻿/**
 * AJAX f�ggv�nyh�v�sok
 * 
 * Fejes D�vid
 * fejesd@gmail.com
 */

/**
 * F�jln�v meghat�roz�sa
 */
var ajaxFileName =location.pathname.substring(location.pathname.lastIndexOf('/')+1);

/**
 * Hova t�lts�k be az eredm�nyt?
 */
var valaszhelye='';

/**
 * & jel cser�je 
 */
function escapel(str)
{
  str=str.replace(/&/g,':::andsig:::');
  return (str);
}

/**
 * Egy form �rt�keinek kinyer�se, az eredm�nyek stringbe f�z�se
 */
function getFormValues(fobj) 
{ 
   var str = ""; 
   var valueArr = null; 
   var val = ""; 
   var cmd = ""; 
   for(var i = 0;i < fobj.elements.length;i++) 
   { 
       switch(fobj.elements[i].type) 
       { 
           case "text": 
                str += fobj.elements[i].name + "=" + escapel(fobj.elements[i].value) + "&"; 
                break; 
           case "radio": 
                if(fobj.elements[i].checked) str += fobj.elements[i].name + "=" + escapel(fobj.elements[i].value) + "&"; 
                break; 
           case "hidden": 
                str += fobj.elements[i].name + "=" + escapel(fobj.elements[i].value) + "&"; 
                break; 
           case "select-one": 
                str += fobj.elements[i].name + "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&"; 
                break; 
          case "checkbox":
                 if (fobj.elements[i].checked) str+=fobj.elements[i].name + "=1&";
                 if (!(fobj.elements[i].checked)) str+=fobj.elements[i].name + "=0&";                 
                break; 
          case "textarea":
  				str += fobj.elements[i].name + "=" + escapel(fobj.elements[i].value) + "&"; 
                break;        
         		} 
   } 
   str = str.substr(0,(str.length - 1)); 
   return str; 
}

/**
 * B�ng�sz�f�gg� AJAX agent l�trehoz�sa
 */
function createRequestObject(){
	var request_o;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		request_o = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		request_o = new XMLHttpRequest();
	}
	return request_o;
}

var http = createRequestObject(); 

/**
 * AJAX k�r�s ind�t�sa, str DIV-be bet�lti a fvneve fv. kimenet�t, POST-al k�ld
 */
function startAjax(mclass,fvneve,str,extra){
    http.open('POST',ajaxFileName+'?ajaxmodule='+mclass+'&ajaxcall='+fvneve+'&'+extra,true);
	http.onreadystatechange = handleResponse; 
	http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); 
	http.send(str);
}

/**
 * AJAX k�r�s ind�t�sa, str DIV-be bet�lti a fvneve fv. kimenet�t, GET-el k�ld
 */
function startAjaxLink(mclass,fvneve,hova,extra){
    valaszhelye=hova;
    http.open('GET',ajaxFileName+'?ajaxmodule='+mclass+'&ajaxcall='+fvneve+'&'+extra,true);
	http.onreadystatechange = handleResponse; 
	http.send(null);
}

function handleResponse(){	
	if(http.readyState == 4){ 
		var response = http.responseText;
		document.getElementById(valaszhelye).innerHTML = response;
	}
}

function sub(formneve,mclass,fvneve,celneve,extra){
  valaszhelye=celneve;
  var str = getFormValues(formneve);       
  startAjax(mclass,fvneve,str,extra)
}
	
