
function TElementProperties( containerId ) {
    if ( typeof containerId == "string" )
	this.containerDIV = document.getElementById( containerId );
}

TElementProperties.prototype = new Object();
TElementProperties.prototype.marker = null;
TElementProperties.prototype.containerDIV = null;
TElementProperties.prototype.eventListener = null;
TElementProperties.prototype.eventHandler = null;
TElementProperties.prototype.url = null;

function TObjectTypeSettings( url, process, parameters, urlCreator ) {
    if ( typeof url == "string" )
		this.dataUrl = url;
    if ( typeof process == "function" )
		this.process = process;
    if ( typeof parameters == "object" )
		this.parameters = parameters;
    if ( typeof urlCreator == "function" )
		this.getUrl = urlCreator;
}

TObjectTypeSettings.prototype = new Object();
TObjectTypeSettings.prototype.dataUrl = null;
TObjectTypeSettings.prototype.process = function() {};
TObjectTypeSettings.prototype.getUrl = function() { return null; };
TObjectTypeSettings.prototype.parameters = new Object();

OT_NEWS = new TObjectTypeSettings( 
	    "/digitalcity/news/list.xml", 
	    processNews,  
	    { ordering: "-creationDate", icount: 20 },	   
	    function ( element ) { return "/digitalcity/news/redirect.jsp?hir=" + element.getAttribute("key"); }
    );
    
OT_EVENT = new TObjectTypeSettings(
	    "/digitalcity/events/list.xml", 
	    processEvent, 
	    { ordering: "-creationDate", icount: 20 },
	    function ( element ) { return "/digitalcity/entity/entityEvents.jsp?dom=AAAABIOO&prt=AAAAUPPJ&egd=" + element.getAttribute("entity-key") + "&ese=" + element.getAttribute("key"); }
    ); 
    
OT_DOCUMENT = new TObjectTypeSettings(
	    "/digitalcity/documents/list.xml", 
	    processDocument, 
	    { ordering: "-creationDate", icount: 20 },
	    function ( element ) { return "/digitalcity/documents/all.jsp?dom=AAAABIOO&prt=AAAAUPPJ&fmn=AAAAUPVS&men=AAAABFLD&dok=" + element.getAttribute("key"); }
	);
    
OT_OFFER = new TObjectTypeSettings(
	    "/digitalcity/business/list.xml", 
	    processOffer, 
	    { ordering: "-creationDate", icount: 20 },
	    function ( element ) { return "/digitalcity/entity/entityBusinessOffers.jsp?dom=AAAABIOO&prt=AAAAUPPJ&egd=" + element.getAttribute("entity-key") + "&uza=" + element.getAttribute("key"); }
     );
    
OT_ENTITY = new TObjectTypeSettings(
	    "/digitalcity/entities/list.xml", 
	    processEntity, 
	    { ordering: "-creationDate", icount: 20 },
	    function ( element ) { return "/digitalcity/entity.jsp?dom=AAAABIOO&prt=AAAAUPPJ&egd=" + element.getAttribute("key"); }
    
     );
     
function getObjectTypeSettings( resourceUrl ) {
	var objtypes = new Array( OT_NEWS, OT_EVENT, OT_DOCUMENT, OT_OFFER, OT_ENTITY );
	for ( i=0; i<objtypes.length; i++ )
		if ( objtypes[i].dataUrl == ('/digitalcity'+resourceUrl) )
			return objtypes[i];
	return null;
}

var ICON = new GIcon();

window.map = null;
window.mapMarkers = new Array();
window.mapMarkersOption = new Array();

function setMarkerImage( ktgkey ){
	if( ktgkey ){
		ICON.iconSize = new GSize(39,37);
		ICON.iconAnchor = new GPoint(14,37);
		ICON.infoWindowAnchor = new GPoint(11,41);
		eventIcon = new GIcon( ICON, '/kepek/map/catalogue/'+ktgkey+'.png' );
		return eventIcon;
	}
	else{
		ICON.iconSize = new GSize(34,30);
		ICON.iconAnchor = new GPoint(0,30);
		ICON.infoWindowAnchor = new GPoint(0,30);
		newsIcon = new GIcon( ICON, '/kepek/map/pushpin.png' );
		return newsIcon;
	}
}

