//core
function gc(v){
	var result = '';
	for(x = 0; x < v.length; x++){result += String.fromCharCode(v[x]);}
	return result;
}

w = 750; h = 450; l = (screen.width - w) / 2; t = (screen.height - h) / 2;

//Common Definitions
var ns = gc(Array());
var ce = gc(Array('46', '112', '104', '112'));
var pd = gc(Array('63'));
var es = gc(Array('61'));
var ps = gc(Array('38'));
var dp = gc(Array('100', '101', '108', '101', '116', '101'));
var wi = gc(Array('119', '105', '100', '116', '104'));
var he = gc(Array('104', '101', '105', '103', '104', '116'));
var cm = gc(Array('44'));
var tp = gc(Array('116', '111', '112'));
var le = gc(Array('108', '101', '102', '116'));
var fr = gc(Array('114', '101', '115', '105', '122', '97', '98', '108', '101', '61', '49'));
var fs = gc(Array('115', '99', '114', '111', '108', '108', '98', '97', '114', '115', '61', '49'));
var pp = gc(Array('105', '110', '99', '47', '116', '105', '110', '121', '47', '112', '108', '117', '103', '105', '110', '115', '47', '102', '105', '108', '101', '109', '97', '110', '97', '103', '101', '114', '47'));
var ud = gc(Array('117', '110', '100', '101', '102', '105', '110', '101', '100'));

//Specific Definitions
var _is = gc(Array('105', '110', '115', '101', '114', '116'));
var _op = gc(Array('111', '112'));
var _id = gc(Array('105', '100'));
var _ts = gc(Array('116'));
var _fp = gc(Array('102', '105', '108', '101'));
var _ip = gc(Array('105', '109', '103'));
var _pn = gc(Array('109', '97', '110', '97', '103', '101', '114'));
var _cl = gc(Array('99', '97', '108'));
var _lg = gc(Array('108', '111', '103', '111', '117', '116'));
var _ep = gc(Array('101', '112'));

//Messages
var MESSAGES = Array(
	"Tem certeza que deseja [EXCLUIR] este registro?",
	"Tem certeza que deseja sair?",
	"Callback não definido"
);

//Alias
function $(e){return document.getElementById(e)}
function $l(l){window.location.href = l; return false}
function $c(m){return window.confirm(m)}
function $o(p, pn, f){return window.open(p, pn, f)}
function $a(m){return window.alert(m)}

//Calls
function _new(p){return $l(p + pd + _op + es + _is)}
function _edit(p, d){return $l(p + pd + _id + es + d)}
function _cancel(p){return $l(p)}
function _delete(p, d, ep){if($c(MESSAGES[0])){$l(dp + ce + pd + _ts + es + p + ps + _id + es + d + ps + _ep + es + ep)}}

function attribCallback(callback){
	var result = (typeof callbackObj != ud);
	if(result){callbackObj = $(callback);} else {$a(MESSAGES[2])}
	return result;
}

function lookupFile(callback){if(attribCallback(callback)){$o(pp + _fp + _pn + ce, _fp, wi + es + w + cm + he + es + h + cm + tp + es + t + cm + le + es + l + cm + fr + cm + fs)}};
function lookupImg(callback){if(attribCallback(callback)){$o(pp + _ip + _pn + ce, _ip, wi + es + w + cm + he + es + h + cm + tp + es + t + cm + le + es + l + cm + fr + cm + fs)}};
function logout(){if($c(MESSAGES[1])){$l(_lg + ce)}; return false;}

function domReady(){
	var a = document.getElementsByTagName("A");
	for (x = 0; x < a.length; x++){
		switch(a[x].rel){
			case "calendar":
					Calendar.setup({
					  inputField     :    $(a[x].id.replace(_cl, ns)),
					  button         :    a[x].id
					});
				break;
		}
	}
}

window.onload = domReady;