var nolink = false;
var noexitpop = false;
var page;
var pointerLeft; 
var pointerRight;
var myColor;

var colors = new Hash({
	'#000871': 'Dunkelblau',
	'#003986': 'Blau',
	'#0079ae': 'Petrol',
	'#00b1ca': 'Türkis',
	'#bd0000': 'Rot',
	'#d65700': 'Orange',
	'#ffc200': 'Gelb',
	'#ebf100': 'Zitrone',
	'#373737': 'Antrazit',
	'#6d6d6d': 'Grau',
	'#9d9d9d': 'Silber',
	'#cbcbcb': 'Hellgrau',
	'#1d6000': 'Dunkelgrün',
	'#3d8900': 'Grün',
	'#78ad00': 'Grasgrün',
	'#b6d000': 'Grüngelb',
	'#3b0061': 'Indigo',
	'#650094': 'Violett',
	'#a300ba': 'Purpur',
	'#f6b4ff': 'Altrosa'
});

window.addEvent('domready', function() {

	//Pop-under function; var MAPPER maps 'BO-keyword' to html element
	MAPPER = {
		'body' : $('reg_full'),
		'freetest' : null, 
		'gender' :  $('genderbox'),
		'gender_male' : $('male'),
		'gender_female' : $('female'),
		'firstname': $('firstname'),
		'halfreg': null,
		'fulreg': $('submit_fullreg'),
		'street': $('street'),
		'country': $('landselect'),
		'extra' : null
	}
	map_elements();
	
	// in Fehlerfall reg_page initiieren
	
	// Popunder
	var triggerPopunder = $('triggerPopunder');
	var deactivated_on_partner = ['144','171'];
	var ppk_form = $('form_master');
	if (ppk_form) var ppk = ppk_form.partner_pk.value;
	if (ppk) var ppk_test = deactivated_on_partner.contains(ppk);
	if (triggerPopunder && !ppk_test) {
		triggerPopunder.addEvent('click',function() {
			showPu('http://www.myquiz2win.co.uk/perl/register.pl?todo=do_register&partner_pk=1383&tracker_source_pk=20778');
		});
	}
	
	if ($('reg_full') != null) {		
		$('reg_page').setStyle("display","none");
		if($('error') != null) { initReg(Cookie.read('plz'),Cookie.read('city')); }
		else { Cookie.dispose('color'); }
		var pf = new Fx.Tween('macbookname', {
			duration: 1013,
			onComplete: function() {
				if($('macbookname').getStyle("opacity") == "1") {
					pf.start("opacity", "1", "0.50");
				} else {
					pf.start("opacity", "0.50", "1");
				}
			}
		})
		pf.start("opacity", "1", "0.50");
	
		var isiPad = navigator.userAgent.match(/iPad/i) != null;
		
		if(!isiPad) {
			var colorchooser = new Swiff('/wingame/48/flash/faecher_flash.swf', {
				width: 350,
				height: 400,
				params: { wMode: 'transparent' },
				container: $('colorchooser')
			});	
		}
		
		// send PLZ and continue with step 2 by cklick on plzsubmit DIV or pressing "enter" Key
    	$('plzsubmit').addEvent('click', function() {	
			clearInterval(pointerRight);
			sendPLZ();
		}); 
    
		
		$('plzInput').addEvent('click', function() {	
			$('plzerror').setStyle("display","none");
		});
		
		pointerLeft = setInterval(function() { 
			var pl = new Fx.Tween('pointerleft', {
				duration: 257
			});
			pl.start("margin-left", "-45", "-60");										
		},521)
		
		// lookup of values in address field
		lookup_search();
		
		
		//Split URL to find out what flow to start with (colorchooser or promifrage) 
		var flow = 0;
		
		var urlname = document.URL;
		var parameter = urlname.split("&");
		for ( i = 0; i <= parameter.length; i++ ) {
			if( parameter[i] == "flow=1") {
				flow = 1;
			}
		}
 		if(flow == 1) {
			$('promifrage').setStyle("display","block"); 
			$('footer_promifrage').setStyle("display","block"); 
			$('colorchooser').setStyle("display","none");       
			$('footer_colorchooser').setStyle("display","none"); 
		}
    
		// Special Functions for Promifrage - Checkbox Klick and Errorlayer handling
		if($('promifrage').getStyle('display') == "block") {
			myColor = "#1d6000";
			setColor('#1d6000')
		}
		function promi_checkbox_wrong() {
			if(myColor != "") $('get_bg_color1').setStyle('background-color', myColor);
			else $('get_bg_color1').setStyle("background-color","#bd0000");
			$('get_bg_color2').setStyle("background-color","#aaaaaa"); 		  
			$('promierror').setStyle("display","block");
    	}
		function promi_checkbox_right() {
			if(myColor != "") $('get_bg_color2').setStyle('background-color', myColor);
			else $('get_bg_color2').setStyle("background-color","#bd0000");  
			$('get_bg_color1').setStyle("background-color","#aaaaaa");    
			$('antworttext').setStyle("display","block");
		}
		
		$('get_bg_color1').addEvent('click', promi_checkbox_wrong); 
		$('get_bg_color_f1').addEvent('click', promi_checkbox_wrong);  
   		$('get_bg_color2').addEvent('click', promi_checkbox_right);   
    	$('get_bg_color_f2').addEvent('click', promi_checkbox_right); 
    
		$('errorbutton').addEvent('click', function() {	            
			$('promierror').setStyle("display","none");
			$('get_bg_color1').setStyle("background-color","#aaaaaa");  
		});
	}

	//if ($('reg_full') != null) initRegFull();
	
	// events settings
	$(document.body).addEvents({
		'mouseenter': function() {
			nolink = false;
		},
		'mouseleave': function() {
			nolink = true;
		}
	});
	
	window.addEvent('unload', function() {
		exitpop(page);
	});
	
	if($('coreg') != null) {
			
		$('submit').addEvent('click', function() {
			fillcheck();
		});	
		
		var pf2 = new Fx.Tween('million', {
			duration: 987,
			onComplete: function() {
				if($('million').getStyle("opacity") == "1") {
					pf2.start("opacity", "1", "0.50");
				} else {
					pf2.start("opacity", "0.50", "1");
				}
			}
		})
		pf2.start("opacity", "1", "0.50");		

		myColor = Cookie.read('color');	
		
		var myColorName = colors.get(myColor);				 		
		
		if(myColorName == "Hellgrau" || myColorName == "Altrosa" || myColorName == "Zitrone" ) {
			$$('.getBgColor').setStyles({'background-color': myColor, 'color': '#000'});
			$$('.coreghead').setStyles({'background-color': myColor, 'color': '#000'});
		} else {
			$$('.getBgColor').setStyle('background-color', myColor);
			$$('.coreghead').setStyle('background-color', myColor);
		}
	}
	
	if($('survey') != null) {
		survey_main();
		
		Cookie.dispose('city');	
		Cookie.dispose('plz');	
			
		$('submit').addEvent('click', function() {
			document.survey.submit();
		});	
		
		var pf2 = new Fx.Tween('million', {
			duration: 1007,
			onComplete: function() {
				if($('million').getStyle("opacity") == "1") {
					pf2.start("opacity", "1", "0.50");
				} else {
					pf2.start("opacity", "0.50", "1");
				}
			}
		})
		pf2.start("opacity", "1", "0.50");
		
		myColor = Cookie.read('color');	
		var myColorName = colors.get(myColor);				 		
		
		if(myColorName == "Hellgrau" || myColorName == "Altrosa" || myColorName == "Zitrone" ) {
			$$('.getBgColor').setStyles({'background-color': myColor, 'color': '#000'});
			$$('.question').each(function(el) {
				el.getFirst().setStyles({'background-color': myColor, 'color': '#000'});
			});
		} else {
			$$('.getBgColor').setStyle('background-color', myColor);
			$$('.question').each(function(el) {
				el.getFirst().setStyle('background-color', myColor);
			});
		}
	}
	
	if ($('finish') != null) {
		var pf2 = new Fx.Tween('million',{
			duration: 991,
			onComplete: function() {
				if($('million').getStyle("opacity") == "1") {
					pf2.start("opacity", "1", "0.50");
				} else {
					pf2.start("opacity", "0.50", "1");
				}
			}
		})
		pf2.start("opacity", "1", "0.50");
	}
	
	if ($('mask_blink')) {
		ichBlinke = $('mask_blink');
		schalter = false;
		setTimeout("blinken()", 683);
	}
	  
	if($('error') != null) hidetagsIE("select");
	
	$$('.closeError').addEvent('click', function() {
		if($('error') != null) {
			$('error').setStyle("display","none");
			showtagsIE("select");
		}
	});
});

