﻿function v_hGetById(id) {
	hHandler = (document.getElementById(id))?document.getElementById(id):false;
	return hHandler;
}

function vMeteo_audience ( psup, path, hst, iBlocId ){
    var rnd = Math.round(Math.random()*10000000000);
    var url = "http://t.voila.fr/track?";

    if(!hst)  { var hst = window.location.hostname; }
    url += "sn=" + escape(hst);

    if (document.referrer != ''){
        url += '&h=' + escape(document.referrer);
    } else url += '&h=0';

    if(!path) { var path = window.location.href.substring(window.location.protocol.length+2+window.location.hostname.length); }
    url += "&pn=" + escape(path);

    if(psup) {
        url += "&" + psup;
    }
    url += "&r=" + rnd;
		if (window.bOAudience == null){
			if (typeof iBlocId != "undefined" && iBlocId != null){
			if (v_hGetById(iBlocId)) v_hGetById(iBlocId).innerHTML = '<img src="'+url+'" width="1" height="1">';
			} else {
	    document.write('<img src="'+url+'" width="1" height="1">');
			}
			window.bVAudience = true;
			return true;
			}
}

// popUp
function popMe (genre,adresse) {
	if (!i2h("contPopIn")){
		contPop = document.createElement('div');
		contPop.setAttribute ("id", "contPop");
		DivVid = document.createElement('div');
		DivVid.setAttribute ("id", "contPopIn");
		fermer = document.createElement('a');
		//creation bouton fermer
		fermer.setAttribute ("href", "#");
		olacAddEvent(fermer,"click",function () { 
			//document.getElementById("contGal").style.display='none';
			//while(contPop.hasChildNodes()) contPop.removeChild(contPop.firstChild);
			//alert(contPop.innerHTML);
			//contPopIn.removeChild(iframe);
			document.getElementById("IFRAME").style.display='none';
			iframePlayer.kill();
			document.body.removeChild(contPop);	
		});
		fermer.className='c_lk_close';
		fermer.innerHTML='fermer';
		if (genre=="iframe") {
			iframe = document.createElement('iframe');
			iframe.setAttribute ("id", "IFRAME");
			iframe.src= adresse;
			iframe.marginWidth= '0px';
			iframe.marginHeight= '0px';
			iframe.frameBorder= '0px';
			document.body.appendChild(contPop);
			document.getElementById("contPop").appendChild(DivVid);
			document.getElementById("contPopIn").appendChild(iframe);
			document.getElementById("contPopIn").appendChild(fermer);
			//document.getElementById("contGal").style.display='block';
			//document.bodyElement.scrollTop='0px';
		}
		else {
			img = document.createElement('img');
			img.src= adresse;
			document.body.appendChild(contPop);
			document.getElementById("contPop").appendChild(DivVid);
			document.getElementById("contPopIn").appendChild(img);
			document.getElementById("contPopIn").appendChild(fermer);
			//document.bodyElement.scrollTop='0px';
		}
	}
}
function olacAddEvent(objdom,typeofevent,func){ 
	if (objdom.addEventListener){ objdom.addEventListener(typeofevent,func,false); }
	else { objdom['e'+ typeofevent + func] = func;objdom[typeofevent + func] = function(){objdom['e'+ typeofevent + func](window.event);};objdom.attachEvent('on'+ typeofevent, objdom[typeofevent + func]); }
}

document.sendWmPlayer = function (data) { iframePlayer = data; }

// Accordeon fiches Infos

var accordion=function(){
	var tm=sp=10;
	function slider(n){this.nm=n; this.arr=[]}
	slider.prototype.init=function(t,c,k){
		var a,h,s,l,i; a=document.getElementById(t); this.sl=k?k:'';
		h=a.getElementsByTagName('dt'); s=a.getElementsByTagName('dd'); this.l=h.length;
		for(i=0;i<this.l;i++){var d=h[i]; this.arr[i]=d; d.onclick=new Function(this.nm+'.pro(this)'); if(c==i){d.className=this.sl}}
		l=s.length;
		for(i=0;i<l;i++){var d=s[i]; d.mh=d.offsetHeight; if(c!=i){d.style.height=0; d.style.display='none'}}
	}
	slider.prototype.pro=function(d){
		for(var i=0;i<this.l;i++){
			var h=this.arr[i], s=h.nextSibling; s=s.nodeType!=1?s.nextSibling:s; clearInterval(s.tm);
			if(h==d&&s.style.display=='none'){s.style.display=''; su(s,1); h.className=this.sl}
			else if(s.style.display==''){su(s,-1); h.className=''}
		}
	}
	function su(c,f){c.tm=setInterval(function(){sl(c,f)},tm)}
	function sl(c,f){
		var h=c.offsetHeight, m=c.mh, d=f==1?m-h:h; c.style.height=h+(Math.ceil(d/sp)*f)+'px';
		c.style.opacity=h/m; c.style.filter='alpha(opacity='+h*100/m+')';
		if(f==1&&h>=m){clearInterval(c.tm)}else if(f!=1&&h==1){c.style.display='none'; clearInterval(c.tm)}
	}
	return{slider:slider}
}();

