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 = 2011;
	
	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 = 2011;
	
	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 {
		y = parseInt(datum.substr(0,4),10)
		m = parseInt(datum.substr(5,2),10)
		d = parseInt(datum.substr(8,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 zeropad(number) {  
	return (number < 10 ? '0' : '') + number
}

function spelTid(vilkenNamn,spelDatum) {
	selTid = '09:00'
	
	if (vilkenNamn == 'Tid1')
		selTid = pTid1

	if (vilkenNamn == 'Tid2')
		selTid = pTid2

	spelDatum = spelDatum.toString()

	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)
		wd = todayDate.getDay();
		spelDatum = todayDate.getFullYear().toString()+"-"+zeropad((todayDate.getMonth()+1)).toString()+"-"+zeropad(todayDate.getDate()).toString()
		
	} else {
		y = parseInt(spelDatum.substr(0,4),10)
		m = parseInt(spelDatum.substr(5,2),10)
		d = parseInt(spelDatum.substr(8,2),10)
		ass = new Date(spelDatum)
		wd = ass.getDay()
	}
	
	// Tidigare sluttid på helger
	if (wd == 6 || wd == 0) {
		startTider.splice(startTider.length-3,3)
	}
/*
	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 "2011-04-10":
			startTider.splice(0,3)
			break
		case "2011-05-15":
			startTider.splice(0,3)
			break
		case "2011-06-12":
			startTider.splice(0,3)
			break
		case "2011-07-10":
			startTider.splice(0,3)
			break
		case "2011-08-14":
			startTider.splice(0,3)
			break
		case "2011-09-11":
			startTider.splice(0,3)
			break
		case "2011-10-09":
			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 (startTider[i] == selTid)
				vilken.options[i].selected = true
		}
		
		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("2010-11-01","2011-03-31");
cal.addDisabledDates("2011-11-01",null);
// Alla måndagar
cal.setDisabledWeekDays(0);
// Alla biggames
cal.addDisabledDates("2011-04-24");
cal.addDisabledDates("2011-05-29");
cal.addDisabledDates("2011-06-26");
cal.addDisabledDates("2011-07-24");
cal.addDisabledDates("2011-08-28");
cal.addDisabledDates("2011-09-25");
cal.addDisabledDates("2011-10-30");
// Midsommar
cal.addDisabledDates("2011-06-20");
cal.addDisabledDates("2011-06-21");
cal.addDisabledDates("2011-06-22");
cal.addDisabledDates("2011-06-23");
cal.addDisabledDates("2011-06-24");
cal.addDisabledDates("2011-06-25");
// 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 = ""

}
