var	DO_LOG				= true;

var SUPPORT_TRANSITIONS,
	SUPPORT_TRANSFORMS,
	SUPPORT_3D_TRANSFORMS,
	SUPPORT_OPACITY,
	SUPPORT_BACKGROUND_SIZE,
	SUPPORT_CSS_COLUMNS,
	SUPPORT_POSITION_FIXED;

window.addEvent('domready', function() {
	SUPPORT_TRANSITIONS		= $$('html').hasClass('csstransitions')[0];
	SUPPORT_TRANSFORMS		= $$('html').hasClass('csstransforms')[0];
	SUPPORT_3D_TRANSFORMS	= $$('html').hasClass('csstransforms3d')[0];
	SUPPORT_OPACITY			= $$('html').hasClass('opacity')[0];
	SUPPORT_BACKGROUND_SIZE	= $$('html').hasClass('backgroundsize')[0];
	SUPPORT_CSS_COLUMNS		= $$('html').hasClass('csscolumns')[0];
	
	/*iPhone/iPad Hack*/
	if(navigator.userAgent.match(/iPad|iPhone/i) !== null){
		/*Check if device runs iOS 5 or higher*/
		SUPPORT_POSITION_FIXED = navigator.userAgent.match(/[5-9]_[0-9]/) !== null;
		
		$$('html').addClass('no-fixed');
	} else {
		SUPPORT_POSITION_FIXED	= true;
	}
});

function log(_msg) {
	//just comment everything in this function when site goes live so it doesn't break IE
	if (DO_LOG) {
		//console.log(_msg);
		//if (!isIE) console.log(_msg);
	}
}

function radToDeg(radians) {
   degrees = 360 * radians/(2 * Math.PI);
   return degrees;
}

function degToRad(degrees) {
   radians = (2 * Math.PI * degrees)/360;
   return radians;
}

function randRange(minNum, maxNum) {
	return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum);
}

//from http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
var isEventSupported = (function(){
    var TAGNAMES = {
      'select':'input','change':'input',
      'submit':'form','reset':'form',
      'error':'img','load':'img','abort':'img'
    }
    function isEventSupported(eventName) {
      var el = document.createElement(TAGNAMES[eventName] || 'div');
      eventName = 'on' + eventName;
      var isSupported = (eventName in el);
      if (!isSupported) {
        el.setAttribute(eventName, 'return;');
        isSupported = typeof el[eventName] == 'function';
      }
      el = null;
      return isSupported;
    }
    return isEventSupported;
})();

function newPoint(_x, _y) {
	var p	= {
		x: _x,
		y: _y
	};
	
	return p;
}

var eases = {
	'in':              	   'ease-in'
    , 'out':               'ease-out'
    , 'in-out':            'ease-in-out'
    , 'snap':              'cubic-bezier(0,1,.5,1)'
    , 'linear':            'cubic-bezier(0.250, 0.250, 0.750, 0.750)'
    , 'ease-in-quad':      'cubic-bezier(0.550, 0.085, 0.680, 0.530)'
    , 'ease-in-cubic':     'cubic-bezier(0.550, 0.055, 0.675, 0.190)'
    , 'ease-in-quart':     'cubic-bezier(0.895, 0.030, 0.685, 0.220)'
    , 'ease-in-quint':     'cubic-bezier(0.755, 0.050, 0.855, 0.060)'
    , 'ease-in-sine':      'cubic-bezier(0.470, 0.000, 0.745, 0.715)'
    , 'ease-in-expo':      'cubic-bezier(0.950, 0.050, 0.795, 0.035)'
    , 'ease-in-circ':      'cubic-bezier(0.600, 0.040, 0.980, 0.335)'
    , 'ease-in-back':      'cubic-bezier(0.600, -0.280, 0.735, 0.045)'
    , 'ease-out-quad':     'cubic-bezier(0.250, 0.460, 0.450, 0.940)'
    , 'ease-out-cubic':    'cubic-bezier(0.215, 0.610, 0.355, 1.000)'
    , 'ease-out-quart':    'cubic-bezier(0.165, 0.840, 0.440, 1.000)'
    , 'ease-out-quint':    'cubic-bezier(0.230, 1.000, 0.320, 1.000)'
    , 'ease-out-sine':     'cubic-bezier(0.390, 0.575, 0.565, 1.000)'
    , 'ease-out-expo':     'cubic-bezier(0.190, 1.000, 0.220, 1.000)'
    , 'ease-out-circ':     'cubic-bezier(0.075, 0.820, 0.165, 1.000)'
    , 'ease-out-back':     'cubic-bezier(0.175, 0.885, 0.320, 1.275)'
    , 'ease-out-quad':     'cubic-bezier(0.455, 0.030, 0.515, 0.955)'
    , 'ease-out-cubic':    'cubic-bezier(0.645, 0.045, 0.355, 1.000)'
    , 'ease-in-out-quart': 'cubic-bezier(0.770, 0.000, 0.175, 1.000)'
    , 'ease-in-out-quint': 'cubic-bezier(0.860, 0.000, 0.070, 1.000)'
    , 'ease-in-out-sine':  'cubic-bezier(0.445, 0.050, 0.550, 0.950)'
    , 'ease-in-out-expo':  'cubic-bezier(1.000, 0.000, 0.000, 1.000)'
    , 'ease-in-out-circ':  'cubic-bezier(0.785, 0.135, 0.150, 0.860)'
    , 'ease-in-out-back':  'cubic-bezier(0.680, -0.550, 0.265, 1.550)'
}
