var objectiveMaxSize = 200;
var oldSubjectText = "";

function sortChange(field,direction) {
	h = MWJ_findObj("reloadForm");
	h.sortField.value = field;
	h.sortDirection.value = direction;
	h.submit();
}

function editObjective(id) {
	h = MWJ_findObj("theEditObjectiveForm");
	h.custobj_id.value = id;
	h.submit();
}

function hideAllDivs() {
	//document.getElementById('div_objective').style.display = 'none';
}

function hideDiv(n) {
	f = document.getElementById(n);
	f.style.display = 'none';
}

function showDiv(n) {
	hideAllDivs();
	f = document.getElementById(n);
	f.style.display = 'block';
}

function mover(t) {
	t.style.backgroundColor='#EFB210';
}

function mover2(t) {
	t.style.backgroundImage="url('/EZLessonPlanner/images/sidelinkbg.gif')";
}

function mout(t,c) {
	t.style.backgroundColor=c;
}

function mout2(t,c) {
	t.style.backgroundImage=c;
}

function addSubject() {
	h = MWJ_findObj("new_subject");
	if(h.value != "") {
		document.theSubjectForm.submit();
	}
}

function removeSubject(s) {
	document.theSubjectForm.old_subject.value = s;
	document.theSubjectForm.intent.value = "remove";
	document.theSubjectForm.submit();
}

function removeContentArea() {
	document.theForm.action = "remove_content_area.php";
	document.theForm.content_id.value = arguments[0];
	document.theForm.submit();
}

function expandContract(name) {
	x = true;
	y = 0;
	while(x) {
		y++;
		temp = document.getElementById(name + "" + y);
		if(temp == null) {
			x = false;
		} else {
			if(temp.style.display == "none") {
				temp.style.display = "block";
			} else {
				temp.style.display = "none";
			}
		}
	}
}

function addObjective(id) {
	h = MWJ_findObj("theEditObjectiveForm");
	h.custom_content_id.value = id;
	h.submit();
	
	//g = MWJ_findObj("cust_content_id");
	//g.value = cust_content_id;
	//g = MWJ_findObj("objective_text");
	//g.value="";
	//h = MWJ_findObj("div_custom_content_area_name");
	//h.innerHTML = name;
	//showDiv("div_objective");
	//g.focus();
	//g.select();
}

function saveObjective() {
	f = MWJ_findObj("theForm");
	f.submit();
}

function changeCount(e) {
	if (window.event) {
		keyCode = window.event.keyCode;
		ctrl = window.event.ctrlKey;
	} else if (e) {
		keyCode = e.which;
		ctrl = (e.modifiers == 2 ? true : false);
	}
	
	rtnVal = false;
	
	if(keyCode == 8) {
		if(temp.length>0) {
			lengthToBe = temp.length - 1;
			msg = "(" + lengthToBe + " of " + objectiveMaxSize + " characters max)";
			document.getElementById("charcount").innerHTML = msg;
		}
	}
			
	if(!ctrl) {
		f = MWJ_findObj("objective_text");
		temp = f.value;
		
		window.status = "KeyCode = " + keyCode;	
		if(keyCode == 13 || keyCode == 39 || keyCode == 34) {
			rtnVal = false;
		} else {
			lengthToBe = temp.length + 1;	
			if(lengthToBe > objectiveMaxSize) {
				rtnVal = false;
			} else {
				msg = "(" + lengthToBe + " of " + objectiveMaxSize + " characters max)";
				document.getElementById("charcount").innerHTML = msg;
				rtnVal = true;
			}
		}
	}

	return rtnVal;
}
/*
function editContentArea() {
	// arguments[0] is the content type custom or existing
	// argument[1] content_id 	
	f = MWJ_findObj("theEditContentAreaForm");
	//if(arguments[0]=="custom") {
		//f.action = "setup_custom_content_area.php";
	//} else {
		//f.action = "setup_state_content_area.php";
	//}
	f.content_id.value = arguments[1];
	f.submit();
}
*/

function addPreContent() {
	//submitIt = false;
	f = MWJ_findObj("thePreDefinedForm");
	/*
	h = MWJ_findObj("presubject[]");

	if("undefined"==typeof(h[0])) {
		if(h.checked) {
			submitIt = true;
		}
	} else {
		for (i=0;i<h.length;i++) {
			if(h[i].checked) {
				submitIt = true;
			}
		}		
	}
	*/
	//if(submitIt == false) {
		//alert('You must select at least one of your Subjects.');
	//} else {
		f.submit();
	//}
}
/*
function addCustomContent() {
	submitIt = false;
	f = MWJ_findObj("theCustomForm");
	h = MWJ_findObj("custsubject[]");
	g = document.getElementById("custom_content_area");
	
	if(g.value.length == 0) {
		alert("You must enter a valid name for this new content area");
		g.focus();
		g.select();
	} else {
		if("undefined"==typeof(h[0])) {
			if(h.checked) {
				submitIt = true;
			}
		} else {
			for (i=0;i<h.length;i++) {
				if(h[i].checked) {
					submitIt = true;
				}
			}
		}
		if(submitIt == false) {
			alert('You must select at least one of your Subjects.');
		} else {
			f.submit();
		}
	}
}
*/
/*
* Receives the selected ending date from the popup calendar.
*/
function setEndDate(y,m,d) {
	var dt = new Date(y,m-1,d,0,0,0);
	s = formatDate(dt,window.CP_dateFormat);
	document.theForm.end_date.value = s;
	beginDate = document.theForm.begin_date.value;
	if(compareDates(beginDate,window.CP_dateFormat,s,window.CP_dateFormat)==1) {
		document.theForm.begin_date.value = s;
	}
}


