/**
 * @author daniel alfes
 */


function berechneAlter(container,ele)
{	
	var a = jQuery(ele).val();
	
	if (container == 'portierung-pers-daten-container') {
		var b = jQuery(ele).siblings('#portierung_geburtsdatum_monat').val();
		var c = jQuery(ele).siblings('#portierung_geburtsdatum_tag').val();
	}
	else{
		var b = jQuery(ele).siblings('#geburtsdatum_monat').val();
		var c =	jQuery(ele).siblings('#geburtsdatum_tag').val();	
	}
	
	if (!isNaN(a) && !isNaN(b) && !isNaN(c)) {
	
		if ((jQuery('#privatkunde').is(':checked') && a.length >= 4) ||
		(jQuery('#portierung_privatkunde').is(':checked') && a.length >= 4)) {
		
			var f = new Date(a, b, c);
			var g = new Date();
			
			var tage = g.getDate() - f.getDate();
			var monate = g.getMonth() - f.getMonth();
			var jahre = g.getYear() - f.getYear();
			
			monate = (monate + 1) //index begins at 0 - 11 - correct that
			if (tage < 0) {
				tage = 30 + tage;
				monate--;
			}
			if (monate < 0) {
				monate = 12 + monate;
				jahre--;
			}
			if (jahre > 2000) {
				jahre = jahre - 2000;
			}
			if (jahre > 1900) {
				jahre = jahre - 1900;
			}
			
			if (container == 'portierung-pers-daten-container') {
				if (jahre < 18) {
					jQuery('#portierung-unterzeichner-container').slideDown('slow');
					jQuery('#portierung_msg_unterzeichner_mind').show();
					jQuery('#portierung_msg_unterzeichner_business').hide();
				}
				else {
					jQuery('#portierung-unterzeichner-container').slideUp('slow');
				}
			}
			else {
				if (jahre < 18) {
					jQuery('#unterzeichner-container').slideDown('slow');
					jQuery('#headline-u18').show();
					jQuery('#headline-business').hide();
					jQuery('#msg_unterzeichner_mind').show();
					jQuery('#msg_unterzeichner_business').hide();
				}
				else {
					jQuery('#unterzeichner-container').slideUp('slow');
				}
			}
		}
	}
	else{
		if (container == 'portierung-pers-daten-container') {
			jQuery('#portierung-unterzeichner-container').slideUp('slow');
		}
		else{
			jQuery('#unterzeichner-container').slideUp('slow');
		}
	}
}

function getLanguage(){
	
	var lang = 'de';
	var ele = jQuery('#language-form');
	
	if(ele.hasClass('fr')){
		lang = 'fr';
	}
	else if(ele.hasClass('it')){
		lang = 'it';
	}
	else if(ele.hasClass('es')){
		lang = 'sp';
	}
	else if(ele.hasClass('en')){
		lang = 'en';
	}		
	else if(ele.hasClass('pt')){
		lang = 'por';
	}	
	else if(ele.hasClass('pl')){
		lang = 'pol';
	}
	else if(ele.hasClass('tr')){
		lang = 'tur';
	}	
	else if(ele.hasClass('ru')){
		lang = 'rus';
	}
	else if(ele.hasClass('rs')){
		lang = 'rs';
	}
	
	return lang;
}

function refreshSelectbox(selectID, data){
	
	var optionstr = '';
	
	jQuery.each(data, function(key,val){
	    optionstr += '<option value="' + key + '">' + val + '</option>';
	});	
	
	jQuery('#' + selectID).html(optionstr).trigger('change');	
}

