var voucher_id = 0;
var voucher_selection = []

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() {
	var voucher = this.get('id');
	var rubber_band = this.getElements('.bond')[0];
	var checked = this.getElements('.voucher_checked')[0];
	
	if(voucher_selection.contains(voucher)){
		voucher_selection.erase(voucher);
		checked.addClass('hidden');
		this.addEvents({
			'mouseenter': animate.mouseenter,
			'mouseleave': animate.mouseleave
		});
	}
	else if(voucher_selection.length < 2) {
		voucher_selection.append([voucher]);
		checked.removeClass('hidden');
		this.removeEvents('mouseenter');
		this.removeEvents('mouseleave');
	}
	
	if(voucher_selection.length == 2) {
		$('pregame_form').removeClass('hidden');
		$('pregame_heading').addClass('hidden');
	}
	else {
		$('pregame_form').addClass('hidden');
	}
}
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(15, 25);
		setTimeout(function() {
			element.animation_up.start(25, 15);
		}, 971);
		setTimeout(function() {
			element.removeClass('animated');
			animate.move_voucher(element);
		}, (1699 + (Math.floor(Math.random() * 300))));
	}
}

var submit_pregame = function() {
	$('pregame_form').wingame_special_voucher_1.value = voucher_selection[0];
	$('pregame_form').wingame_special_voucher_2.value = voucher_selection[1];
	Cookie.write('wingame_special_voucher_1', voucher_selection[0]);
	Cookie.write('wingame_special_voucher_2', voucher_selection[1]);
	$('wingame_special_voucher_1').set('value',voucher_selection[0]);
	$('wingame_special_voucher_2').set('value',voucher_selection[1]);
	$('pregame_form').submit();
}


var voucher_name = function(offer) {
	var voucher = '';
	switch(offer){
		case 'offer_1':
			voucher = 'Ikea';
			break;	
		case 'offer_2':
			voucher = 'Amazon';
			break;
		case 'offer_3':
			voucher = 'Zalando';
			break;
		case 'offer_4':
			voucher = 'Galeria Kaufhof';
			break;
		case 'offer_4_at':
			voucher = 'Intersport';
			break;
	}
	
	return voucher;
}

var set_small_voucher_image = function() {
	var voucher_01 = $('wingame_special_voucher_1').get('value');	
	var voucher_02 = $('wingame_special_voucher_2').get('value');	
	
	if(voucher_01 == '') {
		$('voucher_text_01').set('html', voucher_name('offer_1'));
		$('voucher_text_02').set('html', voucher_name('offer_2'));
	}
	
	$('voucher_text_01').set('html', voucher_name(voucher_01));
	$('voucher_text_02').set('html', voucher_name(voucher_02));
	
	$('voucher_img_01').set('src', '/wingame/85/images/gutschein_'+ voucher_01 +'_small.jpg');
	$('voucher_img_01').set('alt', voucher_name(voucher_01) +' Gutschein');
	
	$('voucher_img_02').set('src', '/wingame/85/images/gutschein_'+ voucher_02 +'_small.jpg');
	$('voucher_img_02').set('alt', voucher_name(voucher_02) +' Gutschein');
}