var tbl;
var iconType;
function createTale( container ){	
	tbl = document.createElement("table");
	tbl.className = "resultMapListTable";
	tbl.setAttribute("cellPadding", 0);
	tbl.setAttribute("cellSpacing", 0);
	container.appendChild( tbl );
}

function createTableHeader( headerTitles ){

	var row = tbl.insertRow( tbl.rows.length );
	row.className = "headerRow";

	for( j=0; j<headerTitles.length; j++ ){
		cell = row.insertCell(j);
		cell.appendChild( document.createTextNode( headerTitles[j] ) );
	}
}

function createTableElements(){

	for( i=0; i<3; i++ ){
		row = tbl.insertRow( i );

		cell1 = row.insertCell(0);
		cell1.appendChild( document.createTextNode( "aaa" ) );
		cell2 = row.insertCell(1);
		cell2.appendChild( document.createTextNode( "bbb" ) );
		cell3 = row.insertCell(2);
		cell3.appendChild( document.createTextNode( "ccc" ) );
	}

}

function goToBaseObject(){ document.getElementById("gMapMenuTable").focus(); }

function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

function objectResizeToPage(){
	
	var pageProperies = getPageSize();
	var windowHeight = pageProperies[1];
	var windowWidth = pageProperies[0];
	
	document.getElementById("mapDelay").style.width = windowWidth+"px";
	document.getElementById("mapDelay").style.height = windowHeight+"px";

}

function showDiv(){
	document.getElementById("mapDelay").style.display = "block";
	//alert( "mutat: " + document.getElementById("mapDelay").style.display );
}
function hideDiv(){
	document.getElementById("mapDelay").style.display = "none";
	//alert( "rejt: " + document.getElementById("mapDelay").style.display );
}

function processNews( newsItem, container ) {
	iconType = "news";
	if( tbl.rows.length == 0 ) createTableHeader( new Array( news_title, news_author, news_date ) );

	var row = tbl.insertRow( tbl.rows.length );
	if( tbl.rows.length%2 == 0 ) row.className = "resultOddRow";
	else row.className = "resultEvenRow";

    var title  = newsItem.getElementsByTagName("title").item(0).firstChild.data;
    var lead   = newsItem.getElementsByTagName("lead").item(0).firstChild.data;
    var source = newsItem.getElementsByTagName("source").item(0).firstChild.data;
    var creationDate = newsItem.getElementsByTagName("creationDate").item(0).firstChild.data;
    var thumbnailUrl = null;
    if ( newsItem.getElementsByTagName("thumbnailUrl").length > 0 )
		thumbnailUrl = newsItem.getElementsByTagName("thumbnailUrl").item(0).firstChild.data;

    cell1 = row.insertCell(0);
	cell1.appendChild( document.createTextNode( title ) );

	cell2 = row.insertCell(1);
	cell2.appendChild( document.createTextNode( source ) );

	cell3 = row.insertCell(2);
	cell3.appendChild( document.createTextNode( creationDate ) );

    
    return function( element ) {
		iwDiv = document.createElement("div");
		iwDiv.className = "iw";
					
		iwTitle = document.createElement("div");
		iwTitle.className = "iwTitle";
		iwTitle.appendChild( document.createTextNode( title ) );
		
		iwLead = document.createElement("div");
		if ( thumbnailUrl != null ) {
		    iwNewsThumbnail = document.createElement("img");   
		    image = new Image();
		    image.src = thumbnailUrl;
		    image.className = "iwThumbnail";
		    iwLead.appendChild( image );
		}
		iwLead.appendChild( document.createTextNode( lead ) );
		
		iwDiv.appendChild( iwTitle );
		iwDiv.appendChild( iwLead );
	
		if ( element.url != null ) {
		    iwDetails = document.createElement("a");
		    iwDetails.className = "iwDetails";
		    iwDetails.href = element.url;
		    iwDetails.target = "mapreader"
		    iwDetails.appendChild( document.createTextNode( window.linkText ) );
		    iwDiv.appendChild( iwDetails );
		}
		
		element.marker.openInfoWindow( iwDiv );		
		goToBaseObject();
    }
}

