// Image Replace for Macintosh
		
function quadReplace() {
   			if(navigator.platform == 'MacPPC'){
				for (i = 0; i < document.images.length; ++i) {
					 if (document.images[i].src.indexOf('black_menu') >-1) document.images[i].src=document.images[i].src.replace(/black_menu/, 'black_menu_mac');
						else if (document.images[i].src.indexOf('blue_menu') >-1) document.images[i].src=document.images[i].src.replace(/blue_menu/, 'blue_menu_mac');
						else if (document.images[i].src.indexOf('grey_menu') >-1) document.images[i].src=document.images[i].src.replace(/grey_menu/, 'grey_menu_mac');
				}
			}
}
			

// Browsercheck

function BrowserCheck() {
	var b = navigator.appName
   var minor = parseFloat(navigator.appVersion);

	if (b=="Netscape") this.b = "ns"
	else if (b=="Microsoft Internet Explorer" || b=="msie") this.b = "ie"
	else this.b = b

	this.v = parseInt(navigator.appVersion)
	this.ns = (this.b=="ns" && this.v>=4)
	this.ns4 = (this.b=="ns" && this.v==4)
	this.ns6 = (this.b=="ns" && this.v==5)
	this.ns61=(this.b=="ns"&& navigator.userAgent.indexOf('6/6.1') != -1)
	this.ns6up=(this.b=="ns"&& this.v >= 5)

	this.ie = (this.b=="ie" && this.v>=4)
	this.ie4 = (this.b=="ie" && this.v==4 &&  navigator.userAgent.indexOf('MSIE 4')!=-1)
	this.ie5 = (this.b=="ie" &&  this.v==4 && navigator.userAgent.indexOf('MSIE 5.0')!=-1)
	this.ie55 = (this.b=="ie" &&  navigator.userAgent.indexOf('MSIE 5.5')!=-1)
	this.ie5up =  (this.b == "ie" && !this.ie4 )
	this.ie6 = (this.b=="ie" && this.v==4 && this.b == navigator.userAgent.indexOf('MSIE 6.')!=-1)
	this.ie6up =  (this.b == "ie" && !this.ie4 && !this.ie5 && !this.ie55)

	if (this.ie5 || this.ie55) this.v = 5
	this.min = (this.ns||this.ie)
	this.Mac = (navigator.appVersion.indexOf("Mac") != -1)

	this.firefox = (navigator.userAgent.indexOf("Firefox") != -1)
}

// Creates the is Objekt
is = new BrowserCheck();

//Kerzhenevych Oleksandr 05.06.2003
//NS4 resize fix:

function reDo() {  //alert ("Resize fix test !!!");
   if (innerWidth != origWidth || innerHeight != origHeight)
      location.reload();
}

if (is.ns4) {
   NS4 = document.layers;
   if (NS4) {
      origWidth = innerWidth;
      origHeight = innerHeight;
   }
   if (NS4) onresize = reDo;
}

