///////////////////////////////////////////////
/// Charon scripts
/// Copyright ERES NETconsulting - Immobilien.NET GesmbH 2004-2005
///////////////////////////////////////////////

//TODO: fix konqueror
//			konqueror allows us to register the event handler with the dom compliant 
//			addEventListener method. however, the event handler is never called, so it looks
//			like event capture support is buggy...

var valSums = new Array();
var valSumContainers = new Array();

var subFormIds = new Array();
var subFormSubmitIds = new Array();
var activeSubForm="";
var postToSubPage = false;

// Array holding indropdownlist controls for hiding on popup display
var _inddls = new Array();
// Array holding inlistbox controls for hiding on popup display
var _inlbs = new Array();

//Mozilla Bug Hide Images!
// Array holing images for hiding on popup display
var _inimgls = new Array();
var _showimgs = new Array();

// filled by MasterTemplateBase.cs
var LinkBaseDir = "";
var ImageBaseDir = "";
var LinkBasePrefix = "";

// Banner vars
var flashBannerDidID = new Array();

///////////////////////////////////////////////
/// UTILITY STUFF
///////////////////////////////////////////////

//registers an onload handler without destroying the previous ones
function registerOnLoadHandler(fn) {
	var oldHandler = window.onload;
	
	if (typeof(oldHandler) == 'function') {
		window.onload = function(e) { oldHandler(e); fn(e); }
	} else {
		window.onload = fn;
	}
}

registerOnLoadHandler(function(e) {
    var serverPart = window.location.href.substring(7);
    LinkBasePrefix = 'http://' + serverPart.substring(0, serverPart.indexOf('/'));
});


function registerOnUnloadHandler(fn)
{
	var oldHandler = window.onunload;
	
	if (typeof(oldHandler) == 'function') {
		window.onunload = function(e) { oldHandler(e); fn(e); }
	} else {
		window.onunload = fn;
	}
	
}

function registerDoPostBackHandler(fn)
{
	var __oldDoPostBack = __doPostBack;
	
	__doPostBack = function(eventTarget, eventArgument) {
		fn(eventTarget, eventArgument);
		__oldDoPostBack(eventTarget, eventArgument);
	}
}

function registerOnClickHandler(elemId, fn) 
{
	var elem = document.getElementById(elemId);
	var oldHandler = elem.onclick; 
	if (typeof(oldHandler) == 'function') 
	{ 
		elem.onclick = function(e) { oldHandler(e); fn(e); } 
	} 
	else 
	{
		elem.onclick = fn;
	}
}

///////////////////////////////////////////////
/// SUBFORM STUFF
///////////////////////////////////////////////
function registerSubForm(formID, submitID) {
	var subForm = document.getElementById(formID);

	subFormIds.push(formID);

	if (subForm.addEventListener) {
		//add submit control ID to our associative array
		subFormSubmitIds[formID] = submitID;

		//register event
		subForm.addEventListener("keypress", domSubFormKeyPress, true);
	}
	else
	{
	  subForm.onkeypress = function (e) { nonDomCompliantSubFormKeyPress(e,submitID,formID); };
	  subForm.onclick = function (e) { nonDomCompliantSubFormClick(e,formID); };
	}
}

function domSubFormKeyPress(theEvent) {
		if (theEvent.keyCode == 13) {

		var target = theEvent.originalTarget;
		
		if (target == null) {
			target = theEvent.currentTarget;
		}

		if (target.nodeName.toLowerCase() == "textarea")
			return;
			
		// HACK: don't steal event from rich text edit
		if (target.className == 'textedit')
			return;
			
		// get the control that should do the submit
		var submitCt = document.getElementById(subFormSubmitIds[theEvent.currentTarget.id]);
		
		if (submitCt) {
			
			//the control was found, stop propagation and prevent the default action
			theEvent.preventDefault();
			theEvent.stopPropagation();
			
			//set the subformid for validation
			activeSubForm = theEvent.currentTarget.id;
			
			//invoke click if present
			if (submitCt.click) {
				submitCt.click();
			} else {
				var executeHref = true;
				if (submitCt.onclick) {
					executeHref = submitCt.onclick();
					if (isUndefined(executeHref)) executeHref = true;
				}
				//else check for href of hyperlinks
				if (submitCt.href && executeHref) {
					if (submitCt.href.substr(0,11).toLowerCase() == "javascript:") {
						code = decodeURI(submitCt.href.replace(/javascript:/, ''));
					} else {
  						code = "window.location.href='" + submitCt.href + "'";
					}
					eval(code);
				}
			}
		}
	}	
}

