﻿
if(typeof(XMLHttpRequest) == 'undefined')
	var XMLHttpRequest = function() {
		var request = null;
		try {
			request = new ActiveXObject('Msxml2.XMLHTTP');
		} catch(e) {
			try	{
				request = new ActiveXObject('Microsoft.XMLHTTP');
			} catch(ee) {}
		}
		return request;
	}
	
var AjaxQueueRequests = new Array();
var AjaxLocked = 0;

var Ajax2 = {

	getVersion:function() {
		return '5.6.3.4';
	},
	stop:function() {
		for(var i=0; i<AjaxQueueRequests.length; i++) {
			if(AjaxQueueRequests[i] != null) AjaxQueueRequests[i].abort();
		}
	},
	doRequest:function(url, data, callback, context) {
		var r = Ajax2.createRequest(context);
		var async = typeof(callback) == 'function';
		if(async) r.obj.onreadystatechange = function() {
			if(r.obj.readyState == 4)
				callback(new AjaxResponse(r));
		}
		
		r.obj.open('POST', url, async);
		r.obj.send(data);
		
		if(!async)
			return new AjaxResponse(r);
	},
	doRequestForDestination:function(url, data, callback, context, cible) {
		var r = Ajax2.createRequest(context);
		var async = typeof(callback) == 'function';
		if(async) r.obj.onreadystatechange = function() {
			if(r.obj.readyState == 4)
			{
				callback(new AjaxResponse(r), cible);
			}
		}
		r.obj.open('POST', url, async);
		r.obj.send(data);
		if(!async)
			return new AjaxResponse(r);
	},
	createRequest:function(context) {
		for(var i=0; i<AjaxQueueRequests.length; i++) {
			if(AjaxQueueRequests[i].readyState == 4)	{
				AjaxQueueRequests[i].abort();
				AjaxQueueRequests[i].context = null;
				return AjaxQueueRequests[i];
			}
		}

		var pos = AjaxQueueRequests.length;
		
		AjaxQueueRequests[pos] = Object();
		AjaxQueueRequests[pos].obj = new XMLHttpRequest();
		AjaxQueueRequests[pos].context = context;
		
		return AjaxQueueRequests[pos];
	}	
}

function AjaxError(name, description, number) {
	this.name = name;
	this.description = description;
	this.number = number;
	return this;
}


function AjaxResponse(request) {
	this.request = request.obj;
	this.error = null;
	this.value = null;
	this.context = request.context;
			
	if(request.obj.status == 200) {
		try	{
			this.value = request.obj.responseText;
		} catch(e) {
			this.error = new AjaxError(e.name, e.description, e.number);
		}
	} else	{
		this.error = new AjaxError('HTTP request failed with status: ' + request.obj.status, request.obj.status);
	}
	
	return this;
}

var AjaxUtil = {
	enc:function(s) {
		return escape(s.toString());
		//return s.toString().replace(/\%/g, "%26").replace(/=/g, "%3D").replace(/#/g,"%35");
	}	
}


function AjouterParticipant(idEvenement,Type,Etat,NbInvites,adressePage) {	
	var xhr = getXmlHttpRequest();
	xhr.open('POST', adressePage+'MyEvent/Ajax/AjouterParticipant.aspx', true);
	
	xhr.onreadystatechange=function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			
			var isOK = xhr.responseXML.documentElement.firstChild.childNodes[0].nodeValue;	
			
			if(isOK == "0")
			{
				var Erreur = xhr.responseXML.documentElement.lastChild.childNodes[0].nodeValue;
				
				if(document.getElementById('divMessageInscription')!=null)
				{
					document.getElementById('divMessageInscription').className = 'divErreur';
					document.getElementById('divMessageInscription').innerHTML = Erreur;
				}														
			}
			else
			{
				var Message = xhr.responseXML.documentElement.lastChild.childNodes[0].nodeValue;	
				if(document.getElementById('divMessageInscription')!=null)
				{
					document.getElementById('divMessageInscription').className = 'divMessage';
					document.getElementById('divMessageInscription').innerHTML = Message;
				}									
			}				
		}
		
	}	
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send("idEvenement="+idEvenement+"&Type="+Type+"&Etat="+Etat + "&NbInvites=" + NbInvites);	
}
function getCommentaire(idEvenement,adressePage) {
	
	if(document.getElementById('loadingCat')!=null)
		document.getElementById('loadingCat').style.display = 'inline';
	
	pager = null;
	var UrlEvenement = adressePage + 'MyEvent/Ajax/getCommentairesEvent.aspx?idEvenement='+encodeURIComponent(idEvenement);
	//Ajax2.doRequest(UrlEvenement, '', AfficherCommentaires, null);
	new Ajax.Request(UrlEvenement, {
	    method: 'GET',
	    onComplete: AfficherCommentaires
	})
}

function AfficherCommentaires(response) {
	//if (response.error != null) {alert('Erreur : ' + response.error.name); return;}
	if (response == null || response.responseText.length == 0) 
		return;
	else
	{
		var Conteneur = document.getElementById("divCommentaires");
		Conteneur.innerHTML = response.responseText;	
		
		//Installation du paging
		var nbIdeasPage = 2;
		if(typeof ( nbi ) != "undefined")
			if(nbi>0)
				nbIdeasPage	= nbi;
		
		pager = new Pager('resultsCommentaires', parseInt(nbIdeasPage));
		pager.init(); 
		pager.showPageNav('pager', 'pageNavPosition'); 
		pager.showPage(1);
		if(typeof ( isActivatedStatus ) != "undefined") //permet d'afficher les statuts sur les idées
			if(isActivatedStatus)
				setStatus(1);		
	}
}
function AjouterCommentaire(idEvenement,idCommentaire,adressePage) {
	var Commentaire = document.getElementById("taCommentary" + idCommentaire).value;
			
	var xhr = getXmlHttpRequest();
	xhr.open('POST', adressePage+'MyEvent/Ajax/AjouterCommentaire.aspx', true);
	
	xhr.onreadystatechange=function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			
			var isOK = xhr.responseXML.documentElement.firstChild.childNodes[0].nodeValue;	
				
			if(isOK == "0")
			{
				var Erreur = xhr.responseXML.documentElement.lastChild.childNodes[0].nodeValue;
				document.getElementById("lblErrCommentSize" + idCommentaire).innerHTML = Erreur;
				document.getElementById("lblErrCommentSize" + idCommentaire).style.display = "block";
				document.getElementById("lblErrCommentSize" + idCommentaire).style.visibility = "visible";							
			}
			else
			{
				var Retour = xhr.responseXML.documentElement.lastChild.childNodes[0].nodeValue;	
				getCommentaire(idEvenement,adressePage);								
			}				
		}
		
	}	
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send("idEvenement="+idEvenement+"&idCommentaire="+idCommentaire+"&Commentaire="+Commentaire);	
}
function Redirect(url)
{
	document.location.href = url;
}