//
// Klassen
// 
function cls_myUser() {
	this.myUsername;
	this.mySession;
	this.activeBox;
	this.helpTag;
	this.lastConfirm;
	this.EGNdatei;
	this.myMail;
	this.myProvider;
	this.myTarif;
	this.myFixkosten;
	this.myVertragbeginn;
	this.myVertragdauer;
	this.myTarNewsletter;
	this.myTarMonitoring;
	this.myvertragMonitoring;
	this.myTarifarten;
	this.myProviderselection;
	this.myExpressModus;
	this.providerListe;
	
	this.setUserdaten = function() {
		cb_getUserSession = xajax.callback.create();
   	cb_getUserSession.onComplete = function(){adaptSession('ak');};
   	xajax.call('getUserSession', {callback:cb_getUserSession,parameters: [],context:this});
	}
	this.getUsername = function() {return this.myUsername;}
	this.setUsername = function(mName) {this.myUsername = mName;}
	this.getSession = function() {return this.mySession;}
	this.setSession = function(mSession) {this.mySession = mSession;}
	this.getActiveBox = function() {return this.activeBox;}
	this.setActiveBox = function(mActBox) {this.activeBox = mActBox;}
	this.getHelpTag = function() {return this.helpTag;}
	this.setHelpTag = function(mTag) {this.helpTag = mTag;}
	this.getLastConfirm = function() {return this.lastConfirm;}
	this.setLastConfirm = function(mTag) {this.lastConfirm = mTag;}
	this.getEGNdatei = function() {return this.EGNdatei;}
	this.setEGNdatei = function(mTag) {this.EGNdatei = mTag;}
	this.getMyMail = function() {return this.myMail;}
	this.setMyMail = function(mTag) {this.myMail = mTag;}
	this.getMyProvider = function() {return this.myProvider;}
	this.setMyProvider = function(mTag) {this.myProvider = mTag;}
	this.getMyTarif = function() {return this.myTarif;}
	this.setMyTarif = function(mTag) {this.myTarif = mTag;}
	this.getMyFixkosten = function() {return this.myFixkosten;}
	this.setMyFixkosten = function(mTag) {this.myFixkosten = mTag;}
	this.getMyVertragbeginn = function() {return this.myVertragbeginn;}
	this.setMyVertragbeginn = function(mTag) {this.myVertragbeginn = mTag;}
	this.getMyVertragdauer = function() {return this.myVertragdauer;}
	this.setMyVertragdauer = function(mTag) {this.myVertragdauer = mTag;}
	this.getMyTarNewsletter = function() {return this.myTarNewsletter;}
	this.setMyTarNewsletter = function(mTag) {this.myTarNewsletter = mTag;}
	this.getMyTarMonitoring = function() {return this.myTarMonitoring;}
	this.setMyTarMonitoring = function(mTag) {this.myTarMonitoring = mTag;}
	this.getMyVertragMonitoring = function() {return this.myVertragMonitoring;}
	this.setMyVertragMonitoring = function(mTag) {this.myVertragMonitoring = mTag;}
	this.getMyTarifarten = function() {return this.myTarifarten;}
	this.setMyTarifarten = function(mTag) {this.myTarifarten = mTag;}
	this.getMyProviderselection = function() {return this.myProviderselection;}
	this.setMyProviderselection = function(mTag) {this.myProviderselection = mTag;}
	this.getMyExpressModus = function() {return this.myExpressModus;}
	this.setMyExpressModus = function(mTag) {this.myExpressModus = mTag;}
	this.setProviderListe = function(mTag) {this.providerListe = mTag;}
	this.getProviderListe = function() {return this.providerListe;}
	
}
myFonitoSession = new cls_myUser();	

function getFonitoSession() {
 return this.myFonitoSession.getSession();	
}