var lookup_search = function() {
	// set color if this page is redirected from a banner with color input field
	if(window.location.search.search(/color/) != -1) {
		var get_color = window.location.search.match(/color=(\w*)/)[1];
		$('answer').set('value', get_color);
		setColor('#'+get_color);
	}
	// set plz if this page is redirected from a banner with zipcode input field
	if(window.location.search.search(/zipcode/) != -1) {
		var get_zipcode = window.location.search.match(/zipcode=(\w*)/)[1];
		$('plzInput').set('value', get_zipcode);
		$('plz').set('value', get_zipcode);
		// send plz if this page is redirected from a banner with zipcode input field and fired
		if(window.location.search.search(/send=true/) != -1) {
			send_plz(get_zipcode);
		}
	}
}

//functions
function setColor(col)  {
	var color = new Fx.Morph('macbook', {
		duration: 1019
	});
	color.start({ 'background-color': col });
	var color2 = new Fx.Morph('plz', {
		duration: 1021
	});
	color2.start({ 'background-color': col });
	
	clearInterval(pointerLeft);
	
	if(!pointerRight) {
		pointerRight = setInterval(function(){ 
			var pr = new Fx.Tween('pointerright', {
				duration: 251
			});
			pr.start("margin-left", "252", "267");										
		},499);
	}
	
	var CC = Cookie.write('color', col);
}

