var num_w = 6;
var num_h = 2;	
var box_w = 100;
var box_h = 100;
var box_pad = 2;

var box_tw = box_w + box_pad;
var box_th = box_h + box_pad;
var num_fades = 4;

var directions = new Array(num_w);
var fade_boxes = new Array(num_fades);

function writetemp(str) {
	document.getElementById("temp").innerHTML = str;
}

function ie_correct() {
	var bh;
	var main = document.getElementById("sq_container");
		
	if (BrowserDetect.browser.indexOf("Explorer") != -1) {
	/*
	   if (BrowserDetect.version == 7) {
	   	is_ie = true;		
		}
	*/
		bh = document.documentElement.clientHeight;
		bh = (bh - (num_h * box_th)) / 2 - 10;
		main.style.marginTop = bh + "px";		
	}
}

function fade_step(num) {
	var box = fade_boxes[num];
	var op = box["op"];
	
	/* change opacity based on direction */
	if (box["dir"] == 0) {
		box["op"] = op - 2;
		
		if (box["op"] <= 0) {
			box["dir"] = 1;		
			directions[box["x"]][box["y"]] = 1;
			/*
			clearInterval(box["intv"]);
			window.setTimeout('new_fade(' + num + ')', 100);
			*/
		}
	}
	else {
		box["op"] = op + 2;

		if (box["op"] >= 100) {
			box["dir"] = 0;
			directions[box["x"]][box["y"]] = 0;			
			clearInterval(box["intv"]);	
			window.setTimeout('new_fade(' + num + ')', 200);			
		}
	}
	
	box["obj"].style.opacity = (op / 100.0);
	box["obj"].style.filter = "alpha(opacity=" + op + ")";
}
			
function fade_box(x, y, num, boxes, time) {
	var box = boxes[num];
	box["obj"] = document.getElementById("b" + x + "," + y);
	box["x"] = x;
	box["y"] = y;
	box["dir"] = directions[x][y];
	
	if (box["dir"] == 0) {
		box["op"] = 100;
	}
	else {
		box["op"] = 0;
	}
	
	//writetemp("X: " + x + " Y:" + y + "  " + num + "  opacity: " + box["op"]);
	box["intv"] = window.setInterval('fade_step(' + num + ')', time);
}

function check_boxes(x, y, num, boxes) {
	var i;
	
	for (i = 0; i < boxes.length; i++) {
		if (i != num) {
			if ((boxes[i]["x"] == x) && (boxes[i]["y"] == y)) {
				return true;
			}
		}
	}
	
	return false;
}

function new_fade(num) {
	var randx = Math.floor(Math.random() * num_w);	
	var randy = Math.floor(Math.random() * num_h);
	var rtime = Math.floor(Math.random() * num_fades);
		
	while (check_boxes(randx, randy, num, fade_boxes)) {
		randx = Math.floor(Math.random() * num_w);
		randy = Math.floor(Math.random() * num_h);	
	}

	fade_box(randx, randy, num, fade_boxes, ((rtime + 1) * 10) + 20);
}

function init_boxes() {
	var i = 0;
	var main = document.getElementById("sq_container");
	var randx, randy;
	var size;
	
	/* position entire grid */
	/*
	if (window.innerHeight) {
		var bh = window.innerHeight;
		
		bh = (bh - (num_h * box_th)) / 2;
		if (bh > 40) {
			bh -= 10;
		}
		main.style.marginTop = bh + "px";
	}
	*/	
	var count = 0;
	for (i = 0; i < num_w; i++) {
		directions[i] = new Array(num_h);
				
		for (j = 0; j < num_h; j++) {
			count++;
			count = count % 5;			
			
			var b = document.createElement("div");
			randx = Math.floor(Math.random() * (90 + count)) - (count / 35);
			randy = Math.floor(Math.random() * (80 + count)) - ((count * 373) % 5);
			/*size = 	Math.floor(Math.random() * 100);
			if (size < 20) {
				size = 20;				
			}
			*/
			b.className = "bg_box";
			b.id = "b" + i + "," + j;	
			b.style.top = randy + "%";
			b.style.left = randx + "%";
			
			main.appendChild(b);	

			/* border boxes
			bb = document.createElement("div");
			bb.className = "bg_boxb";
			bb.id = "bb" + i + "," + j;	
			bb.style.top = (j * box_th) + "px";
			bb.style.left = (i * box_tw) + "px";
		  	
			main.appendChild(bb);
			*/			
			directions[i][j] = 0;
		}
	}
	
	for (i = 0; i < num_fades; i++) {
		fade_boxes[i] = new Array();
		fade_boxes[i]["x"] = -1;
		fade_boxes[i]["y"] = -1;
	}

	for (i = 0; i < num_fades; i++) {
		new_fade(i);
	}	
}	

function init() {
	init_boxes();
	//ie_correct();
}

function display_col(id) {
	var box = document.getElementById(id);
	box.style.display = "block";
}

function change_col(img, title) {
	display_col("frame_col");
	display_col("frame_img");
	document.getElementById("main_container").style.width = "980px";
	document.getElementById("frame_title").innerHTML = "/" + title;
	document.getElementById("frame_text").innerHTML = "";

	if (img.length > 0) {	
		document.getElementById("frame_img").src = "portfolio/" + img;
	}
	
	var indy = document.getElementById("indy");	
	if (indy) {
		indy.style.display = "none";
	}		
}

function change_col_text(img, title, text) {
	change_col(img, title);	
	document.getElementById("frame_text").innerHTML = text;		
}
	
function display_indy() {
	change_col("", "Harvard Independent");	
	display_col("indy");		
}
function indy_nextImage() {
	var new_num = document.getElementById("indy_img_num_u").innerHTML;
	var max_num = document.getElementById("indy_img_max_num").innerHTML; 	

	new_num--;
		
	if (new_num < 1) {
		new_num = max_num;	
	}
		
	var pnum = max_num - new_num + 1;
			
	var newSrc = "portfolio/indy_cover_" + new_num + ".jpg";
   	document.getElementById("indy_img").src = newSrc;					
	document.getElementById("indy_img_num").innerHTML = pnum + "/" + max_num;
	document.getElementById("indy_img_num_u").innerHTML = new_num;			
}

function indy_prevImage() {
	var new_num = document.getElementById("indy_img_num_u").innerHTML; 	
	var max_num = document.getElementById("indy_img_max_num").innerHTML;

	new_num++;
		
	if (new_num > max_num) {
		new_num = 1;	
	}
	
	var pnum = max_num - new_num + 1;
	
	var newSrc = "portfolio/indy_cover_" + new_num + ".jpg";
   	document.getElementById("indy_img").src = newSrc;					
	document.getElementById("indy_img_num").innerHTML = pnum + "/" + max_num;
	document.getElementById("indy_img_num_u").innerHTML = new_num;		
}

window.onload = init;	
