//content.js

//Sparkasse.de Cookiesetter - by Jan Warnecke - Don´t touch
function cHolen () {
 var Wert = "";
 if (document.cookie) {
    var Wertstart = document.cookie.indexOf("=") + 1;
    var Wertende = document.cookie.indexOf(";");
    if (Wertende == -1)
      Wertende = document.cookie.length;
	  Wert = document.cookie.substring(Wertstart, Wertende);
 }
 return Wert;
}

function kontSet (cName, Wert) {
  var jetzt = new Date();
  //var livTime = 1000 * 60 * 60 * 24 * 90;
  var cExpDate = new Date(jetzt.getTime() + 7500000000);
  document.cookie = cName + "=" + Wert + "; expires=" + cExpDate.toGMTString() + ";";
}

function contrFunc () {

  var keks = cHolen();
 
  if (keks != 9){
document.write('<img src="https://www.sparkasse.de/frontend/setTrackingCookie.html?blz=10050000" />');
  kontSet("controlC", 9);
}
return keks;
}
//Ende Sparkasse.de Cookiesetter

/* Browsercheck */
var bx;
if(document.getElementById) bx=1; // IE5.x, NS6.x, Opera5,x etc
else if(document.all) bx=2; // IE 4.x
else if(document.layers) bx=3; // NS4.x

function getObject(o) { // gibt objekt im korrekten DOM zurück
	var obj;
	switch(bx) {
		case 1: obj=document.getElementById(o).style; break;
		case 2: obj=eval('document.all.'+o+'.style'); break;
		case 3: obj=eval('document.charts.document.'+o); break;
	}	
	return obj;
}
function show(o) {
	var obj=getObject(o);
	obj.visibility='visible';
}
function hide(o) {
	var obj=getObject(o);
	obj.visibility='hidden';
}
	
function changeL(o1,o2,path,img){//wechsel boersenbox
	var target=o1;
	if(hiddenchart==o1 && hiddenchart==target){
		hide(o2);show(o1);hiddenchart=o2;
		eval('document.chartclip.src="'+path+'sb_charthead_'+img+'.gif"');
	}
}		

function popup(src,width,height,features){
	var xwidth='width='+width;
	var xheight=',height='+height+',';
	var myfeatures=xwidth+xheight+features+',top=280,left=175';
	var myXtrawin=open(src,"myXtrawin",myfeatures);
	myXtrawin.focus();
	return false;
}
//popup_chat zum auslesen des referrers, ma 05-02-09
function popup_chat(src,width,height,features){
	var src_origin = src.split("?");
	params = src_origin[1].split("&");
	var hp_new = "hp="+document.location;
	var ttl_new = "ttl="+document.title;
	ttl_new = ttl_new.replace(/\s/g, "+");
	for (i=0;i<params.length;i++){
		if(params[i]=="hp=Homepage")params[i] = hp_new;
		if(params[i]=="ttl=Seite1")params[i] = ttl_new;
	}
	var search= params.join("&");
	src = src_origin[0]+"?"+search;
	var xwidth='width='+width;
	var xheight=',height='+height+',';
	var myfeatures=xwidth+xheight+features+',top=280,left=175';
	var myXtrawin=open(src,"myXtrawin",myfeatures);
	myXtrawin.focus();
}



function popdown(ziel){//InternerLink im popup
	if(opener.closed==false)opener.location.href = ziel;
} 

/*-----------------------------------------------------------------------
checkWeg ueberarbeitet wegen input-value html-serializer-problem, arbeitet mit den templates exp_bedarfsseite.xsl zusammen, ma 2004-01-06
ist der numb-parameter gesetzt, wird das (ssl-link-faehige) array abgegriffen,
uebergangsloesung bis zur implementierung der serverseitigen scripte
*/
function checkWeg(numb){
	var checkflag=false;
	for (var i = 0; i < document.radiolinkform.entscheidung.length; i ++){
		if (document.radiolinkform.entscheidung[i].checked){
			checkflag=true;
			if(numb=='undefined' || typeof numb !='number')var newpath = document.radiolinkform.entscheidung[i].value;
			else var newpath = choices[i];
		}
	}
	if(checkflag==true){
		document.radiolinkform.action = newpath;
		return true;
	}	
	else {
		alert("Bitte treffen Sie eine Auswahl!");
		return false;
	}	
}

