var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);



// Content Replacer

  var xmlDoc = null ;
  var target_div_id = null;

  function contentReplacer(http_data_source, target_div) {
  	target_div_id = target_div;
  	
    if (typeof window.ActiveXObject != 'undefined' ) {
      xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
      xmlDoc.onreadystatechange = _process ;
    }
    else {
      xmlDoc = new XMLHttpRequest();
      xmlDoc.onload = _process ;
    }
    xmlDoc.open( "POST", http_data_source, true );
    xmlDoc.send(null);
  }

  function _process() {
    if ( xmlDoc.readyState != 4 ) return ;
    //document.getElementById("output").value = xmlDoc.responseText ;
    target_div_id.innerHTML = xmlDoc.responseText ;
  }



// end Content Replacer




function setVisability(target, status){

	
	var str_status = 'none';
	if (status == 1 || status == 'y' || status == 'yes'){
		str_status = 'block';
		
	}
	
	if (target == null){
		alert("keine id");
	}
	
	target.style.display = str_status; 
	
}


function mitfahr_return_check(){ 
	
	var master_elm = document.getElementById('car_space');
	
	var active = master_elm.selectedIndex.value;
	
	
	setVisability(document.getElementById('divrueckfahrt1'), active);
	
	//document.getElementById('divrueckfahrt1').style.display = 'none';
	
}


function mitfahrgelegenheit_rueckdatum(){ 
	
	
	var active_index = document.getElementById('rueckfahrt_select').selectedIndex;
	
	
	//setVisability(document.getElementById('divrueckfahrt1'), active);
	if (active_index == 1){
		document.getElementById('divrueckfahrt1').style.display = 'block';
	}else{
		document.getElementById('divrueckfahrt1').style.display = 'none';
	}
	
	
}


function calcbetrag(iKontoStand) {

	document.orderFORM.r_betrag.value = "";
	var kurs = GetValue(document.orderFORM.kurs.value);
	var menge = GetValue(document.orderFORM.menge.value);
	var spesen = GetValue(document.orderFORM.spesen.value);
	var r_spesen = GetValue(document.orderFORM.r_spesen.value);
	var maxMenge = Math.floor(iKontoStand / kurs);
	if(maxMenge < 0){
		maxMenge = 0;
	}
	var MaxMengeObj = document.getElementById('MaxMenge');
	MaxMengeObj.innerHTML = '(maximal <strong>'+maxMenge+'</strong> Stück möglich)';

	if (kurs < 0) {
		kurs = kurs * -1;
		document.orderFORM.kurs.value = kurs;
	}

	if(menge==0){
		menge = 1;
		document.orderFORM.menge.value = 1;
	}

	if (menge < 0) {
		menge = menge * -1;
		document.orderFORM.menge.value = menge;
	}
	if(menge > maxMenge){
		menge = maxMenge;
		document.orderFORM.menge.value = menge;
	}

	var betrag = kurs*menge;
	if(document.orderFORM.spesen_art[1].checked == true) {
		r_spesen = (betrag*spesen)/100;
	}else{
		r_spesen = spesen;
	}

	var endbetrag = betrag+r_spesen;

	if (betrag >= 0) {
		document.orderFORM.r_betrag.value = round(betrag,2);
	}
	if (betrag >= 0) {
		document.orderFORM.r_endsumme.value = round(endbetrag,2);
	}

	r_spesen = Math.round(r_spesen*100)/100;
	r_spesen = round(r_spesen,2);
	document.orderFORM.r_spesen.value = r_spesen;

}

