﻿function MU() {
    var MUObj = {};
    
    MUObj.Magnify = false;
    
    var divPhotos = document.getElementById("divPhotos");
    
    var formCount = 0;
    var UploadFormArray = [];
    var ImagesArray = [];
    
    YAHOO.namespace("example.container");


    function getElementsByTagNameAndClass(el,tn,n) {
        var arr = [];
        var allEl = el.getElementsByTagName(tn);
        if (allEl && allEl.length > 0) {
            for (var i = 0;i < allEl.length;i++) {
                if (allEl[i].className === n) {
                    arr.push(allEl[i]);
                }
            }        
        }
        return arr;
    }
    
    function GetUploadForm() {
        formCount++;
        var frm = document.createElement("FORM");
        frm.action = "uploadphotoscatcher.aspx";
        frm.enctype = "multipart/form-data";
        frm.method = "post";        
        frm.id = "uploadForm_" + formCount;
        
        var inputField = document.createElement("INPUT");
        inputField.type = "file";
        inputField.name = "inputField_" + formCount;
        inputField.id = "inputField_" + formCount;
        inputField.style.margin = "5px 0";
        inputField.style.width = "350px";
        
        frm.appendChild(inputField);
        return frm;
    }    
    MUObj.CreateNewUploadForm = function (formArea,add) {
    
        var divFormArea = document.getElementById(formArea);
        if (!add) { 
            UploadFormArray = [];  
            divFormArea.innerHTML = "";      
        }
        var form = GetUploadForm();
        divFormArea.appendChild(form);
        
        UploadFormArray.push(form.id);
        if (UploadFormArray.length > 0) { 
            if (document.getElementById("butUpload") !== null) {             
                var butUpload = document.getElementById("butUpload");
                butUpload.style.display = "";   
            }
//            if (document.getElementById("butClearAll") !== null) {  
//                document.getElementById("butClearAll").style.display = "";
//            }
            document.getElementById("divUploadMsg").innerHTML = "";
            document.getElementById("divUploadMsg").className = "";
        }
    };
    
    function GetImgTag(filename) {
        
        var img = document.createElement("IMG");
        img.src = "image.aspx?n=" + filename + "&s=thumbnail";
        img.style.height = "50px";
        //img.style.float = "left";
        img.style.margin = "5px";
        img.style.cursor = "pointer";
        img.style.border = "solid 2px white";
        img.name = filename;
        if (MU.Magnify) {
            img.onmouseover = function () {FP.ExpImg(500,this);};
        } else {
            img.onmouseover = function () {this.style.border = "solid 2px yellow"; };
        }
        img.onmouseout = function () {this.style.border = "solid 2px white"; };
        img.onclick = function () {MU.ClickImg(this); };
        return img;
    }
    function GetImgBlock(imginfo) {
        var filename = imginfo[0];
        var description = imginfo[1];
        var table = document.createElement("TABLE"); 
        table.id = "table_" + filename;
        table.setAttribute("style", "float:left");//for FF        
        table.style.styleFloat = "left";// for IE
        var tb = document.createElement("TBODY");
        var tr = document.createElement("TR");
        var td = document.createElement("TD");
        td.style.margin = "5px";
        td.style.textAlign = "center";
        td.appendChild(GetImgTag(filename));
        
        td.appendChild(document.createElement("BR"));
        
        var spanDelete = document.createElement("SPAN");
        spanDelete.style.cursor = "pointer";
        spanDelete.style.margin = "5px";
        spanDelete.style.fontSize = "x-small";
        spanDelete.innerHTML = "<u>Delete</u>";
        spanDelete.onclick = function () {if (confirm("Are you sure you want to delete this image?")) { MU.DeleteImg(filename); }};
        
        var spanEdit = document.createElement("SPAN");
        spanEdit.style.cursor = "pointer";
        spanEdit.style.margin = "5px";
        if (description.length === 0) {
            spanEdit.innerHTML = "<u>Add Text</u>"; 
        } else {
            spanEdit.innerHTML = "<u>Edit Text</u>"; 
        }
        spanEdit.style.fontSize = "x-small";
        spanEdit.onclick = function () {MU.ShowMessageDialog(filename); };
        
        td.appendChild(spanDelete);
        td.appendChild(spanEdit);
        
        tr.appendChild(td);
        tb.appendChild(tr);
        table.appendChild(tb);
        
        return table;
    }
    MUObj.ClickImg = function (el) { 
        DisplayImage(el.name);
    };  
    function DisplayImage(filename) {
        if (document.getElementById("imgArea") !== null) {            
            
            var temp = document.createElement("DIV");
            var img = document.createElement("IMG");
            temp.appendChild(img);
            img.src = "image.aspx?n=" + filename + "&s=medium";
            img.style.height = "150px";
            img.style.margin = "0 auto";
            img.style.border = "solid 2px white";
            img.alt = filename;
            img.id = "img2Post";
            document.getElementById("imgArea").style.height = img.style.height;
            document.getElementById("imgArea").innerHTML = temp.innerHTML;
            //document.getElementById("imgArea").appendChild(img);
            document.getElementById("imgArea").style.display = "";
            document.getElementById("divInclImg").style.display = "none";
            document.getElementById("divImgCancel").style.display = "";
            document.getElementById("divUploadForm").style.display = "none";
            document.getElementById("butGrpOwnPerm").style.display = "";
            temp = null;
            
            if (document.getElementById("txtMsg") !== null) {
                var msg = GetDescription(filename);
                if (msg != "") {
                    document.getElementById("txtMsg").value += "\n" + msg;
                }
            }
        }
    }
    function ShowAllImages() {
        divPhotos.innerHTML = "";
        if (ImagesArray.length === 0 || (ImagesArray.length === 1 && ImagesArray[0][0] === "")) {
            divPhotos.innerHTML = "Your user space is empty";
        } else {
            divPhotos.innerHTML = "User Space: " + ImagesArray.length + " images.<br />";
            for (var i = 0;i < ImagesArray.length;i++) {
                divPhotos.appendChild(GetImgBlock(ImagesArray[i]));
            
            }
        }
    }
    MUObj.DeleteImg = function (filename) { 
        var sUrl = "UserSpaceDeleteImage.aspx?n=" + filename;
        
        var responseSuccess = function (o) {
        /* Please see the Success Case section for more
         * details on the response object's properties.
         * o.tId
         * o.status
         * o.statusText
         * o.getResponseHeader[ ]
         * o.getAllResponseHeaders
         * o.responseText
         * o.responseXML
         * o.argument
         */
            if (o.responseText === "ok") {
                var file = o.argument[0];
                var tempArray = [];                
                for (var i = 0;i < ImagesArray.length;i++) {
                    if (ImagesArray[i][0] !== file) {
                        tempArray.push(ImagesArray[i]);
                    }
                }
                ImagesArray = tempArray;
                ShowAllImages();
            
                if (document.getElementById("imgArea") !== null) {   
                    document.getElementById("imgArea").style.display = "none";
                    document.getElementById("divInclImg").style.display = "";
                    document.getElementById("divImgCancel").style.display = "none";
                    document.getElementById("divUploadForm").style.display = "";
                    document.getElementById("butGrpOwnPerm").style.display = "none";
                }
            } else {
                alert(o.responseText + " --- " + o.argument[0]);
            }
        };

        var responseFailure = function (o) {
        // Access the response object's properties in the
        // same manner as listed in responseSuccess( ).
        // Please see the Failure Case section and
        // Communication Error sub-section for more details on the
        // response object's properties.
        };

        var callback =
        {
            cache: false,
            success: responseSuccess,
            failure: responseFailure,
            argument: [filename]
        };
        
        var transaction = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
    }; 
    function GetDescription(filename) {
        var description = "";
        for (var i = 0;i < ImagesArray.length;i++) {
            if (ImagesArray[i][0] === filename) {
                return ImagesArray[i][1];
            }
        }
        return description;
    }
    function SetDescription(filename, description) {
        for (var i = 0;i < ImagesArray.length;i++) {
            if (ImagesArray[i][0] === filename) {
                ImagesArray[i][1] = description;
                break;
            }
        }
    }   
    function CreateNewDialog(filename) {
        var dialogArea = document.getElementById("dialogArea");
        
        var divDlg = document.createElement("DIV");
        divDlg.id = "dialog_" + filename;
        var divHd = document.createElement("DIV");
        divHd.className = "hd";
        divHd.innerHTML = "Enter or edit description for this image";
        var divBd = document.createElement("DIV");
        divBd.className = "bd";
        divBd.innerHTML = "<form method=\"POST\" action=\"UserSpaceUploadDescription.aspx\">" + 
                "<label for=\"idTxt\">Description:</label><textarea id=\"idTxt_" + filename + "\" name=\"idTxt\" style=\"width:100%;height:150px;\">" + GetDescription(filename) + "</textarea>" +
                "<input type=\"hidden\" id=\"hiddenFormField_" + filename + "\" name=\"hiddenFormField\" value=\"" + filename + "\" />" +
                "</form>";
        divDlg.appendChild(divHd);
        divDlg.appendChild(divBd);
        dialogArea.appendChild(divDlg);
    }
    MUObj.ShowMessageDialog = function (filename) { 
        
        // Define various event handlers for Dialog
	    var handleSubmit = function () {
		    this.submit();
		    
		    document.getElementById("dialogArea").innerHTML = "";
	    };
	    var handleCancel = function () {
		    this.cancel();
		    document.getElementById("dialogArea").innerHTML = "";
	    };
	    var handleSuccess = function (o) {
		    var response = o.responseText;
		    if (response === "ok") {
		        SetDescription(filename, YAHOO.example.container.dialog1.getData().idTxt);
		    }
		    alert("ShowMessageDialog: " + response);
	    };
	    var handleFailure = function (o) {
		    alert("Submission failed: " + o.status);
	    };
        
        CreateNewDialog(filename);
        
        // Instantiate the Dialog
	    YAHOO.example.container.dialog1 = new YAHOO.widget.Dialog("dialog_" + filename, 
							{ width : "50em",
							  fixedcenter : true,
							  visible : false, 
							  modal : true, 
							  constraintoviewport : true,
							  buttons : [ { text: "Submit", handler: handleSubmit, isDefault: true },
								      { text: "Cancel", handler: handleCancel } ]
							});
								// Wire up the success and failure handlers
	    YAHOO.example.container.dialog1.callback = { cache: false, success: handleSuccess,
						         failure: handleFailure };
    	
	    // Render the Dialog
	    YAHOO.example.container.dialog1.render();

        YAHOO.example.container.dialog1.show();
    };
    
    
    /* =================================================================== */
    /* ========= */  
    MUObj.Edit = function(mid) {
                
        var handleSuccess = function (o) {
            
            if (o.responseText.indexOf("ok:") === 0) {
                var response = o.responseText.substring(3);
                MU.ShowPostForm(response,mid);                
            } else {
                alert("Edit handleSuccess issue = " + o.responseText);
            }
        
        };           
         
        var handleFailure = function (o) {
            alert("Edit handleFailure = " + o.statusText);
        }; 
        
        var request = YAHOO.util.Connect.asyncRequest('GET', "json/msginfo.aspx?mid=" + mid, {
              success: handleSuccess,
              failure: handleFailure,
              argument: []
            }, null);
        
    }
    /* ========= */  
    /* =================================================================== */
    
    /* =================================================================== */
    /* ========= */  
    MUObj.Quote = function(mid) {
        var auth = "";
        var el = getElementsByTagNameAndClass(document.getElementById("divAuthInfo|" + mid),"SPAN","authName");
        if (el !== null) {
            auth = el[0].innerHTML;
        }
        
        
        var handleSuccess = function (o) {
            
            if (o.responseText.indexOf("ok:") === 0) {
                var response = o.responseText.substring(3);
                MU.ShowPostForm("[quote=" + auth + "]" + response + "[/quote]");
                
            } else {
                alert("Quote handleSuccess issue = " + o.responseText);
            }
        
        };           
         
        var handleFailure = function (o) {
            alert("Quote handleFailure = " + o.statusText);
        }; 
        
        var request = YAHOO.util.Connect.asyncRequest('GET', "json/msginfo.aspx?mid=" + mid, {
              success: handleSuccess,
              failure: handleFailure,
              argument: []
            }, null);
        
    }
    /* ========= */  
    /* =================================================================== */
    
    /* =================================================================== */
    /* ========= */
     
    MUObj.ShowEmptyPostForm = function() {
        MU.ShowPostForm();
    };
    function unescapeHTML(s) {        
        return s.replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&');

    } 
    function SetPostFormDefaults() {        
        document.getElementById("imgDiv").style.display = "";
        document.getElementById("divPhotos").style.display = "";          
        if (document.getElementById("divSubject") !== null) {
            document.getElementById("txtSubject").value = "Re: " + unescapeHTML(document.getElementById("divSubject").innerHTML);
        }
        document.getElementById("txtMsg").value = "";                 
        document.getElementById("divInclImg").style.display = "";
        document.getElementById("divImgCancel").style.display = "none";
        document.getElementById("divUploadForm").style.display = "none";
        document.getElementById("butGrpOwnPerm").style.display = "none";
        document.getElementById("imgArea").style.display = "none";
        document.getElementById("imgArea").innerHTML = "";
        document.getElementById("postButtons").style.visibility = "";
    }
    MUObj.ShowPostForm = function(contents,edit) {
        
        //set defaults:
        SetPostFormDefaults();
        
        var divPostType = "";
        if (document.getElementById("divPostType") !== null) {
            divPostType = document.getElementById("divPostType").innerHTML;
        }
            
        if (edit !== undefined && edit > 0) {
            document.getElementById("imgDiv").style.display = "none";
            document.getElementById("divPhotos").style.display = "none";
        }
           
        if (contents !== undefined) {
            document.getElementById("txtMsg").value = contents;
        }
        
        function ShowSmilies(p_oEvent) {               
            
            if (YAHOO.example.container.ovSmileys === undefined) {
                YAHOO.example.container.ovSmileys = 
                        new YAHOO.widget.Panel("divSmilies",  
                            { width:"300px", 
                              constraintoviewport: true, 
                              close:true, 
                              draggable:true, 
                              zindex:100,
                              modal:false,
                              visible:false
                            } 
                        );
                YAHOO.example.container.ovSmileys.render(document.body);
            }
            YAHOO.example.container.ovSmileys.show();
            FP.ClickableSmileyCode('allSmileys','txtMsg');return false;
        }
        function onClosePostFormEvent(p_oEvent) {
            YAHOO.example.container.ov.hide();
        }
        
        function onButInclImgClick(p_oEvent) {                   
            document.getElementById("divInclImg").style.display = "none";
            document.getElementById("divImgCancel").style.display = "";
            document.getElementById("divUploadForm").style.display = "";
            MU.CreateNewUploadForm("divFormArea",false);
            document.getElementById("butGrpOwnPerm").style.display = "";
            
        }
        function onButImgCancelClick(p_oEvent) {                   
            document.getElementById("divInclImg").style.display = "";
            document.getElementById("divImgCancel").style.display = "none";
            document.getElementById("divUploadForm").style.display = "none";
            document.getElementById("butGrpOwnPerm").style.display = "none";
            document.getElementById("imgArea").style.display = "none";
            document.getElementById("imgArea").innerHTML = "";
        }
        
        function Post(p_oEvent) {
            //p_oEvent.target.style.visibility = "hidden";
            document.getElementById("divThreadId")
            var divThreadId = "";
            var divForumId = "";
            if (document.getElementById("divThreadId") !== null) {
                divThreadId = document.getElementById("divThreadId").innerHTML;
            }
            if (document.getElementById("divForumId") !== null) {
                divForumId = document.getElementById("divForumId").innerHTML;
            }
            var rdoOwn = document.getElementById("rdoOwn").checked;
            var rdoPerm = document.getElementById("rdoPerm").checked;
            var txtSubject = document.getElementById("txtSubject").value;
            var txtMsg = document.getElementById("txtMsg").value;
            var imgName = "";
            
            //is there an image associated with this post?
            if (document.getElementById("imgArea").style.display === "") {
                if (!rdoOwn && !rdoPerm) {
                    alert("You must specify whether you own this image or have permission to upload it!");
                    return;
                }
                
                //alert("b4=" + document.getElementById("img2Post").alt);
                imgName = document.getElementById("img2Post").alt;
            } else if (document.getElementById("divUploadForm").style.display === "") {
                alert("Add a photo or cancel photo addition");
                    return;
            }
            
            if (txtSubject.replace(/^\s+|\s+$/g, '').length === 0) {
                alert("You must enter a subject!");
                return;
            } 
            if (txtMsg.replace(/^\s+|\s+$/g, '').length === 0) {
                alert("You can't leave the message area blank!");
                return;
            } 
            
            if (rdoOwn === true) {
                document.getElementById("frmOwnership").value = "own";
            }
            if (imgName === "") {                
                if (divPostType !== "either") {
                    alert("You must attach a photo to start a thread in this forum!");
                    return;
                }              
            }            
            
            document.getElementById("postButtons").style.visibility = "hidden";
            
            //alert("imgName=" + imgName);
            document.getElementById("frmImg").value = imgName;
            document.getElementById("frmForumId").value = divForumId;
            document.getElementById("frmThreadId").value = divThreadId;
            if (edit !== undefined && edit > 0) {
                document.getElementById("frmMsgId").value = edit;
            }
            MU.MakePost();                    
        }
        if (YAHOO.example.container.ov === undefined) {
            var o1 = new YAHOO.widget.Button("butInclImg", { onclick: { fn: onButInclImgClick } });
            var o2 = new YAHOO.widget.Button("butImgCancel", { onclick: { fn: onButImgCancelClick } });
            var o3 = new YAHOO.widget.Button("butShowSmilies", { onclick: { fn: ShowSmilies } });
            var oButPost = new YAHOO.widget.Button("butPost", { onclick: { fn: Post } });
        
            YAHOO.example.container.ov = new YAHOO.widget.Panel("overlayPostForm",  
                        { width:"700px", 
                          fixedcenter:true, 
                          constraintoviewport: true, 
                          close:true, 
                          draggable:true, 
                          zindex:99,
                          modal:true,
                          visible:false
                        } 
                    );
            YAHOO.example.container.ov.render(document.body);
            YAHOO.example.container.ov.hideEvent.subscribe(onClosePostFormEvent);
        }
        if (edit !== undefined && edit > 0) {
            YAHOO.example.container.ov.setHeader("Edit Post"); 
        } else {
            if (divPostType !== "either") {
                YAHOO.example.container.ov.setHeader("Posting Form - Photo required");
            } else { 
                YAHOO.example.container.ov.setHeader("Posting Form - Photo optional"); 
            }
        }
        YAHOO.example.container.ov.show();
               
        MU.GetImages();
    };    
    /* ========= */  
    /* =================================================================== */
    
    /* =================================================================== */
    /* ========= */   
    MUObj.MakePost = function () {
          
        var handleSuccess = function (o) {
            
            if (o.responseText.indexOf("ok:") === 0) {
                var newMsgId = o.responseText.split(":")[1];
                var cb = new Date().getTime();
                window.location.href = "thread.aspx?mid=" + newMsgId + "&cb=" + cb + "#" + newMsgId;
                //window.location.reload();
            } else {
                alert("Problem with post - " + o.responseText);
                document.getElementById("postButtons").style.visibility = "";
            }
        };           
         
        var handleFailure = function (o) {
            alert("MakePost handleFailure = " + o.statusText);
            document.getElementById("postButtons").style.visibility = "";
        }; 
        
        var formObject = document.getElementById("frmPost");
        YAHOO.util.Connect.setForm(formObject);
        var request = YAHOO.util.Connect.asyncRequest('POST', "UploadPostCatcher.aspx", {
              success: handleSuccess,
              failure: handleFailure,
              argument: []
            }, null);
            
    }; 
    /* ========= */    
    /* =================================================================== */
    
    
    /* =================================================================== */
    /* ========= */
    MUObj.ShowFileUploadForm = function() {
        
        if (YAHOO.example.container.oFU === undefined) {
        
            function onAddImgClick(p_oEvent) {  
                MU.CreateNewUploadForm("divFormArea",true);
            }
            function onClearAllClick(p_oEvent) {
                MU.ClearAllForms();
            }
            function Post(p_oEvent) {
                MU.UploadNext(0);
            }
            var o1 = new YAHOO.widget.Button("butAddImg", { onclick: { fn: onAddImgClick } });
            var o2 = new YAHOO.widget.Button("butClearAll", { onclick: { fn: onClearAllClick } });
            var oButPost = new YAHOO.widget.Button("butPost", { onclick: { fn: Post } });
            
            YAHOO.example.container.oFU = 
                    new YAHOO.widget.Panel("overlayUploadForm",  
                        { width:"700px", 
                          fixedcenter:true, 
                          constraintoviewport: true, 
                          close:true, 
                          draggable:true, 
                          zindex:99,
                          modal:true,
                          visible:false
                        } 
                    );
            YAHOO.example.container.oFU.render(document.body);
        }
        YAHOO.example.container.oFU.show();
    };    
    /* ========= */  
    /* =================================================================== */
    
    /* =================================================================== */
    /* ========= */    
    var sUrl = "uploadphotoscatcher.aspx";
    var postData = "username=anonymous&userid=0";
    function StripPRE(sourcestring) {
        var re = /<pre[^><]*>|<.pre[^><]*>/ig;
        sourcestring = sourcestring.replace(re,"");
        return sourcestring;
    }
    MUObj.UploadNext = function (cnt) {
        //if cnt = 0 then upload in loop
        
        if (UploadFormArray.length === 0) {
            alert("Nothing to upload! Add a file.");
        } else {
              
            var handleSuccess = function (o) {
            //not needed?
            };           
             
            var handleFailure = function (o) {
                var failText = "There was a problem with the upload: \n"
                failText += "Status: " + o.status + "\n";
                failText += "Message: " + o.statusText;
            };   
            var handleAbort = function (o) {
                alert("upload aborted!");
            };      
            var handleUpload = function (o) {
             
                if (o.responseText === undefined) {
                    alert("No valid message was received from the server?!");
                } else {
                    var responseText = StripPRE(o.responseText);
	                if (responseText.toLowerCase().indexOf("result:") === 0) {
    	            
	                    var formId = o.argument[0];
	                    var uploadForm = document.getElementById(formId);
	                    var fieldId = formId.replace("uploadForm_", "inputField_");
	                    var inputField = document.getElementById(fieldId);
	                    var divResponse = document.createElement("DIV");
	                    var responses = responseText.toLowerCase().replace("result:", "").split("\n");
        	            
	                    for (var j = 0; j < responses.length; j++) {	                
	                        var ok = responses[j].split(",")[0];
	                        var img =  responses[j].split(",")[1];
	                        if (ok === "ok") {
	                            DisplayImage(img);
	                            divResponse.innerHTML =  "<span style=\"color:green; white-space:nowrap\">" + inputField.value + " successfully uploaded</span>";
	                            //ImagesArray.unshift(new Array(responses[1].split(":")[1], ""));
	                            ImagesArray.unshift([img, ""]);
	                            ShowAllImages();
	                        } else {
	                            divResponse.innerHTML =  "<span style=\"color:red; white-space:nowrap\">" + inputField.value + " Upload Failed!</span>";
	                            alert("handleUpload - " + responses[j]);
	                        }
	                    }
                        document.getElementById("divUploadMsg").innerHTML = "Uploading finished";
                        document.getElementById("divUploadMsg").className = "";
                        
                        uploadForm.parentNode.insertBefore(divResponse, uploadForm);
                        uploadForm.parentNode.removeChild(uploadForm);
                        UploadFormArray.shift();
                        if (UploadFormArray.length > 0) {
                            MU.UploadNext(0);
                        } else {            
                            if (document.getElementById("butAddForm") !== null) {
                                document.getElementById("butAddForm").style.display = ""; 
                            }  
                            if (document.getElementById("butClearAll") !== null) {   
                                document.getElementById("butClearAll").style.display = "";
                            }
                        }	        
	                }
	                else {
	                    alert("UploadNext: " + o.responseText);
	                }
	            }
	        }
        };     

        if (document.getElementById("butUpload") !== null) {
            document.getElementById("butUpload").style.display = "none";
        }
        if (document.getElementById("butAddForm") !== null) {
            document.getElementById("butAddForm").style.display = "none";   
        }
        if (document.getElementById("butClearAll") !== null) {   
            document.getElementById("butClearAll").style.display = "none";
        }
        
        var formObject = document.getElementById(UploadFormArray[0]);
        if (document.getElementById(UploadFormArray[0].replace("uploadForm_", "inputField_")).value.length > 0) {        
            
            document.getElementById("divUploadMsg").innerHTML = "Uploading " + UploadFormArray[0];
            document.getElementById("divUploadMsg").className = "busy";
            
            YAHOO.util.Connect.setForm(formObject, true);
	        var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, {
                  success: handleSuccess,
                  failure: handleFailure,
                  upload: handleUpload,
                  cache: false,
                  argument: [UploadFormArray[0], cnt]
            }, postData);
        } else {
            if (cnt === 0) {
                UploadFormArray.shift();            
                formObject.parentNode.removeChild(formObject);            
                
                if (UploadFormArray.length > 0) {
                    MU.UploadNext(0);
                } else {                
                    if (document.getElementById("butAddForm") !== null) {
                        document.getElementById("butAddForm").style.display = "";   
                    }
                    if (document.getElementById("butClearAll") !== null) {   
                        document.getElementById("butClearAll").style.display = "";
                    }
                }
            } else {
                alert("No File!");
            }
        }        
    };	
    /* ========= */
    /* =================================================================== */
    
    MUObj.handleImageSuccess = function (o) {
	    if (o.responseText !== undefined) {
	        if (o.status === 200 && o.statusText === "OK") {
	            if (o.responseText !== "") {
	                var tempArray = o.responseText.split("{!SPLIT!}");
	                for (var i = 0; i < tempArray.length;i = i + 2) {
	                    ImagesArray[i / 2] = [tempArray[i], tempArray[i + 1]];
	                }
	            }
	            ShowAllImages();
	        }
		    
	    }
    };
    MUObj.handleImageFailure = function (o) {
     
	    if (o.responseText !== undefined) {
		    divPhotos.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
		    divPhotos.innerHTML += "<li>HTTP status: " + o.status + "</li>";
		    divPhotos.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
	    }
    };    
    
    MUObj.GetImages = function () {
	    var request = YAHOO.util.Connect.asyncRequest('GET', "userspaceimagestream.aspx", {
	            cache: false,
                success: MUObj.handleImageSuccess,
                failure: MUObj.handleImageFailure,
                argument: ['1', '2']
            });
    };


     MUObj.ClearAllForms = function () {
     
        UploadFormArray = [];
        
        //document.getElementById("butUpload").style.display = "none";      
        //document.getElementById("butClearAll").style.display = "none";
        //document.getElementById("butAddForm").style.display = "";        
        document.getElementById("divFormArea").innerHTML = "";
        
        MUObj.CreateNewUploadForm();
     
    };
    
    return MUObj;
}