function calcForm()  
   {
   	runFlag = -88;
   	var myForm = document.getElementById("form_abakus");
   	myForm.tarifarten.value = "";
   	myForm.username.value = myFonitoSession.getUsername();
   	myForm.actBox.value = myFonitoSession.activeBox;
   	var resultFile = 'userdaten/' + myFonitoSession.myUsername+'/'+ myFonitoSession.activeBox + '/result.xml';
   	for (i=0;i<5;i++) {	
			if (myForm.cb_tarifAuswahl[i].checked) {	
				if (myForm.tarifarten.value == '') {
					myForm.tarifarten.value = myForm.cb_tarifAuswahl[i].value
				}	else {
					myForm.tarifarten.value = myForm.tarifarten.value + '!!' + myForm.cb_tarifAuswahl[i].value
				}	
			} 
  	}
   	var formVars = xajax.getFormValues("form_abakus");
   	document.getElementById('loadingMsg').innerHTML='Die Tarifanalyse läuft...<br>Bitte haben Sie ein wenig Geduld.';
   	// xajax_processAbakus(formVars);
   	cbRunningAbakus = xajax.callback.create();
   	cbRunningAbakus.onRequest = function(){ xjx.$('loadingMsg').style.display = 'block' };
		cbRunningAbakus.onComplete = function(){ xjx.$('loadingMsg').style.display = 'none'; afterCalcForm(runFlag); };
   	xajax.call('processAbakus', {callback:cbRunningAbakus,parameters: [formVars],context:this});
   	return;  
}

function afterCalcForm(runFlag) {
	switch (runFlag) {
		case 1:
			doAbakusAction("meinErgebnis");
			break;	
		case -9:
			doAbakusAction("socketError");
			break;
		case -10:
			doAbakusAction("egnError");
			break;
		case -11:
			doAbakusAction("egn_too_long");
			break;
		case -12:
			doAbakusAction("egn_not_found");
			break;
		case -13:
			doAbakusAction("abakusError");
			break;
		default:
			// doAbakusAction("abakusError");
			doAbakusAction("meinErgebnis");
			break;
	}
}

function buildErgebnis(egnXMLdatei,runErg) {	
	if (egnXMLdatei == undefined | egnXMLdatei == '') var egnXMLdatei = 'userdaten/' + myFonitoSession.myUsername+'/'+ myFonitoSession.activeBox + '/result.xml';
	if (runErg != 1) {
		document.getElementById('myErgebnis').innerHTML = "Die Tarifanalyse konnte nicht durchgef&uuml;hrt werden";return;
		switchGUI("myErgebnis");
	}
	myFonitoSession.setEGNdatei(egnXMLdatei);
	var table = new AW.XML.Table;
	var mUser = myFonitoSession.getUsername();
	table.setURL(egnXMLdatei);	//	provide data URL
	table.setRows("/Tarifauswertung/Common"); // set table node XPath
	table.setAsync(false);
	table.request();
	mErgebnisText ="<table class='tabErgebnis'>";
  mErgebnisText = mErgebnisText + "<tr><td style='width:30%'>" + "MeinProvider: " + "</td><td><strong>"+ table.getData(2,0)+ "</strong></td></tr>";
  mErgebnisText = mErgebnisText + "<tr><td style='width:30%'>" + "Gespräche: " + "</td><td><strong>"+ table.getData(3,0)+" bis " + table.getData(4,0) + "</strong></td></tr>";
  mErgebnisText = mErgebnisText + "<tr><td style='width:30%'>" + "Rechnung Brutto: " + "</td><td><strong>"+ table.getData(7,0) + " ( "+ table.getData(5,0) +" + " + table.getData(6,0)+" )" + "</strong></td></tr>";
  mErgebnisText = mErgebnisText + "<tr><td style='width:30%'>" + "Anzahl Gespräche: " + "</td><td><strong>"+ table.getData(9,0)+ "</strong></td></tr>";
  mErgebnisText = mErgebnisText + "<tr><td style='width:30%'>" + "Anzahl Tarife: " + "</td><td><strong>"+ table.getData(10,0)+ "</strong> Tarife wurden analysiert.</td></tr>";
  mErgebnisText = mErgebnisText + "<tr><td style='width:30%'>" + "Bester Tarif: " + "</td><td><strong>"+ table.getData(11,0) + " - " + table.getData(12,0) + "</strong></td></tr>";
  mErgebnisText = mErgebnisText + "<tr><td style='width:30%'>" + "Kosten bester Tarif: " + "</td><td><strong>"+ table.getData(13,0) + "</strong></td></tr>";
  mErgebnisText = mErgebnisText + "<tr><td style='width:30%'>" + "Sparpotenzial: " + "</td><td><strong>"+ table.getData(15,0) + " (entspricht " + table.getData(16,0) + "% )" + "</strong></td></tr></table>";
  mErgebnisText = mErgebnisText + "<div class='txtHervorhebung'>" + table.getData(14,0) +" EUR " + table.getData(15,0) + "</div>";
  mErgebnisText = mErgebnisText + "<div align='center'>"  + table.getData(0,0) + "</div>";  
  mErgebnisText = mErgebnisText  + "</table>";
  document.getElementById('myErgebnis').innerHTML = "";
	document.getElementById('myErgebnis').innerHTML = mErgebnisText;
	var mTemp = getProvlisteAsSelectBox('sbTarifliste');
	document.getElementById('provBox1').innerHTML = mTemp;
	document.getElementById('sbTarifliste').onchange=function(){doAbakusAction(this[this.selectedIndex].value);};
	buildTarifliste(egnXMLdatei,table.getData(2,0),10);
	// doAbakusAction("showMeinErgebnis");
}

