// console workaround
/*
if (!console)
{
var console = function()
{
this.log = function(msg)
{
//
}
}
}
*/
function toObject(arr)
{
var rv = {};
for (var i = 0; i < arr.length; ++i)
if (arr[i] !== undefined) rv[i] = arr[i];
return rv;
}
function SystemCore()
{
}
SystemCore.addGlobalItem = function(key, object)
{
if (!SystemCore.globalItems)
{
SystemCore.globalItems = {};
}
SystemCore.globalItems[key] = object;
}
SystemCore.getGlobalItem = function(key, object)
{
return SystemCore.globalItems[key];
}
SystemCore.setLocal = function(key, object)
{
if(!localStorage)
{
return false;
}
localStorage[key] = JSON.stringify(object);
localStorage[key + "_date"] = SystemCore.now(true);
return true;
}
SystemCore.getLocalDate = function(key)
{
if(!localStorage)
{
return false;
}
return localStorage[key + "_date"];
}
SystemCore.getLocal = function(key)
{
if(!localStorage)
{
return false;
}
if(localStorage[key])
{
return JSON.parse(localStorage[key]);
}
return false;
}
SystemCore.takeScreenshot = function(handler)
{
var report = {};
report.width = $("body").width();
report.height = $("body").height();
report.screenshot = $("html").html();
report.browser = {};
report.browser.version = navigator.appVersion;
report.browser.vendor = navigator.vendor;
report.browser.platform = navigator.platform;
report.browser.userAgent = navigator.userAgent;
report.browser.cookieEnabled = navigator.cookieEnabled ? 1 : 0;
SystemRequest.load('SystemManager', 'prepareScreenshot', [report], function(response){
handler(response.data);
});
return report;
}
// LANGUAGES
// daca nu e target, completat e "core"
SystemCore.translate = function(label, targetModule)
{
targetModule = targetModule ? targetModule : "core";
if (!__translations)
{
return "";
}
var trans = __translations[targetModule] ? __translations[targetModule][label] : undefined;
return trans ? trans : "translate:["+label+"]";
}
SystemCore.loadTranslations = function(module, handler)
{
// SystemCore.language
var langPath = SystemCore.BASE_URL + "languages/" + module + "_translation_" + SystemCore.language + ".js";
Loader.getScripts([langPath], function(){
if (handler)
{
handler();
}
});
}
SystemCore.IP = "216.73.216.97";
SystemCore.language = "";
SystemCore.BASE_URL = "http://evangluth-arad.ro/";
SystemCore.ADMIN_IMAGES = "http://evangluth-arad.ro/admin/images/";
SystemCore.LIB_URL = "http://evangluth-arad.ro/eob-libs/";
SystemCore.FILES_URL = "http://evangluth-arad.ro/files_/";
SystemCore.MODULES_PATH = SystemCore.LIB_URL + "com/sds/eob/Modules/";
SystemCore.DOWNLOAD_GATEWAY = SystemCore.BASE_URL + "downloadGateway.php";
SystemCore.MODULES_GATEWAY = SystemCore.BASE_URL + "moduleGateway.php";
SystemCore.FILE_GATEWAY = "http://evangluth-arad.ro/fileGateway.php";
SystemCore.ADAPTERS_GATEWAY = SystemCore.BASE_URL + "adaptersGateway.php";
SystemCore.JS_LIB = SystemCore.BASE_URL + "";
SystemCore.USER_ID = "";
SystemCore.KEEP_ALIVE_TIME = 10000;
SystemCore.ICON_NEW_DOCUMENT = SystemCore.ADMIN_IMAGES + "new_document_16.png";
SystemCore.ICON_ADD = SystemCore.ADMIN_IMAGES + "add_16.png";
SystemCore.ICON_EDIT = SystemCore.ADMIN_IMAGES + "edit_16.png";
SystemCore.ICON_COPY = SystemCore.ADMIN_IMAGES + "copy_16.png";
SystemCore.ICON_PASTE = SystemCore.ADMIN_IMAGES + "16x16_paste.png";
SystemCore.ICON_REMOVE = SystemCore.ADMIN_IMAGES + "remove_16.png";
SystemCore.ICON_PREVIEW = SystemCore.ADMIN_IMAGES + "preview_16.png";
SystemCore.ICON_HOME = SystemCore.ADMIN_IMAGES + "home_16.png";
SystemCore.ICON_HELP = SystemCore.ADMIN_IMAGES + "help_16.png";
SystemCore.ICON_SETTINGS = SystemCore.ADMIN_IMAGES + "settings_16.png";
SystemCore.ICON_SETTINGS_32 = SystemCore.ADMIN_IMAGES + "settings_32.png";
SystemCore.ICON_DOWNLOAD = SystemCore.ADMIN_IMAGES + "download_16.png";
SystemCore.ICON_DISABLE = SystemCore.ADMIN_IMAGES + "disable_16.png";
SystemCore.ICON_INVOICE = SystemCore.ADMIN_IMAGES + "16x16_invoice.png";
SystemCore.ICON_ENABLE = SystemCore.ADMIN_IMAGES + "enable_16.png";
SystemCore.ICON_ENABLE_OFF = SystemCore.ADMIN_IMAGES + "enable_off_16.png";
SystemCore.ICON_ALERT = SystemCore.ADMIN_IMAGES + "alert_24x24.png";
SystemCore.ICON_DROPDOWN = SystemCore.ADMIN_IMAGES + "16x16_combo.png";
SystemCore.ICON_CLOSE = SystemCore.ADMIN_IMAGES + "close_30x30.png";
SystemCore.ICON_BLUE_DOT = SystemCore.ADMIN_IMAGES + "blue_dot_10.png";
SystemCore.ICON_PRINT = SystemCore.ADMIN_IMAGES + "print_16x16.png";
SystemCore.ICON_LOCK = SystemCore.ADMIN_IMAGES + "16x16_lock.png";
SystemCore.ICON_UNLOCK = SystemCore.ADMIN_IMAGES + "16x16_unlock.png";
SystemCore.ICON_WOMAN = SystemCore.ADMIN_IMAGES + "woman.png";
SystemCore.ICON_MAN = SystemCore.ADMIN_IMAGES + "man.png";
SystemCore.ICON_CANCELLED = SystemCore.ADMIN_IMAGES + "cancelled_16.png";
SystemCore.ICON_DELIVERY = SystemCore.ADMIN_IMAGES + "delivery_16.png";
SystemCore.ICON_LOADING = SystemCore.ADMIN_IMAGES + "loading_16.png";
SystemCore.ICON_MAIL_SMALL = SystemCore.ADMIN_IMAGES + "mail_16.png";
SystemCore.ICON_OPEN_MAIL = SystemCore.ADMIN_IMAGES + "open-mail_16.png";
SystemCore.ICON_IMPORTANT = SystemCore.ADMIN_IMAGES + "important_16.png";
SystemCore.ICON_DOWN_ARROW = SystemCore.ADMIN_IMAGES + "down_arrow_16.png";
// mahle, si nu numai
SystemCore.ICON_ADD_64 = SystemCore.ADMIN_IMAGES + "add_64.png";
SystemCore.ICON_CHANGE_64 = SystemCore.ADMIN_IMAGES + "change_64.png";
SystemCore.ICON_COMMENTS_24 = SystemCore.ADMIN_IMAGES + "comments_24.png";
// 32
SystemCore.ICON_SHEET_32 = SystemCore.ADMIN_IMAGES + "sheet_32.png";
SystemCore.ICON_FOLDER_32 = SystemCore.ADMIN_IMAGES + "folder_32.png";
SystemCore.ICON_MAIL = SystemCore.ADMIN_IMAGES + "mail_32.png";
SystemCore.getIcon = function(iconPath, tooltip, attributes)
{
var title = tooltip ? " title=\""+tooltip+"\" " : "";
return "
";
}
SystemCore.TITAN_GATEWAY = "http://evangluth-arad.ro/galileo/Application ERP2/jqueryGateway.php";
/**
* headerFields has name/value: name for header and value for fieldKey(in collection)
*/
SystemCore.isNumber = function(n)
{
return !isNaN(parseFloat(n)) && isFinite(n);
}
SystemCore.measureTextWidth = function(str, style)
{
var rnd = parseInt(Math.random() * 100000);
$("body").append(""+str+"");
if (style)
{
for (var key in style)
{
if (key == "width" || key == "min-width") continue;
$(".dummyContainerForTextMeasurement"+rnd).css(key, style[key]);
}
}
var width = $(".dummyContainerForTextMeasurement"+rnd).width();
if ($(".dummyContainerForTextMeasurement"+rnd))
{
$(".dummyContainerForTextMeasurement"+rnd).remove();
}
return width;
}
SystemCore.csvToExcel = function(columns, headerLabels, collection, fileName)
{
SystemRequest.load("CSV","csvToExcel",[columns, headerLabels, collection, fileName], function(response){
document.location = SystemCore.MODULES_GATEWAY + "?module=CSV&method=downloadExcel¶ms="+response.data.toString()+","+fileName;
});
}
SystemCore.createCSV = function(headerFields,rows)
{
var csv = "";
var fldKey;
for(var key in headerFields)
{
csv += '"'+headerFields[key]['name']+'",';
}
csv += "\r\n";
for(var i in rows)
{
for(var key in headerFields)
{
fldKey = headerFields[key]['value'];
if (rows[i][fldKey])
{
rows[i][fldKey] = (rows[i][fldKey]).toString().split('"').join("'");
}
else
{
rows[i][fldKey] = "";
}
csv += '"'+rows[i][fldKey]+'",';
}
csv += "\r\n";
}
return csv;
}
SystemCore.getObjectLength = function(obj)
{
var size = 0;
var key = null;
for (key in obj)
{
if (obj.hasOwnProperty(key)) size++;
}
return size;
}
/*
* remove event from jqelement
*/
SystemCore.off = function(jqelement, handler, type)
{
type = type === undefined ? "click" : type;
try
{
if (handler !== undefined)
{
$(jqelement).die(type, handler);
}
else
{
$(jqelement).die(type);
}
}catch(err){}
}
SystemCore.onClick = function(jqelement, handler, type)
{
type = !type ? "click" : type;
try
{
$(jqelement).die(type);
}catch(err){}
$(jqelement).live(type, handler)
}
SystemCore.renderTemplate = function(element, templateCode, data)
{
var tplid = "tpl_" + SystemCore.random(100,10000) + "_" + SystemCore.random(100,10000);
$.template( tplid, templateCode );
$.tmpl( tplid, data ).appendTo( element );
}
SystemCore.getIdsFromCollection = function(collection, idField)
{
idField = idField ? idField : "id";
if (collection && collection.length > 0)
{
var i = 0;
var ids = [];
for (i=0;i 0)
{
var i = 0;
for (i=0;i 0)
{
var i = 0;
for (i=0;i 0)
{
var first = value[0];
var j = 0;
if (first.hasOwnProperty("name"))
{
self.children().remove();
for (j=0;j'+value[j]['name']+'');
selfChanged = true;
}
}
}
else
{
self.val(value);
selfChanged = true;
}
break;
case 'file':
self.attr("value","");
break;
case 'checkbox':
if (value === true || parseInt(value) > 0)
{
self.attr("checked","checked");
}
else
{
self.removeAttr("checked");
}
break;
case 'radio':
if (self.attr("value") == value && value && value.length > 0)
{
if ((parseInt(value) > 0) || (value && value.length > 0))
{
self.attr("checked","checked");
}
else
{
self.removeAttr("checked");
}
selfChanged = true;
}
break;
case 'hidden':
self.val(value);
selfChanged = true;
if ($("div#container_"+self.attr("id"))[0])
{
var gmapValue = value.replace("(", "").replace(")","").split(",");
var latLng = new google.maps.LatLng(parseFloat(gmapValue[0]), parseFloat(gmapValue[1]));
window["map_"+self.attr("id")].setZoom(parseInt(gmapValue[2]));
window["map_"+self.attr("id")].panTo(latLng);
if (window["mrkmap_"+self.attr("id")])
{
window["mrkmap_"+self.attr("id")].setMap(null);
}
window["mrkmap_"+self.attr("id")] = new google.maps.Marker({
position: latLng,
map: window["map_"+self.attr("id")]
});
}
break;
case 'textarea':
try
{
if (self.hasClass("richText"))
{
for (var edId in tinymce.editors)
{
if (tinymce.editors[edId].editorId == self.attr("id"))
{
tinymce.editors[edId].setContent(value);
break;
}
}
}// nu traba` break
}
catch(e) { }
default:
self.val(value);
selfChanged = true;
break;
}
}
if (selfChanged && triggerChange !== false)
{
self.trigger("keyup");
self.trigger("change");
}
}
}
if (completeHandler != undefined)
{
completeHandler();
}
}
function fillFormWithArray_bckp(form, data, completeHandler)
{
var frmElements = $(form)[0].elements;
$.each(data, function(key, value){
for (var i=0;i 0)
{
var first = value[0];
var j = 0;
if (first.hasOwnProperty("name"))
{
self.children().remove();
for (j=0;j'+value[j]['name']+'');
}
}
}
else
{
self.val(value);
}
break;
case 'file':
/* nu trebuie setat */
break;
case 'checkbox':
case 'radio':
if (self.attr("value") == value && value && value.length > 0)
{
self.attr("checked",(parseInt(value) > 0 || (value && value.length > 0) ? "checked" : null));
}
break;
default:
self.val(value);
break;
}
}
self.trigger("keyup");
self.trigger("change");
}
});
if (completeHandler != undefined)
{
completeHandler();
}
}
function ColorUtils()
{
}
ColorUtils.getFontColorForBackground = function(bgHex)
{
if (bgHex.indexOf('#') === 0)
{
bgHex = bgHex.substr(1,10);
}
res = parseInt(bgHex, 16);
if (res < 7368816)
{
color = "#ffffff";
}
else
{
color = "#000000";
}
return color;
}
/**
* Get instances as containers
*/
SystemCore.instances = {};
SystemCore.getInstances = function()
{
var rez = $("div[id^=inst_]");
var key = '';
var obj;
for(var i=0; i 0 ? parseInt(number) : 10000;
return parseInt(Math.random() * number);
}
SystemCore.registerToggleElement = function()
{
// TODO -- cipri, mai ai de lucru aici
// o sa foloseasca la toggle state-uri pe public ...
}
SystemCore.removeUserInfo = function()
{
SystemCore.permissions = [];
SystemCore.user = undefined;
}
SystemCore.getUserInfo = function(handler)
{
SystemRequest.load("Users","getUserInfo",[{x:0}], function(resp){
if(resp.success)
{
SystemCore.permissions = resp.data.permissions;
SystemCore.user = resp.data.user;
}
else
{
SystemCore.removeUserInfo();
}
if (handler)
{
handler(SystemCore.user, SystemCore.permissions);
}
});
}
SystemCore.permissions = {};
SystemCore.getPermissions = function(handler)
{
SystemRequest.load("Users","getCurrentUserPermissions",[], function(response){
SystemCore.permissions = response.data ? response.data : [];
if (handler)
{
handler();
}
});
}
SystemCore.hasPermission = function(permission,module)
{
var len = SystemCore.permissions.length;
for(var i in SystemCore.permissions)
{
if (SystemCore.permissions[i].name == "coreAdministrator")
{
return true;
}
if (SystemCore.permissions[i].module == module && (permission==null || SystemCore.permissions[i].name == permission))
{
return true;
}
}
return false;
}
SystemCore.login = function(e,p,handler)
{
SystemCore.removeUserInfo();
SystemRequest.load("Users","login",[e,p], handler);
}
SystemCore.logout = function(handler)
{
SystemCore.removeUserInfo();
SystemRequest.load("Users","logout",[], handler);
}
SystemCore.getLoginForm = function(loginHandler,loginLabel, cancelLabel, title,description)
{
var loginForm;
title = title ? title : "";
description = description ? description : "";
loginLabel = loginLabel ? loginLabel : "Login";
cancelLabel = cancelLabel ? cancelLabel : "";
loginForm = new UIForm("",{formId:"_coreLoginForm_", title:title, description:description});
var formObj = UIForm.createCustomForm("_coreLoginFormObj_", loginLabel,cancelLabel);
UIForm.addField(formObj, "email", "Email", "email", "", true,{});
UIForm.addField(formObj, "password", "Pasword", "password", "", true,{});
loginForm.load(null, formObj);
loginForm.onSave(function(){
var fData = loginForm.getData();
SystemCore.login(fData.email, fData.password, loginHandler);
});
return loginForm;
}
SystemCore.getLoginFormJS = function(loginHandler,loginLabel, cancelLabel, title,description)
{
var loginForm;
title = title ? title : "";
description = description ? description : "";
loginLabel = loginLabel ? loginLabel : "Login";
cancelLabel = cancelLabel ? cancelLabel : "";
loginForm = new UIFormJS("_coreLoginForm_", loginLabel,cancelLabel,{title:title, description:description});
loginForm.addField("email", "Email", "email", "", true,{});
loginForm.addField("password", "Pasword", "password", "", true,{});
loginForm.load();
loginForm.onLoad(function(){
loginForm.onSave(function(){
var fData = loginForm.getData();
SystemCore.login(fData.email, fData.password, loginHandler);
});
})
return loginForm;
}
SystemCore.createUIApplication = function(appName, container)
{
var _app = new UIApplication({name:appName, id:appName+"Id", container:container}); //
var _wrapper = _app.wrapper;
_app.render();
_wrapper.dispatchResize();
return _app;
}
Event = function(type, data, currentTarget)
{
this.type = type;
this.currentTarget = currentTarget;
this.data = data;
this.defaultPrevented = false;
this.isDefaultPrevented = function()
{
this.defaultPrevented = true;
}
this.preventDefault = function()
{
this.defaultPrevented = true;
}
}
Event.CHANGE = "change";
Event.CHANGING = "changing";
$(document).ready(function(){
SystemCore.getInstances();
});
SystemCore.listeners = {};
/**
* Obiectele care sunt adaugate ca si eventListener trebuie sa aiba
* o metoda publica liste(event), unde event are: target(dispatcher),type(string) si data(Object)
*/
/**
* dispatcher -- e optional (daca nu se specifica trebuie tratat in handlerii din listeneri)
*/
SystemCore.addEventListener = function(listenerObjOrFunct,type,dispather)
{
if (!SystemCore.listeners[type])
{
SystemCore.listeners[type] = [];
}
SystemCore.listeners[type].push( {object:listenerObjOrFunct,type:type,dispatcher:dispather} );
}
SystemCore.removeAllEvents = function(params, type)
{
if (SystemCore.listeners[type])
{
SystemCore.listeners[type] = undefined;
}
}
/**
* Remove event listener
*/
SystemCore.removeEventListener = function(object,type,dispatcher)
{
if (SystemCore.listeners[type])
{
// TODO -- nu am rezolvat sa stearga in context - ci pe type doar
//SystemCore.listeners[type] = undefined;
//return;
for (var i=0; i';
this.tpl;
this.activePage = 0;
this.tpl = $.template(this.templateName,this.tplWrapper);
this.setTotal = function(total,perPage)
{
this.total = total;
this.perPage = perPage ? perPage : 30;
this.totalPages = Math.ceil(this.total / this.perPage);
}
this.clearTemplate = function()
{
$(this.container).empty();
}
this.render = function(activePage)
{
// tplPaginationPlaceHolder
if (!this.tpl)
{
this.tpl = $.template(this.templateName,this.tplRow);
}
var pages = [];
this.activePage = activePage>=0 ? activePage : 0;
var obj = {};
for(var i=0; i');
if ($.browser.msie && jQuery.browser.version < 9.0) // muIE 6,7,8
{
var containerId = $(this.container).attr("id");
var objBody = document.getElementById(containerId);
iframe = document.createElement('