// Reformating Form Fields at Startup
function init() {
   if (typeof(HM_ScriptLoaded) != "undefined" && HM_ScriptLoaded) {
      setTimeout("HM_f_StartIt()", 10);
   }
   if (is.Mac) {
      quadReplace();
   }
   for (f = 0; f < document.forms.length; f++) {
      if (document.forms[f]) {
         e = document.forms[f].elements
         for (x = 0; x < e.length; x++) {
            if (e[x]) {
               if (e[x].type == "select-one" || e[x].type == "select-multiple") {
                  if (e[x].options[0].text.indexOf("---") > -1) {
                     e[x].options[0] = null;
                     if (e[x].selectedIndex == -1) {
                        e[x].options[0].selected = true;
                     }
                  }
               } //type = select
               if (!document.layers && !is.Mac) {
                  if (is.ie || is.firefox) {
                     if (e[x].type == "text" || e[x].type == "password") {
                        switch (e[x].size) {
                           case 1:
                              e[x].size = 2;
                              break;
                           case 2:
                              e[x].size = 4;
                              break;
                           case 3:
                              e[x].size = 5;
                              break;
                           case 4:
                              e[x].size = 6;
                              break;
                           case 5:
                              e[x].size = 8;
                              break;
                           case 6:
                              e[x].size = 10;
                              break;
                           case 9:
                              e[x].size = 14;
                              break;
                           case 12:
                              e[x].size = 20;
                              break;
                           default :
                              e[x].size = 22;
                              break;
                        }
                     } //type = text, password
                     if (e[x].type == "textarea" && (e[x].name != "dontresizeme")) {
                    	 if(e[x].style.setAttribute) {/* if introduced for webtests... */
                        e[x].style.setAttribute("fontFamily", "Arial", "true");
                        e[x].style.setAttribute("fontSize", "9pt", "false");
                    	 }
                        e[x].cols = 29;
                        e[x].rows = 6;
                     } //type = textarea
                  } else if (is.ns61) {
                     if (e[x].type == "text" || e[x].type == "password") {
                        if (e[x].size == 6) e[x].size = 10;
                        if (e[x].size == 20) e[x].size = 15;
                     } //type = text, password
                  } else if (is.ns6up && !is.ns61) {
                     if (e[x].type == "text" || e[x].type == "password") {
                        if (e[x].size == 6) e[x].size = 12;
                        if (e[x].size == 9) e[x].size = 12;
                     } //type = text, password
                     if (e[x].type == "textarea" && (e[x].name != "dontresizeme")) {
                        e[x].style.setAttribute("fontFamily", "Arial", "true");
                        e[x].style.setAttribute("fontSize", "9pt", "false");
                        e[x].cols = 29;
                        e[x].rows = 6;
                     }
                  } // browser check
               } // adjust check
               if (is.ns4) {
                  if (e[x].type == "textarea" && (e[x].name != "dontresizeme")) {
                     e[x].style.setAttribute("fontFamily", "Arial", "true");
                     e[x].style.setAttribute("fontSize", "9pt", "false");
                     e[x].cols = 14;
                     e[x].rows = 6;
                  }
               } //is.ns4
            }	// if e[x] ...
         } // for x ...
      } //if document.forms ...
   } //for f ...
}

// Submit Function for Redirect
function go(x) {
		document.forms['data'].elements["gehe"].value=x;
		document.forms['data'].submit();
}

// Image Preloading
function preload(imgObj,imgSrc) {
	if (document.images){
	 	eval(imgObj + ' = new Image()');
	  	eval(imgObj + '.src = "' + imgSrc + '"');
	}
}

// Image Swapping
function changeImage(imgName, imgObj) {
		document.images[imgName].src = eval(imgObj+".src");
}

// Get the Window Height and Width
function findWH() {
	winW = (is.ns)? window.innerWidth : document.body.offsetWidth-20;
	winH = (is.ns)? window.innerHeight : document.body.offsetHeight-4;
}

// Reload Page after Resizing (netscape only)
function makeLiquid() {
	if ((is.ns && (winW!=window.innerWidth || winH!=window.innerHeight)))
	history.go(0);
}

// Open Popups
function openpopup (myfile, myname, breite, hoehe, posX, posY, resizable, scrollbars){
	if (myname == '') myname = 'planethome';
	if (posX == '') posX = '0';
	if (posY== '') posY = '0';
	if(resizable == null || resizable == 'false') resizable = '0';
	if(resizable == 'true') resizable = '1';
	if(scrollbars == null || scrollbars == 'false') scrollbars = '0';
	if(scrollbars == 'true') scrollbars = '1';
	if(scrollbars == '1')  breite = parseInt(breite) + 22;
	if (hoehe == '0') {
		neuehoehe = screen.availHeight-screen.availHeight/10;
		if (neuehoehe>900) neuehoehe=900;
			hoehe = neuehoehe;
	}
	var params;
	if(is.ns)
		var params = "width=" + breite + ",height=" + hoehe + ",screenX=" +posX+ ",screenY=" +posY+ ",resizable=" + resizable + ",status=1,scrollbars=" + scrollbars + ",toolbar=no,location=0,directories=0,menubar=no";
	else if(is.ie) {
		var params = "width=" + breite + ",height=" + hoehe + ",left=" +posX+ ",top=" +posY+ ",resizable=" + resizable + ",status=1,scrollbars=" + scrollbars + ",toolbar=no,location=0,directories=0,menubar=no";   
		myname = "";// ie cant handle the name... itay behr
	}
	var newwin = window.open(myfile ,myname ,params);
	newwin.focus();
}

