
function adaptSession(trigger) {
	if (trigger == "" | trigger == undefined) mTest = myFonitoSession.getUsername();
	switch(mTest) {
		case "":	
			switchGUI("fonitoLogin");
			//switchGUI("assistent1",1,"TARIFBERECHNUNG in 4 Schritten: Schritt 1");
			// ass1();
			switchGUI("myFonito",0);
			switchGUI("frontpage",1,"");
			break;
		case 'nada':		
			switchGUI("fonitoLogin");
			// switchGUI("assistent1",1,"TARIFBERECHNUNG in 4 Schritten: Schritt 1");
			// ass1();
			switchGUI("myFonito",0);
			switchGUI("frontpage",1,"");
			break;
	  case 'ak':		
			break;
		default:
			switchGUI("fonitoLogin",0);
	 	 	switchGUI("assistent1",0);
	 	 	switchGUI("myEgnButtonBox",0);
			switchGUI("egnbox");
		 	switchGUI("myFonito",1,"Meine gespeicherten Rechnungen");
		 	fillEgnBox(myFonitoSession.myUsername);
		 	break;
	}
}
function ass1() {	
	document.getElementById("uploadDiv").innerHTML = 	"<iframe id='iframe1' name='iframe1' src='upload.php' width='680px' height='100px' frameborder='0' scrolling='no' allowtransparency='yes'></iframe>";
	// document.Frame.iframe1.form_upload.reset();
	return;
}
function ass2() {	
	document.getElementById("fix").value = document.getElementById("Grundentgeld").value;
	return;
}
function ass3() {
	var myForm = document.getElementById("form_abakus");
	
	for (i=0;i<5;i++) {	myForm.cb_tarifAuswahl[i].checked = document.form_tarifarten.cb_tarifArt[i].checked;}  
	
	return;
}
function switchGUI(guiElement,trigger,titleText) {
	var gElement = '';
	var guiElements = new Array('assistent1','assistent2','assistent3','assistent4','egnHilfe','tarifabfrage','kontakt','impressum','fonitoRegister','egnbox','datenschutz','about','myErgebnis','myEgnButtonBox','myButtonBoxVergleich','fonitoRegister','overview_year','chart_jahresvergleich','tarifliste','tarifChart', 'TZliste','mySettings','tableBeschreibung','regInfo','wenigTel','normalTel','vielTel','smsFreak','nutzung','sendInfo','frontpage','stdProfile','myAbakus','stdProfile','tipps','abakusErgebnis');
	// alert(guiElement + "<===>" + trigger);	
	if(typeof document.getElementById(guiElement) == "undefined") {
		return;
		} else {
			if (typeof(trigger) == "undefined") {
			for (var i=0; i < guiElements.length; i++) {
					gElement = guiElements[i];
					if(typeof document.getElementById(gElement)  != "undefined") {var obj = document.getElementById(gElement);}
					if(obj !=null) {obj.style.display="none";}
			}
			document.getElementById(guiElement).style.display="block";
			// alert(titleText);
			} else {
					gElement = guiElement;
					if (trigger == 1) document.getElementById(gElement).style.display="block";
					if (trigger == 0) document.getElementById(gElement).style.display="none";			
				}
			// switch_contentHeader_Text(titleText);
	}
	return
}

function buildPopup(pName,pWi,pHei) {
	adpFadein('egnhilfe');
	UpdateSize(pName,pWi,pHei);
	return false;
}
function delBox()  
   {
   	mUsername = myFonitoSession.getUsername();
   	mBoxnr = myFonitoSession.getActiveBox();
   	myFonitoSession.setLastConfirm("");
   	document.getElementById("confirmTitle").innerHTML="Löschen Rechnungsdaten";
   	document.getElementById("confirmText").innerHTML="Wollen Sie wirklich diese Rechnung löschen ? ";
   	document.getElementById("confirmBox").style.display="block";		
   	return;  
}

function doDelBox(trigger) {
	 document.getElementById("confirmBox").style.display="none";
	 if (myFonitoSession.getUsername() == 'demo') return false;
		if (trigger == 'OK') {  
   			cb_delBox = xajax.callback.create();
   			cb_delBox.onComplete = function(){return;};
   			xajax.call('cleanupUserdir',{callback:cb_delBox,parameters: [mUsername,mBoxnr]});
   			adaptSession();
  		}	
  		return;
}

