﻿// Function retrieved from: http://cass- hacks.com/articles/code/js_url_encode_decode/
function URLEncode(clearString) {
    var output = '';
    var x = 0;
    clearString = clearString.toString();
    var regex = /(^[a-zA-Z0-9_.]*)/;
    while (x < clearString.length) {
        var match = regex.exec(clearString.substr(x));
        if (match != null && match.length > 1 && match[1] != '') {
            output += match[1];
            x += match[1].length;
        } else {
            if (clearString[x] == ' ')
                output += '+';
            else {
                var charCode = clearString.charCodeAt(x);
                var hexVal = charCode.toString(16);
                output += '%' + (hexVal.length < 2 ? '0' : '') + hexVal.toUpperCase();
            }
            x++;
        }
    }
    return output;
}
// Retrieved from: http://www.htmlcodetutorial.com/forms/index_famsupp_157.html
function SubmitOnEnter(myfield, e) {
    var keycode;
    if (window.event)
        keycode = window.event.keyCode;
    else if (e)
        keycode = e.which;
    else
        return true;
    if (keycode == 13) {
        SearchSite();
        return false;
    }
    else
        return true;
}
function SearchSite() {
    document.location.href = 'http://www.google.com/cse?cx=001522078318386391331%3Atmjifq-jeee&ie=UTF-8&q=' + URLEncode(document.getElementById('q').value) + '&sa=Search';
}



function $() {
    var elements = new Array();
    for (var i = 0; i < arguments.length; i++) {
        var element = arguments[i];
        if (typeof element == 'string') element = document.getElementById(element);
        if (arguments.length == 1) return element;
        elements.push(element);
    }
    return elements;
}

var BoxHeights = {
    maxh: 0,
    boxes: Array(),
    num: 0,
    op_test: false,
    equalise: function () {
        this.num = arguments.length;
        for (var i = 0; i < this.num; i++) if (!$(arguments[i])) return;
        this.boxes = arguments;
        this.maxheight();
        for (var i = 0; i < this.num; i++) $(arguments[i]).style.height = this.maxh + "px";
    },
    maxheight: function () {
        var heights = new Array();
        for (var i = 0; i < this.num; i++) {
            if (navigator.userAgent.toLowerCase().indexOf('opera') == -1) {
                heights.push($(this.boxes[i]).scrollHeight);
            } else {
                heights.push($(this.boxes[i]).offsetHeight);
            }
        }
        heights.sort(this.sortNumeric);
        this.maxh = heights[this.num - 1];
    },
    sortNumeric: function (f, s) {
        return f - s;
    }
}

window.onload = function () {
    BoxHeights.equalise('newsAndEvents', 'calendar', 'rightInfo');
}
