///////////////////////////////////////////////////////////////////////////////////////////////////////
// inscription
///////////////////////////////////////////////////////////////////////////////////////////////////////
function subscrib()
{
var login=crossbrowser('loginzz');
var pass=crossbrowser('passzz');
var retaper=crossbrowser('retaper');
var email=crossbrowser('email');
var icq=crossbrowser('icq');
var msn=crossbrowser('msn');

var error=0;

if(login.value=='')
   {
   login.className="errorform";
   message=crossbrowser('mlogin');
   message.innerHTML='Login est vide';
   message.className="errorform2";
   error=1;
   }
else
   {
   login.className="";
   message=crossbrowser('mlogin');
   message.innerHTML='Valide';
   message.className="goodform";
   }
   
if(pass.value=='')
   {
   pass.className="errorform";
   message=crossbrowser('mpass');
   message.innerHTML='Mot de passe vide';
   message.className="errorform2";
   error=1;
   }
else
   {
   pass.className="";
   message=crossbrowser('mpass');
   message.innerHTML='Valide';
   message.className="goodform";
   }
   
if(retaper.value=='')
   {
   retaper.className="errorform";
   message=crossbrowser('mretaper');
   message.innerHTML='Retaper vide';
   message.className="errorform2";
   error=1;
   }
else
   {
   retaper.className="";
   message=crossbrowser('mretaper');
   message.innerHTML='Valide';
   message.className="goodform";
   }

if(pass.value.length<6 && pass.value!='')
   {
   pass.className="errorform";
   retaper.className="errorform";
   message=crossbrowser('mpass');
   message.innerHTML='Le passe doit faire au moins 6 caractères';
   message.className="errorform2";
   error=1;
   }
else if(pass.value!='')
   {
   pass.className="";
   retaper.className="";
   message=crossbrowser('mpass');
   message.innerHTML='Valide';
   message.className="goodform";
   }

if(retaper.value!=pass.value && retaper.value!='' && pass.value!='')
   {
   pass.className="errorform";
   retaper.className="errorform";
   message=crossbrowser('mpass');
   message.innerHTML='Retaper est different du passe';
   message.className="errorform2";
   message=crossbrowser('mretaper');
   message.innerHTML='';
   message.className="errorform2";
   error=1;
   }
else if(retaper.value!='' && pass.value!='' && pass.value.length>6)
   {
   pass.className="";
   retaper.className="";
   message=crossbrowser('mpass');
   message.className="goodform";
   message.innerHTML='Valide';
   }

if(email.value=='')
   {
   email.className="errorform";
   message=crossbrowser('memail');
   message.innerHTML='email vide';
   message.className="errorform2";
   error=1;
   }
else
   {
   email.className="";
   message=crossbrowser('memail');
   message.className="goodform";
   message.innerHTML='Valide';
   }
   
var reg=/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/

if(reg.exec(email.value) == null && email.value!='')
   {
   email.className="errorform";
   message=crossbrowser('memail');
   message.innerHTML='email non valide';
   message.className="errorform2";
   error=1;
   }
else if(email.value!='')
   {
   email.className="";
   message.className="goodform";
   message=crossbrowser('memail');
   message.innerHTML='Valide';
   }

if(error!=1)
   {
   querysrv("subscrib",'login='+escape(login.value)+'&pass='+escape(pass.value)+'&email='+escape(email.value));
   }
}



//###########################################################################################################
// AJAX
//###########################################################################################################
function ajax()
{
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
   {
   xhr_object = new XMLHttpRequest();
   return xhr_object;
   }
else if(window.ActiveXObject) // Internet Explorer
   {
   xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
   return xhr_object;
   }
else
   { // XMLHttpRequest non supporté par le navigateur
   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
   return;
   }
}

//###########################################################################################################
// AJAX
//###########################################################################################################
function querysrv(where,what)
{
   xmlhttp=ajax();

   xmlhttp.open("POST","ajax/ajax.php?www="+where,true);
   xmlhttp.onreadystatechange = function()
      {
      if(xmlhttp.readyState == 0)
         {
         //alert('envois');
         }
      else if(xmlhttp.readyState == 4)
         {
         if(xmlhttp.status == 200)
           {
           request=xmlhttp.responseText;
           eval(request);
           }
         else
           {
           alert("Error loading page\n"+ xmlhttp.status +":"+ xmlhttp.statusText);
           }
         }
      }

   xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   xmlhttp.send(what);
}

//###########################################################################################################
// modif d'une news
//###########################################################################################################
function updatenews(ident)
{
querysrv('news',"id="+ident);
}

//###########################################################################################################
// nouvelle news
//###########################################################################################################
function renew()
{
crossbrowser('ititre').value='';
crossbrowser('inews').value='';
crossbrowser('iid').value='';
crossbrowser('gogo').value='Ajouter la news';
crossbrowser('renew').innerHTML='';
}

