// LICENSE INFORMATION
// Licensed under the Apache License, Version 2.0 (the "License"); 
// you may not use this file except in compliance with the License. 
// You may obtain a copy of the License at 
// http://www.apache.org/licenses/LICENSE-2.0 
// Unless required by applicable law or agreed to in writing, 
// software distributed under the License is distributed on an 
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
// either express or implied. See the License for the specific 
// language governing permissions and limitations under the License. 

// ABOUT THIS PROJECT
//   Project Owner: Anthony Hand
//   Email: anthony.hand@gmail.com
//   Web Site: http://www.mobileesp.com
//   Source Files: http://code.google.com/p/mobileesp/


var isIphone=false,isAndroidPhone=false,isTierTablet=false,isTierIphone=false,isTierRichCss=false,isTierGenericMobile=false,engineWebKit="webkit",deviceIphone="iphone",deviceIpod="ipod",deviceIpad="ipad",deviceMacPpc="macintosh",deviceAndroid="android",deviceGoogleTV="googletv",deviceXoom="xoom",deviceHtcFlyer="htc_flyer",deviceNuvifone="nuvifone",deviceSymbian="symbian",deviceS60="series60",deviceS70="series70",deviceS80="series80",deviceS90="series90",deviceWinPhone7="windows phone os 7",deviceWinMob= "windows ce",deviceWindows="windows",deviceIeMob="iemobile",devicePpc="ppc",enginePie="wm5 pie",deviceBB="blackberry",vndRIM="vnd.rim",deviceBBStorm="blackberry95",deviceBBBold="blackberry97",deviceBBTour="blackberry96",deviceBBCurve="blackberry89",deviceBBTorch="blackberry 98",deviceBBPlaybook="playbook",devicePalm="palm",deviceWebOS="webos",deviceWebOShp="hpwos",engineBlazer="blazer",engineXiino="xiino",deviceKindle="kindle",vndwap="vnd.wap",wml="wml",deviceTablet="tablet",deviceBrew="brew",deviceDanger= "danger",deviceHiptop="hiptop",devicePlaystation="playstation",deviceNintendoDs="nitro",deviceNintendo="nintendo",deviceWii="wii",deviceXbox="xbox",deviceArchos="archos",engineOpera="opera",engineNetfront="netfront",engineUpBrowser="up.browser",engineOpenWeb="openweb",deviceMidp="midp",uplink="up.link",engineTelecaQ="teleca q",devicePda="pda",mini="mini",mobile="mobile",mobi="mobi",maemo="maemo",linux="linux",qtembedded="qt embedded",mylocom2="com2",manuSonyEricsson="sonyericsson",manuericsson="ericsson", manuSamsung1="sec-sgh",manuSony="sony",manuHtc="htc",svcDocomo="docomo",svcKddi="kddi",svcVodafone="vodafone",disUpdate="update",uagent="";navigator&&navigator.userAgent&&(uagent=navigator.userAgent.toLowerCase());function DetectIphone(){return uagent.search(deviceIphone)>-1?DetectIpad()||DetectIpod()?false:true:false}function DetectIpod(){return uagent.search(deviceIpod)>-1?true:false}function DetectIpad(){return uagent.search(deviceIpad)>-1&&DetectWebkit()?true:false} function DetectIphoneOrIpod(){return uagent.search(deviceIphone)>-1||uagent.search(deviceIpod)>-1?true:false}function DetectIos(){return DetectIphoneOrIpod()||DetectIpad()?true:false}function DetectAndroid(){return uagent.search(deviceAndroid)>-1||DetectGoogleTV()?true:uagent.search(deviceHtcFlyer)>-1?true:false}function DetectAndroidPhone(){return DetectAndroid()&&uagent.search(mobile)>-1?true:DetectOperaAndroidPhone()?true:uagent.search(deviceHtcFlyer)>-1?true:false} function DetectAndroidTablet(){return!DetectAndroid()?false:DetectOperaMobile()?false:uagent.search(deviceHtcFlyer)>-1?false:uagent.search(mobile)>-1?false:true}function DetectAndroidWebKit(){return DetectAndroid()&&DetectWebkit()?true:false}function DetectGoogleTV(){return uagent.search(deviceGoogleTV)>-1?true:false}function DetectWebkit(){return uagent.search(engineWebKit)>-1?true:false} function DetectS60OssBrowser(){return DetectWebkit()?uagent.search(deviceS60)>-1||uagent.search(deviceSymbian)>-1?true:false:false}function DetectSymbianOS(){return uagent.search(deviceSymbian)>-1||uagent.search(deviceS60)>-1||uagent.search(deviceS70)>-1||uagent.search(deviceS80)>-1||uagent.search(deviceS90)>-1?true:false}function DetectWindowsPhone7(){return uagent.search(deviceWinPhone7)>-1?true:false} function DetectWindowsMobile(){return DetectWindowsPhone7()?false:uagent.search(deviceWinMob)>-1||uagent.search(deviceIeMob)>-1||uagent.search(enginePie)>-1?true:uagent.search(devicePpc)>-1&&!(uagent.search(deviceMacPpc)>-1)?true:uagent.search(manuHtc)>-1&&uagent.search(deviceWindows)>-1?true:false}function DetectBlackBerry(){return uagent.search(deviceBB)>-1?true:uagent.search(vndRIM)>-1?true:false}function DetectBlackBerryTablet(){return uagent.search(deviceBBPlaybook)>-1?true:false} function DetectBlackBerryWebKit(){return DetectBlackBerry()&&uagent.search(engineWebKit)>-1?true:false}function DetectBlackBerryTouch(){return DetectBlackBerry()&&(uagent.search(deviceBBStorm)>-1||uagent.search(deviceBBTorch)>-1)?true:false}function DetectBlackBerryHigh(){return DetectBlackBerryWebKit()?false:DetectBlackBerry()?DetectBlackBerryTouch()||uagent.search(deviceBBBold)>-1||uagent.search(deviceBBTour)>-1||uagent.search(deviceBBCurve)>-1?true:false:false} function DetectBlackBerryLow(){return DetectBlackBerry()?DetectBlackBerryHigh()||DetectBlackBerryWebKit()?false:true:false}function DetectPalmOS(){return uagent.search(devicePalm)>-1||uagent.search(engineBlazer)>-1||uagent.search(engineXiino)>-1?DetectPalmWebOS()?false:true:false}function DetectPalmWebOS(){return uagent.search(deviceWebOS)>-1?true:false}function DetectWebOSTablet(){return uagent.search(deviceWebOShp)>-1&&uagent.search(deviceTablet)>-1?true:false} function DetectGarminNuvifone(){return uagent.search(deviceNuvifone)>-1?true:false}function DetectSmartphone(){return DetectIphoneOrIpod()||DetectAndroidPhone()||DetectS60OssBrowser()||DetectSymbianOS()||DetectWindowsMobile()||DetectWindowsPhone7()||DetectBlackBerry()||DetectPalmWebOS()||DetectPalmOS()||DetectGarminNuvifone()?true:false}function DetectArchos(){return uagent.search(deviceArchos)>-1?true:false}function DetectBrewDevice(){return uagent.search(deviceBrew)>-1?true:false} function DetectDangerHiptop(){return uagent.search(deviceDanger)>-1||uagent.search(deviceHiptop)>-1?true:false}function DetectMaemoTablet(){return uagent.search(maemo)>-1?true:uagent.search(linux)>-1&&uagent.search(deviceTablet)>-1&&!DetectWebOSTablet()&&!DetectAndroid()?true:false}function DetectSonyMylo(){return uagent.search(manuSony)>-1?uagent.search(qtembedded)>-1||uagent.search(mylocom2)>-1?true:false:false} function DetectOperaMobile(){return uagent.search(engineOpera)>-1?uagent.search(mini)>-1||uagent.search(mobi)>-1?true:false:false}function DetectOperaAndroidPhone(){return uagent.search(engineOpera)>-1&&uagent.search(deviceAndroid)>-1&&uagent.search(mobi)>-1?true:false}function DetectOperaAndroidTablet(){return uagent.search(engineOpera)>-1&&uagent.search(deviceAndroid)>-1&&uagent.search(deviceTablet)>-1?true:false} function DetectSonyPlaystation(){return uagent.search(devicePlaystation)>-1?true:false}function DetectNintendo(){return uagent.search(deviceNintendo)>-1||uagent.search(deviceWii)>-1||uagent.search(deviceNintendoDs)>-1?true:false}function DetectXbox(){return uagent.search(deviceXbox)>-1?true:false}function DetectGameConsole(){return DetectSonyPlaystation()?true:DetectNintendo()?true:DetectXbox()?true:false}function DetectKindle(){return uagent.search(deviceKindle)>-1?true:false} function DetectMobileQuick(){return DetectTierTablet()?false:DetectSmartphone()?true:uagent.search(deviceMidp)>-1||DetectBrewDevice()?true:DetectOperaMobile()?true:uagent.search(engineNetfront)>-1?true:uagent.search(engineUpBrowser)>-1?true:uagent.search(engineOpenWeb)>-1?true:DetectDangerHiptop()?true:DetectMaemoTablet()?true:DetectArchos()?true:uagent.search(devicePda)>-1&&!(uagent.search(disUpdate)>-1)?true:uagent.search(mobile)>-1?true:DetectKindle()?true:false} function DetectMobileLong(){return DetectMobileQuick()?true:DetectGameConsole()?true:DetectSonyMylo()?true:uagent.search(manuSamsung1)>-1||uagent.search(manuSonyEricsson)>-1||uagent.search(manuericsson)>-1?true:uagent.search(svcDocomo)>-1?true:uagent.search(svcKddi)>-1?true:uagent.search(svcVodafone)>-1?true:false}function DetectTierTablet(){return DetectIpad()||DetectAndroidTablet()||DetectBlackBerryTablet()||DetectWebOSTablet()?true:false} function DetectTierIphone(){return DetectIphoneOrIpod()?true:DetectAndroidPhone()?true:DetectBlackBerryWebKit()&&DetectBlackBerryTouch()?true:DetectPalmWebOS()?true:DetectGarminNuvifone()?true:false}function DetectTierRichCss(){return DetectMobileQuick()?DetectTierIphone()?false:DetectWebkit()?true:DetectS60OssBrowser()?true:DetectBlackBerryHigh()?true:DetectWindowsPhone7()?true:DetectWindowsMobile()?true:uagent.search(engineTelecaQ)>-1?true:false:false} function DetectTierOtherPhones(){return DetectMobileLong()?DetectTierIphone()||DetectTierRichCss()?false:true:false}function InitDeviceScan(){isIphone=DetectIphoneOrIpod();isAndroidPhone=DetectAndroidPhone();isTierIphone=DetectTierIphone();isTierTablet=DetectTierTablet();isTierRichCss=DetectTierRichCss();isTierGenericMobile=DetectTierOtherPhones()}InitDeviceScan();
