var current_page = '';
var allow_poplink = true;
//was the prize chosen?
prize_check = false;
error_show = false;
var step = 1;
var prize = 1;
var isBouncing = false;

window.addEvent('domready', function() {
	current_page = $(document.body).get('id');
	
	$$('.poplink').addEvent('click', function() {
		open_poplink(this);
		return false;
	});
	if(current_page == 'clientlogin') {
		$('submit_login').addEvent('click', function() {
			$('form_login').submit();
			return false;
		});
	}
	
	//which page?
	var startpage = $('startpage');
	var startpage2 = $('startpage2'); //Startpage with errors on it
	var el = $('elastic_arrow');
	var codein = $('codein');
	
	//prize already chosen? display prize properly then:
	if (Cookie.read('prize')) {
		prize = Cookie.read('prize');
		//look if prize image is present and set it to given choice:
		var prizeDisplay = $('chosen');
		if (prize == '0') {
			if (prizeDisplay) {
				prizeDisplay.removeClass('prize2');
				prizeDisplay.addClass('prize1');
			}
			if (startpage) {
				$('button_prize2').removeClass('selected');
				$('button_prize1').addClass('selected');
			}
		} else {
			if (prizeDisplay) {
				prizeDisplay.removeClass('prize1');
				prizeDisplay.addClass('prize2');
			}
			if (startpage) {
				$('button_prize1').removeClass('selected');
				$('button_prize2').addClass('selected');
			}
		}
		if (startpage || startpage2) {
			add_price_parameter(prize);
		}
	} else {
		if (startpage) {
			//preselect golf as prize on startup!!!
			prize_check = true;
			$('button_prize1').removeClass('selected');
			$('button_prize2').addClass('selected');
			//var myCookie = Cookie.write('prize', '1', {duration: 365});
		}
	}

	if (startpage) {

		//mouse over for prize #1
		$('prize1').addEvents({
			'mouseenter': function(){
				$('button_prize1').addClass('active');
				$('button_prize2').removeClass('selected');
			},
			'mouseleave': function(){
				$('button_prize1').removeClass('active');
				if (prize==1) $('button_prize2').addClass('selected');
			},
			'click': function(){
				prize = 0;
				prize_check = true;
				$('button_prize2').removeClass('selected');
				$('button_prize1').addClass('selected');
				var myCookie = Cookie.write('prize', '0', {duration: 365});
				add_price_parameter(prize);
				
				//move on to second screen w/o click...
				goOn();
				
			}
		});
		//mouse over for prize #2
		$('prize2').addEvents({
			'mouseenter': function(){
				$('button_prize2').addClass('active');
				$('button_prize1').removeClass('selected');
			},
			'mouseleave': function(){
				$('button_prize2').removeClass('active');
				if (prize==0) $('button_prize1').addClass('selected');
			},
			'click': function(){
				prize = 1;
				prize_check = true;
				$('button_prize1').removeClass('selected');
				$('button_prize2').addClass('selected');
				var myCookie = Cookie.write('prize', '1', {duration: 365});
				add_price_parameter(prize);
				goOn();
			}
		});
		
		var goOn = function() {
		  if (error_show) hideBox('errorbox1');
		  		window.location.href = "?pageId=checkout";
		}
		//bounce arrow on number input page:

		var url = location.href.split("p=");
		if(url.length>1) {
			var sprize = url[1].substring(0,1);
			if(sprize == 1) {
				$('button_prize1').removeClass('selected');
				$('button_prize2').addClass('selected');
			} else {
				$('button_prize2').removeClass('selected');
				$('button_prize1').addClass('selected');
			}
				prize_check = true;
				var myCookie = Cookie.write('prize', sprize, {duration: 365});
				add_price_parameter(sprize);
				goOn();
		}
		
		//slide effect 1st screen:
		$('switch1').addEvent('click', function() {
			if (prize_check) {
				goOn();
			} else {
				add_price_parameter(1);
				goOn();
				//slideBox('errorbox1',40);
				//error_show = true;
			}
		});
	};

	//close button on member input area on start page:
	var closeLogin = $('close_login');
	if (closeLogin) closeLogin.addEvent('click', function() {
			hideBox('login');
	});
	
});

