(function($){
 $.fn.extend({
 
 	customStyle : function(options) {
	  if(!$.browser.msie || ($.browser.msie&&$.browser.version>6)){
	  return this.each(function() {
	  
			var currentSelected = $(this).find(':selected');
			$(this).after('<span class="customStyleSelectBox"><span class="customStyleSelectBoxInner">'+currentSelected.text()+'</span></span>').css({position:'absolute', opacity:0,fontSize:$(this).next().css('font-size')});
			var selectBoxSpan = $(this).next();
			var selectBoxWidth = parseInt($(this).width()) - parseInt(selectBoxSpan.css('padding-left')) -parseInt(selectBoxSpan.css('padding-right'));			
			var selectBoxSpanInner = selectBoxSpan.find(':first-child');
			selectBoxSpan.css({display:'inline-block'});
			selectBoxSpanInner.css({width:selectBoxWidth, display:'inline-block'});
			var selectBoxHeight = parseInt(selectBoxSpan.height()) + parseInt(selectBoxSpan.css('padding-top')) + parseInt(selectBoxSpan.css('padding-bottom'));
			$(this).height(selectBoxHeight).change(function(){
				// selectBoxSpanInner.text($(this).val()).parent().addClass('changed');   This was not ideal
			selectBoxSpanInner.text($(this).find(':selected').text()).parent().addClass('changed');
				// Thanks to Juarez Filho & PaddyMurphy
			});
			
	  });
	  };
	},

 	customStyle_Cam : function(options) {
	  if(!$.browser.msie || ($.browser.msie&&$.browser.version>6)){
	  return this.each(function() {
	  
			var currentSelected = $(this).find(':selected');
			$(this).after('<span class="customStyleSelectBox"><span class="customStyleSelectBoxCam_Cam">'+currentSelected.text()+'</span></span>').css({position:'absolute', opacity:0,fontSize:$(this).next().css('font-size')});
			var selectBoxSpan = $(this).next();
			//alert(selectBoxSpan.css);
			var selectBoxWidth = parseInt($(this).width()) - parseInt(selectBoxSpan.css('padding-left')) -parseInt(selectBoxSpan.css('padding-right'));			
			var selectBoxSpanInner = selectBoxSpan.find(':first-child');
			selectBoxSpan.css({display:'inline-block'});
			selectBoxSpanInner.css({width:selectBoxWidth, display:'inline-block'});
			var selectBoxHeight = parseInt(selectBoxSpan.height()) + parseInt(selectBoxSpan.css('padding-top')) + parseInt(selectBoxSpan.css('padding-bottom'));
			$(this).height(selectBoxHeight).change(function(){
				// selectBoxSpanInner.text($(this).val()).parent().addClass('changed');   This was not ideal
			selectBoxSpanInner.text($(this).find(':selected').text()).parent().addClass('changed');
				// Thanks to Juarez Filho & PaddyMurphy
			});
			
	  });
	  }
	},
 	customStyle_mic : function(options) {
	  if(!$.browser.msie || ($.browser.msie&&$.browser.version>6)){
	  return this.each(function() {
	  
			var currentSelected = $(this).find(':selected');
			$(this).after('<span class="customStyleSelectBox"><span class="customStyleSelectBoxInner_data">'+currentSelected.text()+'</span></span>').css({position:'absolute', opacity:0,fontSize:$(this).next().css('font-size')});
			var selectBoxSpan = $(this).next();
			//alert(selectBoxSpan.css);
			var selectBoxWidth = parseInt($(this).width()) - parseInt(selectBoxSpan.css('padding-left')) -parseInt(selectBoxSpan.css('padding-right'));			
			var selectBoxSpanInner = selectBoxSpan.find(':first-child');
			selectBoxSpan.css({display:'inline-block'});
			selectBoxSpanInner.css({width:selectBoxWidth, display:'inline-block'});
			var selectBoxHeight = parseInt(selectBoxSpan.height()) + parseInt(selectBoxSpan.css('padding-top')) + parseInt(selectBoxSpan.css('padding-bottom'));
			$(this).height(selectBoxHeight).change(function(){
				// selectBoxSpanInner.text($(this).val()).parent().addClass('changed');   This was not ideal
			selectBoxSpanInner.text($(this).find(':selected').text()).parent().addClass('changed');
				// Thanks to Juarez Filho & PaddyMurphy
			});
			
	  });
	  }
	}

 });
})(jQuery);


/* ------------------------------------------------------------------------
	prettyCheckboxes
	
	Developped By: Stephane Caron (http://www.no-margin-for-errors.com)
	Inspired By: All the non user friendly custom checkboxes solutions ;)
	Version: 1.1
	
	Copyright: Feel free to redistribute the script/modify it, as
			   long as you leave my infos at the top.
------------------------------------------------------------------------- */
	
jQuery.fn.prettyCheckboxes = function(settings) {
	settings = jQuery.extend({
				checkboxWidth: 17,
				checkboxHeight: 17,
				className : 'prettyCheckbox',
				display: 'list'
			}, settings);

	$(this).each(function(){
		// Find the label
		$label = $('label[for="'+$(this).attr('id')+'"]');

		// Add the checkbox holder to the label
		$label.prepend("<span class='holderWrap'><span class='holder'></span></span>");

		// If the checkbox is checked, display it as checked
		if($(this).is(':checked')) { $label.addClass('checked'); };

		// Assign the class on the label
		$label.addClass(settings.className).addClass($(this).attr('type')).addClass(settings.display);

		// Assign the dimensions to the checkbox display
		$label.find('span.holderWrap').width(settings.checkboxWidth).height(settings.checkboxHeight);
		$label.find('span.holder').width(settings.checkboxWidth);

		// Hide the checkbox
		$(this).addClass('hiddenCheckbox');

		// Associate the click event
		$label.bind('click',function(){
			$('input#' + $(this).attr('for')).triggerHandler('click');
			
			if($('input#' + $(this).attr('for')).is(':checkbox')){
				$(this).toggleClass('checked');
				$('input#' + $(this).attr('for')).checked = true;
				
				$(this).find('span.holder').css('top',0);
			}else{
				$toCheck = $('input#' + $(this).attr('for'));

				// Uncheck all radio
				$('input[name="'+$toCheck.attr('name')+'"]').each(function(){
					$('label[for="' + $(this).attr('id')+'"]').removeClass('checked');	
				});

				$(this).addClass('checked');
				$toCheck.checked = true;
			};
		});
		
		$('input#' + $label.attr('for')).bind('keypress',function(e){
			if(e.keyCode == 32){
				if($.browser.msie){
					$('label[for="'+$(this).attr('id')+'"]').toggleClass("checked");
				}else{
					$(this).trigger('click');
				}
				return false;
			};
		});
	});
};

checkAllPrettyCheckboxes = function(caller, container){
	if($(caller).is(':checked')){
		// Find the label corresponding to each checkbox and click it
		$(container).find('input[type=checkbox]:not(:checked)').each(function(){
			$('label[for="'+$(this).attr('id')+'"]').trigger('click');
			if($.browser.msie){
				$(this).attr('checked','checked');
			}else{
				$(this).trigger('click');
			};
		});
	}else{
		$(container).find('input[type=checkbox]:checked').each(function(){
			$('label[for="'+$(this).attr('id')+'"]').trigger('click');
			if($.browser.msie){
				$(this).attr('checked','');
			}else{
				$(this).trigger('click');
			};
		});
	};
};