// This function handles the keypress for IE
function nonDomCompliantSubFormKeyPress(e, submitCtrlId, subFormId) {
	if (e == null) e = window.event;
	
	if (e.keyCode == 13) {
		var submitCt = document.getElementById(submitCtrlId);
		if (e.srcElement.nodeName.toLowerCase() == 'textarea')
			return;
			
		// HACK: don't steal event from rich text edit
		if (e.srcElement.className == 'textedit')
			return;

		if (submitCt) {
			//prevent event propagation
			e.returnValue = false;
			e.cancelBubble = true;
			
			//set the subformid for validation
			activeSubForm = subFormId;

			
			submitCt.click();
		} else {
			alert("submit ctrl not found, srcElement is " + e.srcElement.id + ", submitCtrlId should be " + submitCtrlId);
		}
	}
}

// This is used to track the subform in which the user invokes a link. Since the code for
// validation in linkbutton controls is contained in the href attribute, we can't infere
// the subform from the source element of the event
function nonDomCompliantSubFormClick(e,subFormId) {
	activeSubForm = subFormId;
}

///////////////////////////////////////////////
/// POPUP DIV SCRIPT
///////////////////////////////////////////////
var smokeEnabled = false;
function showPopup() {

	// try to remove focus from currently selected element (pressing enter causes confusion, eh?)
	var dummy = document.getElementById('dummyFocusBlurrer');
	dummy.style.display = 'inline';
	dummy.focus();
	//dummy.blur();
	dummy.style.display = 'none';

	if (smokeEnabled) return;
	
	hideDropDownLists();
	hideListBoxes();	
	disableTNTControl();
	disableFlashBannerControl();
	hideImages();
	var smokePane = document.createElement("div");
	smokePane.id = "smoke";
	
	var smokeImg = document.createElement("img");
	smokeImg.src = ImageBaseDir + "png24-75.png";
	smokeImg.id = "smokeImg";

	var foreground = document.createElement("div");
	foreground.id = "foreground";
	
	foreground.style.width = document.body.clientWidth + "px";
	//alert(foreground.style.width);
	
	if (navigator.appName == "Microsoft Internet Explorer") 
		foreground.style.height = document.body.offsetHeight + "px";
	else
		foreground.style.height = window.innerHeight + "px";

	//alert(foreground.style.height);

	smokePane.appendChild(smokeImg);
	var bodyelement = document.getElementsByTagName("body")[0];
	
	bodyelement.appendChild(smokePane);
	bodyelement.appendChild(foreground);
	
	smokeEnabled = true;
}

function hidePopup() {
	if (!smokeEnabled) return;
	var smokePane, foreground;
	
	smokePane = document.getElementById("smoke");
	foreground = document.getElementById("foreground");
	
	foreground.parentNode.removeChild(foreground);
	smokePane.parentNode.removeChild(smokePane);
	
	smokeEnabled = false;
	showDropDownLists();
	showListBoxes();
	showImages();	
	enableTNTControl();
	enableFlashBannerControl()
}

function showMessage(msg) {
	showPopup();
	
	var foreground = document.getElementById("foreground");
	
	foreground.style.textAlign = "center";
	foreground.innerHTML = "<div>" + msg + "<div>";
	
}

function createPopupIFrame(returnfunc)
{
	showPopup();
	var iframestr = "<iframe id='subpage' scrolling='no' name='subpage' ALLOWTRANSPARENCY='true' FRAMEBORDER='0' style='background:transparent;border:none;position:absolute;display:none;scrolling:none;visibility:hidden;width:500px;'></iframe>";
	
	//add the iframe the our foreground
	var foreground = document.getElementById("foreground");
	
	foreground.innerHTML = iframestr;
	iframe = document.getElementById("subpage");
	iframe.style.display="block";
	
	//set return function
	window.document.returnfunc = returnfunc;
	
	//set resize function
	window.document.resizefunc = resizeIframe;
}

