/*
----------------------------------------------------------------
Title : ArteoLib.js
Author : Cedric Radicia
Description :
    Création de la librairie de base Arteo.
    Plugins Arteo:
    - Arteo.Tool:           Outil généraux,
    - Arteo.Zoomer:         Gestion du composant zoomify,
    - Arteo.Modal:          Gestion des Modal (Telligent),
    - Arteo.Conversation:   Gestion des conversations
    
Lib externes utilise:
- jQuery: http://jquery.com/

Created : 2009/01/26
Modified : 2009/03/02
    -Ajout de commentaires
----------------------------------------------------------------
*/

/*
** Extention des attributs/methodes
*/
extend = function() {
	// copy reference to target object
	var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options;
	// Handle a deep copy situation
	if ( target.constructor == Boolean ) {
		deep = target;
		target = arguments[1] || {};
		// skip the boolean and the target
		i = 2;
	}
	// Handle case when target is a string or something (possible in deep copy)
	if ( typeof target != "object" && typeof target != "function" )
		target = {};
	// extend jQuery itself if only one argument is passed
	if ( length == i ) {
		target = this;
		--i;
	}
	for ( ; i < length; i++ )
		// Only deal with non-null/undefined values
		if ( (options = arguments[ i ]) != null )
			// Extend the base object
			for ( var name in options ) {
				var src = target[ name ], copy = options[ name ];
				// Prevent never-ending loop
				if ( target === copy )
					continue;
				// Recurse if we're merging object values
				if ( deep && copy && typeof copy == "object" && !copy.nodeType )
					target[ name ] = jQuery.extend( deep, 
						// Never move original objects, clone them
						src || ( copy.length != null ? [ ] : { } )
					, copy );
				// Don't bring in undefined values
				else if ( copy !== undefined )
					target[ name ] = copy;
		}
	// Return the modified object
	return target;
};


(function() {
	var Arteo = window.Arteo = function() {}; // Creation de l'instance 
    Arteo.extend = extend; // Ajout de la methode d'extention a Arteo
    
    Arteo.extend({
        debugMode: false, // Active le debug sur les lib Arteo
        domain: "http://" + document.domain, // Enregistre le domain du site (arteo.com)

        /*
        ** =METHODES
        */
    	init: function() { // Initialisation principale
    	    Arteo.debug("[Arteo]: Initialisation Arteo principale");
    	},
    	debug: function(msg) { // Affiche un message en mode debug
    	    if (Arteo.debugMode == true)
                console.debug(msg);
    	},
    	msg: function(texte) { // Affiche un message
            console.debug(texte);
    	}
    });
})();
