﻿function $(item) {return document.getElementById ? document.getElementById(item) : document.all[item];}

function addEvent(object, type, handler){
	if (object.addEventListener)
		object.addEventListener(type, handler, false);
	else if (object.attachEvent)
		object.attachEvent(['on',type].join(''),handler);
	else
		object[['on',type].join('')] = handler;
}

function cycleClasses(el, ar, dir) {
    var pos = ar.indexOf(el.className);
    if(pos > -1)
        if(pos+dir<ar.length && pos+dir>-1) {
            el.className = ar[pos+dir];
            return true;
        }
    return false;
}

Array.prototype.indexOf = function(str) {
    var i=0;
    for(var n in this) {
        if(this[n] == str)
            return i;
        i++;
    }
    return null;    
}

String.prototype.trim = function (str) {
    str = (this != window) ? this : str;
    return str.replace(/^\s+/, '').replace(/\s+$/, '');
}

function getDateFromStr(date_str)
{
    var dt = null, y, m, d, a = date_str.split('/');
    if (a && a.length == 3) {
        m = parseInt(a[0])-1;
        d = parseInt(a[1]);
        y = parseInt(a[2]);
        if (!isNaN(m) && !isNaN(d) && !isNaN(y) && y >= 1970 && m >= 0 && m <= 11 && d >= 1 && d <= 31) {
            dt = new Date(y, m, d);
        }
    }
    return dt;
}