
/**
 * jQBrowser v0.2 - Extend jQuery's browser detection capabilities
 *   * http://davecardwell.co.uk/javascript/jquery/plugins/jquery-browserdetect/0.2/
 *
 * Dave Cardwell <http://davecardwell.co.uk/>
 *
 * Built on the shoulders of giants:
 *   * John Resig <http://jquery.com/>
 *   * Peter-Paul Koch <http://www.quirksmode.org/?/js/detect.html>
 *
 *
 * Copyright (c) 2006 Dave Cardwell, dual licensed under the MIT and GPL
 * licenses:
 *   * http://www.opensource.org/licenses/mit-license.php
 *   * http://www.gnu.org/licenses/gpl.txt
 */


/**
 * For the latest version of this plugin, and a discussion of its usage and
 * implementation, visit:
 *   * http://davecardwell.co.uk/javascript/jquery/plugins/jquery-browserdetect/
 */

new function() {
    
    var Public = {
        // The current browser, its version as a number or a string, and the
        // operating system its running on.
          'browser': function() { return Private.browser;   },
          'version': {
              'number': function() { return Private.version.number; },
              'string': function() { return Private.version.string; }
          },
               'OS': function() { return Private.OS;        },

        // A boolean value indicating whether or not the given browser was
        // detected.
              'aol': function() { return Private.aol;       },
           'camino': function() { return Private.camino;    },
          'firefox': function() { return Private.firefox;   },
            'flock': function() { return Private.flock;     },
             'icab': function() { return Private.icab;      },
        'konqueror': function() { return Private.konqueror; },
          'mozilla': function() { return Private.mozilla;   },
             'msie': function() { return Private.msie;      },
         'netscape': function() { return Private.netscape;  },
            'opera': function() { return Private.opera;     },
           'safari': function() { return Private.safari;    },
		   'chrome': function() { return Private.chrome;    },

        // A boolean value indicating whether or not the given OS was
        // detected.
            'linux': function() { return Private.linux;     },
              'mac': function() { return Private.mac;       },
              'win': function() { return Private.win;       }
    };

    // Allow external access to the 'Public' interface through the $.browser
    // object.
    $162.browser = Public;



    /**
     * The following functions and attributes form the internal methods and
     * state of the jQBrowser plugin.  See the relevant function definition
     * later in the source for further information.
     *
     * Private.browser
     * Private.version
     * Private.OS
     *
     * Private.aol
     * Private.camino
     * Private.firefox
     * Private.flock
     * Private.icab
     * Private.konqueror
     * Private.mozilla
     * Private.msie
     * Private.netscape
     * Private.opera
     * Private.safari
	 * Private.chrome
     *
     * Private.linux
     * Private.mac
     * Private.win
     */
    var Private = {
        // Initially set to 'Unknown', if detected each of these properties will
        // be updated.
          'browser': 'Unknown',
          'version': {
              'number': undefined,

              'string': 'Unknown'
          },
               'OS': 'Unknown',

        // Initially set to false, if detected one of the following browsers
        // will be updated.
              'aol': false,
           'camino': false,
          'firefox': false,
            'flock': false,
             'icab': false,
        'konqueror': false,
          'mozilla': false,
             'msie': false,
         'netscape': false,
            'opera': false,
           'safari': false,
		   'chrome': false,

        // Initially set to false, if detected one of the following operating
        // systems will be updated.
            'linux': false,
              'mac': false,
              'win': false
    };



    /**
     * Loop over the items in 'data' trying to find a browser match with the
     * test in data[i].browser().  Once found, attempt to determine the
     * browser version.
     *
     *       'name': A string containing the full name of the browser.
     * 'identifier': By default this is a lowercase version of 'name', but
     *               this can be overwritten by explicitly defining an
     *               'identifier'.
     *    'browser': A function that returns a boolean value indicating
     *               whether or not the given browser is detected.
     *    'version': An optional function that overwrites the default version
     *               testing.  Must return the result of a .match().
     *
     * Please note that the order of the data array is important, as some
     * browsers contain details of others in their navigator.userAgent string.
     * For example, Flock's contains 'Firefox' so much come before Firefox's
     * test to avoid false positives.
     */
    for( var  i = 0,                    // counter
             ua = navigator.userAgent,  // the navigator's user agent string
             ve = navigator.vendor,     // the navigator's vendor string
           data = [                     // browser tests and data
                { // Chrome <http://www.google.com/chrome/>
                          'name': 'Chrome',
                       'browser': function() { return /chrome/.test(ua.toLowerCase()) }
                },
				{ // Safari <http://www.apple.com/safari/>
                          'name': 'Safari',
                       'browser': function() { return /Apple/.test(ve) }
                },
                { // Opera <http://www.opera.com/>
                          'name': 'Opera',
                       'browser': function() {
                                      return window.opera != undefined
                                  }
                },
                { // iCab <http://www.icab.de/>
                          'name': 'iCab',
                       'browser': function() { return /iCab/.test(ve) }
                },
                { // Konqueror <http://www.konqueror.org/>
                          'name': 'Konqueror',
                       'browser': function() { return /KDE/.test(ve) }
                },
                { // AOL Explorer <http://downloads.channel.aol.com/browser>
                    'identifier': 'aol',
                          'name': 'AOL Explorer',
                       'browser': function() {
                                      return /America Online Browser/.test(ua)
                                  },
                       'version': function() {
                                      return ua.match(/rev(\d+(?:\.\d+)+)/)
                                  }
                },
                { // Flock <http://www.flock.com/>
                          'name': 'Flock',
                       'browser': function() { return /Flock/.test(ua) }
                },
                { // Camino <http://www.caminobrowser.org/>
                          'name': 'Camino',
                       'browser': function() { return /Camino/.test(ve) }
                },
                { // Firefox <http://www.mozilla.com/firefox/>
                          'name': 'Firefox',
                       'browser': function() { return /Firefox/.test(ua) }
                },
                { // Netscape <http://browser.netscape.com/>
                          'name': 'Netscape',
                       'browser': function() { return /Netscape/.test(ua) }
                },
                { // Internet Explorer <http://www.microsoft.com/windows/ie/>
                  //                   <http://www.microsoft.com/mac/ie/>
                    'identifier': 'msie',
                          'name': 'Internet Explorer',
                       'browser': function() { return /MSIE/.test(ua) },
                       'version': function() {
                                      return ua.match(
                                          /MSIE (\d+(?:\.\d+)+(?:b\d*)?)/
                                      )
                                  }
                },
                { // Mozilla <http://www.mozilla.org/products/mozilla1.x/>
                          'name': 'Mozilla',
                       'browser': function() {
                                      return /Gecko|Mozilla/.test(ua)
                                  },
                       'version': function() {
                                      return ua.match(/rv:(\d+(?:\.\d+)+)/)
                                  }
                 }
             ];
         i < data.length;
         i++
    ) {
        if( data[i].browser() ) { // we have a match
            // If the identifier is not explicitly set, use a lowercase
            // version of the given name.
            var identifier = data[i].identifier ? data[i].identifier
                                                : data[i].name.toLowerCase();

            // Make a note that this browser was detected.
            Private[ identifier ] = true;

            // $.browser.browser() will now return the correct browser.
            Private.browser = data[i].name;

            var result;
            if( data[i].version != undefined && (result = data[i].version()) ) {
                // Use the explicitly set test for browser version.
                Private.version.string = result[1];
                Private.version.number = parseFloat( result[1] );
            } else {
                // Otherwise use the default test which searches for the
                // version number after the browser name in the user agent
                // string.
                var re = new RegExp(
                    data[i].name + '(?:\\s|\\/)(\\d+(?:\\.\\d+)+(?:(?:a|b)\\d*)?)'
                );

                result = ua.match(re);
                if( result != undefined ) {
                    Private.version.string = result[1];
                    Private.version.number = parseFloat( result[1] );
                }
            }

            // Once we've detected the browser there is no need to check the
            // others.
            break;
        }
    };



    /**
     * Loop over the items in 'data' trying to find a operating system match
     * with the test in data[i].os().
     *
     *       'name': A string containing the full name of the operating
     *               system.
     * 'identifier': By default this is a lowercase version of 'name', but
     *               this can be overwritten by explicitly defining an
     *               'identifier'.
     *         'OS': A function that returns a boolean value indicating
     *               whether or not the given operating system is detected.
     */
    for( var  i = 0,                  // counter
             pl = navigator.platform, // the navigator's platform string
           data = [                   // OS data and tests
                { // Microsoft Windows <http://www.microsoft.com/windows/>
                    'identifier': 'win',
                          'name': 'Windows',
                            'OS': function() { return /Win/.test(pl) }
                },
                { // Apple Mac OS <http://www.apple.com/macos/>
                          'name': 'Mac',
                            'OS': function() { return /Mac/.test(pl) }
                },
                { // Linux <http://www.linux.org/>
                          'name': 'Linux',
                            'OS': function() { return /Linux/.test(pl) }
                }
           ];
       i < data.length;
       i++
    ) {
        if( data[i].OS() ) { // we have a match
            // If the identifier is not explicitly set, use a lowercase
            // version of the given name.
            var identifier = data[i].identifier ? data[i].identifier
                                                : data[i].name.toLowerCase();

            // Make a note that the OS was detected.
            Private[ identifier ] = true;

            // $.browser.OS() will now return the correct OS.
            Private.OS = data[i].name;

            // Once we've detected the browser there is no need to check the
            // others.
            break;
        }
    };
}();

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

