var montharray = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
var counts = new Array();

function registerCountUp(Message, fromYear,fromMonth,fromDay,fromHour,fromMinute) {
    var i = counts.length;
    document.write('<div id="counter'+i+'"></div>');
    counts[i] = { 'Container':document.getElementById('counter'+i), 'Message': Message, 'fromYear':fromYear, 'fromMonth':fromMonth, 'fromDay':fromDay, 'fromHour':fromHour, 'fromMinute':fromMinute };
    startCountUp(i);
}

function startCountUp(id){
    var counter = counts[id];
    var today = new Date();
    var todayy = today.getYear();
    if ( todayy < 1000 ) todayy+=1900;
    var todaym = today.getMonth();
    var todayd = today.getDate();
    var todayh = today.getHours();
    var todaymin = today.getMinutes();
    var todaysec = today.getSeconds();
    var todaystring = montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
    paststring = montharray[counter.fromMonth-1]+" "+counter.fromDay+", "+counter.fromYear+" "+counter.fromHour+":"+counter.fromMinute+":00";
    dd = Date.parse(todaystring)-Date.parse(paststring);
    dday = Math.floor(dd/(60*60*1000*24)*1)
    dhour = Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
    dmin = Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
    dsec = Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
    
    counter.Container.innerHTML = dday+ " "+suffix(dday,'день','дня','дней')+", "+dhour+" "+suffix(dhour,'час','часа','часов')+", "+dmin+" "+suffix(dmin,'минута','минуты','минут')+" и "+dsec+" "+suffix(dsec,'секунда','секунды','секунд')+" "+counter.Message;
    
    setTimeout("startCountUp("+id+")",1000);
}

function suffix ( number, odin, dva, mnogo ) {
    var ones = number % 10;
    var ten = ( number - ones ) / 10;

    if ( ten == 1 ) return mnogo;
    if ( ones == 1 ) return odin;
    if ( ones > 1 && ones < 5 ) return dva;
    return mnogo;
}