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 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 'offer_1':
			voucher = 'AKI';
			break;	
		case 'offer_2':
			voucher = 'FNAC';
			break;
		case 'offer_3':
			voucher = 'EL CORTE INGLÉS';
			break;
		case 'offer_4':
			voucher = 'PINGO DOCE';
			break;
		case 'offer_5':
			voucher = 'Bricolage';
			break;	
		case 'offer_6':
			voucher = 'Electrónica';
			break;
		case 'offer_7':
			voucher = 'Centro Comercial';
			break;
		case 'offer_8':
			voucher = 'Supermercados';
	}
	return voucher;
}

var set_small_voucher_image = function() {
	var voucher_01 = $('answer').get('value');
	
	$('voucher_text_01').set('html', voucher_name(voucher_01));
	
	$('voucher_img_01').set('src', '/wingame/67/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
	}
	
	if($('answer').get('value').search(/^offer_\d$/) > -1) {
		selected_voucher = $('answer').get('value');
		if($$('#' + selected_voucher + ' .voucher_checked').length > 0) $$('#' + selected_voucher + ' .voucher_checked')[0].removeClass('hidden');
	}

    // 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();
		}
		
		// save flow in hidden field
		$$('input[name=flow]').value = get_parameter('flow');
	}
	
	if(current_page == 'page_halfreg'){
//		handle_sponsor_layer('/files/web/sponsor/_sponsoren/sponsor_67.html');
		$('back_to_pregame').addEvent('click', function() {
			$$('input[name=todo]').set('value', 'show_pregame');
			$('reg_form').submit();
			return false;
		});
		
		set_small_voucher_image(); //inject small voucher images
		
		mooli = new moolidator('reg_form', {
			errorInputStyles: {
				border: '1px solid #FF0000',
				height: '20px'
			},
			inputStyles: {
				border: '1px solid #D2D2D2',
				height: '20px'
			},
			loadingImageIE6: '/wingame/global/images/moolidator_loading_ie6.gif',
			onSubmitDo:"doRegister()",
			preventSubmit: true,
			regexp: {
				wingame_negate_city: /\w{2,}/,
				wingame_city: /^\d+$/,			
				wingame_negate_streetnr: /\d/,
				wingame_negate_tel_es: /^[69]\d{8}$/,
				wingame_negate_street_default: /\w{2,}/,
				wingame_street_default: /^[\d\s]+$/,
				wingame_negate_zipcode2_pt: /^\d{3}$/,
				wingame_negate_zipcode1_es: /^\d{5}$/
			}
				
		});
	}
	
	if(current_page == 'page_fullreg') {
		
		set_small_voucher_image(); //inject small voucher images
		
		mooli = new moolidator('reg_form', {
			errorInputStyles: {
				border: '1px solid #FF0000',
				height: '20px'
			},
			inputStyles: {
				border: '1px solid #D2D2D2',
				height: '20px'
			},
			loadingImageIE6: '/wingame/global/images/moolidator_loading_ie6.gif',
			
			regexp: {
				wingame_negate_city: /\w{2,}/,
				wingame_city: /^\d+$/,			
				wingame_negate_streetnr: /\d/,
				wingame_negate_tel_es: /^[69]\d{8}$/,
				wingame_negate_street_default: /\w{2,}/,
				wingame_street_default: /^[\d\s]+$/,
				wingame_negate_zipcode2_pt: /^\d{3}$/,
				wingame_negate_zipcode1_es: /^\d{5}$/
		
			}
				
		});
	}
		
	if(current_page == 'page_fullreg') {
		$('land').addEvent('change', function() {
			if($('land').value == 1) {
				mooli.setClass('zipcode1', ['digit','length[4,4]','group[city]']);
				$('zipcode1').set('maxlength','4');
				mooli.setClass('zipcode2', ['wingame_negate_zipcode2_pt']);
				mooli.setClass('tel_number', ['digit','length[9,9]']);
			} else if($('land').value == 2)  {
				mooli.setClass('zipcode1', ['digit','length[5,5]','group[city]']);
				$('zipcode1').set('maxlength','5');
		    	mooli.setClass('zipcode2', ['wingame_negate_zipcode2_pt']);
				mooli.setClass('tel_number', ['digit','length[3]']);
			} else if($('land').value == 3)  {
				mooli.setClass('zipcode1', ['wingame_negate_zipcode1_es','group[city]']);
				$('zipcode1').set('maxlength','5');
				mooli.removeClass('zipcode2');
				mooli.setClass('tel_number', ['wingame_negate_tel_es']);
			} else {
				mooli.setClass('zipcode1', ['digit','length[5,5]','group[city]']);
				$('zipcode1').set('maxlength','5');
				mooli.removeClass('zipcode2');
				mooli.setClass('tel_number', ['digit','length[5]']);
			} 
		});		
	}
	
	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') {	
		set_small_voucher_image(); //inject small voucher images
		survey_main();
	}
	
	if(current_page == 'page_coreg') {	
		set_small_voucher_image(); //inject small voucher images
	}
	
});


