/**
* I-Frame Funktionen
*/
/**
* Funktion zur Kommunikation vom IFrame zum Top-Fenster
*/
function setpoint(userid,x,y) {
	document.forms["poiedit_form"].elements["X"].value = x;
	document.forms["poiedit_form"].elements["Y"].value = y;
}

function setfels() {
	document.forms["adminForm"].elements["Fels_Rechtswert"].value = setFelsWindow.document.forms["adminform"].elements["x"].value;
	document.forms["adminForm"].elements["Fels_Hochwert"].value = setFelsWindow.document.forms["adminform"].elements["y"].value;
	setFelsWindow.close();
}


/**
* Funktion zur Kommunikation vom IFrame zum Top-Fenster
* 
* @param ids
* @param intern: true==aufruf aus Portal, false== Aufruf aus Viewer
* @param refresh
*/
function mapidentify(ids, intern, refresh) {
	if (DEBUG) alert ("mi"+ids);
	if (!intern){
		fc.makeHistory(1);
	}
	var caller = new Object();
	caller.id = "ajax_mapidentify_id";
	caller.href = mamboLocation+"david.php?"+ids+"";
	//ist ids leerer String oder "1=" wird die Startseite generiert
	//auf der dann wieder die statische Karte angezeigt wird
	if (ids == "" || ids == "1=") {
		reloadIframe('');
	}
	//Sonst die Verarbeitung starten
	else {
		refreshMap = refresh;
		fc.loadDavid(caller);
	}
}

/**
* Funktion zur Anzeige eines Felsen per DAVID in der Karte
*/
function showFelsInKarte(ids) {
	refreshMap = true;
	caller = new Object();
	caller.id = "ajax_showFels_id";
	caller.href = mamboLocation+"david.php?"+ids+"";
	//ist ids leerer String oder "1=" wird die Startseite generiert
	//auf der dann wieder die statische Karte angezeigt wird
	if (ids == "" || ids == "1=") fc.loadStartpage(startPage);
	//Sonst die Verarbeitung starten
	else fc.loadDavid(caller);
}

//takes Vars as an Array
function setGisArray(myGisArray) {
	gisArray = myGisArray;
}

function printGisArray() {
	var selected = document.getElementById("output");
	var myTXT, content = "", p;
	for (var param in gisArray){
    	content = content + "  " + param + " : " + gisArray[param] + "  ";
  	}
    p = document.createElement("p");
    myTXT = document.createTextNode(content);
    p.appendChild(myTXT);
    selected.appendChild(p);
}
/**
*  iframe reload
* - 2008-02-19: Switch zu JSON-Viewer, wenn externer Bereich
*/
function reloadIframe(david)
{	
	if (DEBUG)alert ("reloadIframe :"+david);
	if (david == 1 || david == "") {
		
		//Ü-Karte nur neuzeichnen, wenn was anderes IFRAME steht
		if(document.getElementById("iframe").src != uebersichtskarte){
			document.getElementById("iframe").src = uebersichtskarte;	
			iframeSetSize(550);
		}
		$('iframe').show();
		$('mapContainer').hide();
		
		//INIT-CLEAN (ohne region, ohne paint() !)
		if(alta4Map ==null)	initMapClean(598,375);
	}
    else if (david != ""){
		//$('zuletzt_hinzugefuegte_felsen').hide(); //Top-Felsen nur auf Startseite anzeigen
		
		if (aktContent.Login.state == "loggedIn") {
		//if (aktContent.Login.state == "loggedIn" || (navigator.userAgent.indexOf("MSIE 8") >0)) { //woraround für IE8  (2009-10  )
			 //interner Bereich -> IMS-Viewer anzeigen
			//alert('reload Map: interner Bereich');
					
			$('mapContainer').hide();
			$('iframe').show();
			document.getElementById("iframe").src=mapPath+david;
			iframeSetSize(395);
		} else{
			//externer Bereich -> JSON-Viewer anzeigen
			//alert('reload Map: externer Bereich'); 
			
			//INIT-CLEAN (ohne region, ohne paint() !)
			if(alta4Map ==null)	initMapClean(598,375); //z.B. Wenn Seite aus Bookmarks über DAVID-URL aufgerufen
			
	
		
			var poiType = getDavPoiType(david);			
			var davidClean = getDavid(david);
						
			//Viewer einblenden
			$('mapContainer').show();
			$('iframe').hide();
			
			//TODO: if REG OR GEBIET -> getLatLon for REG, GEB from Server + ZoomTo LatLon
			new Ajax.Request('/viewer/jsonviewer/poi?type='+poiType+'&id='+davidClean, {
				method:'get',
				onSuccess: function(transport){
					
					//Koordinaten rausziehen
					var json = eval('('+transport.responseText+')'); //geht
					/*var json = (transport.responseText).toJSON(true); //geht nicht (wg. Tabs ?)*/
					var toPoint = null; 
					for (var i in json) {
						toPoint= json[i];
					}
					
					//karte auf Punkt zentrieren
					if(alta4Map.map.painted==false){				
							alta4Map.setZoomLevel(3);
							//alta4Map.setCenter(toPoint); //fehler?
							alta4Map.setCenter(new Array(toPoint.lon, toPoint.lat));
							alta4Map.paint(); 
					} else {					
						alta4Map.map.mapManager.zoomToAndCenter(layer2ZoomLevel[poiType],toPoint);
					}
					
					//Popup des Felsen öffnen
					if(poiType == "fels"){
						alta4Map.map.mapManager.map.activePoiId = davidClean; //zoom-popup-bug
						alta4Map.map.mapManager.zoomToAndCenter(layer2ZoomLevel[poiType],toPoint);
						//alta4Map.showPOI(davidClean); //checkt this 
					}
					//PoiBox mit neuen Punkten (aus neuem Extent ausfüllen)
					//div: poi_list_for_extent
					
					//Box aufbauen und einblenden (wird über update-Methode befüllt)
					var box = $('poi_list_for_extent');
					if(box.style.visibility == "hidden"){
						box.style.visibility = "visible";
					}
				}
			});
		
		}
	

    }
    //alert (document.getElementById("iframe").src);
}

/**
 * Fügt neue POIs zur Box hinzu.
 * @param {Object} poi
 */
function addPoiToExtenBox(poi){
	var box_inner = $('extent_poi_box_inner'); //enhält alle Zeilen
	//old
	//box_inner.innerHTML = box_inner.innerHTML+extent_poi_box_row_template.evaluate({poi_name:poi.name, poi_href:'poi.openName()'});
	
	//PopUp-Funktionen des POI's an 
	var td = document.createElement("td");
	var tr = document.createElement("tr");
	
	td.innerHTML= decodeURI(poi.name);
	//tooltip
	td.onmouseover = poi.showName.bindAsEventListener(poi);
	td.onmouseout = poi.triggerClose.bindAsEventListener(poi);
	//popup
	td.onmousedown = poi.showPopUp.bindAsEventListener(poi);
	//schliessen: durch öffnen eines anderen POI's (-> von PoiManager geregelt) 
	box_inner.appendChild(tr).appendChild(td);
}

/**
 * Leert die Box.
 * @param {Object} poi
 */
function clearExtenBox(){
	var box_inner = $('extent_poi_box_cont');
	//ToDO: funktioniert nicht im IE6
	if (box_inner != null) {
		box_inner.innerHTML = extent_poi_box_start+"&nbsp;"+extent_poi_box_end;
	} 
}

function iframeSetSize (size)
{
	if (aktContent.MidCol.actual != "ajax_map_cont"){
		mapHeight = size;
	} else {
		document.getElementById("iframe").height = size;
	}

}

