
function btnImportCourseSubmit_onclick() {
    pageuploading.style.display="";
    pagenormal.style.display="none";
    textMessages.style.display="none";
    frmLMS.encoding="multipart/form-data";
    frmLMS.operation.value="submit";
    frmLMS.submit();
}

function btnNavigation_onclick(page,url,parameters){
    var windowlocation;
    if(page!=""){
        windowlocation=basehref+"?page="+page;
        if(parameters!=""){
            windowlocation=windowlocation+ "&operationparmeter="+parameters;
        }
    }else if(page!="url"){
        windowlocation=url;
    }
    
    if(windowlocation.indexOf("?")==-1){
        windowlocation=windowlocation + "?key=" + Math.floor(Math.random()*999999999999);
    }else{
        windowlocation=windowlocation + "&key=" + Math.floor(Math.random()*999999999999);
    }
    
    window.location=windowlocation;
}

function btnGeneral_onclick(operation, operationon, controltype, operationparmeter, linefunctionparameters){
    if(operation=="SingleLineSelected"){
        if(!window.event.srcElement.checked){
            return;
        }
    }

//    if(operation=="Certificate") {
//        alert("Any certificate functionality can be placed here by editing includes/common.js");
//        return;
//    }

    window.focus();
    window.setTimeout("btnGeneral_onclickTHREAD('"+operation+"', '"+operationon+"', '"+controltype+"', '"+operationparmeter+"', '"+linefunctionparameters+"')", "3")
}

function btnGeneral_onclickTHREAD(operation, operationon, controltype, operationparmeter, linefunctionparameters){
    

//alert("operation= " + operation + "\n" + "operationon= " + operationon + "\n" + "controltype= " + controltype + "\n" + "operationparmeter= " + operationparmeter + "\n" + "linefunctionparameters= " + linefunctionparameters + "\n")

    if(operation=="MultipleDelete"){
        if(confirm(DataListButtonMultiLineFunctionDeleteConfirm)){
            operationparmeter="";
            var myfield=document.forms[0].elements[operationon + ".MultiLineFunction"];
            var oneChecked=false;
            if(typeof(myfield.length) == "undefined") {
                if(document.forms[0].all[operationon + ".MultiLineFunction"].checked) {
                    operationparmeter=operationparmeter+document.forms[0].all[operationon + ".MultiLineFunction"].value;
                }
            } else {
                for (i = 0; i < myfield.length; i++){
                    if(myfield[i].checked){
                       if(oneChecked)operationparmeter=operationparmeter+"|";
                       operationparmeter=operationparmeter+myfield[i].value;
                       oneChecked=true;
                    }
                }            
            }
        }else{
            return;
        }
    }
    
    if(operation=="Delete"){
        if(confirm(DataListButtonFunctionDeleteConfirm)){
        }else{
            return;
        }
    }

    if((operation=="Cancel")&&(controltype=="DataDetailForm")){
        if(DataHasChanged){
            if(confirm(DataDetailDataHasChangedWarning)){
                    DataHasChanged=false;
                }else{
                    return;
                }
        }
    }

    if((operation=="Save")&&(controltype=="DataDetailForm")){
        var ButtonSave=document.forms[0].elements["DataDetailFormSave"];
        if(ButtonSave!=null){
            if(ButtonSave.disabled){
                return;
            }else{
                DataHasChanged=false;
            }
        }
    }

    if((operation=="Save")&&(controltype=="SearchForm")){
        operationparmeter=prompt(SearchFormSaveSearchPrompt,'');
        if(operationparmeter==null)return false;
    }

    if(operation=="New"){
        var sPrompt="default";
        var arrParameters=operationparmeter.split("|");
        for (i = 0; i < arrParameters.length; i++){
            var arrParameterSet = arrParameters[i].split("=");
            if(arrParameterSet[0]=="Prompt"){
                sPrompt=arrParameterSet[1];
                operationparmeter=prompt(sPrompt,'');
                if(operationparmeter==null)return false;
            }
        }
    }
    

    if((operation=="Add")||(operation=="Preview")||(operation=="Launch")||(operation=="Comments")||(operation=="Certificate")){
        var iheight=300;
        var iwidth=750;
        if(operation=="Preview"){
            if(previewwidth) iwidth=previewwidth;
            if(previewheight) iheight=previewheight;
        }
        var itop=0;
        var ileft=0;
        var arrParameters=linefunctionparameters.split("|");
        for (i = 0; i < arrParameters.length; i++){
            var arrParameterSet = arrParameters[i].split("=");
            if(arrParameterSet[0]=="height"){
                iheight=arrParameterSet[1];
            }
            if(arrParameterSet[0]=="width"){
                iwidth=arrParameterSet[1];
            }
        }

        if(operation=="Certificate") {
            iheight=583;
            iwidth=840;
        }

        window.open("about:blank","LMSPopup","height="+iheight+",width="+iwidth+",top="+itop+",left="+ileft+",location=no,menubar=no,scrollbars=no,status=no,resizable=no,toolbar=no");
        document.forms[0].target="LMSPopup";
    }
    



    if(operation=="MultipleAddThis"){
        operationparmeter="";
        var myfield=document.forms[0].elements[operationon + ".MultiLineFunction"];
        var oneChecked=false;
        if(typeof(myfield.length) == "undefined") {
            if(document.forms[0].all[operationon + ".MultiLineFunction"].checked) {
                operationparmeter=operationparmeter+document.forms[0].all[operationon + ".MultiLineFunction"].value;
            }
        } else {
            for (i = 0; i < myfield.length; i++){
                if(myfield[i].checked){
                   if(oneChecked)operationparmeter=operationparmeter+"|";
                   operationparmeter=operationparmeter+myfield[i].value;
                   oneChecked=true;
                }
            }
        }
    }
    if((operation=="MultipleAddThis")||(operation=="AddThis")){
        opener.document.forms[0].operation.value=operation;
        opener.document.forms[0].operationon.value=operationon;
        opener.document.forms[0].controltype.value=controltype;
        opener.document.forms[0].operationparmeter.value=operationparmeter;
        if(!opener.document.forms[0].xmlStateTemp.value==""){
        opener.document.forms[0].xmlState.value=opener.document.forms[0].xmlStateTemp.value;
        }
        opener.document.forms[0].xmlStateTemp.value="";
        opener.document.forms[0].submit();
        opener.focus();
        window.close();
        return;
    }


    document.forms[0].operation.value=operation;
    document.forms[0].operationon.value=operationon;
    document.forms[0].controltype.value=controltype;
    document.forms[0].operationparmeter.value=operationparmeter;
    if(!document.forms[0].xmlStateTemp.value==""){
    document.forms[0].xmlState.value=document.forms[0].xmlStateTemp.value;
    }
    document.forms[0].xmlStateTemp.value="";
    document.forms[0].submit();
    //if(operation=="Add"){
        document.forms[0].target="_self";
    //}

}
var isChecked=false;
function btnCheckAll_onclick(operationon){
    isChecked=!isChecked;
    var myfield=document.forms[0].elements[operationon + ".MultiLineFunction"];
    if(myfield!=null){
        if(myfield.checked!=null) myfield.checked = isChecked;
        if(myfield.length){
            for (i = 0; i < myfield.length; i++){
                    myfield[i].checked = isChecked ;
            }
        }
    }
}