/* ------------------------------------------------------------------
	checkForm() globale prueffunktion fuer alle Formulare, nur text-inputs und checkboxen 21-02-02, erweitert 18-12-2002, ma
	erweitert um uebergabeparameter, um beide forms (generisch/mail) verarbeiten zu koennen. 05-12-2003
*/
function checkForm(typ){
	switch(typ){
		case "mail":
		var oki = checkMailForm();
		break;
		case "generisch":
		var oki = checkGForm();
		break;
	}
	if(oki==true)return true;
	else return false;
}

function checkMailForm(){
	var formflag=true;
	for(i=0; i<document.forms["cipsform"].elements.length; i++){
		if(document.forms["cipsform"].elements[i].type=="checkbox" || document.forms["cipsform"].elements[i].type=="text"){
			if(document.forms["cipsform"].elements[i].name.indexOf("_m_")!=-1){// ein m-feld	
				if(document.forms["cipsform"].elements[i].type=="checkbox"){
					if(document.forms["cipsform"].elements[i].checked==false){// ungecheckt
					var fieldname = document.forms["cipsform"].elements[i].name.substring(6,document.forms["cipsform"].elements[i].name.length);
					myUpperLetter=fieldname.substring(0,1).toUpperCase(); //den ersten buchstaben gross
					fieldname =fieldname.substring(1,fieldname.length);
					myNewfieldname = myUpperLetter+fieldname;
					alert("Bitte bestaetigen Sie die Checkbox " +myNewfieldname+"."); 
					document.forms["cipsform"].elements[i].focus();
					formflag=false;
					break;
					}
				}
				else{
					if(document.forms["cipsform"].elements[i].value==""){
					var fieldname = document.forms["cipsform"].elements[i].name.substring(6,document.forms["cipsform"].elements[i].name.length);
					myUpperLetter=fieldname.substring(0,1).toUpperCase(); //den ersten buchstaben gross
					fieldname =fieldname.substring(1,fieldname.length);
					myNewfieldname = myUpperLetter+fieldname;
					alert("Bitte fuellen Sie das Feld " +myNewfieldname+" aus."); 
					document.forms["cipsform"].elements[i].focus();
					formflag=false;
					break;
					}
				  }				
				}	
			}//if zu
	}//for zu		
	if(formflag==true)return true;
	else return false;
}

function checkGForm(){
	var errormsg="Bitte vervollständigen Sie Ihre Angaben.";
	var formflag=true;
	var zuordnung = 0;
	for(i=0; i<document.forms["cipsform"].elements.length; i++){
		var feld = document.forms["cipsform"].elements[i].name;
		var wert = document.forms["cipsform"].elements[i].value;
		if(feld.indexOf("VM")!=-1){
			if(feld.indexOf("X")!=-1){
				stelle="V"+feld.substring(4,document.forms["cipsform"].elements[i].name.length);
			}
			if(feld.indexOf("X")!=-1){
				maximum = wert*1;
			}
			if(feld.indexOf("N")!=-1){
				minimum = wert*1;
			}
		}
		if(feld.indexOf("V")!=-1 && feld.indexOf("M")==-1 && feld.indexOf("T")==-1){
			var bezug = document.forms["cipsform"].elements[i].name;
			if(bezug == stelle){
				if(wert*1<minimum || wert*1 >maximum){
					alert("Bitte geben Sie einen Betrag ein, der zwischen "+minimum+" und "+maximum+" Euro liegt");
					formflag=false;
					break;
				}
			}
		}
		if(document.forms["cipsform"].elements[i].type=="checkbox" || document.forms["cipsform"].elements[i].type=="text"){
			if(document.forms["cipsform"].elements[i].title && document.forms["cipsform"].elements[i].title=='pflichtfeld'){// ein m-feld	
				if(document.forms["cipsform"].elements[i].type=="checkbox"){
					if(document.forms["cipsform"].elements[i].checked==false){
					alert(errormsg); 
					document.forms["cipsform"].elements[i].focus();
					formflag=false;
					break;
					}
				}
				else{
					if(document.forms["cipsform"].elements[i].value==""){
					alert(errormsg);
					document.forms["cipsform"].elements[i].focus();
					formflag=false;
					break;
					}
				  }				
				}	
			}//if zu
	}//for zu		
	if(formflag==true)return true;
	else return false;
}

function readonly(thename,thevalue){
	eval("document.forms['cipsform'].elements['"+thename+"'].value='"+thevalue+"'");
}

// setAction() korrespondiert mit Applikationsseite, GenerischerButton/@pointer-link=formaction und setzt diese richtig.
// Funktion fuer Javascript-Applikationen als einbetteter HTML-Schnipsel, 2003-12-11, ma
function setAction(){
	for(i=0;i<document.forms.length;i++){
		if(document.forms[i].name.substring(0,2)=="f_"){//konvention: alle js-apps tragen forms mit dem prefix 'f_'
			document.forms[i].action=Faction;
			document.forms[i].target=Ftarget;
			document.forms[i].submit();
		}
	}
}