/* global_getDate() zum beziehen eines Datums inklusive Uhrzeit nach individuellen Format */
// format (Bsp: "dd.mm.yyyy um hh:mm:ss" oder "am DD den dd. (hh:miampm)"):
//   dd = Tag des Monats mit f�hrender 0 falls einstellig
//   DD = Wochentag
//   mm = Monat mit f�hrender 0 falls einstellig
//   MM = Monat ausgeschrieben
//   yyyy = Jahr vierstellig
//   yy = Jahre zweistellig mit '
//   hh = Stunden mit f�hrender 0 falls einstellig
//   mi = Minuten mit f�hrender 0 falls einstellig
//   ss = Sekunden mit f�hrender 0f falls einstellig
//   ampm = Gibt eine zw�lfst�ndige Uhrzeit mit am / pm zur�ck
// days: Array mit den Wochentagen
// month: Array mit den Monaten
// Bsp:
//   $('dateTime').set('text',global_getDate('dd.mm.yyyy hh:mi:ss'));
//   var days = ['Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag'];
//   var month = ['Januar','Februar','M�rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'];
//   $('dateTime').set('text',global_getDate('DD der dd. MM yy um hh:mi:ssampm',days,month));
global_getDate = function(format, days, month) {
	global_getDate.now = new Date();
	var ampm = false;
	if(format.search(/ampm/) > -1) {
		format = format.replace(/ampm/g, global_getDate.getAMPM());
		ampm = true;
	}
	if(format.search(/dd/) > -1) format = format.replace(/dd/g, global_getDate.getDay());
	if(format.search(/DD/) > -1) format = format.replace(/DD/g, global_getDate.getDay(days));
	if(format.search(/mm/) > -1) format = format.replace(/mm/g, global_getDate.getMonth());
	if(format.search(/MM/) > -1) format = format.replace(/MM/g, global_getDate.getMonth(month));
	if(format.search(/yyyy/) > -1) format = format.replace(/yyyy/g, global_getDate.getYear(true));
	if(format.search(/yy/) > -1) format = format.replace(/yy/g, global_getDate.getYear(false));
	if(format.search(/hh/) > -1) format = format.replace(/hh/g, global_getDate.getHours(ampm));
	if(format.search(/mi/) > -1) format = format.replace(/mi/g, global_getDate.getMinutes());
	if(format.search(/ss/) > -1) format = format.replace(/ss/g, global_getDate.getSeconds());
	return format;
}
global_getDate.getDay = function(days) {
	var result = '';
	if($type(days) == 'array') {
		result = days[global_getDate.now.getDay()];
	} else {
		result = global_getDate.now.getDate();
		if(result.length < 10) result = '0' + result;
	}
	return result;
}
global_getDate.getMonth = function(month) {
	var result = '';
	if($type(month) == 'array') {
		result = month[global_getDate.now.getMonth()];
	} else {
		result = global_getDate.now.getMonth() + 1;
		if(result < 10) result = '0' + result;
	}
	return result;
}
global_getDate.getYear = function(full) {
	var result = '';
	result = global_getDate.now.getFullYear();
	if(!full) result = '\'' + (result.toString()).substring(2,4);
	return result;
}
global_getDate.getHours = function(ampm) {
	var result = '';
	result = global_getDate.now.getHours();
	if(ampm && result > 12) result -= 12;
	if(result < 10) result = '0' + result;
	return result;
}
global_getDate.getMinutes = function() {
	var result = '';
	result = global_getDate.now.getMinutes();
	if(result < 10) result = '0' + result;
	return result;
}
global_getDate.getSeconds = function() {
	var result = '';
	result = global_getDate.now.getSeconds();
	if(result < 10) result = '0' + result;
	return result;
}
global_getDate.getAMPM = function() {
	var result = '';
	if(global_getDate.now.getHours() > 12) result = 'pm';
	else  result = 'am';
	return result;
}

//adding selected price to the form's action as parameter:

var prizes = new Array('money','car');


var add_price_parameter = function(prize_no) {
	var forms = $$('form');
	forms.each ( function(item) {
		var thisAction = item.get('action');
		if (thisAction.indexOf('?p=0') > -1) {
			var newAction = thisAction.replace('?p=0','');
			thisAction = newAction;
		} else if (thisAction.indexOf('?p=1') > -1) {
			var newAction = thisAction.replace('?p=1','');
			thisAction = newAction;
		}
		thisAction += '?p=' + prize_no;
		var ausgabe = $(item).set('action', thisAction);
	});
	if ($('setprize')) $('setprize').set("value", prizes[prize]);
}