/* Coreg functions --------------------------------------------------------------------------*/

function inter_check_all() {
	return;
	for(i=0;i<(document.inter.length);i++) {
		if ((document.inter.elements[i].name.indexOf("coreg_pk_") > -1)) document.inter.elements[i].checked = true;
	}
}

//----------- friendfinder
var ff_iframe;
var climit = 300;
var gwsstyle = "es50";
var gwslink = "http://www.planet49.pt/cgi-bin/wingame.pl";
var country = "pt";

function closeIframe() {
	document.body.removeChild(ff_iframe);
}

function pushContacts(emails, names) {
	var cmail;
	var cname;
	for(var i = 1; ((i <= climit) && (emails.length > 0)); i++) {
		var el = document.getElementById('friend_'+i);
		var el2 = document.getElementById('friend_firstname_'+i);
		if (!el) {
			var div = document.getElementById('friend_container_' + (i-1)).cloneNode(true);
			div.id = "friend_container_" + i;
	
			var old_container = document.getElementById('after_element');
			old_container.parentNode.insertBefore(div, old_container);

			var ins0 = div.getElementsByTagName('input')[0];
			var ins1 = div.getElementsByTagName('input')[1];
	
			ins0.id = 'friend_firstname_' + i;
			ins0.value = "";
			ins1.id = 'friend_' + i;
			ins1.value = "";
	
			el = ins1;
			el2 = ins0;
		}
		if (el && (!el.value || el.value.match(/e-mail amigo \d/g)) ) {
			cmail = emails.shift();
			cname = names.shift();
			//leeren('friend_firstname_'+i);
			el2.value = cname;
			//leeren('friend_'+i);
			el.value = cmail;
		}
	}
}

function friendfinder_open(param) {
	var scriptlimit = climit;
	var el;
	var logo =0;
	if (param == 'undefined' || param == null)
	{
		param='';
	}
	else
	{
		logo=1;
		param='';
	}
	
	var wingame_number = document.allfriend.number.value;
	var wingame_pk = document.allfriend.wingame_pk.value;
	var invlink = escape(gwslink + "?wingame_pk=" + wingame_pk + "&number=" + wingame_number);
	
	for(var i = 1; i <= climit; i++) {
		el = document.getElementById('friend_'+i);
		if (el && el.value && !el.value.match(/e-mail amigo \d/g) ) {
			scriptlimit--;
		}
	}
	
	if (scriptlimit > 0) {
		ff_iframe = document.createElement("IFRAME");
		ff_iframe.src = "/friendfinder/inviter.php?style="
							+ gwsstyle + "&climit="
							+ scriptlimit
							+ "&provider="
							+ param
							+ "&country="
							+ country
							+ "&click_logo="
							+ logo
							+ "&invlink="
							+ invlink;
		ff_iframe.style.height = "500px";
		ff_iframe.style.width = "640px";
		ff_iframe.style.position = "absolute";
		ff_iframe.style.top = "100px";
		ff_iframe.style.left = "50%";
		ff_iframe.style.marginLeft = "-320px";
		ff_iframe.style.backgroundColor = "#ffffff";
		ff_iframe.style.border = "3px solid #8D949C";
		document.body.appendChild(ff_iframe);
	}
	else {
		alert('Too many contacts. Please remove one...');
	}
}


if($('friendfinder') != null) {
		$('submit_nofriends').addEvent('click', function() {
			document.allfriend.submit();
		});
		$('submit_friends').addEvent('click', function() {
			friendfinder_open();
		});
			
}


// ---------- AGB Error Layer ---------------->
function doRegister() {
	var a = document.getElementById('agb');	
	if(!a.checked){
		hidetagsIE('select');
		document.getElementById('agberror').style.display = "block";
		return false;
	} else {
		$('reg_form').submit();		
	}
}

function doRegisterAccept(){
	var a = document.getElementById('agb');
	a.checked = "checked";
	hidelayer('agberror');
	$('reg_form').submit();
}
