dojo.require('dojo.fx');
dojo.require("dojo.NodeList-fx");

var alleTarife = [];
var neueTarife = [];
var toQueryElm = [];
var text = '';
var mehrHidden = 1;
var fadeinAnim = null;
var selMehr = '';
var genTarif = '';

function getDataInsert(index, varFeldName, varButTo, varAddText) {
	if(alleTarife[index].getElementsByTagName(varFeldName).item(0).firstChild) {
		var addText = '';
		if(varAddText == 1 && alleTarife[index].getElementsByTagName(varFeldName+'_zText').item(0).firstChild)
			addText = alleTarife[index].getElementsByTagName(varFeldName+'_zText').item(0).firstChild.data
			
		dojo.byId(varButTo).innerHTML = alleTarife[index].getElementsByTagName(varFeldName).item(0).firstChild.data+' '+addText;
	} else {
		dojo.byId(varButTo).innerHTML = '-';
	}
}

function getData (varI, varElm, varAddText, varFronText, varBackText) {
	if(alleTarife[varI].getElementsByTagName(varElm).item(0).firstChild) {
		    addText = '';
			if(varAddText == 1 && alleTarife[varI].getElementsByTagName(varElm+'_zText').item(0).firstChild)
				addText = alleTarife[varI].getElementsByTagName(varElm+'_zText').item(0).firstChild.data
			if(text == '')
			    text += varFronText+' '+alleTarife[varI].getElementsByTagName(varElm).item(0).firstChild.data+' '+varBackText+' '+addText;
		    else 
			 	text += '<br />'+varFronText+' '+alleTarife[varI].getElementsByTagName(varElm).item(0).firstChild.data+' '+varBackText+' '+addText;
	   }
}

function addToElm (elm) {
	if(text != '') {
	   dojo.byId(elm).innerHTML = text;
   } else {
	   dojo.byId(elm).innerHTML = '-';
	   
   }
}

function getMehrere(selTarif) {
	var selElemt = dojo.byId('selMehrer');
	if(selMehr != selTarif) {
		selElemt.options.length = 0;
		for(var i=0; i<alleTarife.length; i++) {
			if(alleTarife[i].getElementsByTagName('tarif').item(0).firstChild.data == selTarif) {
				var tarife = alleTarife[i].getElementsByTagName('anmeldungMehrFach').item(0).firstChild.data;
				var id = alleTarife[i].getElementsByTagName('id').item(0).firstChild.data;
				selElemt.options[selElemt.options.length] = new Option(tarife, id);
			}
		}
		selMehr = selTarif;
	}
}

