/*
Home JS pour Moto85
Copyright(c) 2009, Skalpel.

Author : Michael
michael@skalpel.fr

Note : 
	-
ToDo :
	- 
*/
var SkTabsRecherche, SkTabsAnnonces, SkRechercheRapide, SkSliderMotos, SkSliderPieces;
window.addEvent('domready', function() {
 	 // Tabs Recherche
	SkTabsRecherche = new SKjs.Tabs('recherche', 'ul.tabs li', 'div.panel', {
		onClick: function() {
			if(this.index == 0 && !$defined(SkSliderMotos)) {
				SkSliderMotos = new SKjs.Slider('motos-prix', 'div.scrollbar', 'motos-prix-minKnob', 'motos-prix-maxKnob', {
					start: 0,
					end: 60,
					offset: 0,
					snap: false,
					onChange: function(pos) {
						$('motos-prix-min').set('html', pos.minpos * 1000);
						$('motos-prix-max').set('html', pos.maxpos * 1000);
						$('motos-prix-mini').set('value', pos.minpos * 1000);
						$('motos-prix-maxi').set('value', pos.maxpos * 1000);
					}
				}).setMin(0).setMax(60);
			}
			if(this.index == 1 && !$defined(SkSliderPieces)) {
				SkSliderPieces = new SKjs.Slider('pieces-prix', 'div.scrollbar', 'pieces-prix-minKnob', 'pieces-prix-maxKnob', {
					start: 0,
					end: 50,
					offset: 0,
					snap: false,
					onChange: function(pos) {
						$('pieces-prix-min').set('html', pos.minpos * 1000);
						$('pieces-prix-max').set('html', pos.maxpos * 1000);
						$('pieces-prix-mini').set('value', pos.minpos * 1000);
						$('pieces-prix-maxi').set('value', pos.maxpos * 1000);
					}
				}).setMin(0).setMax(60);
			}
		}
	});
	// Tabs Annonces
	SkTabsAnnonces = new SKjs.Tabs('annonces', 'ul.tabs li', 'div.panel');
	
	// Instanciation de la Recherche Rapide
	var SkRechercheRapide = new SKjs.RechercheRapide();
});


/* 
Class : RechercheRapide
	Gestion de la recherche rapide
	
Arguments : 
	options {object} - Objet Options

Options :
	elmSelType {String} - Id du Select correspondant aux Types de vehicules
	elmSelMarque {String} - Id du Select correspondant aux Marques
	elmSelModele {String} - Id du Select correspondant aux Modeles
*/
SKjs.RechercheRapide = new Class ({
	Implements: [Events, Options],
	options: {
		marque:		'marque4',
		cylindree:	'cylindree4',
		modele:		'modele4'
	},

	initialize: function(options) {
		this.setOptions(options);
		this.dom = {};

		this.initLoader();
		
		this.initDom();
		this.initEvents();
		
		// Selects marque/cylindree/modele
		new SKjs.SelectsHome(this.options.marque, this.options.cylindree, this.options.modele);
	},
	
	initDom: function(marque, cylindree, modele) {
		this.dom.marque 			= $(this.options.marque);
		this.dom.cylindree			= $(this.options.cylindree);
		this.dom.modele 			= $(this.options.modele);
	},
	
	/*
	Property :
		Loader qui sera associe aux champs select
	*/
	initLoader: function() {
		this.elmLoader = new Element('div', {
			'id': 'loaderRechercheRapide',
			'styles': {
				'display': 'none',
				'position': 'absolute',
				'z-index': '1',
				'top': '0',
				'left': '0',
				'margin': '2px 0 0 2px'
			}
		}).inject(document.body);
		new Element('img', {
			'src': 'images/interface/ajax-loader-1.gif',
			'alt': 'Chargement...'
		}).inject(this.elmLoader);
	},
	/*
	Property :
		On initialise l'ensemble des evenements
	*/
	initEvents: function() {
		// Tab : Moto
		
		// Tab : Pieces & Accessoires
		
		// Tab : Emplois
		
		// Tab : Professionnels
		
		this.dom.marque.addEvent('change', this.showLoader.bind(this, this.dom.marque));
		this.dom.marque.addEvent('blur', this.hideLoader.bind(this, this.dom.cylindree));
		
		//this.dom.cylindree.addEvent('change', this.showLoader.bind(this, this.dom.cylindree));
		this.dom.cylindree.addEvent('blur', this.hideLoader.bind(this, this.dom.modele));
	},
	
	/*
	Property :
		Affiche le loader
	Arguments :
		elm {Dom} - Element de reference pour positionner le loader
	*/
	showLoader: function(elm) {
		var posY = elm.getPosition().y;
		var posX = elm.getPosition().x + elm.getSize().x;
		
		this.elmLoader.setStyles({
			'top': posY,
			'left': posX,
			'display': 'block'
		});
	},
	/* 
	Property :
		On cache le loader
	*/
	hideLoader: function(elm) {
		this.elmLoader.setStyle('display', 'none');
		elm.getFirst('option').set('value', '0');
	}
});
