//wrap code in a closure to allow use of $
(function ($) {

//create PATROC namspace if not already defined
window.PATROC = window.PATROC || {};   

    PATROC.DeviceManager = (function () {
        var isiPad = (navigator.platform.match(/iPad/i)) ? true : false,
            isiPod = (navigator.platform.match(/iPod/i)) ? true : false,
	        isiPhone = (navigator.platform.match(/iPhone/i)) ? true : false,
            isiOS = isiPad || isiPod || isiPhone,
            isAndroid = (navigator.userAgent.match(/Android/i)) ? true : false,
	        isMac = (navigator.platform.match(/Mac/i)) ? true : false,
            isWindows = !isMac && !isiOS && !isAndroid,
            isWebkit = $.browser.webkit,
            isMozilla = $.browser.mozilla,
            isOpera = $.browser.opera,
            isIE = $.browser.msie,
            isChrome = (navigator.userAgent.match(/Chrome/i)) ? !isAndroid : false,
            isSafari = (navigator.userAgent.match(/Safari/i)) ? !isChrome : false,
            isMobileWebkit = isiOS || isAndroid, // not a complete list, but we haven't tested other devices
            iOSVersion = (isiOS) ? navigator.appVersion.match(/OS (.)/i)[1] : 0,
            IEVersion = (isIE) ? navigator.userAgent.match(/MSIE ([0-9]{1,}[\.0-9]{0,})/i)[1] : 0;

        return {
            isiPad: function () {
                return isiPad;
            },
            isiPod: function () {
                return isiPod;
            },
            isiPhone: function () {
                return isiPhone;
            },
            isiOS: function () {
                return isiOS;
            },
            isMac: function () {
                return isMac;
            },
            isWebkit: function () {
                return isWebkit;
            },
            isMozilla: function () {
                return isMozilla;
            },
            isOpera: function () {
                return isOpera;
            },
            isIE: function () {
                return isIE;
            },
            isAndroid: function () {
                return isAndroid;
            },
            isChrome: function () {
                return isChrome;
            },
            isSafari: function () {
                return isSafari;
            },
            isMobileWebkit: function () {
                return isMobileWebkit;
            },
            useFontFace: function () {
                return useFontFace;
            },
            useCufon: function () {
                return useCufon;
            },
            useCSSTransitions: function () {
                return useCSSTransitions;
            },
            iOSVersion: function () {
                return iOSVersion;
            },
            IEVersion: function () {
                return IEVersion;
            }
        };
    } ());


} (jQuery.noConflict()));
