var TabManager = Class.create();
TabManager.prototype = {
	/*
		tabName basic class applied to tabs
		contentName basic class applied to contents
	*/
	initialize: function(tabName,contentName){
		this.tabName = tabName;
		this.contentName = contentName;
		this._setFirstActive();
		this._addOnclickTabAction();
	},
	
	/*Active le 1er onglet et son contenu*/
	_setFirstActive: function() {
		var contentName = this.contentName;
		var tabName = this.tabName;
		var tabs = $A(document.getElementsByClassName(this.contentName));
		var firstActive=0;
		tabs.each(function(element) {
			var associatedTab=element.id.sub(contentName+'-','');
			if (element.empty()) {
				element.setStyle({display:'none'});
				$(tabName+'-'+associatedTab).setStyle({display:'none'});
			}
			else{
				if (firstActive==0) {
					$(tabName+'-'+associatedTab).addClassName('actif');
					element.setStyle({display:'block'});
					firstActive=1;
				}
				else{
					element.setStyle({display:'none'});
				}
			}
		});
	},
	_addOnclickTabAction: function() {
		var elements = document.getElementsByClassName(this.tabName);
		for (var row in elements) {
			if (elements[row].id){
				Event.observe(elements[row],'click',this.elementOnClick.bind(this));
			}
		}
	},
	
	elementOnClick: function(event) {
		var tabs = $A(document.getElementsByClassName(this.tabName));
		tabs.each(function(element) { element.removeClassName('actif'); });
		Event.element(event).addClassName('actif');
		
		var contents = $A(document.getElementsByClassName(this.contentName));
		contents.each(function(element) { element.setStyle({display:'none'}); });
		var associatedContent = Event.element(event).id.sub(this.tabName+'-','');
		$(this.contentName+'-'+associatedContent).setStyle({display:'block'});
		
	}
}

var addToBookmark = Class.create();
addToBookmark.prototype = {
	initialize: function(url,title){
		this.url = url;
		this.title = title;
		this._addSiteToBookmark();
	},
	_addSiteToBookmark: function() {
		
		if(Prototype.Browser.IE) {
			window.external.AddFavorite(this.url,this.title);
		}
		else{
			window.sidebar.addPanel(this.title, this.url, "");
		}
	}
}

var dmcSearchEngine = Class.create();
dmcSearchEngine.prototype = {
	initialize: function(){
	},
	search: function(dmc) {
		if($('DMC_'+dmc)) {
			var product = $('DMC_'+dmc);
			var link = product.childElements();
			window.location.replace(link);
		}else {
			alert('Cette reference DMC n\'existe pas.');
		}
	}
}

/**
 * Quick Search form client model
 */