var DomLoaded =
{
	onload: [],
	loaded: function()
	{
		if (arguments.callee.done) return;
		arguments.callee.done = true;
		for (i = 0;i < DomLoaded.onload.length;i++) DomLoaded.onload[i]();
	},
	load: function(fireThis)
	{
		this.onload.push(fireThis);
		if (document.addEventListener)
			document.addEventListener("DOMContentLoaded", DomLoaded.loaded, null);
		if (/KHTML|WebKit/i.test(navigator.userAgent))
		{
			var _timer = setInterval(function()
			{
				if (/loaded|complete/.test(document.readyState))
				{
					clearInterval(_timer);
					delete _timer;
					DomLoaded.loaded();
				}
			}, 10);
		}
		/*@cc_on @*/
		/*@if (@_win32)
		var proto = "javascript:void(0)";
		if (location.protocol == "https:") proto = "src=//0";
		document.write("<scr"+"ipt id=__ie_onload defer src=" + proto + "><\/scr"+"ipt>");
		var script = document.getElementById("__ie_onload");
		script.onreadystatechange = function() {
		    if (this.readyState == "complete") {
		        DomLoaded.loaded();
		    }
		};
		/*@end @*/
	   window.onload = DomLoaded.loaded;
	}
};

DomLoaded.load(initSearch);

function initSearch() {
	interv = window.setInterval("chkInterval()", 1000);
	cms_init('parentTopDiv');
}

/*******************************************************************************
	Filename		: ajax-suche.js

	Created			: 19 May 2006 (14:09:41)
	Created by		: Stefan Burgold

	Last Updated	: 12 June 2006 (14:13:51)
	Updated by		: burgold

	Comments		: Script lädt dynamisch die vorraussichtliche Trefferanzahl in
                Div
*******************************************************************************/

    var hexchars = "0123456789ABCDEF";
    var okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";
    var key_timer = 0;
    var handled = false;
    var interv = 0;
    var df = 0;
    
//     var PLZFieldID = "plz";
//     var UmkreisRadioName = "uk";
//     var ServerInfoID = "serverinfo";
    

  function runUpdate() {
    handled=false;
    if(!document.getElementById(PLZFieldID)) {
      return
    }
    if(document.getElementById(PLZFieldID).value.length!=5) {
      document.getElementById(ServerInfoID).innerHTML = "Treffervorschau nur bei vollständiger Postleitzahl!"
      return;
    }
    if(!document.getElementsByName(UmkreisRadioName).length) return;

    var url='/aspe_shared/application/ea/ajaxPLZ/ajax-CountSearchResult.asp?'
    url += 'plz=' + document.getElementById(PLZFieldID).value;
    url += '&TargetSchema=' + TargetSchema;
    for(var i=0;i<=document.getElementsByName(UmkreisRadioName).length-1;i++){
      if(document.getElementsByName(UmkreisRadioName)[i].checked == true){
        url += '&uk=' + document.getElementsByName(UmkreisRadioName)[i].value;
        break;
      }
    }
    handled=false;
    ajax_loadContent(ServerInfoID, url)
  }

  function regexKey()
    {
      key_timer = (new Date()).getTime();
      handled = false;
    }

  function chkInterval()
    {
      if (((new Date()).getTime() - key_timer) > 300)
        if (!handled) {
          handled = true;
          key_timer = (new Date()).getTime();
          runUpdate();
        }
    }

  function utf8(wide)
    {
      var c, s;
      var enc = "";
      var i = 0;
      while(i<wide.length) {
        c= wide.charCodeAt(i++);
        if (c>=0xDC00 && c<0xE000) continue;
        if (c>=0xD800 && c<0xDC00) {
          if (i>=wide.length) continue;
          s= wide.charCodeAt(i++);
          if (s<0xDC00 || c>=0xDE00) continue;
          c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000;
        }
        if (c<0x80) enc += String.fromCharCode(c);
        else if (c<0x800) enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F));
        else if (c<0x10000) enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F));
        else enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F));
      }
      return enc;
    }

    function toHex(n) {
      return hexchars.charAt(n>>4)+hexchars.charAt(n & 0xF);
    }

    function encodeURIComponentNew(s)
    {
      var ss = utf8(s);
      var c;
      var enc = "";
      for (var i= 0; i<ss.length; i++) {
        if (okURIchars.indexOf(ss.charAt(i))==-1)
          enc += "%"+toHex(ss.charCodeAt(i));
        else
          enc += ss.charAt(i);
      }
      return enc;
    }

    function buildURL(fld)
    {
	    if (fld == "") return false;
	    var encodedField = "";
	    var s = fld;
	    if (typeof encodeURIComponent == "function")
	    {
		    encodedField = encodeURIComponent(s);
	    } else {
		    encodedField = encodeURIComponentNew(s);
	    }
	    return encodedField;
    }

    // *************************************************************
    var enableCache = true;
    var jsCache = new Array();

    var dynamicContent_ajaxObjects = new Array();

    function ajax_showContent(divId,ajaxIndex,url)
    {
      document.getElementById(divId).style.display="block"
    	document.getElementById(divId).innerHTML = dynamicContent_ajaxObjects[ajaxIndex].response;
    	if(enableCache){
    		jsCache[url] = 	dynamicContent_ajaxObjects[ajaxIndex].response;
    	}
    	dynamicContent_ajaxObjects[ajaxIndex] = false;
    }

    function ajax_loadContent(divId,url)
    {
    	if(enableCache && jsCache[url]){
    		document.getElementById(divId).innerHTML = jsCache[url];
    		return;
    	}

    	var ajaxIndex = dynamicContent_ajaxObjects.length;
    	document.getElementById(divId).innerHTML = 'Loading ... ';
    	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
    	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
    	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url); };	// Specify function that will be executed after file has been found
    	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function
    }