function Browser() {

  var ua, s, i;

  this.isIE    = false;
  this.isNS    = false;
  this.version = null;

  ua = navigator.userAgent;

  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }
}

var browser = new Browser();

function dragStart(event, id) {

  var el;
  var x, y;

  // If an element id was given, find it. Otherwise use the element being
  // clicked on.

  if (id)
    dragObj.elNode = document.getElementById(id);
  else {
    if (browser.isIE)
      dragObj.elNode = window.event.srcElement;
    if (browser.isNS)
      dragObj.elNode = event.target;

    // If this is a text node, use its parent element.

    if (dragObj.elNode.nodeType == 3)
      dragObj.elNode = dragObj.elNode.parentNode;
  }
  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }
  // Save starting positions of cursor and element.

  dragObj.cursorStartX = x;
  dragObj.cursorStartY = y;
  dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);
  dragObj.elStartTop   = parseInt(dragObj.elNode.style.top,  10);

  if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
  if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = 0;
  // Update element's z-index.

  dragObj.elNode.style.zIndex = ++dragObj.zIndex;
  // Capture mousemove and mouseup events on the page.

  if (browser.isIE) {
    document.attachEvent("onmousemove", dragGo);
    document.attachEvent("onmouseup",   dragStop);
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS) {
    document.addEventListener("mousemove", dragGo,   true);
    document.addEventListener("mouseup",   dragStop, true);
    event.preventDefault();
  }
}

function dragGo(event) {

  var x, y;

  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }
  // Move drag element by the same amount the cursor has moved.

  dragObj.elNode.style.left =
    (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
  dragObj.elNode.style.top  =
    (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";
  if (browser.isIE) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS)
    event.preventDefault();
}

function dragStop(event) {

  // Stop capturing mousemove and mouseup events.

  if (browser.isIE) {
    document.detachEvent("onmousemove", dragGo);
    document.detachEvent("onmouseup",   dragStop);
  }
  if (browser.isNS) {
    document.removeEventListener("mousemove", dragGo,   true);
    document.removeEventListener("mouseup",   dragStop, true);
  }
}

// Global object to hold drag information.

var dragObj = new Object();
dragObj.zIndex = 0;

function MWJ_findObj( oName, oFrame, oDoc ) {
    /* this function is slightly bigger than the DreamWeaver
    function but is more efficient as it can also find
    anchors, frames, variables, functions, and check through
    any frame structure

    if not working on a layer, document should be set to the
    document of the working frame
    if the working frame is not set, use the window object
    of the current document
    WARNING: - cross frame scripting will cause errors if
    your page is in a frameset from a different domain */
    if( !oDoc ) { if( oFrame ) { oDoc = oFrame.document; } else {
        oDoc = window.document; } }

    //check for images, forms, layers
    if( oDoc[oName] ) { return oDoc[oName]; }

    //check for pDOM layers
    if( oDoc.all && oDoc.all[oName] ) { return oDoc.all[oName]; }

    //check for DOM layers
    if( oDoc.getElementById && oDoc.getElementById(oName) ) {
        return oDoc.getElementById(oName); }

    //check for form elements
    for( var x = 0; x < oDoc.forms.length; x++ ) {
        if( oDoc.forms[x][oName] ) { return oDoc.forms[x][oName]; } }

    //check for anchor elements
    //NOTE: only anchor properties will be available,
    //NOT link properties!
    for( var x = 0; x < oDoc.anchors.length; x++ ) {
        if( oDoc.anchors[x].name == oName ) {
            return oDoc.anchors[x]; } }

    //check for any of the above within a layer in layers browsers
    for( var x = 0; document.layers && x < oDoc.layers.length; x++ ) {
        var theOb = MWJ_findObj( oName, null, oDoc.layers[x].document );
            if( theOb ) { return theOb; } }

    //check for frames, variables or functions
    if( !oFrame && window[oName] ) { return window[oName]; }
    if( oFrame && oFrame[oName] ) { return oFrame[oName]; }

    //if checking through frames, check for any of the above within
    //each child frame
    for( var x = 0; oFrame && oFrame.frames &&
      x < oFrame.frames.length; x++ ) {
        var theOb = MWJ_findObj( oName, oFrame.frames[x],
          oFrame.frames[x].document ); if( theOb ) { return theOb; } }

    return null;
}

