//////////////////////////////////////////////////////////////////////////////////
//www.fortochka.com
//Alexander Babichev 2006 Coopyright
//This script is free for private use. Otherwise a $10 fee per a site is required.
//the script can be modified but the copyright notice should be left unchanged.
//////////////////////////////////////////////////////////////////////////////////

function maxDays(mm, yyyy){
var mDay;
	if((mm == 3) || (mm == 5) || (mm == 8) || (mm == 10)){ 
		mDay = 30;
  	}
  	else{
  		mDay = 31
  		if(mm == 1){
   			if (yyyy/4 - parseInt(yyyy/4) != 0){
   				mDay = 28
   			}
		   	else{
   				mDay = 29
  			}
		}
  }
return mDay; 
}

function writeCalendar(){
var now = new Date
var dd = now.getDate()
var mm = now.getMonth()
var dow = now.getDay()
var yyyy = now.getFullYear()


var arrM = new Array("Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December");
var arrY = new Array()
	for (ii=0;ii<=4;ii++){
		arrY[ii] = yyyy + ii -4
	}
var arrD = new Array("Mån","Tis","Ons","Tor","Fre","Lör", "Sön")

var text = ""
text = "<form name='calForm'> "
text += "<table border='1' style='border-collapse:collapse'>"
text += "<tr><td>"
text += "<table width='100%'><tr>"
text += "<td align=left><a href=Month- onClick='monthMove(-1);this.blur();return false;'><img src=blue_arrow_left.gif border=0></a>&nbsp;"
text += "<select name=selMonth onChange='changeCal()'>"
	for (ii=0;ii<=11;ii++){
		if (ii==mm){
			text += "<option value= " + ii + " Selected>" + arrM[ii] + "</option>"
		}
		else{
			text += "<option value= " + ii + ">" + arrM[ii] + "</option>"
		}
	}
text += "</select>&nbsp;<a href=Month+ onClick='monthMove(1);this.blur();return false;'><img src=blue_arrow_right.gif border=0></a>"
text += "</td>"

text += "<td align=right>"
text += "<select name='selYear' id='selYear' onChange='changeCal()'>"
	for (ii=0;ii<=4;ii++){
		if (arrY[ii]==yyyy){
			text += "<option value= " + arrY[ii] + " selected>" + arrY[ii] + "</option>"
		}
		else{		
			text += "<option value= " + arrY[ii] + ">" + arrY[ii] + "</option>"
		}
	}
text += "</select>"
text += "</td>"
text += "</tr></table>"

text += "</td></tr>"

text += "<tr><td>"
text += "<table border='1' style='border-collapse:collapse'>"
text += "<tr>"
	for (ii=0;ii<=6;ii++){
		text += "<td align=center width='35' Valign='middle' class='label'>" + arrD[ii] + "</td>"
	}
text += "</tr>"
aa = 0

	for (kk=0;kk<=5;kk++){
		text += "<tr>"
		for (ii=0;ii<=6;ii++){
			text += "<td align='center' id='td" + aa + "'><span id='" + aa + "' class='cal'>1</span></td>"
			aa += 1
		}
		text += "</tr>"
	}
text += "</table>"
text += "</td></tr>"
text += "</table>"
text += "</form>"
document.write(text)
changeCal()
}


