﻿///////////////////////////////////////////
function ShowHidePrivatMsgPanel() {
    (document.getElementById('divPrivatMessage').className == 'hs')
                            ? document.getElementById('divPrivatMessage').className = 'hs toShow'
                            : document.getElementById('divPrivatMessage').className = 'hs';
}
function ShowBlogContent() {
    var spanBlog = document.getElementById('spanBlog');
    if (spanBlog.style.display == "none") {
        spanBlog.style.display = "block";
        spanBlog.style.visibility = "visible";
    }
    else {
        spanBlog.style.display = "none";
        spanBlog.style.visibility = "hidden";
    }
}

ajaxTargetCtrlID = 'divAjaxRating';
/////////////////////////////////////////

var imgPhotoBig;
var imgPlayBtn;
var playSpeed = 5;
var IsPlaying = false;
var playText, stopText;
function InitPlay(imgID, play, pSpeed, _playText, _stopText) {
    imgPhotoBig = document.getElementById(imgID);
    imgPlayBtn = document.getElementById('imgPlay');
    playText = _playText;
    stopText = _stopText;
    IsPlaying = play;
    if (pSpeed) {
        playSpeed = pSpeed;

    }
    ChangeSpeed(0);
    SetRightBtn();
    imgPlayBtn.onclick = function () { ChangeMode(); };
    if (IsPlaying == true)
        if (imgPhotoBig.complete == false)
            imgPhotoBig.onload = function () { setTimeout('ShowNextImage()', playSpeed * 1000); };
        else
            setTimeout('ShowNextImage()', this.playSpeed * 1000);
}
function ChangeSpeed(delta) {
    if (delta == 1) {
        if (playSpeed < 10)
            playSpeed++
    }
    else
        if (delta == -1)
            if (playSpeed > 3)
                playSpeed--;
//document.getElementById('spanPlaySpeed').innerHTML = playSpeed;
}

function SetRightBtn() {
    if (IsPlaying) {
        //  imgPlayBtn.className = 'pause';
        imgPlayBtn.innerHTML = stopText;
    }
    else {
        //imgPlayBtn.className = 'play';
        imgPlayBtn.innerHTML = playText;
    }
}
function ChangeMode() {
    IsPlaying = !IsPlaying;
    SetRightBtn();
    if (IsPlaying)
        setTimeout('ShowNextImage()', playSpeed * 1000);
}

function ShowNextImage() {
    if (IsPlaying) {
        if (lnkCtrlNext) {
            var url = lnkCtrlNext.replace('#anc', '');
            if (url.indexOf("?") > 0)
                document.location = url + '&play=1&pSpeed=' + playSpeed + '#anc';
            else
                document.location = url + '?play=1&pSpeed=' + playSpeed + '#anc';
        }
        else
            ChangeMode();
    }
}

function answer(txtID, userLogin) {
    $("#divAddComment").show();
    if(userLogin)
    document.getElementById(txtID).value = "to " + userLogin + ":\n";
    document.location = "#add";
    document.getElementById(txtID).focus();
}
///////////////////////////// resize фоток
var previewsSet;
var left = 0;
var step_num = 0;
var step_size = 50;
var minSize = 104;
var previewsSetArr = []
var begun;
$(document).ready(function () {
    var positionInnerWrapper = $("#innerWrapper").position();
    var InnerWrapperPaddingLeft = parseInt($("#innerWrapper").css("paddingLeft"), 10)
    begun = $("#begun")
    if (begun.length == 0)
        return;
    var scaleMarginLeft = parseInt($("#scale").css("marginLeft"), 10)
    var positionBegun = $("#begun").position();
    previewsSet = $(".wrap_img img, div.div_in img");
    var riska = $("#scale .riska");
    var xs = $("#scale .xs");
    var xl = $("#scale .xl");
    var toDrag = 0;
    document.getElementById('begun').ondragstart = function () { return false; }
    begun.mousedown(function () {
        toDrag = 1;
    })
    $(document).mouseup(function (e) {        
        if (toDrag == 1) {
            toDrag = 0;
            if (left <= 25) {
                resizeByStep(0);
                resizePhotos();
            }
            if (left > 25 && left <= 75) {
                resizeByStep(1);
                resizePhotos();
            }
            if (left > 75 && left <= 125) {
                resizeByStep(2);
                resizePhotos();
            }
            if (left > 125) {
                resizeByStep(3);
                resizePhotos();
            }
        }   
    })
    $(document).mousemove(function (e) {
        if (toDrag == 1) {
            left = e.clientX - (positionInnerWrapper.left + InnerWrapperPaddingLeft + scaleMarginLeft) - 4;
            if (left < 0) { left = 0 }
            if (left > 150) { left = 150 }
            resizePhotos();
        }
    });

    // дискретное увеличение
    xl.click(function () {
        step_num++;
        if (step_num > 3) step_num = 3;
        left = step_num * step_size;
        resizePhotos();
        resizeByStep(step_num);
    })
    // дискретное уменьшение
    xs.click(function () {
        step_num--;
        if (step_num < 0) step_num = 0;
        left = step_num * step_size;
        resizePhotos();
        resizeByStep(step_num);
    })

    riska.click(function () {
        left = parseInt($(this).css("left"), 10) + 5;
        resizePhotos();
        resizeByStep(riska.index(this) + 1);
    })


    function resizePhotos() {
        begun.css("left", left);
        InitImagesData();
        
        previewsSet.each(function (i) {
            $(this).width(previewsSetArr[i].width + left)
        })
    }
    if (getCookie("gstep")) {
        setTimeout('resizeByStep(' + getCookie("gstep") + ', true)', 500);
    }
});
function InitImagesData() {
    if (previewsSetArr.length == 0) {
        previewsSet.each(function (i) {
            previewsSetArr[i] = { width: $(this).width(), height: $(this).height(), path: $(this).attr("src") };
            this.onload = function () { $(this).width("auto"); }
        });
    }
}
function resizeByStep(s, start) {
    if (start) {
        if (s == 0) return;
        for (var i = 0; i < previewsSet.length; i++) {
            if ($(previewsSet[i]).width() < 10)
            { setTimeout('resizeByStep(' + s + ', true)', 500); return; }
        }
        begun.css("left", s * step_size);
    }
    else
        SetCookie("gstep", s, 1);
    InitImagesData();
    step_num = s;
    left = step_num * step_size;
    previewsSet.each(function (i) {
        if (step_num == 0)
            $(this).attr("src", previewsSetArr[i].path);
        else {
            //                var w = previewsSetArr[i].width + left;
            //                var h = Math.round((w / previewsSetArr[i].width) * previewsSetArr[i].height);
            var w = minSize + left;
            $(this).attr("src", "/handlers/ImgCached.ashx?img=" + previewsSetArr[i].path.replace("mini/", "") + "&width=" + w + "&height=" + w);
        }
    });
}

