var params = {menu:"false",scale:"noScale",bgcolor:"#FFFFFF",allowFullScreen:"true"};

var flashvars = {};
flashvars.videoUrl = "videos/video.flv";
flashvars.videoWidth = 500;
flashvars.videoHeight = 283;
flashvars.videoDuration = 241;

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];}}
}

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 setNavOn(o) {
    setNavOff(o);
    var name = o.id; //o.getAttribute("name");
    if (o.className.indexOf("topnavsel") == -1) {
        o.className = o.className + " " + name + "_on";
    }
}
function setNavOff(o) {
    var name = o.id; //o.getAttribute("name");
    if (o.className.indexOf("topnavsel") == -1) {
        o.className = o.className.replace(" " + name + "_on","");
    }
}
function linkTo(URL) {
    document.location.href = URL;
}
function searchBoxClick(o, txt) {
    if (typeof(txt) == "undefined") txt = "search";
    if (o.value == txt) {
        o.value = "";
    }
}
function searchBoxBlur(o, txt) {
    if (typeof(txt) == "undefined") txt = "search";
    if (o.value == "") {
        o.value = txt;
    }
}
function searchKeyDown(e, ID) {
    if (typeof(ID) == "undefined") ID = "webappSearchBy"
    if (window.event) { // IE
        keynum = e.keyCode;
    } else if(e.which) { // Netscape/Firefox/Opera
        keynum = e.which;
    }
    if (keynum == 13) webappSearch(ID);
}
function setOptOn(PAGE) {
    var o = document.getElementById("left_"+PAGE);
    if (o) {
        var className = o.getAttribute("onClass");
        if (className == "navSubSel") {
            o.parentNode.className = o.getAttribute("onClass");
            o.parentNode.parentNode.className = "";
        } else {
            o.parentNode.id = o.getAttribute("onClass");
            try
            {
                var ULs = o.parentNode.getElementsByTagName("ul");
                if (ULs) ULs[0].className = "";   
            } catch (e) { }
        }
    }

}
function setNavSel(MAIN_CODE,LANDING_ID,PAGE_1,PAGE_2) {
    var o = document.getElementById("nav_"+MAIN_CODE);
    if (o) o.className = "topnav nav_"+MAIN_CODE+" nav_"+MAIN_CODE+"_on topnavsel";

    setOptOn(PAGE_1);
    setOptOn(PAGE_2);
}
function onLoadFunctions(MAIN_CODE,LANDING_ID,PARENT_ID,PAGE_ID) {
    if (SERVER_SCRIPT_NAME == "/admin/preview") changeURLs();
    setNavSel(MAIN_CODE,LANDING_ID,PARENT_ID,PAGE_ID);
}
function changeURLs() {
    var HREFs = document.getElementsByTagName("A");
    for (var t=0; t < HREFs.length; ++t) {
        var o = HREFs[t];
        if (o.href.indexOf(APP_URL_WEBSITE) == 0 && o.href.indexOf(SERVER_SCRIPT_NAME) == -1 && o.href.indexOf(".php") == -1) {
            o.href = o.href.replace(APP_URL_WEBSITE, APP_URL_WEBSITE + "admin/preview/");
        } else if (o.href.indexOf(".php") != -1) {
            o.href = o.href + "?isPREVIEW=1";
        }
    }
    var FRMs = document.getElementsByTagName("FORM");
    for (var t=0; t < FRMs.length; ++t) {
        var o = FRMs[t];
        if (o.action.indexOf(APP_URL_WEBSITE) == 0 && o.action.indexOf(SERVER_SCRIPT_NAME) == -1 && o.action.indexOf(".php") == -1) {
            o.action = o.action.replace(APP_URL_WEBSITE, APP_URL_WEBSITE + "admin/preview/");
        }
    }
}
function isEmpty(str) {
  return (str == null) || (str.length == 0);
}
function isEmail(str){
    if(isEmpty(str)) return false;
	var RegExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/i
    var result = str.match(RegExp);
    return result;
}


