/**
 * @author nenTi
 */

var list = new Class({
		initialize: function() {
			this.first = null;
			this.last = null;
		},
		
	    // fügt VORNE ein neues Element an 
		push: function(element) {
			if(this.first == null) { this.first = new node(null, null, element); this.last = this.first;}
			else { 
				var zwischen = this.first;
				this.first = new node(zwischen, null, element);
				zwischen.prev = this.first;
			}
		},
		
		// fügt HINTEN ein neues Element an
		append: function(element) {
			if(this.last == null) {this.last = new node(null, null, element); this.first = this.last;}
			else { 
				var zwischen = this.last;
				this.last = new node(null, zwischen, element); 
				zwischen.next = this.last;
			}
		},
		
		// entfernt ERSTES Element
		pop: function() {
			this.first = this.first.next;
			if(this.first != null) {this.first.prev = null;}
		},
		
		cut: function() {
			this.last = this.last.prev;
			if(this.last != null) {this.last.next = null;}
		}
	});
	
var node = new Class({
	initialize: function(next, prev, ele) {
		this.next  = next;
		this.prev  = prev;
		this.id    = parseInt(ele.id.substr(6,ele.id.length-1));
		this.ele   = ele;
	}	
})

/*testNode = new node(null,null);
testList = new list(testNode);

alert(testList.first.id);*/