//###########################################################################################################
// update nom forum
//###########################################################################################################
function updateforumname(ident)
{
querysrv('forums',"a=update&id="+crossbrowser('id'+ident).value+'&valeur='+escape(crossbrowser('head'+ident).value));
}

//###########################################################################################################
// preview bbcode
//###########################################################################################################
var timer=0;
var ptag=String.fromCharCode(5,6,7);
function  previsualisation() {
t=crossbrowser(lead).value
t=code_to_html(t)
if (document.getElementById) crossbrowser("prev").innerHTML=t
if (crossbrowser('auto').checked) timer=setTimeout(previsualisation,1)
<!-- le "1" est le temps que met le texte à s'afficher, "1" : le texte s'affichera en même temps que l'on écrit (en s) -->
}
function automatique(id) {
if (crossbrowser('auto').checked) {previsualisation();} <!-- si on a cocher la case d'aperçu automatique -->
}
function code_to_html(t) {
t=nl2khol(t)
// balise Gras <!-- on lui dis que telles balises correspondent à tels codes en HTML -->
t=deblaie(/(\[\/g\])/g,t)
t=remplace_tag(/\[g\](.+)\[\/g\]/g,'<span style="font-weight: bold;">$1</span>',t)
t=remblaie(t)

// balise Italic
t=deblaie(/(\[\/i\])/g,t)
t=remplace_tag(/\[i\](.+)\[\/i\]/g,'<span style="font-style: italic;">$1</span>',t)
t=remblaie(t)

// balise Citation
t=deblaie(/(\[\/quote\])/g,t)
t=remplace_tag(/\[quote=([\s\S]*?)\](.+)\[\/quote\]/g,'<strong>Citation $1 :</strong><div style="border: 1px solid #000000; width: 50%; font-family: Verdana, \'Trebuchet MS\', Tahoma, \'Times New Roman\', Times, serif; text-align: left; font-size: 11px;" align="center">$2</div>',t)
t=remblaie(t)

// balise Image
t=deblaie(/(\[\/img\])/g,t)
t=remplace_tag(/\[img\](.+)\[\/img\]/g,'<img src="$1" />',t)
t=remplace_tag(/\[\img=([\s\S]*?)\](.+)\[\/img\]/g,'<img src="$2" style="float:$1;margin: 5px;" />',t)
t=remblaie(t)


// balise URL   
t=deblaie(/(\[\/url\])/g,t)
t=remplace_tag(/\[\url\]http:\/\/(.+)\[\/url\]/g,'<a href="$1" target="_blank">$1</a>',t)
t=remplace_tag(/\[\url=([\s\S]*?)\](.+)\[\/url\]/g,'<a href="$1" target="_blank">$2</a>',t)
t=remblaie(t)

// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/:hammer:/g,'<img src="img/smile/hammer.gif" border="0" alt="" />',t) 
t=remplace_tag(/:\)/g,'<img src="img/smile/smile.gif" border="0" alt="" />',t)
t=remplace_tag(/;\)/g,'<img src="img/smile/wink.gif" border="0" alt="" />',t)
t=remplace_tag(/:s/g,'<img src="img/smile/confused.gif" border="0" alt="" />',t)
t=remplace_tag(/8\)/g,'<img src="img/smile/cool.gif" border="0" alt="" />',t)
t=remplace_tag(/:'\(/g,'<img src="img/smile/cry.gif" border="0" alt="" />',t)
t=remplace_tag(/:p/g,'<img src="img/smile/raz.gif" border="0" alt="" />',t)
t=remplace_tag(/:\(/g,'<img src="img/smile/sad.gif" border="0" alt="" />',t)

t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
return t
}
<!-- tout le code qui suit c'est pour transformer toutes les balises, comme les preg_replace en PHP -->
function deblaie(reg,t) {
textarea=new String(t);
return textarea.replace(reg,'$1\n');
}
function remblaie(t) {
textarea=new String(t);
return textarea.replace(/\n/g,'');
}
function remplace_tag(reg,rep,t) {
textarea=new String(t);
return textarea.replace(reg,rep);
}
function nl2br(t) {
textarea=new String(t);
return textarea.replace(/\n/g,'<br/>');
}
function nl2khol(t) {
textarea=new String(t);
return textarea.replace(/\n/g,ptag);
}
function unkhol(t) {
textarea=new String(t);
return textarea.replace(new RegExp(ptag,'g'),'\n');
}

//###########################################################################################################
// bbcode
//###########################################################################################################
function bbcode(bbdebut, bbfin,what)
{
var input = crossbrowser(what);
input.focus();
/* pour IE (toujous un cas appar lui ;) )*/
if(typeof document.selection != 'undefined')
{
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
range = document.selection.createRange();
if (insText.length == 0)
{
range.move('character', -bbfin.length);
}
else
{
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
/* pour les navigateurs plus récents que IE comme Firefox... */
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbdebut.length;
}
else
{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* pour les autres navigateurs comme Netscape... */
else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Veuillez taper le texte");
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
function smilies(img)
{
window.document.formulaire.textarea.value += '' + img + '';
}
//###########################################################################################################
// windows
//###########################################################################################################
function updown(what,id,addon)
{
if(addon=='annonces'){heightt='425';}
else{heightt='140';}

if(what=='visible')
{
new Rico.Effect.FadeTo('frame1',0,200,10,
{complete:function(){new Rico.Effect.Size('frame1',null,10,500,5,
{complete:function(){new Rico.Effect.Size('frame2',null,heightt,500,20,
{complete:function(){querysrv(addon,'a=visible&id='+id);}})
}})
}});
}
else if(what=='hidden' && crossbrowser('frame2').style.height==heightt+'px')
{   
new Rico.Effect.FadeTo('frame2',0,200,10,
{complete:function(){new Rico.Effect.Size('frame2',null,10,500,5,
{complete:function(){new Rico.Effect.Size('frame1',null,350,500,20,
{complete:function(){querysrv(addon,'a=hidden');}})
}})
}});
}
}
//###########################################################################################################
// media
//###########################################################################################################
function media(url)
{
new Rico.Effect.FadeTo('contenu',0,200,10,{complete:function(){querysrv('medias','url='+url);}});
}

function bigger(url)
{
new Rico.Effect.FadeTo('contenu',0,200,10,{complete:function(){querysrv('medias','bigger='+url);}});
}

//###########################################################################################################
// admin annonce
//###########################################################################################################
function mod_annonce(ids)
{
querysrv('annonces',"a=admmod&id="+ids);
}

function empty_annonce(nb)
{
crossbrowser('iid').value='';
crossbrowser('ititre').value='';
crossbrowser('iannonce').value='';

cate=crossbrowser('icat');
for(x=0;x<nb;x++)
   {
   cate.options[x].selected='false';
   }

crossbrowser('sub').innerHTML='<input type="submit" name="Ajouter" value="Ajouter" />';
}

function del_annonce(ids)
{
if(confirm('Voulez vous reellement supprimer cette annonce?'))
   {
   querysrv('annonces',"a=del&id="+ids);
   }
}

function del_annonce2(ids)
{
if(confirm('Voulez vous reellement supprimer cette annonce?'))
   {
   querysrv('annonces',"a=del2&id="+ids);
   }
}

function view_annonce(ids)
{
querysrv('annonces',"a=view&id="+ids);
}

function ok_annonce(ids)
{
querysrv('annonces',"a=valider&id="+ids);
}

//###########################################################################################################
// concerts
//###########################################################################################################

function edit_concert(ids)
{
querysrv('concerts',"a=mod&id="+ids);
}

function empty_concert(nb)
{
crossbrowser('iid').value='';
crossbrowser('ititre').value='';
crossbrowser('iinfo').value='';
crossbrowser('idate').value='';
crossbrowser('iheure').value='';
crossbrowser('iminute').value='';

crossbrowser('sub').innerHTML='<input type="submit" name="Ajouter" value="Ajouter" />';
}

function del_concert(ids)
{
if(confirm('Voulez vous reellement supprimer cette date de concert?'))
   {
   querysrv('concerts',"a=del&id="+ids);
   }
}

//###########################################################################################################
// webradio
//###########################################################################################################
var idpls='';
var idcat='';

function mp3list()
{
o=crossbrowser('categorielist');
ids=o.options[o.options.selectedIndex].value;
querysrv('webradio',"a=mp3list&id="+ids);
}

function mkpls()
{
o=crossbrowser('newpl').value;
querysrv('webradio',"a=mkpls&name="+o);
}

function viewpls(ids)
{
querysrv('webradio',"a=view&id="+ids);
idpls=ids;
}

function addpls(ids)
{
querysrv('webradio',"a=add&id="+ids+"&idpls="+idpls);
}

function mp3bdd()
{
o=crossbrowser('mp3bdd');
ids=o.options[o.options.selectedIndex].value;
idcat=ids;
}

function addmp3(mp3)
{
//alert("a=addmp3&mp3="+mp3+"&cat="+idcat);
querysrv('webradio',"a=addmp3&mp3="+escape(mp3)+"&cat="+idcat);
}

function delmp3pl(ids)
{
//alert("a=delmp3pl&id="+ids+"&pls="+idpls);
querysrv('webradio',"a=delmp3pl&id="+ids+"&pls="+idpls);
}

function delpl(ids)
{
querysrv('webradio',"a=delpl&id="+ids);
}

function delmp3(ids)
{
querysrv('webradio',"a=delmp3&id="+ids);
}

function mp3up(ids)
{
querysrv('webradio',"a=up&id="+ids);
}

function mp3down(ids)
{
querysrv('webradio',"a=down&id="+ids);
}

function injectpls(ids,rand)
{
querysrv('webradio',"a=injectpls&id="+ids+"&pls="+idpls+"&rand="+rand);
}

function daypls(jour)
{
o=crossbrowser(jour);
ids=o.options[o.options.selectedIndex].value;
querysrv('webradio',"a=daypls&jour="+jour+"&id="+ids);
}