var year=0,month=0,day=0,hour=0,min=0,sec=0;
var updtInt;
var flashInt=null;
var ctx;
function load(){
	if(unescape(document.cookie).substring(0,2) == "d="){
		var date = (unescape(document.cookie).split(";")[0].substring(2,document.cookie.length)).split("|");
		document.getElementById('year').value = date[0]*1;
		document.getElementById('month').value = date[1]*1;
		document.getElementById('day').value = date[2]*1;
		document.getElementById('hour').value = date[3]*1;
		document.getElementById('min').value = date[4]*1;
		document.getElementById('sec').value = date[5]*1;
		sDate();
	}
	drawTicks(0,0,0);
	var imgs = new Array("images/digits/-.png","images/digits/+.png","images/digits/0.png","images/digits/1.png","images/digits/2.png","images/digits/3.png","images/digits/4.png","images/digits/5.png","images/digits/6.png","images/digits/7.png","images/digits/8.png","images/digits/9.png","images/digits/col.png","images/screenshot.png","images/webclip.png");
	loadImages(imgs,-1);
}

function loadImages(imgList,size){
	if(size < 0) size = imgList.length;
	if(imgList.length > 0){
		var img = new Image();
		img.src = imgList.pop();
		var prog = (size-imgList.length)/size;
		drawTicks(0,0,Math.round(prog*60));
		img.onload = function(){ loadImages(imgList,size); }
	}else{
		loadB();
	}
}

function loadB(){
	window.scrollTo(0,1);
	if(unescape(document.cookie).substring(0,2) != "d=")
		showSets();
	uptdInt = setInterval(update,500);
}

function canvasLoad(){
	ctx = document.getElementById('rings').getContext('2d');
	ctx.translate(160,160);
}

function showSets(){
	document.getElementById('main').style.display = "none";
	document.getElementById('sets').style.display = "block";
}

function hideSets(){
	document.getElementById('main').style.display = "block";
	document.getElementById('sets').style.display = "none";
	sDate();
	window.scrollTo(0,1);
}

function copyright(show){
	if(show)
		document.getElementById('copyright').style.display = "block";
	else
		document.getElementById('copyright').style.display = "none";
}

function sDate(){
	year = document.getElementById('year').value*1;
	month = document.getElementById('month').value*1;
	day = document.getElementById('day').value*1;
	hour = document.getElementById('hour').value*1;
	min = document.getElementById('min').value*1;
	sec = document.getElementById('sec').value*1;
	var date = new Array(year,month,day,hour,min,sec);
	document.cookie = "d="+escape(date.join("|"))+"; expires=01/01/2054 00:00:00; path=/bsgTimer/; domain=pz2.ucls.uchicago.edu;"
}

function update(){
	if(year != 0){
		var info = timeTill_y(month,day,year,hour,min,sec);
		var sign = compare_y(month,day,year,hour,min,sec) * -1;
		var infoB = bsgTime(info[0],info[1],info[2]);
		if(sign >=0 && info[0] == 0 && info[1] == 0 && info[2] <= 3){
			if(flashInt == null)
				flashInt = setInterval(flasher,250);
			drawTicks(0,0,0);
			setDigit("ds","-");
			setDigit("dh4",0);
			setDigit("dh3",0);
			setDigit("dh2",0);
			setDigit("dh1",0);
			setDigit("dm2",0);
			setDigit("dm1",0);
			setDigit("ds2",0);
			setDigit("ds1",0);
		}else{
			drawTicks(infoB[0],infoB[1],infoB[2]);
			if(sign > 0)
				setDigit("ds","+");
			else
				setDigit("ds","-");
			
			if(info[0] >=9999){
				setDigit("dh4",9);
				setDigit("dh3",9);
				setDigit("dh2",9);
				setDigit("dh1",9);
			}else{
				setDigit("dh4",Math.floor(info[0]/1000)%10);
				setDigit("dh3",Math.floor(info[0]/100)%10);
				setDigit("dh2",Math.floor(info[0]/10)%10);
				setDigit("dh1",info[0]%10);
			}
			
			setDigit("dm2",Math.floor(info[1]/10)%10);
			setDigit("dm1",info[1]%10);
			
			setDigit("ds2",Math.floor(info[2]/10)%10);
			setDigit("ds1",info[2]%10);
		}
	}
}

function flasher(){
	var info = timeTill_y(month,day,year,hour,min,sec);
	var sign = compare_y(month,day,year,hour,min,sec) * -1;
	if(sign >=0 && info[0] == 0 && info[1] == 0 && info[2] <= 3){
		if(document.getElementById('clock').style.display == "none")
			document.getElementById('clock').style.display = "block";
		else
			document.getElementById('clock').style.display = "none"
	}else{
		document.getElementById('clock').style.display = "block";
		clearInterval(flashInt);
		flashInt = null;
	}
}

function setDigit(id,val){
	document.getElementById(id).src = "images/digits/"+val+".png";
}

function drawTicks(h,m,s){
	if(!ctx) canvasLoad();
	ctx.clearRect(-160,-160,320,320);
	ctx.strokeStyle = "rgb(230,120,23)";//"#FA9F00";
	ctx.lineWidth = 2;
	
	ctx.beginPath();
	ctx.arc(0,0,157,0,2*Math.PI,true);
	ctx.stroke();
	
	ctx.fillStyle = "rgb(230,120,23)";//"#FA9F00";
	
	var rmin = new Array(25,75,125);
	var rmax = new Array(70,120,150);
	var sect = new Array(12,60,60);
	var time = new Array(h,m,s);
	
	var angleA;
	var angleB;
	for(var i=0; i<sect.length; i++){
		angleA = -Math.PI/2;
		angleB = -2*Math.PI*(time[i]/sect[i])+angleA;
		ctx.beginPath();
		ctx.arc(0,0,rmin[i],angleB,angleA,false);
		ctx.arc(0,0,rmax[i],angleA,angleB,true);
		ctx.fill();
	}
	
	for(var i=0; i<12; i++){
		ctx.rotate(Math.PI/6);
		ctx.clearRect(-1,0,2,75);
	}
	
	for(var i=0; i<60; i++){
		ctx.rotate(Math.PI/30);
		ctx.clearRect(-1,73,2,78);
	}
}