function copyFormData(){

	if(jQuery('#anrede_frau').is(':checked')){
		jQuery('#portierung_anrede_frau').attr('checked', true);
	}
	else{
		jQuery('#portierung_anrede_mann').attr('checked', true);
	}

	if(jQuery('#portierung_vorname').val() == ''){
		jQuery('#portierung_vorname').val(jQuery('#vorname').val());		
	}
	if(jQuery('#portierung_name').val() == ''){
		jQuery('#portierung_name').val(jQuery('#name').val());		
	}
	if(jQuery('#portierung_strasse').val() == ''){
		jQuery('#portierung_strasse').val(jQuery('#strasse').val());		
	}
	if(jQuery('#portierung_hausnummer').val() == ''){
		jQuery('#portierung_hausnummer').val(jQuery('#hausnummer').val());		
	}
	if(jQuery('#portierung_plz').val() == ''){
		jQuery('#portierung_plz').val(jQuery('#plz').val());		
	}	
	if(jQuery('#portierung_ort').val() == ''){
		jQuery('#portierung_ort').val(jQuery('#ort').val());		
	}	
	
	if(jQuery('#land-andere').is(':checked')){
		jQuery('#portierung-land-andere').attr('checked', true);
		jQuery('#portierung-land-andere-text').removeAttr('disabled').removeClass('disabled');	
		jQuery('#portierung-land-andere-text').val(jQuery('#land-andere-text').val());
	}
	else{
		jQuery('#portierung-land-schweiz').attr('checked', true);
		jQuery('#portierung-land-andere-text').attr('disabled', 'true').addClass('disabled');
	}

	if(jQuery('#bisheriger-anbieter-container select').val() == 'other'){
		jQuery('#anbieter-andere-text').parent().parent().show();
	}
	else{
		jQuery('#anbieter-andere-text').parent().parent().hide();
	}	
	
	jQuery('#portierung_geburtsdatum_tag').val(jQuery('#geburtsdatum_tag').val());
	jQuery('#portierung_geburtsdatum_monat').val(jQuery('#geburtsdatum_monat').val());
	jQuery('#portierung_geburtsdatum_jahr').val(jQuery('#geburtsdatum_jahr').val());
	
	if(jQuery('#businesskunde').is(':checked')){
		jQuery('#portierung_businesskunde').attr('checked', true);
		jQuery('#portierung-unterzeichner-container').show();	
		jQuery('#portierung_msg_unterzeichner_mind').hide();
		jQuery('#portierung_msg_unterzeichner_business').show();
		jQuery('#portierung_businessname').parent().parent().show();		
	}
	else{
		jQuery('#portierung_privatkunde').attr('checked', true);
		jQuery('#portierung_businessname').parent().parent().hide();
		
		/* Altersüberprüfung für Privatkunden */
		/* wenn Seite aufgerufen wird muss geprüft werden ob unter 18 und #portierung-unterzeichner-container angezeigt werden soll */
		jQuery('#portierung_geburtsdatum_jahr').each( function() {		
			berechneAlter('portierung-pers-daten-container',this);
		});			
	}		
				
}