function GetCookieVal (offset) {
		var endstr = document.cookie.indexOf (";", offset);
		if (endstr == -1)
			endstr = document.cookie.length;
		return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie(name) {
		var arg = name + "=";
		var alen = arg.length;
		var clen = document.cookie.length;
		var i = 0;
		while (i < clen) {
			var j = i + alen;
			if (document.cookie.substring(i, j) == arg)
				return GetCookieVal (j);
			i = document.cookie.indexOf(" ", i) + 1;
			if (i == 0) break; 
		  }
		return "";
}

function removeAllOptions(selectbox) {
    for(var i=selectbox.options.length-1; i>0; i--) selectbox.remove(i);
}

function webapp_gradesByState_1(result, STATE) {
    var loading1 = document.getElementById('loading1');
    var build_search = document.getElementById('build_search');
    var build_grades_dropdown = document.getElementById('build_grades_dropdown');
    if (result == null) {
        var arr = (STATE+"^").split("^");
        var STATE_ID = arr[0];
        var STATE_LNK = arr[1];
        var build_linkToState = document.getElementById('build_linkToState');
        var build_linkToState_lnk = document.getElementById('build_linkToState_lnk');
        if (build_linkToState && build_linkToState_lnk) {
             build_linkToState.className = (STATE_LNK == "") ? "setOff" : "";
             build_linkToState_lnk.href = (STATE_LNK == "") ? "javascript:void(0)" : STATE_LNK;
        }

        if (build_grades_dropdown) build_grades_dropdown.className = "setOff";
        if (build_search) build_search.className = "setOff";
        if (loading1) loading1.className = "";
        fn_getajax('/mod/getGradesByState.php?STATE_ID='+STATE_ID, 'webapp_gradesByState_1', false, STATE);
    } else {
        if (loading1) loading1.className = "setOff";
        var obj = document.getElementById('GRADE_ID');
        if (obj) {
            removeAllOptions(obj);
            var rows = result.split("\n");
            var hasOptions = false;
            for (var t=1; t < rows.length; ++t){
                var opt = rows[t].split("\t");
                if (opt.length >= 3) {
                    var GRADE_ID = opt[0];
                    var GRADE_NAME = opt[1];
                    var selected = opt[2];
                    var option = new Option(GRADE_NAME, GRADE_ID); 
                    obj.options.add(option);
                    hasOptions = true;
                }
            }
            if (hasOptions) {
                if (build_grades_dropdown) build_grades_dropdown.className = "";
            }
        }
    }
}

function webapp_selectedGradeChanged(GRADE_ID) {
    var build_search = document.getElementById('build_search');
    build_search.className = (GRADE_ID == "") ? "setOff" : "";
}

function webapp_gradesByState_Search(result) {
    var results = document.getElementById('build_result');
    var no_results = document.getElementById('no_results');
    var searching = document.getElementById('searching');

    //if (results) results.className = "setOff";
    if (no_results) no_results.className = "setOff";

    if (result == null) {
        if (searching) searching.className = "";

        var oSTATE = document.getElementById('STATE_ID');
        var oGRADE = document.getElementById('GRADE_ID');

        var STATE_ID = (oSTATE) ? oSTATE.value.split("^")[0] : "";
        var GRADE_ID = (oGRADE) ? oGRADE.value : "";

        var STATE_NAME = (oSTATE) ? oSTATE.options[oSTATE.selectedIndex].text : "";
        var GRADE_NAME = (oGRADE) ? oGRADE.options[oGRADE.selectedIndex].text : "";

        var oHeader = document.getElementById('build_stategrade_selected');
        if (oHeader) oHeader.innerHTML = STATE_NAME + " - " + GRADE_NAME;
        fn_getajax('/mod/getByStateGrade.php?STATE_ID='+STATE_ID+'&GRADE_ID='+GRADE_ID, 'webapp_gradesByState_Search', false);
    } else {
        if (searching) searching.className = "setOff";
        var tbl = document.getElementById('tbl_results');
        
        while (tbl.rows.length > 2) tbl.deleteRow(tbl.rows.length - 1);

        var tBody = tbl.getElementsByTagName('tbody')[0];
        var TRs = tbl.getElementsByTagName('tr');
        var TR = TRs[1];
        var lessons = result.split("\n");

        no_results.className = (result.indexOf("\t") == -1) ? "" : "setOff";

        for (var t=0; t <= lessons.length; ++t) {
            var arr = lessons[t].split("\t");
            if (arr.length >= 6) {
                var LESSON_ID       = arr[0];
                var LESSON_NAME     = arr[1];
                var LESSON_SOURCE   = arr[2];
                var LESSON_DESCR    = arr[3];
                var LESSON_KEYWORDS = arr[4];
                var LESSON_URL      = arr[5];
                var LESSON_PDF      = arr[6];
                var LESSON_TOPICS   = arr[7].split("^");

                if (results.className != "") results.className = "";

                var newRow = TR.cloneNode(true);
                var TD = newRow.getElementsByTagName('td')
                var LessonPlan = TD[0].childNodes[0];
                var Source = TD[1];
                var Description = TD[2];
                var RelatedTopics = TD[3];

                LessonPlan.innerHTML = LESSON_NAME + "&nbsp;";
                LessonPlan.href = (LESSON_URL != "") ? LESSON_URL : LESSON_PDF;
                if (LessonPlan.href == "") LessonPlan.href = "javascript:void(0)";

                Source.innerHTML = LESSON_SOURCE + "&nbsp;";
                Description.innerHTML = LESSON_DESCR + "&nbsp;";
                RelatedTopics.innerHTML = "";

                for (var k=0; k < LESSON_TOPICS.length; ++k ) {
                    var topic = LESSON_TOPICS[k];
                    if (topic != "") {
                        var arr = topic.split("::");
                        var TOPIC_ID = arr[0];
                        var TOPIC_NAME = arr[1];
                        var A = document.createElement("A");
                        A.href = "/curriculum-builder/by-topic?TOPICS[]="+TOPIC_ID
                        A.innerHTML = TOPIC_NAME;
                        RelatedTopics.appendChild(A);
                        RelatedTopics.appendChild(document.createElement("BR"));
                        RelatedTopics.appendChild(document.createElement("BR"));
                    }
                }

                newRow.className = "";
                tBody.appendChild(newRow);
            }
        }
    }
}

function webapp_lessonsByTopic_Search(result) {
    var results = document.getElementById('build_result');
    var no_results = document.getElementById('no_results');
    var searching = document.getElementById('searching');

    //if (results) results.className = "setOff";
    if (no_results) no_results.className = "setOff";

    if (result == null) {
        if (searching) searching.className = "";

        var TOPICS = new Array();
        var Chbx = document.getElementsByTagName("input");
        for (var t=0; t < Chbx.length; ++t) {
            var o = Chbx[t];
            if (o.type == "checkbox" && o.name.indexOf("TOPICS") == 0 && o.checked) {
                TOPICS.push(o.value);
            }
        }

        //var oHeader = document.getElementById('build_result_header');
        //if (oHeader) oHeader.innerHTML = "";
        fn_getajax('/mod/getByTopic.php?TOPICS='+TOPICS, 'webapp_lessonsByTopic_Search', false);
    } else {
        if (searching) searching.className = "setOff";
        var tbl = document.getElementById('tbl_results');
        
        while (tbl.rows.length > 2) tbl.deleteRow(tbl.rows.length - 1);

        var tBody = tbl.getElementsByTagName('tbody')[0];
        var TRs = tbl.getElementsByTagName('tr');
        var TR = TRs[1];
        var lessons = result.split("\n");

        no_results.className = (result.indexOf("\t") == -1) ? "" : "setOff";

        for (var t=0; t <= lessons.length; ++t) {
            var arr = lessons[t].split("\t");
            if (arr.length >= 6) {
                var LESSON_ID       = arr[0];
                var LESSON_NAME     = arr[1];
                var LESSON_SOURCE   = arr[2];
                var LESSON_DESCR    = arr[3];
                var LESSON_KEYWORDS = arr[4];
                var LESSON_URL      = arr[5];
                var LESSON_PDF      = arr[6];

                if (results.className != "") results.className = "";

                var newRow = TR.cloneNode(true);
                var TD = newRow.getElementsByTagName('td')
                var LessonPlan = TD[0].childNodes[0];
                var Source = TD[1];
                var Description = TD[2];

                LessonPlan.innerHTML = LESSON_NAME + "&nbsp;";
                LessonPlan.href = (LESSON_URL != "") ? LESSON_URL : LESSON_PDF;
                if (LessonPlan.href == "") LessonPlan.href = "javascript:void(0)";

                Source.innerHTML = LESSON_SOURCE + "&nbsp;";
                Description.innerHTML = LESSON_DESCR + "&nbsp;";

                newRow.className = "";
                tBody.appendChild(newRow);
            }
        }
    }
}
function shareByEmail_close() {
    var box = document.getElementById("shareByEmail");
    if (box) box.className = "setOff";
}
function shareByEmail() {
    var box = document.getElementById("shareByEmail");
    if (box) box.className = "";
}
function shareByEmail_send() {
    retval = true;
    var email_to = document.getElementById("email_to");
    if (!email_to || !isEmail(email_to.value)) {
        alert("Please enter a valid email address");
        email_to.focus();
        retval = false;
    } else {
        var email_from = document.getElementById("email_from");
        if (!email_from || !isEmail(email_from.value)) {
            alert("Please enter a valid sender email address");
            email_from.focus();
            retval = false;
        }
    }
    if (retval) {
        var email_send = document.getElementById("email_send");
        if (email_send) {
            email_send.value = "Sending...";
        }
        var email_note = document.getElementById("email_note").value;
        fn_getajax('/mod/emailSend.php?FROM='+email_from.value+'&TO='+email_to.value+'&MESSAGE='+escape(email_note)+"&SCRIPT_URI="+escape(document.location.href)+"&MODE=SHARE", 'shareByEmail_sent', false);
    }   
}
function shareByEmail_sent() {
    var email_send = document.getElementById("email_send");
    if (email_send) email_send.value = "Sent!";
    setTimeout ("shareByEmail_close()", 2000);
}
function shareByPrint() {
    window.open("?displayMode=print&"+window.location.search.substring(1));
}
function build_gradeChange(oGRADE) {
    var build_search = document.getElementById("build_search");
    build_search.className = (oGRADE.value == "") ? "setOff" : "";
}
function build_searchClick(WHICH) {
    if (WHICH == "STATE") {
        var oSTATE = document.getElementById('STATE_ID');
        var oGRADE = document.getElementById('GRADE_ID');

        var STATE_NAME = (oSTATE) ? oSTATE.options[oSTATE.selectedIndex].text : "";
        var GRADE_NAME = (oGRADE) ? oGRADE.options[oGRADE.selectedIndex].text : "";

        var GOTO = SYS_SCRIPT_NAME + "/" + escape(STATE_NAME.toLowerCase()) + "/" + escape(GRADE_NAME.toLowerCase()) + "#contentStart";
    } else {
        var TOPICS = new Array();
        var Chbx = document.getElementsByTagName("input");
        for (var t=0; t < Chbx.length; ++t) {
            var o = Chbx[t];
            if (o.type == "checkbox" && o.name.indexOf("TOPICS") == 0 && o.checked) {
                TOPICS.push(o.value);
            }
        }

        var GOTO = SYS_SCRIPT_NAME + "/" + TOPICS + "/#contentStart";
    }
    if (SERVER_SCRIPT_NAME == "/admin/preview") GOTO = SERVER_SCRIPT_NAME + GOTO;
    document.location.href = GOTO;
}
function build_getStateLnk() {
    var oSTATE = document.getElementById("STATE_ID");
    var STATE_LNK  = (oSTATE) ? oSTATE.value.split("^")[1] : "";

    var build_linkToState = document.getElementById('build_linkToState');
    var build_linkToState_lnk = document.getElementById('build_linkToState_lnk');
    if (build_linkToState && build_linkToState_lnk) {
         build_linkToState.className = (STATE_LNK == "") ? "setOff" : "";
         build_linkToState_lnk.href = (STATE_LNK == "") ? "javascript:void(0)" : STATE_LNK;
    }
}

function validateCommentFrm(frm) {
    if (frm.COMMENTER_NAME.value == "") {
        alert("Please enter your name");
        frm.COMMENTER_NAME.focus();
        return false;
    }
    if (frm.COMMENTER_GRADE.value == "") {
        alert("Please enter your grade");
        frm.COMMENTER_GRADE.focus();
        return false;
    }
    if (frm.COMMENTER_SCHOOL.value == "") {
        alert("Please enter your school");
        frm.COMMENTER_SCHOOL.focus();
        return false;
    }
    if (frm.COMMENTER_EMAIL.value == "") {
        alert("Please enter your email");
        frm.COMMENTER_EMAIL.focus();
        return false;
    }
    if (!isEmail(frm.COMMENTER_EMAIL.value)) {
        alert("Please enter a valid email address");
        frm.COMMENTER_EMAIL.focus();
        return false;
    }
    if (frm.COMMENT_TEXT.value == "") {
        alert("Please enter your comment");
        frm.COMMENT_TEXT.focus();
        return false;
    }
    return true;
}

function validateContactFrm(frm) {
    if (frm.CONTACT_NAME.value == "") {
        alert("Please enter your name");
        frm.CONTACT_NAME.focus();
        return false;
    }
    if (frm.CONTACT_EMAIL.value == "") {
        alert("Please enter your email");
        frm.CONTACT_EMAIL.focus();
        return false;
    }
    if (!isEmail(frm.CONTACT_EMAIL.value)) {
        alert("Please enter a valid email address");
        frm.CONTACT_EMAIL.focus();
        return false;
    }
    return true;
}

function validateProjectFrm(frm) {
    if (frm.SUBMITTER_NAME.value == "") {
        alert("Please enter your name");
        frm.SUBMITTER_NAME.focus();
        return false;
    }
    if (frm.SUBMITTER_GRADE.value == "") {
        alert("Please enter your grade");
        frm.SUBMITTER_GRADE.focus();
        return false;
    }
    if (frm.SUBMITTER_SCHOOL.value == "") {
        alert("Please enter your school");
        frm.SUBMITTER_SCHOOL.focus();
        return false;
    }
    if (frm.SUBMITTER_EMAIL.value == "") {
        alert("Please enter your email");
        frm.SUBMITTER_EMAIL.focus();
        return false;
    }
    if (!isEmail(frm.SUBMITTER_EMAIL.value)) {
        alert("Please enter a valid email address");
        frm.SUBMITTER_EMAIL.focus();
        return false;
    }
    if (frm.PROJECT_DESCR.value == "") {
        alert("Please enter a brief project description");
        frm.PROJECT_DESCR.focus();
        return false;
    }
    return true;
}

function goToPage(CODE, iPageNo) {
    document.cookie = CODE+"_PAGE_NO="+iPageNo+"; path=/;";
    window.location.reload();
}


function webappSearch(ID) {
    if (typeof(ID) == "undefined") ID = "webappSearchBy"
    var search = document.getElementById(ID);
    if (search && search.value != "" && search.value.toLowerCase() != "search" && search.value.toLowerCase() != "search again") {
        document.cookie = "SEARCH_PAGE_NO=1; path=/;";
        var GOTO = "/search/"+escape(search.value);
        if (SERVER_SCRIPT_NAME == "/admin/preview") GOTO = SERVER_SCRIPT_NAME + GOTO;
        document.location.href = GOTO;
    }
}

function openGame(gameURL, popUpWidth, popUpHeight) {
    var centerWidth = (window.screen.width - popUpWidth) / 2;
    var centerHeight = (window.screen.height - popUpHeight) / 2;
    //var args = "menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=1,";
    var args = "menubar=yes,toolbar=yes,location=yes,status=yes,scrollbars=yes,resizable=1,";
    window.open(gameURL,"OCGame", args + "width="+popUpWidth+",height="+popUpHeight+",left="+centerWidth+",top=" + centerHeight);
}