var EWSGC_BaseURL = 'http://gc.1r2tchat.fr';
var EWSGC_Lang = 'fr';

/*
var ajaxGETCQ = new sack();
var TimeoutGETCQ;
var GetCQReqNum = 0;
var InsideGetCQReq = false;
*/

function UADT_Poll_Create(){
	document.write('<iframe src="http://em.1r2tchat.fr/en/polls-guest.php?id=' + UADT_Poll_ID + '&userid=' + UADT_Poll_UserID + '&eventid=' + UADT_Poll_EventID + '&votebarcolor=' + UADT_Poll_VoteBarColor + '&votebarcolorvoted=' + UADT_Poll_VoteBarColorVoted + '&buttontext=' + UADT_Poll_ButtonText + '" width="' + UADT_Poll_Width + '" height="' + UADT_Poll_Height + '" marginwidth="0" marginheight="0" scrolling="no" frameborder="0"></iframe>');
}

/* CHECK TEXTAREA SIZE */
function EWSGC_findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
		
		return [curleft,curtop];
	}
}

var EWSGC_CheckQSize_Inside = false;
function EWSGC_CheckQSize(obj){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : "";
	
	if (obj.getAttribute && obj.value.length>mlength){
		obj.value=obj.value.substring(0,mlength);
		/*obj.style.backgroundColor = '#FFE6E6';*/
		
		var objChk = document.getElementById('EWSGC_CheckSizeDiv');
		if(!objChk){
			var eDivPos = EWSGC_findPos(obj);
			var eDiv=document.createElement("DIV");
			eDiv.id = 'EWSGC_CheckSizeDiv';
			
			eDiv.style.width=Math.floor(obj.offsetWidth - 4) + 'px';
			eDiv.style.height=Math.floor(obj.offsetHeight - 4) + 'px';
			eDiv.style.position="absolute";
			eDiv.style.backgroundColor="#FFE6E6";
			eDiv.style.left=Math.floor(eDivPos[0] + 2) + 'px';
			eDiv.style.top=Math.floor(eDivPos[1] + 2) + 'px';
			eDiv.style.visibility = 'visible';
			eDiv.style.fontWeight = 'bold';
			eDiv.style.fontFamily = 'Arial';
			eDiv.style.fontSize = '14px';
			eDiv.innerHTML = '<br/>Attention !<br/>Votre question a atteint la taille maximale.';
			document.body.appendChild(eDiv);
		} else {
			objChk.style.visibility = 'visible';
		}
		
		EWSGC_CheckQSize_Inside = true;
		setTimeout("EWSGC_CheckQSize_Hide()", 1000);
	} else {
		obj.style.backgroundColor = '#FFFFFF';
		
		var objChk = document.getElementById('EWSGC_CheckSizeDiv');
		if(objChk && !EWSGC_CheckQSize_Inside){
			objChk.style.visibility = 'hidden';
		}
	}
	
	// show message with chars left
	var objCharLeft = document.getElementById('EWSGC_CheckSizeCountDiv');
	if(!objCharLeft){
		var eDivPos = EWSGC_findPos(obj);
		var eDiv=document.createElement("DIV");
		eDiv.id = 'EWSGC_CheckSizeCountDiv';
		
		eDiv.style.width=Math.floor(obj.offsetWidth - 3) + 'px';
		eDiv.style.height='16px';
		eDiv.style.position="absolute";
		/*eDiv.style.backgroundColor="#EBEBEB";*/
		eDiv.style.borderLeft = '1px solid #999999';
		eDiv.style.borderRight = '1px solid #999999';
		eDiv.style.borderBottom = '1px solid #999999';
		eDiv.style.left=Math.floor(eDivPos[0]) + 'px';
		eDiv.style.top=Math.floor(eDivPos[1] + obj.offsetHeight - 2) + 'px';
		eDiv.style.visibility = 'visible';
		/*eDiv.style.fontWeight = 'bold';*/
		eDiv.style.fontFamily = 'Arial';
		eDiv.style.fontSize = '12px';
		
		var charLeftText = mlength - obj.value.length;
		eDiv.innerHTML = charLeftText + ' caract&egrave;res restants';
		
		document.body.appendChild(eDiv);
	} else {
		if(obj.value.length <= 0){
			objCharLeft.style.visibility = 'hidden';
		} else {
			var charLeftText = mlength - obj.value.length;
			objCharLeft.innerHTML = charLeftText + ' caract&egrave;res restants';
			
			objCharLeft.style.visibility = 'visible';
		}
	}
}

