﻿function FileUploadImage(imagevariables) {

    var tardiv = document.getElementById("fileUploadImage");
    tardiv.parentNode.removeChild(tardiv);
    //alert(imagevariables);
}
function fileuploadDeleteFile(target) {
    maetbew.FileService.removeFile(target, getQueryVariable("org"), SuccessFileCallback, ErrorFileCallback);
}
function loadPdfs(target) {
    maetbew.FileService.getPDFS(target, getQueryVariable("org"), SuccessFileCallback, ErrorFileCallback);
}
function fileuploadCheckImage(id_element) {
    targetdiv = $m(id_element).innerHTML;
    var splitArray = targetdiv.split(":");
    switch (splitArray[0]) {
        case "image": 
            {
                var div1 = document.createElement("div");
                div1.id = "fileUploadImage";
                $m(id_element).parentNode.appendChild(div1);
                window["game_Game1"] = new Object();
                var sogame = new SWFObject("flash/basic_image_loader.swf", "game_Game1", "800", "600", "8", "#336699");
                sogame.addParam("quality", "high");
                sogame.addParam("wmode", "transparent");
                sogame.addParam("salign", "t");
                sogame.addParam("allowScriptAccess", "always");
                var loc = location.href;
                loc = loc.substring(0, loc.lastIndexOf("/")) + "/FileView.aspx?FileID=" + splitArray[1];
                sogame.addVariable("ImageLocation", loc);
                sogame.addVariable("ImageNumber", splitArray[1]);
                sogame.write("fileUploadImage");
                SWFFormFix("game_Game1");
                // alert(splitArray[1]);    
                return 1;
                break;
            }
        case "pdf": 
            {
                var div1 = document.createElement("div");
                div1.id = "Fu-Pdf";
                var hiddenid = document.createElement("input");
                hiddenid.type = "hidden";
                hiddenid.value = splitArray[1];
                hiddenid.id = "Fu-pdf1-FileID";
                div1.appendChild(hiddenid);
                $m(id_element).parentNode.appendChild(div1);
                maetbew.FileService.GetFileTypes(".pdf", getQueryVariable("org"), SuccessFileCallback, ErrorFileCallback);
                return 1;
                break;
            }
    }
    return 0;
}
function FileTypeChange() {
    if (this.options[this.selectedIndex].value == "Newsletter") {
        var div1 = document.getElementById("Fu-pdf1-Department");
        div1.disabled = true;
    }
    else if (this.options[this.selectedIndex].value == "Employment") {
        var div1 = document.getElementById("Fu-pdf1-Department");
        div1.disabled = true;
    }
    else {
        var div1 = document.getElementById("Fu-pdf1-Department");
        div1.disabled = false;
    }
}
function SuccessFileCallback(result, userContext, methodName) {
    switch (methodName) {
        case "removeFile": 
            {
                loadPdfs('Newsletter');
                break;
            }
        case "getPDFS": 
            {
                var targetdiv = document.getElementById("pdfListNewsletter");
                if (targetdiv)
                    targetdiv.innerHTML = "";
                else {
                    targetdiv = document.getElementById("pdfListNewsletter");
                    if (targetdiv)
                        targetdiv.innerHTML = "";
                }

                if (result.length > 0) {
                    switch (result[0].PDFType) {
                        case "Newsletter": 
                            {
                                var targetdiv = document.getElementById("pdfListNewsletter");
                                targetdiv.innerHTML = "";
                                for (var idx = 0; idx < result.length; idx++) {
                                    var LIelement = document.createElement("li");
                                    LIelement.innerHTML = "<h3>" + result[idx].Title + "</h3><p>" + result[idx].Description + "</p>";
                                    LIelement.innerHTML += "<p><a target='_blank' href='../docs/FileView.aspx?FileID=" + result[idx].Location + "'>Download PDF</a></p>";
                                    targetdiv.appendChild(LIelement);
                                }
                                break;
                            }
                        case "Employment": 
                            {
                                var targetdiv = document.getElementById("pdfListEmployment");
                                targetdiv.innerHTML = "";
                                for (var idx = 0; idx < result.length; idx++) {
                                    var LIelement = document.createElement("li");
                                    LIelement.innerHTML = "<h3>" + result[idx].Title + "</h3><p>" + result[idx].Description + "</p>";
                                    LIelement.innerHTML += "<p><a target='_blank' href='../../docs/FileView.aspx?FileID=" + result[idx].Location + "'>Download PDF</a></p>";
                                    targetdiv.appendChild(LIelement);
                                }
                                break;
                            }
                    }
                }
                break;
            }
        case "SubmitFileInfo": 
            {
                var div1 = document.getElementById("Fu-Pdf");
                div1.style.display = 'none';
                div1.innerHTML = "";
                loadPdfs('Newsletter');
                break;
            }
        case "GetFileTypes": 
            {
                if (result[0].Extension == ".pdf") {
                    var div1 = document.getElementById("Fu-Pdf");
                    //pick type pdf: press release, article, newsletter
                    div1.appendChild(document.createTextNode("PDF Type"));
                    div1.appendChild(document.createElement("br"));
                    var selectEle = document.createElement("select");
                    selectEle.id = "Fu-pdf1-PDFType";
                    selectEle.onchange = FileTypeChange;
                    var selectIdx = 0
                    var pdfType = getQueryVariable("PdfType")
                    for (num = 0; num < result.length; num++) {
                        if (result[num].GroupName == "uploadPdfType") {
                            var elOptNew = document.createElement('option');
                            elOptNew.text = result[num].ItemName;
                            elOptNew.value = result[num].ItemValue;
                            if (pdfType == result[num].ItemValue)
                                selectIdx = num;
                            try {
                                selectEle.add(elOptNew, null); // standards compliant; doesn't work in IE
                            }
                            catch (ex) {
                                selectEle.add(elOptNew); // IE only
                            }
                        }
                    }
                    selectEle.selectedIndex = selectIdx;
                    div1.appendChild(selectEle);
                    div1.appendChild(document.createElement("br"));
                    div1.appendChild(document.createTextNode("Department"));
                    div1.appendChild(document.createElement("br"));
                    // Pick department
                    var selectEle = document.createElement("select");

                    selectEle.id = "Fu-pdf1-Department";
                    selectEle.onchange = function() {
                        //show or hide department based on type

                    }
                    for (num = 0; num < result.length; num++) {
                        if (result[num].GroupName == "Department") {
                            var elOptNew = document.createElement('option');
                            elOptNew.text = result[num].ItemName;
                            elOptNew.value = result[num].ItemValue;
                            try {
                                selectEle.add(elOptNew, null); // standards compliant; doesn't work in IE
                            }
                            catch (ex) {
                                selectEle.add(elOptNew); // IE only
                            }
                        }
                    }
                    div1.appendChild(selectEle);
                    var selectEle = document.getElementById("Fu-pdf1-PDFType");
                    selectEle.onchange();
                    div1.appendChild(document.createElement("br"));
                    div1.appendChild(document.createTextNode("Title"));
                    div1.appendChild(document.createElement("br"));
                    // Give it a title
                    var input = document.createElement("input");
                    input.id = "Fu-pdf1-Title";
                    input.style.width = "335px";
                    input.maxLength = "50";
                    div1.appendChild(input);
                    div1.appendChild(document.createElement("br"));
                    div1.appendChild(document.createTextNode("Description"));
                    div1.appendChild(document.createElement("br"));
                    // Give it a description/Teaser (1st paragraph)
                    var textarea1 = document.createElement("textarea");
                    textarea1.id = "Fu-pdf1-Description";
                    textarea1.cols = "40";
                    textarea1.rows = "3";
                    div1.appendChild(textarea1);
                    div1.appendChild(document.createElement("br"));
                    div1.appendChild(document.createTextNode("Author"));
                    div1.appendChild(document.createElement("br"));
                    var input = document.createElement("input");
                    input.id = "Fu-pdf1-Author";
                    div1.appendChild(input);
                    var button = document.createElement("img");
                    button.onclick = SubmitInfo;
                    button.targetDiv = "Fu-Pdf";
                    button.value = "Fu";
                    button.name = "SubmitInfo";
                    button.src = "../images/submit.gif";
                    div1.appendChild(document.createElement("br"));
                    div1.appendChild(button);
                    div1.style.display = 'block';
                    return 1;
                }
            }
    }
}

