(function($) {
	
	$.vitrine = function(options){
	
		// Default settings
		var opt = {
			xslUrl: null,
			keywords: null,
			aid: [],
			cid: null,
			vid: null,
			size: 6,
			type: 'offer',
			target: null,
			adult: false,
			tracking: null,
			params: null
		};
		
		$.extend(opt, options);
		
		if(opt.xslUrl != null & (opt.keywords != null || opt.params != null) ){
			if(opt.type == 'offer'){
				vitrineOffer(opt.xslUrl, opt.size, opt.aid, opt.cid, opt.keywords, opt.target, opt.adult, opt.vid, opt.tracking, opt.params);
			}else if(opt.type == 'vendor'){ 
				vitrineVendor(opt.xslUrl, opt.size, opt.aid, opt.cid, opt.keywords, opt.target, opt.adult, opt.tracking, opt.params);
			}
		}
		
		return;
	};
	
	
	$.fn.vitrine = function(options) {
		options.target = this;
		$.vitrine(options);
		return this;
	};
		
	function vitrineVendor(_xslFile, _size, _aid, _cid, _keyWords, _target, _adult, _tracking, _params){
		$.ajax({
			type: "GET",
			url: _xslFile,
			dataType: "xml",
			success: function(xml){
				_xsl = xml;
				
				if(_target==null){ _target='div[@class="vendor"]'; }

				$(_target).each(
					function(i){
						_vendor = $(this).attr('id').substring(2);
						if(_params!=null){
							_xmlUrl = '/vitrine?notrack&'+_params+(_vid!=null?'&vendor='+_vid:'')+'&size='+_size;
						}else{
							_xmlUrl = '/vitrine?notrack&size='+_size+'&vendor='+_vendor+'&keywords='+
								_keyWords+(_adult==true?'&adult':'')+(_cid!=null?'&cid='+_cid:'')+(_tracking!=null?'&tracking='+_tracking:'');
						}
						for(i=0; i<_aid.length;i++){
							_xmlUrl = _xmlUrl + '&aid=' + _aid[i];
						}
						
						$(this).xslt({xsl:_xsl, xmlUrl:_xmlUrl});
					}
				)
			}
		});
	};

	function vitrineOffer(_xslFile, _size, _aid, _cid, _keyWords, _target, _adult, _vid, _tracking, _params){
		if(_params!=null){
			_xmlUrl = '/vitrine?notrack&'+_params+(_vid!=null?'&vendor='+_vid:'')+'&size='+_size;
		}else{
			_xmlUrl = '/vitrine?notrack&size='+_size+'&keywords='+_keyWords+(_adult==true?'&adult':'')
			+(_cid!=null?'&cid='+_cid:'')+(_vid!=null?'&vendor='+_vid:'')+(_tracking!=null?'&tracking='+_tracking:'');
		}
						
		for(i=0; i<_aid.length;i++){
			_xmlUrl = _xmlUrl + '&aid=' + _aid[i];
		}
		
		$.xslt({
			xslUrl:_xslFile,
			xmlUrl:_xmlUrl,
			callback: function(data){
				if(_target==null){ _target='#prod_offers'; }
				
				if(data){ $(_target).html(data); }
				else { $(_target).html('Impossível visualizar ofertas no momento. Tente mais tarde.'); }
			}
		});
	};
	
})(jQuery);