
/*
var Sec1 =
{
	div : 'sec1',
	form : 'frm_form1',
	isVisible : true,
	redirect : '',

	save : function()
	{
		new Ajax.Request
		(
			'save.php',
			{
				method : 'post',
				parameters : Form.serialize(Sec1.form),
				onSuccess : Sec1.processSaveResponse
			}
		);
	},

	processSaveResponse : function(response)
	{
		//alert(response.responseText);

		if (response.responseJSON)
		{
			if (Sec1.redirect != '')
			{
				window.location.href = Sec1.redirect + response.responseJSON.id;
			}
			else
			{
				$(Sec1.form).elements['id'].value = response.responseJSON.id;

				if ($('a_feedback'))
				{
					$('a_feedback').href += '&id=' + response.responseJSON.id;
				}

				Sec2.setTitle(response.responseJSON.title);
				Sec2.setIntro(response.responseJSON.intro);

				Sec1.hide();
				Sec2.show();
				//Tellafriend.activate();

				partnerComplete(response.responseJSON.raw);
			}
		}
	},

	hide : function()
	{
		new Effect.BlindUp($(Sec1.div), { duration : .5 });
	}
}


var Sec2 =
{
	div : 'sec2',
	isVisible : false,

	setTitle : function(str)
	{
		$('p_sec2_title').innerHTML = str;
	},

	setIntro : function(str)
	{
		$('p_sec2_intro').innerHTML = str;
	},

	show : function()
	{
		new Effect.BlindDown
		(
			Sec2.div,
			{
				duration : .5,
				afterFinish : function()
				{
					$(Sec2.div).style.overflow = 'hidden'; // otherwise IE will blow it up
					Tellafriend.load();
				}
			}
		);
	}
}
*/

var Tellafriend =
{
	div : 'tellafriend',
	content : 'tellafriend',
	//content : 'taf_content',
	form : 'frm_taf',
	isVisible : false,

	load : function()
	{
		new Ajax.Updater
		(
			Tellafriend.content,
			'tellafriend.php',
			{
				method : 'post',
				parameters : { id : document.forms[0].elements['id'].value },
				onSuccess : Tellafriend.show
			}
		);
	},

	send : function()
	{
		new Ajax.Request
		(
			'tellafriend_send.php',
			{
				method : 'post',
				parameters : Form.serialize($(Tellafriend.form)),
				onSuccess : function(response)
				{
					$(Tellafriend.form).elements['sex'].selectedIndex = 0;
					$(Tellafriend.form).elements['firstName'].value = '';
					$(Tellafriend.form).elements['lastName'].value = '';
					$(Tellafriend.form).elements['email'].value = '';

					if (response.responseJSON)
					{
						InfoMessage.showKeep(response.responseJSON.title, response.responseJSON.text);
					}
				}
			}
		);
	},

	show : function()
	{
		if (!Tellafriend.isVisible)
		{
			Tellafriend.isVisible = true;
			new Effect.BlindDown
			(
				Tellafriend.div,
				{
					duration : .5,
					scaleMode : { originalHeight : 170 },
					afterFinish : function()
					{
						$(Tellafriend.div).style.overflow = 'hidden'; // otherwise IE will blow it up
					}
				}
			);
		}
	}

	/*
	show : function()
	{
		if (!Tellafriend.isVisible)
		{
			Tellafriend.isVisible = true;

			TintedGlass.show(.6);

			Tellafriend.center();

			new Effect.Parallel
			(
				[
					new Effect.Appear(Tellafriend.div),
					new Effect.BlindDown(Tellafriend.div, { scaleFromCenter : true, scaleMode : { originalHeight : 160 } })
				],
				{
					duration : 1,
					afterFinish : function()
					{
						new Effect.Appear($(Tellafriend.div).getElementsByTagName('div')[0], { duration : .5 });
					}
				}
			);
		}
	},

	hide : function()
	{
		if (Tellafriend.isVisible)
		{
			Tellafriend.isVisible = false;

			TintedGlass.hide();

			Element.hide($(Tellafriend.div).getElementsByTagName('div')[0]);

			new Effect.Parallel
			(
				[
					new Effect.Fade(Tellafriend.div),
					new Effect.BlindUp(Tellafriend.div, { scaleFromCenter : true, scaleMode : { originalHeight : 160 } })
				],
				{
					duration : 1
				}
			);
		}
	},

	center : function() {
		var pageSize = getPageSize();
		var scrollTop = (document.body.scrollTop) ? document.body.scrollTop : document.documentElement.scrollTop;
		var scrollLeft = (document.body.scrollLeft) ? document.body.scrollLeft : document.documentElement.scrollLeft;
		// $(div).style.position = 'absolute';
		$(Tellafriend.div).style.left = pageSize[0] / 2 - Element.getWidth($(Tellafriend.div)) / 2 + 'px';
		$(Tellafriend.div).style.top = (pageSize[1] + scrollTop) / 2 - Element.getHeight($(Tellafriend.div)) / 2 + 'px';
	}
	*/
}


