/**
 * Created by JetBrains PhpStorm.
 * User: gatsu
 * Date: 26/10/11
 * Time: 07:45
 * To change this template use File | Settings | File Templates.
 */

//     include.js 1.0.2
//     (c) 2011 Jérémy Barbe.
//     May be freely distributed under the MIT license.


var afipad = {
    params:{
        /**
         * Paramètre utilisé seulement si jQuery n'est pas présent dans la page
         */
        jQueryUrl:'//www.airfrance.fr/FR/common/common/js/jquery.js',

        /**
         * Nom du script, ce nom est utilisé pour détecter l'emplacement du script et ainsi charger la CSS en conséquence
         */
        detectScriptName:'tabletdetect.js',

        /**
         * Chemin ou se trouve la CSS. Ce chemin doit être relatif au JS
         */
        pathcss:'../css/ipad.css',

        regexpUserAgent : /android|iphone|ipad/gi
    }
};

// domready : https://github.com/ded/domready/blob/master/ready.min.js
(function(a, b) {
        typeof define == "function" ? define(b) : typeof module != "undefined" ? module.exports = b() : this[a] = this.domReady = b()
    })("domready", function(a) {
        function l(a) {
            k = 1;
            while (a = b.shift())a()
        }

        var b = [], c, d = !1, e = document, f = e.documentElement, g = f.doScroll, h = "DOMContentLoaded", i = "addEventListener", j = "onreadystatechange", k = /^loade|c/.test(e.readyState);
        e[i] && e[i](h, c = function() {
            e.removeEventListener(h, c, d), l()
        }, d), g && e.attachEvent(j, c = function() {
            /^c/.test(e.readyState) && (e.detachEvent(j, c), l())
        });
        return a = g ? function(c) {
            self != top ? k ? c() : b.push(c) : function() {
                try {
                    f.doScroll("left")
                } catch (b) {
                    return setTimeout(function() {
                        a(c)
                    }, 50)
                }
                c()
            }()
        } : function(a) {
            k ? a() : b.push(a)
        }
    });


/*!
* Include JS
*/
(function() {
    !function(n,s){n[s]=function(c,h){var d=document,i="body",l=function(){},o={},m=0,j=1,k=d.createElement('div');!c.pop&&(c=[c]);h=h||l;k.id=Date();function t(e,f,p,g){g=d.createElement("script");m++;g.onload=g.onreadystatechange=function(a,b){b=0,a=this.readyState||a.type;if(!a.search("load|complete")){p?(e=function(){n[p]?q(f):setTimeout(e,j);++b>j&&(e=l)})():q(f)}};g.async=!0;g.src=e;d[i].appendChild(g)}function q(a){!--m&&h()+a()}function u(a,b,e,f){b=d.getElementsByTagName("script");f=l;for(a in b)b[a].src&&(o[b[a].src]=a);for(a=c.length;a--;)c[a].pop?(b=c[a][0],f=c[a][1],e=c[a][2]):(b=c[a]),o[b]?f():t(b,f,e);!m&&h()}!function r(){if(!d[i])return setTimeout(r,j);d[i].appendChild(k);if(!d.getElementById(k.id))return setTimeout(r,j);d[i].removeChild(k);u()}()}}(this,'include')
})();


(function() {
    /** script de détection ipad ou tablettes */
    var ua = navigator.userAgent;
    var isTablet = afipad.params.regexpUserAgent.test(ua);

    if (isTablet) {
        // script detection function
     /*  correction OH car pour HP le script  n'arrive pas a trouver le script dans <head>*/
      var getScript = afipad.getScript = function(testRe) {
            testRe = typeof(testRe) == "string" ? new RegExp(testRe.replace(/\./, '\\.')) : testRe;
            var scripts = document.getElementsByTagName('head')[0].getElementsByTagName('script');
            
            for (var i = 0; i < scripts.length; i++) {
                var script = scripts[i];
                if (testRe.test(script.src)) {
                    return script;
                }
            }
            scripts = document.getElementsByTagName('body')[0].getElementsByTagName('script');
            for (var i = 0; i < scripts.length; i++) {
                var script = scripts[i];
                if (testRe.test(script.src)) {
                    return script;
                }
            }
        };

       var scriptDetect = getScript(afipad.params.detectScriptName)
            , pathjs = scriptDetect.src.replace(new RegExp(afipad.params.detectScriptName + '.*'), '')
            , pathcss = pathjs + afipad.params.pathcss;
      
       // pathjs='/ipadAdapter/';
      //  pathcss = pathjs + 'css/ipad.css';
        //replace('javascript/fr/airfrance/ipad', 'resources/css');


        //add micro libs for domready and scripts loading

        var head = document.getElementsByTagName('head')[0] || document.body;
        var link = document.createElement('link');
        link.rel = "stylesheet";
        link.type = "text/css";
        link.href = pathcss;
        head.appendChild(link);


        //document.write('<link rel="stylesheet" type="text/css" href="'+pathcss+'">');

        afipad.params.pathjs = pathjs;
        afipad.params.pathcss = pathcss;

        var loadFunction = function() {
            include(
                [
                    pathjs + 'modules.js',
                    pathjs + 'modulesLoader.js',
                    pathjs + 'libs/Utils.js'
                ], function() {
                    new afipad.ModulesLoader(afipad.modules, {
                        jspath:afipad.params.pathjs,
                        csspath:afipad.params.pathcss
                    });
                });
        };

        loadFunction();
    }
})();


