// JScript File
// fonctions globales
// à tout le projet


var isIE = (navigator.appName == 'Microsoft Internet Explorer');
var isNetscape = (navigator.appName == 'Netscape');
var VK_RETURN  = 13;

//GetElementById pour IE ET les autres
function myGetElementById(layer)
{      	
	var DHTMLDiv = null;

	if(document.getElementById)
		DHTMLDiv = document.getElementById(layer);
	else if(document.all)
		DHTMLDiv = document.all[layer];

	return DHTMLDiv;
}

function isStringsEquals(stringA,stringB,isIgnoreCase)
{
    if(isIgnoreCase)
    {
        if(stringA.toUpperCase() == stringB.toUpperCase())
            return true;    
    }
    else
    {
        if(stringA == stringB)
            return true;
    }

    return false;
}



//innerText pour IE ET les autres
//ne met à jour que si les textes
//sont différents
function myInnerText(control,value)
{
    if(!control)
        return;
    //on va créer une nouvelle balise et insérer
    //lma nouvelle valeur car apparemment
    //il y a une mise en forme effectué par jscript
    //du coup la comparaison de valeurs ne peut marcher
    //directement
        newDiv = document.createElement("DIV");   
        
        
    if(control.innerText != undefined)
    {
        newDiv.innerText = value;
    
        if(! isStringsEquals(control.innerText,newDiv.innerText))
            control.innerText = value;            

    }
    else if(control.textContent != undefined)
    {
        newDiv.textContent = value;
        
        if(! isStringsEquals(control.innerHTML,newDiv.innerHTML))
            control.textContent = value;                
    }

}

//MyInnerText pour IE ET les autres
//ne met à jour que si les textes
//sont différents
function getMyInnerText(control)
{
    if(isIE)
        return control.innerText;
    else
        return control.textContent;
}


//innerText pour IE ET les autres
//ne met à jour que si les textes
//sont différents
function myInnerTextAdd(control,value)
{
    if(isIE)
            control.innerText += value;
    else
            control.textContent += value;                

}


//innerText pour IE ET les autres
//ne met à jour que si les textes
//sont différents
function getMyInnerTextAdd(control)
{
    if(isIE)
            return control.innerText;
    else
            return control.textContent;

}

//innerHTML 
//ne met à jour que si les textes
//sont différents
function myInnerHTML(control,value)
{
//on va créer une nouvelle balise et insérer
//lma nouvelle valeur car apparemment
//il y a une mise en forme effectué par jscript
//du coup la comparaison de valeurs ne peut marcher
//directement

    if(value == null)
        value = "";
                
    newDiv = document.createElement("DIV");
    newDiv.innerHTML = value;
        

        if(!isStringsEquals(control.innerHTML,newDiv.innerHTML))
        {
            stra = control.innerHTML;
            strb = value ;
            
            control.innerHTML = value;
        }
}

