/* 
	jQuery addCaption plugin
	Copyright 2008 by Paul Boutin 
	Licensed under the Creative Commons Attribution 3.0 license
	Version 1.0.0
	http://www.redsgn.com/category/jquery/
	
*/
(function($){
 $.fn.addcaption = function(options) {
  var defaults = {
	  bgcolor:'#fff',
	  fontcolor:'#333',
	  font:'Arial, Helvetica, sans-serif',
	  fontsize:'12px;',
	  margin:'margin:5px;',
	  align:'display:block;float:right',
	  width:'width:auto;',
	  border:'border:1px solid #CBCBCB;'
  };
  var options = $.extend(defaults, options);
    
  return this.each(function() {
   if($(this).attr('alt')){
	   var margin = options.margin;
	   if($(this).attr('vspace') != -1 && $(this).attr('hspace') != -1){
	   		margin = 'margin:'+$(this).attr('vspace')+'px '+$(this).attr('hspace')+'px;';
			$(this).removeAttr('vspace').removeAttr('hspace');
	   }else if($(this).attr('vspace') != -1){
			margin = 'margin:'+$(this).attr('vspace')+'px 0px;';
			$(this).removeAttr('vspace');
	   }else if($(this).attr('hspace') != -1){
			margin = 'margin:0px '+$(this).attr('hspace')+'px;';
			$(this).removeAttr('hspace');
	   }
	   var align = options.align;
	   if($(this).attr('align') && ($(this).attr('align').toLowerCase() == 'right' || $(this).attr('align').toLowerCase() == 'left')){
	   		align = 'display:block;float:'+$(this).attr('align').toLowerCase()+';';
	   }
	   if($(this).attr('align')){
	   		$(this).removeAttr('align');
	   }
	   var width = options.width;
	   if($(this).attr('width')){
	   		width = 'width:'+$(this).attr('width')+'px;';
	   }
	   var border = options.border;
	   if($(this).attr('border')){
	   		border = 'border:'+$(this).attr('border')+'px solid #000;';
			$(this).removeAttr('border');
	   }
	   $(this).attr('style','margin:auto;border:none;');
	   $(this).wrap('<span style="'+border+'background-color:#fff;'+align+''+margin+'padding:0px;text-align:center;'+width+'"></span>');   
	   $(this).parent('span').append('<span style="display:block;text-align:justify;padding:2px;background-color:#fff;color:#333;font-family:'+options.font+';font-size:'+options.fontsize+'width:'+(parseInt($(this).attr('width'))-4)+'px;">' + $(this).attr('alt') + '</span>');
   	   if($(this).parent('span').parent('a')){
			if($.browser.msie){
				$(this).parent('span').attr('style',$(this).parent('span').attr('style') + 'cursor:hand;');
				$(this).parent('span').parent('a').attr('style','text-decoration:none;cursor:hand;');
			}else{
				$(this).parent('span').attr('style',$(this).parent('span').attr('style') + 'cursor:pointer;');
				$(this).parent('span').parent('a').attr('style','text-decoration:none;cursor:pointer;');
			}
	   }
	}
  });
 };
})(jQuery);