function ErrorFileCallback(result) {
    alert(result);
}
function SettingsIn() {
    var name = "";
    var id = "";
    var value = "";
    var subgroup = "";
}

function SubmitInfo() {
    //Get the data
    var SubmitType = "";
    if (this.targetDiv == "profile")
        var screen = document.getElementById(this.targetDiv);
    else if (this.targetDiv == "Fu-Pdf") {
        var screen = document.getElementById(this.targetDiv);
        SubmitType = "Fu";
    }
    else {
        var screen = document.getElementById(this.targetDiv).childNodes[1];
    }

    var settings = new Array();
    var settingCount = 0;
    for (idxcnt = 0; idxcnt < screen.childNodes.length; idxcnt++) {
        switch (screen.childNodes.item(idxcnt).nodeName) {
            case "INPUT": 
                {
                    switch (screen.childNodes.item(idxcnt).name) {
                        case "Permission": 
                            {
                                settings[settingCount] = new SettingsIn();
                                settings[settingCount].variableType = screen.childNodes.item(idxcnt).name;
                                settings[settingCount].variableName = screen.childNodes.item(idxcnt).id.substring(8);
                                settings[settingCount].variableValue = screen.childNodes.item(idxcnt).checked;
                                settingCount++;
                                break;
                            }
                        case "SubmitInfo": 
                            {
                                SubmitType = screen.childNodes.item(idxcnt).value;
                                break;
                            }
                        case "hiddendate": 
                            {
                                settings[settingCount] = new SettingsIn();
                                settings[settingCount].variableType = "date";
                                settings[settingCount].variableName = screen.childNodes.item(idxcnt).id.substring(8);
                                var spandate = "span-" + screen.childNodes.item(idxcnt).id;
                                spandate = document.getElementById(spandate);
                                spandate = spandate.innerHTML;
                                //Input format "2008-02-09 03:30:00 AM" Want "2008-02-09T03:30:00 GMT-400" Or submit like is and do conversion on the server side
                                var splitspandate = spandate.split(" ");
                                var timesplit = splitspandate[1];
                                timesplit = timesplit.split(":");
                                var hours = timesplit[0];
                                hours = +hours;
                                if (splitspandate[2] == "PM") {
                                    if (hours < 12)
                                        hours = hours + 12;
                                }
                                else {
                                    if (hours == 12)
                                        hours = 0;
                                }

                                spandate = splitspandate[0] + "T" + hours + ":" + timesplit[1] + ":" + timesplit[2];
                                settings[settingCount].variableValue = spandate;
                                if (this.targetDiv == "profile")
                                    settings[settingCount].subgroup = screen.childNodes.item(idxcnt).id.substring(3, 7);
                                settingCount++;
                                break;
                            }
                        default: 
                            {
                                SubmitType = screen.childNodes.item(idxcnt).id.substring(0, 2);
                                settings[settingCount] = new SettingsIn();
                                settings[settingCount].variableType = screen.childNodes.item(idxcnt).name;
                                settings[settingCount].variableName = screen.childNodes.item(idxcnt).id.substring(8);
                                settings[settingCount].variableValue = screen.childNodes.item(idxcnt).value;
                                if (this.targetDiv == "profile")
                                    settings[settingCount].subgroup = screen.childNodes.item(idxcnt).id.substring(3, 7);
                                settingCount++;
                            }
                    }
                    break;
                }
            case "SELECT": 
                {
                    switch (screen.childNodes.item(idxcnt).name) {
                        default: 
                            {
                                settings[settingCount] = new SettingsIn();
                                var select = screen.childNodes.item(idxcnt);
                                settings[settingCount].variableType = select.name;
                                settings[settingCount].variableName = select.id.substring(8);
                                if (this.targetDiv == "profile")
                                    settings[settingCount].subgroup = screen.childNodes.item(idxcnt).id.substring(3, 7);
                                tmpVal = select.options[select.selectedIndex].value;
                                if (tmpVal == "")
                                    tmpVal = select.value;
                                settings[settingCount].variableValue = tmpVal;
                                settingCount++;
                            }
                    }
                    break;
                }
            case "TEXTAREA": 
                {
                    switch (screen.childNodes.item(idxcnt).name) {
                        case "Editor": 
                            {
                                settings[settingCount] = new SettingsIn();
                                var id = screen.childNodes.item(idxcnt).id;
                                settings[settingCount].variableValue = EncodeJsString(tinyMCE.getInstanceById(id).getBody().innerHTML);
                                settings[settingCount].variableName = screen.childNodes.item(idxcnt).id.substring(8);
                                if (this.targetDiv == "profile")
                                    settings[settingCount].subgroup = screen.childNodes.item(idxcnt).id.substring(3, 7);
                                settings[settingCount].variableType = "Editor";
                                settingCount++;
                                break;
                            }
                        default: 
                            {
                                settings[settingCount] = new SettingsIn();
                                settings[settingCount].variableType = screen.childNodes.item(idxcnt).name;
                                settings[settingCount].variableName = screen.childNodes.item(idxcnt).id.substring(8);
                                settings[settingCount].variableValue = screen.childNodes.item(idxcnt).value;
                                if (this.targetDiv == "profile")
                                    settings[settingCount].subgroup = screen.childNodes.item(idxcnt).id.substring(3, 7);
                                settingCount++;
                            }
                    }
                    break;
                }
        }
    }
    switch (SubmitType) {
        case "Fu": 
            {
                maetbew.FileService.SubmitFileInfo("PDF", settings, getQueryVariable("org"), SuccessFileCallback, ErrorFileCallback);
                break;
            }
        case "Ev": 
            {
                EventSubmit(settings);
                break;
            }
        case "Ar": 
            {
                ArticleSubmit(settings);
                break;
            }
        case "Pr": 
            {
                ProfileSubmit(settings);
                break;
            }
    }

    //close and reset everything
}

function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var query = query.replace("&amp;", "&");
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return pair[1];
        }
    }
} 