function getparamsforopenpopup (breite, hoehe, posX, posY, resizable, scrollbars){
	if (posX == '') posX = '0';
	if (posY== '') posY = '0';
	if(resizable == null) resizable = '0';
	if(scrollbars == null) scrollbars = '0';
	if(scrollbars == '1')  breite = parseInt(breite) + 22;
	if (hoehe == '0') {
		neuehoehe = screen.availHeight-screen.availHeight/10;
		if (neuehoehe>900) neuehoehe=900;
			hoehe = neuehoehe;
	}
	var params;
	if(is.ns)
		var params = "width=" + breite + ",height=" + hoehe + ",screenX=" +posX+ ",screenY=" +posY+ ",resizable=" + resizable + ",status=1,scrollbars=" + scrollbars + ",toolbar=0,location=0,directories=0,menubar=0";
	else if(is.ie)
		var params = "width=" + breite + ",height=" + hoehe + ",left=" +posX+ ",top=" +posY+ ",resizable=" + resizable + ",status=1,scrollbars=" + scrollbars + ",toolbar=0,location=0,directories=0,menubar=0";   
	
	return params;
}

// Open Popups - for partner includes
//the reason why I copied this function with a different name: 
//some-partners (e.g. dab) have an own openpopup-function 
function openpopupPH (myfile, myname, breite, hoehe, posX, posY, resizable, scrollbars){
	if (myname == '') myname = 'planethome';
	if (posX == '') posX = '0';
	if (posY== '') posY = '0';
	if(resizable == null) resizable = '0';
	if(scrollbars == null) scrollbars = '0';
	if(scrollbars == '1')  breite = parseInt(breite) + 22;
	if (hoehe == '0') {
		neuehoehe = screen.availHeight-screen.availHeight/10;
		if (neuehoehe>900) neuehoehe=900;
			hoehe = neuehoehe;
	}
	var params;
	if(is.ns)
		var params = "width=" + breite + ",height=" + hoehe + ",screenX=" +posX+ ",screenY=" +posY+ ",resizable=" + resizable + ",status=1,scrollbars=" + scrollbars + ",toolbar=0,location=0,directories=0,menubar=0";
	else if(is.ie)
		var params = "width=" + breite + ",height=" + hoehe + ",left=" +posX+ ",top=" +posY+ ",resizable=" + resizable + ",status=1,scrollbars=" + scrollbars + ",toolbar=0,location=0,directories=0,menubar=0";   
	var newwin = window.open(myfile ,myname ,params);
	newwin.focus();
}

//************************************
// openpopup with Title PlanetHome
// author: Antje Richter-Merk
//
//at the moment this functions is not used
//maybe we use it for the Login of the Expertise files
//opens a frame with a title in which the content of the window is displayed
//I don't know whether this works for all browsers!
//************************************************
function openpopupTitle (myfile, myname, breite, hoehe, posX, posY, resizable, scrollbars){
	if (myname == '') myname = 'planethome';
	if (posX == '') posX = '0';
	if (posY== '') posY = '0';
	if(resizable == null) resizable = '0';
	if(scrollbars == null) scrollbars = '0';
	if(scrollbars == '1')  breite = parseInt(breite) + 22;
	if (hoehe == '0') {
		neuehoehe = screen.availHeight-screen.availHeight/10;
		if (neuehoehe>900) neuehoehe=900;
			hoehe = neuehoehe;
	}
	var params;
	if(is.ns)
		var params = "width=" + breite + ",height=" + hoehe + ",screenX=" +posX+ ",screenY=" +posY+ ",resizable=" + resizable + ",status=1,scrollbars=" + scrollbars + ",toolbar=0,location=0,directories=0,menubar=0";
	else if(is.ie)
		var params = "width=" + breite + ",height=" + hoehe + ",left=" +posX+ ",top=" +posY+ ",resizable=" + resizable + ",status=1,scrollbars=" + scrollbars + ",toolbar=0,location=0,directories=0,menubar=0";


    var output = "<html><head><title>PlanetHome</title></head>";
        output += "<frameset rows=\"100%, *\" border=\"0\" frameborder=\"0\" framespacing=\"0\">";
        output += "<frame src=\"" + myfile + "\"></frameset></html>";

        var newwin = window.open("" ,myname ,params);
	    newwin.document.write(output);
	    newwin.focus();
}

