//var undefined;

function ajaxRequest(){
 var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
 if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
  for (var i=0; i<activexmodes.length; i++){
   try{
    return new ActiveXObject(activexmodes[i])
   }
   catch(e){
    //suppress error
   }
  }
 }
 else if (window.XMLHttpRequest) // if Mozilla, Safari etc
  return new XMLHttpRequest()
 else
  return false
}


function getWorks() {
	
	var xhr = new ajaxRequest();
    
    xhr.onreadystatechange=function() {
        if (xhr.readyState == 4) {
            // do stuff when server responds
            var the_response = xhr.responseText;
            if (the_response) {
			//alert(the_response);
			theworks = the_response;
			// if (imgpage == true) {
				// subgroup_start();
			// }
			//return "hello";//the_response;
			}
        }
    }
    var parameters = "";
    xhr.open('POST', 'scripts/works.php', true);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.setRequestHeader("Content-length", parameters.length);
    xhr.setRequestHeader("Connection", "close");
    xhr.send(parameters);
}

function insertAfter(referenceNode, newNode)
{
    referenceNode.parentNode.insertBefore( newNode, referenceNode.nextSibling );
}

function getNextPos() {
	var lastpos = document.getElementsByTagName('input');
	var i = lastpos.length - 1;
	var the_lastpos = 0;
	while (i >= 0) {
		if ((lastpos[i].id.substr(0,3) == 'pos') && (lastpos[i].value >> the_lastpos)) {
			the_lastpos = lastpos[i].value;
		}
		i--;
	}
	the_lastpos++;
	return the_lastpos;
}

function changePosAbove(pos) {
	var inputs = document.getElementsByTagName('input');
	var i = inputs.length - 1;
	while (i >= 0) {		
		if ((inputs[i].id.substr(0,3) == 'pos') && (parseInt(inputs[i].value) >= pos)) {
				inputs[i].value = parseInt(inputs[i].value) + 1;
			}
		// switch(inputs[i].id.substr(0,3)) {
			// case :
		// }
		var old_id_num = inputs[i].id.slice(4);
		//alert("oldnum-"+old_id_num);
		if (old_id_num >= pos) {
			var new_id_num = parseInt(old_id_num) + 1;
			//alert("newnum-"+new_id_num);
			inputs[i].id = inputs[i].id.substr(0,4) + new_id_num;
		}
		i--;
		}
		
}

