Date.prototype.getWeek = function()
{
    var onejan = new Date(this.getFullYear(),0,1);
    return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
} 

var scripts = document.getElementsByTagName('script');
var index = scripts.length - 1;
var myScript = scripts[index];
var PACKAGE_URL = myScript.src+"/../..";
var GET_APPOINTMENTS = 0;
var WEEKDAY = 0, DAY = 1, WEEK = 2, MONTH = 3, YEAR = 4;    // Constants
var weekdays = Array("Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur");
var months = Array("Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember");
var today;
var current;

function initialize()
{

    today = new Date();
    current = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0, 0);
    displayCalendar(current.getDate(), current.getMonth(), current.getFullYear());
}
// Display week calendar starting with the given date.
function displayCalendar(day, month, year)
{
    var date = new Date(year, month, day, 0, 0, 0, 0);
    date.setDate(date.getDate()-date.getDay()); // Set the date to the start of the week.
    
    if(window.XMLHttpRequest)
        xmlhttp=new XMLHttpRequest();
    else
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            var response = xmlhttp.responseText;
            current.setFullYear(year);
            current.setMonth(month);
            document.getElementById('calendar').innerHTML = response;
        }
    }
    xmlhttp.open("GET",PACKAGE_URL+"/server.php?day="+date.getDate()+"&month="+(date.getMonth()+1)+"&year="+date.getFullYear(),true);
    xmlhttp.send();
}
function prev_week()
{
    current.setDate(current.getDate()-7);
    displayCalendar(current.getDate(), current.getMonth(), current.getFullYear());
}
function next_week()
{
    current.setDate(current.getDate()+7);
    displayCalendar(current.getDate(), current.getMonth(), current.getFullYear());
}

function prev_month()
{
    current.setMonth(current.getMonth()-1);
    displayCalendar(current.getDate(), current.getMonth(), current.getFullYear());
}
function next_month()
{
    current.setMonth(current.getMonth()+1);
    displayCalendar(current.getDate(), current.getMonth(), current.getFullYear());
}
function prev_year()
{
    current.setFullYear(current.getFullYear()-1);
    displayCalendar(current.getDate(), current.getMonth(), current.getFullYear());
}
function next_year()
{
    current.setFullYear(current.getFullYear()+1);
    displayCalendar(current.getDate(), current.getMonth(), current.getFullYear());
}
function daysInMonth(iMonth, iYear)
{
    return 32 - new Date(iYear, iMonth, 32).getDate();
}

