/**
* Class clAgent
* ------------------------------------
* @author Fabien Daniel
* @date 22/05/2006
*/

function clAgent(idAgent, hauteurBouton, hauteurAgent) {
	this.hauteurBouton = hauteurBouton;
	this.hauteurAgent = hauteurAgent;
	this.layer = new clLayer(idAgent, false);
	this.isOpen = false;
	this.param="";
	this.timer;

	this.chargerAgent = mChargerAgent;
	this.ouvrirAgent = mOuvrirAgent;
	this.fermerAgent = mFermerAgent;
	this.agrandirAgent = mAgrandirAgent;
	this.reduireAgent = mReduireAgent;
	this.initParam = mInitParam;
	this.initCallbackAgent = mInitCallbackAgent;

	if(this.layer.anItem) this.chargerAgent();

}

/**
* Chargement de l'agent
*/
function mChargerAgent() {
	// Initialisation de la chaine de parametre à destination de VirtuOz
	this.initParam();

	// Init de l'hauteur et du contenu
	if(isAgentOpen) {
		this.layer.setHeight(this.hauteurAgent);
		this.ouvrirAgent();
	} else {
		this.layer.setHeight(this.hauteurBouton);
		//this.fermerAgent();
	}

	this.initCallbackAgent();
}

/**
* Initialisation de la chaine de parametre en fonction des données
* issues des cookies de VirtuOz
*/
function mInitParam() {
	cookie = new clCookie();
	// Cookie virtuoz : InterlocuteurId
	VirtuOz_IID = cookie.readCookie("VirtuOz_IID");

	// Cookie virtuoz : ContextId et autre
	VirtuOz_CID = cookie.readCookie("VirtuOz_CID");

	if(VirtuOz_IID!=null && VirtuOz_IID!="") this.param = "InterlocutorId="+VirtuOz_IID;
	if(VirtuOz_CID!=null) {
		if (this.param !="") this.param += "&"+VirtuOz_CID;
		else this.param = VirtuOz_CID;
	}

	// Ajout de l'identifiant de session
	if(sessionId !="") {
		if (this.param !="") this.param += "&jsessionid="+sessionId;
		else this.param = "jsessionid="+sessionId;
	}

	// Public ou privé InUrl
	if (this.param !="") this.param += "&InUrl="+InUrl;
	else this.param = "InUrl="+InUrl;

}

/**
* Initialisation des callbacks
*/
function mInitCallbackAgent(){
	var agent = this;
	var agentOuvert = null;

	if(agent.layer.anItem!=null) {
		// Cette page comporte l'agent conversationnel
		agent.layer.anItem.onclick = function() {
			if(!agent.isOpen) {
				agent.agrandirAgent();
			}
		};

		if(agent.isOpen){
			agentOuvert = new clLayer("hautConseiller", false);
			if(agentOuvert.anItem != null){
				agentOuvert.anItem.onclick = function() {
					agent.fermerAgent();
				};
			}
		}

	}
}

/**
* Ouverture de l'agent
*/
function mOuvrirAgent() {

	// Code de l'agent.
	code = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"margin:auto\"><tr style=\"line-height:10px\"><td><div id=\"hautConseiller\"><img src=\""+arl+"haut_agent2.gif\" border=\"0\" style=\"cursor:pointer\"></div></td></tr>\n";
	code += "<tr><td style=\"border:1px solid #000000\">\n";
    code += "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" type=\"application/x-shockwave-flash\" id=\"agentFlash\" width=\"158\" height=\"258\">\n";
	code += "<param name=\"movie\" value=\"/applet/agent/sophie.swf\">\n";
	code += "<param name=\"quality\" value=\"high\">\n";
	code += "<param name=\"FlashVars\" value=\""+this.param+"\">\n";
	code += "<embed src=\"/applet/agent/sophie.swf\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"158\" height=\"258\" FlashVars=\""+this.param+"\"></embed>\n";
 	code += "</object>\n";
 	code += "</td></tr></table>\n";

	this.layer.anItem.innerHTML = code;
	this.layer.setTop(10);
	this.layer.anItem.style.backgroundImage = "none";
	this.layer.anItem.style.padding = "0px";

	this.isOpen = true;
	this.initCallbackAgent();
	if(isAgentOpen) {
		isAgentOpen = false;
	} else {
		requeteAJAX = new clXHR(urlSession+"?ACTION=AGENT_OPEN");
		requeteAJAX.request();
	}
}

function mFermerAgent() {

	/*code = "<table class=\"pave\" style=\"background-image:url("+arl+imgfile+");\">\n<tr><td style=\"vertical-align:middle;\">";
	code+= "<a title=\""+btntxt+"\">"+btntxt+"</a></td></tr></table>\n";*/

	code = "<div id=\"conseiller\" class=\"service\" style=\"\">\n";
	code += "<a title=\""+btntxt+"\" class=\"intitule\">"+btntxt+"</a>\n";
	code += "</div>\n";

	if(this.layer.anItem!=null)	this.layer.anItem.innerHTML = code;
	this.layer.anItem.style.background = "transparent url("+arl+imgfile+") no-repeat scroll 50% 0%";
	this.layer.anItem.style.paddingLeft = "100px";
	this.layer.anItem.style.paddingRight = "40px";
	this.layer.anItem.style.paddingTop = "20px";
	this.reduireAgent();
	this.isOpen = false;
	this.layer.setTop(0);
	
	this.initCallbackAgent();
	requeteAJAX = new clXHR(urlSession+"?ACTION=AGENT_CLOSE");
	requeteAJAX.request();
}

function mAgrandirAgent() {
	agent= this;
	
	if(this.layer.getHeight() < this.hauteurAgent) {
		this.layer.setHeight(this.layer.getHeight() + 20);
		this.timer = setTimeout("agent.agrandirAgent()",1);
	}
	else
	{
		this.ouvrirAgent();
		clearTimeout(this.timer);
	}
}

function mReduireAgent() {
	agent = this;
	if(this.layer.getHeight() > this.hauteurBouton) {
		this.layer.setHeight(this.layer.getHeight() - 20);
		this.timer = setTimeout("agent.reduireAgent()",1);
	}
	else
	{
		clearTimeout(this.timer);
	}
}