function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

var newWindow;
function addEvent(path, date) { 
    self.name = "opener";
    var url ;
    var form = document.forms[0]; 
    var type = form.apttype.value;
    
    if ( ! date ) { 
        var cal = new Date();
        var y = form.year.value || cal.getFullYear();
        var m = form.month.value || cal.getMonth();
        var d = form.day.value || cal.getDate();
        
        date = m + '/' + d +'/' + y;
    }
    url = path + "?date=" + date + ';apttype=' + type;
    //alert("url=" + url);
    if (!newWindow || newWindow.closed || newWindow.blur()) { 
        newWindow = window.open(url, "event", "height=450,width=760,scrollbars,resizable")
    } 
    else { 
        newWindow.location.href=url; 
        newWindow.focus();
    }
} 
function editEvent(path, id) { 
    self.name = "opener";
    var url ;
    url = path + "?eventid=" + id;
    //alert("url=" + url);
    if (!newWindow || newWindow.closed || newWindow.blur()) { 
        newWindow = window.open(url, "info", "height=450,width=750,scrollbars,resizable")
    } 
    else { 
        newWindow.location.href=url; 
        newWindow.focus();
    }
} 
function viewEvent(path, id) { 
    self.name = "opener";
    var url ;
    url = path + "?eventid=" + id;
    //alert("url=" + url);
    if (!newWindow || newWindow.closed || newWindow.blur()) { 
        newWindow = window.open(url, "info", "height=300,width=450,scrollbars,resizable")
    } 
    else { 
        newWindow.location.href=url; 
        newWindow.focus();
    }
} 

var myWindow;
function makeNew(url) { 
    if (!myWindow || myWindow.closed || myWindow.blur()) { 
	    myWindow = window.open(url, name,"height=500,width=750,scrollbars=yes,resizable=yes")
	} 
	else { myWindow.focus() }
}
function setEvent(date, url) { 
    //takes date and splits it into components for the url
    var url; 
	var form 	= document.dateForm; 
    var dateString = date.substr(0, date.indexOf('_')); 
    var dt = dateString.split('-'); 
    // mess with the order
    var a = new Array;
    a[2] = dt[0];a[1] = dt[2]; a[0] = dt[1];
    var formDate = a.join('-'); 
    url = url + "?date=" + formDate + ";category=" + form.category.value + ";subcat=" + form.subcat.value;
    //alert ("setting an event for " + url );
    
    if (!myWindow || myWindow.closed || myWindow.blur()) { 
	    myWindow = window.open(url, name,"height=500,width=750,scrollbars=yes,resizable=yes")
	} else { myWindow.focus() }
}
function markCell(objName,objProp) { //v1.0
	var obj = MM_findObj(objName);
	var id = obj.id;
	var text;
	if (id.indexOf("_PM") > -1) {text = "\r\t\t\t\t\PM:\r\t\t\t\t"} 
	else {text = "\r\t\t\t\t\AM:\r\t\t\t\t"}
	var form = document.dateForm;	
	//var calField = eval("form.cal" + id);
	if (obj && (objProp.indexOf("style.")==-1 || obj.style)){
		if(eval("obj."+objProp) == 'white') { 
			form.elements["cal" + id].value = 1;
			eval("obj."+objProp+"='silver'" );
			obj.innerHTML = "\r\t\t\t\t\UNAVAILABLE\r\t\t\t\t"; 
		} 
		else { 
			form.elements["cal" + id].value = 0;
			eval("obj."+objProp+"='white'" );
			obj.innerHTML = text;
		}
	}
	else { 
		alert("incompatible browser type"); 
	}
}
function submitChanges( mv, col ) { 
	var form 	= document.forms[0]; 
	var mm		= form.month;
	var yy		= form.year
	
	if( mvVal( form, mv, col, mm, yy ) ) {  
		form.parseForm.value = 1;
		form.submit();
	} 
	else { 
		alert("Date out of range.\nThis Calendar Application has been configured to reserved dates between\nJanuary 1st, 2004 and December 31st, 2018"); 
	}
}
function mvVal( form, mv, col, mm, yy ) { 
	if ( mv== ''|| mv == null || ! mv ) { return true }
	//var form 	= document.dateForm; 
	var val 	= form.elements[col].value; 
	var num		= parseFloat( val ); 
	
	if ( mv == 'next' ) { 
		num += 1; 
	} 
	else { 
		num -= 1; 
	} 
	
	//Check for out of range values
	if ( col == 'year' ) { 
		if ( num > 2005 ||  num < 2003 ) { 
			return false 
		}
		else { 
			yy.value = num;
			return true;
		}
	} 
	else { 
		if ( num > 12 ) { 
			num = 1; 
			var year = parseFloat( yy.value ); year += 1; 
			if ( year > 2018 || year < 2004 ) { return false }
			mm.value = num;
			yy.value = year; 
			return true; 
			
		} 
		if ( num < 1 ) { 
			num = 12; 
			var year = parseFloat( yy.value ); year -= 1; 
			if ( year < 2003 || year > 2006 ) { return false }
			mm.value = num;
			yy.value = year; 
			return true; 
		}
	}
	
	form.elements[col].value = num;
	return true;
}		
function refreshOpener() { 
    var form = self.opener.dateForm; 
    if ( form ) { 
        form.parseForm.value = '1'; 
        form.submit(); 
        self.opener.focus();
    }
	window.close();
}
function mvUser(from, to) { 
    
    for ( var i = 0; i < from.length; i++ ) {
        if ( from.options[i].selected ) { 
            var j = to.length; //j ++; 
            to.options[j] = new Option( from.options[i].text, from.options[i].value );
            from.options[i] = null; 
         }
    }     
}
function checkOn( form ) { 
    
    for ( var i=0; i < form.assigned.length; i++ ) { 
        form.assigned.options[i].selected = true;
    }
    
    form.submit();
}