pagingContentPrepare = function() {
	var this_instance = this;
	this.inline_scripts = [];
	this.web_scripts = [];

	var prev_document = {};
	prev_document.addEventListener = document.addEventListener;
	prev_document.attachEvent = document.attachEvent;
	prev_document.write = document.write;
	prev_document.writeLn = document.writeLn;

	var prev_window = {};
	prev_window.addEventListener = window.addEventListener;
	prev_window.attachEvent = window.attachEvent;
	var window_ie = window.ie;

	var temp_node = null;
	var print_bufer = "";
	var print_object;
	var onload_funcs = [];

	this.content_prepare = function( html) {
		this.inline_scripts = [];
		this.web_scripts = [];
		onload_funcs = [];

		temp_node = document.createElement( "DIV");
		temp_node.innerHTML = html;

		var scripts = temp_node.getElementsByTagName( "SCRIPT");
		var head = document.getElementsByTagName( "HEAD")[0];
		var scripts_loaded = document.getElementsByTagName( "SCRIPT");

		var links = temp_node.getElementsByTagName( "LINK");
		while( links.length ) {
			head.appendChild( links[0].parentNode.removeChild(links[0]).cloneNode(1));
		}

		for( var i=0; i<scripts.length; i++) {
			if ( String( scripts[i].src) != "" ) {
				var is_loaded = 0;
				for( var i2=0; i2<scripts_loaded.length; i2++) {
					if ( String( scripts[i].src) == String( scripts_loaded[i2].src) ) {
						is_loaded = 1;
					}
				}
				if ( !is_loaded ) {
					this.web_scripts.push( scripts[i]);
				}
			} else {
				this.inline_scripts.push( scripts[i]);
			}
			scripts[i].replace_node = document.createElement( "SPAN");
			scripts[i].parentNode.replaceChild( scripts[i].replace_node, scripts[i]);
			i--;
		}
		this.do_enviroment();

		if ( this.web_scripts.length > 0 ) {
			var web_script_onload = function() {
				if ( this.readyState == "complete" || this.readyState == "loaded" || this.onload == web_script_onload ) {
					var scrpt = this_instance.web_scripts.pop();
					if ( scrpt ) {
						var scrpt = this_instance.web_scripts.pop();
						print_object = scrpt.replace_node;
						var new_scrpt = scrpt.cloneNode(1); 
						head.appendChild( new_scrpt);
						if ( document.addEventListener ) {
							new_scrpt.onload = web_script_onload;
						} else if ( document.attachEvent ) {
							new_scrpt.onreadystatechange = web_script_onload;
						}
					} else {
						print_object = null;
						this_instance.set_main_content();
					}
				}
			}
			var scrpt = this_instance.web_scripts.pop();
			print_object = scrpt.replace_node;
			var new_scrpt = scrpt.cloneNode(1); 
			head.appendChild( new_scrpt);
			if ( document.addEventListener ) {
				new_scrpt.onload = web_script_onload;
			} else if ( document.attachEvent ) {
				new_scrpt.onreadystatechange = web_script_onload;
			}
		} else {
			window.setTimeout( function(){this_instance.set_main_content();}, 10);
		}
		return temp_node;
	}
	this.set_main_content = function() {
		for( var i=0; i<this.inline_scripts.length; i++) {
			print_object = this.inline_scripts[i].replace_node;
			window.eval( this.inline_scripts[i].innerHTML);
			print_bufer = null;
		}
		for( var i=0; i<onload_funcs.length; i++) {
			onload_funcs[i]();
		}
		this.reset_enviroment();
	}

	this.do_enviroment = function() {
		document.write = function( str){
			if ( print_object != null ) {
				print_object.innerHTML += str;
			} else {
				print_bufer += str;
			}
		}
		document.writeLn = function( str){
			if ( print_object != null ) {
				print_object.innerHTML += str;
			} else {
				print_bufer += str;
			}
		}

		if (window.addEventListener) {
			window.addEventListener = function( event, func, t){
				if ( event == "load" ) {
					onload_funcs.push( func);
				} else {
					prev_window.addEventListener( event, func, t)
				}
			}
		}
		if (window.attachEvent) {
			window.attachEvent = function( event, func, t){
				if ( event == "onload" ) {
					onload_funcs.push( func);
				} else {
					prev_window.attachEvent( event, func, t);
				}
			}
		}
		window.ie = 0;
	}
	this.reset_enviroment = function() {
		document.write = prev_document.write;
		document.writeLn = prev_document.writeLn;
		if (window.addEventListener) {
			window.addEventListener = prev_window.addEventListener;
		}
		if (window.attachEvent) {
			window.attachEvent = prev_window.attachEvent;
		}
		window.ie = window_ie;
	}
}