function processEvent( eventItem, container ) {
	iconType = "event";
	if( tbl.rows.length == 0 ) createTableHeader( new Array( event_name, event_start, event_end ) );

	var row = tbl.insertRow( tbl.rows.length );
	if( tbl.rows.length%2 == 0 ) row.className = "resultOddRow";
	else row.className = "resultEvenRow";


    var title = eventItem.getElementsByTagName("title").item(0).firstChild.data;
    var organizer = eventItem.getElementsByTagName("organizer").item(0).firstChild.data;
    var address = eventItem.getElementsByTagName("address").item(0).firstChild.data;
    var startDate = eventItem.getElementsByTagName("startDate").item(0).firstChild.data;
    var finishDate = null;
    if ( eventItem.getElementsByTagName("finishDate").length > 0 )
		finishDate = eventItem.getElementsByTagName("finishDate").item(0).firstChild.data;

	cell1 = row.insertCell(0);
	cell1.appendChild( document.createTextNode( title ) );

	cell2 = row.insertCell(1);
	cell2.appendChild( document.createTextNode( startDate ) );


    var divInterval2 = null;
    if ( finishDate != null ) {
		cell3 = row.insertCell(2);
		cell3.appendChild( document.createTextNode( finishDate ) );
    }
	else{
		cell3 = row.insertCell(2);
		cell3.appendChild( document.createTextNode( "&nbsp;" ) );	
	}
    

    return function( element ) {
		var iwDiv = document.createElement("div");
		iwDiv.className = "iw";
		
		var iwTitle = document.createElement("div");
		iwTitle.className = "iwTitle";
		iwTitle.appendChild( document.createTextNode( title ) );
		
		var iwOrganizer = document.createElement("div");
		iwOrganizer.appendChild( document.createTextNode( organizer ) );
	
		var iwAddress = document.createElement("div");
		iwAddress.appendChild( document.createTextNode( address ) );
	
		var iwStartDate = document.createElement("div");
		iwStartDate.appendChild( document.createTextNode( startDate ) );
	       
		var iwFinishDate = null;
		if ( finishDate != null ) {
		    iwFinishDate = document.createElement("div");
		    iwFinishDate.appendChild( document.createTextNode( finishDate ) );
		}
	
		iwDiv.appendChild( iwTitle );
		iwDiv.appendChild( iwOrganizer );
		iwDiv.appendChild( iwAddress );
		iwDiv.appendChild( iwStartDate );
		if ( iwFinishDate != null )
		    iwDiv.appendChild( iwFinishDate );   
		    
		if ( element.url != null ) {
		    iwDetails = document.createElement("a");
		    iwDetails.className = "iwDetails";
		    iwDetails.href = element.url;
		    iwDetails.target = "mapreader"
		    iwDetails.appendChild( document.createTextNode( window.linkText ) );
		    iwDiv.appendChild( iwDetails );
		}
	
		element.marker.openInfoWindow( iwDiv );
		goToBaseObject();
    }
	
}