netscape = "";
ver = navigator.appVersion; len = ver.length;
for(iln = 0; iln < len; iln++) if (ver.charAt(iln) == "(") break;
netscape = (ver.charAt(iln+1).toUpperCase() != "C");

function checkKey(DnEvents)
{
    keyCode = (netscape) ? DnEvents.which : window.event.keyCode;
    if(keyCode==13){//enter
        tagName = (netscape) ? DnEvents.target.tagName : window.event.srcElement.tagName
        if(tagName=="INPUT"){
            operation = (netscape) ? DnEvents.target.getAttribute("enter_operation") : window.event.srcElement.getAttribute("enter_operation");
            if((operation!=null)&&(operation!="")){
                operationon = (netscape) ? DnEvents.target.getAttribute("enter_operationon") : window.event.srcElement.getAttribute("enter_operationon");
                controltype = (netscape) ? DnEvents.target.getAttribute("enter_controltype") : window.event.srcElement.getAttribute("enter_controltype");
                operationparmeter = (netscape) ? DnEvents.target.getAttribute("enter_operationparmeter") : window.event.srcElement.getAttribute("enter_operationparmeter");
                btnGeneral_onclick(operation, operationon, controltype, operationparmeter, '');
            }else{
                if((default_enter_operation!=null)&&(default_enter_operation!="")){
                    if(default_enter_operation=="registration.index.submit"){
                        document.myform.submit();
                    }else if (default_enter_operation=="importcourse.submit") {
                        btnImportCourseSubmit_onclick();
                    }else{
                        btnGeneral_onclick(default_enter_operation, default_enter_operationon, default_enter_controltype, default_enter_operationparmeter, '');
                    }
                }
            }
            return false;
        }
    }
}

function form_onsubmit(){
    operation=document.forms[0].operation.value;
    if((operation==null)||(operation=="")){
        return false;
    }
}

