(function($){
	$.browserAlert = function(options) {
		var opts = $.extend({}, $.browserAlert.defaults, options);
		if($.cookie(opts.cookieName) == null)
		{
			$.cookie(opts.cookieName, "true");
			var old_browser_detected = false;
			$.each(opts.browserDetect, function(name, version){
				if(eval('$.browser.'+name) && parseFloat($.browser.version) < version)
				{
					old_browser_detected = true
				}
			});
			if(old_browser_detected) {
				// Insert correctly new div element for browser alert
				switch(opts.position)
				{
					case 'after':
						$('<div id="'+opts.elementID+'"></div>').insertAfter($(opts.positionElement));
						break;
					case 'before':
						$('<div id="'+opts.elementID+'"></div>').insertBefore($(opts.positionElement));
						break;
					case 'last-child':
						$('<div id="'+opts.elementID+'"></div>').appendTo($(opts.positionElement));
						break;
					case 'first-child':
					default:
						$('<div id="'+opts.elementID+'">pouet</div>').prependTo($(opts.positionElement));
						break;
				}
				// Create and hide alert box
				var $alert = $("#"+opts.elementID);
				$alert.hide();
				// Create alert box content
				var browser_list = '';
				$.each(opts.browserDownload, function(browser_id, browser_info){
					var a = browser_info.linkText;
					if(browser_info.iconUrl)
					{
						a = '<img src="'+browser_info.iconUrl+'" alt="'+browser_info.linkText+'" />';
					}
					browser_list += '<li class="'+browser_id+'"><a href="'+browser_info.downloadUrl+'" target="_blank">'+a+'</a></li>';
				});
				if(browser_list.length > 0)
				{
					browser_list = '<ul class="browser_list">'+browser_list+'</ul>';
				}
				$alert.html(opts.message + browser_list);
				// Add close button and behavior
				$('<div class="close"></div>').appendTo($alert);
				var $btn_close = $alert.find('div.close');
				$btn_close
					.html(opts.closeLabel)
					.css({cursor: 'pointer'})
					.click(function(){
						$alert.slideUp(opts.showHideSpeed, function(){$alert.hide();})
					});
				// Show alert box
				$alert.slideDown(opts.showHideSpeed);
			} // END if old_browser_detected
		} // END if cookie
	}
	$.browserAlert.defaults = {
		position: 'first-child',	// 'first-child', 'last-child', 'before', 'after'
		positionElement: 'body',
		message: "To fully enjoy this web site, it is recommended to upgrade your browser.",
		elementID: 'browser_alert',
		showHideSpeed: 500,
		closeLabel: 'Close',
		browserDownload: {
			firefox: {
				downloadUrl: 'http://www.getfirefox.com/',
				iconUrl: false,
				linkText: 'Firefox'
			},
			explorer: {
				downloadUrl: 'http://www.microsoft.com/windows/internet-explorer/default.aspx',
				iconUrl: false,
				linkText: 'Internet Explorer'
			},
			safari: {
				downloadUrl: 'http://www.apple.com/safari/download/',
				iconUrl: false,
				linkText: 'Safari'
			},
			opera: {
				downloadUrl: 'http://www.opera.com/',
				iconUrl: false,
				linkText: 'Opera'
			}
		},
		browserDetect: { // First supported version
			mozilla: 1.9, // Firefox 3
			msie: 7, // Internet Explorer 7
			opera: 9.5, // Opera 9.5
			webkit: 530 // Safari 4 / Chrome 2
		},
		cookieName: 'jquery_browser_check'
	}
})(jQuery);


/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};

