var RecaptchaOptions = {
   custom_translations : {
            instructions_visual : "Geben Sie die 2 Wörter ein:",
            instructions_audio : "Geben Sie die acht Ziffern ein:",
            play_again : "Audio erneut abspielen",
            cant_hear_this : "Audio als MP3 herunterladen",
            visual_challenge : "Bildmodus",
            audio_challenge : "Audiomodus",
            refresh_btn : "Zwei neue Wörter anzeigen",
            help_btn : "Hilfe",
            incorrect_try_again : "Falsche eingabe. Bitte versuchen Sie es noch einmal."
    },
    lang : 'de'
};


jQuery(document).ready(function(){
	jQuery("a[rel^='prettyPhoto']").prettyPhoto();
	
	jQuery('#newsletter_email').example('name@domain.de');
	jQuery('#newsletter_name').example('Name');
	
	jQuery(".kopfbilder_cycle").cycle({
		fx:"fade",
		speed:500,
		timeout:5000,
		slideResize: 0
	});
	
	jQuery('#inhalt_container')
		.mouseenter(function() {
			jQuery('.cycle_pause_wrap').fadeIn('400');
		})
		.mouseleave(function() {
			jQuery('.cycle_pause_wrap').fadeOut('400');
		});
		
	jQuery('.maske.cycle_pauseresume').live('click', function() {
		if (jQuery('.cycle_pause').css('display') == 'none') {
			jQuery('.kopfbilder_cycle').cycle('resume');
			jQuery('.cycle_pause').show();
			jQuery('.cycle_resume').hide();
		}
		else {jQuery('.kopfbilder_cycle' ).cycle('pause');
			jQuery( '.cycle_pause' ).hide();
			jQuery( '.cycle_resume' ).show();
		}
	});
		

	
	if (jQuery('form#proflex_formular').length)
	{
		jQuery('.eventformular #form_step_2').hide(); 
		jQuery('.eventformular #form_step_3').hide();
		
		jQuery('div.shuttle_service_infobox').hide();
		
		jQuery('select#hotel_empfohlen').change(function(){
			var id = jQuery('select#hotel_empfohlen option:selected').attr('rel');
			jQuery('div.shuttle_service_infobox').hide();
			jQuery('div#'+id).show();
		});
		
		jQuery('input.radiobtn_uebernachtung').click(function() {
		
			var id = $(this).attr('id');
			
			jQuery('#shuttle_service').hide();
			jQuery('input[name="hotel"]').removeAttr('disabled');
			jQuery('#hotel_empfohlen').removeAttr('disabled');
			jQuery('#uebernachtung_gebucht').removeAttr('disabled');
			
			if ( id == 'keine_uebernachtung' ) {
				jQuery('#hotel_empfohlen').attr('disabled','disabled');
				jQuery('#shuttle_service').hide();
				jQuery('input[name="hotel"]').attr('disabled','disabled');
				jQuery('#uebernachtung_gebucht').attr('disabled','disabled');
			
			} else if ( id == 'anderes_hotel' ) {
			
				jQuery('#hotel_empfohlen').attr('disabled','disabled');
				jQuery('#shuttle_service').show();
				jQuery('.shuttle_service_infobox').hide();
			
			} else if (id == 'empfohlenes_hotel') {
				
				jQuery('#shuttle_service').show();
				jQuery('input[name="hotel"]').attr('disabled','disabled');
				
				var id = jQuery('select#hotel_empfohlen option:selected').attr('rel');	
				jQuery('div#'+id).show();
			}
		});
		
		jQuery('input.radiobtn_shuttle').change(function() {
			
			jQuery('#shuttle_anz').removeAttr('disabled');
			jQuery('#shuttle_anz').removeClass('disabled');
			
			var id = $(this).attr('id');
			if ( id == 'shuttle_no') {
				jQuery('#shuttle_anz').attr('disabled','disabled');
				jQuery('#shuttle_anz').addClass('disabled');
			}
		});
		
		jQuery( '#Rechnungsadresse' ).hide();
		var showAR = false;
		
		jQuery( '#abweichende_rechnungsadresse' ).click(function(){
			showAR = !showAR;
			if ( showAR ) {
				jQuery( '#Rechnungsadresse' ).show();
			} else {
				jQuery( '#Rechnungsadresse' ).hide();
			}
		});
		
		jQuery('.proflex_teilnahmetrigger').live('click', function() {
			var $_this = jQuery(this),
				$real_input = $_this.prev();
				
			if ($_this.attr('checked')) {
				$real_input.val(1);
			}
			else {
				$real_input.val(0);
			}
		});
	}
	
});

