// JavaScript Document

var RED_Adrbook = {
	data : [],
	btnNames : [
				['btn_prev','Previous'], 
				['btn_next','Next'], 
				['btn_add','Add'], 
				['btn_edit','Edit'], 
				['btn_remove','Delete']
			   ],
	
	alerts : 
		{
			first	: 'Sie sind bereits am ersten Datensatz.',
			last	: 'Dies war der letzte Datensatz.',
			add		: 'Datansatz eingefügt!',
			edit	: 'Datensatz erfolgreich editiert!'
		},
		
	zeiger : 0,
	
	init : function()
		{
			RED_Ajax.init();
			
			this.createButtons();
			
			this.loadXML();
		},
	
	createButtons : function()
		{
			var btnList = document.createElement('UL');
			btnList.className = 'RED_Buttons';
			
			for(var i=0; i<this.btnNames.length; i++)
			{
				var btnItem = document.createElement('LI');
				var btn = document.createElement('BUTTON');
				btn.appendChild(document.createTextNode( this.btnNames[i][1] ));
				btn.id = this.btnNames[i][0];
				btn.type = 'button';
				
				btnItem.appendChild(btn);
				btnList.appendChild(btnItem);
			}
			
			document.getElementById('RED_Book').appendChild(btnList);
			this.loadEvents();
		},
		
	loadXML : function()
		{
			RED_Ajax.callback = function()
			{
				RED_Adrbook.loadData(this.responseXML);
			};
			RED_Ajax.run('ausgabe.php');
		},
		
	loadData : function(xml)
		{
			this.data = [];
			
			var personen = xml.getElementsByTagName('person');
			
			alert(personen);
			
			for(var i=0; i<personen.length; i++)
			{
				var person = {
					Nachname	: personen[i].childNodes[0].firstChild.nodeValue,
					Vorname		: personen[i].childNodes[1].firstChild.nodeValue,
					Email		: personen[i].childNodes[2].firstChild.nodeValue,
					Telefon		: personen[i].childNodes[3].firstChild.nodeValue,
					ID			: personen[i].getAttribute('id')
				};
				
				this.data.push(person);
			}
			this.loadSlides();
		},
		
	loadEvents : function()
		{
			document.getElementById('btn_next').onclick = function(){
				RED_Adrbook.pager(true);
			}
			document.getElementById('btn_prev').onclick = function(){
				RED_Adrbook.pager(false);
			}
			document.getElementById('btn_edit').onclick = function(){
				RED_Adrbook.edit();
			}
			document.getElementById('btn_add').onclick = function(){
				RED_Adrbook.add();
			}
			document.getElementById('btn_remove').onclick = function(){
				RED_Adrbook.remove();
			}
		},
		
	loadSlides : function()
		{
			if(this.data.length > 0)
			{
				var s = document.getElementById('RED_Book').getElementsByTagName('span');
				
				s[0].innerHTML = this.zeiger+1;
				s[1].innerHTML = this.data[this.zeiger]['Nachname'];
				s[2].innerHTML = this.data[this.zeiger]['Vorname'];
				s[4].innerHTML = this.data[this.zeiger]['Telefon'];
				
				var link	 = '<a href="mailto:';
				link		+= this.data[this.zeiger]['Email'];
				link		+= '">';
				link		+= this.data[this.zeiger]['Email'];
				link		+= '</a>';
				s[3].innerHTML = link;
			}
		},
		
	pager : function(d)
		{
			if(d)
			{
				(this.zeiger == this.data.length-1) ?alert(this.alerts.last) :this.zeiger++; 
			}
			else
			{
				(this.zeiger == 0) ?alert(this.alerts.first) :this.zeiger--;
			}
			this.loadSlides();
		},
		
	add : function()
		{
			var s = document.getElementById('RED_Book').getElementsByTagName('span');
			
			s[0].innerHTML = 'neuer Datensatz';
			s[0].innerHTML += '<input type="hidden" name="f0" value="" />';
			
			s[1].innerHTML = '<input type="text" name="f1" />';
			s[2].innerHTML = '<input type="text" name="f2" />';
			s[3].innerHTML = '<input type="text" name="f3" />';
			s[4].innerHTML = '<input type="text" name="f4" />';
			
			s[4].innerHTML += '<br />';
			s[4].innerHTML += '<input type="button" id="btn_save" value="speichern" />';
			s[4].innerHTML += '<input type="button" id="btn_cancel" value="abbrechen" />';
			
			document.getElementById('btn_save').onclick = function()
			{
				RED_Adrbook.insert(document.getElementById('RED_Book'));
			};
			document.getElementById('btn_cancel').onclick = function()
			{
				RED_Adrbook.loadSlides();
			};
			document.getElementsByTagName('input')[1].focus();
		},
		
	insert : function(form)
		{
			var inputs = form.getElementsByTagName('input');
			var body =  'f0='+escape(inputs[0].value)+'&'+
									'f1='+escape(inputs[1].value)+'&'+
									'f2='+escape(inputs[2].value)+'&'+
									'f3='+escape(inputs[3].value)+'&'+
									'f4='+escape(inputs[4].value);
			
			RED_Ajax.callback = function()
			{
				RED_Adrbook.loadXML();
			};
			RED_Ajax.header('Content-Type', 'application/x-www-form-urlencoded');
			RED_Ajax.run('eingabe.php','POST',false,body);
			
			this.loadSlides();
		},
		
	edit : function()
		{
			alert('yes we can!');
		},
		
	update : function(form)
		{
		},
		
	remove : function()
		{
			alert('yes we can!');
		}
}