function buildTarifliste(egnXMLdatei,myProvider,mRowCount) {
	var table = new AW.XML.Table;
	var obj = new AW.UI.Grid;
	var xQry = "Provider[@id='" + myProvider + "']/Tarif";
	table.setURL(egnXMLdatei);	//	provide data URL
	table.setRows(xQry); 
	table.request();
  obj.setCellModel(table);
  obj.getRowTemplate().setClass("text", "wrap");
	obj.setRowCount(10);
	obj.setVirtualMode(true); 
  obj.setSelectionMode("single-row");						//	set row selection
  obj.setColumnCount(6);
  obj.setId("tarifGrid");								//	assign unique id for the grid element
	obj.setCellFormat([str, str, str, num, num]);
  var columns = ["Platz", "Tarifname", "Kosten", "Fixkosten","Beschreibung","Affiliate_Link"];	//	define column labels
  obj.setHeaderText(["#","Tarifname","Kosten","Fix","",""]);							//	provide column labels
  var str = new AW.Formats.String;						//	define data formats
	var num = new AW.Formats.Number;
  obj.setCellTemplate(new AW.Templates.ImageText);
  obj.refresh();
	obj.onRowDoubleClicked = function(event,row){buildTZliste(obj.getCellText(1,row),myProvider,egnXMLdatei);}
  // obj.onRowMouseOver = function(event,row){showTarifbeschreibung(txtTest,row);}
  // obj.onRowMouseOut = function(event,row){document.getElementById('tarifInfo').style.display='none';}
	document.getElementById('tarifliste').innerHTML = obj;
}

function showTarifbeschreibung(mText,row) {
	var myBox = document.getElementById('tarifInfo');
	myBox.innerHTML = mText;
	var mPos = 40 + row*(30);
	mPos = mPos +"px 0px 0px 5px";
	myBox.style.margin=mPos;
	myBox.style.display="block";
	return;
}

function buildTZliste(mTarif,myProvider,egnXMLdatei) {
	var table = new AW.XML.Table;
	var xQry = "/Tarifauswertung/Provider[@id='" + myProvider + "']/Tarif[@name='" + mTarif + "']/Tarifzonen//TZ";
	// alert(xQry);
	table.setURL(egnXMLdatei);	//	provide data URL
	table.setRows(xQry); 
	table.request();
  var obj = new AW.UI.Grid;
  var columns = ["TZ-Name", "Anzahl", "Dauer_Zeit", "TZ_Brutto", "TZ_frei", "TZ_netto", "TZ_Kosten", "EGN_Kosten"];	//
  var str = new AW.Formats.String;						//	define data formats
	var num = new AW.Formats.Number;
	obj.setCellModel(table);
	obj.setRowCount(25); 
	obj.setRowHeight(10);
	obj.setVirtualMode(true); 
  obj.setSelectionMode("single-row");						//	set row selection
  obj.setColumnCount(8);
  obj.setId("TZgrid");								//	assign unique id for the grid element
	obj.setHeaderText(["Name","Anz.","Zeit","TE","TE-Frei","TE-Netto","TE Kosten","EGN"]);							//	provide column labels
	obj.setCellFormat([str, str, str, str, str, str, str, str, ]);
  obj.getRowTemplate().setClass("text", "wrap");
  obj.setCellTemplate(new AW.Templates.ImageText);
  obj.refresh();
  document.getElementById('TZheader').innerHTML = 'Provider: <strong> ' + myProvider + '</strong>   Tarif: <strong>'+mTarif+'</strong>';
	document.getElementById('TZtabelle').innerHTML = obj;
	switchGUI("tarifliste",0);
	switchGUI("TZliste",1,'Verteilung nach Tarifzonen');
	// switchGUI('myEgnButtonBox',1,'Vergleich zu den besten Tarifen');
}