jQuery(document).ready(function(){

	var funktionsTexte = new Array();
	
	funktionsTexte['datum_tag_default'] = jQuery('#geburtsdatum_tag').val();
	funktionsTexte['datum_monat_default'] = jQuery('#geburtsdatum_monat').val();
	funktionsTexte['datum_jahr_default'] = jQuery('#geburtsdatum_jahr').val();
	funktionsTexte['land_andere_default'] = jQuery('#land-andere-text').val();
	funktionsTexte['anbieter_andere_default'] = jQuery('#anbieter-andere-text').val();
	funktionsTexte['nation_andere_default'] = jQuery('#nation-andere-text').val();
	
	funktionsTexte['modell'] = new Array();
	funktionsTexte['modell']['de'] = 'Modell';
	funktionsTexte['modell']['en'] = 'Type';
	funktionsTexte['modell']['fr'] = 'ModÃ¨le';
	funktionsTexte['modell']['it'] = 'Modello';
	funktionsTexte['modell']['sp'] = 'Modelo';
	funktionsTexte['modell']['por'] = 'Modelo';
	funktionsTexte['modell']['tur'] = 'Model';
	funktionsTexte['modell']['pol'] = 'Model';
	funktionsTexte['modell']['rus'] = '\u041C\u043E\u0434\u0435\u043B\u044C';
	funktionsTexte['modell']['sr'] = 'Model';
	
	funktionsTexte['identitaetskarte'] = 	{
												'Modell03' : funktionsTexte['modell'][[(getLanguage())]] + ' 03',
												'Modell95' : funktionsTexte['modell'][[(getLanguage())]] + ' 95',
												'Modell77' : funktionsTexte['modell'][[(getLanguage())]] + ' 77'
											};
	funktionsTexte['schweizerpass'] = 	    {
												'Modell03' : funktionsTexte['modell'][[(getLanguage())]] + ' 03',
												'Modell85' : funktionsTexte['modell'][[(getLanguage())]] + ' 85'
											};
	funktionsTexte['dok_auslaender_wohnsitz_schweiz'] = new Array();
	funktionsTexte['dok_auslaender_wohnsitz_schweiz']['de'] = 	
											{
												'TypB' : 'Aufenthaltsbewilligung Typ B',
												'TypC' : 'Aufenthaltsbewilligung Typ C',
												'TypCi' : 'Aufenthaltsbewilligung Typ Ci',
												'TypG' : 'Aufenthaltsbewilligung Typ G',
												'TypL' : 'Aufenthaltsbewilligung Typ L',
												'Pass-Karte' : 'Pass oder Identitätskarte (für EU)',
												'Diplomat' : 'Legitimationskarte (für Diplomaten)'
											};		
	funktionsTexte['dok_auslaender_wohnsitz_schweiz']['en'] = 	
											{
												'TypB' : 'Residence Permit B',
												'TypC' : 'Residence Permit C',
												'TypCi' : 'Residence Permit Ci',
												'TypG' : 'Residence Permit G',
												'TypL' : 'Residence Permit L',
												'Pass-Karte' : 'Passport or Identy card (for EU)',
												'Diplomat' : 'Legitimation card (for diplomats)'
											};																					
	funktionsTexte['dok_auslaender_wohnsitz_schweiz']['fr'] = 	
											{
												'TypB' : 'Autorisation de séjour: type B',
												'TypC' : 'Autorisation de séjour: type C',
												'TypCi' : 'Autorisation de séjour: type Ci',
												'TypG' : 'Autorisation de séjour: type G',
												'TypL' : 'Autorisation de séjour: type L',
												'Pass-Karte' : 'Passeport ou carte d\'identité (pour UE)',
												'Diplomat' : 'Carte de légitimation (diplomates)'
											};											
	funktionsTexte['dok_auslaender_wohnsitz_schweiz']['it'] = 	
											{
												'TypB' : 'Permesso di soggiorno: tipo B',
												'TypC' : 'Permesso di soggiorno: tipo C',
												'TypCi' : 'Permesso di soggiorno: tipo Ci',
												'TypG' : 'Permesso di soggiorno: tipo G',
												'TypL' : 'Permesso di soggiorno: tipo L',
												'Pass-Karte' : 'Passaporto o carta d\'identità (cittadini UE)',
												'Diplomat' : 'Carta di legittimazione (diplomatici)'
											};	
	funktionsTexte['dok_auslaender_wohnsitz_schweiz']['sp'] = 	
											{
												'TypB' : 'Permiso de residencia Tipo B',
												'TypC' : 'Permiso de residencia Tipo C',
												'TypCi' : 'Permiso de residencia Tipo Ci',
												'TypG' : 'Permiso de residencia Tipo G',
												'TypL' : 'Permiso de residencia Tipo L',
												'Pass-Karte' : 'Pasaporte o carné de identidad (para la UE)',
												'Diplomat' : 'Tarjeta de legitimación (personal diplomático)'
											};	
	funktionsTexte['dok_auslaender_wohnsitz_schweiz']['por'] = 	
											{
												'TypB' : 'Autorização de residência tipo B',
												'TypC' : 'Autorização de residência tipo C',
												'TypCi' : 'Autorização de residência tipo Ci',
												'TypG' : 'Autorização de residência tipo G',
												'TypL' : 'Autorização de residência tipo L',
												'Pass-Karte' : 'Passaporte ou bilhete de identidade (para a UE)',
												'Diplomat' : 'Cartão de identificação (para diplomatas)'
											};	
	funktionsTexte['dok_auslaender_wohnsitz_schweiz']['rus'] = 	
											{
												'TypB' : 'Разрешение на проживание, тип B',
												'TypC' : 'Разрешение на проживание, тип C',
												'TypCi' : 'Разрешение на проживание, тип Ci',
												'TypG' : 'Разрешение на проживание, тип G',
												'TypL' : 'Разрешение на проживание, тип L',
												'Pass-Karte' : 'Паспорт или удостоверение личности (для ЕС)',
												'Diplomat' : 'Удостоверение личности (для дипломатов)'
											};	
	funktionsTexte['dok_auslaender_wohnsitz_schweiz']['pol'] = 	
											{
												'TypB' : 'Pozwolenie na pobyt typu B',
												'TypC' : 'Pozwolenie na pobyt typu C',
												'TypCi' : 'Pozwolenie na pobyt typu Ci',
												'TypG' : 'Pozwolenie na pobyt typu G',
												'TypL' : 'Pozwolenie na pobyt typu L',
												'Pass-Karte' : 'Paszport lub karta identyfikacyjna (dla UE)',
												'Diplomat' : 'Legitymacja (dla dyplomatów)'
											};	
	funktionsTexte['dok_auslaender_wohnsitz_schweiz']['tur'] = 	
											{
												'TypB' : 'Oturma izni B',
												'TypC' : 'Oturma izni C',
												'TypCi' : 'Oturma izni Ci',
												'TypG' : 'Oturma izni G',
												'TypL' : 'Oturma izni L',
												'Pass-Karte' : 'Ait oldugu yabanci ülkenin pasaportu veya hüviyeti (AB ülkeleri)',
												'Diplomat' : 'Kimlik karti (Diplomatlar)'
											};											
	funktionsTexte['dok_auslaender_wohnsitz_schweiz']['rs'] = 	
											{
												'TypB' : 'dozvola boravka  Typ B',
												'TypC' : 'dozvola boravka  Typ C',
												'TypCi' : 'dozvola boravka  Typ Ci',
												'TypG' : 'dozvola boravka  Typ G',
												'TypL' : 'dozvola boravka  Typ L',
												'Pass-Karte' : 'pasoš ili licna karta (za osobe iz Evropske zajednice)',
												'Diplomat' : 'legitimacija (za diplomate)'
											};
	
	funktionsTexte['dok_auslaender_wohnsitz_andere'] = new Array();
	funktionsTexte['dok_auslaender_wohnsitz_andere']['de'] = 	
											{
												'Karte' : 'Identitätskarte (für EU)',
												'Pass' : 'Pass'
											};
	funktionsTexte['dok_auslaender_wohnsitz_andere']['en'] = 	
											{
												'Karte' : 'Identy card (for EU)',
												'Pass' : 'Passport'
											};																							
	funktionsTexte['dok_auslaender_wohnsitz_andere']['fr'] = 	
											{
												'Karte' : 'Carte d\'identité (pour UE)',
												'Pass' : 'Passeport'
											};											
	funktionsTexte['dok_auslaender_wohnsitz_andere']['it'] = 	
											{
												'Karte' : 'Carta d\'identità (cittadini UE)',
												'Pass' : 'Passaporto'
											};	
	funktionsTexte['dok_auslaender_wohnsitz_andere']['sp'] = 	
											{
												'Karte' : 'Carné de identidad (para la UE)',
												'Pass' : 'Pasaporte'
											};	
	funktionsTexte['dok_auslaender_wohnsitz_andere']['por'] = 	
											{
												'Karte' : 'Bilhete de identidade (para a UE)',
												'Pass' : 'Passaporte'
											};	
	funktionsTexte['dok_auslaender_wohnsitz_andere']['tur'] = 	
											{
												'Karte' : 'Hüviyeti (AB ülkeleri)',
												'Pass' : 'Pasaport'
											};			
	funktionsTexte['dok_auslaender_wohnsitz_andere']['rus'] = 	
											{
												'Karte' : 'Удостоверение личности (для ЕС)',
												'Pass' : 'Паспорт'
											};	
	funktionsTexte['dok_auslaender_wohnsitz_andere']['pol'] = 	
											{
												'Karte' : 'Karta identyfikacyjna (dla UE)',
												'Pass' : 'Paszport'
											};					
	funktionsTexte['dok_auslaender_wohnsitz_andere']['rs'] = 	
											{
												'Karte' : 'licna karta (za osobe iz Evropske zajednice)',
												'Pass' : 'pasoš'
											};											

	
	var prioboxen;
	
	if(jQuery('#coopMobile-startseite').length || jQuery('#coopMobileFriends-startseite').length){
		
		//Register-Element initialisieren
		var registerElement = new register(jQuery('.CCHREG_1'));
	}
	else if(jQuery('#coopMobile-angebotsseite').length){
		jQuery('.angeboteTeaser:odd', '#content-container').addClass('lastElementInRow');
	}
	else if(jQuery('#coopMobile-sim-und-handys').length){
		jQuery('.angeboteTeaser:odd', '.angeboteContainer').addClass('lastElementInRow');
		jQuery('.angeboteTeaser:odd', '.sonderangeboteContainer').addClass('lastElementInRow');
	}	
	else if(jQuery('#coopMobile-friends-angebotsseite').length){
		jQuery('.angeboteTeaser_friends:odd', '#content-container').addClass('lastElementInRow');
	}
	else if(jQuery('#coopMobile-uebersichtsseite').length){

		//floating für prio2 boxen
		jQuery('.boxprio1v3_405:odd', '#content-container').addClass('lastElementInRow');		
		
		//floating für prio2 boxen
		jQuery('.boxprio2v2_405:odd', '#content-container').addClass('lastElementInRow');
		jQuery('.boxprio2v3_405:odd', '#content-container').addClass('lastElementInRow');
		jQuery('.boxprio2v4_405:odd', '#content-container').addClass('lastElementInRow');
		
		//floating für prio3 boxen
		prioboxen = jQuery('.boxprio3v1_267, .boxprio3v2_267, .boxprio3v3_267, .boxprio3v4_267', '#content-container');
		for(var i=2; i < prioboxen.length; i+=3) {
		  prioboxen.eq(i).addClass('lastElementInRow');
		}
	}

	/* sim + handy details */
	
	if (jQuery('#coopMobile-sim-und-handy-detail').length) {
		jQuery('.contentteaser235', '#content-container').next('.arrow_left_12px_bold').addClass('backLink');
		
		jQuery('.angeboteTeaser').each(function(){
			if(!jQuery('.sonderangebot',this).length){
				jQuery('.content',this).addClass('ohneRabatt');
			}
		});
	}
	
	/* anmeldeseite START */
	
	if(jQuery('#coopMobile-anmeldeseite').length){
		
		jQuery('#portierung-container').prev('.checkbox_outer').addClass('portierungsFlag');
		
		jQuery('.radiobutton label', '#language-container').each(function(i){
			jQuery(this).addClass('lang_' + i);
		});
		
		/* page reload wenn sprache gewählt wird */
		jQuery('.radiobutton', '#language-container').click(function(){
			
			/* kurzer Timeout nötig, weil ansonsten das Formular abgeschickt wird, BEVOR der versteckte Radiobutton gecheckt wird */
			setTimeout(function(){jQuery('#content-container form').submit();}, 100);
		});
		
		/* initial prüfen welche elemente sichtbar oder unsichtbar sein sollen */
			
			//unterzeichner
			if(jQuery('#businesskunde').is(':checked')){
				jQuery('#unterzeichner-container').show();	
				jQuery('#headline-u18').hide();
				jQuery('#headline-business').show();				
				jQuery('#msg_unterzeichner_mind').hide();
				jQuery('#msg_unterzeichner_business').show();						
			}
			else{
				
				/* Altersüberprüfung für Privatkunden */
				/* wenn Seite aufgerufen wird muss geprüft werden ob unter 18 und #unterzeichner-container angezeigt werden soll */
				jQuery('#geburtsdatum_jahr').each( function() {		
					berechneAlter('pers-daten-container',this);
				});					
			}
			
			//eingabefeld "anderes land" (wohnsitz) aktivieren
			if(jQuery('#land-andere').is(':checked')){
				jQuery('#land-andere-text').removeAttr('disabled').removeClass('disabled');	
				refreshSelectbox('ident-dokument-auslaender', funktionsTexte['dok_auslaender_wohnsitz_andere'][[(getLanguage())]]);	
			}
			else{
				jQuery('#land-andere-text').attr('disabled', 'true').addClass('disabled');
				refreshSelectbox('ident-dokument-auslaender', funktionsTexte['dok_auslaender_wohnsitz_schweiz'][[(getLanguage())]]);
			}

			//ausweispapiere
			if(jQuery('#nation-schweiz').is(':checked')){
				jQuery('#nation-andere-text').attr('disabled', 'true').addClass('disabled');
				jQuery('#dokumente-schweizer').show();
				jQuery('#dokumente-auslaender').hide();	
			}
			else{
				jQuery('#nation-andere-text').removeAttr('disabled').removeClass('disabled');
				jQuery('#dokumente-schweizer').hide();
				jQuery('#dokumente-auslaender').show();	
				
				//identitätsdokumente in selectbox aktualisieren
				if (jQuery('#land-schweiz').is(':checked')) {
					refreshSelectbox('ident-dokument-auslaender', funktionsTexte['dok_auslaender_wohnsitz_schweiz'][[(getLanguage())]]);
				}
				else{
					refreshSelectbox('ident-dokument-auslaender', funktionsTexte['dok_auslaender_wohnsitz_andere'][[(getLanguage())]]);
				}				
			}			
			
			//zusatzfelder für mobilnummer-portierung einblenden		
			if(jQuery('#nummer-behalten').is(':checked')){
				jQuery('#portierung-container').slideDown('slow');	
			}	

			//MOBILNUMMER-PORTIERUNG: eingabefeld "anderes land" aktivieren
			if(jQuery('#portierung-land-andere').is(':checked')){
				jQuery('#portierung-land-andere-text').removeAttr('disabled').removeClass('disabled');	
			}
			else{
				jQuery('#portierung-land-andere-text').attr('disabled', 'true').addClass('disabled');
			}
			
			//MOBILNUMMER-PORTIERUNG: unterzeichner
			if(jQuery('#portierung_businesskunde').is(':checked')){
				jQuery('#portierung-unterzeichner-container').show();	
				jQuery('#portierung_msg_unterzeichner_mind').hide();
				jQuery('#portierung_msg_unterzeichner_business').show();
				jQuery('#portierung_businessname').parent().parent().show();						
			}
			else{
				jQuery('#portierung_businessname').parent().parent().hide();
				
				/* Altersüberprüfung für Privatkunden */
				/* wenn Seite aufgerufen wird muss geprüft werden ob unter 18 und #portierung-unterzeichner-container angezeigt werden soll */
				jQuery('#portierung_geburtsdatum_jahr').each( function() {		
					berechneAlter('portierung-pers-daten-container',this);
				});					
			}			
			
		
		/* event-handling*/
			
			// zusatzfelder für businesskunde ein-/ausblenden
			jQuery('#businesskunde').parent().parent().parent().click(function(){
				
				if(jQuery('#businesskunde').is(':checked')){
					jQuery('#unterzeichner-container').slideDown('slow');
					jQuery('#headline-u18').hide();
					jQuery('#headline-business').show();							
					jQuery('#msg_unterzeichner_mind').hide();
					jQuery('#msg_unterzeichner_business').show();								
				}
				else{
					/* Altersüberprüfung für Privatkunden */
					/* wenn Seite aufgerufen wird muss geprüft werden ob unter 18 und #unterzeichner-container angezeigt werden soll */
					jQuery('#geburtsdatum_jahr').each( function() {		
						berechneAlter('pers-daten-container',this);
					});						
				}			
			});
			
			//eingabefeld "anderes land" (wohnsitz) aktivieren/deaktivieren
			//und auswahl-optionen für ausländer bei "identitätsdokumente" anpassen
			jQuery('#land-andere').click(function(){
				jQuery('#land-andere-text').removeAttr('disabled').removeClass('disabled');	
				refreshSelectbox('ident-dokument-auslaender', funktionsTexte['dok_auslaender_wohnsitz_andere'][[(getLanguage())]]);		
			});
			jQuery('#land-andere').siblings('.radio').click(function(){
				jQuery('#land-andere-text').removeAttr('disabled').removeClass('disabled');	
				refreshSelectbox('ident-dokument-auslaender', funktionsTexte['dok_auslaender_wohnsitz_andere'][[(getLanguage())]]);		
			});				
			jQuery('#land-schweiz').click(function(){
				jQuery('#land-andere-text').attr('disabled', 'true').addClass('disabled');		
				refreshSelectbox('ident-dokument-auslaender', funktionsTexte['dok_auslaender_wohnsitz_schweiz'][[(getLanguage())]]);	
			});
			jQuery('#land-schweiz').siblings('.radio').click(function(){
				jQuery('#land-andere-text').attr('disabled', 'true').addClass('disabled');		
				refreshSelectbox('ident-dokument-auslaender', funktionsTexte['dok_auslaender_wohnsitz_schweiz'][[(getLanguage())]]);	
			});	
			
			jQuery('#bisheriger-anbieter-container select').change(function(){
				if(jQuery('#bisheriger-anbieter-container select').val() == 'other'){
					jQuery('#anbieter-andere-text').parent().parent().show();
				}
				else{
					jQuery('#anbieter-andere-text').parent().parent().hide();
				}				
			});
			
			// eingabefeld "andere nationalität" aktivieren/deaktivieren
			// ein-/ausblenden der entsprechenden felder bei ausweispapiere 
			jQuery('#nation-andere').parent().parent().parent().click(function(){
				if(jQuery('#nation-andere', this).is(':checked')){
					jQuery('#nation-andere-text').removeAttr('disabled').removeClass('disabled');		
					jQuery('#dokumente-schweizer').hide();
					jQuery('#dokumente-auslaender').show();	
					
					refreshSelectbox('modell', funktionsTexte['schweizerpass']);				
				}
				else{
					jQuery('#nation-andere-text').attr('disabled', 'true').addClass('disabled');
					jQuery('#dokumente-schweizer').show();
					jQuery('#dokumente-auslaender').hide();						
					
					refreshSelectbox('modell', funktionsTexte['schweizerpass']);
				}			
			});				
			
			// default texte in input-feldern
			jQuery('#geburtsdatum_tag, #portierungsdatum_tag, #portierung_geburtsdatum_tag, #geburtsdatum_monat, #portierungsdatum_monat, #portierung_geburtsdatum_monat, #geburtsdatum_jahr, #portierungsdatum_jahr, #portierung_geburtsdatum_jahr, #land-andere-text, #nation-andere-text, #portierung-land-andere-text, #anbieter-andere-text').click(function(){
				jQuery(this).val('');
			});
									
			jQuery('#geburtsdatum_tag, #portierungsdatum_tag, #portierung_geburtsdatum_tag,').blur(function(){
				if(jQuery(this).val() == ''){
					jQuery(this).val(funktionsTexte['datum_tag_default']);
				}
			});
			jQuery('#geburtsdatum_monat, #portierungsdatum_monat, #portierung_geburtsdatum_monat').blur(function(){
				if(jQuery(this).val() == ''){
					jQuery(this).val(funktionsTexte['datum_monat_default']);			
				}
			});
			jQuery('#geburtsdatum_jahr, #portierungsdatum_jahr, #portierung_geburtsdatum_jahr').blur(function(){
				if(jQuery(this).val() == ''){
					jQuery(this).val(funktionsTexte['datum_jahr_default']);			
				}
			});	
			jQuery('#land-andere-text').blur(function(){
				if(jQuery(this).val() == ''){
					jQuery(this).val(funktionsTexte['land_andere_default']);			
				}
			});	
			jQuery('#nation-andere-text').blur(function(){
				if(jQuery(this).val() == ''){
					jQuery(this).val(funktionsTexte['nation_andere_default']);			
				}
			});	
			jQuery('#portierung-land-andere-text').blur(function(){
				if(jQuery(this).val() == ''){
					jQuery(this).val(funktionsTexte['land_andere_default']);			
				}
			});	
			jQuery('#anbieter-andere-text').blur(function(){
				if(jQuery(this).val() == ''){
					jQuery(this).val(funktionsTexte['anbieter_andere_default']);			
				}
			});				
			
			/* Wenn bei Privatkunden das Geburtsdatum verändert wird */
			jQuery('#geburtsdatum_tag, #geburtsdatum_monat, #geburtsdatum_jahr').bind('keyup, blur', function() {		
				if (jQuery('#privatkunde').is(':checked')) {
					berechneAlter('pers-daten-container',jQuery('#geburtsdatum_jahr'));
				}			
			});

			//separat definierte click-events für gestylten radiobutton
			//click auf label triggert click-event des radiobuttons (generisch definiert)
			jQuery('#identitaetskarte').click(function(){
				refreshSelectbox('modell', funktionsTexte['identitaetskarte']);				
			});
			jQuery('#identitaetskarte').siblings('.radio').click(function(){
				refreshSelectbox('modell', funktionsTexte['identitaetskarte']);	
			});
			jQuery('#schweizerpass').click(function(){
				refreshSelectbox('modell', funktionsTexte['schweizerpass']);	
			});
			jQuery('#schweizerpass').siblings('.radio').click(function(){
				refreshSelectbox('modell', funktionsTexte['schweizerpass']);	
			});
			
			// zusatzfelder für rufnummer-portierung ein-/ausblenden
			jQuery('#nummer-behalten').parent().parent().click(function(){
				if(jQuery('#nummer-behalten', this).is(':checked')){
					jQuery('#portierung-container').slideDown('slow',function(){
						copyFormData();
					});
					var offset = jQuery('#portierung-container').prev().prev().prev().offset();
					jQuery('html,body').animate({scrollTop: offset.top}, 1000);	
				}
				else{
					jQuery('#portierung-container').slideUp('slow');	
				}			
			});	
			
			//MOBILNUMMER PORTIERUNG: eingabefeld "anderes land" aktivieren/deaktivieren
			jQuery('#portierung-land-andere').parent().parent().parent().click(function(){
				if(jQuery('#portierung-land-andere', this).is(':checked')){
					jQuery('#portierung-land-andere-text').removeAttr('disabled').removeClass('disabled');	
				}
				else{
					jQuery('#portierung-land-andere-text').attr('disabled', 'true').addClass('disabled');	
				}			
			});	
			
			//MOBILNUMMER PORTIERUNG: zusatzfelder für businesskunde ein-/ausblenden
			jQuery('#portierung_businesskunde').parent().parent().parent().click(function(){
				
				if(jQuery('#portierung_businesskunde').is(':checked')){
					jQuery('#portierung-unterzeichner-container').slideDown('slow');	
					jQuery('#portierung_msg_unterzeichner_mind').hide();
					jQuery('#portierung_msg_unterzeichner_business').show();
					jQuery('#portierung_businessname').parent().parent().show();								
				}
				else{
					
					jQuery('#portierung_businessname').parent().parent().hide();
					
					/* Altersüberprüfung für Privatkunden */
					/* wenn Seite aufgerufen wird muss geprüft werden ob unter 18 und #portierung-unterzeichner-container angezeigt werden soll */
					jQuery('#portierung_geburtsdatum_jahr').each( function() {		
						berechneAlter('portierung-pers-daten-container',this);			
					});	
				}			
			});	
			
			/*MOBILNUMMER PORTIERUNG:  Wenn bei Privatkunden das Geburtsdatum verändert wird */
			jQuery('#portierung_geburtsdatum_tag, #portierung_geburtsdatum_monat, #portierung_geburtsdatum_jahr').bind('keyup, blur', function() {		
				if (jQuery('#portierung_privatkunde').is(':checked')) {
					berechneAlter('portierung-pers-daten-container',jQuery('#portierung_geburtsdatum_jahr'));
				}			
			});		
			
			
			jQuery('#content-container .Formular a.button').click(function(){
				jQuery('#content-container form').submit();
			});						

			
			//Alle u.a. Container müssen per Js dynamisch in der Höhe angepasst werden, wenn eine Fehlermeldung angezeigt wird
			var container = ['#land-container','#portierung-land-container','#nationalitaet-container'];		
			jQuery(container).each(function(i,obj){
				if(jQuery(obj + ' .input.error').length){
					jQuery(obj).height(64 + jQuery(obj + ' .input.error .errortext').height() + 'px');
				}				
			});		
			
	} /* anmeldeseite END */
			
});


