var voucher_id = 0;
//var voucher_selection = [];
var selected_voucher = '';
var mooli;

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() {
	// single voucher action (works only for one voucher selection)
	if(selected_voucher.length > 0) {
		$$('#' + selected_voucher + ' .voucher_checked')[0].addClass('hidden');
	}
	selected_voucher = this.get('id');
	$$('#' + selected_voucher + ' .voucher_checked')[0].removeClass('hidden');
	
	submit_pregame();
}
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 control_form = new Object();
control_form.request = null;
control_form.initialize = function() {
	if($('landselect').get('value') == '1') {
		if($('zipcode').get('value') == '' && $('city').get('value') == '' && $('province').get('value') == '') $('city').setProperty('disabled');
	} else $('province').setProperty('disabled');
	$('zipcode').addEvents({
		keyup: function() {
			if(control_form.check_conditions() == true) control_form.request_city();
		},
		blur: function() {
			if(control_form.check_conditions() == true) control_form.request_city();
		}
	});
	$('landselect').addEvent('change', function(){
		if($('landselect').get('value') != '1') {
			$('province').selectedIndex = 0;
			$('province').setProperty('disabled', 'disabled');
			$('city').removeProperty('disabled');
		} else $('province').removeProperty('disabled');
	});
}
control_form.check_conditions = function() {
	var state = false;
	if($('zipcode').get('value').search(/^\d{5}$/i) > -1 &&
		$('city').get('value') == '' &&
		$('province').get('value') == '' &&
		$('landselect').get('value') == '1') state = true;
	return state;
}
control_form.request_city = function() {
	control_form.request = new Request({
		url: "/cgi-bin/wingame.pl?todo=show_city_zipcode&zipcode="+$('zipcode').value,
		method: 'GET',
		onComplete: function(response) {
			control_form.process_results(response);
		}
	}).send();
}
control_form.process_results = function(response) {
	if(control_form.check_conditions() == true) {
		var values = response.split("--");
		$('city').set('value', values[0]);
		$('province').selectedIndex = values[1];
		$('province').removeClass("error");
	}
	$('city').removeProperty('disabled');
}
control_form.enabled_fields = function() {
	$$('#register *:disabled').removeProperty('disabled');
}


var submit_pregame = function() {
	$('pregame_form').answer.value = selected_voucher;
	$('answer').set('value', selected_voucher);
	$('pregame_form').submit();
}

var voucher_name = function(offer) {
	var voucher = '';
	switch(offer){
		case 'apple':
			voucher = 'Apple';
			break;	
		case 'fnac':
			voucher = 'FNAC';
			break;
		case 'elCortesIngles':
			voucher = 'EL CORTE INGLÉS';
			break;
		case 'carrefour':
			voucher = 'CARREFOUR';
			break;
	}
	
	return voucher;
}

var set_small_voucher_image = function() {
	var voucher_01 = $('answer').get('value');	
	
	if(voucher_01 == '') {
		$('voucher_text_01').set('html', voucher_name('apple'));
	}
	$('voucher_text_01').set('html', voucher_name(voucher_01));
	
	$('voucher_img_01').set('src', '/wingame/60/images/gutschein_'+ voucher_01 +'_small.jpg');
	$('voucher_img_01').set('alt', voucher_name(voucher_01) +' Gutschein');
}


window.addEvent('domready', function() {
	//Pop-under function; var MAPPER maps 'BO-keyword' to html element
	MAPPER = {
		'body' : $('page_pregame'),
		'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 answer_cookie = Cookie.read('answer');
	}
	
	if(current_page == 'page_halfreg'){
		//	handle_sponsor_layer('/files/web/sponsor/_sponsoren/sponsor_60.html');
		
		$('back_to_pregame').addEvent('click', function() {
			$$('input[name=todo]').set('value', 'show_pregame');
			$('form_master').submit();
			return false;
		});
	
		set_small_voucher_image(); //inject small voucher images
		
		mooli = new moolidator('form_master', {
			regexp: {
				wingame_es_names_1: /[\@]/,
				wingame_es_names_2: /(^\D*(\d\D*){1,2}$)|(,)/,
				wingame_negate_es_names: /\w{2}/,
				wingame_negate_default_email: /^([0-9a-zA-Z_]+[_\.\-+=]*)*[0-9a-zA-Z_\-+]+\@([0-9a-zA-Z_\-+]+\.)+[0-9a-zA-Z_\.\-+]{2,4}$/
			},
			errorInputStyles: {
				border: '1px solid #FF0000',
				height: '18px'
			},
			inputStyles: {
				border: '1px solid #D2D2D2',
				height: '18px'
			},
			onSubmitDo:"doRegister()",
			preventSubmit: true
		});
	}
	
	if(current_page == 'page_fullreg') {
		set_small_voucher_image(); //inject small voucher images
		
		mooli = new moolidator('form_master', {
			regexp: {
				wingame_default_street: /^[\d\s]+$/,
				wingame_negate_default_street: /\w{2,}/,
				wingame_negate_default_streetnr: /\d/,
				wingame_negate_default_zipcode: /\w/,
				wingame_default_city: /^\d+$/,
				wingame_negate_default_city: /\w{2,}/,
				wingame_negate_default_tel_number: /^\d{5,}$/,
				
				wingame_negate_es_zipcode_1: /^([0-4]\d{4})|(5[0-3][0-9]{3})$/,
				wingame_negate_es_zipcode_2: /^\d{5}$/,
				wingame_es_city: /\d/,
				wingame_negate_es_city: /\w/,
				wingame_es_tel_number: /\D/,
				wingame_negate_es_tel_number: /^[69]\d{8}$/
			},
			errorInputStyles: {
				border: '1px solid #FF0000',
				height: '18px'
			},
			inputStyles: {
				border: '1px solid #D2D2D2',
				height: '18px'
			}
		});
		
		$('landselect').addEvent('change', function() {
			if($('landselect').get('value') == '1') {
				mooli.setClass('province',['required']);
				mooli.setClass('zipcode',['wingame_negate_es_zipcode','group[city]']);
				mooli.setClass('city',['wingame_es_city','wingame_negate_es_city','group[zipcode]']);
				mooli.setClass('tel_number',['wingame_es_tel_number','wingame_negate_es_tel_number']);
			} else {
				mooli.removeClass('province');
				mooli.setClass('zipcode',['wingame_negate_default_zipcode','group[city]']);
				mooli.setClass('city',['wingame_default_city','wingame_negate_default_city','group[zipcode]']);
				mooli.setClass('tel_number',['wingame_negate_default_tel_number']);
			}
		});
		
		control_form.initialize();
	}
	
	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_survey' || current_page == 'page_coreg') {	
		set_small_voucher_image(); //inject small voucher images
	}
});


/* 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();
	}
}*/