var oRefreshPub = {
  _RMsrc: '',
  _hCont: null,
  _ifr: null,
	_divAudience: null,
  initialized: false,
  init: function(){

      var oArgs = arguments[0];
      this._hCont = dojo.byId(oArgs.sIdRM);
      var RMScript = dojo.byId(oArgs.sIdRMScript);
      this._RMsrc = new String(RMScript.src);
      this.initialized = true;
			this._divAudience = document.createElement('div');
			this._divAudience.setAttribute('id', 'divAudience');
			this._hCont.parentNode.insertBefore(this._divAudience, this._hCont);
			
  },
  setIframe: function(){
      this._ifr = document.createElement('iframe');
      this._ifr.setAttribute('border', '0');
      this._ifr.setAttribute('frameBorder', '0');
      this._ifr.setAttribute('scrolling', 'no');
      this._ifr.setAttribute('width', '300');
      this._ifr.setAttribute('height', '250');
  },
  clearTag: function(){
      var node = this._hCont;
      while(node.firstChild){
          node.removeChild(node.firstChild);
      }
  },
  refreshTag: function(){
      if(null == this._ifr){
          this.clearTag();
          this.setIframe();
          this._hCont.appendChild(this._ifr);
      }
      this._ifr.src = ['/Inc/iframe-refreshRM.html?',this._RMsrc].join('');
			window.bVAudience = null;
      vMeteo_audience('','', '', this._divAudience.id);

  }
};
function refreshRM(){
  if(false === oRefreshPub.initialized){
    oRefreshPub.init({
	    sIdRM: 'RMTag',
	    sIdRMScript: 'RMScript'
		});
  } 
  oRefreshPub.refreshTag();
	return false;
}
function refreshRMFichesInfos(){
	dojo.addOnLoad(function(){
			var hContainer = dojo.byId('slider');
			var hTitles = dojo.query('dt', hContainer);
			dojo.forEach(hTitles, function(item){
				  dojo.connect(item, 'onmouseup', 'refreshRM');
			});
	});
	return false;
}




function rechercheVille() {
    var sVille = dojo.byId('recherchePluie').value;
    var hPluviometrie = dojo.byId('pluviometrie');
    dojo.style(hPluviometrie,'display', 'block');
    dojo.fadeIn({
            node: hPluviometrie,
            duration:1000
        }).play();
    var hListeVilles = dojo.byId('listeVilles');
    var regExp = /^[0-9]{1,6}/;
    if('' != sVille){
        dojo.xhrPost({
            url: "/Php/recherchePrevPluies.php",
            content: {recherche: sVille},
            handleAs: "text",
            timeOut: 5000,
            load: function(response){
                if(!response){
                    dojo.style(oStore.rainSliderParams.hListeVille,'display','block');
                    dojo.style(oStore.rainSliderParams.hRainSliderContainer,'display','none');
                    hListeVilles.innerHTML = '<div class="errMsg">D&eacute;sol&eacute;, nous ne disposons pas encore des pr&eacute;visions pluie sur cette commune</div>';
                } else if (regExp.test(response)) {
                    getPrevisionsPluies(response);
                } else {
                    dojo.style(oStore.rainSliderParams.hListeVille,'display','block');
                    dojo.style(oStore.rainSliderParams.hRainSliderContainer,'display','none');
                    hListeVilles.innerHTML = response;
                }
                return response;
            },
            error: function(response){
                hListeVilles.innerHTML = '<div class="errMsg">Votre recherche n\'est pas valide</div>';
                return response;
            }
        });
    } else {
			dojo.style(oStore.rainSliderParams.hRainSliderContainer,'display','none');
			dojo.style(oStore.rainSliderParams.hRainSliderContainer,'display','none');
			dojo.byId('recherchePluie').focus();
		}
} // rechercheVille()
/*
 * FUNCTION getPrevisionsPluies
 * @description: AJAX - retourne un tableau contenant les informations de pluie d'une ville pour une heure donnï¿½e
 * @return array;
 */