/* slider start */
function slider(obj, interval) {
	
	var that = this;
	this.slider = obj;
	this.singleItemWidth = 504;
	this.numItems = jQuery(this.slider).find('.tabItem').length;
	this.btnLeft = jQuery(obj).parent().find('.slide_left');
	this.btnRight = jQuery(obj).parent().find('.slide_right');
	this.moves = 1;
	
	if (this.numItems < 2) {
		this.btnLeft.hide();
		this.btnRight.hide();
	}
	else{
		
		//init position
		this.btnLeft.hide();
		
		//events
		this.btnLeft.bind('click', function(e){
			e.preventDefault();
			that.slideBackward();
			if(that.moves == 1){
				that.btnLeft.hide();
			}
		});
		this.btnRight.bind('click', function(e){
			e.preventDefault();
			that.slideForward();
			if(that.moves == that.numItems){
				that.btnRight.hide();
			}			
		});		
	}

	// breite des Slide Containers setzen
	this.numItems = jQuery(obj).find('.tabItem').length;
	jQuery(this.slider).css('width', this.singleItemWidth*this.numItems);
}

slider.prototype.slideBackward = function () {
		
		this.moves--;
		if (this.moves <= 0) {
			this.moves = this.numItems;
			jQuery(this.slider).animate({
				marginLeft : '-=' + ((this.singleItemWidth*this.numItems) - this.singleItemWidth) 
			}, function() {});
		} else {

			jQuery(this.slider).animate({	
				marginLeft : '+=' + this.singleItemWidth
			}, function() {});

			//if (this.moves == 1) jQuery(this).fadeOut();
			if (!jQuery(this.btnRight).is(':visible')) 
				jQuery(this.btnRight).fadeIn();
		}
		return false;	
};