function doLogin() {
		var formVars = xajax.getFormValues("form_login");
   	cb_login = xajax.callback.create();
   	cb_login.onComplete = function(){myFonitoSession.setUserdaten();};
   	xajax.call('procLogin', {callback:cb_login,parameters: [formVars]});
   	return;  
}
function doLogout()  
   {
   	cb_logout = xajax.callback.create();
   	cb_logout.onComplete = function(){adaptSession();};
   	xajax.call('procLogout', {callback:cb_logout,parameters: [],context:myFonitoSession});
   	return;  
}
function doSendMail(toAddr,subj,mText)  
   {
   	var mRet = false;
   	cb_sendmail = xajax.callback.create();
   	cb_sendmail.onComplete = function(){doAfterSendMail(mRet);};
   	xajax.call('sendMail', {callback:cb_sendmail,parameters: [toAddr,subj,mText],context:this});
   	return;  
}
function doAfterSendMail(mRet) {
	if (mRet) {
		document.getElementById("sendInfo").innerHTML = "Die Nachricht konnte nicht durchgeführt werden."; 
	} else {
		document.getElementById("sendInfo").innerHTML = "Die Nachricht wurde verschickt."; 
	}
switchGUI('sendInfo');
return;
}
function doLookupSession() {
		myFonitoSession.setUserdaten();		
}

function qryTarifliste() {
	var myForm = document.getElementById("form_tarife");	
	var pName = myForm.pName.options[myForm.pName.selectedIndex].value;
	xajax_getTarifliste(pName);
  return;  
}
function qryTarifdaten(pName,tName,targetDiv) {
	if (pName == undefined | tName == undefined) {
		var myForm = document.getElementById("form_tarife");
		var pName = myForm.pName.options[myForm.pName.selectedIndex].value;
		var tName = myForm.tName.options[myForm.tName.selectedIndex].value;	
		var targetDiv = "tarifTable"
	}
	xajax_getTarifdaten(pName,tName,targetDiv);
  return;  
}

function fillEgnBox(mName)  
   {
   	xajax_getEGNboxes(mName);
   	return;  
}

function build_tarifChart()  
   {
   	arrEgnKosten = "";
   	arrBestKosten = "";
   	mUsername = myFonitoSession.getUsername();
   	mBoxnr = myFonitoSession.getActiveBox();
   	mUserDir = "userdaten/" + mUsername + "/" + mBoxnr + "/";
   	// alert('User: ' + mUsername + ' Box: ' + mBoxnr);
   	cb_chart = xajax.callback.create();
   	cb_chart.onComplete = function(){show_Tarifchart(mUserDir);};
   	xajax.call('buildTarif_chart_combination_line_bars',{callback:cb_chart,parameters: [mUsername,mBoxnr],context:this});
   	// xajax.call('buildTarif_chart_3d_bars',{callback:cb_chart,parameters: [mUsername,mBoxnr],context:this});
   	return;  
}

function build_chart_jahresvergleich(mProvider)  
   {
   	mUsername = myFonitoSession.getUsername();
   	mUserDir = "userdaten/" + mUsername + "/";
   	// alert('User: ' + mUsername + ' Provider: ' + mProvider);
   	cb_chart = xajax.callback.create();
   	cb_chart.onComplete = function(){show_chart_jahresvergleich(mUserDir,mProvider);};
   	xajax.call('jahresvergleich_provider_line',{callback:cb_chart,parameters: [mUsername,mProvider],context:this});
   	return;  
}