//скроллинг различных фоток
function ScrollWeddingImages(scrollTo) {
    $.each($("div.back_forward_scroll"),
function (index) {
    var block = $(this);
    var blockWidth = block.width() - 30;
    var imagesWidth = 0;
    var prev = block.find("div.back_scroll");
    var next = block.find("div.forward_scroll");
    var divImages = block.find("div.wrap_user_foto");
    var margin = 0;
    prev.click(function () {
        if (imagesWidth == 0)
            getWidth();
        if (margin > 0) {
            margin = Math.max(margin - blockWidth, 0);
            divImages.animate({ marginLeft: -margin });
        }
        if (margin == 0)
            prev.find("span").removeClass("active");
        next.find("span").addClass("active");
    });
    next.click(function () {
        if (imagesWidth == 0)
            getWidth();
        if (imagesWidth - margin > blockWidth) {

            margin = Math.min(margin + blockWidth, imagesWidth - blockWidth);
            divImages.animate({ marginLeft: -margin });
        }
        if (margin > 0)
            prev.find("span").addClass("active");
        if (imagesWidth - margin <= blockWidth)
            next.find("span").removeClass("active");
    });
    function getWidth() {
        $.each(divImages.find(">div"), function () {
            imagesWidth += $(this).width() + parseInt($(this).css("marginRight")) + 3;
        });
    }
}
);
if ($("div.bg_smal_right").width() > 0)
    $("div.scroll_content").width($("div.bg_smal_right").width());
    //srolling внутри картинки
$.each($("div.wrap_sPhoto"),
function (index) {
    var block = $(this);
    var blockWidth = block.find("div.scroll_content").width();
    var prev = block.find("div.back_scroll");
    var next = block.find("div.forward_scroll");
    var divImages = block.find("div.scroll_content");
    var divImagesInner = block.find("div.scroll_content > div.inner_scroll_content");
    var divFirst = divImages.find("div.sPhoto:first");
    var divWidth = 79; /*divFirst.outerWidth(true);*/ // ширина одной превьюшки
    var prevsKolvo = divImages.find("div.sPhoto").length;
    var prevsKolvoVis = parseInt(blockWidth / divWidth, 10) // колво превьюшек в видимой области
    var divNewsWidth = divWidth * prevsKolvo;
    var currentItem = 0;
    var enableScrollFlag = true; // если общая ширина превьюшек меньше blockWidth - отменяем скроллирование
    
    setTimeout(function() {getPreviewsImgs()}, 100);
    
    function getPreviewsImgs() {
        if(divNewsWidth <= blockWidth) {
            $("div.back_scroll").remove();
            $("div.forward_scroll").remove();
            enableScrollFlag = false;
            divImages.addClass("notAnableScroll");
        }
    }
    
    //смещаем активный элемент
    var active = divImages.find("div.sPhoto.active");
    if (active.length == 1 && enableScrollFlag) {
        currentItem = divImages.find("div.sPhoto").index(active);
        if(currentItem < prevsKolvo - prevsKolvoVis) {
            divImagesInner.animate({ marginLeft: -(divWidth * currentItem) }, 500)
        }
        else {
            divImagesInner.css("marginLeft", -((prevsKolvo - prevsKolvoVis) * divWidth))
            next.find("span").removeClass("active")
            currentItem = prevsKolvo - prevsKolvoVis-1;
        }
        if (currentItem > 0)
            prev.find("span").addClass("active");
    }
    //клики по кнопкам
    prev.click(function () {
        if (currentItem > 0) {
            currentItem--;
            divImagesInner.animate({ marginLeft: -(divWidth * currentItem) });
        }
        if (currentItem == 0)
            prev.find("span").removeClass("active");
        next.find("span").addClass("active");
    });
    next.click(function () {
        var margin = currentItem * divWidth;
        if (divNewsWidth - margin > blockWidth + 5) {
            currentItem++;
            divImagesInner.animate({ marginLeft: -(divWidth * currentItem) });
        }
        if (currentItem > 0)
            prev.find("span").addClass("active");
        margin = currentItem * divWidth;
        if (divNewsWidth - margin <= blockWidth + 5)
            next.find("span").removeClass("active");
    });
}
);
}