//affichage de detection une seule fois
function SetCookie (name, value) {
	var argv=SetCookie.arguments;
	var argc=SetCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=name+"="+escape(value)+
		((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
		((path==null) ? "" : ("; path="+path))+
		((domain==null) ? "" : ("; domain="+domain))+
		((secure==true) ? "; secure" : "");
}

$162(document).ready(function()
{
	/**
     * The following functions and attributes form the Public interface of the
     * jQBrowser plugin, accessed externally through the $.browser object.
     * See the relevant function definition later in the source for further
     * information.
     *
     * $.browser.browser()
     * $.browser.version.number()
     * $.browser.version.string()
     * $.browser.OS()
     *
     * $.browser.aol()
     * $.browser.camino()
     * $.browser.firefox()
     * $.browser.flock()
     * $.browser.icab()
     * $.browser.konqueror()
     * $.browser.mozilla()
     * $.browser.msie()
     * $.browser.netscape()
     * $.browser.opera()
     * $.browser.safari()
	 * $.browser.chrome()
     *
     * $.browser.linux()
     * $.browser.mac()
     * $.browser.win()
     */
	
	//alert($162.browser.browser() + ' ' + $162.browser.version.string() + ' ' + $162.browser.version.number() + '\n' + $162.browser.msie());
	var infoNavCookie = readCookie('infoNavigateur');
	//alert(infoNavCookie);
	if (!infoNavCookie)
	{
		//alert('test');
		if ($162.browser.chrome()) alert('Des bugs aléatoires sont présents dans Chrome, notamment sur les hauteurs de blocs. Aussi, nous vous invitons à utiliser Firefox 3.6 et supérieur ou Ie8 et supérieur en attendant la disparition de ces problèmes!\n\r\n\rMerci de votre attention.');
	
		if (($162.browser.msie() && $162.browser.version.number() < 8)||($162.browser.firefox() && $162.browser.version.number() < 3)||($162.browser.opera() && $162.browser.version.number() < 11)||($162.browser.safari() && $162.browser.version.number() < 5)||($162.browser.chrome() && $162.browser.version.number() < 6))
		{
			//detection du navigateur
			$162("head").append(
				//chargement du style pour NotifyBar
				$162(document.createElement("link")).attr({
					rel: "stylesheet",
					type: "text/css",
					href: baseDir + "css/jquery.notifyBar.css"
				}),
				
				//Chargement du js
				$162(document.createElement("script")).attr({
					type: "text/javascript",
					src: baseDir + "js/jquery/jquery.notifyBar.js"
				})
			);
			
			//Logo du navigateur detecté
			if ($162.browser.firefox())
				var srcImg = '<img style="height:20px;" align="absmiddle" src="' + baseDir + 'img/navigateur/firefox.png" /> '
			else if ($162.browser.konqueror())
				var srcImg = '<img style="height:20px;" align="absmiddle" src="' + baseDir + 'img/navigateur/konqueror.png" /> '
			else if ($162.browser.msie())
				var srcImg = '<img style="height:20px;" align="absmiddle" src="' + baseDir + 'img/navigateur/explorer.png" /> '
			else if ($162.browser.opera())
				var srcImg = '<img style="height:20px;" align="absmiddle" src="' + baseDir + 'img/navigateur/opera.png" /> '
			else if ($162.browser.safari())
				var srcImg = '<img style="height:20px;" align="absmiddle" src="' + baseDir + 'img/navigateur/safari.png" /> '
			else if ($162.browser.chrome())
				var srcImg = '<img style="height:20px;" align="absmiddle" src="' + baseDir + 'img/navigateur/chrome.png" /> '
			else
				var srcImg = '<img style="height:20px;" align="absmiddle" src="' + baseDir + 'img/navigateur/div.png" /> '
				
			$.notifyBar({
				cls: "navigateur",
				close: true,
				delay: 1000000,
				html: '<table style="width:850px; margin:auto; border: none" cellpadding="0" cellspacing="0" bgcolor="#000"><tr><td style="padding:10px 0 0 20px" valign="top"><img src="' + baseDir + 'img/navigateur/alert.png" align="left" style="margin:0 20px 0 20px;"><div style="margin-top: 2px; text-align:left;" align="left"><span style="color:orange; font-size:18px;">Attention !!</span><br /><span style="font-size:16px;">Votre navigateur est trop ancien pour permettre le bon fonctionnement des personnalisations sur Autocopiant.fr.</span><br /><br /><span style="font-size:10px; background-color:#232323; padding:3px 10px 3px 10px;"><u>Navigateur détecté</u> : ' + srcImg + '' + $162.browser.browser() + ' ' + $162.browser.version.string() + '</span></div></td><td style="width:260px; padding:7px;" valign="top"><div style="background-color:#232323; padding:3px; width:300px; "><table style="width:100%;" align="center" cellpadding="0" cellspacing="0"><tr><td style="color:#4a85cd;" align="center" title="Internet Explorer - Télécharger la dernière version"><img src="' + baseDir + 'img/navigateur/explorer.png" align="absmiddle" border="0" style="cursor:pointer" onclick="window.open(\'http://www.microsoft.com/france/windows/internet-explorer/\')" /><br /><b>8.0+</b></td><td style="color:#dc8413;" align="center" title="Mozilla Firefox - Télécharger la dernière version"><img src="' + baseDir + 'img/navigateur/firefox.png" align="absmiddle" border="0" style="cursor:pointer" onclick="window.open(\'http://www.mozilla-europe.org/fr/firefox/\')" /><br /><b>3.5+</b></td><td style="color:#2c9a2c;" align="center" title="Google Chrome - Télécharger la dernière version"><img src="' + baseDir + 'img/navigateur/chrome.png" align="absmiddle" border="0" style="cursor:pointer" onclick="window.open(\'http://www.google.com/chrome/\')" /><br /><b>6.0+</b></td><td style="color:#ffffff;" align="center" title="Apple Safari - Télécharger la dernière version"><img src="' + baseDir + 'img/navigateur/safari.png" align="absmiddle" border="0" style="cursor:pointer" onclick="window.open(\'http://www.apple.com/fr/safari/download/\')" /><br /><b>5.0+</b></td><td style="color:#666666;" align="center" title="Konqueror - Télécharger la dernière version"><img src="' + baseDir + 'img/navigateur/konqueror.png" align="absmiddle" border="0" style="cursor:pointer" onclick="window.open(\'http://www.konqueror.org/download/\')" /><br /><b>2.0+</b></td><td style="color:#bc4444;" align="center" title="Opera - Télécharger la dernière version"><img src="' + baseDir + 'img/navigateur/opera.png" align="absmiddle" border="0" style="cursor:pointer" onclick="window.open(\'http://www.opera.com/download/\')" /><br /><b>11.0+</b></td></tr><tr><td colspan="6"><table style="width:100%;" align="center" cellpadding="0" cellspacing="0"><tr><td align="center" style="font-size:10px;">Merci de bien vouloir mettre à jour votre navigateur</td></tr></table></td></tr></table></div></td></tr></table>',
				animationSpeed: "normal"
			});
		}
	//Création du cookie limitatif
	SetCookie('infoNavigateur', 1);
	}
});