//innerHTML pour IE ET les autres
//ne met à jour que si les textes
//sont différents
function getMyInnerHTML(control)
{
      return control.innerHTML;
}
/*



$mask = (array) new html();
$mask[0]->mask1="[IMG]";
$mask[0]->mask2="[/IMG]";
$mask[0]->replace1="<img src=\"%s\">";
$mask[0]->nb_arg=1;
$mask[1]->mask1="[A]";
$mask[1]->mask2="[/A]";
$mask[1]->replace1=" <b><a href=\"%s\" target=_blank>%s</a></b>";
$mask[1]->nb_arg=2;
$mask[2]->mask1="[WMP]";
$mask[2]->mask2="[/WMP]";


if (eregi('msie', $HTTP_USER_AGENT) && !eregi('opera', $HTTP_USER_AGENT)) //IE
	$mask[2]->replace1="<br><center><OBJECT WIDTH=320 HEIGHT=240 CLASSID=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6 CODEBASE=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 type=application/x-oleobject><Param Name=URL Value=\"%s\"><Param Name=AutoStart Value=false></OBJECT></center><br>";
else
	$mask[2]->replace1="<br><center><EMBED SRC= \"%s\" TYPE=\'video/x-ms-wmv\' WIDTH=320 HEIGHT=240  AUTOSTART=\'0\' PLUGINSPAGE=\'http://microsoft.com/windows/windowsmedia/download/default.asp\' SHOWSTATUSBAR=1 SHOWDISPLAY=0 SHOWCONTROLS=1></embed></center><br>";

$mask[2]->nb_arg=1;
$mask[3]->mask1="[REAL]";
$mask[3]->mask2="[/REAL]";
$mask[3]->replace1="<br><center><object classid=CLSID:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=240 width=320><param name=controls value=ImageWindow,ControlPanel,Statusbar><param name=src value=\"%s\"><embed src=\"%s\" height=240 width=320 nojava=true controls=ImageWindow center=true pluginspage=http://www.real.com/></embed></object></center></br>";
$mask[3]->nb_arg=2;

$mask[4]->mask1="[URL]";
$mask[4]->mask2="[/URL]";
$mask[4]->replace1=" <b><a href=\"%s\" target=_blank>\"%s\"</a></b>";
$mask[4]->nb_arg=2;

$mask[5]->mask1="[FLASH]";
$mask[5]->mask2="[/FLASH]";
$mask[5]->replace1="<br><center><table cellspacing=1 cellpadding=0 bgcolor=#43B153><tr><td><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\"400\" height=\"300\" align=\"middle\"><param name=\"movie\" value=\"%s\"><param name=\"quality\" value=\"high\"><param name=\"BGCOLOR\" value=\"#FFFFFF\"><embed src=\"%s\" width=\"400\" height=\"300\" align=\"middle\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" bgcolor=\"#FFFFFF\"></embed></object></td></tr></table></center></br>";
$mask[5]->nb_arg=2;






$mask[6]->mask1="[TAB]";
$mask[6]->mask2="[/TAB]";
$mask[6]->replace1="<table bgcolor=#F6F6FE width=100%% style=\"border-top: 1px solid #C7C7F1;border-bottom: 1px solid #C7C7F1;border-left: 1px solid #C7C7F1;border-right: 1px solid #C7C7F1;\"><tr><td><font face=\"Courier New\" size=2>%s</font></td></tr></table>";
$mask[6]->nb_arg=1;
$mask[7]->mask1="[MSG]";
$mask[7]->mask2="[/MSG]";
$mask[7]->replace1="";
$mask[7]->nb_arg=1;

*/

function InsertMedia(FTBclientId,type)
{
    var strQuestion = "Entrez l'adresse du m\351dia. ( Les m\351dias ne peuvent pas provenir de votre disque dur !)";
    var strDefaut = "http://";
    var htmlAInserer = "";
    
    switch(type)
    {
        case "wmp":
            var url = window.prompt(strQuestion,strDefaut);
            
            if(url!=null && url.length>0)
            {
                url=replaceAll(url,"'","\'");
                url=replaceAll(url,"<","&lt;");
                url=replaceAll(url,">","&gt;");
                if(url.indexOf("youtube.")==-1)
	                htmlAInserer = "<div class='MultiMedia'><embed SRC='" + url + "' TYPE=\'video/x-ms-wmv\' WIDTH=320 HEIGHT=240  AUTOSTART=\'0\' PLUGINSPAGE=\'http://microsoft.com/windows/windowsmedia/download/default.asp\' SHOWSTATUSBAR='1' SHOWDISPLAY='0' SHOWCONTROLS='1' ></embed><a style='text-align:center;display:block;' href=\""+url+"\">Lien du m&eacute;dia</a></div>";
	        else
	        	htmlAInserer = "<a href='" + url + "'>"+url+"</a>";
            }


        break;
        case "real":
        
            var url = window.prompt(strQuestion,strDefaut);
            
            if(url!=null && url.length>0)
            {
                url=replaceAll(url,"'","\'");
                url=replaceAll(url,"<","&lt;");
                url=replaceAll(url,">","&gt;");
                htmlAInserer = "<div class='MultiMedia'><object classid='CLSID:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA' height='240' width='320'><param name='controls' value='ImageWindow,ControlPanel,Statusbar'><param name='src' value='"+url+"'/><embed src='"+ url +"' height='240' width='320' nojava='true' controls='ImageWindow' center=true pluginspage='http://www.real.com/'></embed></object><a style='text-align:center;display:block;' href=\""+url+"\">Lien du m&eacute;dia</a></div>";
            }
            
            
        break;
        case "flash":
            
            var url = window.prompt(strQuestion,strDefaut);
                        
            if(url!=null && url.length>0)
            {
                url=replaceAll(url,"'","\'");
                url=replaceAll(url,"<","&lt;");
                url=replaceAll(url,">","&gt;");
                htmlAInserer = "<div class='MultiMedia' ><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\"400\" height=\"300\" align=\"middle\"><param name=\"movie\" value=\"" + url + "\"/><param name=\"quality\" value=\"high\"/><param name=\"BGCOLOR\" value=\"#FFFFFF\"/><embed src=\""+url+"\" width=\"400\" height=\"300\" align=\"middle\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" bgcolor=\"#FFFFFF\" ></embed></object><a style='text-align:center;display:block;' href=\""+url+"\">Lien du m&eacute;dia</a></div>"
            }
        
        

        
        break;
        case "tab-bass":
        
            htmlAInserer = "<code class=\"TablatureCODE\">G|----------------|----------------|----------------|----------------|<br/>D|----------------|----------------|----------------|----------------|<br/>A|----------------|----------------|----------------|----------------|<br/>E|----------------|----------------|----------------|----------------|</code>";
        
        break;
        case "tab-guitar":
        
            htmlAInserer = "<code class=\"TablatureCODE\">E|----------------|----------------|----------------|----------------|<br/>B|----------------|----------------|----------------|----------------|<br/>G|----------------|----------------|----------------|----------------|<br/>D|----------------|----------------|----------------|----------------|<br/>A|----------------|----------------|----------------|----------------|<br/>E|----------------|----------------|----------------|----------------|</code>";
            
        break;
    }
    
       if(htmlAInserer && htmlAInserer.length>0)
       {
           ftb = FTB_API[FTBclientId];     
           ftb.InsertHtml(htmlAInserer);
       }
    
}