function EWSGC_CheckQSize_Hide(){
	var objChk = document.getElementById('EWSGC_CheckSizeDiv');
	if(objChk){
		objChk.style.visibility = 'hidden';
	}
	
	EWSGC_CheckQSize_Inside = false;
}
/* END OF - CHECK TEXTAREA SIZE */

/* CHAT */
function EWSGC_ShowChat() {
	document.write('<iframe src="' + EWSGC_BaseURL + '/?eventid=' + EWSGC_EventID + '&nickname=' + EWSGC_Pseudo + '" frameborder="0" marginwidth="0" marginheight="0" scrolling="auto" width="' + EWSGC_Width + '" height="' + EWSGC_Height + '"></iframe>');
}
/* END OF - CHAT */

/* MESSAGES SYMPAS - TICKER */
function EWSGC_WriteTicker(){
       document.write('<iframe src="');
       document.write(EWSGC_BaseURL + '/ticker.php?');
       document.write('bgcolor=' + GC_Ticker_Nick_BG_Color + '&margin=' + GC_Ticker_Margin + '&userid=' + EWSGC_UserID + '&eventid=' + EWSGC_EventID + '&nickbgcolor=' + GC_Ticker_Nick_BG_Color + '&width=' + GC_Ticker_Width + '&height=' + GC_Ticker_Height + '&switchtime=' + GC_Ticker_SwitchTime);
       document.write('" width="' + (GC_Ticker_Width + 2*GC_Ticker_Margin) + '" height="' + (GC_Ticker_Height + 2*GC_Ticker_Margin) + '" scrolling="no" frameborder="0" marginwidth="0" marginheight="0"></iframe>');
}
/* END OF - MESSAGES SYMPAS - TICKER */

/* REMINDER */
function GCWS_EmailSubscribe(){
       var obj4 = document.getElementById('GCWS_ES_Email');
       if(!obj4)     return;
       
       var email = obj4.value;
       if(!email|| email == '')    return;
       
       loadjscssfile(EWSGC_BaseURL + '/ws.php?action=EMAILSUBSCRIBE&eventid=' + EWSGC_EventID + '&userid=' + EWSGC_UserID + '&email=' + email, 'js');
}

function GCSW_ES_SHSwitch(message){
       var obj = document.getElementById('GCWS_ES_Form');
       obj.style.visibility = 'hidden';
       
       var obj2 = document.getElementById('GCWS_ES_Completed');
       obj2.style.visibility = 'visible';
       
       var obj3 = document.getElementById('GCWS_ES_Message');
       obj3.innerHTML = message;
}
/* END OF - REMINDER */

/* SEND TO A FRIEND */
function GCWS_SendFriend(){
       var fromemail = document.getElementById('GCWS_SF_FromEmail');
       if(!fromemail)     return;
       
       var toemail = document.getElementById('GCWS_SF_ToEmail');
       if(!toemail)     return;
       
       var message = document.getElementById('GCWS_SF_WriteMessage');
       if(!message)     return;
       
       if(!fromemail.value|| fromemail.value == '')    return;
       if(!toemail.value|| toemail.value == '')    return;
       //if(!message.value|| message.value == '')    return;
       
       loadjscssfile(EWSGC_BaseURL + '/ws.php?action=SENDFRIEND&eventid=' + EWSGC_EventID + '&userid=' + EWSGC_UserID + '&fromemail=' + fromemail.value + '&toemail=' + toemail.value + '&message=' + message.value, 'js');
}

function GCSW_SF_SHSwitch(message){
       var obj = document.getElementById('GCWS_SF_Form');
       obj.style.visibility = 'hidden';
       
       var obj2 = document.getElementById('GCWS_SF_Completed');
       obj2.style.visibility = 'visible';
       
       var obj3 = document.getElementById('GCWS_SF_Message');
       obj3.innerHTML = message;
}
/* END OF - SEND TO A FRIEND */

