document.ontouchmove = function(event)
{
event.preventDefault();
}
function getViewportSize()
{
w = window;
if (w.innerWidth != null)
return { w: w.innerWidth, h: w.innerHeight };
var d = w.document;
if (document.compatMode == "CSS1Compat")
return { w: d.documentElement.clientWidth, h: d.documentElement.clientHeight };
return { w: d.body.clientWidth, h: d.body.clientHeight };
}
function forEach(root, queryStr, func)
{
var elemList = root.querySelectorAll(queryStr);
if (elemList && elemList.length > 0)
for (var i = 0; i < elemList.length; i += 1)
func(elemList[i]);
}
function makeAsyncRequest(url, callback)
{
initRequest = null;
if (window.XMLHttpRequest)
initRequest = new XMLHttpRequest();
else if (window.ActiveXObject)
initRequest = new ActiveXObject("Microsoft.XMLHTTP");
if (initRequest != null) {
initRequest.onreadystatechange = function() {
if (initRequest.readyState == 4) // Loaded
callback(initRequest.status, initRequest.responseText);
};
initRequest.open("GET", url, true);
initRequest.send(null);
} else
alert("Your browser doesn't support AJAX.")
}
function loadJsonAsync(url, callback)
{
makeAsyncRequest(url, function(result, data) {
if (result == 200) // Okay
callback(true, JSON.parse(data));
else
callback(false, 'Failed getting json from ' + url);
});
}
function scaleElement(element, scale, off)
{
element.style.transform = scale;
element.style['-o-transform'] = scale;
element.style['-webkit-transform'] = scale;
element.style['-moz-transform'] = scale;
element.style['-o-transform-origin'] = off + '% 0%';
element.style['-webkit-transform-origin'] = off + '% 0%';
element.style['-moz-transform-origin'] = off + '% 0%';
}
function currentMilliSecond()
{
var d = new Date();
return d.getTime();
}
function hasClass(element, cls)
{
return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
}
function getUrlArgs()
{
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
function(m,key,value) {
vars[key] = value;
});
return vars;
}