function preSubmitToSubpage(returnfuncname, validate)
{   
	if (typeof(Page_ClientValidate) != 'function' || !validate || Page_ClientValidate())
	{
	    try
	    {
		    postToSubPage = true;
		    createPopupIFrame(
			    function (parm) 
			    {
				    postToSubPage=false;
				    //document.getElementById('__aspnetForm').target = '_self';
				    document.forms[0].target = '_self';
				    eval(returnfuncname)(parm);
			    });
		    //document.getElementById('__aspnetForm').target = 'subpage';
		    document.forms[0].target = 'subpage';
		 }catch(e)
		 {
		    //Just in Case
		    hidePopup();			    
		 }
	}
}

function callSubpage(url, returnfuncname) {
	createPopupIFrame(eval(returnfuncname));	
	document.getElementById("subpage").src = LinkBaseDir + url;
}

//calls a standard subpage, which resizes itself and expects the default return function
function callStandardSubpage(url) {
  //alert("test");  
	callSubpage(url, "standardReturnFunction");
}

function showPopupValidation(visible, ValSumID)
{
    if(ValSumID == null)
        ValSumID = 'popup';
	var iframe = document.getElementById(ValSumID);

	if(visible)
	{
		// if we have submitted to a subpage and server side validation failed --> close popup and show validation
		if (isPopup && !validationDone)
		{
			var bodyElement = document.getElementsByTagName('body')[0];
			var divPopup    = document.getElementById(ValSumID);
			var dummy       = document.getElementById('dummyFocusBlurrer');
			
			while (bodyElement.childNodes.length > 0)
				bodyElement.removeChild(bodyElement.childNodes[0]);
			
			bodyElement.appendChild(dummy);	
			bodyElement.appendChild(divPopup);
			
			bodyElement.style.background = 'transparent';
			bodyElement.style.margin = '0px';
			
			// return from subpage on "schlieen"
			showPopupValidation = function(visible) { returnFromSubpage("resume"); }
			
			// resize us
			window.parent.document.resizefunc(400, 300);
		}
		else
		{
			showPopup();
			resizeElementInternal(iframe, 300, 100);
		}
	}
	else 
		if (!postToSubPage)
			hidePopup();
			
	iframe.style.display = visible ? 'block' : 'none';
}

//call the parent documents return function
function returnFromSubpage(param) {
	window.parent.document.returnfunc(param);	
}

//remember the action to be performed on resume
function setResumeAction(action) {
	document.resumeAction = action;
}

function setResumeActionSubpage(action, returnfuncname, validate) {
	document.resumeAction = "javascript:preSubmitToSubpage('" + returnfuncname + "', " + validate + "); doResume(\"" + action + "\")";
}

function standardReturnFunction(param) {	
	hidePopup();
	if (param == "reload") {
	    // TODO: shouldn't this be window.parent.document.resumeAction?
		document.resumeAction = null;
		//reload page with a do postback
		__doPostBack('','');
	} else if (param.indexOf("redirect:") == 0) {
	    var url = param.slice(9);

		// mozilla wants an absolute url
	    if (url.indexOf('http://') != 0)
			url = LinkBasePrefix + url;
	    
		window.location = url;
	} else if (param != "close") {
		if (isUndefined(document.resumeAction) || isNull(document.resumeAction) || document.resumeAction == "") return;
	    // TODO: shouldn't this be window.parent.document.resumeAction?
	    doResume(document.resumeAction);
		document.resumeAction = null;
	}
}

function doResume(action) {
		action = action.replace(/%20/g, ' ');
		if (action.substr(0,11) == "javascript:") {
			eval(action.substr(11));
		} else {
			window.location = action;
		}
}

function resizeIframe(width, height) {
	var iframe = document.getElementById("subpage");
	resizeElementInternal(iframe, width, height);
	iframe.style.visibility="visible";
	
	var doc;
	
	if (iframe.contentDocument != null) {
		doc = iframe.contentDocument;
	} else if (iframe.contentWindow != null) {
		doc = iframe.contentWindow.document;
	}
	
	if (doc != null && typeof(doc.focusFunction) == 'function') {
		doc.focusFunction();
		iframe.contentWindow.scrollTo(0, 0);
	}
}

function resizeElementInternal(iframe, width, height) {
	var body = document.getElementById("smoke");

	var totalWidth = body.clientWidth;

	if (navigator.appName == "Microsoft Internet Explorer") 
		var totalHeight = document.body.offsetHeight;
	else
		var totalHeight = window.innerHeight;

	var top, left;
	
	top = (totalHeight - height) / 2;
	left = (totalWidth - width) / 2;
	
	if (top < 0) top = 0;
	if (left < 0) left = 0;
	
	iframe.style.top = top + "px";
	iframe.style.left = left + "px";
	iframe.style.width = width + "px";
	iframe.style.height = height + "px";
}


