//FlowFunctions.js

function Float(url, width, height, newWindowName){
	
	if (Empty(url)){
		url = 'index.php';
	}
		
	if(Empty(width)){
		width = '800';
	}

	if(Empty(height)){
		height='600';
	}

	if(Empty(newWindowName)){
		newWindowName = 'popupWindow';
	}
	window.open(url,newWindowName,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=' + width + ',height=' + height + ',screenX=150,screenY=150,top=0,left=100');
	return false;
}

function Empty(item){
	if(item == "undefined"){
		return true;
	}else if(item == ''){
		return true;
	}else if(item == null){
		return true;
	}else{
		return false;
	}
}

function ParentExists(){
	if(window.opener){
		return true;
	}else{
		return false;
	}
}

function ParentIsDirty(){
	if(ParentExists){
		var status = window.opener.document.forms.CleanOrDirty.status; //the hidden form field with the status in it
		//alert(status.value);
		if (status.value == 'clean'){
			return false;
		}else{
			return true;
		}
	}else{
		alert('no parent'); //replace with a constant
	}
}

function SynchParentWindow(FormName){
	if(ParentExists() && ParentIsDirty()){
		var parentform = window.opener.document.forms[FormName];
		parentform.submit();
	}	
}

function ChangeState(objElement){
	//void?
	var TrackingElementName = objElement.name + "_hidden";
	var ParentForm = objElement.form;
	var TrackingElement = ParentForm[TrackingElementName];
	//compare the strings without regard to case...to do.
	if(objElement.value == TrackingElement.value){
		//do nothing
	}else{
		document.forms.CleanOrDirty.status.value = 'dirty';
	}

}

function RefreshParent(){
	var parentWindow = window.opener;
	parentWindow.location.reload();
	//parentWindow.location.href='maintain_users.php';
}

function CloseEditingWindow(){
	window.resizeTo(300, 100);
	RefreshParent();
	self.focus();
	setTimeout("CloseWin()", 5000);
	CloseWin();
	//myWin = window.document;
	//window.close(myWin);
}

function CloseWin(){
	myWin = window.document;
	window.close(myWin);
}

/*Image Protection below, from http://www.quirksmode.org */

var specialcase = ((navigator.userAgent.indexOf('Mac') != -1) || document.all)
var flag = 0;
var msg = 'This image is protected by copyright.\nWe request you not to copy it.';
var x,y,x1,y1,copyAttempt;

function init()
{
	if (!(document.getElementById || document.all || document.layers)) return;
	if (specialcase && document.layers)
	{
		document.captureEvents(Event.MOUSEMOVE);
		document.onmousemove = special;
	}
	for (i=0;i<document.images.length;i++)
	{
		document.images[i].onmousedown = checkIt;
		document.images[i].onmouseup = function() {return false};
		if (specialcase)
		{
			document.images[i].onmousemove = special;
			document.images[i].onclick = clearIt;
		}
	}
}

function checkIt(e)
{
	copyAttempt = 0;
	if (window.Event)
	{
		x = e.screenX;
		y = e.screenY;
		theButt = (e.which == 3);
	}
	else
	{
		x = window.event.clientX;
		y = window.event.clientY;
		theButt = (window.event.button == 2);
	}
	if (theButt)
	{
		copyAttempt = 1;
		flag = 0;
		alert(msg);
		return false; // NN4 only
	}
	if (specialcase) flag = 1;
	return false;
}

function special(e)
{
	theObj = '';
	if (window.Event)
	{
		x1 = e.screenX;
		y1 = e.screenY;
		if (e.target.parentNode) theObj = e.target.parentNode.tagName;
	}
	else
	{
		x1 = window.event.clientX;
		y1 = window.event.clientY;
		theObj = window.event.srcElement.parentElement.tagName;
	}
	var isLink = (theObj == 'A');
	if (flag && (!isLink || ((Math.abs(x-x1) > 10) || (Math.abs(y-y1) > 10))))
	{
		copyAttempt = 1;
		flag = 0;
		alert(msg);
		return false;
	}
}

function clearIt()
{
	flag = 0;
	if (copyAttempt)
	{
		copyAttempt = 0;
		return false;
	}
}