var startTider = ['09:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00'];
// Skall klara x minuter innan solen går ner
var innansolner = 0;
// Tillägg vid sommartid
var dst = 60;
// En bokning varar x minuter
var bokning = 180;

var solupp = Array();

// Måste lägga till 60min på tider som är under sommartid
var solner = Array();
solner["4"] = Array();
solner["4"]["1"] = "1126";
solner["4"]["5"] = "1134";
solner["4"]["10"] = "1144";
solner["4"]["15"] = "1154";
solner["4"]["20"] = "1164";
solner["4"]["25"] = "1174";
solner["5"] = Array();
solner["5"]["1"] = "1186";
solner["5"]["5"] = "1194";
solner["5"]["10"] = "1204";
solner["5"]["15"] = "1213";
solner["5"]["20"] = "1222";
solner["5"]["25"] = "1230";
solner["6"] = Array();
solner["6"]["1"] = "1240";
solner["6"]["5"] = "1245";
solner["6"]["10"] = "1250";
solner["6"]["15"] = "1254";
solner["6"]["20"] = "1255";
solner["6"]["25"] = "1256";
solner["7"] = Array();
solner["7"]["1"] = "1254";
solner["7"]["5"] = "1252";
solner["7"]["10"] = "1247";
solner["7"]["15"] = "1241";
solner["7"]["20"] = "1234";
solner["7"]["25"] = "1226";
solner["8"] = Array();
solner["8"]["1"] = "1213";
solner["8"]["5"] = "1205";
solner["8"]["10"] = "1194";
solner["8"]["15"] = "1182";
solner["8"]["20"] = "1170";
solner["8"]["25"] = "1158";
solner["9"] = Array();
solner["9"]["1"] = "1141";
solner["9"]["5"] = "1130";
solner["9"]["10"] = "1117";
solner["9"]["15"] = "1104";
solner["9"]["20"] = "1091";
solner["9"]["25"] = "1078";
solner["10"] = Array();
solner["10"]["1"] = "1062";
solner["10"]["5"] = "1052";
solner["10"]["10"] = "1039";
solner["10"]["15"] = "1027";
solner["10"]["20"] = "1014";
solner["10"]["25"] = "1003";

function DSStart(year) {
	if (year.length == 0)
		year = 2009;
	
	for(i=0;i<=7;i++) {
		DSDate = new Date(year,2,31-i,2,0,0);
		if (DSDate.getDay() == 0)
			break;
	}
	
	return DSDate;
}

function DSEnd(year) {
	if (year.length == 0)
		year = 2009;
	
	for(i=0;i<=7;i++) {
		DSDate = new Date(year,9,31-i,2,0,0);
		if (DSDate.getDay() == 0)
			break;
	}
	
	return DSDate;

}

function DSactive(datum) {
	splitDate = datum.split("-");
	y = parseInt(splitDate[0],10);
	m = parseInt(splitDate[1],10);
	d = parseInt(splitDate[2],10);
	
	DSStartDate = DSStart(y);
	DSEndDate = DSEnd(y);
	
	DSSm = parseInt(DSStartDate.getMonth()+1,10);
	DSSd = parseInt(DSStartDate.getDate(),10);

	DSEm = parseInt(DSEndDate.getMonth()+1,10);
	DSEd = parseInt(DSEndDate.getDate(),10);
	

	if (m > DSSm && m < DSEm) {
		return true;
	} else {
		if (m == DSSm && d >= DSSd) {
			return true;
		} else if (m == DSEm && d <= DSEd) {
			return true;
		} else {
			return false;
		}
	}	
}

function day_diff(date1,date2) {
    var ONE_DAY = 1000 * 60 * 60 * 24;
    var date1_ms = date1.getTime();
    var date2_ms = date2.getTime();
    var difference_ms = Math.abs(date1_ms - date2_ms);
	return Math.round(difference_ms/ONE_DAY);
}

function update_prel(datum) {
	
	if (datum.length == 0) {
		todayDate = new Date();
		y = parseInt(todayDate.getFullYear(),10);
		m = parseInt(todayDate.getMonth()+1,10);
		d = parseInt(todayDate.getDate(),10);
	} else {
		splitDate = datum.split("-");
		y = parseInt(splitDate[0],10);
		m = parseInt(splitDate[1],10);
		d = parseInt(splitDate[2],10);
	}

	date1 = new Date();
	date2 = new Date(y,m-1,d,2,0,0);

//	pd = document.getElementById('preld');
	
	
	if (day_diff(date1,date2) > 30) {
		document.getElementById('preld1').innerHTML = "7";
		document.getElementById('preld2').innerHTML = "7";
	} else {
		document.getElementById('preld1').innerHTML = "2";
		document.getElementById('preld2').innerHTML = "2";
	}
}

