
var xmlHttp = null;
var xmlDetailHttp = null;
var xmlDoc; //stores all detail pushpindata (vvks)
var xmlOverviewDoc; //stores all overview pushpindata (cities)
var xmlOverviewImagemapHtml = new Array(); //stores the html of the overview- imagemap
var maxPushpinsToDraw = 50;
var timeout;

//arrOverviewImageMaps stores objects of type OverviewClass
var arrOverviewImageMaps = new Array() //"ImageMap_BL.xml", "ImageMap_PLZ.xml", "ImageMap_Ticketregion.xml");

//initializes arrOverviewImageMaps
function InitOverviews()
{
    arrOverviewImageMaps[arrOverviewImageMaps.length] = new OverviewClass("Bundeslaender", "ImageMap_BL.xml", "BL");
    arrOverviewImageMaps[arrOverviewImageMaps.length] = new OverviewClass("Postleitzahlen", "ImageMap_PLZ.xml", "PLZ");
    arrOverviewImageMaps[arrOverviewImageMaps.length] = new OverviewClass("Ticketregion", "ImageMap_Ticketregion.xml", "BL");
}

function InitXmlHttp(){
	if (window.XMLHttpRequest) {
	// If IE7, Mozilla, Safari, and so on: Use native object
		xmlHttp = new XMLHttpRequest();
		xmlDetailHttp = new XMLHttpRequest();
	}
	else
	{
		if (window.ActiveXObject) {
			// ...otherwise, use the ActiveX control for IE5.x and IE6
			xmlHttp = new ActiveXObject('MSXML2.XMLHTTP.3.0');
			xmlDetailHttp = new ActiveXObject('MSXML2.XMLHTTP.3.0');
		}
	}			
}

function LoadOverviewData()
{
	//VVKStaedteMitGeodaten
	xmlHttp.onreadystatechange = FetchOverviewData;
	xmlHttp.open("GET", "../getXMLData.ashx?data=VVKGeodaten_ExternerKundenverkauf&view=Orte", true);
	xmlHttp.send(null);
	//VVKStaedteMitGeodaten
}

function FetchOverviewData()
{
    if (xmlHttp.readyState==4)
    {
        if (xmlHttp.status==200)
        {
	        xmlOverviewDoc = xmlHttp.responseXML;
            LoadDetailData();    
        }
        else
        {
            alert("Problem retrieving XML data")
        }
    
    }
}

function LoadDetailData()
{
	xmlDetailHttp.onreadystatechange = FetchDetailData;
	xmlDetailHttp.open("GET", "../getXMLData.ashx?data=VVKGeodaten_ExternerKundenverkauf", true);
	xmlDetailHttp.send(null);
}

function FetchDetailData()
{
    if (xmlDetailHttp.readyState==4)
    {
	    xmlDoc = xmlDetailHttp.responseXML;
	    //transform xml
	    xslRequest(xmlDoc, 'xsl/vvk.xsl');
	    //timeout = window.setTimeout('LoadOverviewImagemapData();', 100);
	    LoadOverviewImagemapData(0);
    }
}

var curImagemapIndexToLoad;
function LoadOverviewImagemapData(index)
{
    window.clearTimeout(timeout);
    if (document.implementation && document.implementation.createDocument)
	{
		xmlOverviewImagemapHtml[index] = document.implementation.createDocument("", "", null);
		xmlOverviewImagemapHtml[index].onload = FetchOverviewImagemapData;
	}
	else if (window.ActiveXObject)
	{
		xmlOverviewImagemapHtml[index] = new ActiveXObject("Microsoft.XMLDOM");
		xmlOverviewImagemapHtml[index].onreadystatechange = function () {
			if (xmlDoc.readyState == 4) FetchOverviewImagemapData();
		};
 	}
	else
	{
		alert('Your browser can\'t handle this script');
		return;
	}
	curImagemapIndexToLoad = index;
	//alert(arrOverviewImageMaps[index].imagemapFilename);
	xmlOverviewImagemapHtml[index].load(arrOverviewImageMaps[index].imagemapFilename);

}


function FetchOverviewImagemapData()
{
    if(!window.ActiveXObject || xmlOverviewImagemapHtml[curImagemapIndexToLoad].readyState == 4){
        if(curImagemapIndexToLoad < arrOverviewImageMaps.length-1)
        {
            //fetch the next imagemap- file
            LoadOverviewImagemapData(curImagemapIndexToLoad + 1);    
        }
        else
        {
            if(xmlOverviewImagemapHtml[1].xml.length>0)
            {
                ShowSmallOverviewImageMap(0);
            }
        }
    }
}