///////////////////////////////////////////////
/// IMAGE HIDE STUFF
///////////////////////////////////////////////

function hideImages() {
	if (navigator.appName != "Netscape") return;
	var element;
	for(var x=0; x < _showimgs.length; x++){
	    _showimgs.pop();
	  }
	  _showimgs.pop();
	    
	for (var i=0; i < _inimgls.length; i++) {
		element = document.getElementById(_inimgls[i]);
		if (element != null)
		   if(element.style.visibility=="visible"){
		      element.style.visibility="hidden";
		      _showimgs.push(_inimgls[i]);
		   }
	}
}

function showImages() {
	if (navigator.appName != "Netscape") return;
	var element;	

	for (var i=0; i < _showimgs.length; i++) {	    
		element = document.getElementById(_showimgs[i]);		
		
		if (element != null){
			element.style.visibility="visible";			
		}
	}
}


///////////////////////////////////////////////
/// DROP DOWN LIST STUFF
///////////////////////////////////////////////
var hideCounter=0;

function hideDropDownLists() {
	if (navigator.appName != "Microsoft Internet Explorer") return;
	var element;

	if (++hideCounter != 1 || typeof(_inddls) == "undefined" || _inddls.length == 0) return;
	for (var i=0; i < _inddls.length; i++) {
		element = document.getElementsByName(_inddls[i])[0];
		if (element != null) {
			var tb = document.createElement("input");
			tb.className = 'intextbox';
			tb.type = "text";
			tb.value = element.options[element.selectedIndex].text;
			tb.style.width = element.style.width;
			element.parentNode.insertBefore(tb, element);
			element.style.display = "none";
		}
	}
}

function showDropDownLists() {
	if (navigator.appName != "Microsoft Internet Explorer") return;
	var element;

	if (--hideCounter != 0 || typeof(_inddls) == "undefined" || _inddls.length == 0) return;
	for (var i=0; i < _inddls.length; i++) {
		element = document.getElementsByName(_inddls[i])[0];
		if (element != null) {
			element.parentNode.removeChild(element.previousSibling);
			element.style.display = "inline";
		}
	}
}

///////////////////////
/// LIST BOX STUFF
///////////////////////

function hideListBoxes() {
	if (navigator.appName != "Microsoft Internet Explorer") return;
	var element;

	if (typeof(_inlbs) == "undefined" || _inlbs.length == 0) return;
	for (var i=0; i < _inlbs.length; i++) {
		element = document.getElementsByName(_inlbs[i])[0];
		if (element != null) {
			var tb = document.createElement("textarea");
			tb.rows = element.size;
			tb.style.width = element.style.width;
			tb.style.overflow = "hidden";
			//todo copy text
			for(var j = 0; j < element.options.length; j++)
				tb.value += element.options[j].text + "\n";
			element.parentNode.insertBefore(tb, element);
			element.style.display = "none";
		}
	}
}

function showListBoxes() {
	if (navigator.appName != "Microsoft Internet Explorer") return;
	var element;

	if (typeof(_inlbs) == "undefined" || _inlbs.length == 0) return;
	for (var i=0; i < _inlbs.length; i++) {
		element = document.getElementsByName(_inlbs[i])[0];
		if (element != null) {
			element.parentNode.removeChild(element.previousSibling);
			element.style.display = "inline";
		}
	}
}

//////////////////
// TNT - Stuff
/////////////////

var vidVisible = false;
var tntVisible = false;

function disableTNTControl()
{
	var vid = document.getElementById("videoview3d"); 
	var tnt = document.getElementById("immo3ddiv");
	
	if(vid != null && vid.style.display=="block")
	{	
		vidVisible = true;
		vid.style.visibility="hidden";
		vid.style.display="none"; 
	}
	
	if(tnt != null && tnt.style.display=="block")
	{	
		tntVisible = true;
		tnt.style.display  = "none";
		tnt.style.visibility="hidden";
	}
}

function enableTNTControl()
{
	var vid = document.getElementById("videoview3d"); 
	var tnt = document.getElementById("immo3ddiv");
	
	if(vid != null && vidVisible)
	{
		vid.style.visibility="visible";
		vid.style.display="block"; 
	}
	if(tnt != null && tntVisible)
	{
		tnt.style.display  = "block";
		tnt.style.visibility="visible";
	}
}

