/**
 * IE hack for Array
 */
if (!Array.indexOf) {
	Array.prototype.indexOf = function (obj, start)
	{
		for (var i = (start || 0); i < this.length; i++)
		{
			if (this[i] == obj)
			{
				return i;
			}
		}
		return -1;
	}
}

var lastReqRazList = new Array();

/**
 * Build the XMLHttpRequest and send it
 */
var liveReqDoReq = function(element) {
	document.proba.papirlista.length=0;
	// on !IE we only have to initialize it once
	if (window.XMLHttpRequest)
	{
		liveReq = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		liveReq = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(liveReq)
	{
		reqname = element.id;
		document.getElementById('epnev').innerHTML = element.value;
		liveReq.onreadystatechange = function() { liveReqProcessReqChange(name); };
// 		pathname + processURI ha varialni akarunk.. de lehet hogy nem is kell a pathname
//              konkret=window.location.pathname + processURI + "?filter_target=" + name + "&sessionid=" + SessionId;
				konkret=processURI + "?fornax_filter_target=" + reqname + "&taz=" + selected_taz + "&sessionid=" + SessionId;
//              alert(konkret);
                liveReq.open("GET",konkret);
                                                		
		liveReq.send(null);
	}

	return false;
}

/**
 * Strip the tag, leave the content.
 */
function replaceWithContent(id){
	tag = document.getElementById(id);
	if (!tag) return false;
	t_parent = tag.parentNode;
	if (!t_parent) return false;
	for(var i=0; i < tag.childNodes.length; i++)
	{
		child = tag.childNodes[i].cloneNode(true);
		t_parent.insertBefore(child, tag);
	}
	t_parent.removeChild(tag);
	return true;
}

/**
 * Processes the results of the XMLHttpRequest, Old csv
 */
var liveReqProcessReqChange_Old = function(name) {
	if (liveReq.readyState == 4) {
		proba.papirlista.length=0;

		lastReqRazList = new Array();
		var temp = new Array();
		temp = liveReq.responseText.split(',');
		var count = -1;
		for(var i=0;i < temp.length; i=i+2)
		{
			if(i < temp.length-1 && !isSelected(temp[i],document.proba.kivlista))
			{
				count++;
				proba.papirlista.options[count] = new Option(temp[i+1],temp[i]);
			}
			lastReqRazList.push(temp[i]);
		}
	}
}

/**
 * Processes the results of the XMLHttpRequest
 */
var liveReqProcessReqChange = function(name) {
	if (liveReq.readyState == 4)
	{
		proba.papirlista.length=0;

		lastReqRazList = new Array();
		var temp = new Array();

		var xml = null;
		try
		{
			 // IE Hack
			if (navigator.appName == 'Microsoft Internet Explorer')
			{
				xml = new ActiveXObject("Microsoft.XMLDOM");
				xml.loadXML(liveReq.responseText);
			}
			else
			{
				xml = liveReq.responseXML;
			}
		}
		catch(e)
		{
			return;
		}

		if (xml == null)
			return;

		var fields = xml.getElementsByTagName("ep");

		var count = 0;
		for (var i = 0; i < fields.length; i++)
		{
			var rkaz = fields[i].getAttribute("rkaz");
			var raz = fields[i].getAttribute("raz");
			if (!isSelected(raz,document.proba.kivlista))
				proba.papirlista.options[count++] = new Option(rkaz,raz);
			lastReqRazList.push(raz);
		}
		sortSelect(document.proba.papirlista);
	}
}

/**
 * Initialise the filter links
 */
function labelInit(){
	// keep browsers that don't support DOM or
	// XMLHttpRequest from getting in trouble
	if (document.getElementById && (window.XMLHttpRequest || window.ActiveXObject))
	{
		t_form = document.getElementById("filters_form_open");
		if (!t_form)
		{
			alert("filters_form_open not found!");
			return false;
		}

		t_links = t_form.getElementsByTagName("a");
		if (!t_links)
		{
			alert("no A tags found");
			return false;
		}

		for(var i=0; i < t_links.length; i++){
			var t_link = t_links[i];
			if (t_link.id.substring((t_link.id.length - 7), t_link.id.length) == "_filter")
			{
				// only attach event handler if a target is found
				if (document.getElementById(t_link.id+'_target'))
				{
					// setup the event handler
					t_link.onclick = liveReqDoReq;
				}
				else
				{
					alert("missing target for:" +t_link.id);
				}
			}
		}
	}
	return true;
}

/**
 * Add security to Sec list
 */
var addPapir = function()
{
	if (proba.papirlista.selectedIndex != -1)
	{
		var i=proba.kivlista.options.length;
		var startindex=i;
		var rvSelected = new Array();
		while (proba.papirlista.selectedIndex != -1)
		{
			if (proba.papirlista.selectedIndex != -1)
			{
				proba.kivlista.options[i]=new Option(proba.papirlista.options[proba.papirlista.selectedIndex].text,proba.papirlista.options[proba.papirlista.selectedIndex].value);
				rvSelected[i]=proba.papirlista.selectedIndex;
				i++;
			}
			proba.papirlista.options[proba.papirlista.selectedIndex].selected = false;
		}
		var j=rvSelected.length-1;
		while(j!=startindex-1)
		{
			proba.papirlista.options[rvSelected[j]] = null;
			j--;
		}
		sortSelect(document.proba.kivlista);
	}
}

/**
 * Remove security from Sec list
 */
var remPapir = function()
{
	if (proba.kivlista.selectedIndex != -1)
	{
		var i=0;
		var rvSelected = new Array();
		while (proba.kivlista.selectedIndex != -1)
		{
			if (proba.kivlista.selectedIndex != -1)
			{
				rvSelected[i]=proba.kivlista.selectedIndex;
				i++;
			}
			proba.kivlista.options[proba.kivlista.selectedIndex].selected = false;
		}
		numOfDeletedItems=i;
		i=rvSelected.length-1;
		var j=proba.papirlista.options.length;
		var reloadPapirList = 0;
		while(i!=-1)
		{
			if (lastReqRazList.indexOf(proba.kivlista.options[rvSelected[i]].value)!=-1)
			{
				reloadPapirList = 1;
				proba.papirlista.options[j]=new Option(proba.kivlista.options[rvSelected[i]].text,proba.kivlista.options[rvSelected[i]].value);
				j++;
			}
			proba.kivlista.options[rvSelected[i]] = null;
			i--;
		}

		if (reloadPapirList==1)
			sortSelect(document.proba.papirlista);
		sortSelect(document.proba.kivlista);
	}
}

/**
 * Add Indicies to Idx list
 */
var addIdx = function()
{
	if (proba.idxlista.selectedIndex != -1)
	{
		var i=proba.kividxlista.options.length;
		var startindex=i;
		var rvSelected = new Array();
		while (proba.idxlista.selectedIndex != -1)
		{
			if (proba.idxlista.selectedIndex != -1)
			{
				proba.kividxlista.options[i]=new Option(proba.idxlista.options[proba.idxlista.selectedIndex].text,proba.idxlista.options[proba.idxlista.selectedIndex].value);
				rvSelected[i]=proba.idxlista.selectedIndex;
				i++;
			}
			proba.idxlista.options[proba.idxlista.selectedIndex].selected = false;
		}
		var j=rvSelected.length-1;
		while(j!=startindex-1)
		{
			proba.idxlista.options[rvSelected[j]] = null;
			j--;
		}
		sortSelect(document.proba.kividxlista);
	}
}

/**
 * Remove Indicies from Idx list
 */
var remIdx = function()
{
	if (proba.kividxlista.selectedIndex != -1)
	{
		var i=0;
		var rvSelected = new Array();
		while (proba.kividxlista.selectedIndex != -1)
		{
			if (proba.kividxlista.selectedIndex != -1)
			{
				rvSelected[i]=proba.kividxlista.selectedIndex;
				i++;
			}
			proba.kividxlista.options[proba.kividxlista.selectedIndex].selected = false;
		}
		numOfDeletedItems=i;
		i=rvSelected.length-1;
		var j=proba.idxlista.options.length;
		while(i!=-1)
		{
			proba.idxlista.options[j]=new Option(proba.kividxlista.options[rvSelected[i]].text,proba.kividxlista.options[rvSelected[i]].value);
			j++;
			proba.kividxlista.options[rvSelected[i]] = null;
			i--;
		}
		if (numOfDeletedItems)
			sortSelect(document.proba.idxlista);
		sortSelect(document.proba.kividxlista);
	}
}

var hidaAllTipButton = function()
{
}

var activeTazFilt = function(taz)
{
	for (tip in tip_list)
	{
		if (document.getElementById("ertekpapir_" + tip_list[tip] + "_button") == null)
			continue;

		if (taz_tipus_list[taz].indexOf(tip_list[tip])!=-1)
			document.getElementById("ertekpapir_" + tip_list[tip] + "_button").style.display = 'block';
		else
			document.getElementById("ertekpapir_" + tip_list[tip] + "_button").style.display = 'none';
	}
	selected_taz = taz;
	document.getElementById('epnev').innerHTML = ' ';
	proba.papirlista.length=0;
}

