/**
 * @author moondesign
 */
		
window.onload = function()
{
		$$('.thumbnail').each(function(element) 
		{
		        new ReMooz(element, {
		            centered: true,
		            origin: element.getElement('img')
        		});
		})

		function show_ajax_message(state)
		{
			if($('jsmessage'))
			{
				$('jsmessage').setStyle('display','block');
			    
				if(state == 'request')  
			    {  
			        $('jsmessage').set('html','<span>Bitte warten...</span>');
					var myMorph = new Fx.Morph('jsmessage',{'duration':200});  
					myMorph.start({'opacity': 100, 'background-image' : 'url(../pic-bin/wait.gif)'});
			    }  
			    //on success  
			    else if(state == 'success')  
			    {  
			        $('jsmessage').set('html','<span>Vorgang abgeschlossen</span>');
					var myMorph = new Fx.Morph('jsmessage',{'duration':500});  
					myMorph.start({'opacity': 0,'background-color': 'transparent'});
					$('jsmessage').setStyle('display','none');
		
			    }  
			    else if(state == 'failure')  
			    {  
			        $('jsmessage').set('html','<span>Speichern fehlgeschlagen</span>');
					var myMorph = new Fx.Morph('jsmessage',{'duration':500});  
					myMorph.start({'opacity': 0,'background-color': 'transparent'});
					$('jsmessage').setStyle('display','none');
			    }  
			    else if(state == 'cancel')  
			    {  
			        $('jsmessage').set('html','<span>Vorgang abgebrochen</span>');
					var myMorph = new Fx.Morph('jsmessage',{'duration':500});  
					myMorph.start({'opacity': 0,'background-color': 'trnsparent'});
					$('jsmessage').setStyle('display','none'); 
			    }				
			}
		}


		function initTerminSelector(){
			$$('.kwtoggler').addEvent('click', function(el){
				new Event(el).stop();
				var sRequest = new Request.HTML({
					url: '/ajax/termine/',
					update: $('terminselector'),
					onRequest: function(){
						show_ajax_message('request');
					},
					onSuccess: function(){
						show_ajax_message('success');
						initTerminSelector();
					},
					onFailure: function(){
						show_ajax_message('failure');
					},
					onCancel: function(){
						show_ajax_message('cancel');
					}
				}).post({
					'kw': this.get('id'),
					'todo': 'gettermine',
					'arzt': $('aerzteauswahl').options[$('aerzteauswahl').selectedIndex].value
				});
			})
			
			$$('#terminselector table tr td.free span').addEvent('click', function(el){
				new Event(el).stop();
				var sRequest = new Request.HTML({
					url: '/ajax/termine/',
					update: $('terminselector'),
					onRequest: function(){
						show_ajax_message('request');
					},
					onSuccess: function(){
						show_ajax_message('success');
						initTerminSelector();
					},
					onFailure: function(){
						show_ajax_message('failure');
					},
					onCancel: function(){
						show_ajax_message('cancel');
					}
				}).post({
					'todo': 'getterminform',
					'arzt': $('aerzteauswahl').options[$('aerzteauswahl').selectedIndex].value,
					'time': this.get('id')
				});
			})
			
			$$('#terminselector table tr td.free span').addEvent('mouseover', function(el){
				this.getParent('td').set('class', 'hover');
			})
			
			$$('#terminselector table tr td').addEvent('mouseout', function(el){
				this.removeClass('hover');
			})
			
			if ($$('.terminaendern')) 
				$$('.terminaendern').addEvent('click', function(el){
					new Event(el).stop();
					var sRequest = new Request.HTML({
						url: '/ajax/termine/',
						update: $('terminselector'),
						onRequest: function(){
							show_ajax_message('request');
						},
						onSuccess: function(){
							show_ajax_message('success');
							initTerminSelector();
						},
						onFailure: function(){
							show_ajax_message('failure');
						},
						onCancel: function(){
							show_ajax_message('cancel');
						}
					}).post({
						'kw': this.get('id'),
						'todo': 'gettermine',
						'arzt': $('aerzteauswahl').options[$('aerzteauswahl').selectedIndex].value
					});
				})
			
			if ($('terminbestaetigen')) 
				$('terminbestaetigen').addEvent('click', function(el){
					new Event(el).stop();
					if ($('resvorname').value != '' && $('resnachname').value != '' && $('restelefon').value != '') {
						var sRequest = new Request.HTML({
							url: '/ajax/termine/',
							update: $('termine'),
							onRequest: function(){
								show_ajax_message('request');
							},
							onSuccess: function(){
								show_ajax_message('success');
								initTerminSelector();
							},
							onFailure: function(){
								show_ajax_message('failure');
							},
							onCancel: function(){
								show_ajax_message('cancel');
							}
						}).post({
							'kw': this.get('id'),
							'todo': 'terminok',
							'arzt': $('aerzteauswahl').options[$('aerzteauswahl').selectedIndex].value,
							'vorname': $('resvorname').value,
							'nachname': $('resnachname').value,
							'telefon': $('restelefon').value,
							'email': $('resemail').value,
							'bemerkung': $('resbemerkung').value,
							'termin': $('restermin').value
						});
					}
					else {
						alert('Bitte füllen Sie alle mit einem (*) markierten Felder aus um Ihren Termin zu bestätigen.');
					}
				})
		}


		if($('aerzteauswahl'))
		{
			$('aerzteauswahl').addEvent( 'change', function(el)
			{
				new Event(el).stop();
				var sRequest = new Request.HTML({	
										url: '/ajax/termine/',
										update: $('terminselector'),
									    onRequest: function() { show_ajax_message('request'); },  
									    onSuccess: function() { show_ajax_message('success'); initTerminSelector(); },   
									    onFailure: function() { show_ajax_message('failure'); },  
									    onCancel:  function() { show_ajax_message('cancel'); } 
										}).post({	'todo' : 'gettermine',
													'arzt' : $('aerzteauswahl').options[$('aerzteauswahl').selectedIndex].value });		
			});	
		}

}