function sendPLZ() {
	var plz = $('plzInput').get("value");
	if(plz) {
		var req = new Request({
			url: "/cgi-bin/wingame.pl?todo=get_city_from_zipcode&zipcode="+plz,
			method: 'GET',
			onSuccess: function(txt){
				var CC2 = Cookie.write('city', txt);
				var CC3 = Cookie.write('plz', plz);
				initReg(plz,txt);
			},
			onFailure: function(){
				$('plzerror').setStyle("display","block");
			}
		});		
		req.send();	
	} else {
		$('plzerror').setStyle("display","block");
	}
}

var pointerDown;

function initReg(plz,city) {	
	$('zip').set('value', plz);
	document.forms[0].city.value = city;
	
	var req = new Request({
		url: "/cgi-bin/global.pl?ident=pi_48_reg_full&todo=log_misc",
		method: 'GET'
	});		
	req.send();	
	myColor = Cookie.read('color');

	if(myColor == null) myColor = "#9d9d9d";
	
	//Cookie.dispose('color');
	var myColorName = colors.get(myColor);
	
	$('answer').set('value',myColorName);
	 
	$('pre_page').setStyle("display","none");
	$('reg_page').setStyle("display","block");
	
	if(city && city != "") { 
		$('showCity').set('html', city);	
	} else {
		$('showCity').set('html', "postcode "+plz);	
	}

	$$('.getColor').setStyle('color', myColor);
	if(myColorName == "Hellgrau" || myColorName == "Altrosa" || myColorName == "Zitrone" ) {
		$$('.getBgColor').setStyles({'background-color': myColor, 'color': '#000'});
	} else {
		$$('.getBgColor').setStyle('background-color', myColor);
	}
		
	var pf2 = new Fx.Tween('million',{
		duration: 1031,
		onComplete: function() {
			if($('million').getStyle("opacity") == "1") {
				pf2.start("opacity", "1", "0.50");
			} else {
				pf2.start("opacity", "0.50", "1");
			}
		}
	})
	pf2.start("opacity", "1", "0.50");
	
	
	$('submit_fullreg').addEvent('click', function() {
		checkform();
	});	
	
	pointerDown = setInterval(function() { 
		var pd = new Fx.Tween('pointerdown', {
			duration: 241
		});
		pd.start("margin-top", "-7", "3");										
	},509);
	
	$$('.closeError').each(function(el) {
		if(el.get('value') == "") el.set('value', el.id);
	});
	
	/*  function zum leeren von feldern, die mit label vordefiniert sind
		einfach eine class mit dem value einfuegen z.b. value="Vorname" class="Vorname" */
	var lastval = new Array();
	var countFocus = 0;
	
	$$('input').addEvent('focus', function() {
		/* letztes Feld zuruecksetzen */		
		if(lastval.length > 1 && lastval[1].get('value') == "") {
			lastval[1].set('value', lastval[0]);
		}
		/* aktuelles Feld leeren */						   
		var val = this.get('value');			
		if(val == this.id.match(val)) {
			this.set('value', '');
			lastval[0] = val;
			lastval[1] = this;
		}
		countFocus++;
		if(countFocus == 4) {
			clearInterval(pointerDown);
			pointerRightButton = setInterval(function() { 
				var prb = new Fx.Tween('pointerrightbutton', {
					duration: 239
				});
				prb.start("margin-left", "0", "10");										
			},509);
		}
	});
	$$('input').addEvent('blur', function() {
		/* letztes Feld zuruecksetzen */		
		if(lastval.length > 1 && lastval[1].get('value') == "") {
			lastval[1].set('value', lastval[0]);
		}
	});
}

