/*
E-Mail-Adresse
*/
document.observe("dom:loaded", function() {
	if( $('newsletter') != null ) {
		initNewsletterForm();
	}
});

function initNewsletterForm(){
	
	
	/* kann nicht verwendet werden, da der Shop multilingual ist */
	$('newsletter_input').observe('focus', function(event){
		if($('subscribe_email').value == 'Ihre E-Mail-Adresse'){
			$('subscribe_email').value = '';
		}
	});	
	
	$$('#newsletter').each(function(el){
	
		el.observe('click', function(event){
			newsletter_subscription(el);
		
		});	
	});
	
	$$('#newsletter-subscribe-footer').each(function(el){
		el.observe('click', function(event){
			newsletter_subscription(el);
		});	
	});

	
	Event.observe('newsletter_input', 'keypress', onNewsletterKeypressEnter);	
	
}

function onNewsletterKeypressEnter(event){
	if (Event.KEY_RETURN == event.keyCode || 13 == event.keyCode ) {
		newsletter_subscription(null);
	}
	return;
}



var newsletterbox;
function newsletter_subscription(emailFieldElement) {
	if ($('newsletter_subscribe') == undefined){
	 	alert('sorry not here'); 
	}

	var timestamp = new Date().getTime();

	var url = '/content/newsletter_subscribe/?action=output&content_only=true&timestamp='+timestamp;
	new Ajax.Request(url, {
		method: 'get',
		//contentType: 'iso-8859-15',
		onSuccess: function(transport) {
			//alert(transport.responseText);
			$('newsletter_subscribe').update(transport.responseText);
			//$('newsletter_subscribe_overlay').hide();
			$('newsletter_subscribe_overlay').setStyle({
				display: 'block',
				opacity: '0'
			});
			
			$('newsletter_subscribe').setStyle({
				display: 'block',
				opacity: '0'
			});
			
			// Abfrage, ob Client KEIN mobile device
			if( typeof(global.client) == 'undefined' || global.client == 'CLIENT' ) {
				//$('newsletter_subscribe_overlay').setOpacity(0.4);
				new Effect.Opacity('newsletter_subscribe_overlay', { 
					from: 0.0, 
					to: 0.4, 
					duration: 0.2,
					afterFinish:function(){
						new Effect.Opacity('newsletter_subscribe', { 
							from: 0.0, 
							to: 1, 
							duration: 0.2,
							afterFinish:function(){
								// irgendwas
							}
						});
					}
				});
			} else {
			// Bei mobile device 
				new Effect.Opacity('newsletter_subscribe_overlay', { 
					from: 0.0, 
					to: 0.4, 
					duration: 0.2,
					afterFinish:function(){
						new Effect.Opacity('newsletter_subscribe', { 
							from: 0.0, 
							to: 1, 
							duration: 0.2,
							afterFinish:function(){
								// irgendwas
							}
						});
					}
				});

				other_toggleList();
				
				// Für die Stelen im Ladenlokal
				if( typeof(TerminalControl) != 'undefined' ) {
					
					TerminalControl.stopScannerBlurHandler();
					
					TerminalControl.keyboardShow('SKKFull');
					SiteKiosk.Keyboard.MoveTo(SiteKiosk.Keyboard.Left,1300);
				}
				
			}

			//$('newsletter_subscribe_overlay').setOpacity(0.4);
			$('newsletter_subscribe').setStyle({
				display: 'block'
			});
			observeNlSubscrCloseBtn();
			centerForm();
			$('subscribe_email').value = $('newsletter_input').value;
			
			$('newsletter_subscribe_form').getInputs('radio', 'subscribe_salutation').find(function(r){return r.value=='Frau'}).checked = 1;
			$('subscribe_email').observe('focus', function(event){
				if($('subscribe_email').value == 'E-Mail-Adresse'){
					$('subscribe_email').value = '';
				}
			});	
		},
		onFailure: function(transport){
			alert('AJAX connection "timed out". Try again.');
		}
	});
	
	return false;
}

function observeNlSubscrCloseBtn(){
	$$('#newsletter-overlay .closebtn').each(function(el){
		el.observe('click', function(event){
			close_newsletter_subscription();
		});	
	});
}

function close_newsletter_subscription(){
	$('newsletter_subscribe_overlay').setStyle({
		display: 'none'
	});
	
	$('newsletter_subscribe').setStyle({
		display: 'none'
	});
	
	// Tastatur bei den Stelen-PCs wieder runterfahren
	if( typeof(TerminalControl) != 'undefined' ) {
		TerminalControl.keyboardHide();
		window.setTimeout("TerminalControl.startScannerBlurHandler()",50);
	}

}

