/*
 * Style File - jQuery plugin for styling file input elements
 *  
 * Copyright (c) 2007-2008 Mika Tuupola
 *
 * Licensed under the MIT license:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Based on work by Shaun Inman
 *   http://www.shauninman.com/archive/2007/09/10/styling_file_inputs_with_css_and_the_dom
 *
 * Revision: $Id: jquery.fileStyle.js 303 2008-01-30 13:53:24Z tuupola $
 *
 */

$.fn.fileStyle = function(options){
	/* TODO: This should not override CSS.*/
	var settings = { width : 250 };

	if(options){
		$.extend(settings, options);
	}

	return this.each(function(){
		var wrapper = $("<div>").css({"width": settings.imagewidth + "px", "height": settings.imageheight + "px", "background": "url(" + settings.image + ") 0 0 no-repeat", "background-position": "right", "display": "inline", "position": "absolute", "overflow": "hidden", "z-index": 1, "margin-left": "-75px"});
		var filename = $('<span class="input"><input class="file" disabled="disabled"></span>').addClass($(this).attr("class")).css({"width": settings.width + "px"});

		$(this).before(filename);
		$(this).wrap(wrapper);

		$(this).css({"position": "relative", "height": settings.imageheight + "px", "width": settings.width + "px", "display": "inline", "cursor": "pointer", "opacity": "0.0"});

		if($.browser.mozilla){
			if(/Win/.test(navigator.platform)){
				$(this).css("margin-left", "-142px");
				
			}else{
				$(this).css("margin-left", "-168px");                    
			}
		
		}else{
			$(this).css("margin-left", settings.imagewidth - settings.width + "px");                
		}

		$(this).bind("change", function(){
			filename.find('input').val($(this).val());
		})
	})
}
