/**************************************************
  include.js
  
  Basisfunktionen.
  include()
  
  version: 3.0
  11:00 19.09.2008
  
  
**************************************************/

( function() {

	var JS_PATH = './';
	var JS_INCLUDE = {};
	var JS_SELF = 'include.js';
	
	this.include = function(src) {
		if( !is_string(src) ) return;
		
		/**
			für die Schreibweise:  Pfad::Datei
		*/
		if(src.indexOf('::') > -1) {
			var tmp = src.split('::');
			var part;
			src = '';
			while(part = tmp.shift()){
				src += '/' + part;
			}
			src += '.js';
		}
		
		if(src.lastIndexOf('.') == -1) src += '.js';
		
		//  mit Punkt wird der JS_PATH Pfad nicht verwendet
		if(src.indexOf('.') != 0) {
			src = JS_PATH +  src
		}
		// Wurde Datei schon eingebunden
		if( JS_INCLUDE[src] ) return;

//		document.write( '<script defer="defer" type="text/javascript" src="' + src + '"><\/script>' );
		document.write( '<script type="text/javascript" src="' + src + '"><\/script>' );

		JS_INCLUDE[src] = true;
	};
	
	/**
	* Den Basispfad zu den Bibliotheken finden.
	*/
	if(document.all && !window.opera)	{
		// IE
		var o = document.all.tags('script');
		for(var i = 0; i < o.length; i++) {
			if( o[i].src.lastIndexOf( JS_SELF ) != -1) {
				var src = o[i].src;
				var idx = src.lastIndexOf('/');
				var base = '';
				if(src.indexOf('http://') == -1) {
					base = self.location.href;
					base = base.substring(0, base.lastIndexOf('/') + 1) ;
				}
				if(idx == -1) idx = 0;
				JS_PATH = base + src.substring(0, idx) +'/';
				break;
			}
		}
	} else if(document.getElementsByTagName)	{
		// DOM
		var o = window.document.getElementsByTagName('script');
		for(var i = 0; i < o.length; i++) {
			var src = o[i].src;
			var idx = src.lastIndexOf(JS_SELF);
			if(src && idx > -1) {
				JS_PATH = src.substring(0, idx - 1) ;
				break;
			}
		}
		JS_PATH += '/';
	}
})() // anonym call

if(typeof undefined == 'undefined') undefined = typeof undefined;
function is_number(w){ return (typeof w == 'number') && !isNaN(w); };
function is_string(w){ return typeof w == 'string'; };
function is_object(w){ return typeof w == 'object'; };
function is_function(a){ return typeof a == 'function'; };
function is_equal(a, b){ a && b && a.constructor == b.constructor; };
function defined(w){ return w != undefined && w != null; }	
function is_a_word(val) { return !(/[^a-zöäü]/i).test(val);}
function is_a_number(val) { return !/[\D]/.test( val );} 

include ("jquery.js");
include ("jquery/exists.js");
include ("jquery/outerHTML.js");
include ("jquery/timeout.js");
include ("jquery/ui.js");