function calcbetragSell() {

	document.orderFORM.r_betrag.value = "";
	var kurs = GetValue(document.orderFORM.kurs.value);
	var menge = GetValue(document.orderFORM.menge.value);
	var spesen = GetValue(document.orderFORM.spesen.value);
	var r_spesen = GetValue(document.orderFORM.r_spesen.value);

	if (kurs < 0) {
		kurs = kurs * -1;
		document.orderFORM.kurs.value = kurs;
	}

	if(menge==0){
		menge = 1;
		document.orderFORM.menge.value = 1;
	}

	if (menge < 0) {
		menge = menge * -1;
		document.orderFORM.menge.value = menge;
	}


	var betrag = kurs*menge;
	if(document.orderFORM.spesen_art[1].checked == true) {
		r_spesen = (betrag*spesen)/100;
	}else{
		r_spesen = spesen;
	}

	var endbetrag = betrag+r_spesen;

	if (betrag >= 0) {
		document.orderFORM.r_betrag.value = round(betrag,2);
	}
	if (betrag >= 0) {
		document.orderFORM.r_endsumme.value = round(endbetrag,2);
	}

	r_spesen = Math.round(r_spesen*100)/100;
	r_spesen = round(r_spesen,2);
	document.orderFORM.r_spesen.value = r_spesen;

}

function calcbetragPurchase(iKontoStand) {

	document.orderFORM.r_betrag.value = "";
	var kursAlt = document.orderFORM.old_kurs2.value;
	var mengeAlt = GetValue(document.orderFORM.old_menge2.value);

	var kursAkt = GetValue(document.orderFORM.kurs.value);
	var menge = GetValue(document.orderFORM.menge.value);
	var spesen = GetValue(document.orderFORM.spesen.value);
	var r_spesen = GetValue(document.orderFORM.r_spesen.value);

	kursAusgleich = MischKalkulation(menge,mengeAlt,kursAkt,kursAlt);
	document.orderFORM.kursAusgleich.value = Math.round(kursAusgleich*10000)/10000;
	var kurs = kursAusgleich;

	var maxMenge = Math.floor(iKontoStand / kurs);
	if(maxMenge < 0){
		maxMenge = 0;
	}
	var MaxMengeObj = document.getElementById('MaxMenge');
	MaxMengeObj.innerHTML = '(maximal <strong>'+maxMenge+'</strong> Stück möglich)';

	if (kurs < 0) {
		kurs = kurs * -1;
		document.orderFORM.kurs.value = kurs;
	}

	if(menge==0){
		menge = 1;
		document.orderFORM.menge.value = 1;
	}

	if (menge < 0) {
		menge = menge * -1;
		document.orderFORM.menge.value = menge;
	}
	if(menge > maxMenge){
		menge = maxMenge;
		document.orderFORM.menge.value = menge;
	}

	var betrag = kurs*menge;
	if(document.orderFORM.spesen_art[1].checked == true) {
		r_spesen = (betrag*spesen)/100;
	}else{
		r_spesen = spesen;
	}

	var endbetrag = betrag+r_spesen;

	if (betrag >= 0) {
		document.orderFORM.r_betrag.value = Math.round(betrag*100)/100;
	}
	if (betrag >= 0) {
		document.orderFORM.r_endsumme.value = Math.round(endbetrag*100)/100;
	}

	r_spesen = Math.round(r_spesen*100)/100;
	r_spesen = round(r_spesen,2);
	document.orderFORM.r_spesen.value = r_spesen;


}

function GetValue(str) {
	if (str.indexOf(",") > 0){
		var Zeichen = str.split(",");
		str = Zeichen[0] + "." + Zeichen[1];
	}else{
		if(!isNaN(parseInt(Number(str)))){
			return parseInt(Number(str));
		}else{
			return 0;
		}

	}
	return Number(str);
}

function SplitValue(str) {
	if (str.indexOf("|") > 0){
		var Zeichen = str.split("|");
		str = GetValue(Zeichen[1]);
	}
	return Number(str);
}

function SplitValueSecond(str) {
	if (str.indexOf("|") > 0){
		return Zeichen = str.split("|");
	}
	return str;
}