function processDocument( documentItem, container ) {
	iconType = "document";
	if( tbl.rows.length == 0 ) createTableHeader( new Array("els�", "m�sodik", "harmadik") );

	var row = tbl.insertRow( tbl.rows.length );
	if( tbl.rows.length%2 == 0 ) row.className = "resultOddRow";
	else row.className = "resultEvenRow";

    var title = documentItem.getElementsByTagName("title").item(0).firstChild.data;
	var author = documentItem.getElementsByTagName("author").item(0).firstChild.data;
    var issue = documentItem.getElementsByTagName("issue").item(0).firstChild.data;

    var divTitle = document.createElement("div");
    divTitle.className = "mapDocumentTitle";
    divTitle.appendChild( document.createTextNode( title ) );

    var divAuthor = document.createElement("div");
    divAuthor.className = "mapDocumentAuthor";
    divAuthor.appendChild( document.createTextNode( author ) );

    var divIssue = document.createElement("div");
    divIssue.className = "mapDocumentIssue";
    divIssue.appendChild( document.createTextNode( issue ) );


    return function( element ) {
		iwDiv = document.createElement("div");
		iwDiv.className = "iw";
		
		iwTitle = document.createElement("div");
		iwTitle.className = "iwTitle";
		iwTitle.appendChild( document.createTextNode( title ) );

		iwAuthor = document.createElement("div");
		iwAuthor.appendChild( document.createTextNode( author ) );

		iwIssue = document.createElement("div");
		iwIssue.appendChild( document.createTextNode( issue ) );
		
		iwDiv.appendChild( iwTitle );
		iwDiv.appendChild( iwAuthor );
		iwDiv.appendChild( iwIssue );
	
		if ( element.url != null ) {
		    iwDetails = document.createElement("a");
		    iwDetails.className = "iwDetails";
		    iwDetails.href = element.url;
		    iwDetails.target = ""
		    iwDetails.appendChild( document.createTextNode( window.linkText ) );
		    iwDiv.appendChild( iwDetails );
		}
	
		element.marker.openInfoWindow( iwDiv );
		goToBaseObject();
    }
}

function processOffer( offerItem, container ) {
	iconType = "offer";
	
	/* uj kod */
	if( tbl.rows.length == 0 ) createTableHeader( new Array(offer_title) );
	
	var row = tbl.insertRow( tbl.rows.length );
	if( tbl.rows.length%2 == 0 ) row.className = "resultOddRow";
	else row.className = "resultEvenRow";	
	
	var title = offerItem.getElementsByTagName("shortDescription").item(0).firstChild.data;	
	
	cell1 = row.insertCell(0);
	cell1.appendChild( document.createTextNode( title ) );    

	/**/
	
	/* regi kod
    var title = offerItem.getElementsByTagName("shortDescription").item(0).firstChild.data;

    var divShortDescription = document.createElement("div");
    divShortDescription.className = "mapOfferShortDescription";
    divShortDescription.appendChild( document.createTextNode( title ) );

    container.appendChild( divShortDescription );
    */
    
    
    return function( element ) {
		iwDiv = document.createElement("div");
		iwDiv.className = "iw";
		
		iwTitle = document.createElement("div");
		iwTitle.className = "iwTitle";
		iwTitle.appendChild( document.createTextNode( title ) );
		
		iwDiv.appendChild( iwTitle );
	
		if ( element.url != null ) {
		    iwDetails = document.createElement("a");
		    iwDetails.className = "iwDetails";
		    iwDetails.href = element.url;
		    iwDetails.target = "mapreader"
		    iwDetails.appendChild( document.createTextNode( window.linkText ) );
		    iwDiv.appendChild( iwDetails );
		}
	
		element.marker.openInfoWindow( iwDiv );
		goToBaseObject();
    }
}