// Empty Dropdown List
function empty(feld) {
   // das naechste mal bitte Exception-Handling einbauen, sonst kriegt man beim IE6 staendig Fehlermeldungs-Popups!!
    try {
	document.forms["data"].elements[feld].options.length = 0;
     } catch (e) {
    
     }
} 

// formatiert Wert in einem Input Feld ( 10.000,00 )
function formatValue(wert) {

		wert = wert + '';
		if (wert.indexOf(",") > 0) {
			if ((wert.length-wert.indexOf(",")-1) == 1) wert = wert + "0";
		}
		else {
			wert = wert + ",00";
		}
		if (wert.length > 6) {
			wert_tausend = wert.substr(0,wert.indexOf(",")-3) + ".";
			wert_untertausend =wert.substring(wert.indexOf(",")-3, wert.length);
			wert = wert_tausend + wert_untertausend
		}
		return wert;
}

function readValue (feld) {
// Liest ein Inputfeld aus und gibt den entsprechenden Zahlenwert zurück

	wert = makeString(feld.value);

	if (wert.indexOf(".") >= 0) {
		wert_links = wert.substring(0,wert.indexOf(".")); 
		wert_mitte = wert.substring(wert.indexOf(".")+1,wert.length); 
		wert = wert_links + wert_mitte;
	}
	if (wert.indexOf(",") >= 0) {
		wert_links = wert.substring(0,wert.indexOf(",")); 
		wert_rechts = wert.substring(wert.indexOf(",")+1,wert.length);
		wert = wert_links + "." + wert_rechts;
	}

	wert = makeNumber(wert);
	return wert;
}

function makeString (wert) {
// wandelt Zahl in String um
	wert = wert + '';
	return wert;
}

function makeNumber (wert) {
// wandelt String in Zahl um

	wert = parseFloat(wert);
	return wert;
}

//Liefert Anrede ("Guten Morgen","Guten Tag","Guten Abend", "Gute Nacht") abhängig von TimeUhr des Client-Rechners
function GutenTag(){

   var Datum = new Date();
   var Hours= Datum.getHours();
   var Anrede="";

   if(Hours>=0 &&  Hours<=2)
       Anrede="Gute Nacht";
   else if(Hours>2 &&  Hours<=10)
       Anrede="Guten Morgen";
   else if(Hours>10 &&  Hours<=16)
       Anrede="Guten Tag";
   else
       Anrede="Guten Abend";
   return  this.document.writeln(Anrede);
 }