/* ASK A QUESTION */
var EWSGC_Mandatory;
function GCWS_AskQuestion(){
       // checking mandatory fields
       if(EWSGC_Mandatory && EWSGC_Mandatory != '' && EWSGC_Mandatory.length > 0){
	       var reg = new RegExp(",", "g");
	       var checkVars = EWSGC_Mandatory.split(reg);
	       
	       for(var i=0; i<checkVars.length; i++){
	              var testThis = document.getElementById(checkVars[i]);
	              if(!testThis.value || testThis.value == ''){
	                     return GCWS_Error(checkVars[i]);
	              }
	       }
	}
       
       var nickname = document.getElementById('GCWS_AQ_Nickname');
       //if(!nickname)     return;
       if(nickname){
              nickname = nickname.value;
       } else {
              nickname = '';
       }
       
       var firstname = document.getElementById('GCWS_AQ_Firstname');
       if(firstname){
              firstname = firstname.value;
       } else {
              firstname = '';
       }
       
       var lastname = document.getElementById('GCWS_AQ_Lastname');
       if(lastname){
              lastname = lastname.value;
       } else {
              lastname = '';
       }
       
       var tag = document.getElementById('GCWS_AQ_Tag');
       if(tag){
              tag = tag.value;
              tag = tag.replace(/\r/g,"");
		tag = tag.replace(/\n/g,"");
       } else {
              tag = '';
       }
       
       var optin = document.getElementById('GCWS_AQ_Optin');
       if(optin){
              optin = optin.value;
       } else {
       	optin = 0;
       }
       
       var optin2 = document.getElementById('GCWS_AQ_Optin2');
       if(optin2 && optin2.checked){
              optin2 = 1;
       } else {
       	optin2 = 0;
       }
       
       var emailalert = document.getElementById('GCWS_AQ_EmailAlert');
       if(emailalert && emailalert.checked){
              emailalert = 1;
       } else {
       	emailalert = 0;
       }
       
       var email = document.getElementById('GCWS_AQ_Email');
       if(email){
       	email = email.value;
       }
       //if(!email)     return;
       
       var message = document.getElementById('GCWS_AQ_WriteMessage');
       if(!message){
              return GCWS_Error('GCWS_AQ_WriteMessage');
       }
       //message = Utf8.encode(message.value);
       message = message.value;
       message = message.replace(/\r/g,"");
       message = message.replace(/\n/g,"");
       
       //if(!nickname || nickname == '')    return;
       // nickname is not mandatory anymore
       if(!message|| message == ''){
              return GCWS_Error('GCWS_AQ_WriteMessage');
       }
       //if(!message.value|| message.value == '')    return;
       
       loadjscssfile(EWSGC_BaseURL + '/ws.php?action=ASKQUESTION&eventid=' + EWSGC_EventID + '&userid=' + EWSGC_UserID + '&nickname=' + nickname + '&firstname=' + firstname + '&lastname=' + lastname + '&optin=' + optin + '&optin2=' + optin2 + '&emailalert=' + emailalert + '&email=' + email + '&message=' + message + '&tag=' + tag, 'js');
}

function GCWS_Error(type){
       var msg = '';
       
       switch(EWSGC_Lang){
              case 'en':
              
              break;
              case 'fr':
                     switch(type){
                            case 'GCWS_AQ_Nickname':
                                   msg = 'Vous devez entrer un pseudo !';
                            break;
                            case 'GCWS_AQ_Firstname':
                                   msg = 'Vous devez saisir un pr�nom !';
                            break;
                            case 'GCWS_AQ_Lastname':
                                   msg = 'Vous devez saisir un nom !';
                            break;
                            case 'GCWS_AQ_Email':
                                   msg = 'Vous devez saisir une adresse email !';
                            break;
                            case 'GCWS_AQ_WriteMessage':
                                   msg = 'Vous devez saisir un message !';
                            break;
                     }
              break;
       }
       
       if(msg)       alert(msg);
       
       return;
}

function GCSW_AQ_SHSwitch(message){
       var obj = document.getElementById('GCWS_AQ_Form');
       if(obj){
       	obj.style.visibility = 'hidden';
       }
       
       var obj2 = document.getElementById('GCWS_AQ_Completed');
       if(obj2){
       	obj2.style.visibility = 'visible';
       }
       
       var obj3 = document.getElementById('GCWS_AQ_Message');
       if(obj3){
       	obj3.innerHTML = message;
       }
       
       // hide number of chars left
       var objCharLeft = document.getElementById('EWSGC_CheckSizeCountDiv');
	if(objCharLeft){
		objCharLeft.style.visibility = 'hidden';
	}
}

function GCSW_AQ_SHSwitchBack(){
       var obj = document.getElementById('GCWS_AQ_Form');
       if(obj){
       	obj.style.visibility = 'visible';
       }
       
       var obj2 = document.getElementById('GCWS_AQ_Completed');
       if(obj2){
       	obj2.style.visibility = 'hidden';
       }
	
	var message = document.getElementById('GCWS_AQ_WriteMessage');
	message.value = '';
}
/* END OF - ASK A QUESTION */

/* COMING QUESTIONS */
var TimeoutACQ;
var ACQCheckTimeStamp = 0;
var ACQAllowMod = true;

function GC_ActiveComingQuestions(){
       doACQ();
}

function doACQ(){
       clearTimeout(TimeoutACQ);
       TimeoutACQ = setTimeout("doACQ()",20000);
	
	var d = new Date();
	var t = d.getTime();
       loadjscssfile(EWSGC_BaseURL + '/cache/client-comingquestions-' + EWSGC_EventID + '-' + GC_ACQ_MaxQuestions + '.html?date=' + t, 'js');
}