function processEntity( entityItem, container ) {
	iconType = "entity";
	
	//if( tbl.rows.length == 0 ) createTableHeader( new Array(entity_name, entity_addres, entity_catalogue, entity_pageview ) );
	if( tbl.rows.length == 0 ) createTableHeader( new Array(entity_name, entity_pageview ) );
	
	var row = tbl.insertRow( tbl.rows.length );
	if( tbl.rows.length%2 == 0 ) row.className = "resultOddRow";
	else row.className = "resultEvenRow";	
	
    var title = entityItem.getElementsByTagName("title").item(0).firstChild.data;
    var creationDate = entityItem.getElementsByTagName("creationDate").item(0).firstChild.data;
    var thumbnailUrl = null;    
    var visiting = entityItem.getElementsByTagName("visiting").item(0).firstChild.data;
    var egdKey = entityItem.getAttribute("key");
    
    if ( entityItem.getElementsByTagName("thumbnailUrl").length > 0 )
		thumbnailUrl = entityItem.getElementsByTagName("thumbnailUrl").item(0).firstChild.data;

	cell1 = row.insertCell(0);
	cell1.appendChild( document.createTextNode( title ) );    

	cell2 = row.insertCell(1);
	cell2.appendChild( document.createTextNode( visiting ) );

    
    /*
    regi cellak
	cell1 = row.insertCell(0);
	cell1.appendChild( document.createTextNode( title ) );    

	cell2 = row.insertCell(1);
	if ( entityItem.getElementsByTagName("address").length > 0 )
		cell2.appendChild( document.createTextNode(entityItem.getElementsByTagName("address").item(0).firstChild.data ) );
	else	
		cell2.appendChild( document.createTextNode("\u00A0") );		
	
	cell3 = row.insertCell(2);
	if ( entityItem.getElementsByTagName("catalogue").length > 0 )
		cell3.appendChild( document.createTextNode(entityItem.getElementsByTagName("catalogue").item(0).firstChild.data ) );
	else	
		cell3.appendChild( document.createTextNode("\u00A0") );
	
	
	cell4 = row.insertCell(3);
	cell4.appendChild( document.createTextNode( visiting ) );
	*/
	
 
    return function( element ) {
		iwDiv = document.createElement("div");

	    var xmlhttp = (!document.all) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	    		
	    //prompt( "", this.__objectType.dataUrl + "?" + parameters );
		try {		
		    xmlhttp.open('POST', '/digitalcity/entities/entityInfoWindowPath.jsp', false);
	    	xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8');
		    xmlhttp.send( 'egd='+egdKey+'&lng='+OT_ENTITY.parameters.lng+"&"+portal );
	    } catch ( e ) {
	    	return;
	    }				
		iwDiv.innerHTML = xmlhttp.responseText; 			
			
		element.marker.openInfoWindow( iwDiv );
		goToBaseObject();
    }
}


function getInfoWindowCreator( element, funct, manager ) {
    return function() {
    	manager.__opening = true;
		funct( element );
    	manager.__opening = false;
    }
}

function processXML( bounds ) {
    window.mapManagement.objectType = tabs[actualTab];
    window.mapManagement.processXML( bounds );
}

// Map management

function createEventHandler( element ) {
	return function () {
		element.eventHandler( element );
	}
}

function TMapManagement( mapId, conatinerIds, emptyId, objectType, onchange, latlng, zoom ) {	
	
	this.__objectType = objectType;    
    this.elements = new Array();
    this.onchange = onchange;
    for ( i = 0; i < containerIds.length && i < 20; i++ ) {
		var div = document.getElementById(containerIds[i]);
		var ep = new TElementProperties();
		ep.containerDIV = div;
		//div.onclick = createEventHandler( ep );
		this.elements[i] = ep;
    }
    this.emptyDiv = document.getElementById(emptyId);
    this.managedMap = new GMap2(document.getElementById(mapId));
    this.managedMap.addMapType(G_PHYSICAL_MAP);
    this.managedMap.setMapType(G_NORMAL_MAP);
    //this.managedMap.addControl(new GMapTypeControl());
    
    
    if ( (latlng instanceof GLatLng) && ( typeof zoom == "number") )
	    this.managedMap.setCenter( latlng, zoom );
	else
	    this.managedMap.setCenter( (new GLatLngBounds( 
	    	new GLatLng(35.17380831799959, -15.99609375), 
	    	new GLatLng(62.915233039476135, 45.52734375) )).getCenter(), 4);
    var manager = this;
    GEvent.addListener( manager.managedMap, "movestart", function() {
    	manager.__moveing = true;
    } );
    GEvent.addListener( manager.managedMap, "moveend", function() {
    	manager.__moveing = false;
    	manager.page = 1;
		manager.processXML( manager.managedMap.getBounds() );
    } );
    this.processXML( manager.managedMap.getBounds(), true );
}


