Created
September 6, 2013 00:02
-
-
Save oceangravity/6457871 to your computer and use it in GitHub Desktop.
Test de Uakami
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*global require */ | |
/** | |
* @function | |
*/ | |
var userAgent = navigator.userAgent || navigator.vendor || window.opera; | |
if(/windows phone|Tablet PC|android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(userAgent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(userAgent.substr(0, 4)) || userAgent.indexOf('iPad') !== -1 || userAgent.indexOf('iPod') !== -1){ | |
var isMobile = true; | |
}else{ | |
var isMobile = false; | |
} | |
/** | |
* @function | |
*/ | |
function parseQuery (query) { | |
var Params = false; | |
if ( ! query ) return Params; // return empty object | |
Params = new Object (); | |
var Pairs = query.split(/[;&]/); | |
for ( var i = 0; i < Pairs.length; i++ ) { | |
var KeyVal = Pairs[i].split('='); | |
if ( ! KeyVal || KeyVal.length != 2 ) continue; | |
var key = unescape( KeyVal[0] ); | |
var val = unescape( KeyVal[1] ); | |
val = val.replace(/\+/g, ' '); | |
Params[key] = val; | |
} | |
return Params; | |
}; | |
if(window.location.hash == ''){ | |
config = parseQuery(window.location.search.replace('?', '')); | |
}else{ | |
config = parseQuery(window.location.hash.replace('#', '')); | |
} | |
if(typeof uuid != 'undefined'){ | |
config.id = uuid; | |
} | |
if (config.mode && config.mode == 'd') { | |
var path = "scripts"; | |
} else { | |
var path = "scripts-build"; | |
} | |
function parseURL(url) { | |
var a = document.createElement('a'), obj, i, j; | |
a.href = url; | |
obj = { | |
'domain': '', | |
'hash': a.hash.slice(1), | |
'host': a.host, | |
'hostname': a.hostname, | |
'href': a.href, // copy back from <a> | |
'origin': a.origin, | |
'pathname': a.pathname, | |
'port': a.port, | |
'protocol': a.protocol.slice(0, -1), | |
'search': a.search.slice(1), | |
'subdomain': '' | |
}; | |
i = obj.hostname.lastIndexOf('.'); | |
if (obj.hostname.length - i === 3) { // if .yz | |
j = obj.hostname.lastIndexOf('.', i-1); | |
if (j === i - 3 || j === i - 4) { // test .vwx.yz or .wx.yz | |
i = j; | |
} | |
} | |
j = obj.hostname.lastIndexOf('.', i-1); | |
if (j !== -1) { // move back one more . | |
i = j; | |
} | |
obj.domain = obj.hostname.slice(i+1); | |
obj.subdomain = obj.hostname.slice(0, i); | |
return obj; | |
}; | |
config.rootUrl = parseURL(require.toUrl('')); | |
config.hostUrl = parseURL(window.location.hostname); | |
config.isMobile = isMobile; | |
// Set the require.js configuration for your application. | |
require.config({ | |
// Initialize the application with the main application file. | |
'deps': ['main'], | |
'paths': { | |
// JavaScript folders. | |
'libs': '../' + path + '/libs', | |
'plugins': '../' + path + '/plugins', | |
'models': '../' + path + '/models', | |
'collections': '../' + path + '/collections', | |
'templates': '../' + path + '/templates', | |
'fixtures': '../' + path + '/fixtures', | |
'widgets': '../' + path + '/widgets', | |
// Other folders | |
'styles': '../styles', | |
// Libraries. | |
'jquery': '../' + path + '/libs/jquery/jquery', | |
'lodash': '../' + path + '/libs/lodash/lodash', | |
'backbone': '../' + path + '/libs/backbone/backbone', | |
'handlebars': '../' + path + '/libs/handlebars/handlebars', | |
'moontemplate': '../' + path + '/libs/jquery/jquery-moontemplate', | |
'tysonaudio': '../' + path + '/libs/jquery/jquery-tysonaudio', | |
'jwplayer': '../' + path + '/libs/jwplayer/jwplayer', | |
// Plugins | |
'text': '../' + path + '/libs/require/text' | |
}, | |
'shim': { | |
'../moontoast': [], | |
'lodash': ['jquery'], | |
'tysonaudio': ['jquery'], | |
'widgets/videoPlayer-widget': ['libs/video/video'], | |
// Backbone library depends on lodash and jQuery. | |
'backbone': { | |
'deps': ['lodash', 'jquery'], | |
'exports': 'Backbone' | |
}, | |
// Moontemplate needs a few things of its own | |
'moontemplate': { | |
'deps': ['jquery', 'handlebars', 'libs/jquery/jquery-dite', 'libs/class/color'] | |
}, | |
// This builds all of the project together | |
'main': { | |
'deps': [ | |
] | |
} | |
}, | |
'config':{ | |
'text': { | |
useXhr: function (url, protocol, hostname, port) { | |
if(typeof config.hostUrl != 'undefined' && typeof config.rootUrl != 'undefined'){ | |
if(config.hostUrl.domain != config.rootUrl.domain){ | |
// allow cross-domain requests | |
// remote server allows CORS | |
return false; | |
}else{ | |
return true; | |
} | |
} | |
}, | |
env: 'xhr' | |
} | |
}, | |
'urlArgs': "bust=" + (new Date()).getTime() | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment