/***********************************************************
This API was put together by David J. Beall, davidbeall.com
It is a collection of my favorite effects from various sites
************************************************************/

// break free of frames
// if (window != top) top.location.href = location.href;

// browser check
isNS = (document.layers) ? true : false;
isIE = (document.all) ? true : false;
isW3C = (document.getElementById) ? true : false;

// ---------- BEGIN STYLE CHANGING FUNCTIONS ----------

function swapImg(id, src) {
	var obj = document.getElementById(id);
	if(obj) {obj.setAttribute('src',src); return true;} else {return false;}
}

function swapText(id, nm, txt) {
	var obj = document.getElementById(id);
	if(nm>""){obj.getElementsByTagName(nm);}
	obj.createTextNode(txt);
}

function clearHTML(parent, id, nm) {
	var pobj = document.getElementById(parent);
	var obj = document.getElementById(id);
	if(!obj && nm>""){obj = pobj.getElementsByTagName(nm).item(0);}
	pobj.removeChild(obj);
	//obj.innerHTML = "";
}

function addHTML(id, tag, txt, att, val) {
	var obj = document.getElementById(id);
	if(!obj){return false;}
	var oL = document.createElement(tag);
	if(txt>""){oL.appendChild(document.createTextNode(txt));}
	oL.setAttribute(att,val);
	obj.appendChild(oL);
}

function addHTML2(id, tag, txt, att, val) {
	var obj = document.getElementById(id);
	if(!obj){return false;}
	var atts = Array(att);
	var vals = Array(val);
	if(atts.length != vals.length){return false;}
	var oL = document.createElement(tag);
	if(txt>""){oL.appendChild(document.createTextNode(txt));}
	for (i=0; i<atts.length; i++) {
		oL.setAttribute(atts.item(i),vals.item(i));
	}
	obj.appendChild(oL);
}

function getObject(id) {
	if(isW3C && document.getElementById(id)) {return document.getElementById(id).style;}
	else if (isIE && document.all(id)) {return document.all(id).style;}
	else if (isNS && document.layers[id]) {return document.layers[id];}
	else {return false;}
}

function changeVis(id, newVis) {
	var myElement = getObject(id);
	if(myElement) {myElement.visibility = newVis; return true;}
	else {return false;}
}

function changeDis(id, newDis) {
	var myElement = getObject(id);
	if(myElement) {myElement.display = newDis; return true;}
	else {return false;}
}

function changeZ(id, newZ) {
	var myElement = getObject(id);
	if(myElement) {myElement.zIndex = newZ; return true;}
	else {return false;}
}

function moveIt(id, newX, newY) { // left out px in case need to use %
	var myElement = getObject(id);
	if(myElement) {
	myElement.left = newX;
	myElement.top = newY;
	return true;
	}
	else {return false;}
}

function moveBy(id, incX, incY) {
	var myElement = getObject(id);
	if(myElement) {
	myElement.left = parseInt(myElement.left) + incX;
	myElement.top = parseInt(myElement.top) + incY;
	return true;
	}
	else {return false;}
}

function setBgColor (id, color){
	var myElement = getObject(id);
	if(myElement) {myElement.backgroundColor = color; return true;}
	else {return false;}
}

function setVal (id, message){
	var myElement = getObject(id);
	if(myElement) {myElement.value = message; return true;}
	else {return false;}
}

function setBgImage (id, imagePath){
	var myElement = getObject(id);
	if(myElement) {myElement.backgroundImage = "url('"+imagePath+"')"; return true;}
	else {return false;}
}

function setBorderStyle (id, bStyle){
	var myElement = getObject(id);
	if(myElement) {
	if (myElement.borderWidth=="") myElement.borderWidth="1px";
	myElement.borderStyle = bStyle; return true;
	}
	else {return false;}
}

function setBorderWidth (id, bWidth){
	var myElement = getObject(id);
	if(myElement) {
	if (!myElement.borderStyle || myElement.borderStyle=="none") myElement.borderStyle = "solid";
	myElement.borderWidth = bWidth + "px"; return true;
	}
	else {return false;}
}

