var current_page = 'none';
var exit_pop_number = 1;
var sponsorlimit = '4';
var sponsor_switch = '';
var sponsor_switch_wingame = '45';
var nolink = false;
var voucher_id = 0;
var mooli = '';

window.addEvent('domready', function() {
	//Pop-under function; var MAPPER maps 'BO-keyword' to html element
	MAPPER = {
		'body' : $('page_reg_half'),
		'freetest' : null, 
		'gender' :  $('genderbox'),
		'gender_male' : $('gender_male'),
		'gender_female' : $('gender_female'),
		'firstname': $('firstname'),
		'halfreg': $('submit_reg_half'),
		'fulreg': $('submit_reg_full'),
		'street': $('street'),
		'country': null,
		'extra' : null
	}	
	
	// get the current page
	current_page = $(document.body).get('id');
	// get voucher_id parameter and skip choose-voucher-page
	var temp_url_parameter = window.location.search;
	if(temp_url_parameter.search(/^.*voucher_id=(\d{1,3}).*$/i) > -1) {
		voucher_id = temp_url_parameter.replace(/^.*voucher_id=(\d{1,3}).*$/i, '$1');
	}
	
	//Sponsoren Slider
	try {
		sponsorenSlide();
	} catch(error) {
	}
	
	$(document.body).addEvents({
		'mouseenter': function(){
			nolink = false;
		},
		'mouseleave': function(){
			nolink = true;
		}
	});
	
	$$('.poplink').addEvent('click', function() {
		open_poplink(this);
		return false;
	});
	
	// reg half
	if(current_page == 'page_reg_half') {
		if(detectIE(6) == true) {
			$$('.voucher img').set('src', '/wingame/45/images/voucher_bond.gif');
		}
		
		mooli = new moolidator('form_reg_half', {
			submitButton: 'submit_reg_half',
			overrideMoolidatorStyles: true,
			errorMsgLength: 22
		});
		
		if($$('.voucher').length > 0 && voucher_id == 0) {
			animate.voucher();
		}
		if(voucher_id > 0) {
			show_register('offer_' + voucher_id, true);
		}
		
		exit_pop_number = 1;
	}
	
	// reg full
	if(current_page == 'page_reg_full') {
		if(detectIE(6) == true) {
			$$('.voucher img').set('src', '/wingame/45/images/voucher_bond.gif');
		}
		
		mooli = new moolidator('form_reg_full', {
			submitButton: 'submit_reg_full',
			overrideMoolidatorStyles: true,
			errorMsgLength: 25,
			onSubmitDo: "phoneField('submit'); enableFields();",
			regexp: {
				floor_sg: /^([1-9])$|^(0[1-9])$|^([1-3][0-9])$|^(40)$/i,
				street_sg: /^\d{1,4}[a-z]?$/i,
				invalid: /[\t]{200}/i
			}
		});
		
		disableFields(['city', 'street_floor', 'street_display']);
		if($('zipcode').get('value') != '') $$('input[name="address_lastrequest"]').set('value', '0');
		updateStreet();
		
		exit_pop_number = 2;
	}
	
	// survey
	if(current_page == 'page_survey') {
		$('submit_survey').addEvent('click', function() {
			$$('form[name="survey"]')[0].submit();
			return false;
		});
		
		survey_main();
		
		exit_pop_number = 3;
	}
	
	// coreg
	if(current_page == 'page_coreg') {
		$('submit_coreg').addEvent('click', function() {
			$('inter').submit();
			return false;
		});
		
		exit_pop_number = 3;
	}
	
	// finish
	if(current_page == 'page_finish') {
		exit_pop_number = 3;
	}
	
	// doi
	if(current_page == 'page_finish') {
		exit_pop_number = 3;
	}
});

window.addEvent('unload', function() {
	exitpop(exit_pop_number);
});

//var open_poplink = function(element) {
//	var temp_class = element.get('class');
//	var temp_width = 480;
//	var temp_height = 640;
//	if(temp_class.search(/^.*width_(\d{1,4}).*$/i) > -1) {
//		temp_width = temp_class.replace(/^.*width_(\d{1,4}).*$/i, '$1');
//	}
//	if(temp_class.search(/^.*height_(\d{1,4}).*$/i) > -1) {
//		temp_height = temp_class.replace(/^.*height_(\d{1,4}).*$/i, '$1');
//	}
//	window.open(element.href, '', 'height=' + temp_height + ', width=' + temp_width + ', menubar=no, scrollbars=yes');
//}