/*
*	Used by rpt_list.php
*/
function getReport() {
	f = MWJ_findObj("theform");
	r = MWJ_findObj("report_type_filter");
	d1 = MWJ_findObj("reportFilterFromDate");
	d2 = MWJ_findObj("reportFilterToDate");

	// first check dates
	if(isDate(d1.value, "M/d/yyyy") && isDate(d2.value, "M/d/yyyy")) {
		for(i=0; i<r.length; i++) {
			if(r[i].checked) {
				selectedReport = r[i].value;
			}
		}
		
		if(selectedReport == 1) {
			// lesson plans
			thisAction = "rpt_parent.php";
		} else if(selectedReport == 2) {
			// scope
			thisAction = "rpt_objtotals.php";
		} else if(selectedReport == 3) {
			// sequence
			thisAction = "rpt_objsequence.php";
		} else if(selectedReport == 4) {
		    // home work
			thisAction = "rpt_parent.php";
		}
		
		f.action = thisAction;
		f.submit();
	} else {
		alert("The Dates must be in MM/DD/YYYY format.");
	}
}

/*
*	Used by rpt_list.php
*/
function getReportFilterFromDate() { 
	var calBegin = new CalendarPopup('div_cal');
	calBegin.offsetX= 20;
	calBegin.offsetY= (10);
	calBegin.setReturnFunction('setReportFilterFromDate');
	calBegin.showCalendar('anchor1'); 
}

/*
*	Used by rpt_list.php
*/
function getReportFilterToDate() { 
	var calBegin = new CalendarPopup('div_cal');
	calBegin.offsetX=20;
	calBegin.offsetY= (10);
	calBegin.setReturnFunction('setReportFilterToDate');
	calBegin.showCalendar('anchor2'); 
}

/*
*	Used by rpt_list.php
*/
function setReportFilterFromDate(y,m,d) {
	var dt = new Date(y,m-1,d,0,0,0);
	s = formatDate(dt,window.CP_dateFormat);
	h = document.getElementById("reportFilterFromDate");
	h.value = s;
	
	i = document.getElementById("reportFilterToDate");
	pageToDate = i.value;
	if(compareDates(s,window.CP_dateFormat,pageToDate,window.CP_dateFormat)==1) {
		i.value = s;
	}
	
}

/*
*	Used by rpt_list.php
*/
function setReportFilterToDate(y,m,d) {
	var dt = new Date(y,m-1,d,0,0,0);
	s = formatDate(dt,window.CP_dateFormat);
	h = document.getElementById("reportFilterToDate");
	h.value = s;
	
	i = document.getElementById("reportFilterFromDate");
	pageFromDate = i.value;
	if(compareDates(pageFromDate,window.CP_dateFormat,s,window.CP_dateFormat)==1) {
		i.value = s;
	}
}

/*
*	Used by rpt_list.php
*/
function reloadReportList() {
	f = MWJ_findObj("theform");
	f.submit();
}

/*
*	Used by rpt_list.php
*/
function subjectSelected() {
	f = MWJ_findObj("selected_subject");
	f[1].checked = true;
}

/*
*	Used by rpt_list.php
*/
function teacherSelected(whichbutton) {
	f = MWJ_findObj("teacher_filter");
	f[whichbutton].checked = true;
	reloadReportList();
}

function groupSelected() {
	f = MWJ_findObj("teacher_filter");
	if(f[2].checked == false) {
		f[2].checked = true;
		reloadReportList();
	}
}
/*
* Used by setup_content_areas.php
*/
function getObjectivesList(a) {
	f = MWJ_findObj("theForm");
	e = MWJ_findObj("content_id");
	e.value = a;
	f.action = "rpt_objectiveslist.php";
	f.submit();
}
/*
* Used by parent.php
*/
function getParentReport() {
	f = MWJ_findObj("theform");
	r = MWJ_findObj("report_type_filter");
	d1 = MWJ_findObj("reportFilterFromDate");
	d2 = MWJ_findObj("reportFilterToDate");

	// first check dates
	if(isDate(d1.value, "M/d/yyyy") && isDate(d2.value, "M/d/yyyy")) {
		//for(i=0; i<r.length; i++) {
			//if(r[i].checked) {
				selectedReport = 1;
			//}
	//	}
		
		/*if(selectedReport == 1) {
			// lesson plans
			thisAction = "rpt_lessonplan.php";
		} else if(selectedReport == 2) {
			// scope
			thisAction = "rpt_objtotals.php";
		} else if(selectedReport == 3) {
			// sequence
			thisAction = "rpt_objsequence.php";
		} else*/ if(selectedReport == 1) {
		    // home work
			thisAction = "rpt_parent.php";
		}
		
		f.action = thisAction;
		f.submit();
	} else {
		alert("The Dates must be in MM/DD/YYYY format.");
	}
}


