var isMSIE = /*@cc_on!@*/false;
try { document.execCommand("BackgroundImageCache", false, true); } catch(err) {}

if(location.host.indexOf(".")==-1){
	var DEV = true;
	var path = location.pathname;
	path = path.substring(0,path.indexOf("/",1));
	var URL = "http://" + location.host + path + "/";
}else{
	var DEV = false;
	var URL = "http://" + location.host + "/";
}

var $ = function (){
	var a = null;
	for(var i=0, elements=[], args=$.arguments; i<args.length; i++) {
		a = ( ( (document.getElementById(args[i]) || (document.all && document.all[args[i]])) || document[args[i]] ) || null );
		a = _addF(a);
		elements.push(a);
	}
	return elements.length == 1 ? elements[0] : elements;
};

var $$ = function() {
	for(var i=0, elements=[], args=$.arguments; i<args.length; i++) {
		//args
	}
}

var $t = function(n, t) {
	t = t==null ? document.body : t;
	return t.getElementsByTagName(n);
}

var _addF = function(a) {
	if(a!=null) {
		a['$t'] = function(n){
			return $t(n, this);
		};
		a['cE'] = function(_type, _id, _attr, _before) {
			return cE(_type, this, _id, _attr);
		};
	}
	return a;
}
var require = function(pathToFile) {
	alert(document.body);
	return;
	var s = cE("script", _target);
	s.setAttribute("type", "text/javascript");
	s.setAttribute("src", pathToFile);
	return s;
}
var require_once = function(pathToFile, similarity) {
	var s = document.getElementsByTagName("script");
	var sr = new String, actualSrc = null;
	for (var i=0; i<s.length ; i++ ) {
		actualSrc = s[i].getAttribute("src");
		sr = actualSrc!=null ? actualSrc : '';
		if(sr.indexOf(pathToFile) != -1) {
			if(similarity==true) {
				if(sr == pathToFile) return;
			} else
				return s[i];
		}
	}
	var r = require(pathToFile);
	return r;
}

var isset = function(variable){
	if((typeof variable) != "undefined") {
		if(variable != null) return true;
	}
	return false;
}
var empty = function(variable){
	if(variable.toString().length < 1) return true;
	return false;
}
var isnumeric = function(variable){
	if(isNaN(parseFloat(variable))) return false;
	return true;
}
var ERROR = function(msg) {
	var r = 'Ocorreu um erro ao executar a ação solicitada.';
	r += (isset(msg)) ? "\n" + msg : '';
	return r;
}
var generateSwfCode = function(_src,_w,_h){
	var r = '<object data="' + _src + '" type="application/x-shockwave-flash" width="' + _w + '" height="' + _h + '">';
	r += '<param name="MOVIE" value="' + _src + '">';
	r += '<param name="wmode" value="transparent" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="bgcolor" />';
	r += '</object>';
	return r;
}
var loadSwf = function(_target,_src,_w,_h) {
	$(_target).innerHTML = generateSwfCode(_src,_w,_h);
}
var getKeyCode  = function(e){
	if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	if (e.which) code = e.which;
	return code;
}
var cE = function(_type, _target, _id, _attr, _before) { // style e class bugam o ie
	_target = (typeof _target == "string") ? $(_target) : _target ;
	var createdElement = document.createElement(_type);
	if(isset(_attr)) {
		for (var a in _attr)
			createdElement.setAttribute(a, _attr[a]);
	}
	if(isset(_id)) {
		if(typeof _id == 'object') {
			var nid = _id.getAttribute('id');
			_target.replaceChild(createdElement, _id);
			_id = nid;
		}
		createdElement.setAttribute("id", _id);
	}
	if(_before!=null) _target.insertBefore(createdElement, _before);
	else _target.appendChild(createdElement);
	return createdElement;
}
var addCss = function(src){
	var head = document.getElementsByTagName("head")[0];
	var s = head.getElementsByTagName("link");
	for(var i=0;i<s.length;i++){
		if(s[i].getAttribute("href")==src) return true;
	}
	var css = document.createElement("link");
	css.setAttribute("rel", "stylesheet");
	css.setAttribute("href", src);
	head.appendChild(css);
	return true;
};

var openPopUp = function(_url, _width, _height, _windowName) {
	_windowName = isset(_windowName) ? _windowName : 'popUp';
	var w = window.open(_url, _windowName, 'width=' + _width + ',height=' + _height + '');
	w.focus();
	return false;
}

/* SCROLL */

var centralizeElement = function(objToCentralize) {
	var ua = usefullArea();
	var su = scrolledUntil();
	var deltaY = su['y'];

	var w = Math.ceil(ua['x']/2);
	var tw = Math.ceil(objToCentralize.offsetWidth/2);

	var h = Math.ceil((ua['y']/2)+deltaY);
	var th = Math.ceil(objToCentralize.offsetHeight/2);

	var x = (tw<w)? (w-tw)  : 10;
	var y = (th<h)? ((h-th))  : 10;

	x = (x<10)? 10 : x;
	y = (y<10)? 10 : y;

	objToCentralize.style.left = x + "px";
	objToCentralize.style.top = y + "px";
};

var usefullArea = function() {
	var r = new Array();
	r['x'] = self.innerWidth
		|| document.documentElement.clientWidth
		|| document.body.clientWidth
		|| 0;
	r['y'] = self.innerHeight
		|| document.documentElement.clientHeight
		|| document.body.clientHeight
		|| 0;

	return r;
};

var scrolledUntil = function() {
	var r = new Array();
	r['x'] = self.pageXOffset
		|| document.documentElement.scrollLeft
		|| document.body.scrollLeft
		|| 0;
	r['y'] = self.pageYOffset
		|| document.documentElement.scrollTop
		|| document.body.scrollTop
		|| 0;

	return r;
}

function setScrollPage(_to, _time){//segundos
	if((typeof _scrollInt) != 'undefined') clearInterval(_scrollInt);
	var _to = (isset(_to)) ? _to : 0;
	_scrollTime = 1;
	_scrollInt = setInterval(scrollPage, 10);

	_scrollSt = scrolledUntil();
	_scrollSt = _scrollSt['y'];

	_scrollDist = _to - _scrollSt;
}

function scrollPage() {
	_scrollTime += _scrollInt;
	if (_scrollTime < 50) {
		window.scrollTo( 0, easeInOut(_scrollTime,_scrollSt,_scrollDist,50) );
	}else{
		window.scrollTo( 0, _scrollSt+_scrollDist );
		clearInterval(_scrollInt);
	}
}
function easeInOut(t,b,c,d) {
	return c/2 * (1 - Math.cos(Math.PI*t/d)) + b;
}
/* eventos */
if(!window.addEventListener) {
	Object.prototype.addEventListener = function (evType, fn) {
		this.attachEvent("on"+evType, fn);
	};
}

var bodyLoad = {
	after: new Array(),

	add: function (fn) {
		bodyLoad.after.push(fn);
	},

	load: function () {
		if(!window.onload) window.onload = bodyLoad.exec;
		else {
			var o = window.onload;
			window.onload = function() {
				o();
				bodyLoad.exec();
			};
		}
	},

	exec: function() {
		for( var i=0; i<bodyLoad.after.length; i++ )
			bodyLoad.after[i].call(this);
	}
}

bodyLoad.load();

window.onerror = null;