//----------------- popup-move funktion via eventhandler onload in popup 2004-04-21, ma -------------------//
function moveMe(args){
	var myargs=args.split(",");
	if(navigator.appName=="Microsoft Internet Explorer")var ms=true;
	else var ms=false;
	switch(myargs[0]){
		case '0':
		break;
		case '1':
		self.moveTo(10,10);
		self.focus();
		break;
		case '2':
		var popwidth=(ms==true)? document.body.offsetWidth : window.innerWidth;
		if(opener.closed!=false)var pagewidth=(ms==true)? opener.document.body.offsetWidth : opener.window.innerWidth;
		else var pagewidth = screen.width - 20;
		var start_position = pagewidth-popwidth-10;
		self.moveTo(start_position,10);
		self.focus();
		break;
		case '3':
		var myX=(myargs[1].length > 0 && myargs[1].length < 4)? myargs[1]: 10;
		var myY=(myargs[2].length > 0 && myargs[2].length < 4)? myargs[2]: 10;
		self.moveTo(myX,myY);
		self.focus();
		break;
	}
		
}


/* 
###########   banking-box select ################# 
steuert in kombi mit xslt (inc_normalpage.xsl), ob eine auswahl (fuer fusionen) gesetzt und getroffen wurde
2004-09-02, ma
*/	

function BboxSelect(param){
	if(param=="true"){//auswahl gesetzt
		if(document.bankingform.BLZ.options[0].selected == true){
			alert('Bitte wählen Sie Ihre Sparkasse aus.');
			return false;
		}
		else{
			return true;
		}
	}
	else{
		return true;
	}
}

function checkDepot(){
	if(document.bankingform.BLZ.options[0].selected == true){
			alert('Bitte wählen Sie Ihre Sparkasse aus.');
	}
	else{
		var depotLink = depots[document.bankingform.BLZ.options.selectedIndex-1];
		var depw=open(depotLink,'depw','width=800,height=500,location=yes,menubar=yes,resizable=yes,toolbar=yes,status=yes');
	}
}


// -------------cookie-funktionen t3, 15-08-2002 ------------------------- //						

var AFdict = new Array(); // Holds the dictionary
var AFvalues = new Array(); // Holds the values to store/retrieve.
var AFcookiename = "AFstore"; // Name of the cookie
var AFexpires = CreateCookieDate(24 * 60 * 60 * 365 * 2); // Expiration time of the cookie in seconds (2 years)
var AFfailed = "Speichern fehlgeschlagen. Bitte erlauben Sie das Setzen von Cookies."; // Message to show, if writing to a cookie fails, e.g. due to browser configuration.



function AFaddToDict (commonName, specificName) {
	AFdict[commonName] = specificName;
}


//hilfsfunktion zum fuellen des dictionarys bei sonline, ma 14-08-2002
function AFfillDict(){
	for(var i=0;i<document.forms['cipsform'].elements.length;i++){
		if(document.forms['cipsform'].elements[i].type){
			if(document.forms['cipsform'].elements[i].type=="radio"){
				var myformelement=  document.forms['cipsform'].elements[i].name.toLowerCase();
				if(myformelement.indexOf("_anred")!=-1)AFaddToDict("anrede",myformelement);
			}
			if(document.forms['cipsform'].elements[i].type=="text"){
				var myformelement= document.forms['cipsform'].elements[i].name.toLowerCase();
				if(myformelement.indexOf("_vornam")!=-1)AFaddToDict("vorname",myformelement);
				if(myformelement.indexOf("name")!=-1 && myformelement.indexOf("vor")==-1)AFaddToDict("name",myformelement);
				if(myformelement.indexOf("_stra")!=-1)AFaddToDict("strasse",myformelement);
				if(myformelement.indexOf("snummer")!=-1)AFaddToDict("hausnummer",myformelement);
				if(myformelement.indexOf("_plz")!=-1)AFaddToDict("plz",myformelement);
				if(myformelement.indexOf("_ort")!=-1)AFaddToDict("ort",myformelement);
				if(myformelement.indexOf("mail")!=-1)AFaddToDict("email",myformelement);
			}
		}	
	}
}	


