﻿        function ShowJobPreviewInJobsList(JobID, JobURL, AufgabeHTML)
        {
            if (AufgabeHTML == undefined)
            {
                LinkTextAufgabeHTML = "-";
            }
            else
            {
                LinkTextAufgabeHTML = AufgabeHTML
            }
            /* Zum Transfer wird HTML-Code durch Sonderzeichen vermieden, die hier ersetzt werden */
            var myRegExp1 = /[<]/g;
            var myRegExp2 = /[>]/g;
            var myRegExp3 = /["]/g;
            var myRegExp4 = /[']/g;
            LinkTextAufgabeHTML = LinkTextAufgabeHTML.replace(myRegExp1,"--lt--");
            LinkTextAufgabeHTML = LinkTextAufgabeHTML.replace(myRegExp2,"--gt--");
            LinkTextAufgabeHTML = LinkTextAufgabeHTML.replace(myRegExp3,"--quot--");
            LinkTextAufgabeHTML = LinkTextAufgabeHTML.replace(myRegExp4,"--27--");
            AnzeigeAufgabeHTML = LinkTextAufgabeHTML;
            AnzeigeAufgabeHTML = AnzeigeAufgabeHTML.replace(/--lt--/g,"<");
            AnzeigeAufgabeHTML = AnzeigeAufgabeHTML.replace(/--gt--/g,">");
            AnzeigeAufgabeHTML = AnzeigeAufgabeHTML.replace(/--quot--/g,"\"");
            AnzeigeAufgabeHTML = AnzeigeAufgabeHTML.replace(/--27--/g,"\"");

            /* Erstelle PreviewRow falls noch nicht vorhanden */                    
            testExist= document.getElementById("PreviewRow" + JobID)
            if (testExist == null)
            {
                RootZeile = document.getElementById("KennungJob" + JobID).parentNode.parentNode;
                if (RootZeile.className == "GridRow_JobSearch")
                {
                    strCSSNeu = "GridRow_JobSearch-row";
                    strCSSBasisZeile = "GridRow_JobSearch no_border";
                }
                else
                {
                    strCSSNeu = "GridAltRow_JobSearch";            
                    strCSSBasisZeile = "GridAltRow_JobSearch no_border";
                }
                /* Der Preview-HTML lässt sich nicht einfach so hineinschreiben. Jede HTML-Tag/Attribut muss eigenständig erzeugt werden */
                newRow = document.createElement("tr");
                newRow.id = "PreviewRow" + JobID;
                newRow.className = strCSSBasisZeile;
                /* Für die Erstellung kann kann die folgende Funktion nehmen
                /* Helper.JavaScriptHelper.ConvertInnerHTMLCreateElement("<td colspan=\"2\" valign=\"bottom\" class=\"joblist_preview\"><span id=\"PreviewText\">TEXTTEXTTEXT</span><a href='URLURLURL'>mehr...</a><br><br></td><td class='column4' valign='bottom'><br><br></td>"); */
                // beim Output:
                /* 1. \" durch " ersetzen */
                /* 2. nodeValue = "PreviewText" durch nodeValue = "PreviewText" + JobID ersetzen */
                /* URLURLURL durch JobURL ersetzen */
//                var newRowa1 = document.createElement("td"); var newRowa1a1 = document.createElement("span"); var newRowa1a1a1 = document.createTextNode("TEXTTEXTTEXT"); newRowa1a1.appendChild(newRowa1a1a1); var newRowa1a1b1 = document.createAttribute("id"); newRowa1a1b1.nodeValue = "PreviewText" + JobID; newRowa1a1.setAttributeNode(newRowa1a1b1); newRowa1.appendChild(newRowa1a1); var newRowa1a2 = document.createElement("a"); var newRowa1a2a1 = document.createTextNode("mehr..."); newRowa1a2.appendChild(newRowa1a2a1); var newRowa1a2b1 = document.createAttribute("href"); newRowa1a2b1.nodeValue = JobURL; newRowa1a2.setAttributeNode(newRowa1a2b1); newRowa1.appendChild(newRowa1a2); var newRowa1a3 = document.createElement("br"); newRowa1.appendChild(newRowa1a3); var newRowa1a5 = document.createElement("br"); newRowa1.appendChild(newRowa1a5); var newRowa1b1 = document.createAttribute("colspan"); newRowa1b1.nodeValue = "2"; newRowa1.setAttributeNode(newRowa1b1); var newRowa1b2 = document.createAttribute("valign"); newRowa1b2.nodeValue = "bottom"; newRowa1.setAttributeNode(newRowa1b2); var newRowa1b3 = document.createAttribute("class"); newRowa1b3.nodeValue = "joblist_preview_c1"; newRowa1.setAttributeNode(newRowa1b3); newRow.appendChild(newRowa1); var newRowa2 = document.createElement("td"); var newRowa2a1 = document.createElement("a"); var newRowa2a1a1 = document.createElement("img"); var newRowa2a1a1b1 = document.createAttribute("src"); newRowa2a1a1b1.nodeValue = '/App_Themes/Basic/images/icon-remember.gif'; newRowa2a1a1.setAttributeNode(newRowa2a1a1b1); var newRowa2a1a1b2 = document.createAttribute("alt"); newRowa2a1a1b2.nodeValue = 'Preview'; newRowa2a1a1.setAttributeNode(newRowa2a1a1b2); var newRowa2a1a1b3 = document.createAttribute("border"); newRowa2a1a1b3.nodeValue = '0'; newRowa2a1a1.setAttributeNode(newRowa2a1a1b3); var newRowa2a1a1b4 = document.createAttribute("class"); newRowa2a1a1b4.nodeValue = 'remember'; newRowa2a1a1.setAttributeNode(newRowa2a1a1b4); newRowa2a1.appendChild(newRowa2a1a1); var newRowa2a1a3 = document.createTextNode("merken");
//                newRowa2a1.appendChild(newRowa2a1a3); var newRowa2a1b1 = document.createAttribute("href"); newRowa2a1b1.nodeValue = '#'; newRowa2a1.setAttributeNode(newRowa2a1b1); newRowa2.appendChild(newRowa2a1); var newRowa2a2 = document.createElement("br"); newRowa2.appendChild(newRowa2a2); var newRowa2a4 = document.createElement("br"); newRowa2.appendChild(newRowa2a4); var newRowa2b1 = document.createAttribute("class"); newRowa2b1.nodeValue = 'joblist_preview_c2'; newRowa2.setAttributeNode(newRowa2b1); var newRowa2b2 = document.createAttribute("valign"); newRowa2b2.nodeValue = 'bottom'; newRowa2.setAttributeNode(newRowa2b2); newRow.appendChild(newRowa2);
                var newRowa1 = document.createElement("td"); var newRowa1a1 = document.createElement("span"); var newRowa1a1a1 = document.createTextNode("TEXTTEXTTEXT"); newRowa1a1.appendChild(newRowa1a1a1); var newRowa1a1b1 = document.createAttribute("id"); newRowa1a1b1.nodeValue = "PreviewText" + JobID; newRowa1a1.setAttributeNode(newRowa1a1b1); newRowa1.appendChild(newRowa1a1); var newRowa1a2 = document.createElement("a"); var newRowa1abr = document.createElement("br"); newRowa1.appendChild(newRowa1abr); var newRowa1a2a1 = document.createTextNode("mehr..."); newRowa1a2.appendChild(newRowa1a2a1); var newRowa1a2b1 = document.createAttribute("href"); newRowa1a2b1.nodeValue = JobURL; newRowa1a2.setAttributeNode(newRowa1a2b1); newRowa1.appendChild(newRowa1a2); var newRowa1a3 = document.createElement("br"); newRowa1.appendChild(newRowa1a3); var newRowa1a5 = document.createElement("br"); newRowa1.appendChild(newRowa1a5); var newRowa1b1 = document.createAttribute("colspan"); newRowa1b1.nodeValue = "2"; newRowa1.setAttributeNode(newRowa1b1); var newRowa1b2 = document.createAttribute("valign"); newRowa1b2.nodeValue = "bottom"; newRowa1.setAttributeNode(newRowa1b2); var newRowa1b3 = document.createAttribute("class"); newRowa1b3.nodeValue = "joblist_preview"; newRowa1.setAttributeNode(newRowa1b3); newRow.appendChild(newRowa1); var newRowa2 = document.createElement("td"); var newRowa2a1 = document.createElement("br"); newRowa2.appendChild(newRowa2a1); var newRowa2a3 = document.createElement("br"); newRowa2.appendChild(newRowa2a3); var newRowa2b1 = document.createAttribute("class"); newRowa2b1.nodeValue = 'column4';
                  newRowa2.setAttributeNode(newRowa2b1);var newRowa2b2 = document.createAttribute("valign");newRowa2b2.nodeValue = 'bottom';newRowa2.setAttributeNode(newRowa2b2);newRow.appendChild(newRowa2);
                  


                if (RootZeile.nextSibling == null) /* letzte Zeile */
                {
                    RootZeile.parentNode.appendChild(newRow,RootZeile);
                }
                else
                {
                    RootZeile.parentNode.insertBefore(newRow,RootZeile.nextSibling);
                }
//                RootZeile.className = strCSSBasisZeile;
                
                /* Text setzen */
                PreviewText = document.getElementById("PreviewText" + JobID);
                if (PreviewText != null)
                {
                    PreviewText.innerHTML = AnzeigeAufgabeHTML;
                } 

                /* Neu laden */
                LinkZeile = document.getElementById("LinkJobPreview" + JobID);
                if (LinkZeile != null)
                {
                    LinkZeile.innerHTML = "<a href='" + JobURL + "' onclick='this.removeAttribute(\"href\"); HideJobPreview(\"" + JobID + "\",\"" + JobURL + "\",\"" + strCSSBasisZeile + "\",\"" + LinkTextAufgabeHTML + "\")'><img src='/App_Themes/Basic/images/icon-preview-hide.gif' alt='Preview' border='0' class='preview_hide'/></a> <a href='" + JobURL + "' onclick='this.removeAttribute(\"href\"); HideJobPreview(\"" + JobID + "\",\"" + JobURL + "\",\"" + strCSSBasisZeile + "\",\"" + LinkTextAufgabeHTML + "\")'>Vorschau<br />schließen</a>";
                }
                
//                alert(LinkZeile.innerHTML);
//                MerkzeileOben = document.getElementById("JobMerkListeOben" + JobID);
//                if (MerkzeileOben != null)
//                {
//                    MerkzeileOben.innerHTML = "";
//                }
            }
        }

        function HideJobPreview(JobID, JobURL, strCSSBasisZeile, AufgabeHTML)
        {
            if (AufgabeHTML == undefined)
            {
                LinkTextAufgabeHTML = "-";
            }
            else
            {
                LinkTextAufgabeHTML = AufgabeHTML
            }
            var myRegExp1 = /[<]/g;
            var myRegExp2 = /[>]/g;
            var myRegExp3 = /["]/g;
            var myRegExp4 = /[']/g;
            LinkTextAufgabeHTML = LinkTextAufgabeHTML.replace(myRegExp1,"--lt--");
            LinkTextAufgabeHTML = LinkTextAufgabeHTML.replace(myRegExp2,"--gt--");
            LinkTextAufgabeHTML = LinkTextAufgabeHTML.replace(myRegExp3,"--quot--");
            LinkTextAufgabeHTML = LinkTextAufgabeHTML.replace(myRegExp4,"--27--");

            testExist= document.getElementById("PreviewRow" + JobID)
            if (testExist != null)
            {
                RootZeile = document.getElementById("PreviewRow" + JobID);
                if (RootZeile != null)
                {
                    RootZeile.parentNode.removeChild(RootZeile);
                }
                LinkZeile = document.getElementById("LinkJobPreview" + JobID);
                if (LinkZeile != null)
                {
                    LinkZeile.innerHTML = "<a href=\"" + JobURL + "\" onclick=\"this.removeAttribute('href'); ShowJobPreviewInJobsList('" + JobID + "','" + JobURL + "','" + LinkTextAufgabeHTML + "')\"><img src=\"/App_Themes/Basic/images/icon-preview.gif\" alt=\"Preview\" border=\"0\" class=\"preview\" />Vorschau</a>";
                    RootZeile = LinkZeile.parentNode.parentNode;
//                    RootZeile.className = strCSSBasisZeile;
                }
//                MerkzeileOben = document.getElementById("JobMerkListeOben" + JobID);
//                if (MerkzeileOben != null)
//                {
//                    MerkzeileOben.innerHTML = "<a href='#'><img src='/App_Themes/Basic/images/icon-remember.gif' alt='Preview' border='0' class='remember' /> merken</a>";
//                }
                
            }
       }    