window.addEvent('domready', function() {
	//Pop-under function; var MAPPER maps 'BO-keyword' to html element
	MAPPER = {
		'body' : $('page_halfreg'),
		'freetest' : null, 
		'gender' :  $('genderbox'),
		'gender_male' : $('male'),
		'gender_female' : $('female'),
		'firstname': $('firstname'),
		'halfreg': $('submit_halfreg'),
		'fulreg': $('submit_fullreg'),
		'street': $('street'),
		'country': $('landselect'),
		'extra' : null
	}

    // get the current page
	current_page = $(document.body).get('id');
	
	// reg half
	if(current_page == 'page_pregame') {
		
		if($$('.voucher').length > 0 && voucher_id == 0) {
			animate.voucher();
		}
	
		var wingame_special_voucher_1_cookie = Cookie.read('wingame_special_voucher_1');
		var wingame_special_voucher_2_cookie = Cookie.read('wingame_special_voucher_2');
		
		/*if (wingame_special_voucher_1_cookie != null && wingame_special_voucher_2_cookie != null ) {
			$(wingame_special_voucher_1_cookie).getElements('.voucher_checked')[0].removeClass('hidden');
			$(wingame_special_voucher_2_cookie).getElements('.voucher_checked')[0].removeClass('hidden');
			
			voucher_selection.append([wingame_special_voucher_1_cookie]);
			voucher_selection.append([wingame_special_voucher_2_cookie]);
			
			$('pregame_form').removeClass('hidden');
		}*/
	}
	
	if(current_page == 'page_halfreg') {
		// is called in the sponsoren_iframe.htm
		//handle_sponsor_layer('/files/web/sponsor/_sponsoren/sponsor_85.html');
		
		if($('user_liked_counter')) $('user_liked_counter').set('html', '7.' + parseInt((Math.random() * 899) + 100));
	}
	
	if(current_page == 'page_fullreg') {
		progress_bar.initialize(75);
	}
	
	if(current_page == 'page_halfreg' || current_page == 'page_fullreg') {
		
		set_small_voucher_image(); //inject small voucher images
		
		var mooli = new moolidator('reg_form', {
			errorInputStyles: {
				border: '1px solid #FF0000',
				height: '18px'
			},
			inputStyles: {
				border: '1px solid #D2D2D2',
				height: '18px'
			},
			loadingImageIE6: '/wingame/global/images/moolidator_loading_ie6.gif'
		});
		if($('landselect')) {
			$('landselect').addEvent('change', function() {
				if($('landselect').value == 1) {
					mooli.setClass('zipcode', ['digit','length[5,5]']);
					$('zipcode').set('maxlength','5');
				} else if($('landselect').value == 2 || $('landselect').value == 3) {
					mooli.setClass('zipcode', ['digit','length[4,4]']);
					$('zipcode').set('maxlength','4');
				} else {
					mooli.setClass('zipcode', ['alphanum','length[3,7]']);
					$('zipcode').set('maxlength','7');
				}
			});
		}
	
	}
	
	if(current_page == 'page_coreg'){
		var coregs_not_hidden = new Array('227', '230');
		coregs_not_hidden.each( function(e) { 
			if($('coreginfo_' + e)) showdiv('coreginfo_' + e);
			if($('coreginfo_trigger_' + e)) hidediv('coreginfo_trigger_' + e);
		});
		$$('.coreginfo_trigger').each( function(e, i) {
			var coreginfos = $$('.coreginfo');
			$(e).addEvent('click', function() {
				toggle(coreginfos[i]);
			});
		});
	}
	
	if(current_page == 'page_coreg_iframe') {
		coreg_iframe.initialize();
	}
	
	if(current_page == 'page_survey' || current_page == 'page_coreg') {	
		set_small_voucher_image(); //inject small voucher images
	}
});


/* progress bar */
var progress_bar = new Object();
progress_bar.start_width = 424;
progress_bar.end_width = 0;
progress_bar.duration = 1000;
progress_bar.counter_speed = 100;
progress_bar.initialize = function(move_to_percent) {
	try {
		progress_bar.width = $('progress_bar_mask').getSize().x;
		progress_bar.tween = new Fx.Tween('progress_bar_mask', {
			duration: progress_bar.duration,
			transition: Fx.Transitions.Sine.easeOut,
			property: 'width'
		});
		if(move_to_percent >= 0 && move_to_percent <= 100) progress_bar.calculate_move(move_to_percent);
	} catch(error) {
	}
}
progress_bar.calculate_move = function(move_to_percent) {
	var new_width = (progress_bar.start_width * (100 - move_to_percent)) / 100;
	progress_bar.move_mask(new_width.ceil());
	progress_bar.count(move_to_percent);
}
progress_bar.calculate_current_percent = function(move_to_percent) {
	return (($('progress_bar_mask').getSize().x * 100) / progress_bar.start_width);
}
progress_bar.move_mask = function(target_width) {
	progress_bar.tween.start(target_width);
}
progress_bar.count = function(move_to_percent) {
	var elapsed_time = 0;
	progress_bar.counter = setInterval(function() {
		var current_percent = 100 - progress_bar.calculate_current_percent(move_to_percent).ceil();
		$('progress_bar_percent').set('html', current_percent + ' %');
		elapsed_time += progress_bar.counter_speed;
		if(elapsed_time >= progress_bar.duration) {
			clearInterval(progress_bar.counter);
			$('progress_bar_percent').set('html', move_to_percent + ' %');
		}
	}, progress_bar.counter_speed);
}