function show_Tarifchart(mUserDir) {
	var so = new SWFObject("flash/swf/fcp-combination-bars3d-charts.swf", "Tariftrend", "650", "450", "6", "#eff4fb");
	// var so = new SWFObject("flash/swf/fcp-combination-bars2d-charts.swf", "Tariftrend", "650", "450", "6", "#eff4fb");
	// var so = new SWFObject("flash/swf/fcp-bars.swf", "Tariftrend", "650", "600", "6", "#eff4fb");
	mOutfile = mUserDir + "/tarifChart.xml";
	so.addVariable("xml_file",mOutfile);
	so.write("tarifChart"); 
}
function show_chart_jahresvergleich(mUserDir,mProvider) {
	var so = new SWFObject("flash/swf/fcp-line-chart.swf", "Jahresvergleich", "650", "450", "6", "#eff4fb");
	mOutfile = mUserDir + "/chart_jahresvergleich_"+mProvider+".xml";
	so.addVariable("xml_file",mOutfile);
	so.write("chart_jahresvergleich"); 
}

function doJahresvergleich()  
   {
   	arrEgnKosten = "";
   	arrBestKosten = "";
   	mUsername = myFonitoSession.getUsername();
   	cb_topListe = xajax.callback.create();
   	cb_topListe.onComplete = function(){return;};
   	xajax.call('getTopListe',{callback:cb_topListe,parameters: [mUsername],context:this});
   	return;  
}

function doJahresvergleichProvider(mProvider)  
   {
   	if (typeof mProvider == "undefined" || typeof mProvider == "")
   		return;
   		
   	arrEgnKosten = "";
   	arrBestKosten = "";
   	mUsername = myFonitoSession.getUsername();
   	// alert(mUsername+" ==> " + mProvider);
   	cb_topListe = xajax.callback.create();
   	cb_topListe.onComplete = function(){return;};
   	xajax.call('getTopListe_provider',{callback:cb_topListe,parameters: [mUsername,mProvider],context:this});
    
   	return;  
}
function doStandardprofile(trigger)  
   {
   	cb_standardProfile = xajax.callback.create();
   	cb_standardProfile.onComplete = function(){return;};
   	xajax.call('getStdProf',{callback:cb_standardProfile,parameters: [trigger]});
   	return;  
}
	
function sendEGN(){
   	var myForm = document.form_upload;
   	var formVars = xajax.getFormValues("form_upload");
   	cbfileUpload = xajax.callback.create();
   	cbfileUpload.onRequest = function(){ xjx.$('loadingMsg').style.display = 'block' };
		cbfileUpload.onComplete = function(){ xjx.$('loadingMsg').style.display = 'none';parent.switchGUI("assistent2");; };
   	xajax.call('fileUpload', {callback:cbfileUpload,parameters: [formVars]});
   	// myForm.submit();
   	return;  
	}
	
function checkMailadresse(s)
  {
  var a = false;
  var res = false;
  if(typeof(RegExp) == 'function')
    { var b = new RegExp('abc');
    if(b.test('abc') == true){a = true;}
    }

  if(a == true)
    {
    reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                     '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                     '(\\.)([a-zA-Z]{2,4})$');
    res = (reg.test(s));
    }   else     {
    res = (s.search('@') >= 1 &&
           s.lastIndexOf('.') > s.search('@') &&
           s.lastIndexOf('.') >= s.length-5);
    }
  return(res);
  }

function doRechnungNeu() {
return false;
}