function initRegFull() {
	Cookie.dispose('color');
	var myColorName = $('answer').get('value');
	var myColor = colors.keyOf(myColorName);
	Cookie.write('color', myColor);
		 		
	//$('showColor').set('html', myColorName);
	
	$$('.getColor').setStyle('color', myColor);
	if(myColorName == "Hellgrau" || myColorName == "Altrosa" || myColorName == "Zitrone" ) {
		$$('.getBgColor').setStyles({'background-color': myColor, 'color': '#000'});
	} else {
		$$('.getBgColor').setStyle('background-color', myColor);
	}
		
	var jetzt = new Date();
	var Monatsname = new Array("JAN", "FEB", "MAR", "APR", "MAI", "JUN", "JUL", "AUG", "SEP", "OKT", "NOV", "DEZ");
	
	var Tag = jetzt.getDate();
	if (Tag < 10) Tag = "0" + Tag;
		
	var datestring = "<b>"+ Tag + "</b><br>" + Monatsname[jetzt.getMonth()] + "<br><b class='white'>" + jetzt.getFullYear() + "</b>";
	//$('today').set('html', datestring);

	var pf2 = new Fx.Tween('million',{
		duration: 1021,
		onComplete: function() {
			if($('million').getStyle("opacity") == "1") {
				pf2.start("opacity", "1", "0.50");
			} else {
				pf2.start("opacity", "0.50", "1");
			}
		}
	})
	pf2.start("opacity", "1", "0.50");
	
	/*$('submit_fullreg').addEvent('click', function() {
		document.register.submit();
	});*/
	
	pointerDown = setInterval(function(){ 
		var pd = new Fx.Tween('pointerdown', {
			duration: 253
		});
		pd.start("margin-top", "-7", "3");										
	},503);
	
	var countFocus = 1;	
	$$('input').addEvent('focus', function() {
		countFocus++;
		if(countFocus == 8) {
			clearInterval(pointerDown);
			pointerRightButton = setInterval(function() { 
				var prb = new Fx.Tween('pointerrightbutton', {
					duration: 251
				});
				prb.start("margin-left", "0", "10");										
			},499);
		}
	});
}

// sweepstake functions
var count = 0;
var clearFields = new Array("Firstname","Surname");

function checkform() {
	var send = false;	
	var a = document.getElementById('agb');
	if(count>2) {
		send = true;
	} else if (!document.register.agb.checked) { 
		//showlayer('agberror');
		send = true;
	} 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', '');
			}
		}
		document.register.submit();
	}
}

function doRegisterAccept() {
	var a = document.getElementById('agb');
	a.checked = "checked";
	hidelayer('agberror');			
	checkform();
}

var errortext = true;
function fillcheck() {
	ausgabe = true;
	for(i=0;i<(document.inter.length);i++) {
		//alert("name:"+document.inter.elements[i].name + ", ind:" + document.inter.elements[i].name.indexOf("question::"));
		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');
		document.getElementById('werbeflaeche_coreg').style.display = 'block';
		//alert("Bitte w&auml;hlen Sie mindestens ein Gratis Angebot aus,\nindem Sie die Checkbox anklicken.");
		ausgabe = false;
	}

	if(ausgabe == true) {
		document.inter.submit();
	}
}

/* send page1 by pressing "enter" *******************************************/
function send_plz(entered){
	clearInterval(pointerRight);
	sendPLZ();
}

/* DIVs sichtbar und unsichtbar macht ************************************************************************************************* */
function hidelayer(divs) {
	$(divs).setStyle("display", "none");
}
	
function showlayer(divs) {
	$(divs).setStyle("display", "block");
}
	
 /* Button PLZ auf erster Seite blinken lassen *************************************************************/
function blinken() {
	if(schalter) {
		ichBlinke.style.backgroundPosition = "0px 0px";
	} else {
		ichBlinke.style.backgroundPosition = "0px -188px";
	}
	schalter=!schalter;
	setTimeout("blinken()", 683);
}
