//Konstanten für die page_output-Funktion
ERROR = 1;
var debugging =false;
var checkdom_init=false;
// Variablen für Dom-Initialisierung
var startcheck=false;
var checkdom_cnt=0;

// globale Register
var global;
var pageElement;
var mapCenter={};
var google;
var icons=[];
var icon_set = "v2";
var mode = 2;
// google_werbung

google_ad_client = null;
google_ad_slot = null;
google_ad_width = null;
google_ad_height = null;

// JS-Files
var jsFiles=[
	'jslib/debug.js',
	'jslib/tools.js',
	'jslib/infobox.js',
	'jslib/maps_static.js',
	'jslib/page_nav.js',
	'jslib/gmarker.js',
	'jslib/mazmap.js',
	'jslib/geoquery.js',
	'jslib/OMS.js'
];
//'jslib/menu_mazmaps.js',
var appBase = "http://www.maerkischeallgemeine.de/app/mazmaps/";
// Variable mazplan_version muss im aufrufenden Template hinterlegt sein!
var jsBase = "http://app.maerkischeallgemeine.de/mazmaps/"+mazplan_version+"/scripts/";
var info = {};
var hits_per_page;

window.onload=checkdom;

function registerGlobals() {
	global = {
		'cnt_marker': 0,
		'mapcenter': [],
		'geocode_string': '',
		'geocode_marker': [],
		'cnt_beitraege':0,
		'err_counter':0,
		'stop_loading':false,
		'stop_drawing':false,
		'cnt_geo':0,
		'page':[],
		'pages':[],
		'pages_total': 0,
		'hits_per_page':((hits_per_page) ? hits_per_page : 50),
		'preloadpages':{'1':[],'2':[]},
		'showafterpreload':{'1':false,'2':false},
		'search_plainurl':'',
		'search_parameter':{'1':{},'2':{}},
		'preloading':{'1':false,'2':false},
		'group_hits':true,
		'marker':[],
		'get':{},
		'buttons_enabled':[],
		'placemarks':[],
		'redirect_mode':false,
		'selected_cat':false,
		'map_drag':{},
		'dragging':false,
		'mode':false,
		'tabs':{'1':{},'2':{}},
		'eventstop':false
	};
}

/*
*	registriert HTML-Elemente
*/
function registerPageElements() {
	pageElement={
		'dstatus':			$("status"),
		'div_error':		$("serror"),
		'status':			$("inprogress"),
		'status_img':		$("sticon"),
		'div_up':			$("up"),
		'div_down':			$("down"),
		'div_show_hits_1':	$("show_hits_1"),
		'div_show_marker_1':	$("show_marker_1"),
		'div_show_hits_2':		$("show_hits_2"),
		'div_show_marker_2':	$("show_marker_2"),
		'redir':			$("redir"),
		'form':				$("db_suche"),
		'adr_selector':		$("adr_selector"),
		'selector_content':		$("selector_content")
	};
}




function checkdom() {
	// Mehrfachaufruf verhindern
	if (!checkdom_init) {
		checkdom_init = true;
	} else {
		return;
	}
	try {
		if (
		$("map") && $("status") && $("inprogress")  && $("serror") && $("sticon") && $("show_hits_1") && 
		$("show_marker_1") && $("show_marker_2") && 
		$("show_hits_2") && $("pages")  && $("adr_selector") && $("selector_content") && GMap2 && GClientGeocoder  ) {
			throw true;
		} else {
			throw false;
		}
	} catch(e) {
		if (!e) {
			if (checkdom_cnt<60) {
				if (!startcheck) startcheck=setInterval(checkdom,500);
				checkdom_cnt++;
			} else {
				clearInterval(startcheck);
				alert('DOM-Check: Applikation konnte nicht initialisiert werden!');
			}
		}
		if (e) {
			
			if (GBrowserIsCompatible()) {
				clearInterval(startcheck);
				
				load_js('init');
				
			} else {
				google['map'] = $("map");
				var errorHTML = "<h1 style='color:red;'>Ihr Browser ist nicht zur Kartendarstellung geeignet</h1>";
				google['map'].innerHTML=errorHTML;
			}
		}

	}

}

function load_js (a,caller) {
	var loader = appBase+"load_js.php";

	var param = {'filesToLoad':jsFiles.join(","), 'jsbase':jsBase};
	new Ajax.Request(loader, {
		'encoding': 'UTF-8',
		'method': "post",
		'parameters': param,
		'onComplete': function(t) {
			
			var resp = t.responseText;
			if (!resp) {
				alert("Applikation konnte nicht initialisiert werden!");
			}
			//document.write('<script type="text/javascript">'+json.js+'<\/script>');
			//document.write(json.js);
			
			resp.evalScripts();
			
			info = new infobox();
			if (a=='init') {
				
				initialize();
			} else {
				// aufrufende Funktion wieder antriggern...
				if (caller.length>0) {
					var estr = caller+"(a, true);";
					//alert(estr);
					eval(estr);
				} else {
					form_submit(a,true);
				}
			}
		},
		onFailure: function(r) {
			alert("Applikation konnte nicht initialisiert werden !");
		}

	});

}
function resize_iframe(frameId) {
	try
	   {
	      frame = document.getElementById(frameId);
	     
	      contentDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;
	      resizeObj = (frame.style) ? frame.style : frame;
	      resizeObj.height = contentDoc.body.scrollHeight +"px";
	      
	   }
	   catch(err)
	   {alert(err);
	      window.status = err.message;
	   }

}