//////////////////
// FlashBanner - Stuff
/////////////////

var vidVisible = false;
var tntVisible = false;

function disableFlashBannerControl()
{
   	if (typeof(flashBannerDidID) != "undefined" || flashBannerDidID.length != 0) 
   	{
		for (var i=0; i < flashBannerDidID.length; i++) 
		{
			element = document.getElementsByName(flashBannerDidID[i])[0];
			if (element != null) 
			{
				element.style.visibility="hidden";
				element.style.display="none"; 
			}
		}
	}

	var gb = document.getElementById("goldbachBannerDiv"); 

	if(gb != null)
	{	
		gb.style.visibility="hidden";
		gb.style.display="none"; 
	}
}

function enableFlashBannerControl()
{
   	if (typeof(flashBannerDidID) != "undefined" || flashBannerDidID.length != 0) 
   	{
		for (var i=0; i < flashBannerDidID.length; i++) 
		{
			element = document.getElementsByName(flashBannerDidID[i])[0];
			if (element != null) 
			{
				element.style.visibility="visible";
				element.style.display="block"; 
			}
		}
	}

	var gb = document.getElementById("goldbachBannerDiv"); 

	if(gb != null)
	{
		gb.style.visibility="visible";
		gb.style.display="block"; 
	}
}



//////////////
// IE - Stuff
//////////////

function addBookmark(url, name)
{
	// works on IE only
	if (window.external)
		window.external.AddFavorite(LinkBasePrefix + url, "Immobilien.NET "+name);
}

function CreatePictureFlashControl(swfFile, picFile, DivID)
{
	flashBannerDidID.push(DivID);
	var d = document.getElementById(DivID);

	if(d != null)
	{
		var text = d.innerHTML;
		text += ' <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="446" height="450" id="flashPictures" align="middle" VIEWASTEXT>';
		text += ' <param name="allowScriptAccess" value="sameDomain" />';
		text += ' <param name="movie" value="' + swfFile + '?bildPath=' + picFile + '" />';
		text += ' <param name="quality" value="low" />';
		text += ' <param name="scale" value="exactfit" />';
		text += ' <param name="wmode" value="transparent" />';
		text += ' <embed src="' + swfFile + '?bildPath=' + picFile + '"';
		text += ' quality="high" scale="exactfit" wmode="transparent" width="446" height="450" name="flashPictures" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
		text += ' </object>';
		
		d.innerHTML = text;		
	}
}

////////////////////////
// FullRowTeaser Stuff
////////////////////////

function changeToActive(host) {
	var myClass='FRactive'
	if(host.className.substring(host.className.length-(myClass.length), host.className.length)!=myClass) {
		host.className+=" "+myClass;
	}
}
function changeToInactive(host) {
	var myClass='FRactive'
	if(host.className.substring(host.className.length-(myClass.length), host.className.length)==myClass) {
		host.className=host.className.substring(0, host.className.length-(myClass.length+1));
	}
}

///////////////////////////////////////
// OE24 Spezial Fullrow
///////////////////////////////////////