function setBorderColor (id, bColor){
	var myElement = getObject(id);
	if(myElement) {myElement.borderColor = bColor; return true;}
	else {return false;}
}

function setHTML (id){
	var myElement = document.getElementById(id);
	var text = document.getElementById("html").value;
	myElement.innerHTML = text;
	document.getElementById("html").value = "";
}

function getHTML (id){
	var myElement = document.getElementById(id);
	var text = myElement.innerHTML;
	document.getElementById("html").value = text;
}

function resize(id, width, height){
	var myElement = getObject(id);
	if(myElement) {
	myElement.width = width + "px";
	myElement.height = height + "px";
	return true;
	}
	else {return false;}
}

function getSize (id){
	var myElement = getObject(id);
	if(myElement) {
	var w = myElement.width;
	var h = myElement.height;
	// alert("This layer is " + w + " by " + h + " in area.");
	return true;
	}
	else {return false;}
}

function setOverFlow (id, type){
	var myElement = getObject(id);
	if(myElement) {myElement.overflow = type; return true;}
	else {return false;}
}

function getClipValues(element){
	var clip = element.style.clip // assumes you've already set a clip value
	var clipVals = clip.split("rect(")[1].split(" ");
	for (var i=0;i<clipVals.length;i++){
		clipVals[i] = parseInt(clipVals[i]);
	}
	return clipVals;
}

function createNewClip(clipVals){
	var newClip = "rect(";
	for (var i=0;i<clipVals.length;i++){
		newClip += clipVals[i] + "px ";
	}
	newClip += ")";
	return newClip;
}

function clipInward(id){
	var myElement = document.getElementById(id);
	var clipVals = getClipValues(myElement);
	clipVals[0] += 10;
	clipVals[1] -= 10;
	clipVals[2] -= 10;
	clipVals[3] += 10;
	var newClip = createNewClip(clipVals);
	myElement.style.clip = newClip;
}

function clipOutward(id){
	var myElement = document.getElementById(id);
	var clipVals = getClipValues(myElement);
	clipVals[0] -= 10;
	clipVals[1] += 10;
	clipVals[2] += 10;
	clipVals[3] -= 10;
	var newClip = createNewClip(clipVals);
	myElement.style.clip = newClip;
}

// ---------- BEGIN WINDOW FUNCTIONS ----------

var resW = window.screen.availWidth;
var resH = window.screen.availHeight;

function fullScreen() {
	window.moveTo(0,0);
	window.resizeTo(resW,resH);
	}

function openWin(URL,width,height,name) {
	var LeftP=(resW-width)/2;
	var TopP=(resH-height)/2;
	if(name = "") {name = "pop"} else {name = name};
	var windowOptions;
	windowOptions = "directories=0,menubar=0,personalbar=0,status=0,location=0,titlebar=0,toolbar=0,resizable=0,scrollbars=0"
	windowOptions += ",width=" + width + ",height=" + height + ",left=" + LeftP + ",top=" + TopP
	window.open(URL,name,windowOptions)
	}

function openWin2(URL,width,height,name) {
	var LeftP2=(resW-width)/2;
	var TopP2=(resH-height)/2;
	if(name = "") {name = "pop2"} else {name = name};
	var windowOptions2;
	windowOptions2 = "directories=0,menubar=0,personalbar=0,status=0,location=0,titlebar=0,toolbar=0,resizable=1,scrollbars=1"
	windowOptions2 += ",width=" + width + ",height=" + height + ",left=" + LeftP2 + ",top=" + TopP2
	window.open(URL,name,windowOptions2)
	}

// ---------- BEGIN CUSTOM FUNCTIONS ----------

function countdown() {
	var now = new Date();
	var then = new Date("January 15, 2003");
	var gap = then.getTime() - now.getTime();
	gap = Math.floor(gap / (1000 * 60 * 60 * 24));
	document.write("<center>Only " + gap + " days away!</center>");
}

function hideMenus() {
	changeVis('nav_about','hidden');
	changeVis('nav_design','hidden');
	changeVis('nav_digital','hidden');
	changeVis('nav_photo','hidden');
	changeVis('nav_audio','hidden');
	changeVis('nav_visual','hidden');
}

/********************************************************
End API
*********************************************************/
