diff --git a/js/base/spc.js b/js/base/spc.js deleted file mode 100755 index 8ff1abd..0000000 --- a/js/base/spc.js +++ /dev/null @@ -1,259 +0,0 @@ -/** - * @file utility funcs for jQuery projects - * - */ -// + + + + + + + + + + + + + + + + + + + + + + + + + + + + -// object literal with funcs for jquery plug-ins -// + + + + + + + + + + + + + + + + + + + + + + + + + + + + - var spc = { - /*general options */ - config: { - debug: false, - dev: true - }, - isDef: function(val){ - return (val===undefined) ? false : true; - }, - /* get options of object */ - get_options: function(key, options){ - var result = null; - if ('object' == typeof(options)) { - result = options[key]; - } - if (!result) { return ""; } - return result; - }, - /* set wai aria roles to list of containern */ - set_wa: function(contlist, ariaattr,ariaval){ - $(contlist).attr(ariaattr, ariaval); - }, - /* Encode/decode htmlentities */ - encode_entities: function(s){ - return $("").text(s).html(); - }, - decode_entities: function(s){ - return $("").html(s).text(); - }, - /* add func to load event */ - add_loadEvent: function(func_name){ - var lastonload = window.onload; - if (typeof window.onload != 'function') { window.onload = func_name; } - else { window.onload = function() { lastonload(); func_name(); }; } - }, - /* logging for debug */ - _debug: function(msg){ - if(this.config.debug) { - try{ - if(console){ - console.log(msg); - } else{ - alert(msg); - } - }catch(err){ - alert(msg); - } - } - }, - /* return obj values for debug */ - _get_objVs: function(objl){ - try{ - var p = typeof JSON != "undefined" ? JSON.stringify : function(objl){ - var arr = []; - $.each(objl,function(key,val){ - var next = key + ": "; - next += $.isPlainObject(val) ? printObj(val) : val; - arr.push( next ); - }); - return "{ " + arr.join(", ") + " }"; - }; - return p(objl); - }catch(err){ - this._debug(err); - return ''; - } - }, - aria_live: function(setobj){ - if(typeof(setobj)=='object'){ - setobj.attr('aria-live',"polite"); - } - }, - aria_role: function(setobj, role){ - if(typeof(setobj)=='object'){ - setobj.attr('role',role); - } - }, - change_tabindex: function(remobj,setobj,i){ - if(typeof(remobj)=='object'){ - remobj.removeAttr('tabindex'); - } - if(typeof(setobj)=='object'){ - setobj.attr('tabindex',i); - } - }, - /* set focus to dom object: param obj */ - set_newfocusObj: function(focusobj){ - try{ - if(focusobj) focusobj.focus(); - }catch(err){ - this._debug('exception: '+err); - } - }, - /* set focus to dom object: param id */ - set_newfocusId: function(fid){ - try{ - var focusobj = document.getElementById(fid); - if(focusobj) focusobj.focus(); - }catch(err){ - this._debug('exception: '+err); - } - }, - /* set focus to nonfocussable dom object: */ - set_newfocusBox: function(remobj,setobj){ - this.change_tabindex(remobj,setobj,0); - try{ - if(setobj) setobj.focus(); - }catch(err){ - this._debug('exception: '+err); - } - }, - /* set title(s) and remove other title(s) if set */ - set_title: function(remobj,setobj,ctitle){ - if(typeof(remobj)=='object'){ - remobj.removeAttr('title'); - } - if(typeof(setobj)=='object'){ - setobj.attr('title',ctitle); - } - }, - /* count appearances of dom elems with certain markup */ - count: function(jqdom){ - var num = 0; - $(jqdom).each(function() { - num++; - }); - return num; - }, - countOV: function(objlit){ - var i = 0; - for (var elem in objlit){ - i++; - } - return i; - }, - /*merge object literals (do not overwrite default, not recursively) */ - merge: function(objl1,objl2,objl3,objl4){ - return $.extend({},objl1,objl2,objl3,objl4); - }, - /*merge object literals (do not overwrite default, recursively) */ - mergeR: function(objl1,objl2,objl3,objl4){ - return $.extend(true,{},objl1,objl2,objl3,objl4); - }, - loadImage: function(isrc, func, errfunc){ - try{ - var img = new Image(); - img.onload = func; - img.onerror = errfunc; - img.src = isrc; - }catch(err){ - errfunc(); - } - }, - tb_getPageSize: function(){ - var de=document.documentElement; - var w=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth; - var h=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight; - arrayPageSize=[w,h]; - return arrayPageSize; - }, - useLocStorage: function(){ - return ('localStorage' in window && window.localStorage !== null); - }, - saveLSI: function(key, data){ - if (this.useLocStorage) { - localStorage.setItem(key, data); - } - }, - removeLSI: function(key){ - if (this.useLocStorage) { - localStorage.removeItem(key); - } - }, - getLSI: function(key){ - if (this.useLocStorage) { - return localStorage.getItem(key); - } - return ''; - - }, - showAllLSI: function() { - if (this.useLocStorage) { - var key = ""; - for (var i=0; i<=localStorage.length-1; i++) { - key = localStorage.key(i); - //console.log(key+': '+localStorage.getItem(key)); - } - } - } -}; - - -// + + + + + + + + + + + + + + + + + + + + + + + + + + + + -// shuffle func for random values -// + + + + + + + + + + + + + + + + + + + + + + + + + + + + -Array.prototype.shuffle = function(){ - var tmp, rand; - for(var i =0; i < this.length; i++){ - rand = Math.floor(Math.random() * this.length); - tmp = this[i]; - this[i] = this[rand]; - this[rand] =tmp; - } -}; - -// + + + + + + + + + + + + + + + + + + + + + + + + + + + + -// js trim func for ie -// + + + + + + + + + + + + + + + + + + + + + + + + + + + + -if(typeof String.prototype.trim !== 'function') { - String.prototype.trim = function() { - return this.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); - }; -} - -/** - * simplify setting and getting state out of a node - * $("#my_id").data("my_data_attr") equals $$("#my_id").my_data_attr and - * $("#my_id").data("my_data_attr", "my_data_val") equals $$("#my_id").my_data_attr = my_data_val - * you can also do - * $$("#my_id").my_data_val = $$("#my_id").my_data_val + 1. - */ -var $$ = function(param) { - var node = $(param)[0]; - var id = $.data(node); - $.cache[id] = $.cache[id] || {}; - $.cache[id].node = node; - return $.cache[id]; -}; -var alertFB = false; -if (typeof console === "undefined" || typeof console.log === "undefined") { - console = {}; - if (alertFB) { - console.log = function(msg) { - alert(msg); - }; - } else { - console.log = function() {}; - } -} - -/** - * custom event handler ‘show’/’hide’ events for using .on() - */ -(function ($) { - $.each(['show', 'hide'], function (i, e) { - var el = $.fn[e]; - $.fn[e] = function () { - this.trigger(e); - return el.apply(this, arguments); - }; - }); -})(jQuery); diff --git a/js/base/utility.js b/js/base/utility.js new file mode 100755 index 0000000..2915dff --- /dev/null +++ b/js/base/utility.js @@ -0,0 +1,30 @@ +/** + * @file utility funcs and polyfills + * + */ +// + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// object literal with funcs for jquery plug-ins +// + + + + + + + + + + + + + + + + + + + + + + + + + + + + + var utility = {}; + +// + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// js trim func for ie +// + + + + + + + + + + + + + + + + + + + + + + + + + + + + +if(typeof String.prototype.trim !== 'function') { + String.prototype.trim = function() { + return this.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); + }; +} + +/** + * custom event handler ‘show’/’hide’ events for using .on() + */ +(function ($) { + $.each(['show', 'hide'], function (i, e) { + var el = $.fn[e]; + $.fn[e] = function () { + this.trigger(e); + return el.apply(this, arguments); + }; + }); +})(jQuery);