// JavaScript Document
(function() {

    var BrowserDetect = {
        init: function () {
            this.aaa = "aaa";
            this.browser = this.searchString(this.dataBrowser) || " with an unknown browser";
            this.version = this.searchVersion(navigator.userAgent)
                || this.searchVersion(navigator.appVersion)
                || "an unknown version";
				/*
			this.OSversion = this.searchOSVersion(navigator.userAgent)
                || "an unknown version";
				*/
            this.OS = this.searchString(this.dataOS) || "an unknown OS";
			this.flash = this.searchFlashVersion(this.flash) || "none";
        },
        searchString: function (data) {
            for (var i=0;i<data.length;i++) {
                var dataString = data[i].string;
                var dataProp = data[i].prop;
                this.versionSearchString = data[i].versionSearch || data[i].identity;
                if (dataString) {
                    if (dataString.indexOf(data[i].subString) != -1)
                        return data[i].identity;
                }
                else if (dataProp)
                    return data[i].identity;
            }
        },
        searchVersion: function (dataString) {
            //console.log(this.versionSearchString);
            var index = dataString.indexOf(this.versionSearchString);
            if (index == -1) return;
            //console.log(dataString.substring(index+this.versionSearchString.length+1));
            return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
        },
		searchOSVersion: function (dataString) {
			
			listprop(this, "this")
			//alert(dataString);
			//alert(this.versionSearchString);
			var index = dataString.indexOf(this.versionSearchString);
			if (index == -1) return;
			return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
			alert(index);
			return 0;
			 for (var i=0;i<data.length;i++) {
                var dataString = data[i].string;
                var dataProp = data[i].prop;
                this.versionSearchString = data[i].versionSearch || data[i].identity;
				
				//$('#console').html($('#console').html()+' | '+dataString+' | '+dataProp+' | '+this.versionSearchString);
				
                if (dataString) {
                    if (dataString.indexOf(data[i].subString) != -1)
                        return data[i].identity;
                }
                else if (dataProp)
                    return data[i].identity;
            }
        },
		searchFlashVersion: function (dataString) {
            var hasFlash=0;         	//是否安裝Flash
			var flashVersion=0; 		//Flash版本
			var isIE=/*@cc_on!@*/0;     //是否IE瀏覽器
			
			if(isIE){
				var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); 
				if(swf){
					hasFlash=1;
					VSwf=swf.GetVariable("$version");
					//flashVersion=parseInt(VSwf.split(" ")[1].split(",")[0]); 
					flashVersion=VSwf.split(" ")[1].replace(",",'.').split(",")[0];
				}
			}else{
				if (navigator.plugins && navigator.plugins.length > 0){
				var swf=navigator.plugins["Shockwave Flash"];
					if(swf){
						hasFlash=1;
						var words = swf.description.split(" ");
						for (var i = 0; i < words.length; ++i){
							if (isNaN(parseInt(words[i]))) continue;
							//flashVersion = parseInt(words[i]);
							flashVersion = words[i]
						}
					}
				}
			}
			return flashVersion;
			//return 0;
        },
        dataBrowser: [
            {
                string: navigator.userAgent,
                subString: "Chrome",
                identity: "Chrome"
            },
            {   string: navigator.userAgent,
                subString: "OmniWeb",
                versionSearch: "OmniWeb/",
                identity: "OmniWeb"
            },
            {
                string: navigator.vendor,
                subString: "Apple",
                identity: "Safari",
                versionSearch: "Version"
            },
            {
                prop: window.opera,
                identity: "Opera"
            },
            {
                string: navigator.vendor,
                subString: "iCab",
                identity: "iCab"
            },
            {
                string: navigator.vendor,
                subString: "KDE",
                identity: "Konqueror"
            },
            {
                string: navigator.userAgent,
                subString: "Firefox",
                identity: "Firefox"
            },
            {
                string: navigator.vendor,
                subString: "Camino",
                identity: "Camino"
            },
            {       // for newer Netscapes (6+)
                string: navigator.userAgent,
                subString: "Netscape",
                identity: "Netscape"
            },
            {
                string: navigator.userAgent,
                subString: "MSIE",
                identity: "Internet Explorer",
                versionSearch: "MSIE"
            },
            {
                string: navigator.userAgent,
                subString: "Gecko",
                identity: "Mozilla",
                versionSearch: "rv"
            },
            {       // for older Netscapes (4-)
                string: navigator.userAgent,
                subString: "Mozilla",
                identity: "Netscape",
                versionSearch: "Mozilla"
            }
        ],
        dataOS : [
            {
                string: navigator.platform,
                subString: "Win",
                identity: "Windows"
            },
            {
                string: navigator.platform,
                subString: "Mac",
                identity: "Mac OS X"
            },
            {
                string: navigator.userAgent,
                subString: "iPhone",
                identity: "iPhone/iPad"
            },
            {
                string: navigator.platform,
                subString: "Linux",
                identity: "Linux"
            }
        ]

    };

    BrowserDetect.init();

    window.$.client = {
        os : BrowserDetect.OS,
        browser : BrowserDetect.browser,
        version : BrowserDetect.version,
		flash : BrowserDetect.flash
    };

})();