function round(zahl,n_stelle,type){
    n        = n_stelle;
    n_stelle = (n_stelle == "" || n_stelle < 1 || n_stelle > 14 ? 2 : n_stelle);
	n_stelle = Math.pow(10,n_stelle);

	if(type == 0 || type == ""){
		zahl = Math.round(zahl * n_stelle) / n_stelle;
	}else if(type == 1){
		zahl = Math.floor(zahl * n_stelle) / n_stelle;
	}else if(type == 2){
		zahl = Math.ceil(zahl * n_stelle) / n_stelle;
	}
	zahl = String(zahl);
	if (zahl.indexOf('.') == -1)
	{
	    zahl += '.';
	}
    zahl += n_stelle.toString().substring(1);
    zahl  = zahl.substring(0, zahl.indexOf('.') + n+1);
    var p = zahl.indexOf('.');
    return zahl.substring(0, p) + ',' + zahl.substring(p+1);
	/*
	if (zahl.indexOf(".") >= 0) {
		var betragZeichen = zahl.split(".");
		while ( betragZeichen[1].length < 2 ) {
			betragZeichen[1] = betragZeichen[1] + "0";
		}
        betragZeichen[1] = betragZeichen[1].substring(0, n);
		if ( betragZeichen[0] !=  ""){
			zahl = betragZeichen[0] + "," + betragZeichen[1];
		}else{
			zahl = "0" + "," + betragZeichen[1];
		}
	} else {
		zahl = zahl + ",00";
	}
	return zahl;*/
}

function OwnTabBrowsing(strTargetTab,strTargetTabOld,strTargetID){

		Knoten = document.getElementById('ChartNav2').firstChild;

		if(ie5){
			var classType = 'className';
		}else{
			var classType = 'class';
		}

		while (Knoten != null) {
			if(Knoten.getAttribute!=undefined){
				if(Knoten.childNodes[0].getAttribute(classType)=='active'){
					Knoten.childNodes[0].removeAttribute(classType);
				}
				if(Knoten.childNodes[0].getAttribute('id')==strTargetID){
					Knoten.childNodes[0].setAttribute(classType,"active");
				}
			}
		  Knoten = Knoten.nextSibling;
		}

	var oTargetTarget = document.getElementById(strTargetTabOld);
	oTargetTarget.style.display = 'none';

	var oTargetTarget = document.getElementById(strTargetTab);
	oTargetTarget.style.display = '';

}

function KursUebernehmenPurchase(iKontoStand){
	var kurs = SplitValue(document.orderFORM.boerse.value);
	document.orderFORM.kurs.value = round(kurs,2);
	calcbetragPurchase(iKontoStand);
}

function KursUebernehmenSell(iKontoStand){
	var aWerte = SplitValueSecond(document.orderFORM.boerse.value);
	var kurs = Number(GetValue(aWerte[1]));
	var currency = aWerte[2];
	document.getElementById('idCurrency').innerHTML=currency;
	document.getElementById('idCurrency2').innerHTML=currency;
	document.orderFORM.kurs.value = round(kurs,2);
	if(isNaN(iKontoStand)){
		calcbetragSell();
	}else{
		calcbetrag(iKontoStand);
	}
}

function KursUebernehmen(iKontoStand){
	var kurs = SplitValue(document.orderFORM.boerse.value);
	document.orderFORM.kurs.value = round(kurs,2);
	if(isNaN(iKontoStand)){
		calcbetragSell();
	}else{
		calcbetrag(iKontoStand);
	}
}



function DepotActionStart(strType){

	var foundCheckValue = false;
	var iElementID = 0;
	if(!isNaN(document.elementList.element.length)){
		for(var i=0;i<document.elementList.element.length;i++){
			if(document.elementList.element[i].checked && !isNaN(Number(document.elementList.element[i].value))){
				foundCheckValue = true;
				iElementID = Number(document.elementList.element[i].value);
			}
		}
	}else{

		if(!isNaN(Number(document.elementList.element.value))){
			foundCheckValue = true;
			iElementID = Number(document.elementList.element.value);
		}

	}

	if(foundCheckValue && iElementID>0){
		if(strType=='sell'){
			location.href='/user/portfolio/sell/'+iElementID+'/';
		}else if(strType=='purchase'){
			location.href='/user/portfolio/purchase/'+iElementID+'/';
		}else if(strType=='limit'){
			location.href='/user/portfolio/limit/'+iElementID+'/';
		}
	}else{
		if(strType=='sell'){
			location.href='/user/portfolio/sell/';
		}else if(strType=='purchase'){
			location.href='/user/portfolio/purchase/';
		}else if(strType=='limit'){
			location.href='/user/portfolio/limit/';
		}
	}

	return false;
}

