/**
 * doijs package
 * 
 * @author donna iwan setiawan
 * @version 0.1 
 * copyright - (c) 2007 - 2008 donna iwan setiawan
 * license - GPL version 3 or any later version <http://www.gnu.org/licenses/gpl-3.0.txt>
 */
doi.browser={name:'',version:'',os:'',dataBrowser:[{string:navigator.userAgent,subString:'OmniWeb',versinSearch:'OmniWeb/',identity:'OmniWeb'},{string:navigator.vendor,subString:'Apple',identity:'Safari'},{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'},{string:navigator.userAgent,subString:'Netscape',identity:'Netscape'},{string:navigator.userAgent,subString:'MSIE',identity:'Explorer',versionSearch:'MSIE'},{string:navigator.userAgent,subString:'Gecko',identity:'Mozilla',versionSearch:'rv'},{string:navigator.userAgent,subString:'Mozilla',identity:'Netscape',versionSearch:'Mozilla'}],dataOs:[{string:navigator.platform,subString:'Win',identity:'Windows'},{string:navigator.platform,subString:'Mac',identity:'Mac'},{string:navigator.platform,subString:'Linux',identity:'Linux'}],getName:function(){return this.name;},getOs:function(){return this.os;},getVersion:function(){return this.version;},init:function(){this.name=this._searchString(this.dataBrowser)|| 'An unknown browser';this.version=this._searchVersion(navigator.userAgent)|| this._searchVersion(navigator.appVersion)|| 'an unknown version';this.os=this._searchString(this.dataOs)|| 'an unknown OS';},isIE:function(){return(this.name=='Explorer');},_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){var index=dataString.indexOf(this._versionSearchString);if(index==-1)return;return parseFloat(dataString.substring(index+this._searchVersionString.length+1));},_searchVersionString:''};doi.browser.init();