function SelectOE24TypeFullRow(host, hasLogo) {
		if (host.className.indexOf('OE24FRactive')<0) {
			var uebelTaeter = new Array;
			uebelTaeter.push(document.getElementById('Mini'));
			uebelTaeter.push(document.getElementById('Normal'));
			uebelTaeter.push(document.getElementById('Mittel'));
			uebelTaeter.push(document.getElementById('Gross'));
						
			for (i=0; i<uebelTaeter.length; i++) {
				for (j=0; j<uebelTaeter[i].getElementsByTagName('input').length; j++) {
					if(uebelTaeter[i].id != host.id)
						uebelTaeter[i].getElementsByTagName('input')[j].checked=false;

					var id = uebelTaeter[i].id;		        
		            
					document.getElementById(id+'TypePreview').style.display = 'none';
					
					if (uebelTaeter[i].getElementsByTagName('input')[j].type=='radio' && (uebelTaeter[i].getElementsByTagName('input')[j]).id != 'GrossBigPicRad' && (uebelTaeter[i].getElementsByTagName('input')[j]).id != 'GrossBild') {					
						uebelTaeter[i].getElementsByTagName('input')[j].readOnly=true;						
					} else {
						uebelTaeter[i].getElementsByTagName('input')[j].disabled=true;						
					}
					if (uebelTaeter[i].id != host.id) {
						uebelTaeter[i].className=uebelTaeter[i].className.substring(0, uebelTaeter[i].className.indexOf('OE24FRactive'));
					}
				}
			}
			
			for (i=0; i<host.getElementsByTagName('input').length; i++) {
				if (host.getElementsByTagName('input')[i].type=='radio' && (host.getElementsByTagName('input')[i]).id != 'GrossBigPicRad' &&  (host.getElementsByTagName('input')[i]).id != 'GrossBild' ) {
					host.getElementsByTagName('input')[i].readOnly=false;										
				} else {
					host.getElementsByTagName('input')[i].disabled=false;					
				}
			}
						
			var id = host.id;					
			document.getElementById(id+'TypePreview').style.display = 'block';
			
			var frObject = null;		
            for(var i = 0; i< FullRowObjectList.length; i++)
            {		    
                if(FullRowObjectList[i].ID == id)
                    frObject = FullRowObjectList[i];
            }
			
			if(frObject != null && frObject.IsRadio)	//Radio Buttons autoDisabled setzen	
			{			
			    var cbHasPics= document.getElementById(frObject.HasPictures);
			    
				if(!cbHasPics.checked)
				{
					host.getElementsByTagName('input')[2].disabled = true;			
					host.getElementsByTagName('input')[3].disabled = true;			
					host.getElementsByTagName('label')[3].style.color = '#888888';
					host.getElementsByTagName('label')[2].style.color = '#888888';
				}				
			}	
			host.getElementsByTagName('input')[0].checked=true;
			changeToInactive(host, 'hover');
			changeToActive(host, 'OE24FRactive');
		    
			if(hasLogo == 'False')
			{		
			    var logo = document.getElementById(frObject.CheckBoxLogo);
				logo.disabled=true;			
				logo.checked=false;
			}
		}	
}
function changeToActiveOE24TypeFullRow(host, method) {
	if(host.className.substring(host.className.length-method.length, host.className.length)!=method) {
		host.className+=" " + method;
	}
}
function changeToInactiveOE24TypeFullRow(host, method) {
	if(host.className.substring(host.className.length-method.length, host.className.length)==method) {
		host.className=host.className.substring(0, host.className.length-method.length+1);
	}
}
/******************************
Currency Formatting
*******************************/
function replaceCurrency(num)
{					
	return (num.toString().replace(unescape("%u20AC"),"").replace(',', '.'));					
}

function formatCurrency(num) {	
	num = num.toString().replace(unescape("%u20AC"),"").replace(',', '.');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;

	return (num + '.' + cents + unescape("%u20AC")).replace('.', ',');
}

/*****************************
 Adverserve
******************************/
//Thats an Ugly Hack for the Correct display of the Banner
function ClearEmptyImagesStyle()
{		
	try
	{
		if(flashBannerDidID != 'undefined')
		{
			for(var i = 0; i< flashBannerDidID.length; i++)
			{
				var tmpPic = document.getElementById(flashBannerDidID[i]);
				var images = tmpPic.getElementsByTagName("img");
				
				if(images != null)
				{
					for(var j = 0; j < images.length; j++)
					{
						if(images[j].width < 5)
						{
							images[j].style.border="none";										
							images[j].style.height = "0px";																																																	
						}									
					}
				}							
			}
		}	
	}
	catch(e)
	{					
	}		
}

/*****************************
* OE24
******************************/
function OpenPreview(openID)
{
    window.open(LinkBaseDir + 'members/OE24/OE24RealEstatePreviewPopup.aspx?ADID='+openID, '', 'width=610,height=600,scrollbars=yes,resizable=yes');
}