slider.prototype.slideForward = function () {
		
		this.moves++;
		
		if (this.moves > this.numItems) {
			this.moves = 1;
			jQuery(this.slider).animate({
				marginLeft : '+=' + ((this.singleItemWidth*this.numItems) - this.singleItemWidth) 
			}, function() {});
		} else {
			
			jQuery(this.slider).animate({	
				marginLeft : '-=' + this.singleItemWidth
			}, function() {});
			
			//if (this.moves == this.numItems) jQuery(this).fadeOut();
			if (!jQuery(this.btnLeft).is(':visible')) 
				jQuery(this.btnLeft).fadeIn();
		}
		return false;	

};
/* slider end */



/* Register Start */
function register (obj){
	
	this.domObj = obj;
	this.numTabs = jQuery(".register li",obj).length;
	this.currTabIndex = 0;
	var that = this;
	
	this.initCoopMobileStuff();
		
	jQuery(".register li",obj).each(function(){
		
		jQuery(this).click(function(){
			if(jQuery(this).hasClass('active')){
				return;
			}
			that.updateTabs(this);	
			return false;
		});
	});
	
	this.initAutoSwitch();
}

register.prototype.updateTabs = function(ele){
	
	var tabContentID=jQuery('span', ele).attr('rel');

	jQuery(ele).siblings('li').each(function(){
		if (jQuery(this).hasClass('active')) {
			jQuery(this).removeClass('active');
		}
	});
	jQuery(ele).addClass('active');
	jQuery(ele).parent().siblings('.registerContent').find('div').each(function(){
		if (jQuery(this).attr('id') == tabContentID) {
			jQuery(this).addClass('active');
		}
		else {
			jQuery(this).removeClass('active');
		}						
	});	
};
/*
 * automatischer Wechsel der Register-Tabs
 */