var Leseprobe =
{
	wnd : null,

	show : function()
	{
		Leseprobe.wnd = window.open('leseprobe.php', 'leseprobe', 'width=900,height=700,location=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=no');
	},

	close : function()
	{
		Leseprobe.wnd.close();
	}
}

/*
function handleOfferTree(event)
{
	var source = (event.srcElement) ? event.srcElement : event.target;

	if (!$('chk_offer_renewal').checked)
	{
		subOffers1.hide();
	}
	if (/*!$('chk_offer_gift').checked* / true)
	{
		subOffers2.hide(Form2.hide);
		Form1.show('age');
	}


	if ($('chk_offer_renewal').checked)
	{
		subOffers1.show();
	}
	if (/*$('chk_offer_gift').checked* / false)
	{
		subOffers2.show(Form2.show);
		Form1.hide('age');
	}

	if (source.checked && source.name != 'offer_none' && source.name != 'offer_1free' && source.name != 'offer_3month' )
	{
		Form1.hide('phone');
	}
	else
	{
		Form1.show('phone');
	}
}

function SubOffers(element)
{
	this.element;
	this.isVisible = false;

	this.element = element;

	this.show = function(onFinish)
	{
		if (!this.isVisible)
		{
			var onFinish = (onFinish) ? onFinish : function() {};
			this.isVisible = true;

			for (var i = 0; i < $('tbl_offers').getElementsByTagName('label').length; i++)
			{
				if ($('tbl_offers').getElementsByTagName('label')[i].className == 'blue')
				{
					$('tbl_offers').getElementsByTagName('label')[i].className = 'grey';
				}
			}
			element.parentNode.getElementsByTagName('label')[0].className = 'blue';

			new Effect.BlindDown(element, { duration : .5, afterFinish : onFinish });
		}
	}

	this.hide = function(onFinish)
	{
		if (this.isVisible)
		{
			var onFinish = (onFinish) ? onFinish : function() {};
			this.isVisible = false;

			for (var i = 0; i < $('tbl_offers').getElementsByTagName('label').length; i++)
			{
				if ($('tbl_offers').getElementsByTagName('label')[i].className == 'grey')
				{
					$('tbl_offers').getElementsByTagName('label')[i].className = 'blue';
				}
			}
			element.parentNode.getElementsByTagName('label')[0].className = 'gray';

			new Effect.BlindUp(element, { duration : .5, afterFinish : onFinish });
		}
	}
}
*/

var Form1 =
{
	show : function(fieldName)
	{
		if (!Element.visible($('frm_form1').elements['billing['+fieldName+']'].parentNode.parentNode))
		{
			new Effect.Appear($('frm_form1').elements['billing['+fieldName+']'].parentNode.parentNode, { duration : .5 });
		}
	},

	hide : function(fieldName)
	{
		if (Element.visible($('frm_form1').elements['billing['+fieldName+']'].parentNode.parentNode))
		{
			new Effect.Fade($('frm_form1').elements['billing['+fieldName+']'].parentNode.parentNode, { duration : .5 });
		}
	}
}