TMapManagement.prototype.elements = new Array();
TMapManagement.prototype.emptyDiv = null;
TMapManagement.prototype.managedMap = null;
TMapManagement.prototype.onchange = null;
TMapManagement.prototype.__moveing = false;
TMapManagement.prototype.__opening = false;
TMapManagement.prototype.__objectType = null;
TMapManagement.prototype.page = 1;
TMapManagement.prototype.ktgkey = null;
TMapManagement.prototype.pattern = null;
TMapManagement.prototype.iniletter = null;
TMapManagement.prototype.__nextPage = null;
TMapManagement.prototype.__previousPage = null;

TMapManagement.prototype.setObjectType = function( objectType ) {	
	if ( ! ( objectType instanceof TObjectTypeSettings ) )
		return;
	this.__objectType = objectType;
	this.page = 1;
	this.processXML( this.managedMap.getBounds(), true );
}

TMapManagement.prototype.loadCatalogue = function( ktgkey ) {
	this.ktgkey = ktgkey;
	this.page = 1;
	this.processXML( this.managedMap.getBounds(), true );
}

TMapManagement.prototype.loadPattern = function( pattern ) {
	this.pattern = pattern;
	this.iniletter = "";
	this.page = 1;
	this.processXML( this.managedMap.getBounds(), true );
}

TMapManagement.prototype.setPattern = function( pattern ) {
	this.pattern = pattern;	
	this.iniletter = "";
	this.page = 1;
}

TMapManagement.prototype.loadIniLetter = function( iniletter ) {
	document.forms.searchform.patternString.value = "";
	this.iniletter = iniletter;
	this.pattern = "";
	this.page = 1;	
	this.processXML( this.managedMap.getBounds(), true );
}

TMapManagement.prototype.setIniLetterStyle = function() {	
	if(this.iniletter && this.iniletter != "" )
		document.getElementById( "inliLetter_"+this.iniletter ).className = "inliLetterLinkSelected";
	else
		document.getElementById( "inliLetter_"+this.iniletter ).className = "inliLetterLink";
}

TMapManagement.prototype.loadNextPage = function() {
	if ( this.__nextPage == null )
		return;
	this.page = this.__nextPage;
	this.processXML( this.managedMap.getBounds(), true );
}
TMapManagement.prototype.loadPreviousPage = function() {	
	if ( this.__previousPage == null )
		return;
	this.page = this.__previousPage;
	this.processXML( this.managedMap.getBounds(), true );
}