function oe24TitelTextChange(maxText, titleOE, textOE, printwwwOE, printTeleOE, printEmailOE, maxTitel, minTitel, wwwLength, telLength, emailLength, pluspreis) 
{
    var tbTitel = titleOE; //document.getElementById(titleOE);
    var spanTitel = document.getElementById('TitleOESpan');

    var tbText = textOE; //document.getElementById(textOE);
    var spanText = document.getElementById('TextOESpan');

    var cbWWW = printwwwOE; //document.getElementById(printwwwOE);
    var cbTel = printTeleOE; //document.getElementById(printTeleOE);
    var cbEMail = printEmailOE; //document.getElementById(printEmailOE);

    var prevText = document.getElementById('printPreViewText');
    var prevTextPlus = document.getElementById('plusText');
    var prevTitle = document.getElementById('printPreViewTitle');
    var prevWWW = document.getElementById('printPreViewWWW');
    var prevTel = document.getElementById('printPreViewTele');
    var prevEMail = document.getElementById('printPreViewEMail');

    var prevPlus = document.getElementById('oe24zu');

    var text = '';
    var text2 = '';
    var offen = 0;

    text = tbTitel.value;
	
    if(text.length > 0)
        text += ' ';

    prevTitle.innerHTML = text;

    offen = maxText - tbTitel.value.length;

    text = tbText.value;
	
    if(text.length > offen)
    {
        text2 = text.substring(offen, text.length);
        text = text.substring(0, offen);
    }

    prevText.innerHTML = text;
    prevTextPlus.innerHTML = text2;
	
    offen = offen - tbText.value.length;

    if(prevTel != null)
    {	
        if(cbTel.checked)
        {
            prevTel.style.visibility='visible';
            prevTel.style.display='block'; 

            if(telLength + 1 > offen)
                prevTel.style.backgroundColor='red';
            else
                prevTel.style.backgroundColor='';

            offen = offen - telLength - 1;
        }
        else
        {
            prevTel.style.visibility='hidden';
            prevTel.style.display='none'; 
            prevTel.style.backgroundColor='';
        }
    }

    if(prevEMail != null)
    {	
        if(cbEMail.checked)
        {
            prevEMail.style.visibility='visible';
            prevEMail.style.display='block'; 

            if(emailLength + 1 > offen)
                prevEMail.style.backgroundColor='red';
            else
                prevEMail.style.backgroundColor='';

            offen = offen - emailLength - 1;
        }
        else
        {
            prevEMail.style.visibility='hidden';
            prevEMail.style.display='none'; 
            prevEMail.style.backgroundColor='';
        }
    }

    if(prevWWW != null)
    {	
        if(cbWWW.checked)
        {
            prevWWW.style.visibility='visible';
            prevWWW.style.display='block'; 

            if(wwwLength + 1 > offen)
                prevWWW.style.backgroundColor='red';
            else
                prevWWW.style.backgroundColor='';

            offen = offen - wwwLength - 1;
        }
        else
        {
            prevWWW.style.visibility='hidden';
            prevWWW.style.display='none'; 
            prevWWW.style.backgroundColor='';
        }
    }

    if(tbTitel.value.length >= maxTitel)
        text = '<span style=""""color:red"""">noch 0 Zeichen</span>';
    else
        text = 'noch ' + (maxTitel - tbTitel.value.length) + ' Zeichen';

    spanTitel.innerHTML = text;
	
    if(offen < 0)
    {
            prevPlus.style.visibility='visible'
            prevPlus.style.display='block'; 
    }
    else
    {
        prevPlus.style.visibility='hidden'
        prevPlus.style.display='none'; 
    }

    if(offen < 1)
    {
        text = '<span style=""""color:red"""">noch 0 Zeichen</span>';
        text += '<br />Zusatzzeichen: ' + (offen * -1);
    }
    else
    {
        text = 'noch ' + offen + ' Zeichen';						
    }
		

    spanText.innerHTML = text;

    /*
    PopUpStuff:
    var popDiv = document.getElementById('m_pc');
    var popFram = parent.document.getElementById('subpage');

    popFram.style.height = popDiv.offsetHeight + 'px';*/
    plusLangeZeichen = offen * -1;
    RecalculatePreis(offen * -1, pluspreis);
}

plusLangeZeichen = 0;
function RecalculatePreis(plusLaenge, plusPreis)
{		
	for(var i=0; i < 8; i++)
	{	
	    if(i < Multiplicators.length)
	    {
	        var multiplicator = document.getElementById(Multiplicators[i]);
    	    
	        if(multiplicator  != null)
	        {
		        var multiCalc = parseFloat(multiplicator.value);
        		
		        if(plusLaenge > 0)						
		        {	        
			        var preisTmp = formatToJS(document.getElementById('PreCalcPreis'+i).value);							
			        preisTmp = (parseFloat(preisTmp) + parseFloat((parseInt(parseInt(plusLaenge) / 30)+1) * plusPreis)) * multiCalc;							
        								
			        document.getElementById('PreisOESpan'+i).innerHTML = formatOutput(roundPrice(preisTmp));
		        }
		        else
		        {			    
			        var PreisTmp2 = parseFloat(formatToJS(document.getElementById('PreCalcPreis'+i).value));																				        
			        document.getElementById('PreisOESpan'+i).innerHTML =  formatOutput((roundPrice(PreisTmp2) * multiCalc));
		        }
		    }
		}
	}								
}
function formatToJS(input)
{	
	return input.toString().replace(',--', '').replace(',', '.');
}