animate = new Object();
animate.do_voucher_animation = true;
animate.mouseenter = function() {
	element = this.getElements('.bond')[0];
	element.do_voucher_animation = false;
}
animate.mouseleave = function() {
	element = this.getElements('.bond')[0];
	if(!element.hasClass('stop_animation')) element.do_voucher_animation = true;
	if(!element.hasClass('animated')) animate.move_voucher(element);
}
animate.click = function() {
	this.removeEvents('mouseenter');
	this.removeEvents('mouseleave');
	this.removeEvents('click');
	show_register(this.get('id'));
}
animate.voucher = function() {
	var temp_timing = [71, 1259, 463, 757];
	$$('.voucher .bond').each(function(element, index) {
		element.do_voucher_animation = true;
		element.animation_down = new Fx.Tween(element, {
			duration: 877,
			transition: Fx.Transitions.Cubic.easeOut,
			property: 'height'
		});
		element.animation_up = new Fx.Tween(element, {
			duration: 673,
			transition: Fx.Transitions.Bounce.easeOut,
			property: 'height'
		});
		setTimeout(function() {
			animate.move_voucher(element);
		}, temp_timing[index]);
	});
	$$('.voucher').addEvents({
		'mouseenter': animate.mouseenter,
		'mouseleave': animate.mouseleave,
		'click': animate.click
	});
}
animate.move_voucher = function(element) {
	if(animate.do_voucher_animation == true && element.do_voucher_animation == true) {
		element.addClass('animated');
		element.animation_down.start(29, 60);
		setTimeout(function() {
			element.animation_up.start(60, 29);
		}, 971);
		setTimeout(function() {
			element.removeClass('animated');
			animate.move_voucher(element);
		}, (1699 + (Math.floor(Math.random() * 300))));
	}
}

var show_register = function(selected_voucher, instant) {
	$('wingame_special_offer').setProperty('value', selected_voucher);
	if(instant == true) {
		$(selected_voucher).addClass('selected');
		$$('.voucher:not([class~="selected"])').addClass('display_none');
		$(selected_voucher).setStyle('left', 40);
		$(selected_voucher).removeClass('cursor_pointer');
		$$('.clip h1')[0].set('text', 'Your selection:');
		$$('.box')[0].removeClass('display_none');
	} else {
		$$('.voucher').each(function(element) {
			element.getElements('.bond')[0].do_voucher_animation = false;
			element.getElements('.bond')[0].addClass('stop_animation');
			element.removeClass('cursor_pointer');
			if(element.get('id') != selected_voucher) {
				element.fade('out');
			}
		});
		$(selected_voucher).addClass('selected');
		$(selected_voucher).tween('left', 40);
		$$('.clip h1')[0].fade('out')
		setTimeout(function() {
			$$('.voucher:not([class~="selected"])').addClass('display_none');
			$$('.clip h1')[0].set('text', 'Your selection:');
			$$('.clip h1')[0].fade('in');
			$$('.box')[0].fade('hide');
			$$('.box')[0].removeClass('display_none');
			$$('.box')[0].fade('in');
		}, 500);
	}
}

// Alle Felder zum senden aktivieren
function enableFields() {
	var result = false;
	if(document.register) {
		for(var i=0; i<document.register.elements.length; i++) {
			if(document.register.elements[i].disabled) document.register.elements[i].disabled = false;
			if((i+1)==document.register.elements.length) result = true;
		}
	} else result = true;
	return result;
}

// Alle Felder für reload oder back button deaktivieren
function disableFields(fields) {
	try {
		if(document.register) {
			fields.each(function(field) {
				$(field).setProperty('disabled', 'disabled');
				if(field == 'street_floor' && $(field).get('value') != '') $(field).removeProperty('disabled');
			});
		}
	} catch(error) {
	}
}

var detectIE = function(wanted_version) {
	var browser;
	try {
		browser = navigator.userAgent
		browser = (browser.slice(browser.search(/\(/)+1,browser.search(/\)/))).split(";");
		browser.each(function(value) {
			if(value.search(/MSIE/i) > -1) {
				var version = value.split(" ");
				version.each(function(possible_version) {
					if(possible_version.search(eval("/^"+wanted_version+"/")) > -1) browser = true;
				});
			} else {
				if(browser != true) browser = false;
			}
		});
	} catch(error) {
		browser = false;
	}
	return browser;
}

// AGB-Functions
var count_agb = 0;
var checkform = function() {
	var send = false;	
	var a = $('agb');
	
	if (count_agb > 2) send = true;
	else if (!$('agb').checked) showdiv('agberror');
	else send = true;
	
	if (send) {
/*
		for(i = 0; i < clearFields.length; i++) {
			var elem = $(clearFields[i]);			   
			var val = elem.get('value');			
			if (val == elem.id) {
				elem.set('value', '');
			}
		}
*/
		$('reg_half_form').submit();
	}
}

var doRegisterAccept = function() {
	var a = $('agb');
	a.checked = "checked";
	hidediv('agberror');			
	// auskommentiert wg. Task #50030
	//checkform();
}
// End AGB-Functions

/* Coregformular abschicken: Hinweisbox anzeigen oder weiter ************************************************************************************************* */
var errortext = true;
function fillcheck(){
	var obj = document.inter;
	var layer = document.getElementById('werbeflaeche_coreg');
	
	ausgabe = true;
	for(i=0;i<(obj.length);i++){
		if ((obj.elements[i].name.indexOf("coreg_pk_") > -1) && obj.elements[i].checked == true) {
			errortext = false;
			if(obj.elements[i].name.indexOf("confirmbox::") > -1 && obj.elements[i].checked == false) { 
				errorcbtext = obj.elements[i].name.split("::");				
					alert("Sie muessen noch die Checkbox des gewaehlten Angebots bestaetigen!");
					ausgabe = false;					
			}
		}
	}
	if (errortext == true) {
		hidetagsIE('select');
		layer.style.display = 'block';
		ausgabe = false;
	}
	if (ausgabe == true) obj.submit();	
}
