
    function addDescription() {

	var textareas = getTextAreas();
	var descriptbox = document.getElementById("descriptbox");
	var tadiv = document.createElement('div');
	tadiv.setAttribute('id', 'tadiv'+textareas);
	tadiv.setAttribute('class', 'tadiv');
	var ta = document.createElement('textarea');
	ta.setAttribute('name', 'desc'+textareas);
	ta.setAttribute('id', 'desc'+textareas);
	var rem = document.createElement('a');
	rem.setAttribute('id', 'rem'+textareas);
	rem.setAttribute('onclick', 'removeEl("tadiv'+textareas+'")');
//	rem.setAttribute('style', 'display:block;text-align:right');
	rem.appendChild(document.createTextNode('Remove this Text Area'));
//	tadiv.appendChild(document.createTextNode('Text Area id: desc'+textareas+' | '));
	tadiv.appendChild(rem);
	tadiv.appendChild(ta);
	descriptbox.appendChild(tadiv);
	/*
	tinyMCE.init({
	    mode : "textareas",
	    theme : "advanced",
	});
	*/

    }

    function getTextAreas() {

	// determine number of textareas in document
	var textareas = document.getElementsByTagName('textarea');
	return textareas.length;

    }

    function removeEl(el) {

	elm = document.getElementById(el);
	elm.parentNode.removeChild(elm);
	var textareas = document.getElementsByTagName('textarea');
	for (var i = 0; i < textareas.length; i++) {
	    textareas[i].setAttribute('id', 'desc'+i);
	    textareas[i].setAttribute('name', 'desc'+i);
	}
	for (var i = 0; i < textareas.length; i++) {
	    // alert(textareas[i].getAttribute('id'));
	}

    }

    function removeDescription(desc) {

	var desc = document.getElementById(desc);
	var i = 0;
	var str = '';
	while (desc.parentNode.childNodes[i]) {
	    str += desc.parentNode.childNodes[i].nodeName + ': ' + desc.parentNode.childNodes[i].nodeValue + "\n";
	    if (desc.parentNode.childNodes[i].hasChildNodes()) {
		    str += 'has children: ';
		    str += desc.parentNode.childNodes[i].firstChild.nodeName + "\n";
	    }
	    i++;
	}
	desc.parentNode.removeChild(desc);

    }

    function swapDesc() {

	switchDesc();
	/*
	var descA = document.getElementById('descA');
	var descB = document.getElementById('descB');
	if (descA.style.display == 'none') {
	    shiftleft('descB');
	} else {
	    shiftleft('descA');
	}
	*/
    }

    function switchDesc() {
	var descA = document.getElementById('descA');
	var descB = document.getElementById('descB');
	var swap = document.getElementById('swap');
	if (descA.style.display == 'none') {
	    descB.style.display = 'none';
	    descA.style.display = 'block';
        swap.innerHTML = '1 | <a onclick="swapDesc()">2</a>';
	} else {
	    descA.style.display = 'none';
	    descB.style.display = 'block';
        swap.innerHTML = '<a onclick="swapDesc()">1</a> | 2';
    }
    /*
	var a = document.createElement('a');
	a.setAttribute('onclick', 'swapDesc()');
	if (descA.style.display == 'none') {
	    descB.style.display = 'none';
	    descA.style.display = 'block';
	    swap.removeChild(swap.lastChild);
	    swap.removeChild(swap.lastChild);
	    swap.appendChild(document.createTextNode('1 | '));
	    a.appendChild(document.createTextNode('2'));
	    swap.appendChild(a);
	//    shiftright('descA');
	} else {
	    descA.style.display = 'none';
	    descB.style.display = 'block';
	    swap.removeChild(swap.lastChild);
	    swap.removeChild(swap.lastChild);
	    a.appendChild(document.createTextNode('1'));
	    swap.appendChild(a);
	    swap.appendChild(document.createTextNode(' | 2'));
	//   shiftright('descB');
	}
    */
    }

    var left = 0;
    var i = 0;
    var tween = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1); // all these numbers add up to 100
    var tween2 = new Array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1); // all these numbers add up to 55 

    function shiftleft(id) {
	left -= Math.round(tween2[i] * 300/55); 
	document.getElementById(id).style.left = left + 'px';
	i++;
	if(left > -300) {
            setTimeout("shiftleft('" + id + "')", 50);
	} else {
	    i=0;
	    left = -300;
	    switchDesc();
	}
    }

    function shiftright(id) {
	left += Math.round(tween2[i] * 300/55); 
	document.getElementById(id).style.left = left + 'px';
	i++;
	if(left < 0) {
            setTimeout("shiftright('" + id + "')", 50);
	} else {
	    document.getElementById(id).style.left = 0;
	    i=0;
	    left = 0;
	}
    }

    /*
    tinyMCE.init({
	mode : "textareas",
	theme : "advanced",
	//plugins : "safari,spellchecker,pagebreak,style,layer,table,save,advhr/advimage,advlink,emotions,iespell",

	// Theme options
//	theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull"
	//theme_advanced_buttons3_add : "tablecontrols",
	//table_styles : "Header 1=header1;Header 2=header2;Header3=header3",
	//table_cell_styles : "Header 1=header1;Header 2=header2;Header3=header3;Table Cell=tableCell",

	// CSS
	//content_css : "./css/styles.css"
    });
    */

    function step(bf, arraylength) {
	bf == "b" ? num-- : num++;
	num >= arraylength ? num = 0 : "";
	var limit = arraylength - 1;
	num < 0 ? num = limit : "";
	fadeout("image");
//	document.getElementById("image").src = jpgnames[num];
	var imgnum = document.getElementById("imgnum");
	imgnum.removeChild(imgnum.firstChild);
	imgnum.appendChild(document.createTextNode(num+1));
	var caption = document.getElementById("caption");
//	caption.removeChild(caption.firstChild);
	caption.innerHTML = captions[num];
//	num++;
    }

    function switchimg() {
	document.getElementById("image").src = jpgnames[num];
	fadein("image");
    }

    var opa = 9;

    function fadeout(id) {
	document.getElementById(id).style.opacity = "0." + opa;
	e = opa * 10;
	document.getElementById(id).style.filter = "alpha(opacity=" + e + ")";
	opa -= 3;
	if (opa >= 0) {
            setTimeout("fadeout('" + id + "')", 100);
	} else {
	    switchimg();
	}
    }

    function fadein(id) {
	document.getElementById(id).style.opacity = "0." + opa;
	e = opa * 10;
	document.getElementById(id).style.filter = "alpha(opacity=" + e + ")";
	opa += 3;
	if (opa <= 10) {
            setTimeout("fadein('" + id + "')", 100);
	} else {
	    document.getElementById(id).style.opacity = "1";
	    document.getElementById(id).style.filter = "alpha(opacity=100)";
	    opa = 9;
	}
    }


    // SELECT BOX FUNCTION
    //
    function selectopts() {

	var tlw1 = document.getElementById("tlw1");
	tlw1.style.background = "#7790aa";
	tlw1.style.color = "#fff";
	var tlw2 = document.getElementById("tlw2");
	tlw2.style.background = "#7790aa";
	tlw2.style.color = "#fff";

    }

    function selectoff() {

	var tlw1 = document.getElementById("tlw1");
	tlw1.style.background = "none";
	tlw1.style.color = "#fff";
	var tlw2 = document.getElementById("tlw2");
	tlw2.style.background = "none";
	tlw2.style.color = "#fff";

    }

    // navbar swap title
    
    var curtitle;

    function swaph2(title) {

	curtitle = document.getElementById("pich2").innerHTML;
	document.getElementById("pich2").innerHTML = title;

    }

    function restoreh2() {

	document.getElementById("pich2").innerHTML = curtitle;

    }

    function loadfns() {

	startbgcolours();
//	chColour();
	startList();

    }

    // enables css suckerfish menu in IE using javascript
    startList = function() {
	if(document.all && document.getElementById) {
	    navRoot = document.getElementById("nav");
	    for(i = 0; i < navRoot.childNodes.length; i++) {
		node = navRoot.childNodes[i];
		if(node.nodeName == "LI") {
		    node.onmouseover = function() {
			this.className += " over";
		    }
		    node.onmouseout = function() {
			this.className = this.className.replace(" over", '');
		    }
		}
	    }
	}
    }

    function startbgcolours() {

	setTimeout("chColour()", Math.round(Math.random()*5000));

    }

    // 0 1 2 3 4 5 6 7 8 9 a b c d e f 0 1 2 3 4 5 6 7 8 9 a b c d e f
    //       |               *               |
    //         |               *               |
    //           |               *               |
    //var bgcolours = new Array("#800", "#693", "#ca0", "#235", "#569", "#aa7", "#430", "#c66");
    //var bgcolours = new Array("#334466", "#445566", "#334455", "#333366", "#444466");
    //var bgcolours = new Array("#334466", "#3b4c66", "#33445d", "#333c66", "#3b4466");

    var bgelements = new Array();
    bgelements[0] = new Array("33", "2b", "3b");
    bgelements[1] = new Array("44", "3c", "4c");
    bgelements[2] = new Array("66", "5e", "6e");

    function makebgcolour() {
	var bgstr = '';
	var bgl;
	for (var i = 0; i < 3; i++) {
	    bgl = bgelements[i];
	    bgstr += bgl[Math.floor(Math.random() * 3)];
	}
	var bgcolours = "#" + bgstr;
	return bgcolours;
    }

    function chColour() {
	
	bgcolour = makebgcolour();
	document.getElementsByTagName("body")[0].style.background = bgcolour;
	if (document.getElementById("pich2")) document.getElementById("pich2").style.background = bgcolour;
	if (document.getElementById("ul1")) document.getElementById("ul1").style.background = bgcolour;
	if (document.getElementById("ul2")) document.getElementById("ul2").style.background = bgcolour;
	if (document.getElementById("onlineprojects")) document.getElementById("onlineprojects").style.background = bgcolour;
	if (document.getElementById("video")) document.getElementById("video").style.background = bgcolour;
	if (document.getElementById("nav")) {
	    var nav = document.getElementById("nav");
	    var str = '';
	    for (var j = 0; j < nav.childNodes.length; j++) {
		if (nav.childNodes[j].nodeName == 'LI') {
		    nav.childNodes[j].style.background = bgcolour;
		    if (nav.childNodes[j].hasChildNodes) {
			var navli = nav.childNodes[j];
			for (var k = 0; k < navli.childNodes.length; k++) {
			    if (navli.childNodes[k].nodeName == 'UL') {
				navli.childNodes[k].style.background = bgcolour;
				if (navli.childNodes[k].hasChildNodes) {
				    var navul = navli.childNodes[k];
				    for (var l = 0; l < navul.childNodes.length; l++) {
					if (navul.childNodes[l].nodeName == 'LI') {
					    navul.childNodes[l].style.background = bgcolour;
					}
				    }
				}
			    }
			}
		    }
		}
	    }
	}
	setTimeout("chColour()", Math.round(Math.random()*5000));

    }

    /*
    // IN NEW WINDOW
    function launchvideo(url) {

	window.open("./video.php?url=" + url, "videoWindow", "resizable=no, scrollbars=no, status=no, toolbar=no, location=no, width=400, height=325");

    }
    */

    function closevideo() {

	var el = document.getElementById("vidobj");
	el.parentNode.removeChild(el);
	document.getElementById("video").style.display = "none";

    }

