function initBodyHeight(){
    if (document.all){
        //only for browse except IE.
        return;
    }
    var win_h=0;
    if ( window.innerHeight ){
        win_h=window.innerHeight;
    }
    var body_h=0;
    if (document.innerHeight ){
        body_h = document.innerHeight;
    }
    if ( body_h==0 && document.documentElement && document.documentElement.clientHeight ){
        body_h = document.documentElement.clientHeight;
    }
    
    if ( body_h >= win_h ){
        return;
    }
    
    var mydiv = document.createElement("DIV");
    mydiv.style.height = win_h-body_h;
    document.body.appendChild(mydiv);
}

function LZ(x) {
    return(x<0||x>9?"":"0")+x;
}
// ------------------------------------------------------------------
// formatDate (date_object, format)
// Returns a date in the output format specified.
// The format string uses the same abbreviations as in getDateFromFormat()
// ------------------------------------------------------------------
function formatHeaderDate(month_name, weekday_name, date,format) {
    format=format+"";
    var result="";
    var i_format=0;
    var c="";
    var token="";
    var y=date.getYear()+"";
    var M=date.getMonth()+1;
    var d=date.getDate();
    var E=date.getDay();
    var H=date.getHours();
    var m=date.getMinutes();
    var s=date.getSeconds();
    
    // Convert real date parts into formatted versions
    var value=new Object();
    if (y.length < 4) {y=""+(y-0+1900);}
    value["y"]=""+y;
    value["yyyy"]=y;
    value["yy"]=y.substring(2,4);
    value["M"]=M;
    value["MM"]=LZ(M);
    value["MMM"]=month_name[M];
    value["NNN"]=month_name[M];
    value["d"]=d;
    value["dd"]=LZ(d);
    value["E"]=weekday_name[E];
    value["EE"]=weekday_name[E];
    value["H"]=H;
    value["HH"]=LZ(H);
    if (H==0){value["h"]=12;}
    else if (H>12){value["h"]=H-12;}
    else {value["h"]=H;}
    value["hh"]=LZ(value["h"]);
    if (H>11){value["K"]=H-12;} else {value["K"]=H;}
    value["k"]=H+1;
    value["KK"]=LZ(value["K"]);
    value["kk"]=LZ(value["k"]);
    if (H > 11) { value["a"]="PM"; }
    else { value["a"]="AM"; }
    value["m"]=m;
    value["mm"]=LZ(m);
    value["s"]=s;
    value["ss"]=LZ(s);
    while (i_format < format.length) {
        c=format.charAt(i_format);
        token="";
        while ((format.charAt(i_format)==c) && (i_format < format.length)) {
            token += format.charAt(i_format++);
            }
        if (value[token] != null) { result=result + value[token]; }
        else { result=result + token; }
        }
    return result;
}
