var ajaxTree      = JS_ABS_URL + '/xhr-session';
var ajaxCatalogue = JS_ABS_URL + '/xhr-catalogue';
var ajaxArticle   = JS_ABS_URL + '/xhr-article';
var ajaxDivers    = JS_ABS_URL + '/xhr-divers';
var ajaxClient    = JS_ABS_URL + '/xhr-client';
var ajaxBlog      = JS_ABS_URL + '/xhr-blog';

var G_RegExp_Email  =   new RegExp ( "^\\w[\\w+\.\-]*@[\\w\-]+\.\\w[\\w+\.\-]*\\w$", "gi" );

var $          = function(v) { return document.getElementById(v); };
var cc_Isset   = function(v) { var indefini; return v != indefini; };
var cc_IsEmail = function(v) { return (v.search( G_RegExp_Email ) != -1); };
var cc_Implode = function(v,a)
                {
                    var _return = '';
                    for( var i=0; i < a.length; i++)
                    {
                        _return += a[i];
                        if( i != (a.length-1) ) _return += v;
                    }
                    return _return;
                }

Object.prototype.trim     = function()  { return this.replace(/(^\s*)|(\s*$)/g,''); };
Object.prototype.ajaxReplaceEt = function() { return this.replace('&','[AJAX_TAG_ET]'); };

function cc_GoRoot()
{
    location.href = JS_ABS_URL;
}

function cc_Go(page)
{
    location.href = JS_ABS_URL + '/' + page + '.html';
}

function cc_GoAbs(page)
{
    location.href = page;
}

function cc_GoNewAbs(page)
{
    window.open(page);
}

function cc_cssThemeSelector(theme)
{
    var cookie = 'cssTheme=' + escape(theme);
	var today = new Date();
	var expire = new Date();
	expire.setTime(today.getTime() + 1000 * 60 * 60 * 24 * 365);
	cookie += "; expires=" + expire.toGMTString();
	cookie += "; path=/";
	
	var cookie_photos = cookie;
	
	var reg = new RegExp('^(http://)','i');
	
	cookie += "; domain=" + JS_ABS_URL.replace(reg,'');
	//cookie_photos += "; domain=" + JS_PHOTOS_URL.replace(reg,'');

    document.cookie = cookie;
	//document.cookie = cookie_photos	
	location.reload();
}

function cc_RechercheInitAC()
{
    var cc_AC_FastSearch = new cc_AC('fastsearch',ajaxArticle,['do=search','input=debut'],'debut');
    cc_AC_FastSearch.acSetRapport(4);
    cc_AC_FastSearch.setOnchange('cc_GoArticle(this.value)');
    cc_AC_FastSearch.submitIfNotVal();
}

function cc_PartenaireClic(p)
{
    sendData('null','do=clicpartenaire&p='+p, ajaxDivers, 'GET');
}

function cc_BanniereClic(b)
{
    sendData('null','do=clicbanniere&b='+b, ajaxDivers, 'GET');
}

function cc_changerPageCatalogue(p)
{
    cc_loadingCat('catalogue');
    if( !cc_Isset(p) ) p = 0;
    var _data   = 'do=changerPage&p='+p;
    sendData('catalogue',_data, ajaxCatalogue, 'GET');
}

function cc_afficherCatalogue()
{
    cc_loadingCat('catalogue');
    var _catId  = cc_afficherCatalogue.arguments[0];
    var _tri    = cc_afficherCatalogue.arguments[1];
    var _const  = cc_afficherCatalogue.arguments[2];
    var _filtre = cc_afficherCatalogue.arguments[3];
    var _aff    = cc_afficherCatalogue.arguments[4];
    if( !cc_Isset(_tri) )    _tri    = -1;
    if( !cc_Isset(_const) )  _const  = -1;
    if( !cc_Isset(_filtre) ) _filtre = '';
    if( !cc_Isset(_aff) )    _aff    = -1;
    var _data   = 'do=afficher&catId='+_catId+'&tri='+_tri+'&const='+_const+'&filtre='+_filtre+'&aff='+_aff;
    sendData('catalogue',_data, ajaxCatalogue, 'GET');
}

function cc_loadingDiv(d)
{
    $(d).innerHTML = $('loading-message').innerHTML;
}

function cc_loadingDivTxt(d)
{
    $(d).innerHTML = 'Chargement...';
}

function cc_loadingCat(d)
{
    $(d).innerHTML = $('loading-message-cat').innerHTML;
}

function cc_changeClass(obj,cls)
{
    if( obj.className != cls )
        obj.className = cls;
}

function cc_Coords(obj)
{
    this.x = abcisse(obj);
    this.y = ordonnee(obj);

    function abcisse(k)
    {
        return k.offsetParent ? k.offsetLeft + abcisse(k.offsetParent) : k.offsetLeft;
    }

    function ordonnee(k)
    {
        return k.offsetParent ? k.offsetTop + ordonnee(k.offsetParent) : k.offsetTop;
    }
}

function cc_pop(name, url, left, top, width, height, toolbar, menubar, statusbar, scrollbar, resizable)
{
  toolbar_str = toolbar ? 'yes' : 'no';
  menubar_str = menubar ? 'yes' : 'no';
  statusbar_str = statusbar ? 'yes' : 'no';
  scrollbar_str = scrollbar ? 'yes' : 'no';
  resizable_str = resizable ? 'yes' : 'no';
  window.open(url, name, 'left='+left+',top='+top+',width='+width+',height='+height+',toolbar='+toolbar_str+',menubar='+menubar_str+',status='+statusbar_str+',scrollbars='+scrollbar_str+',resizable='+resizable_str);
}

