﻿// Das ist die Basisfunktion um Ajax Validierung zu ermöglichen. Es werden <input type=hidden> zurückgegeben,
// durch die ich itterieren und die werte dortdrin auf die targets die durch den namen angegeben werden
// anwende
function SwapTempToResultDiv(visibleDiv, tempDiv, waitDiv) {
    var elements;
    document.getElementById(tempDiv).style.display = "none";
    document.getElementById(waitDiv).style.display = "none";

    if (document.all) elements = document.all;
    else if (document.getElementsByTagName && !document.all) elements = document.getElementsByTagName("*");

    for (i = 0; i < elements.length; i++) {
        if (elements[i].getAttribute("id") != null) {
            // Alle ErrorPlaceholder zurücksetzen
            if (elements[i].getAttribute("id").indexOf("error") >= 0 && elements[i].getAttribute("id").indexOf("placeholder")>=0) {
                var bez = elements[i].getAttribute("id");
                document.getElementById(bez).innerHTML = "";
                document.getElementById(bez).style.display = "none";
                var errorFocusBezeichnung = 'errorfocus' + bez.replace('error', '').replace('placeholder','');
                document.getElementById(errorFocusBezeichnung).className = "";
            }

            if (elements[i].getAttribute("id").indexOf("redirectaction") >= 0) {
                var bez = elements[i].getAttribute("id");
                location.href=document.getElementById(bez).value;
            }

            // Alle Image-Placerholder zurücksetzen
            if (elements[i].getAttribute("id").indexOf("image") >= 0 && elements[i].getAttribute("id").indexOf("placeholder") >= 0) {
                var bez = elements[i].getAttribute("id");
                document.getElementById(bez).innerHTML = "";
                document.getElementById(bez).style.display = "none";
            }

            // Alle CustomObject-Placerholder zurücksetzen
            if (elements[i].getAttribute("id").indexOf("customobject") >= 0 && elements[i].getAttribute("id").indexOf("placeholder") >= 0) {
                var bez = elements[i].getAttribute("id");
                document.getElementById(bez).innerHTML = "";
                document.getElementById(bez).style.display = "none";
            }

            // Alle Video-Placerholder zurücksetzen
            if (elements[i].getAttribute("id").indexOf("video") >= 0 && elements[i].getAttribute("id").indexOf("placeholder") >= 0) {
                var bez = elements[i].getAttribute("id");
                document.getElementById(bez).innerHTML = "";
                document.getElementById(bez).style.display = "none";
            }
        }
    }

    var jumpedToFirstError = false;
    if (document.getElementById('hiddenResult') != null && document.getElementById('hiddenResult').value == 'error') {
        for (i = 0; i < elements.length; i++) {
            if (elements[i].getAttribute("id") != null) {
                // Alle Error-PlaceHolder füllen
                if (elements[i].getAttribute("id").indexOf("error") >= 0 && 
                elements[i].getAttribute("id").indexOf("placeholder") == -1 &&
                elements[i].getAttribute("id").indexOf("focus") == -1) {
                    var bez = elements[i].getAttribute("id") + "placeholder";
                    
                    document.getElementById(bez).innerHTML = "<img src=\"/Content/images/error.gif\" style=\"padding-right:5px;padding-top:3px;width:12px;height:12px;\" alt=\"Fehler\" align=\"left\"/>" + document.getElementById(elements[i].getAttribute("id")).value;
                    document.getElementById(bez).style.display = "inline";
                    var errorFocusBezeichnung = 'errorfocus' + bez.replace('error', '').replace('placeholder', '');
                    document.getElementById(errorFocusBezeichnung).className = "errorfocus";

                    if (jumpedToFirstError == false) {
                        window.location.href = "#" + errorFocusBezeichnung;
                        jumpedToFirstError = true;
                    }
                }
                
                // Alle Image-Placeholder füllen
                if (elements[i].getAttribute("id").indexOf("image") >= 0 &&
                elements[i].getAttribute("id").indexOf("placeholder") == -1 &&
                elements[i].getAttribute("id").indexOf("focus") == -1) {
                    var bez = elements[i].getAttribute("id") + "placeholder";
                    
                    document.getElementById(bez).innerHTML = "<img src=\"" + document.getElementById(elements[i].getAttribute("id")).value + "\" style=\"padding-right:5px;padding-top:3px;\" alt=\"Vorschau\" onmouseover=\"Tip('Dieses Bild wurde für die Vorschau verkleinert. Auf der Detailseite dieses Software-Eintrags wird dieses Bild jedoch in voller Größe dargestellt werden.')\" onmouseout=\"UnTip();\" align=\"left\"/>";
                    document.getElementById(bez).style.display = "inline";

                    /*var index = 0;
                    if (elements[i].getAttribute("id").indexof('hauptscreenshot') >= 0) {
                        index = 1;
                    }
                    
                    if (elements[i].getAttribute("id").indexof('screenshot2') >= 0) {
                        index = 2;
                    }

                    if (elements[i].getAttribute("id").indexof('screenshot3') >= 0) {
                        index = 3;
                    }

                    if (elements[i].getAttribute("id").indexof('screenshot4') >= 0) {
                        index = 4;
                    }

                    if (elements[i].getAttribute("id").indexof('screenshot5') >= 0) {
                        index = 5;
                    }
                    
                    switch (index) {
                        case 1:
                            document.getElementById('hauptscreenshotupload').value = '';
                            document.getElementById('hauptscreenshotToggle').style.display = 'none';
                            document.getElementById('hauptscreenshotToggleChange').style.display = 'inline';
                            break;
                        case 2:
                            document.getElementById('uploadedscreenshot2').value = '';
                            document.getElementById('screenshot2Toggle').style.display = 'none';
                            document.getElementById('screenshot2ToggleChange').style.display = 'inline';
                            break;
                        case 3:
                            document.getElementById('uploadedscreenshot3').value = '';
                            document.getElementById('screenshot3Toggle').style.display = 'none';
                            document.getElementById('screenshot3ToggleChange').style.display = 'inline';
                            break;
                        case 4:
                            document.getElementById('uploadedscreenshot4').value = '';
                            document.getElementById('screenshot4Toggle').style.display = 'none';
                            document.getElementById('screenshot4ToggleChange').style.display = 'inline';
                            break;
                        case 5:
                            document.getElementById('uploadedscreenshot5').value = '';
                            document.getElementById('screenshot5Toggle').style.display = 'none';
                            document.getElementById('screenshot5ToggleChange').style.display = 'inline';
                            break;
                    }*/
                }

                // Alle CustomObject-Placeholder füllen
                if (elements[i].getAttribute("id").indexOf("customobject") >= 0 &&
                elements[i].getAttribute("id").indexOf("placeholder") == -1 &&
                elements[i].getAttribute("id").indexOf("focus") == -1) {
                    var bez = elements[i].getAttribute("id") + "placeholder";

                    document.getElementById(bez).innerHTML = document.getElementById(elements[i].getAttribute("id")).value;
                    document.getElementById(bez).style.display = "inline";
                }

                // Alle Video-Placeholder füllen
                if (elements[i].getAttribute("id").indexOf("video") >= 0 &&
                elements[i].getAttribute("id").indexOf("placeholder") == -1 &&
                elements[i].getAttribute("id").indexOf("focus") == -1) {
                    var bez = elements[i].getAttribute("id") + "placeholder";

                    document.getElementById(bez).innerHTML = " <a  " +
                                                            " onmouseout=\"UnTip();\" onmouseover=\"Tip('Dieses Video wurde für die Vorschau verkleinert. Auf der Detailseite dieses Software-Eintrags wird dieses Video jedoch in voller Größe dargestellt werden.')\"  " +
			                                                " href=\"" + document.getElementById(elements[i].getAttribute("id")).value + "\"  " +
			                                                " style=\"display:block;width:250px;height:187px\"  " +
			                                                " id=\"previewvideo1\"></a>";

                    /*document.getElementById(bez).innerHTML += " <script type=\"text/javascript\" language=\"javascript\"> " +
                                                              " function PlayPreviewVideo() { flowplayer(\"previewvideo1\", \"/Videoplayer/flowplayer-3.1.5.swf\", { " +
                                                              " plugins: { " +
                                                              " controls: { " +
                                                              " url: '/Videoplayer/flowplayer.controls-3.1.5.swf', " +
                                                              " playlist: false, " +
                                                              " backgroundColor: '#000000', " +
                                                              " opacity: 1.0, " +
                                                              " backgroundGradient: [1.0, 1.0, 1.0], " +
                                                              " tooltips: { " +
                                                              " buttons: true, " +
                                                              " fullscreen: 'Enter Fullscreen mode' }}}}); };" +
                                                              " PlayPreviewVideo(); " +
                                                              " </script> ";*/
                    PlayPreviewVideo();                                                            
                    document.getElementById(bez).style.display = "inline";
                }
            }
        }
    } else {
        if (document.getElementById('hiddenResult') != null && document.getElementById('hiddenResult').value == 'error2') {
            document.getElementById(tempDiv).style.display ="inline";
        } else {
            document.getElementById(visibleDiv).innerHTML = document.getElementById(tempDiv).innerHTML;
        }
    }

    // Wenn die Größe automatisch nicht ermittelt werden kann, sollen ersteinmal die manuellen Größenangabetextfelder erscheinen
    var osArray = new Array('windows', 'linux', 'macos','android','ios', 'windowsphone', 'blackberry');
    for (var i = 0; i < osArray.length; i++) {
        if (document.getElementById('customobjectdownload' + osArray[i] + 'placeholder') != null && document.getElementById('customobjectdownload' + osArray[i] + 'placeholder').innerHTML != "") {
            if (document.getElementById('customobjectdownload' + osArray[i] + 'placeholder').innerHTML.length > 10) {
                document.getElementById('sizetd' + osArray[i] + 'manuell').style.display = "table-row-group";
            } else {
                document.getElementById('sizetd' + osArray[i] + 'manuell').style.display = "none";
            }
        }
    }
};

function onLoadPreViewVideo() {
    PlayPreviewVideo();
}