//----------------------------------------------------------//
// sollte der angeforderte Darlehensbetrag unter einer bestimmten
// Schwelle liegen (maxInformateDarlehensbetrag), so soll der User
// informiert werden, dass er bei einem höheren Darlehensbetrag
// vielleicht bessere Konditionen erhaelt, da die Auswahl an 
// anbietenden Banken groesser ist. Diese Methode prueft, ob
// der angeorderte Darlehensbetrag unterhalbe der Schwelle liegt.
// productIndex nur bei der Zinssuche relevant, um zu pruefen, ob
// Ein Produkt (Darlehen) ausgewaehlt wurde.
//--------------------------------------------------------------//
function checkMinDarlehensbetrag(maxInformateDarlehensbetrag, minInformateDarelehensbetrag, darlehensbetragElement, productIndex, positionHorizontal, isPositionVerticalDynamic)
{
   var positionVertical;
   var elm = document.data.elements[darlehensbetragElement];
   darlehensbetrag = 1 * elm.value;
   if(darlehensbetrag != null && darlehensbetrag < maxInformateDarlehensbetrag && darlehensbetrag > minInformateDarelehensbetrag){
    if(productIndex != null && productIndex * 1 > -1){ 
        if(positionHorizontal == null){
           positionHorizontal = 'AntragRechts';
        }  
        if(isPositionVerticalDynamic == null || isPositionVerticalDynamic == false){
           positionVertical = 'verticalInterestSearch';
        }
        tips_eh('Für eine bessere Auswahl versuchen Sie auch, eine Darlehenssumme ab ' + FormatNumberWithDecimals(maxInformateDarlehensbetrag,1) + ' EUR zu verwenden.',positionHorizontal, positionVertical,'gross');    
    } 
    }else{
       ende();
    }   
}
//------------------------------------------------------------------------//
// Pruefen der des Darlehensbetrags auf Min und Max-Schwelle. Sollte
// sich der Darlehensbetrag innerhalb einer Schwelle befinden, so ist
// eine Meldung auszugeben.
//------------------------------------------------------------------------// 
function checkMinDarlehen(maxInformateDarlehensbetrag, minInformateDarelehensbetrag, darlehensbetragElement, isPositionVerticalDynamic)
{
    var dummyProduct = '0';
    var positionHorizontal = 'ChecksRechts';
    checkMinDarlehensbetrag(maxInformateDarlehensbetrag, minInformateDarelehensbetrag, darlehensbetragElement, dummyProduct, positionHorizontal, isPositionVerticalDynamic);
}
//------------------------------------------------------------------------//
// Pruefen der des Darlehensbetrags auf Min und Max-Schwelle. Sollte
// sich der Darlehensbetrag innerhalb einer Schwelle befinden, so ist
// eine Meldung auszugeben.
//------------------------------------------------------------------------// 
function checkMinDarl(maxInformateDarlehensbetrag, minInformateDarlehensbetrag, darlehensbetragElement)
{
   elm = document.data.elements[darlehensbetragElement];
   darlehensbetrag = ReadValue(elm);
   if(darlehensbetrag != null && darlehensbetrag < maxInformateDarlehensbetrag && darlehensbetrag > minInformateDarlehensbetrag){
      tips_eh(TIP_FINPLAN_MIN_DARLEHEN_TO_INFORM,'AntragRechts','default','gross');
    }else{
      ende();
    }  
}

/**********************************************************
/*Formatierung von numerischen Werten
***********************************************************/
function FormatNumberWithDecimals(value,decimals){
    //ist Value numerisch?
	if (CheckIfValueNumerical(value)){
		start=0;				
		var sign="";
		var dot=0;
		var x=0;
		
		//runden auf Ganzzahl
		if (decimals==0){ 
		    value=Math.round(value); 
		}
		//numerischer Wert in einen String umwandeln
		numb=value+"";
		
		//pruefen auf negativen Wert
		if (numb.substring(0,1)=="-"){
			start=1;
			sign="-";
			numb=numb.substring(1,numb.length);
		}
		
		// Behandlung Sonderfall: Nur ein Punkt und kein Komma, dann Punkt als Komma interpretieren 
		for (var i1 = 0;i1 < numb.length;i1++){
			if (dot>=1){
			x+=1;
			}
			if(numb.substring(i1,i1+1) == "."){
				dot+=1
			}
		}
		if (dot==1 && numb.indexOf(",")<=0 && x<3){
		numb=ReplaceCharacter(numb,".",",")
		}
		numb=RemoveDots(numb);
		numb=ReplaceCharacter(numb,",",".");
		numb=round_aic(numb);
		numb=ReplaceCharacter(numb,".",",");

		var comma=numb.indexOf(",");
		numb_right=numb.substring(comma,numb.length);
		numb_left=numb.substring(0,comma);
		numb_middle="";
		while (numb_left.length>3){
		
			numb_middle="."+numb_left.substring(numb_left.length-3,numb_left.length)+numb_middle;
			numb_left=numb_left.substring(0,numb_left.length-3);
		
			} /*Ende von while */
			
			if(decimals==1){
			     numb=sign+numb_left+numb_middle+numb_right;}
			else{
			     numb=sign+numb_left+numb_middle;}
		}
		//value ist nicht numerisch
		else	{
		   numb = "";
		}
		return  numb;
	}
