var xmlHttp = createXmlHttpRequestObject();
var xsltFileUrl = "http://www.asa-event.de/xsl/grid.xsl";
var feedGridUrl ="http://www.asa-event.de/php/grid.php5";
var gridDivId ="gridDiv";
var statusDivId="statusDiv";
var tempRow;
var editableId=null;
var stylesheetDoc;
var page;
var flagSelected=false;

function startsearch()
{
	var events, ort, land, plz;
	events = document.getElementById("event").value;
	ort = document.getElementById("ort").value;
	land = document.getElementById("land").value;
	plz = document.getElementById("plz").value;
	ort = encode(ort);
	init(events, ort, land, plz, 1);

}
function nextPageSearch(pageNr)
{
	var events, ort, land, plz;
	events = document.getElementById("event").value;
	ort = document.getElementById("ort").value;
	land = document.getElementById("land").value;
	plz = document.getElementById("plz").value;
	ort = encode(ort);
	init(events, ort, land, plz, pageNr);

}
function init(events, ort,land, plz, pageNr)
{
	if(window.XMLHttpRequest && window.XSLTProcessor && window.DOMParser)
	{	
		loadStylesheet();
		loadGridPage(pageNr, events, ort,land, plz);
		/*alert(xmlHttp.responseText);*/
		return;
	}
	if(window.ActiveXObject && createMsxml2DOMDocumentObject())
	{
	
		loadStylesheet();
		loadGridPage(pageNr, events, ort, land, plz);
		/*alert(xmlHttp.responseText);*/
		return;
	}
	alert("your browser doesnt support the necessary funct.");
}


function createMsxml2DOMDocumentObject()
{
	var msxml2DOM;
	var msxml2DOMDocumentVersions = new Array("Msxml2.DOMDocument.6.0",
											  "Msxml2.DOMDocument.5.0",
											  "Msxml2.DOMDocument.4.0");
	for ( var i=0; i<msxml2DOMDocumentVersions.length && !msxml2DOM; i++)
	{
		try
		{
			msxml2DOM = new ActiveXObject(msxml2DOMDocumentVersions[i]);
		}
		catch(e){}
	}
	if(!msxml2DOM)
	alert("Please upgrade MSXML version from....");
	else
	return msxml2DOM;
	
}

function loadStylesheet()
{
	xmlHttp.open("GET", xsltFileUrl, false);
	xmlHttp.send(null);
	
	if(this.DOMParser)
	{
		var dp=new DOMParser();
		
		stylesheetDoc = dp.parseFromString(xmlHttp.responseText, "text/xml");
		/*alert(xmlHttp.responseText);*/
	}
	else if(window.ActiveXObject)
	{

		stylesheetDoc = createMsxml2DOMDocumentObject();
		stylesheetDoc.async =false;
		stylesheetDoc.load(xmlHttp.responseXML);
	}

}

function loadGridPage(pageNo, event, ort,land, plz)
{
	//xmlHttp=createXmlHttpRequestObject();
	editableId=false;
	if(xmlHttp &&(xmlHttp.readyState == 4 || xmlHttp.readyState ==0))
	{
		
		event = encode(event);
		
		var query = feedGridUrl + "?action=FEED_GRID_PAGE&page="+pageNo+"&event="+event+"&ort="+ort+"&land="+land+"&plz="+plz;
		//alert(query);
		xmlHttp.open("GET", query, true);
		
		

		xmlHttp.onreadystatechange = handleGridPageLoad;
					xmlHttp.send(null);	

	}
}

function handleGridPageLoad()
{	if(xmlHttp.readyState ==4)
	{	

			var response = xmlHttp.responseText;
			
			if(response.indexOf("ERRNO") >=0 
								|| response.indexOf("error") >=0 
								|| response.length==0)
			{
				alert(response.length ==0 ? "Server xxserror." : response);
				return;
			}
			xmlResponse = xmlHttp.responseXML;

			if(!xmlResponse || !xmlResponse.documentElement)
			alert("Invalid XML Structure:\n" + xmlHttp.responseText);
		
			if(window.XMLHttpRequest && window.XSLTProcessor && window.DOMParser)
			{
				var xsltProcessor = new XSLTProcessor();
				xsltProcessor.importStylesheet(stylesheetDoc);
				page = xsltProcessor.transformToFragment(xmlResponse,document);
				var gridDiv=document.getElementById(gridDivId);
				gridDiv.innerHTML="";
				gridDiv.appendChild(page);

			}
			else if(window.ActiveXObject)
			{
				var theDocument = createMsxml2DOMDocumentObject();
				theDocument.async = false;
				theDocument.load(xmlResponse);
				//alert(xmlResponse);
				var gridDiv = document.getElementById(gridDivId);
				gridDiv.innerHTML="";
				gridDiv.innerHTML = theDocument.transformNode(stylesheetDoc);

			}

	}
}
function encode(uri)
{
	if(encodeURIComponent)
	{
		return encodeURIComponent(uri);
	}
	if(escape)
	{
		return escape(uri);
	}
}
function createXmlHttpRequestObject()
{
	var xmlHttp;
	try
	{
		xmlHttp = new XMLHttpRequest();
	}
	catch(e)
	{
		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
										"MSXML2.XMLHTTP.5.0",
										"MSXML2.XMLHTTP.4.0",
										"MSXML2.XMLHTTP.3.0",
										"MSXML2.XMLHTTP",
										"Microsoft.XMLHTTP");
		for(var i=0;i<XmlHttpVersions.length && !xmlHttp; i++)
		{
			try
			{
				xmlHttp= new ActiveXObject(XmlHttpVersions[i]);
			}
			catch(e){}
		}
	}
	if(!xmlHttp)
	alert("Error creating xmlhttprequest object");
	else
	return xmlHttp;
}
