function timeTill(hours,minutes,seconds) {
    var d = new Date();
    var ctime = (((d.getHours() * 60) + d.getMinutes()) * 60) + d.getSeconds();
    var dtime = (((hours * 60) + minutes) * 60) + seconds;
    var tTill = dtime - ctime;
    var hrem = Math.floor(tTill / 3600);
    tTill = Math.floor(tTill % 3600);
    var mrem = Math.floor(tTill / 60);
    tTill = Math.floor(tTill % 60);
    var srem = Math.floor(tTill);
    return (new Array(hrem,mrem,srem));
}

function timeTill_y(month,day,year,hour,minute,second) {
    var curd = new Date();
    var endd = new Date(year,month-1,day,hour,minute,second);
    var elap = Math.abs(Math.floor((endd.getTime() - curd.getTime()) / 1000));
    var hrem = Math.floor(elap / 3600);
    elap = Math.floor(elap % 3600);
    var mrem = Math.floor(elap / 60);
    elap = Math.floor(elap % 60);
    var srem = Math.floor(elap);
    return (new Array(hrem,mrem,srem));
}

function compare_y(month,day,year,hour,minute,second) {
    var curd = new Date();
    var endd = new Date(year,month-1,day,hour,minute,second);
    var elap = Math.floor((endd.getTime() - curd.getTime()) / 1000);
    if(elap == 0) {
	return 0;
    } else if (elap > 0) {
	return 1;
    }
    return -1;
}

//Events occur in real time
//Method inputs are in real time
//Hour is also properly formatted for clock in (1-12)
function bsgTime(h,m,s) {
    var change = true;
    while(change) {
	change = false;
	if(m == 0 && h > 0) {
	    change = true;
	    m = 60;
	    h -= 1;
	}
	if(s == 0 && m > 0) {
	    change = true;
	    s = 60;
	    m -= 1;
	}
    }
    if(h != 0) {
        h = (h % 12);
        if(h == 0) {
	    h = 12;
        }
    }
    return new Array(h,m,s);
}