function getPrevisionsPluies(codePluies /*string*/) {
    dojo.style(oStore.rainSliderParams.hListeVille,'display','none');
    dojo.style(oStore.rainSliderParams.hRainSliderContainer,'display','block');
    var hListeVilles = dojo.byId("listeVilles");
    dojo.xhrPost ({
        url: "/Php/getPrevPluies.php",
        content: {code: codePluies},
        handleAs: "javascript",
        timeOut: 5000,
        load: function(response){
            hListeVilles.innerHTML = response;
            return response;
        },
        error: function(response){
          return response;
        }
    });
} // getPrevisionsPluies()

dojo.require("dijit.form.Slider");
oStore = {};
/*
 * FUNCTION RainSlider : singleton oStore.rainSlider
 */

RainSlider = function(params,domNode){
	// retour 
	if(!oStore.rainSlider){
		oStore.rainSlider = new dijit.form.HorizontalSlider(params, domNode);
	}
	return oStore.rainSlider;	// Object
} // RainSlider()
 
/*
 * FUNCTION rainForecastSlider
 * @description: permet d'afficher un slider representant les prï¿½cipitations dans une ville ? une heure donnï¿½e
 * @params: sStyle - chaine format CSS
 */
function rainForecastSlider() {
    var hSlider = oStore.rainSliderParams.hSlider;
    var sStyle = oStore.rainSliderParams.sCSS;
    var hRainLabel = dojo.byId("rainLabel");
    var hRainTime = document.createElement('span');
    var nRainMax = oStore.rainSliderParams.aDatas.length - 1;
    dojo.byId("rainLabelFrom").innerHTML = oStore.rainSliderParams.aDatas[0][0];
    dojo.byId("rainLabelTo").innerHTML = oStore.rainSliderParams.aDatas[nRainMax][0];
    hRainLabel.innerHTML = oStore.rainSliderParams.aDatas[0][1];
		
    hRainTime.className = 'sliderHour';
    hRainTime.innerHTML = oStore.rainSliderParams.aDatas[0][0];
		
		var attrObj = {
        name: "slider",
        value: 0,
        minimum: 0,
        maximum: nRainMax,
        intermediateChanges: true,
        style: sStyle,
        showButtons: false,
        onChange: function(value) {
            var n = Math.floor(value);
            var k = ('undefined' != typeof(oStore.rainSliderParams.aDatas[n][0])) ? oStore.rainSliderParams.aDatas[n][0] : '';
            var v = ('undefined' != typeof(oStore.rainSliderParams.aDatas[n][1])) ? oStore.rainSliderParams.aDatas[n][1] : '';
            hRainTime.innerHTML = k;
            hRainLabel.innerHTML = v;
        }
    };
		oStore.rainSlider = RainSlider(attrObj, hSlider);
		
		if(false === oStore.rainSlider.sliderHandle.hasChildNodes()){
    	oStore.rainSlider.sliderHandle.appendChild(hRainTime);
		}
} // rainForecastSlider()


var div = {
	_initialized: false,
	_oContent: null,
	_hDisplay: null,
	_oCoords: {"x" : 0, "y" : 35},
	init: function( /*{ oInfos: json Array, sDisplayId: string, oCoords : {x : number, y : number} }*/ ){
		var oArgs = (typeof arguments[0] !== 'undefined') ? arguments[0] : false;
		if (false !== oArgs) {
			this._hDisplay = dojo.byId(oArgs.sDisplayId);
			this._oCoords = (typeof oArgs.oCoords !== 'undefined') ? oArgs.oCoords : this._oCoords;
			this._oContent = oArgs.oInfos;
			this._initialized = true;
		}
	},
	show: function(sId){
		
		if(false === this._initialized) return false;
		
		var hPicto = dojo.byId(sId);
		dojo.style(this._hDisplay, 
								{
									"top" : [(hPicto.offsetTop + new Number(this._oCoords.y)), "px"].join(""),
									"left" : [hPicto.offsetLeft + new Number(this._oCoords.x), "px"].join(""),
									"visibility" : "visible"
								}
							);
		this._hDisplay.innerHTML = this._oContent[sId];
		
	},
	hide: function(sId){
		
		if(false === this._initialized) return false;
		
		var hPicto = dojo.byId(sId);
		dojo.style(this._hDisplay, 
								{
									"visibility" : "hidden"
								}
							);
	}
	
}
/*
 * submit form on enter
 */