function doAbakusAction(myAction) {
	myFonitoSession.setHelpTag(myAction);
	switch(myAction) {
	case "Tarifothek":
		switchGUI("tarifabfrage");
	case "EGN_Verwaltung":	
		adaptSession();
		break;
	case "ass1":
	  var mMonat = parseInt(this.myFonitoSession.getActiveBox())+1;  
		switchGUI("assistent1");
		switchGUI("egnbox",0,"TARIFBERECHNUNG in 4 Schritten - Schritt 1 für Monat-" + mMonat);
		ass1();
		break;
	case "listJahresvergleich":
		myFonitoSession.setHelpTag("listJahresvergleich");
		document.getElementById('provBox2').innerHTML = getProvlisteAsSelectBox('sbTarifliste1');
		document.getElementById('sbTarifliste1').onchange=function(){doAbakusAction('listJahresvergleichProvider');};
		doJahresvergleich();
		switchGUI("overview_year");
		switchGUI('myButtonBoxVergleich',1,'Meine Rechnungen im Vergleich');
		break;
	case "listJahresvergleichProvider":
		var mProv = document.getElementById('sbTarifliste1').value;
		myFonitoSession.setHelpTag("listJahresvergleich");
		document.getElementById('provBox2').innerHTML = getProvlisteAsSelectBox('sbTarifliste1');
		document.getElementById('sbTarifliste1').onchange=function(){doAbakusAction('listJahresvergleichProvider');};
		document.getElementById('sbTarifliste1').value=mProv;
		doJahresvergleichProvider(mProv);
		switchGUI("overview_year");
		switchGUI('myButtonBoxVergleich',1,'Meine Rechnungen im Vergleich');
		break;
	case "chartJahresvergleich":	
		var mProvider = document.getElementById('sbTarifliste1').value;
		build_chart_jahresvergleich(mProvider);
		switchGUI("chart_jahresvergleich");
		switchGUI('myButtonBoxVergleich',1,'Jahresvergleich Tarife');
		break;
	case "meineRechnungen":
		adaptSession();
		break;
	case "meineEinstellungen":
		resetForm(document.form_settings);
		switchGUI('mySettings');fillSettings();
		break;
	case "doLogout":
		doLogout();
		break;
	case "deleteBox":	
		delBox();
		break;
	case "meinErgebnis":
		buildErgebnis('',1);
		switchGUI('myErgebnis');
		var mMonat = parseInt(this.myFonitoSession.getActiveBox())+1;
		switchGUI('myEgnButtonBox',1,"Tarifberechnung in 4 Schritten für Monat-"+mMonat);
		break;
	case "meineTarife":
		buildErgebnis('',1);
		switchGUI('tarifliste');
		// doAbakusAction("fill_content_ad");
		var mMonat = parseInt(this.myFonitoSession.getActiveBox())+1;
		switchGUI('myEgnButtonBox',1,"Tarifberechnung in 4 Schritten für Monat-"+mMonat);
		break;	
	case "showMeinErgebnis":
		myFonitoSession.setHelpTag("meinErgebnis");
		switchGUI('myErgebnis');
		var mMonat = parseInt(this.myFonitoSession.getActiveBox())+1;
		switchGUI('myEgnButtonBox',1,"Tarifberechnung in 4 Schritten für Monat-"+mMonat);
		break;	
	case "meinErgebnisChart":
		build_tarifChart();
		switchGUI("tarifChart");
		var mMonat = parseInt(this.myFonitoSession.getActiveBox())+1;
		switchGUI('myEgnButtonBox',1,"Tarifberechnung in 4 Schritten für Monat-"+mMonat);
		break;	
	case "showHelpBig":
		doHelpAction("","Big");
		break;	
	case "abakusError":
		var mError = "Bei der Tarifanalyse ist ein Fehler aufgetreten.<br><br> Um die Tarifanalyse zu wiederholen <a href='javascript:doAbakusAction(&quot;ass1&quot;)'>klicken Sie hier</a><br><br>Sollte die Tarifanalyse weiterhin nicht möglich sein, laden Sie sich diesen EGN erneut von der Webseite Ihres Providers.<br><br>Um Unterstützung zu erhalten <a href='javascript:doAbakusAction(&quot;kontakt&quot;)'>erhalten Sie hier Unterstützung.</a>";
		document.getElementById('myErgebnis').innerHTML = mError;
		switchGUI('myErgebnis');
		break;	
	case "egnError":
		var mError = "Der verwendete Einzelgsprächsnachweis hat kein gültiges Format und kann nicht analysiert werden.<br><br> Um die Tarifanalyse zu wiederholen <a href='javascript:doAbakusAction(&quot;ass1&quot;)'>klicken Sie hier</a><br><br>Sollte die Tarifanalyse weiterhin nicht möglich sein, laden Sie sich diesen EGN erneut von der Webseite Ihres Providers.<br><br>Um Unterstützung zu erhalten <a href='javascript:doAbakusAction(&quot;kontakt&quot;)'>wenden Sie sich an unser Support-Team.</a>";
		document.getElementById('myErgebnis').innerHTML = mError;
		switchGUI('myErgebnis');
		break;	
	case "egn_too_long":
		var mError = "Der verwendete Einzelgsprächsnachweis ist zu lang. fonito unterstützt derzeit nur EGNs bis zu 2000 Zeilen.<br><br>Um die Tarifanalyse zu wiederholen <a href='javascript:doAbakusAction(&quot;ass1&quot;)'>klicken Sie hier</a><br><br>Sollte die Tarifanalyse weiterhin nicht möglich sein, laden Sie sich diesen EGN erneut von der Webseite Ihres Providers.<br><br>Um Unterstützung zu erhalten <a href='javascript:doAbakusAction(&quot;kontakt&quot;)'>wenden Sie sich an unser Support-Team.</a>";
		document.getElementById('myErgebnis').innerHTML = mError;
		switchGUI('myErgebnis');
		break;	
	case "egn_not_found":
		var mError = "Die EGN-Daten wurden nicht ordnungsgemäß zum Server übertragen<br><br>Um die Tarifanalyse zu wiederholen <a href='javascript:doAbakusAction(&quot;ass1&quot;)'>klicken Sie hier</a><br><br>Sollte die Tarifanalyse weiterhin nicht möglich sein, laden Sie sich diesen EGN erneut von der Webseite Ihres Providers.<br><br>Um Unterstützung zu erhalten <a href='javascript:doAbakusAction(&quot;kontakt&quot;)'>wenden Sie sich an unser Support-Team.</a>";
		document.getElementById('myErgebnis').innerHTML = mError;
		switchGUI('myErgebnis');
		break;	
	case "socketError":
		var mError = "Dei Verbindung zum fonito Server ist derzeit nicht möglich.<br><br> Bitte wiederholen Sie die Tarifanalyse später nocheinmal.<br><br><a href='http://www.fonito.at'>zurück zur Startseite</a>";
		document.getElementById('myErgebnis').innerHTML = mError;
		switchGUI('myErgebnis');
		break;	
	case "showScreenSaver":
		var w = screen.width+"px";
		var h = screen.height+"px";
		document.getElementById('screen_saver').style.width=w;
		document.getElementById('screen_saver').style.height=w;
		document.getElementById('screen_saver').style.display='block';
		break;		
	case "kontakt":
		// document.form.form_kontakt.reset();
		switchGUI("kontakt");
		break;			
	case "fill_content_ad":
		var myLink = "<a href=http://ads.tripple.at/triadclick.asp?pnr=1198 target=_blank><img src=http://ads.tripple.at/triadshow.asp?pnr=1198 width=300 height=250 border=0></a>";
		document.getElementById("contentAd").innerHTML = myLink;
		break;
	case "register":
		document.form_register.reset();
		switchGUI('fonitoRegister');
		break;	
	case "show_about_front":
		switchGUI('about',1);
		break;		
		
	case "fill_banner_head":
			var myLink ='<script type="text/javascript"><!--';
			myLink += 'google_ad_client = "pub-9462637764622157"';
			myLink += 'google_ad_width = 468';
			myLink += 'google_ad_height = 60';
			myLink += 'google_ad_format = "468x60_as"';
			myLink += 'google_ad_type = "image"';
			myLink += 'google_ad_channel = ""';
			myLink += 'google_color_border = "336699"';
			myLink += 'google_color_bg = "FFFFFF"';
			myLink += 'google_color_link = "0000FF"';
			myLink += 'google_color_text = "000000"';
			myLink += 'google_color_url = "008000"';
			myLink += '<img src=http://pagead2.googlesyndication.com/pagead/show_ads.js>';
			myLink += '//-->';
			myLink += '</script>';
			myLink += '<script type="text/javascript"';
  		myLink += 'src="http://pagead2.googlesyndication.com/pagead/show_ads.js">';
			myLink += '</script>';
			document.getElementById("bannerHead").innerHTML = myLink;
		break;				
	case "wenigTel":
		myFonitoSession.setHelpTag("Standardprofile");
		doStandardprofile('wenigTel');
		switchGUI('stdProfile');
		break;				
	case "normalTel":
		myFonitoSession.setHelpTag("Standardprofile");
		doStandardprofile('normalTel');
		switchGUI('stdProfile');
		break;				
	case "vielTel":
		myFonitoSession.setHelpTag("Standardprofile");
		doStandardprofile('vielTel');
		switchGUI('stdProfile');
		break;				
	case "smsFreak":
		myFonitoSession.setHelpTag("Standardprofile");
		doStandardprofile('smsFreak');
		switchGUI('stdProfile');
		break;				
	case "tipps":
		myFonitoSession.setHelpTag("Tipps");
		switchGUI('tipps');
		break;				
	default:	
		var resultFile = 'userdaten/' + myFonitoSession.myUsername+'/'+ myFonitoSession.activeBox + '/result.xml';
		buildTarifliste(resultFile,myAction,10);
		myFonitoSession.setHelpTag('tarifliste');
		switchGUI("tarifliste");
		var mMonat = parseInt(this.myFonitoSession.getActiveBox())+1;
		switchGUI('myEgnButtonBox',1,"Tarifberechnung in 4 Schritten für Monat-"+mMonat);
		break;
	}
  return;  
}

