//document.title = 3
// Rajouter : overOut, downUp pour asocier d'un coup 2 gest.... !
function TK(obj,nameSpace){
	if(!obj)
	{
		window.tag		= TK.tag
		window.on		= TK.on
		document.tag	= TK.tag		
		document.on		= TK.on
	}
	else if(obj && nameSpace)
	{
		obj.nameSpace.on	= TK.on
		obj.nameSpace.tag	= TK.tag
	}
	else
	{
		obj.on		= TK.on
		obj.tag		= TK.tag
		obj.window		= new Object()
		obj.document	= new Object()
		obj.window.on	= TK.window.on
		obj.document.on	= TK.document.on
	}	
}

TK.on = function(e, func,obj,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)
{
	var bestehendeFonctionen	= obj["on"+e];	
	if(!bestehendeFonctionen)	obj["on"+e] = function (ev){	func.call(this,ev,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10);}
	else
	{		
		obj["on"+e] = function(ev)
		{
			bestehendeFonctionen.call(this,ev,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10);			
			func.call(this,ev,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10);
		}
	}
}

TK.window	= new Object()
TK.document	= new Object()

TK.window.on	= function (e, func){	TK.on(e, func,window)	}
TK.document.on	= function (e, func){	TK.on(e, func,document)	}

TK.styles = {"bgc":"backgroundColor","color":"color","c":"color","fs":"fontSize","dp":"display","pos":"position","top":"top"}
//=> TK.id = .... Nul besoin d'associer cette fonction
// sous forme d'un attribut (ce qui donnerait une collision avec l'attri par défaut.)
TK.tag = function(tg,index,styl,valeur)
{
	if(typeof this == "function" || typeof this == "Window" )	
	{
		var obj = document.getElementsByTagName(tg);
		///////////////////////////// if(!obj)TK.on("load",)
		// sansWinOnload(TK.id("fff").tag()"div",0)................
		//alert("typeof : "+typeof this );
	}	
	else 		
	{
		var obj =  this.getElementsByTagName(tg);
		//alert("else");
	}	
	if(index != null)
	{	//alert("index");
		obj = obj[index]
		if(styl != null)obj.style[TK.styles[styl]] = valeur;
	}
	return obj
}



TK.loadImage = function (recepteur,src,callback,para1,para2)
{
		var onloadOnreadyEvent	= document.all ? "onreadystatechange" : "onload"		
		var onloadOnreadyFunc	= document.all ? onreadystatechangeFunc : callback
		
		function onreadystatechangeFunc(ev)
		{	
			this.callback = callback
			if(this.readyState == "complete")this.callback(null,para1,para2)
		}
		
		recepteur				= new Image()// !!!! global !!!! Mauvais ! Non : c'est au dev de l'associer à un objet !
		recepteur[onloadOnreadyEvent] = function (ev){onloadOnreadyFunc.call(this,ev,para1,para2)}
		recepteur.src					= src
}







TK.forAll = function()
{	
	var allTags		= document.body.getElementsByTagName("*")
	var nombreTags	= allTags.length;
	for(var x =0; x < nombreTags; x++)
	{
		var specTag	= allTags[x]
		specTag.tag	= TK.tag
		specTag.on	= function (e,func,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10){TK.on(e,func,this,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)}
		
		var _id = allTags[x].id
		if(_id && !window[_id])
		{
			window[_id] = document.getElementById(_id)
		}
	}
	
	
	/*
	for(var x in allTags)
	{
		var specTag	= allTags[x]
		specTag.tag	= TK.tag
		specTag.on	= function (e,func,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10){TK.on(e,func,this,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)}
		
		var _id = allTags[x].id
		if(_id && !window[_id])
		{
			window[_id] = document.getElementById(_id)
		}
	}
	*/
}



TK.window.on("load",TK.forAll)

// DOM

TK.appendImage	= function (src,parent,callback)//,callCallback,paraCallCallback)
{
	var element = document.createElement("img")
	element.setAttribute("src",src)
	parent.appendChild(element)
	
	if(callback)callback()//callback(paraCallback,callCallback,paraCallCallback)
}