//showBox-Function eg. error box on start page:
var slideBox = function(boxId,size) {
	var outer = $(boxId);
	var inner = $(boxId+'_content');
	outer.setStyle('display','block');
	inner.setStyles({
		overflow: 'hidden',
		height: '0px'
	});
	var slideIn = new Fx.Morph(inner, {duration: 650, transition: Fx.Transitions.Elastic.easeOut});
	slideIn.start({
	    'height': [0, size] //Morphs the 'height' style from 0px to 'size'
	});
}
//hideBox-Function eg. error box on start page:
var hideBox = function(boxId) {
	var outer = $(boxId);
	var inner = $(boxId+'_content');
	var slideOut = new Fx.Morph(inner, {duration: 350, transition: Fx.Transitions.Sine.easeOut, onComplete:function(){outer.style.display='none'} });
	slideOut.start({
	    height: '0px'
	});
}

// Die ultimative show/hide-Funktion (eins oder mehrere Elemente)
var toggle = function(elements) {
	for (i=0; i<toggle.arguments.length; i++) {
		var el = $(toggle.arguments[i]);
		if(el) {
			if (el.getStyle("display") == "none") el.setStyle("display","block");
			else if (el.getStyle("display") == "block") el.setStyle("display","none");
		}
	}
};

// Die allseits beliebten Bouncing Arrows - Mootools Style ;)
var bounceArrow = function() {	
	var arrow_left = $('arrow_left');
	var arrow_right = $('arrow_right');
	arrow_left.setStyles({
		display: 'block',
		left: '-130px',
		top: '45px'
	});
	arrow_right.setStyles({
		display: 'block',
		right: '-130px',
		top: '45px'
	});
	
	arrow_left.tween('left','-85px');
	arrow_right.tween('right','-85px');
};

// elastic Arrow to the right
var elasticArrow = function() {
	var el = $('elastic_arrow');
	if (el) {
		el.setStyle('position','relative');
		var myFx = new Fx.Tween(el, {property: 'left', duration: 550, transition: Fx.Transitions.Sine.easeOut});
		myFx.start(0,15).chain(
			function(){ this.start(15,0); }
		);		
	}
}

// Die ultimative blink-Funktion (eins oder mehrere Elemente)
var blinkit = function(elements) {
	for (i=0; i<blinkit.arguments.length; i++) {
		var el = $(blinkit.arguments[i]);
		if(el) {
			if (el.getStyle("visibility") == "hidden") el.setStyle("visibility","visible");
			else if (el.getStyle("visibility") == "visible") el.setStyle("visibility","hidden");
		}
	}
};

// Popup Funktion
var popupWindow = function(url,win,features) {
	window.open(url,win,features);
};

// show which iframe was loaded and show or hide the arrows
var c_iframe = 0;
function ifloadediframenew() {
	c_iframe++;
	if (c_iframe == 2) {
		$('arrow_left').style.visibility = 'hidden';
		$('arrow_right').style.visibility = 'hidden';
	}
}

//Standards

function showDiv(div) {
	$(div).setStyle('display','block');
}
function hideDiv(div) {
	$(div).setStyle('display','none');
}
function MM_openBrWindow(theURL,winName,features) {
	window.open(theURL,winName,features);
}

/*function setTelInput() {
	var inputEl = $('nummer');
	if (inputEl) {
		inputEl.focus();
		inputEl.value = '01';
	}
}*/

// Show/Hide-Funktion (eins oder mehrere Elemente)
var toggle = function(elements) {
	for (i = 0; i < toggle.arguments.length; i++) {
		var el = $(toggle.arguments[i]);
		if (el) {
			if (el.getStyle("display") == "none") el.setStyle("display","block");
			else if (el.getStyle("display") == "block") el.setStyle("display","none");
		}
	}
};

// Show-Funktion (eins oder mehrere Elemente)
var show = function(elements) {
	for (i = 0; i < show.arguments.length; i++) {
		var el = $(show.arguments[i]);
		if (el) {
			el.setStyle("display","block");
		}
	}
};

// Hide-Funktion (eins oder mehrere Elemente)
var hide = function(elements) {
	for (i = 0; i < hide.arguments.length; i++) {
		var el = $(hide.arguments[i]);
		if(el) {
			el.setStyle("display","none");
		}
	}
};

var open_poplink = function(link) {
	if(allow_poplink) {
		var width = 380;
		var height = 640;
		var link_class = link.get('class');
		if(link_class.search(/^.*width_\d{3,4}.*$/i) > -1) {
			width = link_class.replace(/^.*width_(\d{3,4}).*$/i, '$1');
		}
		if(link_class.search(/^.*height_\d{3,4}.*$/i) > -1) {
			height = link_class.replace(/^.*height_(\d{3,4}).*$/i, '$1');
		}
		window.open(link.href, '', 'scrollbars=yes,width='+width+',height='+height);
	}
}