// The following script is used to hide the calendar whenever you click the document.
// When using it you should set the name of popup button or image to "popcal", otherwise the calendar won't show up.
var CalendarShowing = false;
document.onmousedown=function(e){
        if(CalendarShowing)gfPop.fHideCal();
        CalendarShowing = false;
	//var n=!e?self.event.srcElement.name:e.target.name;
	//if (document.layers) {
	//	with (gfPop) var l=pageX, t=pageY, r=l+clip.width, b=t+clip.height;
	//	if (n!="popcal"&&(e.pageX>r||e.pageX<l||e.pageY>b||e.pageY<t)) gfPop.fHideCal();
	//	return routeEvent(e);	// must use return here.
	//} else if (n!="popcal") gfPop.fHideCal();
}
if (document.layers) document.captureEvents(Event.MOUSEDOWN);
if (netscape) document.captureEvents(Event.KEYDOWN,Event.KEYUP);
document.onkeydown = checkKey; // work together to analyze keystrokes


function DataDetailFormField_onpropertychange(){
    if(!netscape){
        var strTemp="";
        var prevValue="";
        var thisValue="";
        if(window.event.propertyName=="value"||window.event.propertyName=="checked"){
            prevValue= window.event.srcElement.getAttribute("prevValue");
            if(prevValue==null)prevValue="";
            thisValue = window.event.srcElement.value;
            //alert(prevValue);
            //alert(thisValue);
            if(prevValue!=thisValue){
                window.event.srcElement.setAttribute("prevValue", thisValue);
                DataHasChanged = true;
            }
        }
   }      
}


function window_onbeforeunload() {
    if (DataHasChanged) {
        event.returnValue=DataDetailDataHasChangedWarning;
    }
}

function ExpandableAreaLabel_onclick(objLabel){
    objArea = objLabel.parentElement;
    //alert(objArea.class);
    objImg = objArea.all.item("imgExpandableAreaLabel");
    if (objImg.length != null){objImg=objImg(0)}

    objContents = objArea.all.item("divExpandableAreaContents");
    if (objContents.length != null){objContents=objContents(0)}

    if(objArea.collapse=="true"){
        objArea.collapse="false";
        objImg.src=objImg.src.replace("plus", "minus");
        objContents.style.display="inline";
    }else{
        objArea.collapse="true";
        objImg.src=objImg.src.replace("minus", "plus");
        objContents.style.display="none";
    }
    
    var oCoursesName = document.all.item("Courses.Name");
    if(oCoursesName!=null){
        if (oCoursesName.length != null){oCoursesName=oCoursesName(0)}
        //alert(oCoursesName.value);
        objImg = document.all.item("imgExpandableAreaLabel");
        var strStates=""
        if(objImg.length!=null){
            for (i = 0; i < objImg.length; i++){
                objLabel = objImg(i).parentElement;
                objArea = objLabel.parentElement;
                if(objArea.collapse=="true"){
                    strStates=strStates+"1";
                }else{
                    strStates=strStates+"0";
                }
            }
        }
        setCookie(oCoursesName.value, strStates);
    }
}

// name - name of the cookie
// value - value of the cookie
// [expires] - expiration date of the cookie (defaults to end of current session)
// [path] - path for which the cookie is valid (defaults to path of calling document)
// [domain] - domain for which the cookie is valid (defaults to domain of calling document)
// [secure] - Boolean value indicating if the cookie transmission requires a secure transmission
// * an argument defaults when it is assigned null as a placeholder
// * a null placeholder is not required for trailing omitted arguments
function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

// name - name of the desired cookie
// * return string containing value of specified cookie or null if cookie does not exist
function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}


var DataHasChanged=false;
var DataHasChangedDefault=false;
function window_onload(){
    if(closeonload)window.close();
    if(!netscape){
        var arrFields=document.forms[0].elements;
        for (i = 0; i < arrFields.length; i++){
            arrFields.setAttribute("prevValue", arrFields.value);
        }
        DataHasChanged=DataHasChangedDefault;
        var ButtonSave=document.forms[0].elements["DataDetailFormSave"];
        if(ButtonSave!=null){if(ButtonSave.setExpression){
//            ButtonSave.setExpression("disabled","!DataHasChanged");
        }}
        var oCoursesName = document.all.item("Courses.Name");
        if(oCoursesName!=null){
            var strStates = getCookie(oCoursesName.value);
            if((strStates!=null)&&(strStates!="")) {
                //alert(strStates);
                objImg = document.all.item("imgExpandableAreaLabel");
                if(objImg.length!=null){
                    for (i = 0; i < objImg.length; i++){
                        if(strStates.charAt(i)=="1"){
                            objLabel = objImg(i).parentElement;
                            objArea = objLabel.parentElement;
                            objContents = objArea.all.item("divExpandableAreaContents");
                            if (objContents.length != null){objContents=objContents(0)}
                            objArea.collapse="true";
                            objImg(i).src=objImg(i).src.replace("minus", "plus");
                            objContents.style.display="none";

                        }
                    }
                }
            }
        }
    }
}