function formatOutput(data)
{	    
	if(data.toString().indexOf('.') == -1) data += ',--';
	else 
	{						
		if((data.toString().indexOf('.')+2) == data.toString().length) data += '0';
	}
	return (data.toString().replace('.', ',').replace(',00', ',--'));
}

function roundPrice(x) 
{
	var k = (Math.round(x * 100) / 100).toString();
	k += (k.indexOf('.') == -1)? '.00' : '00';
	return k.substring(0, k.indexOf('.') + 3);
}

function MultiplicatePreis(sender, index)
{	    
	var multi = parseInt(document.getElementById(Multiplicators[index]).value);
		
	if(sender.checked)					
		multi ++;
	else
	{
		if(multi > 0)
			multi --;
	}					
	
	document.getElementById(Multiplicators[index]).value = multi;	
	RecalculatePreis(plusLangeZeichen);
}

var Multiplicators = new Array();
var OOEList = new Array();
var StammList = new Array();



/*** ERKLRUNG ZU SETTOACTIVE/SETTOINACTIVE ***/
/*** Ja, das ginge auch wesentlich einfacher, wenn Internet Explorer nicht das Hovern eines Kindelementen als OMMOUSEOUT im Parentelement interpretieren wrde			***/
/*** Um den Rechenzyklus, den IE braucht um zu realisieren "Hoppla, das war gar kein OMMOUSEOUT, schnell rckgngig machen!" zu berbrcken, wird das gerade aktive	***/
/*** (gehoverte) Elementgecached, und per Timeout zurckgesetzt. ***/

var activeHost = new Object;
var activeTimeout = new Object;

function setToActive(host) {
	clearTimeout(activeTimeout[host.sourceIndex]);
	activeHost[host.sourceIndex] = host;
	
	if (navigator.appName.toLowerCase().indexOf('internet explorer') < 0) {
		IE7setToActive(host.sourceIndex);
	} else {
		activeTimeout[host.sourceIndex] = setTimeout("IE7setToActive("+host.sourceIndex+")",0);
	}
}
function setToInActive(host) {
	if (navigator.appName.toLowerCase().indexOf('internet explorer') < 0) {
		IE7setToInActive(host.sourceIndex);
	} else {
		activeTimeout[host.sourceIndex] = setTimeout("IE7setToInActive("+host.sourceIndex+")",0);
	}
}
function IE7setToActive(mySourceIndex) {
    if(activeHost[mySourceIndex] != null)
	    activeHost[mySourceIndex].className += ' active';
}

function IE7setToInActive(mySourceIndex) {
    if(activeHost[mySourceIndex] != null)
	    activeHost[mySourceIndex].className = activeHost[mySourceIndex].className.substring(0, activeHost[mySourceIndex].className.indexOf(' active'));
}

function ShowExtendedToolTip(host, position, direction) {
}
function RegisterOnClick(sender, func) {
	var senderControl = document.getElementById(sender);
	if(senderControl != null) {   
		var oldClick = senderControl.onclick;
		senderControl.onclick = function(){ func(oldClick); };						
	}
}

function ShowLayerWithPLZ(sender)
{
    ShowLayer(null);
    
    globalPopUp='plzPopup'; 
    globalPopUpClicked=true; 	    	            
}

function ShowLayer(param)	{   
	var inProgress = document.getElementById("inProgress")
	
	if(inProgress != null && inProgress.style.display != "block") {
		inProgress.style.display = "block";
	}
	var plzContainer = document.getElementById("inProgressPLZ");
	
	if(plzContainer != null && plzContainer.style.display != "block")		    
	    plzContainer.style.display = "block";
		    
	if(param != null)
		param();		
}

function HideLayer() {
	var inProgress = document.getElementById("inProgress")
	if(inProgress != null) {
		inProgress.style.display="none";
	}
	var plzContainer = document.getElementById("inProgressPLZ");
	
	if(plzContainer != null)		    
	    plzContainer.style.display = "none";
}
