﻿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]; 
        } 
    }   
} 

