(function ($) {
	$.widget('ui.sendMail', {
		_create: function () {
			this.element.fancybox();
		}
	});
	$.widget('ui.print', {
		_create: function () {
			this.element.bind("click", function (evt) {
				evt.stopPropagation();
				evt.preventDefault();
				window.print();
			});
		}
	});
	$.widget ('ui.moreSearch', {
		_create : function () {
			var $anchor = this.element.find('a').eq(0);
			var form = $('#search').length!==0?$('#search')[0]:false;
			var trans = {
				'0[genre]' : 'search[genre_com]',
				'0[marque]' : 'search[marque]',
				'0[energie]' : 'search[energie]',
				'0[prix]' : 'search[prix]',
				'4x4':'44',
				'Berline':'BE',
				'Break':'BK',
				'Cabriolet':'CA',
				'Fourgon':'VU',
				'Fourgonette':'MI',
				'Monospace':'MO',
				'Véhicule société':'VU',
				'Electrique':'ELEC',
				'Essence':'ES',
				'Gasoil':'GO',
				'GPL':'GPL'
			}
			var query = {}, cvalue;
			if (form)
			{
				for (var i=0; i<form.elements.length; i++)
				{
					if (form.elements[i].value !== "0") {
						if (form.elements[i].name === '0[marque]')
							query[trans[form.elements[i].name]]=$(form.elements[i]).find('[value="'+form.elements[i].value+'"]').text();
						else if (form.elements[i].name === '0[prix]') {
							if (form.elements[i].value.indexOf('|')!==-1)
								cvalue = form.elements[i].value.substr(form.elements[i].value.indexOf('|')+1);
							else
								cvalue = form.elements[i].value;
							query[trans[form.elements[i].name]]=cvalue;
						}
						else if (form.elements[i].name in trans)
							query[trans[form.elements[i].name]]=trans[form.elements[i].value];
					}
				}
			}
			var qstring = '?';
			for (var r in query) {
				qstring += r+'='+query[r]+"&";
			}
			qstring = qstring.substr(0,qstring.length-1);
			var nurl = $anchor.attr('href')+qstring;
			$anchor.attr('href', nurl);
		}
	});
	
	$.widget ('ui.slider', {
		options : {
			interval : 40,
			step : 1
		},
		_create : function () {
			var $ul = this.element.find('ul').eq(0);
			var max = (this.element.find('li').length-4)*82;
			var self = this;
			var left = 0;
			var to = setInterval(function () {
				left -= self.options.step;
				$ul.css("left", left);
				if ((0-left)>=max)
				{
					$ul.css("left", 0);
					left = 0;
				}
			}, this.options.interval);
			
		}
	});
	
	$.widget ('ui.slideshow', {
		options : {
			interval : 3000
		},
		_create : function () {
			var self = this, count = this.element.find('div').length;
			var to = setInterval(function () {
				var $first = self.element.find('div').eq(0).css('opacity', 0);
				$first.insertAfter(self.element.find('div').eq(count-1));
				$first.animate({opacity:1},1000);
			}, this.options.interval);
			
		}
	});
	
	$.widget ('ui.topshow', {
		options : {
			interval : 10000,
			images : [
				'/skin/images/auto1.png',
				'/skin/images/auto2.png'
			]
		},
		_create : function () {
			var self = this;
			var count = this.options.images.length;
			var self = this, count = this.element.find('div').length;
			var cindex = 0;
			var to = setInterval(function () {
				if (++cindex>=count)
					cindex = 0;
				var img = new Image();
				img.onload = function () {
					self.element.css('background-image', 'url('+self.options.images[cindex]+')');
				}
				img.src = self.options.images[cindex];
			}, this.options.interval);
			
		}
	});

	$.widget ('ui.followLink', {
		_create : function () {
			this.element.bind('click', function (ev) {
				console.log(ev.target.tagName.toLowerCase());
				if (ev.target.tagName.toLowerCase() !== "a") {
					document.location.href = $(this).find('a').eq(0).attr('href');
				}
			});
		}
	});
	
	$.widget ('ui.photos', {
		options : {
		},
		_create : function () {
			var self = this;
			var $img = this.element.find('div img').eq(0);
			
			function launchFancybox(ev) {
				ev.stopPropagation();
				var list = [];
				self.element.find('.simages a').each(function () {
					var curl = $(this).find('img').eq(0).attr('src');
					list.push(curl.replace('64.48','640.480'));
				});
				$.fancybox(list, {
					'padding' : 0,
					'transitionIn' : 'none',
					'transitionOut' : 'none',
					'type' : 'image',
					'changeFade' : 0
				});
				return false;
			};
			$img.bind('click', launchFancybox);
			this.element.find('div p').eq(0).bind('click', launchFancybox);
			this.element.find('.simages a').bind('mouseover', function (ev) {
				var $cimg = $(this).find('img').eq(0);
				var curl = $(this).find('img').eq(0).attr('src');
				var newsrc = curl.replace('64.48','352.264');
				self.element.find('.selected').removeClass('selected');
				$cimg.parent('li').addClass('.selected');
				var img = new Image ();
				img.onload = function () {
					$img.attr('src', newsrc);
				};
				img.src = newsrc;
			});
			this.element.find('.simages a').bind('click', launchFancybox);
		}
	});
	
})(jQuery);