function checkZeichen(mFeld) {
var Ergebnis = false
var Suche = /\s/;
Ergebnis = Suche.test(mFeld);
var Suche = /\W/;
Ergebnis = Suche.test(mFeld);
return Ergebnis;
  
}
function doRegister() {
		regFlag = false;
		document.getElementById('reg_message').innerHTML='';
   	if (valSettings() == false) return;
   	var formVars = xajax.getFormValues("form_register");
   	document.getElementById('loadingMsg').innerHTML='Die Registrierung wird durchgeführt...';
   	cb_register = xajax.callback.create();
   	cb_register.onRequest = function(){ xjx.$('loadingMsg').style.display = 'block' };
   	cb_register.onComplete = function(){xjx.$('loadingMsg').style.display = 'none';afterReg(regFlag);};
   	xajax.call('procRegister', {callback:cb_register,parameters: [formVars],context:this});   	
   	return;  
}
function afterReg(myFlag) {
	if (myFlag == undefined) {
		document.getElementById("regInfo").innerHTML = "Die Registrierung konnte nicht durchgeführt werden."; 
		return;
	}
	if (myFlag == false) { 
		document.getElementById("regInfo").innerHTML = "Die Registrierung konnte nicht durchgeführt werden.";
		return;
	} else {
		document.getElementById("debugDiv").innerHTML = "";
		document.getElementById("regInfo").innerHTML = 'Herzlichen Dank ! <br> Die Registrierung wurde durchgeführt. <br> Sie erhalten in Kürze eine Email mit Ihren Registrierungsdaten... <a href="#" onClick = "doLogin();">weiter zur EGN Verwaltung<br><br></a>';
		document.form_login.username.value = document.form_register.reg_username.value;
		document.form_login.userpass.value = document.form_register.userpass.value;
		switchGUI("regInfo");
	}
}
function doSaveSettings(trigger) {
	if(trigger==0) {
		adaptSession();
		return;
	}
   	if (valSettings == false) return;
   	// Checkbox Felder umbauen
   	var myForm = document.getElementById('form_settings');
   	myForm.hidTarnewsletter.value = '';
   	myForm.hidTarmonitoring.value = '';
   	myForm.hidVertragmonitoring.value = '';
   	myForm.hidTarifarten.value = '';
   	myForm.hidProvider.value = '';
   	myForm.hidExpressmodus.value = '';
   	if (myForm.tarNewsletter.checked) myForm.hidTarnewsletter.value='On'; else myForm.hidTarnewsletter.value='Off'
   	if (myForm.tarMonitoring.checked) myForm.hidTarmonitoring.value='On'; else myForm.hidTarmonitoring.value='Off'
   	if (myForm.vertragMonitoring.checked) myForm.hidVertragmonitoring.value='On'; else myForm.hidVertragmonitoring.value='Off'
   	if (myForm.expressModus.checked) myForm.hidExpressmodus.value='On'; else myForm.hidExpressmodus.value='Off'
   	
   	for (i=0;i<5;i++) {	
			if (myForm.selTarifarten[i].checked) {	
				// if (myForm.hidTarifarten.value =='') {
					// myForm.hidTarifarten.value = myForm.selTarifarten[i].value;
					//} else {
						myForm.hidTarifarten.value = myForm.hidTarifarten.value + '!!' + myForm.selTarifarten[i].value;
					// }
			}
		} 
		for (i=0;i<7;i++) {	
			if (myForm.selProvider[i].checked) {	
				// if (myForm.hidProvider.value =='') {
					// myForm.hidProvider.value = myForm.selProvider[i].value;
					// } else {
						myForm.hidProvider.value = myForm.hidProvider.value + '!!' + myForm.selProvider[i].value;
					//}
			}
		}
   	
   	
   	var formVars = xajax.getFormValues("form_settings");
   	cb_settings = xajax.callback.create();
   	cb_settings.onComplete = function(){myFonitoSession.setUserdaten();};
   	xajax.call('procSettings', {callback:cb_settings,parameters: [formVars],context:this});   	
   	return;  
}

