Files @ 963c023eabb6
Branch filter:

Location: website/www/conservancy/static/admin/js/core.js - annotation

963c023eabb6 4.8 KiB application/javascript Show Source Show as Raw Download as Raw
bkuhn
site-wide supporter count fundraiser.

Using the jQuery UI multiprogress bar added earlier, this change allows
display of the of the progress bar on every page.
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
6b0577b5052d
// Core javascript helper functions

// Cross-browser event handlers.
function addEvent(obj, evType, fn) {
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, false);
        return true;
    } else if (obj.attachEvent) {
        var r = obj.attachEvent("on" + evType, fn);
        return r;
    } else {
        return false;
    }
}

function removeEvent(obj, evType, fn) {
    if (obj.removeEventListener) {
        obj.removeEventListener(evType, fn, false);
        return true;
    } else if (obj.detachEvent) {
        obj.detachEvent("on" + evType, fn);
        return true;
    } else {
        return false;
    }
}

// quickElement(tagType, parentReference, textInChildNode, [, attribute, attributeValue ...]);
function quickElement() {
    var obj = document.createElement(arguments[0]);
    if (arguments[2] != '' && arguments[2] != null) {
        var textNode = document.createTextNode(arguments[2]);
        obj.appendChild(textNode);
    }
    var len = arguments.length;
    for (var i = 3; i < len; i += 2) {
        obj.setAttribute(arguments[i], arguments[i+1]);
    }
    arguments[1].appendChild(obj);
    return obj;
}

// ----------------------------------------------------------------------------
// Cross-browser xmlhttp object
// from http://jibbering.com/2002/4/httprequest.html
// ----------------------------------------------------------------------------
var xmlhttp;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
@else
    xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
  xmlhttp = new XMLHttpRequest();
}

// ----------------------------------------------------------------------------
// Find-position functions by PPK
// See http://www.quirksmode.org/js/findpos.html
// ----------------------------------------------------------------------------
function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft;
            obj = obj.offsetParent;
        }
    } else if (obj.x) {
        curleft += obj.x;
    }
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop;
            obj = obj.offsetParent;
        }
    } else if (obj.y) {
        curtop += obj.y;
    }
    return curtop;
}

//-----------------------------------------------------------------------------
// Date object extensions
// ----------------------------------------------------------------------------
Date.prototype.getCorrectYear = function() {
    // Date.getYear() is unreliable --
    // see http://www.quirksmode.org/js/introdate.html#year
    var y = this.getYear() % 100;
    return (y < 38) ? y + 2000 : y + 1900;
}

Date.prototype.getTwoDigitMonth = function() {
    return (this.getMonth() < 9) ? '0' + (this.getMonth()+1) : (this.getMonth()+1);
}

Date.prototype.getTwoDigitDate = function() {
    return (this.getDate() < 10) ? '0' + this.getDate() : this.getDate();
}

Date.prototype.getTwoDigitHour = function() {
    return (this.getHours() < 10) ? '0' + this.getHours() : this.getHours();
}

Date.prototype.getTwoDigitMinute = function() {
    return (this.getMinutes() < 10) ? '0' + this.getMinutes() : this.getMinutes();
}

Date.prototype.getISODate = function() {
    return this.getCorrectYear() + '-' + this.getTwoDigitMonth() + '-' + this.getTwoDigitDate();
}

Date.prototype.getHourMinute = function() {
    return this.getTwoDigitHour() + ':' + this.getTwoDigitMinute();
}

// ----------------------------------------------------------------------------
// String object extensions
// ----------------------------------------------------------------------------
String.prototype.pad_left = function(pad_length, pad_string) {
    var new_string = this;
    for (var i = 0; new_string.length < pad_length; i++) {
        new_string = pad_string + new_string;
    }
    return new_string;
}

// ----------------------------------------------------------------------------
// Get the computed style for and element
// ----------------------------------------------------------------------------
function getStyle(oElm, strCssRule){
    var strValue = "";
    if(document.defaultView && document.defaultView.getComputedStyle){
        strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
    }
    else if(oElm.currentStyle){
        strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
            return p1.toUpperCase();
        });
        strValue = oElm.currentStyle[strCssRule];
    }
    return strValue;
}