function VoteForImage(id, mark) {
    if (id > 0)
        $("div.roundCornersb").load("/page_modules/imagerating.aspx?cmd=" + mark + "&id=" + id);
}



$(document).ready(function () {
    //большая фотка    
    var heightBigImgFromCookie = getCookie("heightBigImg");
    var wrapBigPhoto = $("#wrapBigPhoto");
    var bigPhotoImg = wrapBigPhoto.find(">img");
    var loader = $("#loader");
    var bigImgW = 0;
    var bigImgH = 0;
    var time_id = 0;
    
    // из кук задаем контейру высоту предыдущей картинки
    wrapBigPhoto.height(heightBigImgFromCookie);
    
    if ($("td.bigPhoto a.showBigImg").is(":visible")) {
        // большая картинка оригинального размера
        time_id = setTimeout(function() {checkOriginalBigImgSizes()}, 250)
    }
    else {
        // просто большая картинка
        time_id = setTimeout(function() {checkBigImgSizes()}, 250)
    }
    
    function checkOriginalBigImgSizes() {
        var href = $("td.bigPhoto a.showBigImg").attr("href");
        var width = wrapBigPhoto.width();
        
        // для полного обновления большой картинки удаляем ее, а потом заного создаем, но перед этим запоминаем ее ид
        var id_bigImg = bigPhotoImg.attr("id");        
        bigPhotoImg.remove();
        wrapBigPhoto.append("<img src='' id='" + id_bigImg + "' />");
        
        wrapBigPhoto.find(">img").attr("src", "/handlers/ImgAlt.ashx?img=" + href + "&width=" + width + "&height=" + width);
        
        // обновляем переменную bigPhotoImg 
        bigPhotoImg = wrapBigPhoto.find(">img");
        
        // запускаем через timeout проверку загрузилась ли обновленная картинка 
        // проверка проходит в два этапа: сначало на complete, потом на присутствие в пути картинки слово "original"
        var time_id2 = setTimeout(function() {checkPathOriginalImg()}, 200)
        
        function checkPathOriginalImg() {
            if(bigPhotoImg.get(0).complete) {
                if(bigPhotoImg.attr("src").indexOf("original") >= 0) {
                    bigImgW = bigPhotoImg.width();
                    bigImgH = bigPhotoImg.height();
                    clearTimeout(time_id2);
                    bigImgIsLoaded();
                }
            }
            else {
                time_id2 = setTimeout(function() {checkPathOriginalImg()}, 200)
            }
        }
    }
    
    
    function checkBigImgSizes() {
        if(bigPhotoImg.get(0).complete) {                                
            bigImgW =  bigPhotoImg.width();
            bigImgH =  bigPhotoImg.height();
            bigImgIsLoaded();
            clearTimeout(time_id);                
        }
        else 
            time_id = setTimeout(function() {checkBigImgSizes()}, 250)
    }

    function bigImgIsLoaded() {
            wrapBigPhoto.animate({ "height": bigImgH }, 800, function () {
                loader.hide();
                bigPhotoImg.css("position", "static")
                bigPhotoImg.animate({ "opacity": 1 }, 500);
                SetCookie("heightBigImg", wrapBigPhoto.height())
            });
    }
    //голосование
    $("div.starbig").live("mouseout", function () { this.className = "starbig stars0"; });
    $("div.starbig>span").live("mouseover", function () {
        var index = $("div.starbig>span").index(this);
        $("div.starbig").get(0).className = "starbig";
        $("div.starbig").addClass("stars" + (index + 1));
    });
});