function highlight_Row(rowObj) {
	rowObj.className = "highlight";
	return;
	}
function switch_contentHeader_Text(mText) {
	if (typeof mText == "undefined") {
		document.getElementById("contentHeader").innerHTML = "<span id=&quot;boxTitle&quot; name=&quot;boxTitle&quot; class=&quot;boxTitle&quot;>fonito - die RECHENMASCHINE f&uuml;r ihren handytarif</span>"
	}  else  {
		document.getElementById("contentHeader").innerHTML = "<span id=&quot;boxTitle&quot; name=&quot;boxTitle&quot; class=&quot;boxTitle&quot;>" + mText +"</span>"
	}
}
function doHelpAction(trigger,myWindow) {
if (myWindow == '' | myWindow == undefined) myHelpWindow='helpWindow'; else myHelpWindow='helpWindowBig';
if (trigger == '') trigger = this.myFonitoSession.getHelpTag();

switch(myHelpWindow) {
	case "helpWindow":	
		if (trigger=="schliessen") {
			document.getElementById(myHelpWindow).style.display="none";
		} else {
			var myTag = this.myFonitoSession.getHelpTag();
			document.getElementById(myHelpWindow).style.display="block";
			window.location.hash = "#" + myTag;
		}
		break;
	case "helpWindowBig":	
		if (trigger=="schliessen") {
			document.getElementById(myHelpWindow).style.display="none";
			document.getElementById('screen_saver').style.display="none";
	} else {
			var myTag = this.myFonitoSession.getHelpTag();
			doAbakusAction("showScreenSaver");
			document.getElementById(myHelpWindow).style.display="block";
			window.location.hash = "#" + myTag;
}
		
		break;
}
return;
}