function setFooter(){
	//var documentheight = jQuery(document).height()-113;
	//document.getElementById("footer").style.top = documentheight+"px";
	//document.getElementById("div_footer").style.left = "220px";
}

function showVid(pfad) {
	jQuery('#inhalt_container').html('<div id="video"></div>');
	jQuery('#video').flashembed({
    	src: '/flash/videoplayer/SpringPlayerPro_2.0_Light_Grey.swf',
    	width: 600,
    	height: 223,
    	allowfullscreen: true,
    	allowScriptAccess: 'sameDomain',
    	wmode: 'transparent',
    	quality: 'high',
    	cachebusting: true
    }, {
    	url: pfad,
    	scale: 'aspectRatio',
    	autoplay: true
    });
}

function checkEventform(form) {
	var passed = true;
	
	jQuery(form).find('.required').each(function() {
		if (jQuery(this).val() == '') {
			passed = false;
			
			jQuery(this).addClass('field_error');
		}
	});
	
	if (passed) {
		jQuery('#form_step_3 .formButtonPane').children('button[type=submit]').attr('disabled','disabled'); // um 2faches Absenden zu verhindern
		jQuery(form).submit();
	} else {
		alert('Bitte füllen Sie alle Pflichtfelder aus!');
		return false;
	}
}

 function swapInfo(nr) { 
 	var norm = document.getElementById('normal_'+nr);
 	var hov = document.getElementById('hover_'+nr); 
 	var container = document.getElementById('box_'+nr);	
 	
 	norm.style.display = 'none';
 	hov.style.display = 'block'; 
 	container.style.background = 'url(/ccds_tpl_img/mitglied_box_ho.gif) no-repeat'; 	
 }
 
 function resetInfo(nr) {
  	var norm = document.getElementById('normal_'+nr);
 	var hov = document.getElementById('hover_'+nr);
 	var container = document.getElementById('box_'+nr);
 	 	
 	norm.style.display = 'block';
 	hov.style.display = 'none';
 	container.style.background = 'url(/ccds_tpl_img/mitglied_box.gif) no-repeat'; 	
 }
 
 function number_format (number, decimals, dec_point, thousands_sep) {
    // Formats a number with grouped thousands
    //
    // version: 906.1806
    // discuss at: http://phpjs.org/functions/number_format
    // *     example: number_format(67, 2, ',', '.');
    // *     returns: '67,00'

    var n = number, prec = decimals;

    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };

    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;

    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;

        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }

    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}

function drawGooglemap(id, address) {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById(id));
		geocoder = new GClientGeocoder();
		
		var customUI = map.getDefaultUI();
        // Remove MapType.G_HYBRID_MAP
        //customUI.maptypes.hybrid = false;
        map.setUI(customUI);
		
		if (geocoder) {
			geocoder.getLatLng(
				address,
				function(point) {
					map.setCenter(point, 15);
					var marker = new GMarker(point);
					map.addOverlay(marker);
					marker.bindInfoWindowHtml(address);
					marker.openInfoWindowHtml(address);
				}
			);
		}
	}
}

/**
 * eine Leerzeile zum Eintragen eines zusätzlichen Teilnehmers hinzufügen
 */
function proflexFormAddPerson() {
	clone = jQuery('#proflex_formular table#participants tr:last').clone();
	clone.addClass('validate').show();
	clone.insertBefore('#proflex_formular table#participants tr:last');
	
	$("#proflex_formular table#participants tr:not(:last) td input").addClass('required');
}

/**
 * validiert einen Schritt des Proflex-Anmeldeformular
 *
 * @param stepId 
 */