/*************************************************************
/*prueft ob der Wert ein numerischer Wert ist.
**************************************************************/
	function CheckIfValueNumerical(value){
		var comma = 0;
		var numb=value
		
		if (value.length==0||value==" "){value=0;}
						
		for (var i1 = 0;i1 < numb.length;i1++){
			if(numb.substring(i1,i1+1) == ","){
				comma+=1;
				if (comma>1){return false}}
			else
			if(numb.substring(i1,i1+1) != "." && isNaN(numb.substring(i1,i1+1))){
			
				if(numb.substring(i1,i1+1)=="-"){
					if(i1!=0){return false}}
				else {return false;}
			}
				
		}
		return true;
	}


// Blendet Elemente (Tabellen) beim "Neukunden anlegen" im FinancialPlanet ein oder aus.
// Betroffene Dateien: /myplanet/drittvermittler/drittvermittler_regusr.jsp und inc/reg_table_broker.jsp
function showcontentneukundeanlegen () { 
    if (document.getElementById) { 
        if (document.getElementById('bshfelder').style.display == "block") { 
            document.getElementById('bshfelder').style.display = "none"; 
            document.getElementById('standarteingabefelder').style.display = "block";
            document.getElementById('addinfotabelle').style.display = "block";
            document.getElementById('showaddlink').style.display = "block";
            document.getElementById('hideaddlink').style.display = "none";
        } else { 
            document.getElementById('bshfelder').style.display = "block"; 
            document.getElementById('standarteingabefelder').style.display = "none";
            document.getElementById('addinfotabelle').style.display = "none";
            document.getElementById('showaddlink').style.display = "none";
            document.getElementById('hideaddlink').style.display = "block";
        } 
    } 
} 

// Edit CommissionCap:
/* marks a changed field with a background-color in case of user input changes */
function markChange(fld, val) {
	var bChanged = false;
	//alert(fld.type + ": " + oldval + "->" + newval);
	
	if(fld.type == "checkbox") {
		if(val == "false") {
			oldval = false;
		} else {
			oldval = true;
		}
		if(fld.checked) {
			newval = true;
		} else {
			newval = false;
		}
		if(newval != oldval) {
			bChanged = true;
		}
	} else {
		oldval = val.replace(/,/g, ".");
		newval = fld.value.replace(/,/g, ".");
		if(isNaN(oldval)) {
			if(newval != oldval) {
				bChanged = true;
			}
		} else if(Number(newval) != Number(oldval)) {
			bChanged = true;
		}
	}
		
	if(bChanged) {
		fld.style.backgroundColor="#B2CCE5";
	} else {
		fld.style.backgroundColor="";
	}
}
/* marks all changed fields with a background-color when page is reloaded in case of sorting requests */
function markChanges() {
	for (var i=0; i < document.all.length; i++) {
		var element = document.all[i];
		if(element.id.indexOf("inpChange") != -1) {
			//alert(element.id);
			element.onblur();
		}
	}
}



//Marktplatz: Resize Logo loaded by user, on exposes
function resizeLogo ()
{
var newLogoWidth = 140;
var newLogoHeight = 105;
var logoWidth = 0;
var logoHeight = 0;
var xFactor = 0;
var yFactor = 0;

if ( (typeof document.images["logoImg"] != 'undefined') && (null != document.images["logoImg"] ) )
{
	logoWidth = document.images["logoImg"].width;
	logoHeight = document.images["logoImg"].height;
	xFactor = logoWidth / 4;
	yFactor = logoHeight / 3;
	
	if (xFactor >= yFactor)
	{
		if (logoWidth > newLogoWidth)
		{
			document.images["logoImg"].width = newLogoWidth;
		}
	}
	else
	{
		if (logoHeight > newLogoHeight)
		{
			document.images["logoImg"].height = newLogoHeight;
		}
	}
	
}
}