function ACQ_CheckTimeStamp(TS){
       if(TS > ACQCheckTimeStamp){
              ACQAllowMod = true;
              ACQCheckTimeStamp = TS;
       } else {
              ACQAllowMod = false;
       }
}

function ACQ_Clear(){
       if(!ACQAllowMod)     return;
       
       var obj = document.getElementById('GC_comingQuestions');
       obj.innerHTML = '';
}

function ACQ_Add_Question(nickname,text,addBreak){
       if(!ACQAllowMod)     return;
       
       var obj = document.getElementById('GC_comingQuestions');
       obj.innerHTML += '<div class="GC_nickname">' + nickname + '</div>';
       obj.innerHTML += '<div class="GC_question">' + text + '</div>';
       if(addBreak){
              obj.innerHTML += '<div class="GC_break"></div>';
       }
}
/* END OF - COMING QUESTIONS */

/* QUESTION ACTUELLE - CURRENT QUESTION */
function EWSGC_ShowCurrentQuestion() {
       //doGETCQ();
       doGETCQ();
       var TimeoutGETCQ = setInterval("doGETCQ()",10000);
}

function EWSGC_SendCurrentTime(text){
       if(document.getElementById('EWSGC_CurrentTime')){
              document.getElementById('EWSGC_CurrentTime').innerHTML = text;
       }
}

function EWSGC_SendCurrentPseudo(text){
       if(document.getElementById('EWSGC_CurrentPseudo')){
              document.getElementById('EWSGC_CurrentPseudo').innerHTML = text;
       }
}

function EWSGC_SendCurrentQuestion(text){
       if(document.getElementById('EWSGC_CurrentQuestion')){
              document.getElementById('EWSGC_CurrentQuestion').innerHTML = text;
       }
       //alert('o3'+text);
}

//var TimeoutGETCQ;
function doGETCQ(){
       //clearTimeout(TimeoutGETCQ);
       //TimeoutGETCQ = setTimeout("doGETCQ()",10000);
       //alert('ok');
       var d = new Date();
	var t = d.getTime();
	
       loadjscssfile(EWSGC_BaseURL + '/cache/client-currentline-' + EWSGC_EventID + '.html?date=' + t, 'js');
}
/* END OF - QUESTION ACTUELLE - CURRENT QUESTION */


/* QUESTION WEBWALL - WEBWALL QUESTION */
function EWSGC_ShowCurrentWebWallQuestion() {
       //doGETCQ();
       doGETCWWQ();
       var TimeoutGETCWWQ = setInterval("doGETCWWQ()",10000);
}

function EWSGC_SendCurrentWebWallTime(text){
       if(document.getElementById('EWSGC_CurrentWebWallTime')){
              document.getElementById('EWSGC_CurrentWebWallTime').innerHTML = text;
       }
}

function EWSGC_SendCurrentWebWallPseudo(text){
       if(document.getElementById('EWSGC_CurrentWebWallPseudo')){
              document.getElementById('EWSGC_CurrentWebWallPseudo').innerHTML = text;
       }
}

function EWSGC_SendCurrentWebWallQuestion(text){
       if(document.getElementById('EWSGC_CurrentWebWallQuestion')){
              document.getElementById('EWSGC_CurrentWebWallQuestion').innerHTML = text;
       }
}

function doGETCWWQ(){
       var d = new Date();
	var t = d.getTime();
	
       loadjscssfile(EWSGC_BaseURL + '/cache/client-currentwebwall-' + EWSGC_EventID + '.html?date=' + t, 'js');
}
/* END OF - QUESTION WEBWALL - WEBWALL QUESTION */


/* COMMON FUNCTIONS */
function loadjscssfile(filename, filetype){
        if (filetype=="js"){ //if filename is a external JavaScript file
                var fileref=document.createElement('script')
                fileref.setAttribute("type","text/javascript")
                fileref.setAttribute("src", filename)
        }
        else if (filetype=="css"){ //if filename is an external CSS file
                var fileref=document.createElement("link")
                fileref.setAttribute("rel", "stylesheet")
                fileref.setAttribute("type", "text/css")
                fileref.setAttribute("href", filename)
        }
        if (typeof fileref!="undefined")
                document.getElementsByTagName("head")[0].appendChild(fileref)
}


/**
*
*  UTF-8 data encode / decode
*  http://www.webtoolkit.info/
*
**/

var Utf8 = {

    // public method for url encoding
    encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // public method for url decoding
    decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}