function updateTarif(ev) {
   //dojo.fadeIn({node:dojo.byId('showButton'), duration: 750}).play();
   
   fadeinAnim = dojo.fadeIn({node:dojo.byId('atToShowCont'), duration: 750}).play(100);
   for(var i=0; i<alleTarife.length; i++) {
       if(alleTarife[i].getElementsByTagName('id').item(0).firstChild.data == this.value){

		   if(alleTarife[i].getElementsByTagName('anmeldungMehrFach').item(0).firstChild) {
			   if(mehrHidden == 1) {
			   	dojo.fadeIn({node:dojo.byId('atMehrere'), duration: 750, onEnd:function () {
					if(dojo.isIE == '6') 																						 
						dojo.style(dojo.byId('atMehrere'), "display", "block");
				}}).play();
				mehrHidden = 0;
			   }
			   getMehrere(alleTarife[i].getElementsByTagName('tarif').item(0).firstChild.data);
		   } else {
			   if(mehrHidden == 0) {
			   	dojo.fadeOut({node:dojo.byId('atMehrere'), duration: 750, onEnd:function () {
					if(dojo.isIE == '6')
						dojo.style(dojo.byId('atMehrere'), "display", "none");																  
				}}).play();
				
				//dojo.byId('selMehrer').options.length = 0;
				mehrHidden = 1;		
			   }
		   }
		   
		   getDataInsert(i, 'tarif', 'atTarifInfo');
		   getDataInsert(i, 'legal', 'atRechtsText');
		   getDataInsert(i, 'pgesamtGE', 'atGrundGebur');
		   getDataInsert(i, 'datenvolumen', 'atDatenVol',1 ,'SMS');
		   getDataInsert(i, 'freiSMS', 'atFreiSMS',1);
		   getDataInsert(i, 'box','atBox',1);
		   
			//SMS
		   text = '';
		   getData(i, 'inland', 1,'Ins Inland:', '');
		   getData(i, 'ausland', 1,'Ins Ausland:', '');
		   addToElm('atSMSInfo');
		   
		   text = '';
		   getData(i, 'alle', 1,'', 'in alle Netze');
		   getData(i, 'intern', 1,'', 'netzintern');
		   getData(i, 'festnetz', 1,'', 'ins Festnetz');
		   getData(i, 'festnetzMOFR0720', 1,'', 'ins Festnetz (Mo-Fr 7h-20h)');
		   getData(i, 'festnetzMOFR2007WF', 1,'', 'ins Festnetz (Mo-Fr 20h-7h, Wochenende und Feiertage)');
		   getData(i, 'mobilAlle', 1,'', 'in andere Mobilnetze');
		   getData(i, 'extMobilZone1', 1,'', 'zu A1, Orange, tele.ring, Yesss');
		   getData(i, 'extMobilZone1MOFR0720', 1,'', 'zu A1, Orange, tele.ring, Yesss Mo-Fr 7h-20h');
		   getData(i, 'extMobilZone1MOFR2007WF', 1,'', 'zu A1, Orange, tele.ring, Yesss Mo-Fr 20h-7h, Wochenende und Feiertage');
		   getData(i, 'extMobilZone2', 1,'', 'zu Bob, Drei, Tele2 0688');
		   getData(i, 'wahl', 1,'', 'in ein Wahlnetz');
		   addToElm('atSprachTel');
		   
		   text = '';
		   getData(i, 'alleFrei', 1,'', 'in alle Netze ');
		   getData(i, 'internFrei', 1,'', 'netzintern');
                   getData(i, 'EUfrei', 1,'', 'in die EU');
		   getData(i, 'festnetzFrei', 1,'', 'ins Festnetz');
		   getData(i, 'extMobil', 1,'', 'in andere Mobilnetze');
		   getData(i, 'wahl', 1,'', 'in ein Wahlnetz');
		   getData(i, 'boxFrei', 1,'', 'in die Sprachbox');
		   getData(i, 'internFestBox', 1,'', 'netzintern, Festnetz und Sprachbox');
		   addToElm('atFreiminuten');		   
		   
           return;
       }
   }
   
}
//_xml/voice_postpaid.xml
dojo.addOnLoad(function () {
     var selElemt = dojo.query('#tarifSelect')[0];
    dojo.xhrGet({
       url: '/_XML/voice_postpaid.xml',
       handleAs: 'xml',
       timeout: 5000,
       handle: function (res, io) {
           var inactive = res.getElementsByTagName('inactive').item(0).getElementsByTagName('element');
           
           for(var i=0; i<inactive.length; i++){
               alleTarife.push(inactive.item(i));
			   if(genTarif != inactive.item(i).getElementsByTagName('tarif').item(0).firstChild.data) {
				   var tarife = inactive.item(i).getElementsByTagName('tarif').item(0).firstChild.data;
				   var id = inactive.item(i).getElementsByTagName('id').item(0).firstChild.data;
				   selElemt.options[selElemt.options.length] = new Option(tarife, id);
				   genTarif = tarife;
			   }
			   
           }
       }
    });
	dojo.connect(dojo.byId('tarifSelect'), "onchange", updateTarif);
	dojo.connect(dojo.byId('selMehrer'), "onchange", updateTarif);
	
	dojo.fadeOut({node:dojo.byId('showButton'), duration: 1}).play();
	dojo.fadeOut({node:dojo.byId('atMehrere'), duration: 1, onEnd:function () {
					if(dojo.isIE == '6') {
						dojo.style(dojo.byId('atMehrere'), "display", "none");	
					}
				}}).play();
	dojo.fadeOut({node:dojo.byId('atToShowCont'), duration: 1}).play();
});