function AFstoreForm() {
	var formName="cipsform";
	var value = null;
	var domstr = "";
	var test = null;
	var boundary = (formName) ? "1" : "document.forms.length";
	for (var z in AFdict) {
		for (var i=0; i < eval(boundary); i++) {
			if (formName)
				domstr = "document." + formName + "." + AFdict[z];
			else
				domstr = "document.forms[" + i + "]." + AFdict[z];
			if (domstr) {
			//alert(" nach eval: "+z)
				test = eval(domstr + ".type");
				if (!test) {
					// kein text, also radio oder check
					value = "";
					for (var j=0; j < eval(domstr + ".length"); j++) {
						if (eval(domstr + "[j].checked")) value = value + eval(domstr + "[j].value");
					}
				} else {
					value = eval(domstr + ".value");
				}
				if (value) AFvalues[z] = value; else AFvalues = ArrayRemove(AFvalues, z);
			}
		} 
	}
	SetACookie(AFcookiename, AFvalues, AFexpires, "/");
	if (AFfailed) {
		var ct = GetCookie(AFcookiename);
		if (ct) {
			if (ct != ArrayToString(AFvalues)) alert(AFfailed);
		} else alert(AFfailed);
	}
}


function AFsetForm() {
	var formName="cipsform";
	var ca = GetACookie(AFcookiename);
	var test = null;
	var value = null;
	var domstr = null;
	var boundary = (formName) ? "1" : "document.forms.length";
	if (ca) {
		AFvalues = ca;
		for (var z in AFdict) {
			if (AFvalues[z]) {
				for (var i=0; i < eval(boundary); i++) {
					if (formName)
						domstr = "document." + formName + "." + AFdict[z];
					else
						domstr = "document.forms[" + i + "]." + AFdict[z];
					
					test = eval(domstr + ".type");
					if (!test) {
						for (var j=0; j < eval(domstr + ".length"); j++) {
							value = eval(domstr + "[j].value");
							eval(domstr + "[j].checked = " + eval("AFvalues[z].indexOf(value) > -1"));
						}
					} else {
						eval(domstr + ".value = '" + AFvalues[z] + "'");
					}
				}
			}
		}
	}
}

//---------------------- generische Cookie-Funktionen -----------------------------------------------//

function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}


function FixCookieDate (date) {
  var base = new Date(0);
  var skew = base.getTime(); // dawn of (Unix) time - should be 0
  if (skew > 0)  // Except on the Mac - ahead of its time
    date.setTime (date.getTime() - skew);
}


function CreateCookieDate(expire)
 {
  var expdate = new Date();
  FixCookieDate(expdate);
  expdate.setTime(expdate.getTime() + (expire*1000));
  return expdate;
 };
 
 
function GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  return null;
}


function SetCookie (name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function DeleteCookie (name,path,domain) {
  if (GetCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  };
}

function ArrayToString(a)
 {
  var s="";
  for (var i in a)
   {
    s+=("&"+i+"="+escape(a[i]));
   };
  return s;
 };

 
function StringToArray(s)
 {
  var a=new Array();

  var start=s.indexOf("&")
  while (start>=0)
   {
    start++;
    var gleich=s.indexOf("=",start);
    var ende=s.indexOf("&",gleich);
    if (ende<0) ende=s.length;
    a[s.substring(start,gleich)]=unescape(s.substring(gleich+1,ende));
    start=s.indexOf("&",ende)
   };
  return a;
 };
 
 
function ArrayRemove(a,e)
 {
  var n=new Array();
  for (var i in a)
   {
    if (i!=e)
       n[i]=a[i];
   };
  return n;
 };

 
 function SetACookie(name,arr,expires,path,domain,secure)
 {
 	var s=ArrayToString(arr); 
  	if (s.length>0) // arr.length doesn't work for this type of array
     SetCookie(name,ArrayToString(arr),expires,path,domain,secure);
   else
     DeleteCookie(name,path,domain);
 };

 
 
function GetACookie(name)
 {
  var c=GetCookie(name);
  if (c)
     return StringToArray(c);
   else
     return null;
 };

 
function GetACookieValue(name,value)
 {
  var ca=GetACookie(name);
  if (ca)
     return ca[value];
   else
     return null;
 };

 
 
function SetACookieValue(name,value,data,expires,path,domain,secure)
 {
  var ca=GetACookie(name);
  if (! ca)
     ca=new Array();
  ca[value]=data;
  SetACookie(name,ca,expires,path,domain,secure);
 };

 
 function DelACookieValue(name,value,expires,path,domain,secure)
 {
  var ca=GetACookie(name);
  if (ca)
    {
     ArrayRemove(ca,value);
     SetACookie(name,ca,expires,path,domain,secure);
    };
 };


