﻿//<![CDATA[
/*
MessageHandling.js Description
AlDimna Software, Inc.
3/15/2004 6:23:20 AM
By Faisal Alazemi 
Description :
    Message Handling is to handel all type of messagese Note, Error, info, ...
*/

//MessageCenter_MH this function will add a div to the top of the div's in the Content div.
function MessageCenter_MH(Title,Msg,Type){
    try{
        var ElmDIV = document.createElement("div");
 
        var ElmDIVContainer = document.createElement("div");
        var ElmP = document.createElement("p");
        var ElmA = document.createElement("a");
 
        ChangeClass_P(ElmDIV,Type);
        ElmP.innerHTML = Msg;
 
        ElmA.setAttribute("title","Hide Message");
        ElmA.appendChild(document.createTextNode("Hide"));

        var ObjID;
        if(Title!=""){
            var ElmH1 = document.createElement("h1");
            ObjID = "MessageHandling_" + Title.replace(/ /g, "");
            ElmH1.innerHTML = Title;
            ElmDIV.appendChild(ElmH1);
            ElmDIVContainer.setAttribute("id",ObjID);
            ElmA.setAttribute("href", "javaScript:RemoveMagCenter_MH('" + ObjID + "')");
        }
        else{
            ObjID = Msg.replace(/ /g, "");
            ObjID = "MessageHandling_AutoID" + ObjID.substring(0, 5);
            ElmDIVContainer.setAttribute("id",ObjID);
            ElmA.setAttribute("href","javaScript:RemoveMagCenter_MH('" + ObjID + "')");
        }
        ElmP.appendChild(ElmA);
        //ElmP.innerHTML +="<br />";
        ElmDIV.appendChild(ElmP);
      
        ElmDIV.appendChild(ElmP);
                                                         
        ElmDIVContainer.appendChild(ElmDIV);

        //this  only allowed one MsgCenter_MH_Container
        if(document.getElementById(ObjID)== undefined ){
            var RootContainer =document.getElementById("Content");
            if (RootContainer==undefined){RootContainer = document.body;}
            RootContainer.insertBefore(ElmDIVContainer, RootContainer.firstChild);
        }
        else{document.getElementById(ObjID).replaceChild(
            ElmDIV, document.getElementById(ObjID).getElementsByTagName("div")[0]);
        }
       //document.getElementById("Content").insertBefore(ElmDIVContainer,document.getElementById("Content").firstChild )
       
        //setTimeout(RemoveStatement, 10000)
         parent.window.scrollTo(0,0);
    }
    catch (e) {ErrorCenter_MH("MessageHandling.js File MessageCenter_MH", e);} 
}

function RemoveMagCenter_MH(Obj){
    try {
        if(document.getElementById(Obj)!= undefined ){
            //document.body.removeChild(document.getElementById(Obj));
            document.getElementById(Obj).parentNode.removeChild(document.getElementById(Obj));
        }
    }
    catch(e){ErrorCenter_MH("MessageHandling.js File RemoveMagCenter_MH", e);} 
}
//MessageCenter_MH end====================================================================

/*ErrorCenter_MH this function will recive the error msg then add a 
div at the top of the content Div with the error msg
*/
function ErrorCenter_MH(FunctionName, ErrObj){
    try{
        if (document.getElementById("ErrorCenter_MH_Container") ==  undefined){
            CreateErrorCenter_MH(FunctionName, ErrObj);
        }
        else{AddToErrorCenter(FunctionName, ErrObj);}
        
        //go to the top
        parent.window.scrollTo(0,0); 
    }       
    catch(e){
        if (e.description == undefined){alert("MessageHandling.js File ErrorCenter_MH function: "+e);}
        else{alert("MessageHandling.js File ErrorCenter_MH function: "+e.description );}
    } 
}

function CreateErrorCenter_MH(FunctionName, ErrObj){
    try{
        var ElmDIVContainer = document.createElement("div");
        var ElmH1 = document.createElement("h1");
        var ElmP = document.createElement("p");
        var ElmTN = document.createTextNode("An error has occurred on " + FunctionName + " function.");
        ChangeClass_P(ElmDIVContainer, "Error");
        ElmDIVContainer.setAttribute("id","ErrorCenter_MH_Container") ;
        
        for (var i in ErrObj){ElmP.innerHTML += "<b>" + i +  "</b>: " + ErrObj[i] + "<br />";}
  
        ElmH1.appendChild(ElmTN);
        ElmDIVContainer.appendChild(ElmH1);
        ElmDIVContainer.appendChild(ElmP);
        //document.body.insertBefore(ElmDIVContainer, document.body.firstChild);
        
         var RootContainer =document.getElementById("Content");
            if (RootContainer==undefined){RootContainer = document.body;}
            RootContainer.insertBefore(ElmDIVContainer, RootContainer.firstChild);
           
      
    }        
    catch(e){
        if (e.description == undefined){alert("MessageHandling.js File CreateErrorCenter_MH function: "+e);}
        else{alert("MessageHandling.js File CreateErrorCenter_MH function: "+e.description );}
    } 

}

function AddToErrorCenter(FunctionName, ErrObj){
    try{
        var ElmDIV = document.getElementById("ErrorCenter_MH_Container"); 
        var ElmH1 = document.createElement("h1");
        var ElmP = document.createElement("p");
        var ElmTN = document.createTextNode("An error has occurred on " + FunctionName + " function.");
        
        ElmH1.appendChild(ElmTN);
        for (var i in ErrObj){ElmP.innerHTML += "<b>" + i +  "</b>: " + ErrObj[i] + "<br />"};
        ChangeClass_P(ElmDIV, "Error");
        ElmDIV.appendChild(ElmH1);
        ElmDIV.appendChild(ElmP);
        ChangeClass_P(ElmDIV, "Error");
    }
    catch(e){
        if ("MessageHandling.js File AddToErrorCenter function: "+e.description == undefined){alert(e);}
        else{alert("MessageHandling.js File AddToErrorCenter function: "+e.description );}
    } 
}
//ErrorCenter_MH end================================================================================

//]]>   
