﻿/* Spusti se v pripade chyby Silverlightu */
function onSilverlightError(sender, args) {

    var appSource = "";
    if (sender != null && sender != 0) {
        appSource = sender.getHost().Source;
    }
    var errorType = args.ErrorType;
    var iErrorCode = args.ErrorCode;

    var errMsg = "Unhandled Error in Silverlight 2 Application " + appSource + "\n";

    errMsg += "Code: " + iErrorCode + "    \n";
    errMsg += "Category: " + errorType + "       \n";
    errMsg += "Message: " + args.ErrorMessage + "     \n";

    if (errorType == "ParserError") {
        errMsg += "File: " + args.xamlFile + "     \n";
        errMsg += "Line: " + args.lineNumber + "     \n";
        errMsg += "Position: " + args.charPosition + "     \n";
    }
    else if (errorType == "RuntimeError") {
        if (args.lineNumber != 0) {
            errMsg += "Line: " + args.lineNumber + "     \n";
            errMsg += "Position: " + args.charPosition + "     \n";
        }
        errMsg += "MethodName: " + args.methodName + "     \n";
    }

    document.getElementById('silverlightControlHost').style.display = 'none';

    throw new Error(errMsg);
}

/* Klikne na prvni A tag uvnitr objektu */
function clickInsideAnchor(obj) {
    navigateToUrl(obj.getElementsByTagName("A")[0].href);
}

/* Projede vsechny taby na strance a nastavi jim onClick, tak aby se automaticky kliklo na odkaz uvnitr LI */
function setupTabMenu() {
    var uls = document.getElementsByTagName("ul");
    for (var i = 0; i < uls.length; i++) {
        if (uls[i].className == "tabMenu") {
            var lis = uls[i].getElementsByTagName("li");
            for (var j = 0; j < lis.length; j++) {
                lis[j].onclick = function() { clickInsideAnchor(this); };
            }
        }
    }
}

/* Zobrazi objekt */
function showObject(id) {
    var o = document.getElementById(id);
    if (o != null) o.style.display = '';
}

/* Schova objekt */
function hideObject(id) {
    var o = document.getElementById(id);
    if (o != null) o.style.display = 'none';
}

function toggleVisibilityObject(id, expandCollapseObject) {
    var o = document.getElementById(id);
    if (o != null) {
        if (o.style.display == '') {
            o.style.display = 'none';
            expandCollapseObject.className = expandCollapseObject.className.replace('Collaps', 'Expand');
        }
        else {
            o.style.display = '';
            expandCollapseObject.className = expandCollapseObject.className.replace('Expand', 'Collaps');
        }
    }
}

function setHiddenField(id, value) {
    var o = document.getElementById(id);
    if (o != null) {
        o.value = value;
    }
}

/* Detail nemovitosti/projektu --> */
var detailCurrentImageIndex = 0;

function detailShowBigImage(index) {
    if (index == detailPicturesCount) index = 0;
    if (index == -1) index = detailPicturesCount - 1;

    document.getElementById('detailBigImage').src = detailImagesUrls[index];
    //document.getElementById('detailFullImage').src = detailFullImagesUrls[index];
    document.getElementById('currentImageIndexTitle').innerHTML = index + 1;
    
    detailCurrentImageIndex = index;
}
function detailShowNextImage() {
    detailShowBigImage(detailCurrentImageIndex + 1);
}
function detailShowPrevImage() {
    detailShowBigImage(detailCurrentImageIndex - 1);
}
// <--

/* Vrati hodnotu FORM fieldu */
function safeValue(objectId) {
    var o = document.getElementById(objectId);
    if (o != null) return o.value;
    return "";
}

/* Nastavi FORM field na danou hodnotu */
function safeSetValue(objectId, val) {
    document.getElementById(objectId).value = val;
}

/* Otevre popup okno */
function openWindow(url,id) {
    window.open(url, id, 'height=650,width=700,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=no');
}

/* Naviguje browser na danou URL */
function navigateToUrl(url) {
    window.location.href = url;
}

function galleryOpenImage(url) {
    var o = document.getElementById('galleryBigImageImg');
    var cont = document.getElementById('galleryBigImage');
    if (o != null) {
        o.src = url;
        cont.style.display = '';
    }
}

function galleryCloseImage() {
    var o = document.getElementById('galleryBigImage');
    if (o != null) {
        o.style.display = 'none';
    }
}

function allDistrictsSelected() {
    var i = 1;
    while (true) {
        var name = "districtNumber_" + i;
        var o = document.getElementById(name);
        if (o == null) return true;
        if (!o.checked) return false;
        i++;
    }
}

function toggleAllDistricts() {
    var i = 1;
    var newValue = !allDistrictsSelected();
    while (true) {
        var name = "districtNumber_" + i;
        var o = document.getElementById(name);
        if (o == null) return;
        o.checked = newValue;
        i++;
    }
}
