// CW Javascript Library

function hiliteCell(cell) {
	cell.bgColor = "#FFFFFF";
}

function resetCell(cell) {
	cell.bgColor = headerColor;
}
function go(url) {
    if (url.substr(0,1) == "/") {
		var newurl = site_url + url;
	} else {
		var newurl = site_url + "/" + url;
	}

	document.location.href = newurl;
}

function submitonce(theform){
	if (document.all || document.getElementById) {
		for (i=0; i<theform.length; i++){
			var tempobj = theform.elements[i];
			if(tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset") {
				tempobj.disabled=true;
			}
		}
	}
}

function checkAll(form, allbox){
  for (var i = 0; i < form.elements.length; i++) {
    var e = form.elements[i];
    if ((e.name != allbox.name) && (e.type == 'checkbox')) {
		e.checked = allbox.checked;
    }
  }
}

function getObj(name) {
	if (document.getElementById(name)) {
		return document.getElementById(name);
	} else if (document.all[name]) {
		return document.all[name];
	} else {
		return false;
	}
}

function openwin(url) {
	window.open(url, "cw_popup", "fullscreen=no,toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,directories=no,location=no,width=350,height=400");
	return false;
}

var currPopup;
function cwPopupShow(name) {
	if (currPopup) {
		cwPopupClose(currPopup);
	}

	var popup = $('Popup_' + name);
	new Effect.Appear(popup, {duration:0.3});

	var d = popup.getDimensions();
	centerObject(popup, d.width, d.height);
}
function cwPopupClose(name) {
	var popup = $('Popup_' + name);
	new Effect.Fade(popup, {duration:0.3});
	currPopup = '';
}

// draggable windows are the new thing, forget those old popups!
function draggableWindowShow(name) {
	var dragwindow = $(name);
	var d = dragwindow.getDimensions();
	new Effect.Appear(dragwindow, {duration:0.4});
	dragwindow.style.left='250px';
	dragwindow.style.top='325px';
	//centerObject(dragwindow, d.width, d.height);
}
function draggableWindowHide(name) {
	var dragwindow = $(name);
	new Effect.Fade(dragwindow, {duration:0.3});
}
	

function startLoading() {
	Element.show("loading");
	centerObject($("loading"), 100, 30);
}
function stopLoading() {
	Element.hide("loading");
}

function ajaxError(r) {
	alert("AJAX error: " + r.status + " - " + r.responseText);
}

function centerObject(obj, w, h) {
	var winW = 630; var winH = 460;
	var scrollX = 0; var scrollY = 0;

	if (parseInt(navigator.appVersion)>3) {
		if (navigator.appName=="Netscape") {
			winW = window.innerWidth;
			winH = window.innerHeight;
	
			scrollX = window.scrollX;
			scrollY = window.scrollY;
		}
		if (navigator.appName.indexOf("Microsoft")!=-1) {
			winW = document.body.offsetWidth;
			winH = document.body.offsetHeight;

			scrollX = document.documentElement.scrollLeft + document.body.scrollLeft;
			scrollY = document.documentElement.scrollTop + document.body.scrollTop;
		}
	}
	
	var newLeft = (winW / 2) - (w / 2) + scrollX;
	obj.style.left = newLeft + 'px';

	var newTop = (winH / 2) - (h / 2) + scrollY;
	obj.style.top = newTop + 'px';
}

function findPosX(obj) {
	var currleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			currleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		currleft += obj.x;
	}
	return currleft;
}
function findPosY(obj) {
	var currtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			currtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		currleft += obj.y;
	}
	return currtop;
}

function switchFormValue(element, content) {
	var thing = $(element);
	thing.value=content;
}

function switchImage (img, imgsrc) {
	var obj = getObj(img);
	obj.src = imgsrc;
}

function AJAXupdate (url, div, code) {
	var R = new Ajax.Request(url, {onSuccess: function (r) { $(div).innerHTML=r.responseText; eval(code); }, onFailure: ajaxError, parameters: 'ajax=1'});
	//new Ajax.Updater(div, url, {parameters: 'ajax=1', onSuccess: Lightview.updateViews()});
}