TMapManagement.prototype.processXML = function ( bounds, closeInfoWindow ) {
	
	//eval("showDiv()");
    if ( ( ! this.managedMap.getInfoWindow().isHidden() ) && ( closeInfoWindow != true ) )
    	return;
   	else if ( ! this.managedMap.getInfoWindow().isHidden() )
   		this.managedMap.closeInfoWindow();
    if ( ! (this.__objectType instanceof TObjectTypeSettings) ) {
		alert("Internal error! Object type not valid!");
		return;
	}

    var parameters = 
		'lat1=' + bounds.getNorthEast().lat() +
		'&lat2=' + bounds.getSouthWest().lat() +
		'&lon1=' + bounds.getNorthEast().lng() +
		'&lon2=' + bounds.getSouthWest().lng() +
		'&page=' + this.page +
		'&firstktg=I';
    if ( this.ktgkey )
    	parameters+='&ktgkey=' + this.ktgkey;
    if ( this.iniletter )
    	parameters+='&iniletter=' + this.iniletter;
    if ( this.pattern && this.pattern != "" )
    	parameters+='&pattern=' + this.pattern;    
    /*else
    	parameters+='&khakod=TEK';*/
    for ( i in this.__objectType.parameters )
		parameters += "&" + i + "=" + this.__objectType.parameters[i];
    
    var xmlhttp = (!document.all) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    var response = null;
	
    //prompt( "", this.__objectType.dataUrl + "?" + parameters );
	try {		
	    xmlhttp.open('POST', this.__objectType.dataUrl, false);
    	xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8');
	    xmlhttp.send( parameters );
    } catch ( e ) {
    	return;
    }
    response = xmlhttp.responseXML;
   
	var nextPage = null, previousPage = null;
	if ( ( nextPage = response.getElementsByTagName("next") ).length > 0 )
		this.__nextPage = nextPage.item(0).getAttribute("page");
	else
		this.__nextPage = null;
	if ( ( previousPage = response.getElementsByTagName("previous") ).length > 0 )
		this.__previousPage = previousPage.item(0).getAttribute("page");
	else
		this.__previousPage = null;
   
    var results  = response.getElementsByTagName("record");
    var manager = this;

	while( tbl.rows.length > 0 ){
		tbl.deleteRow(0);
	}
	
		
	for ( i = 0; i < this.elements.length; i++ ) {		
		var element = this.elements[i];
		if ( i < results.length ) {
		    var actualItem = results.item(i);
		    var title = actualItem.getElementsByTagName("title").item(0).firstChild.data;
		    var loc = actualItem.getElementsByTagName("location").item(0);
		    var gLatLng = new GLatLng( loc.getAttribute("lat"), loc.getAttribute("long") );
		    var infoWindowCreator = null;
		    
		    element.url = this.__objectType.getUrl( actualItem );
		    try {
				//itemDiv = element.containerDIV;
				//itemDiv.innerHTML = "";
				infoWindowCreator = this.__objectType.process( actualItem, '' );
				//itemDiv.style.display = "block";
				tbl.rows.item(i+1).onclick = getInfoWindowCreator( element, infoWindowCreator, manager );
		    } catch( except ) {
				alert( except );
		    }
		    
		    if ( element.eventListener != null )
				GEvent.removeListener( element.eventListener )
		    if ( element.marker != null )
				this.managedMap.removeOverlay( element.marker );
			
		    var imgKtgkey = null; 
		    if( this.ktgkey ) {
		    	imgKtgkey = this.ktgkey; 
		    } else {
		    	var ktgkeyElements = actualItem.getElementsByTagName("catalogue");
		    	if ( ktgkeyElements.length > 0 )
		    		imgKtgkey = ktgkeyElements.item(0).getAttribute("key");
		    } 
		    element.marker = new GMarker( gLatLng, { icon: setMarkerImage(imgKtgkey), title: title } );
		    //element.marker = new GMarker( gLatLng, { icon: setMarkerImage( iconType, i ), title: title } );
		    //element.marker = new GMarker( gLatLng, { icon: pictures[i], title: title } );
		    if ( infoWindowCreator != null && typeof infoWindowCreator == "function" )
				element.eventHandler = getInfoWindowCreator( element, infoWindowCreator, manager );
		    else
				element.eventHandler = function() { alert("NotImplemented"); }
		    element.eventListener = GEvent.addListener( element.marker, "click", element.eventHandler );
		    this.managedMap.addOverlay( element.marker );
		} else {
		    if ( element.eventListener != null )
				GEvent.removeListener( element.eventListener )
		    if ( element.marker != null )
				this.managedMap.removeOverlay( element.marker );
		    element.marker = null;
		    element.eventListener = null;
		   // element.containerDIV.style.display = "none";
		}
    }
	//this.emptyDiv.style.display = (results.length == 0) ? "block" : "none";
    
	//setTimeout("hideDiv()", 10);
	//alert( "vége display: " + document.getElementById("mapDelay").style.display );
    if ( typeof this.onchange == "function" ) {
    	this.onchange( this.__previousPage != null, this.__nextPage != null );
    }
        
}




