Blame | Last modification | View Log | RSS feed
/* Event Functions */// Add an event to the obj given// event_name refers to the event trigger, without the "on", like click or mouseover// func_name refers to the function callback when event is triggeredfunction addEvent(obj,event_name,func_name){if (obj.attachEvent){obj.attachEvent("on"+event_name, func_name);}else if(obj.addEventListener){obj.addEventListener(event_name,func_name,true);}else{obj["on"+event_name] = func_name;}}// Removes an event from the objectfunction removeEvent(obj,event_name,func_name){if (obj.detachEvent){obj.detachEvent("on"+event_name,func_name);}else if(obj.removeEventListener){obj.removeEventListener(event_name,func_name,true);}else{obj["on"+event_name] = null;}}// Stop an event from bubbling up the event DOMfunction stopEvent(evt){evt || window.event;if (evt.stopPropagation){evt.stopPropagation();evt.preventDefault();}else if(typeof evt.cancelBubble != "undefined"){evt.cancelBubble = true;evt.returnValue = false;}return false;}// Get the obj that starts the eventfunction getElement(evt){if (window.event){return window.event.srcElement;}else{return evt.currentTarget;}}// Get the obj that triggers off the eventfunction getTargetElement(evt){if (window.event){return window.event.srcElement;}else{return evt.target;}}// For IE only, stops the obj from being selectedfunction stopSelect(obj){if (typeof obj.onselectstart != 'undefined'){addEvent(obj,"selectstart",function(){ return false;});}}/* Caret Functions */// Get the end position of the caret in the object. Note that the obj needs to be in focus firstfunction getCaretEnd(obj){if(typeof obj.selectionEnd != "undefined"){return obj.selectionEnd;}else if(document.selection&&document.selection.createRange){var M=document.selection.createRange();try{var Lp = M.duplicate();Lp.moveToElementText(obj);}catch(e){var Lp=obj.createTextRange();}Lp.setEndPoint("EndToEnd",M);var rb=Lp.text.length;if(rb>obj.value.length){return -1;}return rb;}}// Get the start position of the caret in the objectfunction getCaretStart(obj){if(typeof obj.selectionStart != "undefined"){return obj.selectionStart;}else if(document.selection&&document.selection.createRange){var M=document.selection.createRange();try{var Lp = M.duplicate();Lp.moveToElementText(obj);}catch(e){var Lp=obj.createTextRange();}Lp.setEndPoint("EndToStart",M);var rb=Lp.text.length;if(rb>obj.value.length){return -1;}return rb;}}// sets the caret position to l in the objectfunction setCaret(obj,l){obj.focus();if (obj.setSelectionRange){obj.setSelectionRange(l,l);}else if(obj.createTextRange){m = obj.createTextRange();m.moveStart('character',l);m.collapse();m.select();}}// sets the caret selection from s to e in the objectfunction setSelection(obj,s,e){obj.focus();if (obj.setSelectionRange){obj.setSelectionRange(s,e);}else if(obj.createTextRange){m = obj.createTextRange();m.moveStart('character',s);m.moveEnd('character',e);m.select();}}/* Escape function */String.prototype.addslashes = function(){return this.replace(/(["\\\.\|\[\]\^\*\+\?\$\(\)])/g, '\\$1');}String.prototype.trim = function () {return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");};/* --- Escape --- *//* Offset position from top of the screen */function curTop(obj){toreturn = 0;while(obj){toreturn += obj.offsetTop;obj = obj.offsetParent;}return toreturn;}function curLeft(obj){toreturn = 0;while(obj){toreturn += obj.offsetLeft;obj = obj.offsetParent;}return toreturn;}/* ------ End of Offset function ------- *//* Types Function */// is a given input a number?function isNumber(a) {return typeof a == 'number' && isFinite(a);}/* Object Functions */function replaceHTML(obj,text){while(el = obj.childNodes[0]){obj.removeChild(el);};obj.appendChild(document.createTextNode(text));}