var Form2 =
{
	isVisible : false,

	show : function()
	{
		if (!Form2.isVisible)
		{
			Form2.isVisible = true;
			new Effect.BlindDown($('form2'), { duration : .5 });
			new Effect.Appear($('p_form2_title'), { duration : .5 });
			new Effect.Appear($('p_form1_title'), { duration : .5 });
		}
	},

	hide : function()
	{
		if (Form2.isVisible)
		{
			Form2.isVisible = false;
			new Effect.BlindUp($('form2'), { duration : .5 });
			new Effect.Fade($('p_form2_title'), { duration : .5 });
			new Effect.Fade($('p_form1_title'), { duration : .5 });
		}
	}
}


var Terms =
{
	div : 'terms',
	isVisible : false,

	show : function()
	{
		if (!Terms.isVisible)
		{
			Terms.isVisible = true;

			TintedGlass.show(.6);

			Terms.center();

			new Effect.Parallel
			(
				[
					new Effect.Appear(Terms.div),
					new Effect.BlindDown(Terms.div, { scaleFromCenter : true, scaleMode : { originalHeight : 370 } })
				],
				{
					duration : 1,
					afterFinish : function()
					{
						new Effect.Appear($(Terms.div).getElementsByTagName('div')[0], { duration : .5 });
					}
				}
			);
		}
	},

	hide : function()
	{
		if (Terms.isVisible)
		{
			Terms.isVisible = false;

			TintedGlass.hide();

			Element.hide($(Terms.div).getElementsByTagName('div')[0]);

			new Effect.Parallel
			(
				[
					new Effect.Fade(Terms.div),
					new Effect.BlindUp(Terms.div, { scaleFromCenter : true, scaleMode : { originalHeight : 370 } })
				],
				{
					duration : 1
				}
			);
		}
	},

	center : function() {
		var pageSize = getPageSize();
		var scrollTop = (document.body.scrollTop) ? document.body.scrollTop : document.documentElement.scrollTop;
		var scrollLeft = (document.body.scrollLeft) ? document.body.scrollLeft : document.documentElement.scrollLeft;
		// $(div).style.position = 'absolute';
		$(Terms.div).style.left = pageSize[0] / 2 - Element.getWidth($(Terms.div)) / 2 + 'px';
		$(Terms.div).style.top = (pageSize[1] + scrollTop) / 2 - Element.getHeight($(Terms.div)) / 2 + 'px';
	}
}


var Impressum =
{
	div : 'impressum',
	isVisible : false,

	show : function()
	{
		if (!Impressum.isVisible)
		{
			Impressum.isVisible = true;

			TintedGlass.show(.6);

			Impressum.center();

			new Effect.Parallel
			(
				[
					new Effect.Appear(Impressum.div),
					new Effect.BlindDown(Impressum.div, { scaleFromCenter : true, scaleMode : { originalHeight : 400 } })
				],
				{
					duration : 1,
					afterFinish : function()
					{
						new Effect.Appear($(Impressum.div).getElementsByTagName('div')[0], { duration : .5 });
					}
				}
			);
		}
	},

	hide : function()
	{
		if (Impressum.isVisible)
		{
			Impressum.isVisible = false;

			TintedGlass.hide();

			Element.hide($(Impressum.div).getElementsByTagName('div')[0]);

			new Effect.Parallel
			(
				[
					new Effect.Fade(Impressum.div),
					new Effect.BlindUp(Impressum.div, { scaleFromCenter : true, scaleMode : { originalHeight : 400 } })
				],
				{
					duration : 1
				}
			);
		}
	},

	center : function() {
		var pageSize = getPageSize();
		var scrollTop = (document.body.scrollTop) ? document.body.scrollTop : document.documentElement.scrollTop;
		var scrollLeft = (document.body.scrollLeft) ? document.body.scrollLeft : document.documentElement.scrollLeft;
		// $(div).style.position = 'absolute';
		$(Impressum.div).style.left = pageSize[0] / 2 - Element.getWidth($(Impressum.div)) / 2 + 'px';
		$(Impressum.div).style.top = (pageSize[1] + scrollTop) / 2 - Element.getHeight($(Impressum.div)) / 2 + 'px';
	}
}