register.prototype.initAutoSwitch = function(){
	
	var that = this;
	
	//switchTabInterval wird im HTML definiert
	if(switchTabInterval > 0){

		var setupInterval = function(){
			//interval 
			that.autoslide = window.setInterval(function(){
				
				that.updateTabs(jQuery('li',that.domObj).eq(that.currTabIndex));
				if(that.currTabIndex == (that.numTabs-1)){
					that.currTabIndex = 0;
				}
				else{
					that.currTabIndex++;
				}			
			},switchTabInterval*1000);				
		};		
		
		setupInterval();
		
		jQuery(that.domObj).mouseover(function(){
			window.clearInterval(that.autoslide);
		});
		jQuery(that.domObj).mouseout(function(){
			setupInterval();
		});			
			
	}
};

register.prototype.initCoopMobileStuff = function(){
	
	var sliderArr = [];
	
	//bei mehr als einem element pro tab, werden dynamisch die navigations-buttons hinzugefügt
	var nav = '';
	nav += '<div class="slide_btn_left">';
	nav += '	<a href="#" class="slide_left"></a>';
	nav += '</div>';
	nav += '<div class="slide_btn_right">';
	nav += '	<a href="#" class="slide_right"></a>';
	nav += '</div>';
		
	//slider initialisieren
	jQuery('.tabContent', this.domObj).each(function(obj,i){
		if(jQuery('.tabItem', this).length > 1){
			
			jQuery(this).append(nav);
			sliderArr[i] = new slider(jQuery('.itemContainer',this).eq(0),3000);		
		}
		jQuery('.itemContainer', this).append('<div class="clearAll"></div>');
		
	});
	
};
/* Register End */