function cc_Alerte(titre,msg)
{
    var _alerte = ''
        + '<table style="text-align:left;">'
            + '<tr>'
                + '<td rowspan="2" style="width:60px;text-align:center;vertical-align:middle;"><img src="' + JS_ABS_IMG_URL + '/js_Alerte.png" alt="" /></td>'
                + '<td> ' + msg + '</td>'
            + '</tr>'
            + '<tr>'
                + '<td><input type="button" class="Bouton-Ok" value="" onclick="modalPopUpClose();" /></td>'
            + '</tr>'
        + '</table>';
    modalPopUp(titre,_alerte,'',400);
}

function cc_Great(titre,msg)
{
    var _alerte = ''
        + '<table style="text-align:left;">'
            + '<tr>'
                + '<td rowspan="2" style="width:60px;text-align:center;vertical-align:middle;"><img src="' + JS_ABS_IMG_URL + '/js_Okay.png" alt="" /></td>'
                + '<td> ' + msg + '</td>'
            + '</tr>';
            
    if( !cc_Great.arguments[2] )
    {
        _alerte +=
              '<tr>'
                + '<td><input type="button" class="Bouton-Ok" value="" onclick="modalPopUpClose();" /></td>'
            + '</tr>';
    }
    _alerte += '</table>';
    modalPopUp(titre,_alerte,'',400);
}

function switchSelectOption(f,s1,s2,o,h,s3)
{
    if( o < 0 ) return false;
    s1 = f.elements[s1];
    s2 = f.elements[s2];
    s3 = f.elements[s3];
    var s1o = s1.options[o];
    
    for( i=s2.length-1;i>=0;i--)
    {
        if (s2.options[i].value == s1o.value)
        {
            return false;
        }
    }
    
	var obj = new Option(s1o.text, s1o.value);
	s2.options[s2.length]=obj;
	s1.options[o] = null;
    setHiddenForSelect(s3,f.elements[h]);
}

function setHiddenForSelect(s,h)
{
	var hBuf = '';
    for( i=0;i<s.options.length ;i++ )
    {
        hBuf += ';' + s.options[i].value;
    }
    hBuf = hBuf.substring(hBuf.indexOf(';')+1);
    h.value = hBuf;
}
 
function hideOrShowDiv(div)
{
    if( $(div).style.display == 'none' )
        $(div).style.display = 'block';
    else
        $(div).style.display = 'none';
}

function hideDiv(div)
{
    $(div).style.display = 'none';
}

function showDiv(div)
{
    $(div).style.display = 'block';
}

//insère une règle avec son nom
function cc_insereCSS(nom,regle){
  if (document.styleSheets) {
    var I=document.styleSheets[0];
    if(I.addRule){ // méthode IE
      I.addRule(nom,regle)
    }else if(I.insertRule){ // méthode DOM
      I.insertRule(nom+" { "+regle+" }",I.cssRules.length)
    }
  }
}

function cc_setStyleElement(e,name)
{
    e.className=name;
}

function setStylePourElement(c,name){
  c.className=name;
}

// calcule le décalage à gauche
function cc_getOffsetLeft(r){
  return getOffset(r,"offsetLeft")
}

// calcule le décalage vertical
function cc_getOffsetTop(r){
  return getOffset(r,"offsetTop")
}

function getOffset(r,attr){
  var kb=0;
  while(r){
    kb+=r[attr];
    r=r.offsetParent
  }
  return kb
}

function cc_GoArticle(id)
{
    id = id.replace(/[^c0-9]/,'');
    var url = JS_ABS_URL + '/recherche-id-' + id;
    location.href = url;
}

function cc_loadGallerie(g,p)
{
    cc_loadingCat('gallerie');
    var _data   = 'do=gallerie&g='+g+'&p='+p;
    sendData('gallerie',_data, ajaxDivers, 'GET');    
}

function cc_loadGallerieRandPic()
{
    var _data   = 'do=gallerieRandPic';
    sendData('GallerieRandPic',_data, ajaxDivers, 'GET'); 
}

function cc_Newsletter(id)
{
    var _mail = $('nl_'+id).value.ajaxReplaceEt();
    var _data = 'do=newsletter&id='+id+'&mail='+_mail;
    sendData('ajaxDiv',_data, ajaxDivers, 'GET');   
}

function cc_OnsubmitSearch(f)
{
    if(f.fastsearch_input.value == '' && f.fastsearch_hidden.value == 0)
        return false;
    else
        return true;
}

function cc_rechercheLoadComp()
{
    var div = 'recherche_compatibilites';
	
    var _data = 'do=rechercheLoadComp';
    if( cc_rechercheLoadComp.arguments[0] )
    {
        div += '_'+cc_rechercheLoadComp.arguments[0];
        _data += '&pers=' + cc_rechercheLoadComp.arguments[0];
    }
    cc_loadingDiv(div);
    
    sendData(div,_data, ajaxArticle, 'GET');
}

function cc_rechercheOnChangeComp()
{
    var chemin = cc_rechercheOnChangeComp.arguments[0];
    var div = 'recherche_compatibilites';
    var _data = 'do=rechercheLoadComp&chemin='+chemin;
    if( cc_rechercheOnChangeComp.arguments[1] )
    {
        div += '_'+cc_rechercheOnChangeComp.arguments[1];
        _data += '&pers=' + cc_rechercheOnChangeComp.arguments[1];
    }
    
    cc_loadingDiv(div);
    sendData(div,_data, ajaxArticle, 'GET');
}