/* 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();
}


/* Coreg functions --------------------------------------------------------------------------*/
var errortext = true;		

function fillcheck() {
	ausgabe = true;
	for(i= 0; i < (document.inter.length); i++) {
		if ((document.inter.elements[i].name.indexOf("coreg_pk_") > -1) && document.inter.elements[i].checked == true) {
			errortext = false;
			if(document.inter.elements[i+1] && document.inter.elements[i+1].name.indexOf("confirmbox::") > -1 && document.inter.elements[i+1].checked == false) { 		
				alert("Sie muessen noch die Checkbox des gewaehlten Angebots bestaetigen!");
				ausgabe = false;					
			} 
		}
	}

	if (errortext == true) {
		hidetagsIE('select');
		showdiv('hinweisbox');
		ausgabe = false;
	} 

	if(ausgabe == true) {
		$('coreg_form').submit();
	}
}

/* coreg iframe */
coreg_iframe = new Object();
coreg_iframe.offers = new Array();
coreg_iframe.current_offer = 0;
coreg_iframe.form_id = 'coreg_iframe_form';
coreg_iframe.hide_class = 'hidden';
coreg_iframe.submit_buttons = ['submit_coreg_iframe'];
coreg_iframe.skip_buttons = ['skip_coreg_iframe'];
coreg_iframe.initialize = function() {
	coreg_iframe.offers = $$('.iframe_container');
	coreg_iframe.offers[coreg_iframe.current_offer].removeClass(coreg_iframe.hide_class);
	coreg_iframe.send_iframe_data(coreg_iframe.offers[coreg_iframe.current_offer]);
	if(coreg_iframe.submit_buttons.length > 0) {
		coreg_iframe.submit_buttons.each(function(submit_buttons) {
			$(submit_buttons).addEvent('click', function() {
				coreg_iframe.show_next_offer();
				return false;
			});
		});
	}
	if(coreg_iframe.skip_buttons.length > 0) {
		coreg_iframe.skip_buttons.each(function(skip_button) {
			$(skip_button).addEvent('click', function() {
				coreg_iframe.show_next_offer();
				return false;
			});
		});
	}
}
coreg_iframe.show_next_offer = function() {
	if(coreg_iframe.current_offer < (coreg_iframe.offers.length - 1)) {
		coreg_iframe.offers[coreg_iframe.current_offer].addClass(coreg_iframe.hide_class);
		coreg_iframe.current_offer++;
		coreg_iframe.offers[coreg_iframe.current_offer].removeClass(coreg_iframe.hide_class);
		coreg_iframe.send_iframe_data(coreg_iframe.offers[coreg_iframe.current_offer]);
	} else {
		$(coreg_iframe.form_id).submit();
	}
}
coreg_iframe.send_iframe_data = function(offer) {
	var temp_copy = $$('input[type=hidden][name=copy]')[0].get('value');
	var temp_client_pk = $$('input[type=hidden][name=client_pk]')[0].get('value');
	var temp_email = $$('input[type=hidden][name=email]')[0].get('value');
	var temp_wingame_pk = $$('input[type=hidden][name=wingame_pk]')[0].get('value');
	var temp_coreg_pk = offer.get('id').replace(/toggle_iframe_/g, '');
	if(temp_copy && temp_client_pk && temp_email && temp_wingame_pk && temp_coreg_pk) {
		var temp_data = 'copy=' + temp_copy +
			'&todo=save_coreg_order' +
			'&client_pk=' + temp_client_pk +
			'&email=' + temp_email +
			'&wingame_pk=' + temp_wingame_pk +
			'&coreg_pk=' + temp_coreg_pk;
		temp_data = encodeURI(temp_data);
		var temp_request = new Request({
			url: '/cgi-bin/global.pl',
			method: 'get'
		}).send(temp_data);
	}
}