function solNer(datum) {
	if (datum.length == 0) {
		var todayDate = new Date();
		y = parseInt(todayDate.getFullYear(),10);
		m = parseInt(todayDate.getMonth()+1,10);
		d = parseInt(todayDate.getDate(),10);
		datum = y+"-"+m+"-"+d;
	} else {
		splitDate = datum.split("-");
		y = parseInt(splitDate[0],10);
		m = parseInt(splitDate[1],10);
		d = parseInt(splitDate[2],10);
	}
	
	for (i=0;i<=7;i++) {
		newd = d-i;
		if (solner[m][newd]) {
			solnermin = parseInt(solner[m][newd]);
			break;
		}
	}
	
	if (DSactive(datum))
		solnermin = solnermin+dst;
	
	return solnermin;	
	
}

function spelTid(vilkenNamn,spelDatum) {

	vilken = document.getElementById(vilkenNamn);
	var selindex = vilken.selectedIndex;
	
	var startTider = ['09:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00'];
	
	if (spelDatum.length == 0) {
		var todayDate = new Date();
		y = parseInt(todayDate.getFullYear(),10);
		m = parseInt(todayDate.getMonth()+1,10);
		d = parseInt(todayDate.getDate(),10);
		spelDatum = y+"-"+m+"-"+d;
	} else {
		splitDate = spelDatum.split("-");
		y = parseInt(splitDate[0],10);
		m = parseInt(splitDate[1],10);
		d = parseInt(splitDate[2],10);
	}

	solnermin = solNer(spelDatum);
	senastspelstart = Math.floor(((solnermin-innansolner-bokning)/60)+0.2);

	switch (senastspelstart) {
		case 17:
			startTider.splice(startTider.length-1,1)
			break;
		case 16:
			startTider.splice(startTider.length-2,2)
			break;
		case 15:
			startTider.splice(startTider.length-3,3)
			break;
		case 14:
			startTider.splice(startTider.length-4,4)
			break;
		case 13:
			startTider.splice(startTider.length-5,5)
			break;
		case 12:
			startTider.splice(startTider.length-5,5)
			break;
		default:
			break;
	}

	// Tidigaste start på RecOn är kl 12:00
		switch (spelDatum) {
		case "2010-04-11":
			startTider.splice(0,3)
			break;
		case "2010-05-16":
			startTider.splice(0,3)
			break;
		case "2010-06-14":
			startTider.splice(0,3)
			break;
		case "2010-07-11":
			startTider.splice(0,3)
			break;
		case "2010-08-08":
			startTider.splice(0,3)
			break;
		case "2010-09-12":
			startTider.splice(0,3)
			break;
		case "2010-10-17":
			startTider.splice(0,3)
			break;

		default:
			break;
	}


	// empty existing items
	for (i = vilken.options.length; i >= 0; i--) {
		vilken.options[i] = null;
	}

	if (startTider != null) {
		// add new items
		for (i = 0; i < startTider.length; i++) {
			vilken.options[i] = new Option(startTider[i]);
		}
		
		if (selindex > startTider.length)
			selindex = startTider.length-1;
		else if ( selindex < 0 )
			selindex = 0;
		
		vilken.options[selindex].selected = true;
	}
	
	// Uppdatera prel dagarna
	if (vilkenNamn.substr(vilkenNamn.length-1,1) == "1")
		update_prel(spelDatum);

}

var now = new Date();
var cal = new CalendarPopup("kalender");

// Svenskifiera kalendern
cal.monthNames = new Array("Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December");
cal.monthAbbreviations = new Array("Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec");
cal.dayHeaders = new Array("S","M","T","O","T","F","L");
cal.setTodayText("Idag");

// Veckan börjar på en måndag
cal.setWeekStartDay(1);

// Start och slut på säsongen
cal.addDisabledDates(null,formatDate(now,"yyyy-MM-dd"));
cal.addDisabledDates("2009-11-01","2010-04-15");
cal.addDisabledDates("2010-11-01",null);
// Alla måndagar
cal.setDisabledWeekDays(0);
// Alla biggames
cal.addDisabledDates("2010-04-25");
cal.addDisabledDates("2010-05-30");
cal.addDisabledDates("2010-06-27");
cal.addDisabledDates("2010-07-25");
cal.addDisabledDates("2010-08-29");
cal.addDisabledDates("2010-09-26");
cal.addDisabledDates("2010-10-31");
// Midsommar
cal.addDisabledDates("2010-06-21");
cal.addDisabledDates("2010-06-22");
cal.addDisabledDates("2010-06-23");
cal.addDisabledDates("2010-06-24");
cal.addDisabledDates("2010-06-25");
cal.addDisabledDates("2010-06-26");
// Position
cal.offsetX = 0;
cal.offsetY = -113;

// Visa och gömma privatbokningsinfo
function show(id) {
	ID = document.getElementById(id); 
	
	if(ID.style.display == "") 
		ID.style.display = "none"; 
	else 
		ID.style.display = ""; 

}