var InfoMessage =
{
	div : 'info_message_light',
	divContent : 'info_message_light',
	duration : 0.5,
	funcPointer : null,
	clickHandler : null,
	timer : null,
	executer : null,
	lightOpen : false,
	isOpen : false,

	show : function(maintext, text)
	{
		InfoMessage.div = 'info_message';
		InfoMessage.divContent = 'info_message_content';

		$(InfoMessage.divContent).innerHTML = '<p><strong>' + maintext + '</strong></p>';

		if (text) {
			$(InfoMessage.divContent).innerHTML += '<p>' + text + '</p>';
		}

		InfoMessage.lightOpen = true;
		//brwsr.hideSelects();
		InfoMessage.funcPointer = InfoMessage.autoHide;
		InfoMessage.executer = new PeriodicalExecuter(InfoMessage.funcPointer, 5);
		InfoMessage.clickHandler = InfoMessage.hide;
		Element.observe($(InfoMessage.div), 'click', InfoMessage.clickHandler);
		InfoMessage.appearDiv();
	},

	showKeep : function(maintext, text)
	{
		InfoMessage.div = 'info_message';
		InfoMessage.divContent = 'info_message_content';

		$(InfoMessage.divContent).innerHTML = '<p><strong>' + maintext + '</strong></p>';

		if (text) {
			$(InfoMessage.divContent).innerHTML += '<p>' + text + '</p>';
		}

		InfoMessage.isOpen = true;
		//brwsr.hideSelects();
		InfoMessage.appearDiv();
	},

	autoHide : function(pe)
	{
		InfoMessage.div = 'info_message';
		InfoMessage.divContent = 'info_message_content';

		InfoMessage.lightOpen = false;
		pe.stop();
		InfoMessage.disappearDiv();
	},

	hide : function()
	{
		if (InfoMessage.lightOpen)
		{
			InfoMessage.div = 'info_message';
			InfoMessage.divContent = 'info_message_content';

			if (InfoMessage.executer) { InfoMessage.executer.stop(); }
			InfoMessage.lightOpen = false;
			Element.stopObserving($(InfoMessage.div), 'click', InfoMessage.clickHandler)
			InfoMessage.disappearDiv();
		}
		if (InfoMessage.isOpen)
		{
			InfoMessage.div = 'info_message';
			InfoMessage.divContent = 'info_message_content';

			InfoMessage.isOpen = false;
			InfoMessage.disappearDiv();
		}
	},

	appearDiv : function()
	{
		InfoMessage.center();

		new Effect.Appear
		(
			InfoMessage.div,
			{
				duration: InfoMessage.duration,
				afterFinish : function()
				{
					new Effect.Appear($(InfoMessage.div).getElementsByTagName('div')[0], { duration : .5 });
				}
			}
		);
	},

	disappearDiv : function()
	{
		Element.hide($(InfoMessage.div).getElementsByTagName('div')[0]);

		new Effect.Fade
		(
			InfoMessage.div,
			{
				duration: InfoMessage.duration
			}
		);
	},

	center : function()
	{
		var pageSize = getPageSize();
		var scrollTop = (document.body.scrollTop) ? document.body.scrollTop : document.documentElement.scrollTop;
		var scrollLeft = (document.body.scrollLeft) ? document.body.scrollLeft : document.documentElement.scrollLeft;
		$(InfoMessage.div).style.position = 'absolute';
		$(InfoMessage.div).style.left = pageSize[0] / 2 - Element.getWidth($(InfoMessage.div)) / 2 + 'px';
		$(InfoMessage.div).style.top = (pageSize[1] + scrollTop) / 2 - (Element.getHeight($(InfoMessage.div)) / 2) -100 + 'px';
	}

}