function DepotGetSelectedValue(strType){

	var foundCheckValue = false;
	var iElementID = 0;

	if(document.forceSelect.element.value!='0' && !isNaN(Number(document.forceSelect.element.value))){
		foundCheckValue = true;
		iElementID = Number(document.forceSelect.element.value);
	}

	if(foundCheckValue && iElementID>0){
		if(strType=='sell'){
			location.href='/user/portfolio/sell/'+iElementID+'/';
		}else if(strType=='purchase'){
			location.href='/user/portfolio/purchase/'+iElementID+'/';
		}else if(strType=='limit'){
			location.href='/user/portfolio/limit/'+iElementID+'/';
		}
	}else{
		alert('Bitte wählen Sie eine Aktien aus.')
	}

	return false;
}

function MischKalkulation(iMengeNeu,iMengeAlt,dPreisNeu,dPreisAlt){

	var neuerKurs = ((iMengeAlt*dPreisAlt)+(iMengeNeu*dPreisNeu))/(iMengeAlt+iMengeNeu);

	return neuerKurs;
}

function ChangePicture(strTargetChart,strTargetID){

	strTargetChart=strTargetChart+strTargetID;
	Knoten = document.getElementById('ChartNav').firstChild;

	var oTargetPic = document.getElementById('ChartPic');
	oTargetPic.src = strTargetChart;
	oTargetPic.focus;

}

/* FLOHMARKT */

function flohmarkt_bigImage(image){
	var o_image = document.getElementById('big_angebot_image');
	o_image.src = image;
}

/* Toggle help on/off */
function toggleHelp()
{
    obj    = document.getElementById('helpBox');
    objSel = document.getElementById('helpSelector');
    if (obj != null && objSel != null)
    {
        xajax_setHelp();
        var strOldStyle   = obj.style.display;
        obj.style.display = (strOldStyle == 'block') ? 'none'                                 : 'block';
        objSel.src        = (strOldStyle == 'block') ? '/_includes/img/frontend/up_arrow.gif' : '/_includes/img/frontend/down_arrow.gif'; 
    }
}

// Toggle editable parts of a page on/off (hide and show them to the publicity
function toggleEditable(orgId, editId)
{
    var oOrg  = document.getElementById(orgId);
    var oEdit = document.getElementById(editId);
    
    if (oOrg != null && oEdit != null)
    {
        // Based on the original change the showing part
        var b_on = (oOrg.style.display == 'block') ? true : false;
        
        // Now change it based on this knowledge
        oOrg.style.display  = (b_on) ? 'none'  : 'block';
        oEdit.style.display = (b_on) ? 'block' : 'none;'
    }
}

// Fill a field with data
function fillField(elementId, content)
{
    var obj = document.getElementById(elementId);
    if (obj != null)
    {
        obj.value = content;
    }
}


// The autofill id
var autofillId      = null;
var autofillTimeout = null;

// Bind an event to an item
function bindHideEvent(elementId)
{
    obj = document.getElementById(elementId);
    if (obj != null)
    {
        autofillId = elementId +'_autofill';
        
        // Ie or not IE, that's the question...
        if (obj.addEventListener)
        {
            obj.addEventListener('blur', hideElementListener, true);
        }
        else if (obj.attachEvent)
        {
            obj.attachEvent('onblur', hideElementListener);
        }
    }
}

// element listern for hiding elements
function hideElementListener(event)
{
    autofillTimeout = window.setTimeout("hideElement('"+ autofillId +"')", 500);
}

// Show an element
function showElement(elementId)
{
    var obj = document.getElementById(elementId);
    if (obj != null)
    {
        obj.style.display = 'block';
    }    
}

// Hide an element
function hideElement(elementId)
{
    var obj = document.getElementById(elementId);
    if (obj != null)
    {
        obj.style.display = 'none';
    }
    
    // remove an autofill-timeout if it's still active
    if (autofillTimeout != null)
    {
        window.clearTimeout(autofillTimeout);
    }
}

function switchElement(elementId)
{
   var obj = document.getElementById(elementId);
   if (obj != null)
   {
      // Based on the original change the showing part
      var b_on = (obj.style.display == 'block') ? true : false;
        
      // Now change it based on this knowledge
      obj.style.display  = (b_on) ? 'none'  : 'block';
   }
}