function submitEnter(hField, e){
	if(e.kCode == 13){
		hField.form.submit();
		return false;
	} else {
		return true;
	}
}


var infotimer = true;

function switchIt(){
	infotimer = false;
	switch(button.innerHTML){
		case 'fermer':
			button.className='c_lk_open';
			button.innerHTML = 'info flash';
			button.title='info flash';
			document.getElementById('toShowHide').style.display='none';
		break;
		case 'info flash':
			button.className='c_lk_close';
			button.innerHTML = 'fermer';
			button.title='fermer';
			document.getElementById('toShowHide').style.display='block';
		break;
	}
}

// recup code de la common.js de Orange pour le traitement des cookies

//o_sGetCookie
function o_sGetCookie(sName) {
if (document.cookie.length>0) {
iStartPos = document.cookie.indexOf(sName + "=");
if (iStartPos != -1) {
iStartPos = iStartPos + sName.length+1;
iEndPos = document.cookie.indexOf(";",iStartPos);
if (iEndPos == -1) { iEndPos = document.cookie.length; }
return unescape(document.cookie.substring(iStartPos,iEndPos));
}
}
return false;
}

//o_bSetCookie
function o_bSetCookie(sName,sVal,options)
{ 
try {
if ((typeof options != 'undefined') && (options.indexOf('=') != -1))
{
aOption = options.split(',');
oRegExp = /\s*(\w*)\s*=\s*(.*)\s*/;
for (var i=0;i<aOption.length;i++){
oRegExp.exec(aOption[i]);
try {
eval("var o_" + RegExp.$1 + " = '" + RegExp.$2 + "';"); 
} catch (e){}
}
}
sCookieVal = escape(sVal);
sCookieVal = sReplaceCharCookie(sCookieVal);
if (typeof o_expires != 'undefined'){ 
var exdate=new Date();
exdate.setDate(exdate.getDate()+parseInt(o_expires));
}
if (typeof o_expiresHour != "undefined" && !isNaN(o_expiresHour)){
if (typeof exdate == 'undefined') var exdate=new Date();
exdate.setHours(o_expiresHour,0,0,0);
}
document.cookie = sName + "=" + sVal + ((typeof o_domain == 'undefined')?"":";domain="+o_domain) +";path=" + ((typeof o_path == 'undefined')?"/":o_path) + ((typeof exdate == 'undefined')?"":";expires="+exdate.toGMTString());
return true;
} catch (e) {return false; }
}
function o_sGetCookie(sName) 
{
if (document.cookie.length>0) 
{
iStartPos = document.cookie.indexOf(sName + "=");
if (iStartPos != -1) 
{
iStartPos = iStartPos + sName.length+1;
iEndPos = document.cookie.indexOf(";",iStartPos);
if (iEndPos == -1) { iEndPos = document.cookie.length; }
return unescape(document.cookie.substring(iStartPos,iEndPos));
}
}
return false;
}
TruncateString = {}
TruncateString.recursive = function(obj,options){for(var fx in options){switch(typeof(options[fx])){case 'object':TruncateString.recursive(obj[fx],options[fx]);break;default:obj[fx] = options[fx];break;}}}
TruncateString.bySize = function(offset,nMaxSize,sStrTmpOrObject,options){
var type = typeof(sStrTmpOrObject);
switch(type){
case 'string' :
var obj = document.createElement('div');
TruncateString.recursive(obj,{'style':{'position':'absolute','visibility':'hidden'}});
var obj2 = document.createElement('div');
TruncateString.recursive(obj2,options);
obj.appendChild(obj2);
obj.firstChild.innerHTML = sStrTmpOrObject;
document.body.appendChild(obj);
break;
default    :var obj = sStrTmpOrObject;sStrTmpOrObject = obj.innerHTML;break;
}
while(obj['offset'+ offset] > nMaxSize){
sStrTmpOrObject = sStrTmpOrObject.substr(0,sStrTmpOrObject.lastIndexOf(" "));
obj.innerHTML = sStrTmpOrObject + ' ...';
}
if(type == 'string'){
sStrTmp = obj.innerHTML;
document.body.removeChild(obj);
return sStrTmp;
}
};