function proflexValidateStep(stepId) {

	if ( stepId == 1 || stepId == 2 || stepId == 3 ) {
		stepId = "#proflex_formular #form_step_"+stepId;
	}

	var passed = true;
	var setFocus = true;
	var alerted = false;
	
	jQuery(".field_error").removeClass('field_error');
	
	if (stepId == '#proflex_formular #form_step_1') {
		if (jQuery('#proflex_teilnahme_cb input.cb:checked').length == 0) {
			alert('Bitte wählen Sie mindestens einen Tag, an dem Sie teilnehmen werden.');
			passed = false;
			alerted = true;
		}
	}
	
	if (stepId == '#proflex_formular #form_step_2') {

		$('#proflex_formular table#participants tr.validate').each(function() {
			$_this = $(this);
		
			// in der aktuellen Zeile leere Felder suchen:
			var emptyInputs = $_this.find('input[type="text"][value=""]');
			if ( emptyInputs.length == 4) {
				// Zeilen in denen alle Werte leer sind müssen nicht validiert werden:
				emptyInputs.removeClass('required');
				emptyInputs.removeClass('email');
			} else {
				emptyInputs.addClass('required');
				
				if ( !$(this).hasClass('nocbvalidate') /*|| (typeof $(this).attr('style') != 'undefined')*/) {						
					//checken, ob mindestens ein tag ausgewählt wurde
					if ($_this.find('.proflex_teilnahmetrigger:checked').length == 0) {
						if (!alerted) {
							alert('Bitte wählen Sie für jeden Teilnehmer mindestens einen Tag, an dem er teilnehmen wird.');
						}
						passed = false;
						alerted = true;
					}
				}
			}
		});
	}

	if (stepId == '#proflex_formular #form_step_3') {		
		jQuery('#proflex_submit').attr('disabled', 'disabled');
		
		if ( jQuery('input#empfohlenes_hotel:checked').val() == 'empfohlenes Hotel' ) {
			var temp = jQuery('select#hotel_empfohlen').val();
			if ( temp == '' ) {
				jQuery('select#hotel_empfohlen').addClass('field_error');
				passed = false;
				alerted = true;
				alert('Bitte wählen Sie ein Hotel aus.');
			}
		} else if ( jQuery('input#anderes_hotel:checked').val() == 'anderes Hotel' ) {
			var temp = jQuery('input#hotel').val();
			if ( temp == '' ) {
				jQuery('input#hotel').addClass('field_error');
				passed = false;
				alerted = true;
				alert('Bitte nennen Sie uns Ihr Hotel.');
			}
		}
	}

	jQuery(stepId).find('.required[type!="checkbox"]').each(function() {
		if ( jQuery(this).val() == '' ) {
			passed = false;
			jQuery(this).addClass('field_error');
			if ( setFocus ) {
				jQuery(this).focus();
				setFocus = false;
			}
		}
	});
	
	// Email-Validierung
	jQuery(stepId+' .required.email').each(function() {
		var el = jQuery(this);
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		var email = el.val();
		if ( el.hasClass('field_error') ) {
			el.removeClass('field_error');
		}
		if ( reg.test(email) == false) {
			el.addClass('field_error');
			// Das erste fehlerhafte Element auf "focus" setzen.
			if ( setFocus ) {
				el.focus();
				setFocus = false;
			}
			passed = false;
		}
	});
	
	if (!passed && !alerted) {
		alert('Bitte füllen Sie alle Pflichtfelder aus!');
	}
	
	if (passed && stepId == '#proflex_formular #form_step_3') {
		jQuery('#proflex_formular').submit();
	}
	
	return passed;
}

/**
 * wechsel zum nächsten Schritt (inklusive Validierung des aktuellen Schritts)
 * 
 * @param currentStep  aktueller Schritt 
 * @param toStep       nächster Schritt
 */
function changeToStep(currentStep, toStep) {
	
	var current = '#proflex_formular #form_step_'+currentStep;
	var to = '#proflex_formular #form_step_'+toStep;
	
	if ( proflexValidateStep(current) ) {
		jQuery('#proflex_formular .form_step').hide();
		jQuery(to).show();
		if (toStep == 2) {
			jQuery('#proflex_formular #anmelder_vorname').text(jQuery('#proflex_formular #vorname').val());
			jQuery('#proflex_formular #anmelder_nachname').text(jQuery('#proflex_formular #nachname').val());
			jQuery('#proflex_formular #anmelder_position').text(jQuery('#proflex_formular #position').val());
			jQuery('#proflex_formular #anmelder_email').text(jQuery('#proflex_formular #email').val());
			
			//checkboxen für teilnahme vorbelegen
			jQuery('#dummy_teilnahme_20').attr('checked', jQuery('#teilnahme_20').attr('checked'));
			jQuery('#dummy_teilnahme_21').attr('checked', jQuery('#teilnahme_21').attr('checked'));
						
			jQuery("#proflex_formular #participants input:first").focus();
		} else if (toStep == 3) {
			var tn = jQuery('#proflex_formular table#participants tr').length;

			jQuery("#proflex_formular table#participants tr").each(function() {
				// in der aktuellen Zeile leere Felder suchen:
				var emptyInputs = $(this).find('td input[value=""]');
				if ( emptyInputs.length == 4) {
					tn--; // leere Zeilen abziehen
				}
			});
			// Select-Feld für Shuttle-Teilnehmer ändern:
			html =''
			for (i = 1; i < tn; i++ ) {
				html = html+'<option value="'+i+'">'+i+'</option>';
			}
			jQuery("#shuttle_anz").html(html);
		}
	}
}