function changeCal(){
	
var now = new Date
var dd = now.getDate()
var mm = now.getMonth()
var dow = now.getDay()
var yyyy = now.getFullYear()

var currM = parseInt(document.calForm.selMonth.value)
var prevM, ii;
	if (currM!=0){
		prevM = currM - 1
	}
	else{
		prevM = 11
	}
	
var currY = parseInt(document.calForm.selYear.value)
var selYearText = "";
	var arrY = new Array()
	for (ii=0;ii<=4;ii++){
		arrY[ii] = currY + ii -3
	}
	
	for (ii=0;ii<=4;ii++){
		if (arrY[ii]==currY){
			selYearText += "<option value= " + arrY[ii] + " Selected>" + arrY[ii] + "</option>";
		}
		else{		
			selYearText += "<option value= " + arrY[ii] + ">" + arrY[ii] + "</option>";
		}
	}
	
	eval("document.getElementById('selYear')").innerHTML = selYearText;

var mmyyyy = new Date()
mmyyyy.setFullYear(currY,currM,1)

var day1 = mmyyyy.getDay()
	if (day1 == 0){
		day1 = 7
	}
	day1 = day1-1

var arrN = new Array(41)
var aa

	for (ii=0;ii<day1;ii++){
		arrN[ii] = maxDays((prevM),currY) - day1 + ii + 1
	}

	aa = 1
	for (ii=day1;ii<=day1+maxDays(currM,currY)-1;ii++){	
		arrN[ii] = aa
		aa += 1
	}
	
	aa = 1
	for (ii=day1+maxDays(currM,currY);ii<=41;ii++){
		arrN[ii] = aa
		aa += 1
	}
	
	for (ii=0;ii<=41;ii++){		
		eval("document.getElementById('td"+ii+"')").style.backgroundColor = "#ffffff"
	}	


var dCount = 0
var datum, i;
var tempMonth;
var tempLink;

	for (ii=0;ii<=41;ii++){	
		tempY = currY;
		tempMonth = currM+1;
		tempDatum = arrN[ii];
		tempLink = -1;
		if (tempDatum < 10)
			tempDatum = "0"+tempDatum
				
		if (((ii<7)&&(arrN[ii]>20))||((ii>27)&&(arrN[ii]<20))){
			if (ii < 7) 
				tempMonth--;
			else
				tempMonth++;	
			if (tempMonth == 0){
				tempY--;
				tempMonth = 12;
			}	
			else if(tempMonth == 13){
				tempY++;	
				tempMonth = 1;	
			}	
			if (tempMonth < 10)
				tempMonth = "0"+tempMonth;	
			datum = tempY + "-" + tempMonth + "-" + tempDatum;
			
			//eval("document.getElementById('"+ii+"')").innerHTML = datum;
			eval("document.getElementById('"+ii+"')").innerHTML = arrN[ii];
			var found = -1;
			
			for(var i=0; i<datumarray.length; i++){			

			    if(datumarray[i]==datum){
				    
			        tempLink = i;
			        break;
			    }
			}
			
			if (tempLink > 0){				
				catID = categoryarray[tempLink];
				changeBg(ii);
				eval("document.getElementById('"+ii+"')").innerHTML = "<a href='Bilder.php?groupID="+catID+"&datum="+datum+"' style='color:#FFFFFF;'>"+arrN[ii]+"</a>";
				eval("document.getElementById('"+ii+"')").style.color = "#FFFFFF"
			}
			
			
			eval("document.getElementById('"+ii+"')").style.color = "#000000"
			eval("document.getElementById('"+ii+"')").style.fontWeight = "normal"	
		}
		else{
			if (tempMonth < 10)
				tempMonth = "0"+tempMonth;
			datum = currY + "-" + tempMonth + "-" + tempDatum;
			
			eval("document.getElementById('"+ii+"')").innerHTML = arrN[ii];
			//tempLink = datumarray.indexOf(datum);
			var found = -1;
			for(var i=0; i<datumarray.length; i++){				

			    if(datumarray[i]==datum){
			        tempLink = i;
			        break;
			    }
			}
			
			if (tempLink >= 0){
				catID = categoryarray[tempLink];
				changeBg(ii);
			
				eval("document.getElementById('"+ii+"')").innerHTML = "<a href='Bilder.php?groupID="+catID+"&datum="+datum+"' style='color:#FFFFFF'>"+arrN[ii]+"</a>";
				eval("document.getElementById('"+ii+"')").style.color = "#FFFFFF"
			}
			
			else if ((dCount==5)||(dCount==6)){
				eval("document.getElementById('"+ii+"')").style.color = "#FF0000"				
				eval("document.getElementById('"+ii+"')").style.fontWeight = "bold"				
			}
			else{
				eval("document.getElementById('"+ii+"')").style.color = "#000000"
				eval("document.getElementById('"+ii+"')").style.fontWeight = "bold"
			}
			/*if ((arrN[ii]==dd)&&(mm==currM)&&(yyyy==currY)){
				eval("document.getElementById('td"+ii+"')").style.backgroundColor = "#90ee90"				
			}*/
		}
		//alert("Hello5");
	dCount += 1
		if (dCount>6){
			dCount=0
		}						
	}		
}

function changeBg(id){
	if (eval("document.getElementById('td"+id+"')").style.backgroundColor != "yellow"){
		eval("document.getElementById('td"+id+"')").style.backgroundColor = "#990000"
		eval("document.getElementById('td"+id+"')").style.color = "#FFFFFF"
	}
	else{
		eval("document.getElementById('td"+id+"')").style.backgroundColor = "#ffffff"
	}
//Repetition for stupid Netscape6	
	if (eval("document.getElementById('td"+id+"')").style.backgroundColor != "yellow"){
		eval("document.getElementById('td"+id+"')").style.backgroundColor = "#990000"
		eval("document.getElementById('td"+id+"')").style.color = "#FFFFFF"
	}
	else{
		eval("document.getElementById('td"+id+"')").style.backgroundColor = "#ffffff"
	}
	if (eval("document.getElementById('td"+id+"')").style.backgroundColor != "yellow"){
		eval("document.getElementById('td"+id+"')").style.backgroundColor = "#990000"
		eval("document.getElementById('td"+id+"')").style.color = "#FFFFFF"
	}
	else{
		eval("document.getElementById('td"+id+"')").style.backgroundColor = "#ffffff"
	}	
}

function monthMove(dir){
var now = new Date
var minY = now.getFullYear() - 2
var maxY = now.getFullYear() + 2
var mm = parseInt(document.calForm.selMonth.value)
var yyyy = parseInt(document.calForm.selYear.value)

	if (yyyy==minY && mm==0 && parseInt(dir)==-1){
	}
	else{
		if (yyyy==maxY && mm==11 && parseInt(dir)==1){
		}
		else{

			mm = mm + parseInt(dir)
			if (mm==-1){
				mm=11
				yyyy = yyyy - 1
				document.calForm.selYear.value = yyyy		
			}
			if (mm==12){
				mm=0
				yyyy = yyyy + 1
				document.calForm.selYear.value = yyyy		
			}
			document.calForm.selMonth.value = mm
			changeCal()		
		}
	}
}
