// ESPACE DE NOM
var Renault = window.Renault || {};

// MODULE HOME
Renault.Home = (function() {
	
	// STYLES PAR DEFAUT DE LA PAGE
//	document.documentElement.className += ' hasJS';
	
	// AJOUT D'ACTIONS SUR DES EVENEMENTS DONNES
/*	var _connect = (function() {
		if(document.addEventListener) {
			return function(oEl, sEvType, callback, bCapture) {
				sEvType = sEvType == 'mouseleave' ? 'mouseout' : sEvType;
				return oEl.addEventListener(sEvType, callback, bCapture || false);
			};
		}
		else if(window.attachEvent) {
			return function(oEl, sEvType, callback) {
				return oEl.attachEvent('on' + sEvType, callback);
			};
		}
	})();
*/
	// ARRET DE LA PROPAGATION ET DE L'ACTION PAR DEFAUT DE L'ELEMENT
/*	var _stop = function(e) {
		if(e && e.stopPropagation && e.preventDefault) {
			e.stopPropagation();
			e.preventDefault();
		}
		else if(e && window.event) {
			window.event.cancelBubble = true;
			window.event.returnValue = false;
		}
		return false;
	};
*/
	// COORDONNEES DU POINTEUR POUR CHAQUE PAYS
	var _oLocations = {
		'be': {top: '121', left: '638'},
		'be2': {top: '121', left: '638'},
		'br': {top: '230', left: '560'},
		'ce': {top: '125', left: '655'},
		'da': {top: '106', left: '650'},
		'de': {top: '123', left: '645'},
		'ee': {top: '105', left: '670'},
		'es': {top: '138', left: '630'},
		'fi': {top: '90', left: '670'},
		'fr': {top: '127', left: '638'},
		'hr': {top: '133', left: '663'},
		'ir': {top: '110', left: '625'},
		'it': {top: '137', left: '660'},
		'la': {top: '110', left: '670'},
		'li': {top: '115', left: '665'},
		'lu': {top: '123', left: '645'},
		'ma': {top: '128', left: '663'},
		'me': {top: '180', left: '475'},
		'ne': {top: '117', left: '638'},
		'no': {top: '90', left: '650'},
		'os': {top: '126', left: '650'},
		'pol': {top: '112', left: '660'},
		'por': {top: '138', left: '622'},
		'sc': {top: '125', left: '648'},
		'slj': {top: '128', left: '652'},
		'slk': {top: '128', left: '652'},
		'so': {top: '276', left: '665'},
		'sve': {top: '98', left: '656'},
		'svi': {top: '125', left: '648'},
		'su': {top: '125', left: '648'},
		'tu': {top: '143', left: '685'},
		'un': {top: '110', left: '635'}
	};
	// AFFICHAGE DU POINTEUR
	var _displayLocator = function(e) {
		var _oCtrl = e.target || e.srcElement;
		var _oLocator = document.getElementById('localisation');
		if(_oCtrl && _oLocator) {
			_oLocator.style.top = parseInt(_oLocations[_oCtrl.id].top) + 'px';
			_oLocator.style.left = parseInt(_oLocations[_oCtrl.id].left) + (window.attachEvent && typeof XMLHttpRequest == 'undefined' ? 15 : 0) + 'px';
		}
	};
	
	
	var _hideLocator = function() {
		var _oLocator = document.getElementById('localisation');
		if(_oLocator) {
			_oLocator.style.top = '-500px';
			_oLocator.style.left = '0';
		}
	};
	var _localize = function() {
		var _oPays = document.getElementById('tabpays');
		if (!_oPays) return;
		var _aCtrls = _oPays.getElementsByTagName('a');
		var _iCtrl = _aCtrls.length;
		while(--_iCtrl >= 0) {
			$(_aCtrls[_iCtrl]).addEvent('mouseover',_displayLocator);
			$(_aCtrls[_iCtrl]).addEvent('focus',_displayLocator);
			$(_aCtrls[_iCtrl]).addEvent('mouseout',_hideLocator);
			$(_aCtrls[_iCtrl]).addEvent('blur',_hideLocator);
			
			/*
			_connect(_aCtrls[_iCtrl], 'mouseover', _displayLocator);
			_connect(_aCtrls[_iCtrl], 'focus', _displayLocator);
			_connect(_aCtrls[_iCtrl], 'mouseout', _hideLocator);
			_connect(_aCtrls[_iCtrl], 'blur', _hideLocator);
			*/
		}
	};
	var _displayList = function(e) {
		var _aLists = document.getElementsByTagName('ul');
		var _iList = _aLists.length;
		while(--_iList >= 0) {
			if(/listLang\b/.test(_aLists[_iList].className)) {
				if(/\bshow/.test(_aLists[_iList].className)) {
					_aLists[_iList].className = 'listLang';
				}
				else {
					_aLists[_iList].className = 'listLang show';
				}
			}
		}
		new Event(e).stop();
		//_stop(e);
	};
	var _contains = function(oContainer, oContainee) {
		for(var _oNode = oContainee; _oNode && _oNode != oContainer; _oNode = _oNode.parentNode);
		return _oNode;
	};
	var _hideList = function(e) {
		var _oTarget = e.target || e.srcElement;
		if(_oTarget.nodeName.toLowerCase() != 'ul') {
			return;
		}
		var _oRelTarget = e.relatedTarget || e.toElement;
		//_stop(e);
		new Event(e).stop();
		var _aLists = document.getElementsByTagName('ul');
		var _iList = _aLists.length;
		setTimeout(
			function() {
				while(--_iList >= 0) {
					if(/listLang\b/.test(_aLists[_iList].className)) {
						if(!window.attachEvent && _contains(_aLists[_iList], _oRelTarget)) {
							return;
						}
						_aLists[_iList].className = 'listLang';
					}
				}
			},
			1000
		);
	};
	var _setLanguage = function() {
		var _oLanguage = document.getElementById('language');
		if(!_oLanguage) {
			return;
		}
		var _oDiv = _oLanguage.getElementsByTagName('div')[0];
		if(!_oDiv) {
			return;
		}
		var _aOptions = _oDiv.getElementsByTagName('option');
		var _iOption = _aOptions.length;
		if(!_iOption || _iOption == 0) {
			return;
		}
		var _oP = document.createElement('p');
		_oP.className = 'titleLang';
		var _oA = document.createElement('a');
		_oA.href = '#';
		//_connect(_oA, 'click', _displayList);
		$(_oA).addEvent('click',_displayList);
		var _oTxtA = document.createTextNode(_aOptions[0].lastChild.nodeValue);
		var _oUl = document.createElement('ul');
		_oUl.className = 'listLang';
		//_connect(_oUl, 'mouseleave', _hideList);
		$(_oUl).addEvent('mouseleave', _hideList);
		
		while(--_iOption >= 0) {
			var _oLi = document.createElement('li');
			var _oA2 = document.createElement('a');
			_oA2.href = _aOptions[_iOption].value;
			var _oTxtA2 = document.createTextNode(_aOptions[_iOption].lastChild.nodeValue);
			_oA2.appendChild(_oTxtA2);
			_oLi.appendChild(_oA2);
			_oUl.appendChild(_oLi);
		}
		_oA.appendChild(_oTxtA);
		_oP.appendChild(_oA);
		_oDiv.appendChild(_oP);
		_oDiv.appendChild(_oUl);
		_oDiv.getElementsByTagName('select')[0].style.display = 'none';
		_oDiv.getElementsByTagName('input')[0].style.display = 'none';
	};
	var _pngFix = function(elm, noOverflow) {
		elm.style.filter = ' ';
		if(!(document.all && window.print && /MSIE [56]/.test(navigator.userAgent))) {
			return;
		}
		var exec = (function(elm, noOverflow, scale) {
			return function() {
				var options = {noOverflow: noOverflow};
				var repeat = elm.currentStyle.backgroundRepeat.toLowerCase() == 'repeat';
				elm.style.filter = ' ';
				if(elm.nodeName.match(/^(IMG|INPUT)$/)) {
					if (!elm.src.match(/.*\.png$/)) {
						return;
					}
					elm.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod='image', src='"+ elm.src + "')";
					elm.width = elm.offsetWidth;
					elm.height = elm.offsetHeight;
					var url = elm.currentStyle.backgroundImage.match(/^url\(["'](.*\.gif)["']\)$/);
					elm.src = url[1];
					elm.className = elm.className.replace(/pngFix/g, '');
				}
				else {
					if(elm.currentStyle.backgroundImage == "" || elm.currentStyle.backgroundImage == "url()") {
						return;
					}
					var url = elm.currentStyle.backgroundImage.match(/^url\(["'](.*\.png)["']\)$/);
					if(!url || url.length < 2) {
						return;
					}
					var pngLayer = document.createElement('i');
					with(pngLayer.style) {
						if(options.noOverflow) {
							width = elm.offsetWidth + 'px';
							height = elm.offsetHeight + 'px';
						}
						else {
						 	width = '32000px';
							height = '32000px'; 
						}
						position = 'absolute';
						zIndex = -1;
						fontSize = '1%';
						filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod='" + (options.noOverflow ? 'crop' : 'image') + "', src='" + url[1] + "')";
						background = 'none';
						if(!repeat) {
							switch((elm.currentStyle.backgroundPositionX + '').toLowerCase()) {
								case 'left':
									left = 0;
								break; 
								case 'right':
									right = 0;
								break;
								case 'center': 
									left = '50%'; 
									setTimeout(
										function(pngLayer) {
											return function() {
												pngLayer.style.marginLeft = -(pngLayer.offsetWidth / 2) + 'px'; 
											};
										}(pngLayer),
										50
									);
								break;
								default: 
									left = elm.currentStyle.backgroundPositionX; 
							}
							switch((elm.currentStyle.backgroundPositionY+'').toLowerCase()) {
								case 'top':
									top = 0;
								break;
								case 'bottom':
									bottom = 0;
								break;
								case 'center': 
									top = '50%'; 
									setTimeout(
										function(pngLayer) {
											return function() {
												pngLayer.style.marginTop = -(pngLayer.offsetHeight / 2) + 'px'; 
											}
										}(pngLayer),
										100
									);
								break;
								default: 
									top = elm.currentStyle.backgroundPositionY || 0; 
							}
						}
						else {
							left = 0;
							top = 0;
						}
					}
					setTimeout(
						function(elmN, pngLayerN, repeatN) {
							return function() {
								if(!elmN || elmN.parentNode || !pngLayerN || !pngLayerN.parentNode) {
									return;
								}
								if(pngLayerN.filters['DXImageTransform.Microsoft.AlphaImageLoader'].sizingMethod == 'image') {
									if(pngLayerN.offsetWidth < elmN.offsetWidth && repeatN) {
										pngLayerN.filters['DXImageTransform.Microsoft.AlphaImageLoader'].sizingMethod = 'scale';
									}
									else if(
										pngLayerN.offsetWidth > elmN.offsetWidth &&
										elm.currentStyle.backgroundPositionX.match(/^(left|0%|0px|0)$/) ||
										elm.currentStyle.backgroundPositionY.match(/^(top|0%|0px|0)$/)
									){
										pngLayerN.filters['DXImageTransform.Microsoft.AlphaImageLoader'].sizingMethod = 'crop';
									}
								}
								else {
									pngLayerN.sizingMethod = 'image';
								}
								if(elm.currentStyle.width.match(/^(0|[12](%|px)?)$/)) {
									pngLayerN.filters['DXImageTransform.Microsoft.AlphaImageLoader'].sizingMethod = 'image';
								}
								if(pngLayerN.style.right != 'auto' && pngLayerN.style.right !='') {
									setTimeout(
										function() {
											pngLayerN.style.right = parseInt(pngLayerN.style.right) - (elm.offsetWidth % 2 ? 1 : 0) + 'px';
										},
										50
									);
								}
							}(elm, pngLayer, repeat),
							200
						}
					);
					with(elm.style) {
						position = elm.currentStyle.position == "static" || elm.currentStyle.position == "" ?
							'relative':
							position;
						if(elm.currentStyle.overflow != 'auto' && elm.currentStyle.overflow != 'hidden')
							overflow = options.noOverflow ?
								'visible':
								(
									elm.currentStyle.width.match(/^(0|[12](%|px)?)$/) ?
										'visible':
										'hidden'
								);
						backgroundImage = 'none';
					}
					elm.appendChild(pngLayer);
				}
			}
		})(elm, noOverflow);
		try{
			_pngFixLoader.useOnload ?
				_pngFixLoader.addFunc(exec):
				exec();
		}
		catch(e) {};
	};
	var _pngFixLoader = {
		useOnload: true,
		functions: [],
		addFunc: function(func) {
			_pngFixLoader.functions.push(func);
		},
		launch: function() {
				_pngFixLoader.useOnload = false;
				var counter = 1;
				while(_pngFixLoader.functions.length > 0) {
					_pngFixLoader.functions.pop()();
					counter++;
				}
		},
		init: function() {
			if(_pngFixLoader.useOnload && window.attachEvent && document.all) {
				window.attachEvent(
					'onload',
					function() {
						setTimeout(_pngFixLoader.launch, 100);
					}
				);
			}
		}
	}
	_pngFixLoader.init();
	return {
	//	'connect': _connect,
		'localize': _localize,
		'setLanguage': _setLanguage,
		'pngFix': _pngFix
	};
})();
// MODULE HOME
Renault.Stats = (function() {
	var _initialize = function(e) {
		if ($('tabpays')) return;
		var _aAs = $('body').getElements('a');
		_aAs.each(function(_oA){
			_oA.addEvent('click', function(e){
				_setQuery(_oA);
			})
		})
	};
	var _setQuery = function(_oLink) {
		var _sQueryMuted = 'RMM.';
		var _sAction = '.click.';
		//filter link
		_sUrl = _oLink.href;
		_sUrl = _sUrl.replace(/\bhttp:\/\/\b/, '');
		_sLoc = document.location.pathname.split('/')[1];
		_sUrl = _sUrl.replace(/\b\.\b/g, '_');
		_sUrl = _sUrl.replace(/\b\//g, '.');
		_sUrl = _sUrl.replace(/\b\?/g, '-');
		_sUrl = _sUrl.replace(/\b\&\b/g, '-');
		_sUrl = _sUrl.replace(/\b\=\b/g, '-');
		
		//different cas
		if (_sUrl.indexOf('.') == _sUrl.length - 1){
			_sUrl = _sUrl.substring(0,_sUrl.length - 1);
		}else if (_sUrl.split('_')[_sUrl.split('_').length - 1] == 'pdf'){
			_sUrl = _sUrl.substring(0,_sUrl.length - 4);
			_sAction = '.click.pdf.';
		}else if (_sUrl.split('_')[_sUrl.split('_').length - 1] == 'jsp'){
			_sUrl = _sUrl.substring(0,_sUrl.length - 4);
		}else if (_sUrl.split('_')[_sUrl.split('_').length - 1] == 'html'){
			_sUrl = _sUrl.substring(0,_sUrl.length - 5);
		}
		
		
		//creation url
		_sQueryMuted += _sLoc + _sAction + _sUrl;
		
		_netStat(_sQueryMuted);
	}
	var _netStat = function(_sQuery) {
		sitestat(SITESTAT_HOST + netstat_sitename + SITESTAT_URL + _sQuery);
	}
	return {
		'initialize': _initialize
	};
})();
//Renault.Home.connect(window, 'load', Renault.Home.localize);
//Renault.Home.connect(window, 'load', Renault.Home.setLanguage);
window.addEvent('load', Renault.Home.localize);
window.addEvent('load', Renault.Home.setLanguage);
window.addEvent('load', Renault.Stats.initialize);