(function($) 
{
	
	$.fn.defaults = {position:'top', url:'/media/banners/sources.php?a='};
	
	$.fn.show_banner = function ( options )
	{
		return this.each 
		(function()
		{
			var $this = $(this);
			//var o = $.meta ? $.extend.( {}, opts, $this.data() ) : opts;
			var opts = $.extend({}, $.fn.defaults, options);
			var url = opts.url+opts.position;
			
			debug( opts.position )
			
			$.getJSON(
				url,
				function (banners)
				{
					if( banners == null )
					{
						return;
					}
					var size = banners[0].size;
					var type = banners[0].type;
					//var path = "/macbanner/banners/";
					var path = "";
					switch ( opts.position )
					{
						case 'top':
							debug(" Top " + banners[0].size)	
							if( size == '468x60' )
							{
								
								var banners_to_show = pickBanners( 2, banners );
								
								var out = '<div id="bigBanner_a"></div><div id="bigBanner_b"><div id="content_b"></div></div>';
								$this.html(out)
								
								swfobject.embedSWF(banners_to_show[0].source, 'bigBanner_a', '468', '60', '9.0.0' );
								swfobject.embedSWF(banners_to_show[1].source, 'bigBanner_b', '468', '60', '9.0.0' );
							}
							if( size == '852x50' )
							{
								var banners_to_show = pickBanners( 1, banners );
								var out = '<div id="bigBanner_a"><a href="http://www.hsbc.com.mx/1/2/es/hsbc-premier" target="_blank"><img src="'+banners_to_show[0].source+'" /></a></div>';
								$this.html(out)
							}
							
							break;
						case 'content':
							debug(" content " + banners[0].size)
							if( size == '468x60' )
							{
								var banners_to_show = pickBanners( 1, banners );
								var out = '<div id="middle_a"></div>';
								$this.html(out)
								swfobject.embedSWF(banners_to_show[0].source, 'middle_a', '468', '60', '9.0.0' );
							}
							if( size == '120x60')
							{
								var banners_to_show = pickBanners( 3, banners );
								var out = '<div id="middle_a"></div><div id="middle_b"></div><div id="middle_c"></div>';
								$this.html(out)
								swfobject.embedSWF(banners_to_show[0].source, 'middle_a', '120', '60', '9.0.0' );
								swfobject.embedSWF(banners_to_show[1].source, 'middle_b', '120', '60', '9.0.0' );
								swfobject.embedSWF(banners_to_show[2].source, 'middle_c', '120', '60', '9.0.0' );
								
							}
							if( size == '125x125')
							{
								var banners_to_show = pickBanners( 4, banners );
								var out = '<div id="middle_a"></div><div id="middle_b"></div><div id="middle_c"></div><div id="middle_d"></div>';
								$this.html(out)
								swfobject.embedSWF(banners_to_show[0].source, 'middle_a', '125', '125', '9.0.0' );
								swfobject.embedSWF(banners_to_show[1].source, 'middle_b', '125', '125', '9.0.0' );
								swfobject.embedSWF(banners_to_show[2].source, 'middle_c', '125', '125', '9.0.0' );
								swfobject.embedSWF(banners_to_show[3].source, 'middle_d', '125', '125', '9.0.0' );
								
							}
							if( size == '120x90')
							{
								var banners_to_show = pickBanners( 3, banners );
								var out = '<div id="middle_a"></div><div id="middle_b"></div><div id="middle_c"></div>';
								$this.html(out)
								swfobject.embedSWF(banners_to_show[0].source, 'middle_a', '120', '90', '9.0.0' );
								swfobject.embedSWF(banners_to_show[1].source, 'middle_b', '120', '90', '9.0.0' );
								swfobject.embedSWF(banners_to_show[2].source, 'middle_c', '120', '90', '9.0.0' );
							}
							break;
						case 'bar1':
						case 'bar2':
							rand = opts.position;
							debug("SideBar " + size)
							if( size == '300x250' )
							{
								var banners_to_show = pickBanners( 1, banners );
								var out = '<div id="side_a_'+rand+'"></div>';
								$this.html(out)
								swfobject.embedSWF(banners_to_show[0].source, 'side_a_'+rand+'', '300', '250', '9.0.0' );
							}
							if( size == '160x600')
							{
								var banners_to_show = pickBanners( 2, banners );
								var out = '<ul><li id="side_a_'+rand+'"></li><li id="side_b_'+rand+'"></li></ul>';
								$this.html(out)
								swfobject.embedSWF(banners_to_show[0].source, 'side_a_'+rand, '150', '600', '9.0.0' );
								swfobject.embedSWF(banners_to_show[1].source, 'side_b_'+rand, '150', '600', '9.0.0' );
							}
							if( size == '125x125' )
							{
								var banners_to_show = pickBanners( 4, banners );
								var out = '<ul><li id="side_a_'+rand+'"></li><li id="side_b_'+rand+'"></li><li id="side_c_'+rand+'"></li><li id="side_d_'+rand+'"></li></ul>';
								$this.html(out)
								swfobject.embedSWF(banners_to_show[0].source, 'side_a_'+rand, '125', '125', '9.0.0' );
								swfobject.embedSWF(banners_to_show[1].source, 'side_b_'+rand, '125', '125', '9.0.0' );
								swfobject.embedSWF(banners_to_show[2].source, 'side_c_'+rand, '125', '125', '9.0.0' );
								swfobject.embedSWF(banners_to_show[3].source, 'side_d_'+rand, '125', '125', '9.0.0' );
							}
							if( size == '120x240' )
							{
								var banners_to_show = pickBanners( 2, banners );
								var out = '<ul><li id="side_a_'+rand+'"></li><li id="side_b_'+rand+'"></li></ul>';
								$this.html(out)
								swfobject.embedSWF(banners_to_show[0].source, 'side_a_'+rand, '120', '240', '9.0.0' );
								swfobject.embedSWF(banners_to_show[1].source, 'side_b_'+rand, '120', '240', '9.0.0' );
							}
							
							if( size == 'oldbar' )
							{
								var banners_to_show = pickBanners( 2, banners );
								var out = 	'<ul><li><a href="/subscribe" target="_blank"><img src="'+path+size+'/'+banners_to_show[0].source+'" />	</a>	</li>';
								out += 		'<li><a href="http://www.hsbc.com.mx/1/2/es/hsbc-premier" target="_blank"><img src="'+path+size+'/'+banners_to_show[1].source+'" /></a></li></ul>';
								$this.html(out)
							}
							
							break;
					}
				}
			)
		})
 	}
	
 	function pickBanners(count, source)
	{
	  if(count>source.length)
	  {
	    return false;
	  }
	  var pickArr=new Array();
	  var tempArr=source;
	  for(var i=0; i<count; i++)
	  {
	    pickArr[pickArr.length]=tempArr[Math.round((tempArr.length-1)*Math.random())];
	    var temp=pickArr[pickArr.length-1];
	    for(var j=0; j<tempArr.length; j++)
	    {
	      if(tempArr[j]==temp)
	      {
	        tempArr[j]=null;
	        var tempArr2=new Array();
	        for(var k=0; k<tempArr.length; k++)
	          if(tempArr[k]!=null)
	            tempArr2[tempArr2.length]=tempArr[k];
	        tempArr=tempArr2;
	        break;
	      }
	    }
	  }
	  return pickArr;
	}    
 	
 	
 	function debug($obj) 
	{
		if (window.console && window.console.log)
	      window.console.log( $obj );
	  };
}
)(jQuery);