function centerForm(){
	var dimensions = $('newsletter_subscribe').getDimensions();
	var windimensions = document.viewport.getDimensions();
	var x = (windimensions.width / 2) - (dimensions.width / 2);
	var y = (windimensions.height / 2) - (dimensions.height / 2);
	//alert(x + " / " +y);
	if(x<0)
		x = 0;
	if(y<0)
		y = 0;
		
	$('newsletter_subscribe').setStyle({
		left: x+'px',
		top: y+'px'
	});
}

function resizeBox(){
	var dimensions = $('newsletter-overlay').getDimensions();
	$('newsletter-overlay').setStyle({
		width: dimensions.width+'px',
		height: dimensions.height+'px'
	});
}




function newsletter_subscribe_form_submit(){
	var timestamp = new Date().getTime();
	var url = '/content/newsletter_subscribe/?action=process&content_only=true&timestamp='+timestamp;
	
	// Wichtig für die toggle-list bei den mobile devices
	if( $('subscribe_salutation').type == 'hidden' ) {
		var anRede = $('subscribe_salutation').value;
	} else {
		var anRede = $('newsletter_subscribe_form').getInputs('radio', 'subscribe_salutation').find(function(r){return r.checked}).value;
	}
	
	// nochmal für die mobiles
	var toggleLists = $$('.toggle_list').concat($$('.toggle_list *'));
	if( toggleLists.size() > 0 ) {
		toggleLists.invoke('stopObserving', global.pointHandler());
	}
	
	var firstName = $('subscribe_first_name').value;
	var lastName  = $('subscribe_last_name').value;
	var eMail 	  = $('subscribe_email').value;
	
	// die stelen übergeben hier keine postdaten??
	// deswegen nochmal alles in get übergeben
	// (keine ahnung, ich seh den fehler nicht, haro)
	if( global.client == 'terminal' ) {
		var newUrl = url + '&salutation=' + anRede + '&first_name=' + firstName + '&last_name=' + lastName + '&email=' + eMail;
	}

	new Ajax.Request(
		(global.client == 'terminal' ? newUrl : url), 
		{
			method: 'post',

			parameters: {
				action: 'process', 
				content_only: 'true', 
				salutation: anRede,
				first_name: firstName,
				last_name: lastName,
				email: eMail
			},

			onSuccess: function(transport) {

				$('newsletter_subscribe').update(transport.responseText);
				$('subscribe_first_name').value = firstName;
				$('subscribe_last_name').value 	= lastName;
				$('subscribe_email').value 		= eMail;
				
				// bei den mobile devices die toggle-list und die tastatur bedienen
				if( global.style == 'mobile' ) {
					$('subscribe_salutation').value = anRede;

					if( typeof($$('div.toggle_list')) != 'undefined' && typeof($$('div.toggle_list')[0].select('div.option')) ) {
						$$('div.toggle_list')[0].select('div.option').each(function(pe){
							if( pe.hasClassName('value_'+anRede) ) {
								pe.addClassName('selected');
							}
						});
					}
					$('subscribe_salutation').value = anRede;
					
					other_toggleList();
					
					// Für die Stelen im Ladenlokal
					if( typeof(TerminalControl) != 'undefined' ) {
						
						TerminalControl.stopScannerBlurHandler();
						
						TerminalControl.keyboardShow('SKKFull');
						
						['subscribe_first_name',
						 'subscribe_last_name',
						 'subscribe_email'].each(function(pe){
							Event.observe(pe,'focus',TerminalControl.inputFocusHandler);
							Event.observe(pe,'blur',TerminalControl.inputBlurHandler);
						});
						
					}
					
				} else {
					$('newsletter_subscribe_form').getInputs('radio', 'subscribe_salutation').find(function(r){return r.value==anRede}).checked = 1;
				}

				observeNlSubscrCloseBtn();
				centerForm();
				resizeBox();
				//if($$('p.success').length){
				$$('#newsletter-overlay .bodytext').each(function(el){
					//el.hide();
				});
				//}
			},
			
			onFailure: function(transport){
				alert('AJAX connection "timed out". Try again.');
			}
		}
	);
	
	return false;
}

function newsletter_unsubscribe() {
	new Ajax.Request( '/index.php?site=newsletter_unsubscribe&action=ajax&noseo',
	{
		method: 'post',
		parameters: 'email='+$('unsubscribe_email').getValue(),
		onLoading: function()
		{
			$('newsletter_unsubscribe_loading').style.display = 'block';
		},
		onSuccess: function( rtn, json )
		{
			$('newsletter_unsubscribe_status').innerHTML = json.info;
			$('newsletter_unsubscribe_status').style.display = 'block';
			$('newsletter_unsubscribe_loading').style.display = 'none';

			if( json.rtn )
			{ // Success
				$('newsletter_unsubscribe_form').style.display = 'none';
				$('newsletter_unsubscribe_status').addClassName( 'success' );
				$('newsletter_unsubscribe_email_adress_required').style.display = 'none';
			}
			else
			{
				$('newsletter_unsubscribe_status').addClassName( 'error' );
			}
		}
	});
}