function CiterText(FTBclientId,Pseudo,txtToCite)
{    
        Pseudo = replaceAll(Pseudo,"<","&lt;");
        Pseudo = replaceAll(Pseudo,">","&gt;");
 
    try
    {       
        txtToCite = "<div class=\"Citation\"><div class=\"pseudocite\">"+Pseudo+"</div>"+txtToCite+"</div>&nbsp;";
    
        ftb = FTB_API[FTBclientId];          
        ftb.InsertHtml(txtToCite);
    }
    catch(ex)
    {
   
    }
}


function Citer(num,FTBclientId,PseudoClientID)
{
    var objtxtToCite = myGetElementById("MessageText_"+num);
    var objPseudo = myGetElementById(PseudoClientID);
    var pseudo = getMyInnerText(objPseudo);
   
    if(objtxtToCite)
    {
        var txtToCite = getMyInnerHTML(objtxtToCite);
        
        CiterText(FTBclientId,pseudo,txtToCite);
        
        /*txtToCite = "<div class=\"Citation\"><div class=\"pseudocite\">"+pseudo+"</div>"+txtToCite+"</div>";
    
        ftb = FTB_API[FTBclientId];     
        ftb.InsertHtml(txtToCite);
        */
     }

}

function getFTB_Button(ftb,commandIdentifier)
{ 

  for(i=0;i<ftb.buttons.length;i++)
  {
                if(ftb.buttons[i].commandIdentifier == commandIdentifier)
                    return ftb.buttons[i];
  }
  
  return null;
}

function FTB_insertSmiley(ftb,buttonSmiley)
{ 

   ctlImage = myGetElementById(buttonSmiley.id);
   ctlImage.html = getMyInnerHTML(ctlImage);
   ctlImage.html = ctlImage.html.substring(0,ctlImage.html.length-1);
   ctlImage.html += " style=\"vertical-align:middle;\"";
   ctlImage.html += " class=\"smiley\">";
   ctlImage.html = ctlImage.html.replace("width=21","").replace("height=20","").replace("width=\"21\"","").replace("height=\"20\"","");
   
   
   //alert(ctlImage.html);
   
   //alert(ctlImage.html);
   ftb.InsertHtml(ctlImage.html);
  
  return null;
}


function toggleLayer(layerID)
{

	var DHTMLDiv;

	if(document.getElementById)
	{
		DHTMLDiv = document.getElementById(layerID);
	}
	else
	{
		DHTMLDiv = document.all[layerID];
	}


	if (DHTMLDiv != null)
	{
		val = DHTMLDiv.style.display;

		if (val == "none")			
			DHTMLDiv.style.display = "block";//isIE ? 'block' : ""; //"inline";
		else		
			DHTMLDiv.style.display = "none";
	}
}