function switchTarifWindow(trigger) {
	if (trigger == 'on') {
		doAbakusAction("showScreenSaver");
		document.getElementById('tarifWindow').style.display='block';
	} else {
		document.getElementById('screen_saver').style.display='none';
		document.getElementById('tarifWindow').style.display='none';
	}
}

function getKeyCode(event,trigger) {
   event = event || window.event;
   var myCode = event.keyCode;
 switch(trigger) {
		case "Login":	
			if (myCode == 13) doLogin();return false;
			break;  
	}
}
function resetForm(myForm) {
	myForm.reset();
	switch(myForm.name) {
		case "form_settings":	
			var mTemp = getProvlisteAsSelectBox("user_provider");
			document.getElementById('provBox3').innerHTML = mTemp;
			break;
		case "form_tarife":	
			var mTemp = getProvlisteAsSelectBox("pName");
			document.getElementById('provBox').innerHTML = mTemp;
			myForm.elements['pName'].onchange=function(){qryTarifliste();};
			break;
	}
}
function switchFlashFilm(trigger) {
var flString = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='550' height='400'>";
flString +="<param name='movie' value="+trigger+"></param>";
flString +="<param name='quality' value='high'></param>";
flString +="<embed src="+trigger+" quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='550' height='400'></embed>";
flString +="</object>";
document.getElementById("flFilm").innerHTML = flString;

}
var Drag = {

	obj : null,

	init : function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
	{
		o.onmousedown	= Drag.start;

		o.hmode			= bSwapHorzRef ? false : true ;
		o.vmode			= bSwapVertRef ? false : true ;

		o.root = oRoot && oRoot != null ? oRoot : o ;

		if (o.hmode  && isNaN(parseInt(o.root.style.left  ))) o.root.style.left   = "0px";
		if (o.vmode  && isNaN(parseInt(o.root.style.top   ))) o.root.style.top    = "0px";
		if (!o.hmode && isNaN(parseInt(o.root.style.right ))) o.root.style.right  = "0px";
		if (!o.vmode && isNaN(parseInt(o.root.style.bottom))) o.root.style.bottom = "0px";

		o.minX	= typeof minX != 'undefined' ? minX : null;
		o.minY	= typeof minY != 'undefined' ? minY : null;
		o.maxX	= typeof maxX != 'undefined' ? maxX : null;
		o.maxY	= typeof maxY != 'undefined' ? maxY : null;

		o.xMapper = fXMapper ? fXMapper : null;
		o.yMapper = fYMapper ? fYMapper : null;

		o.root.onDragStart	= new Function();
		o.root.onDragEnd	= new Function();
		o.root.onDrag		= new Function();
	},

	start : function(e)
	{
		var o = Drag.obj = this;
		e = Drag.fixE(e);
		var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
		var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
		o.root.onDragStart(x, y);

		o.lastMouseX	= e.clientX;
		o.lastMouseY	= e.clientY;

		if (o.hmode) {
			if (o.minX != null)	o.minMouseX	= e.clientX - x + o.minX;
			if (o.maxX != null)	o.maxMouseX	= o.minMouseX + o.maxX - o.minX;
		} else {
			if (o.minX != null) o.maxMouseX = -o.minX + e.clientX + x;
			if (o.maxX != null) o.minMouseX = -o.maxX + e.clientX + x;
		}

		if (o.vmode) {
			if (o.minY != null)	o.minMouseY	= e.clientY - y + o.minY;
			if (o.maxY != null)	o.maxMouseY	= o.minMouseY + o.maxY - o.minY;
		} else {
			if (o.minY != null) o.maxMouseY = -o.minY + e.clientY + y;
			if (o.maxY != null) o.minMouseY = -o.maxY + e.clientY + y;
		}

		document.onmousemove	= Drag.drag;
		document.onmouseup		= Drag.end;

		return false;
	},

	drag : function(e)
	{
		e = Drag.fixE(e);
		var o = Drag.obj;

		var ey	= e.clientY;
		var ex	= e.clientX;
		var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
		var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
		var nx, ny;

		if (o.minX != null) ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
		if (o.maxX != null) ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);
		if (o.minY != null) ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);
		if (o.maxY != null) ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);

		nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
		ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));

		if (o.xMapper)		nx = o.xMapper(y)
		else if (o.yMapper)	ny = o.yMapper(x)

		Drag.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
		Drag.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
		Drag.obj.lastMouseX	= ex;
		Drag.obj.lastMouseY	= ey;

		Drag.obj.root.onDrag(nx, ny);
		return false;
	},

	end : function()
	{
		document.onmousemove = null;
		document.onmouseup   = null;
		Drag.obj.root.onDragEnd(	parseInt(Drag.obj.root.style[Drag.obj.hmode ? "left" : "right"]), 
									parseInt(Drag.obj.root.style[Drag.obj.vmode ? "top" : "bottom"]));
		Drag.obj = null;
	},

	fixE : function(e)
	{
		if (typeof e == 'undefined') e = window.event;
		if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
		if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
		return e;
	}
};