Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // CSS Classes
- var hasClassName = function(element, className) {
- var elementClassName = element.className;
- return (elementClassName.length > 0 && (elementClassName == className ||
- new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
- };
- var addClassName = function(element, className) {
- if (!hasClassName(element, className))
- element.className += (element.className ? ' ' : '') + className;
- return element;
- };
- var removeClassName = function(element, className) {
- element.className = element.className.replace(
- new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ');
- return element;
- };
- if(!document.getElementsByClassName){
- document.getElementsByClassName = function(className) {
- var docList = this.all || this.getElementsByTagName('*');
- var matchArray = new Array();
- /*Create a regular expression object for class*/
- var re = new RegExp("(?:^|\\s)"+className+"(?:\\s|$)");
- for (var i = 0; i < docList.length; i++) {
- if (re.test(docList[i].className) ) {
- matchArray[matchArray.length] = docList[i];
- }
- }
- return matchArray;
- };
- }
- // Events
- var dispatchEvent = function(obj, type, bubble, canCancel){
- if(bubble == undefined){
- bubble = true;
- }
- if(canCancel == undefined){
- canCancel = true;
- }
- if(document.createEvent){
- var e = document.createEvent('HTMLEvents');
- if(e.initEvent){
- e.initEvent(type, bubble, canCancel);
- }
- if(obj.dispatchEvent){
- obj.dispatchEvent(e);
- }
- } else if(obj.fireEvent){
- obj.fireEvent('on'+type);
- }
- };
- var bindEvent = function(el, event, callback){
- if ( document.addEventListener ) {
- el.addEventListener(event, callback, false );
- } else if ( document.attachEvent ) {
- el.attachEvent( "on"+event, callback );
- }
- }
- // Animation
- var setOpacity = function(e, obj, value){
- obj.style.opacity = value/100;
- obj.style.filter = 'alpha(opacity=' + value + ')';
- };
- var fadeIn = function(obj, level, speed, callback){
- if (level === undefined) var level = 100;
- if (speed === undefined) var speed = 70;
- if (!speed)
- {
- setOpacity(null, obj, level*10);
- if (callback) callback();
- return;
- }
- setOpacity(null, obj, 0);
- for (var i=0; i<=level; i++){
- setTimeout(bind(setOpacity, obj, i*10), speed*i);
- }
- if (callback) setTimeout(callback, speed*(i+1));
- };
- // Basic Functional
- var lower = function(obj){
- return obj.toString().toLowerCase();
- };
- var collect = function(list,func){
- var x = [];
- for(var i=0; i<list.length; i++){
- if(func(list[i])){
- x.push(list[i]);
- }
- }
- return x;
- }
- var each = function(list,func){
- var x = [];
- for(var i=0; i<list.length; i++){
- x.push(func(list[i]));
- }
- return x;
- }
- var first = function(list,func){
- var x;
- for(var i=0; i<list.length; i++){
- x = func(list[i]);
- if(x){
- return list[i];
- }
- }
- }
- var merge = function(a,b){
- obj = {};
- for(prop in a){
- obj[prop] = a[prop];
- }
- for(prop in b){
- obj[prop] = b[prop];
- }
- return obj;
- }
Add Comment
Please, Sign In to add comment