/******************************************************

		COOKIES

*******************************************************/


var SLIDER_COOKIE_NAME = "SlappytoSlider";
var LIGHT_COOKIE_NAME = "SlappytoLight";
var COLOR_COOKIE_NAME = "SlappytoColor";
var arrayAttribute = new Array();



function EcrireCookie(nom, valeur)
{

	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");

}


function LireCookie(nom)
{
	var position,fin;
	var cookie=document.cookie;
	position=cookie.indexOf(nom);
	// indexOf retourne l'index dans la chaîne de car. de la 1ère occurrence trouvée
	if(position==-1) 
		return "";

	fin=cookie.indexOf(";",position);

	if(fin==-1) 
		fin=cookie.length;
			
	return unescape(cookie.substring(position+nom.length+1,fin));
}
	
	
function DeleteCookie(nom)
{
        //on écrit le cookie au 1
    	date=new Date;
    	date.setMonth(date.getMonth()-1); 
    	EcrireCookie(nom,"" , date, '/');	    	

}

function replaceAll( str, from, to ) 
{

    var Regular = new RegExp(from,"gi");//g:global i:saut de ligne ok :)
    str = str.replace(Regular,to);

    return str;
}


// [0-255] --> [00-ff]
function int2Hex(nb)
{
    nb = (nb > 255)? 255: (nb < 0)? 0:nb;
    n_ = Math.floor(nb/16);
    n__ = nb % 16;
    return  n_.toString(16) + n__.toString(16)
}

//decode une chaine
function Decodeur(ctrl,text)
{
    var textdecoded = "";
    var tmpEsc = "";
    
    for(i=0;i<text.length;i+=2)
    {
        tmpEsc =  int2Hex(parseInt(text.substring(i,i+2),16)-(i/2));                   
        tmpEsc = "%"+tmpEsc;
         
         textdecoded = unescape(tmpEsc) + textdecoded;
    }

    myInnerText(myGetElementById(ctrl),textdecoded);
    myGetElementById(ctrl).style.display = "block";
    myGetElementById(ctrl).style.clear = "both";
    

}

/*************************************************/

function bookmarksite(title, url)
{

    if (document.all)
        window.external.AddFavorite(url, title);
    else if (window.sidebar)
        window.sidebar.addPanel(title, url, "");
        
}



function CopyText(TextACopier)
{
    
   if (window.clipboardData) //accete copier coller ?
   {
        var chaine = TextACopier + ""; //on rajoute une chaine vide pour recréer une instance...sinon
        window.clipboardData.setData("Text", chaine);      
   }
   else
   { 
      alert("Votre navigateur ne dispose pas de cette fonctionnalit\351.");
   }   
}

function initSearchINPUT()
{
    obj = myGetElementById("searchQ")
    
    if(obj)
        obj.onkeypress = searchOnKeyPress;
}


function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}



function searchOnKeyPress(evt)
{

    var key;
    var myEvent;
 
    if(window.event)
    {
        myEvent=event;
        key = event.keyCode;
    }
    else
    {
        myEvent=evt;
        key = evt.which;       
    }

        
    if(key == VK_RETURN ) //entree sans SHIFT -> envoyer
    {      
        var currentLink = document.location.href;
        currentLink = currentLink.toLowerCase();
      
        var futureLink = "";
     
        if(currentLink.indexOf("www.slappyto.net") != -1)
            futureLink = "http://www.slappyto.net/";
        else if(currentLink.indexOf("www.sweepyto.net") != -1)
            futureLink = "http://www.sweepyto.net/";
        else if(currentLink.indexOf("slappytoiis") != -1)
            futureLink = "http://localhost/SlappytoIIS/";
        else if(currentLink.indexOf("sweepytoiis") != -1)
            futureLink = "http://localhost/SweepytoIIS/";
            
       
        obj = myGetElementById("searchQ");        
        
        var dede = new String();
        
        
        if(trim(obj.value).length>0 && futureLink)
        {            
             //futureLink += "Recherche?q="+  escape(trim(obj.value)) + "&t=tout";
             futureLink += "Recherche?q="+  trim(obj.value) + "&t=tout";
                      
             document.location.href = futureLink;       
       }
       
       
       //annule l'évenement entree (sinon ca ajoute un retour chariot dans la textbox)
       if(window.event)      
            event.returnValue = false;  // IE 
       else
            return false;             // netscape 
     }
}