merged cont.
[opensuse:yast-rest-service.git] / webyast / public / javascripts / jquery.badbrowser.js
1 /*
2 #--
3 # Webyast Webservice framework
4 #
5 # Copyright (C) 2009, 2010 Novell, Inc. 
6 #   This library is free software; you can redistribute it and/or modify
7 # it only under the terms of version 2.1 of the GNU Lesser General Public
8 # License as published by the Free Software Foundation. 
9 #
10 #   This library is distributed in the hope that it will be useful, but WITHOUT
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
13 # details. 
14 #
15 #   You should have received a copy of the GNU Lesser General Public
16 # License along with this library; if not, write to the Free Software 
17 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 #++
19 */
20
21 function badBrowser(){
22     if(   ($.browser.msie() && $.browser.version.number() == 8 )
23        || ($.browser.firefox() && $.browser.version.number() >= 3.5 )
24       ) { return false;}
25 //chrome detection, not supported by our version of jqbrowser
26     if ( /Chrome/.test(navigator.userAgent))
27     {
28       //chrome detected, check major version
29       var version = /Chrome\/([0-9]+)/.exec(navigator.userAgent)[1];
30       if (parseInt(version) >= 4)
31         return false;
32     }
33     return true;
34 }
35
36 function getBadBrowser(c_name)
37 {
38     if (document.cookie.length>0) {
39         c_start=document.cookie.indexOf(c_name + "=");
40         if (c_start!=-1) { 
41             c_start=c_start + c_name.length+1; 
42             c_end=document.cookie.indexOf(";",c_start);
43             if (c_end==-1) c_end=document.cookie.length;
44                 return unescape(document.cookie.substring(c_start,c_end));
45         } 
46     }
47     return "";
48 }       
49
50 function setBadBrowser(c_name,value,expiredays)
51 {
52     var exdate=new Date();
53     exdate.setDate(exdate.getDate()+expiredays);
54     document.cookie=c_name+ "=" +escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
55 }
56
57 if(badBrowser() && getBadBrowser('browserWarning') != 'seen' ){
58     $(function(){
59       $("#browserWarning").show();
60       $('#warningClose').click(function(){
61         setBadBrowser('browserWarning','seen');
62         $('#browserWarning').slideUp('slow');
63         return false;
64       });
65     });
66 }