        /* Lasse Ilvessalo, 1.9.2007 */
        /* This script is included in masterpage and handles the AJAX errors */
        /* Catch Scriptmanager timeout in nice way */
        var ajaxContainerID = "ajaxError";        
        var prm = Sys.WebForms.PageRequestManager.getInstance();

        prm.add_endRequest(function (sender, args) { 
            if (args.get_error()){
                var errMsg = "";
                var errTitle = "Virhetilanne";
                if(args.get_response().get_timedOut()) 
                    errMsg = "Järjestelmässä on ruuhkaa. Yritä hetken kuluttua uudestaan.";
                else if(args.get_error().httpStatusCode == '500')
                    errMsg = "Järjestelmävirhe (500). Yritä hetken kuluttua uudestaan.";
                else
                    errMsg = "Tapahtui virhe. Yritä hetken kuluttua uudestaan.";
                    
                if (prm.get_isInAsyncPostBack()) { // && args.get_postBackElement().id == 'CancelRefresh'
                     prm.abortPostBack();
                }   
                // If you need to get DOM object which caused postBack you can get it like this:
                // args.get_postBackElement()
                                                                  
                // Add errorbox similar to normal HTML controls using DOM
                document.body.appendChild(createDimmeli(errTitle, errMsg, "javascript:ClearErrorState();", "OK"));
                                    
                // remember to set errorHandled = true to keep from getting a popup from the AJAX library itself 
                args.set_errorHandled(true); 
                
                }
            })
            
            function createDimmeli(title, message, buttonLinkHref, linkText){
            
        
            /* Create dimmeli div using DOM */
                var container = document.createElement("div");
                container.className = "GLPErrorWindow";
                container.id = ajaxContainerID
                var background = document.createElement("div");
                background.className = "shadow";
                var errorMsgCont = document.createElement("div");
                errorMsgCont.className = "errorMsgCont";
                container.appendChild(background);
                container.appendChild(errorMsgCont);
                
                var errorMsgTop = document.createElement("div");
                errorMsgTop.className = "errorMsgTop";
                errorMsgCont.appendChild(errorMsgTop);
                var spanTitle = document.createElement("span");
                spanTitle.appendChild(document.createTextNode(title));
                errorMsgTop.appendChild(spanTitle);
                var errorMsgMiddle = document.createElement("div");
                errorMsgMiddle.className = "errorMsgMiddle";
                
                errorMsgCont.appendChild(errorMsgMiddle);
                var textMsg = document.createElement("div");
                textMsg.setAttribute("style","padding: 20px;");
                errorMsgMiddle.appendChild(textMsg);
                textMsg.appendChild(document.createTextNode(message));
                var tblContainer = document.createElement("div");
                tblContainer.setAttribute("style","margin: 20px auto 0pt; width: 75px;" );
                textMsg.appendChild(tblContainer);
                var tbl = document.createElement("table");
                tbl.className="Button23";
                tblContainer.appendChild(tbl);
                
                var tbody = document.createElement("tbody");
                tbl.appendChild(tbody);
                
                var tblTr = document.createElement("tr");
                tbody.appendChild(tblTr);
                
                var tblTd = document.createElement("td");
                tblTr.appendChild(tblTd);  

                var aBtn = document.createElement("a");
                aBtn.appendChild(document.createTextNode(linkText));
                aBtn.setAttribute("href",buttonLinkHref);

                
                tblTd.appendChild(aBtn);  
                                           
                                               
                return container;

            }                  
            
            function ClearErrorState() {
                // Just remove the ajaxError DOM object
                var msgDiv = document.getElementById(ajaxContainerID)
                if(msgDiv)                     
                    document.body.removeChild(msgDiv);

            }

