﻿/**
 * ajax.js
 *
 * @author Peter Molnar <molipet15@freemail.hu> 
 * @author Krisztian Balog <balog@greymatter.hu>
 * @version 1.1
 * 
 * @copyright Copyright (c) 2006-09, GreyMatter <www.greymatter.hu>
 */

var Ajax = {

	/**
	 * reload div
	 *
	 * @param string dataSource - 
	 * @param string divId - div ID
	 */
	reloadDiv : function(dataSource, divId) {
		if (document.getElementById(divId)) {
			xmlHttpList = this.createXMLHttpRequest();
			xmlHttpList.open("GET", dataSource, true);
			xmlHttpList.onreadystatechange = function() {Ajax.loadContent(xmlHttpList, divId);};
			xmlHttpList.send(null);		
		}
	},

	
	/**
	 *	osszeallitja a GET kerest a form mezoibol
	 *
	 * @param string formName - a HTML form name attributuma, amit fel kell dolgozni
	 * @return string - az osszeallitott GET keres
	 */
	createGETQueryString : function(formName) {
		queryString = "";
		form = document.forms[formName];
		childLen = form.length;
		for (i = 0; i < childLen; i++) {
			field = form[i];
			if (field.name && field.type != "image") {
				queryString += "&" + field.name + "=" + escape(encodeURI(field.value));
			}
		}
		//alert(queryString.substr(1));
		return queryString.substr(1);
	},

	
	/**
	 *	az XMLHttpRequest keres kiepitese
	 *
	 * @return felepitett XMLHttp keres
	 */
	createXMLHttpRequest : function() {
		if (window.ActiveXObject) {
			return new ActiveXObject("Microsoft.XMLHTTP");
		}
		else if (window.XMLHttpRequest) {
			return new XMLHttpRequest();
		}
	},
	
	
	/**
	 *	a valaszban levo javascripteket kezeli
	 *
	 * @param string text - a HTML oldal forrasa
	 */
	makeJS : function(text) {
		js = "";
		var beginPos = 0;
		var endPos;
		while((beginPos = text.indexOf("<script", beginPos)) >= 0) {
			beginPos = text.indexOf(">", beginPos) + 1;
			endPos = text.indexOf("/script", beginPos) - 1;
			js += text.substr(beginPos, endPos - (beginPos));
			beginPos = endPos + 7;
		}
		eval(js);
	},
	
	
	/**
	 *	a megadott div-be irja a tartalmat
	 *
	 * @param XMLHttpRequest - xmlHttp a keres
	 * @param string divID - a DOM id, amibe a tartalom kerul
	 * @param string functionName - a fv neve, amit hivnia kell, ha ez a lekerdezes vegzett
	 */
	loadContent : function(xmlHttp, divID, functionName) {
		if(xmlHttp.readyState == 4) {
			if(xmlHttp.status == 200) {
				text = xmlHttp.responseText;
				//alert(text);
				//document.getElementById(divID).innerHTML = "valami";
				//document.getElementById(divID).innerHTML = text;
				//seg = text.substr(0, 305);
				//alert(seg);
				document.getElementById(divID).innerHTML = text;
				if (functionName) {
						functionName = "Ajax." + functionName + "()";
						eval(functionName);
				}
			}
		}
	}
};

