function createPages() {

	var text = "";
	var div_nr = 0;
	divs.push( document.createElement("span") );
	
	// Seite in Unterseiten-Divs aufspalten
	if ( pages.hasChildNodes() ) {
		content = pages.childNodes;
		if ( debug ) { alert( "Found "+content.length+" child nodes" ); }
		
		for ( var i=0; i<content.length; i++ ) {
			text += "nodeType: "+content[i].nodeType+", nodeName: "+content[i].nodeName+"\n";
			type = content[i].nodeType;
			name = content[i].nodeName;
			if ( type==1 && (name == "A" || name == "a") && content[i].getAttribute( "name" ) == "next" ) {
					text += "--- ---\n";
					div_nr++;
					divs.push( document.createElement("span") );
					//pages.removeChild( content[i] );
			} else {
				if ( type==1 ) {
					newnode = content[i].cloneNode( true );
					divs[div_nr].appendChild( newnode );
					divs[div_nr].setAttribute( "name", "page" );
					divs[div_nr].setAttribute( "class", "page" );
					divs[div_nr].setAttribute( "id", "page"+div_nr );
					//pages.removeChild( content[i] );
				}
			}
			
		}
			
	}
	
	// Alte Textknoten entfernen
	for ( var i=(content.length-1); i>=0; i-- ) { if ( content[i].nodeType == 1 ) { pages.removeChild( content[i] ); } }
	
	if ( debug ) { alert( text ); }
	pages_count = divs.length-1;
	
	for ( var i=0; i<divs.length; i++ ) {
		pages.appendChild( divs[i] );
	}
	
	// Pagination anzeigen
	
	divs.push( document.createElement("div") );
	pagination_div = divs[ div_nr+1 ];
	pagination_div.setAttribute( "name", "pagination" );
	
	var newnode = document.createElement( "p" );
	
	// Seite ... von ...
	
	var pagenumber = document.createElement( "span" );
	var text = document.createTextNode( "Seite 1 von "+pages_count );
	pagenumber.appendChild( text );
	pagenumber.setAttribute( "id", "pagenumber" );
	newnode.appendChild( pagenumber );
	
	// Zurück
	
	back_link = document.createElement( "a" );
	text = document.createTextNode( "< zurück" );			
	back_link.appendChild( text );
	back_link.setAttribute( "href", "javascript:back();" );
	back_link.setAttribute( "id", "nextpage" );
	newnode.appendChild( back_link );
	
	// Trenner
	//newnode.appendChild( document.createTextNode( " " ) );
	
	// Zahlen
	for ( var i=1; i<divs.length; i++ ) {
		var number = document.createElement( "a" );
		text = document.createTextNode( i );
		number.appendChild( text );
		number.setAttribute( "href", "javascript:displayPage("+(i-1)+");" );
		number.setAttribute( "id", "page_number"+i );
		newnode.appendChild( number );
		//newnode.appendChild( document.createTextNode( " " ) );
	}
	
	// Vorwärts
	
	forward_link = document.createElement( "a" );
	var text = document.createTextNode( "weiter >" );			
	forward_link.appendChild( text );
	forward_link.setAttribute( "href", "javascript:forward();" );
	forward_link.setAttribute( "id", "nextpage" );
	newnode.appendChild( forward_link );

	pagination_div.appendChild( newnode );
	
	pages.appendChild( pagination_div );
}

function back() {
	if ( act_page > 0 ) {
		act_page--;
		displayPage( act_page );
	}
}

function forward() {
	if ( act_page < pages_count ) {
		act_page++;
		displayPage( act_page );
	}
}

function displayPage( nr ) {
	for ( var i=0; i<divs.length; i++ ) {
		if ( divs[i].getAttribute( "name" ) == "page" ) {
			if  (i != nr) {
				divs[i].style.display = "none";
			} else { 
				divs[i].style.display = "block";
			}
		}
	}
	act_page = nr;
	
	if ( act_page == 0 ) { back_link.style.display = "none"; } else { back_link.style.display = "inline"; }
	if ( act_page == pages_count ) { forward_link.style.display = "none"; } else { forward_link.style.display = "inline"; }
	//if (( act_page == 0 ) || ( act_page == pages_count )) { seperator.style.display = "none"; } else { seperator.style.display = "inline"; }
	
	document.getElementById("pagenumber").firstChild.nodeValue = "Seite "+(act_page+1)+" von "+(pages_count+1);
	for ( var i=0; i<pages_count+1; i++ ) {
		page_number = document.getElementById( "page_number"+(i+1) );
		
		if ( i == act_page ) {
			page_number.setAttribute( "class", "active" );  
		} else {
			page_number.setAttribute( "class", "inactive" ); 
		}
		
	}
}

/************/
/*** KOPF ***/
/***********/

var debug = false;
var divs = new Array();
var forward_link, back_link, seperator;
var pages;
var act_page, page_count;
var done = false;

function initCreatePages() {

	if ( !document.body ) {	// wait 'till page is loaded
		window.setTimeout( "initCreatePages()", 300 );
	} else {
		if ( !done ) {
			done = true;
			pages = document.getElementById("pages_to_turn");
			if ( pages ) {
				createPages();
				displayPage( 0 );
			}
		}
	}
	
}

initCreatePages();