function changePosBelow(pos) {
	var inputs = document.getElementsByTagName('input');
	var i = inputs.length - 1;
	while (i >= 0) {		
		
		// Change the position values on editlinks page.
		if ((inputs[i].id.substr(0,3) == 'pos') && (parseInt(inputs[i].value) > pos)) {
				var new_num = parseInt(inputs[i].value) + 1;
				inputs[i].value = new_num;
			}
		
		// Alter the ids of the fields to be passed to editlinks script.
		switch (inputs[i].id.substr(0,3)) {
			case "pos":
				inputs[i].id = inputs[i].id.substr(0,4)+new_num;
				inputs[i].name = inputs[i].id.substr(0,4)+new_num;
				break;
			case "lab":
				inputs[i].id = inputs[i].id.substr(0,6)+new_num;
				inputs[i].name = inputs[i].id.substr(0,6)+new_num;
				break;
			case "hre":
				inputs[i].id = inputs[i].id.substr(0,5)+new_num;
				inputs[i].name = inputs[i].id.substr(0,5)+new_num;
				break;
			case "tex":
				inputs[i].id = inputs[i].id.substr(0,11)+new_num;
				inputs[i].name = inputs[i].id.substr(0,11)+new_num;
				break;
			case "id-":
				inputs[i].id = inputs[i].id.substr(0,3)+new_num;
				inputs[i].name = inputs[i].id.substr(0,3)+new_num;
				break;
		}
				
		i--;		
		}
		
		var anchors = document.getElementsByTagName('a');
		var j = anchors.length - 1;
		
		while (j >= 0) {
		//anchors['j'].onclick = "javascript:aboveLinks('poo')";
			if (typeof anchors[j].id != 'undefined') {
				var anc_pos = anchors[j].id.split('-');
			}
			//alert(anc_pos[0]);
			if ((anchors[j].id.substr(0,3) == 'abv') && (parseInt(anc_pos[1]) > pos)) {
				anchors[j].onclick = "javascript:aboveLinks('')";
				alert(new_num);
			}
			if ((anchors[j].id.substr(0,3) == 'blw') && (parseInt(anc_pos[1]) > pos)) {
				anchors[j].onclick = "javascript:belowLinks('')";
			}
		j--;
		}
		
}

	function addLinksRow() {
		var the_table = document.getElementsByTagName("tbody")[0];
		
		var row = document.createElement('tr');
		the_table.appendChild(row);
		
		var td1 = document.createElement('td');
		td1.setAttribute("class", "imglist");
		var input1 = document.createElement('input');
		input1.setAttribute("type", "text");
		input1.setAttribute("size", "2");
		input1.setAttribute("value", getNextPos());
		input1.setAttribute("id", "pos-"+input1.value);
		input1.setAttribute("name", "pos-"+input1.value);
		td1.appendChild(input1);
		
		var td2 = document.createElement('td');
		td2.setAttribute("class", "imglist");
		var input2 = document.createElement('input');
		input2.setAttribute("type", "text");
		input2.setAttribute("id", "label-"+input1.value);
		input2.setAttribute("name", "label-"+input1.value);
		td2.appendChild(input2);
		
		var td3 = document.createElement('td');
		td3.setAttribute("class", "imglist");
		var input3 = document.createElement('input');
		input3.setAttribute("type", "text");
		input3.setAttribute("id", "href-"+input1.value);
		input3.setAttribute("name", "href-"+input1.value);
		td3.appendChild(input3);
		
		var td4 = document.createElement('td');
		td4.setAttribute("class", "imglist");
		var selectbox = document.createElement('select');
		selectbox.setAttribute("name", "text_align-"+input1.value);
		selectbox.innerHTML = "<option value='center'>Centered</option><option value='Justify'>Justified</option><option value='left'>Left</option><option value='right'>Right</option>";
		td4.appendChild(selectbox);
		
		var hidden = document.createElement('input');
		hidden.setAttribute("type", "hidden");
		hidden.setAttribute("value", "true");
		hidden.setAttribute("id", "new-"+input1.value);
		hidden.setAttribute("name", "new-"+input1.value);
		td3.appendChild(hidden);
		
		var td5 = document.createElement('td');
		td5.setAttribute("class", "imglist");
		td5.innerHTML = "&nbsp;";
		
		row.appendChild(td1);
		row.appendChild(td2);
		row.appendChild(td3);
		row.appendChild(td4);
		row.appendChild(td5);
		
		var rownum = document.getElementById('rownum');
		var old_rownum = parseInt(rownum.value);
		var new_rownum = old_rownum + 1;
		rownum.value = new_rownum;
	}
	
	function aboveLinks(pos) {	
		changePosAbove(pos);
		var the_row = document.getElementById(pos);
		
		var new_row = document.createElement('tr');

		var td1 = document.createElement('td');
		td1.setAttribute("class", "imglist");
		var input1 = document.createElement('input');
		input1.setAttribute("type", "text");
		input1.setAttribute("size", "2");
		input1.setAttribute("value", pos);
		input1.setAttribute("id", "pos-"+input1.value);
		input1.setAttribute("name", "pos-"+input1.value);
		td1.appendChild(input1);
		
		var td2 = document.createElement('td');
		td2.setAttribute("class", "imglist");
		var input2 = document.createElement('input');
		input2.setAttribute("type", "text");
		input2.setAttribute("id", "label-"+input1.value);
		input2.setAttribute("name", "label-"+input1.value);
		td2.appendChild(input2);
		
		var td3 = document.createElement('td');
		td3.setAttribute("class", "imglist");
		var input3 = document.createElement('input');
		input3.setAttribute("type", "text");
		input3.setAttribute("id", "href-"+input1.value);
		input3.setAttribute("name", "href-"+input1.value);
		td3.appendChild(input3);
		
		var td4 = document.createElement('td');
		td4.setAttribute("class", "imglist");
		var selectbox = document.createElement('select');
		selectbox.setAttribute("name", "text_align-"+input1.value);
		selectbox.innerHTML = "<option value='center'>Centered</option><option value='Justify'>Justified</option><option value='left'>Left</option><option value='right'>Right</option>";
		td4.appendChild(selectbox);
		
		var hidden = document.createElement('input');
		hidden.setAttribute("type", "hidden");
		hidden.setAttribute("value", "true");
		hidden.setAttribute("id", "new-"+input1.value);
		hidden.setAttribute("name", "new-"+input1.value);
		td3.appendChild(hidden);
		
		var td5 = document.createElement('td');
		td5.setAttribute("class", "imglist");
		td5.innerHTML = "<a href='#' onClick='javascript:aboveLinks("+pos+")'>above</a><hr /><a href='#' onClick='javascript:belowLinks("+pos+")'>below</a>";
		
		var td6 = document.createElement('td');
		td6.setAttribute("class", "imglist");
		td6.innerHTML = "&nbsp;";
		
		the_row.parentNode.insertBefore(new_row, the_row);
		
		new_row.appendChild(td1);
		new_row.appendChild(td2);
		new_row.appendChild(td3);
		new_row.appendChild(td4);
		new_row.appendChild(td5);		
		new_row.appendChild(td6);
		
		var rownum = document.getElementById('rownum');
		var old_rownum = parseInt(rownum.value);
		var new_rownum = old_rownum + 1;
		rownum.value = new_rownum;
	}
	
	function belowLinks(pos) {
		new_pos = pos + 1;
		changePosBelow(pos);
		var the_row = document.getElementById(pos);
		
		var new_row = document.createElement('tr');

		var td1 = document.createElement('td');
		td1.setAttribute("class", "imglist");
		var input1 = document.createElement('input');
		input1.setAttribute("type", "text");
		input1.setAttribute("size", "2");
		input1.setAttribute("value", new_pos);
		input1.setAttribute("id", "pos-"+input1.value);
		input1.setAttribute("name", "pos-"+input1.value);
		td1.appendChild(input1);
		
		var td2 = document.createElement('td');
		td2.setAttribute("class", "imglist");
		var input2 = document.createElement('input');
		input2.setAttribute("type", "text");
		input2.setAttribute("id", "label-"+input1.value);
		input2.setAttribute("name", "label-"+input1.value);
		td2.appendChild(input2);
		
		var td3 = document.createElement('td');
		td3.setAttribute("class", "imglist");
		var input3 = document.createElement('input');
		input3.setAttribute("type", "text");
		input3.setAttribute("id", "href-"+input1.value);
		input3.setAttribute("name", "href-"+input1.value);
		td3.appendChild(input3);
		
		var td4 = document.createElement('td');
		td4.setAttribute("class", "imglist");
		var selectbox = document.createElement('select');
		selectbox.setAttribute("name", "text_align-"+input1.value);
		selectbox.innerHTML = "<option value='center'>Centered</option><option value='Justify'>Justified</option><option value='left'>Left</option><option value='right'>Right</option>";
		td4.appendChild(selectbox);
		
		var hidden = document.createElement('input');
		hidden.setAttribute("type", "hidden");
		hidden.setAttribute("value", "true");
		hidden.setAttribute("id", "new-"+input1.value);
		hidden.setAttribute("name", "new-"+input1.value);
		td3.appendChild(hidden);
		
		var td5 = document.createElement('td');
		td5.setAttribute("class", "imglist");
		td5.innerHTML = "<a href='#' id= onClick='javascript:aboveLinks("+new_pos+")'>above</a><hr /><a href='#' onClick='javascript:belowLinks("+new_pos+")'>below</a>";
		
		var td6 = document.createElement('td');
		td6.setAttribute("class", "imglist");
		td6.innerHTML = "&nbsp;";
		
		insertAfter(the_row, new_row);
		
		new_row.appendChild(td1);
		new_row.appendChild(td2);
		new_row.appendChild(td3);
		new_row.appendChild(td4);
		new_row.appendChild(td5);		
		new_row.appendChild(td6);

		var rownum = document.getElementById('rownum');
		var old_rownum = parseInt(rownum.value);
		var new_rownum = old_rownum + 1;
		rownum.value = new_rownum;
		
		//changePosBelow(pos);
	}
	
	function addExhibitionsRow() {
		var the_table = document.getElementsByTagName("tbody")[0];
		
		var row = document.createElement('tr');
		the_table.appendChild(row);
		
		var td1 = document.createElement('td');
		td1.setAttribute("class", "imglist");
		var input1 = document.createElement('input');
		input1.setAttribute("type", "text");
		input1.setAttribute("size", "2");
		input1.setAttribute("value", getNextPos());
		input1.setAttribute("id", "pos-"+input1.value);
		input1.setAttribute("name", "pos-"+input1.value);
		td1.appendChild(input1);
		
		var td2 = document.createElement('td');
		td2.setAttribute("class", "imglist");
		var input2 = document.createElement('input');
		input2.setAttribute("type", "text");
		input2.setAttribute("id", "text-"+input1.value);
		input2.setAttribute("name", "text-"+input1.value);
		input2.setAttribute("size", "40");
		td2.appendChild(input2);
		
		// var td3 = document.createElement('td');
		// td3.setAttribute("class", "imglist");
		// var selectbox = document.createElement('select');
		// selectbox.setAttribute("name", "text_align-"+input1.value);
		// selectbox.innerHTML = "<option value='center'>Centered</option><option value='Justify'>Justified</option><option value='left' selected='selected'>Left</option><option value='right'>Right</option>";
		// td3.appendChild(selectbox);		
		
		var td3 = document.createElement('td');
		td3.setAttribute("class", "imglist");
		var selectbox1 = document.createElement('select');
		selectbox1.setAttribute("name", "title-"+input1.value);
		selectbox1.innerHTML = "<option value='no'>No</option><option value='yes'>Yes</option>";
		td3.appendChild(selectbox1);
		// var input3 = document.createElement('input');
		// input3.setAttribute("type", "text");
		// input3.setAttribute("id", "title-"+input1.value);
		// input3.setAttribute("name", "title-"+input1.value);
		// input3.setAttribute("size", "3");

		
		var td4 = document.createElement('td');
		td4.setAttribute("class", "imglist");
		var selectbox2 = document.createElement('select');
		selectbox2.setAttribute("name", "new_tr-"+input1.value);
		selectbox2.innerHTML = "<option value='no'>No</option><option value='yes'>Yes</option>";
		td4.appendChild(selectbox2);
		
		// var input4 = document.createElement('input');
		// input4.setAttribute("type", "text");
		// input4.setAttribute("id", "new_tr-"+input1.value);
		// input4.setAttribute("name", "new_tr-"+input1.value);
		// input4.setAttribute("size", "3");
		
		
		var hidden = document.createElement('input');
		hidden.setAttribute("type", "hidden");
		hidden.setAttribute("value", "true");
		hidden.setAttribute("id", "new-"+input1.value);
		hidden.setAttribute("name", "new-"+input1.value);
		td3.appendChild(hidden);
		
		var td5 = document.createElement('td');
		td5.setAttribute("class", "imglist");
		td5.innerHTML = "&nbsp;";
		
		row.appendChild(td1);
		row.appendChild(td2);
		row.appendChild(td3);
		row.appendChild(td4);
		row.appendChild(td5);
		
		var rownum = document.getElementById('rownum');
		var old_rownum = parseInt(rownum.value);
		var new_rownum = old_rownum + 1;
		rownum.value = new_rownum;
	}
	
	function addAboutRow() {
		var the_table = document.getElementsByTagName("tbody")[0];
		
		var row = document.createElement('tr');
		the_table.appendChild(row);
		
		var td1 = document.createElement('td');
		td1.setAttribute("class", "imglist");
		var input1 = document.createElement('input');
		input1.setAttribute("type", "text");
		input1.setAttribute("size", "2");
		input1.setAttribute("value", getNextPos());
		input1.setAttribute("id", "pos-"+input1.value);
		input1.setAttribute("name", "pos-"+input1.value);
		td1.appendChild(input1);
		
		var td2 = document.createElement('td');
		td2.setAttribute("class", "imglist");
		var textarea = document.createElement('textarea');
		textarea.setAttribute("style", "width:350px;height:70px;");
		textarea.setAttribute("name", "text-"+input1.value);
		td2.appendChild(textarea);
		
		var td3 = document.createElement('td');
		td3.setAttribute("class", "imglist");
		var selectbox = document.createElement('select');
		selectbox.setAttribute("name", "text_align-"+input1.value);
		selectbox.innerHTML = "<option value='center'>Centered</option><option value='Justify'>Justified</option><option value='left'>Left</option><option value='right'>Right</option>";
		td3.appendChild(selectbox);
		
		var hidden = document.createElement('input');
		hidden.setAttribute("type", "hidden");
		hidden.setAttribute("value", "true");
		hidden.setAttribute("id", "new-"+input1.value);
		hidden.setAttribute("name", "new-"+input1.value);
		td3.appendChild(hidden);
		
		var td4 = document.createElement('td');
		td4.setAttribute("class", "imglist");
		
		row.appendChild(td1);
		row.appendChild(td2);
		row.appendChild(td3);
		row.appendChild(td4);
		
		var rownum = document.getElementById('rownum');
		var old_rownum = parseInt(rownum.value);
		var new_rownum = old_rownum + 1;
		rownum.value = new_rownum;
	}
	
	function newcat() {
		var cat = document.getElementById("catagory");
		cat.innerHTML = "<input type='text' id='catagory' name='catagory' />";
	}


	
	function helpAbout() {
		var help_span = document.getElementById('help');
		help_span.innerHTML = "blah blah blah<p><a href=''onClick='helpAboutClose();return false;'>close</a></p>";
	}
	function helpAboutClose() {
		var help_span = document.getElementById('help');
		help_span.innerHTML = "<a href='' onClick='helpAbout();return false;'>help</a>";
	}
	
	function helpLinks() {
		var help_span = document.getElementById('help');
		help_span.innerHTML = "blah blah blah<p><a href=''onClick='helpAboutClose();return false;'>close</a></p>";

	}
	function helpLinksClose() {
		var help_span = document.getElementById('help');
		help_span.innerHTML = "<a href='' onClick='helpLinks();return false;'>help</a>";
	}
	
	function sortImage() {
		var the_image = document.getElementById('the_image');
		var old_width = the_image.width;
		if (old_width > 585) {
			var ratio = 500 / old_width;
			var new_height = the_image.height * ratio;
			new_height = Math.floor(new_height);
			the_image.setAttribute("style", "height:"+new_height+"px");
		}
		
	}

var theworks = "";
window.onload = getWorks;
var boxpos = "closed";

function subgroup_start(){
        var theSpan = document.getElementById('works_list');
        theSpan.innerHTML = theworks;
        boxpos = "open";
}

function subgroup() {
    var theSpan = document.getElementById('works_list');
    if (boxpos == "closed") {
        theSpan.innerHTML = theworks;
        boxpos = "open";
    } else if (boxpos == "open") {
        theSpan.innerHTML = "";
        boxpos = "closed";
    }

}