function valSettings() {
var myForm = document.getElementById("form_register");

   	if (checkZeichen(myForm.reg_username.value)| myForm.reg_username.value == '') {
   			myForm.reg_username.className = "fehler";
   			document.getElementById("reg_message").innerHTML="Der Benutzername wurde falsch eingegeben. Der Benutzername darf aus Zeichen und Ziffern bestehen, aber keine Sonderzeichen oder Leerzeichen enthalten.Bitte wiederholen Sie die Eingabe.";
   			myForm.reg_username.focus();
   			return false;
   	} else {
   		myForm.reg_username.className = "";
   	}
   	if (myForm.userpass.value == '' | myForm.userpass1.value == '') {
   			myForm.userpass.className = "fehler";
   			myForm.userpass1.className = "fehler";
   			document.getElementById("reg_message").innerHTML="Es muss ein Passwort eingegeben werden. Bitte wiederholen Sie die Eingabe.";
   			myForm.userpass.focus();
   			return false;
   	} else {
   		myForm.userpass.className = "";
   		myForm.userpass1.className = "";
   	}   	
   	if (myForm.userpass.value != myForm.userpass1.value) {
   		myForm.userpass.className = "fehler";
   		myForm.userpass1.className = "fehler";
   		myForm.userpass.value = "";
   		myForm.userpass1.value = "";
   		myForm.userpass.focus();
   		document.getElementById("reg_message").innerHTML="Die Passwörter stimmen nicht überein. Bitte wiederholen Sie die Eingabe.";
   		return false;
   	} else {
   		myForm.userpass.className = "";
   		myForm.userpass1.className = "";
   	}
   	if (checkMailadresse(myForm.usermail.value)==false | myForm.usermail.value == '') {
   			myForm.usermail.className = "fehler";
   			document.getElementById("reg_message").innerHTML="Die Email-Adresse wurde nicht korrekt eingegeben. Bitte wiederholen Sie die Eingabe.";
   			myForm.usermail.focus();
   			return false;
   	} else {
   		myForm.usermail.className = "";
   	}
   	return true;
}
function fillSettings() {
	var myForm = document.form_settings
	myForm.username.value = myFonitoSession.getUsername();
	myForm.usermail.value = myFonitoSession.getMyMail();
	if (myFonitoSession.getMyTarMonitoring() == 'On') myForm.tarMonitoring.checked = 'checked';
	if (myFonitoSession.getMyTarNewsletter() == 'On') myForm.tarNewsletter.checked = 'checked';
	if (myFonitoSession.getMyVertragMonitoring() == 'On') myForm.vertragMonitoring.checked = 'checked';
	myForm.myFixkosten.value = myFonitoSession.getMyFixkosten();
	if (myFonitoSession.getMyExpressModus() == 'On') myForm.expressModus.checked='checked';
	myForm.user_provider.value = myFonitoSession.getMyProvider();
	myForm.user_tarif.value = myFonitoSession.getMyTarif();
	myForm.user_fixkosten.value = myFonitoSession.getMyFixkosten();
	myForm.user_vertragbeginn.value = myFonitoSession.getMyVertragbeginn();
	myForm.user_vertragdauer.value = myFonitoSession.getMyVertragdauer();
	
	var mTarifarten = myFonitoSession.getMyTarifarten().split("!!");
	var mTarifartenForm = new Array("Vertragstarif","Jugendtarif","Prepaidtarif","Sondertarif","Datentarif");
	var mHTM = '';
	var mSuchErg = false;
	for (var i = 0; i < mTarifartenForm.length;++i) {
		mSuchErg = arrSearch(mTarifarten,mTarifartenForm[i]);
		if (mSuchErg == true) mHTM += "<input type='checkbox' name='selTarifarten' value='"+ mTarifartenForm[i] +"' checked>"+ mTarifartenForm[i] +"<br>"; else mHTM +=  "<input type='checkbox' name='selTarifarten' value='" +mTarifartenForm[i]+ "'>"+ mTarifartenForm[i] +"<br>";
	} 
	document.getElementById('cbTarifarten').innerHTML = mHTM;
	var mProvider = myFonitoSession.getMyProviderselection().split("!!");
	// var mProviderForm = new Array("A1","T-Mobile","Drei","Telering","One","Yesss","tele2","bob");
	var mProviderForm = myFonitoSession.providerListe.split("#");
	var mHTM = '';
	var mSuchErg = false;
	for (var i = 0; i < mProviderForm.length;++i) {
		mSuchErg = arrSearch(mProvider,mProviderForm[i]);
		
		if (mSuchErg == true) mHTM += "<input type='checkbox' name='selProvider' value='"+ mProviderForm[i] +"' checked>"+ mProviderForm[i] +"<br>"; else mHTM +=  "<input type='checkbox' name='selProvider' value='" +mProviderForm[i]+ "'>"+ mProviderForm[i] +"<br>";
	} 
	document.getElementById('cbProvider').innerHTML = mHTM;
}
function arrSearch(arrToSearch,mWord) {
	for (var ii = 0; ii < arrToSearch.length;++ii) {
		var mTest = arrToSearch[ii];
		if (mTest == mWord) return true; 
	}
	return false;
}
function getPosition() {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
    return cursor;
}
function showProvListe() {
	mProvs = myFonitoSession.providerListe.split("#");
	for (var i = 0; i < mProvs.length; ++i) {
		alert("Provider-" + i + ": " + mProvs[i]);
	}
}
function getProvlisteAsSelectBox(mName) {
	var mRet = "<select  class='optionText' name='" + mName +"' id='" + mName +"' >";
	mProvs = myFonitoSession.providerListe.split("#");
	for (var i = 0; i < mProvs.length; ++i) {
		mRet = mRet + "<option class='optionText' id='pName' name='pName' value="+ mProvs[i] +">" + mProvs[i] + "</option>";
  }   					
  mRet = mRet + "</select>";
  return mRet;
}
