window.__OVERTAB_HEADER_CORRECTION = {'margin':0, 'padding':0, 'top':0, 'left':0};
window.__OVERTAB_BODY_CORRECTION = {'margin':0, 'padding':0, 'top':0, 'left':10};

var isGetProfInfo=false;
var arEl=[];
var commSortOrder='DESC';
window.intervalP=false; 

document.addEvent('click', function(e){
    hidePupw(e);
});

function hidePupw(e)
{
    e=getMousePos(e);
    $$('.pupw').each(function(el){
       var pos=getPosFast(el);
       if(pos.x> e.x ||
          pos.x+el.offsetWidth<e.x ||
          pos.y> e.y +30 ||
          pos.y+el.offsetHeight<e.y
       )
       {
            el.setStyle('display', 'none');
       }
    });

}

window.addEvent('resize', function(){ 
    var slideParent=$('slideParent');
    if(slideParent!=null && slideParent.getStyle('display')!='none'){
        var wSize=window.getSize().size;
        if(wSize.x<800){
            slideParent.setStyle('width', '1000px');
        }
        else{
            slideParent.setStyle('width', '100%');
        }
        if(wSize.y<600){
            slideParent.setStyle('height', '600px');
        }
        else{
            slideParent.setStyle('height', '100%');
        }
    }
});


function setTags(inTags){
    var tagField=$('tags');
    if(tagField!=null && inTags.ok){
        var tagsCurrent=[];
        if(tagField.value!=''){
            tagsCurrent=tagField.value.split(',');
        }
        tagsCurrent=tagsCurrent.merge(inTags.tags);
        tagsCurrent=tagsCurrent.slice(0, 20);
        tagField.value=tagsCurrent.join(',');
    }
}

function completeTags(inTags){
    var tagField=$('tags');
    var words=$$('.livib');
    if(tagField!=null && inTags.ok){
        var tagsCurrent=[];
        if(tagField.value!=''){
            tagsCurrent=tagField.value.split(',');
        }
        tagsCurrent=tagsCurrent.merge(inTags.tags);
        tagsCurrent=tagsCurrent.slice(0, 20);
      //  tagField.value=tagsCurrent.join(',');
        var tagCompl=$('tagCompl');
        curSelAutoCompl=null;;
        tagCompl.innerHTML=inTags.tags;
        tagCompl.setStyle('display', '');
    }
}

function complitePhotoTags(inTags){
    var tagField=$('photo_tags');
    if(tagField!=null && inTags.ok){
        var tagsCurrent=[];
        if(tagField.value!=''){
            tagsCurrent=tagField.value.split(',');
        }
        tagsCurrent=tagsCurrent.merge(inTags.tags);
        tagsCurrent=tagsCurrent.slice(0, 20);
      //  tagField.value=tagsCurrent.join(',');
        var tagCompl=$('tagPhotoCompl');
        tagCompl.innerHTML=inTags.tags;
    }
}


function changeWord(inTag){
    var tagField=$('tags');
    var tags=tagField.value.split(',');
    tags[tags.length-1]=inTag.innerHTML;
    tagField.value=tags.join(',');
    var tagCompl=$('tagCompl');
    tagCompl.innerHTML='';
}


function getExternalUrl(id){
    var el=$(id);
    if(el!=null){
        return el.value.toString();
    }

}


function toogleSmiles(d)
{
    var p=$('pmore_smiles');
    var c=$('more_smiles');
    if(c!=null && p!=null)
    {
        var h=parseInt(c.getStyle('height'));
        var h2=h;
        var hp=parseInt(p.getStyle('height'));
        if(d==null && hp==0)
        {
            d=1;

        }
        if(d==null && hp>0 && hp<h)
        {
            return false;
        }
        if(d==null && hp>=h)
        {
            d=0;
        }
        var m=c.getStyle('marginTop');
        if(d==1)
        {
            hp=hp+4; 
        }
        else
        {
            hp=hp-4;
        }
        if(h<0)
        {
            hp=0;
        }
        p.setStyle('height', hp); 
        if(d==0 && hp<=0)
        {
            return false;
        }

        if(d==1 && hp>h)
        {
            return false;
        }

        setTimeout('toogleSmiles(' + d + ')',7);
        p=null;
        c=null;
    }
    return false;
}


window.addEvent('load', function(){
    showSubMenu();
    var t=$('cControllerLayer');
    if(t!=null)
    {
        t.addEvent('click', function(e){
            var obj=$('brd456g');
            var s=obj.getProperty('s');
            if(s!=null && s!=1)
            {
                obj.setStyle('background', '#fff9eb');
                obj.setProperty('s', 1);
            }
            else
            {
                var pSmiles=$('pmore_smiles');
                    if(pSmiles!=null){
                    pSmiles.setStyle('height', 0);
                }
                obj.setStyle('background', '#FFECC5');
                obj.setProperty('s', 2);
            }
        });
    }

    var mainPrevUsers=$('mainPrevUsers');
    if(mainPrevUsers!=null)
    {
        mainPrevUsers.addEvent('click', function(e){
            mainShowUsersPage(-1, 'nextUsers');
        });
    }
    var mainNextUsers=$('mainNextUsers');
    if(mainNextUsers!=null)
    {
        mainNextUsers.addEvent('click', function(e){
            mainShowUsersPage(1, 'nextUsers');
        });
    }


    var mainPrevUsers=$('ProfPrevFavFotos');
    if(mainPrevUsers!=null)
    {
        mainPrevUsers.addEvent('click', function(e){
            mainShowUsersPage(-1, 'nextFavFotos');
        });
    }
    var mainNextUsers=$('ProfNextFavFotos');
    if(mainNextUsers!=null)
    {
        mainNextUsers.addEvent('click', function(e){
            mainShowUsersPage(1, 'nextFavFotos');
        });
    }



    var mainPrevUsers=$('ProfPrevFrFotos');
    if(mainPrevUsers!=null)
    {
        mainPrevUsers.addEvent('click', function(e){
            mainShowUsersPage(-1, 'nextFrFotos');
        });
    }
    var mainNextUsers=$('ProfNextFrFotos');
    if(mainNextUsers!=null)
    {
        mainNextUsers.addEvent('click', function(e){
            mainShowUsersPage(1, 'nextFrFotos');
        });
    }

    $$('.tabtoogle').each(function(el){
        el.addEvent('click', function(e){
          if(!el.getParent().hasClass('current'))
          {
            $$('.tabtoogle').each(function(el2){
                el2.getParent().removeClass('current');
                el2.setProperty('href', 'javascript:void(0);');
            });
            $$('.divtoogle').each(function(el2){
                el2.setStyle('display', 'none');
            });
            $(el.getProperty('showdiv')).setStyle('display', '');
            el.getParent().addClass('current');
            return false;
          }
          else
          {
            el.setProperty('href', el.getProperty('rel'));
          }

        });
    });

    var toFav=$('addToFav');
    var fromFav=$('delFromFav');
    if(toFav!=null){ toFav.addEvent('click', function(){ /*console.log('$$$$');*/ if(CURRENT_PHOTO_ID!=null){ addToFav(CURRENT_PHOTO_ID, toFav);}});}
    if(fromFav!=null){ fromFav.addEvent('click', function(){ /*console.log('####');*/ if(CURRENT_PHOTO_ID!=null){ delFromFav(CURRENT_PHOTO_ID, toFav);}});}

    $$('.autotags').each(function(el){
        el.addEvent('change', function(){if(this.value.trim().length>=3){
            BMu.tagAutoFill(this.value, 'setTags');
        }});
    });

    var tagsField=$('tags');
    if(tagsField!=null){
        tagsField.addEvent('keyup', function(e){
            e=new Event(e);
            if(e.key=='enter'){
                return;
            }
            if(this.value.trim().length>=3){
                BMu.tagComplete(this.value, 'completeTags');
            }
        });
        tagsField.addEvent('keydown', function(e){
            e=new Event(e);
            var words=$$('.livib');
            if(words.length>0){
                if(e.key=='down'){
                    if(curSelAutoCompl==null){
                        curSelAutoCompl=-1;
                    }
                    curSelAutoCompl++;
                }
                else if(e.key=='up'){
                    if(curSelAutoCompl==null){
                        curSelAutoCompl=words.length;
                    }
                    curSelAutoCompl--;
                }
                if(curSelAutoCompl+1>words.length){
                    curSelAutoCompl=0;
                }
                if(curSelAutoCompl<0){
                    curSelAutoCompl=words.length-1;
                }
                if(curSelAutoCompl!=null){
                    words.each(function(el){el.removeClass('autocompl_bg');});
                    words[curSelAutoCompl].addClass('autocompl_bg');
                    if(e.key=='enter'){
                        changeWord(words[curSelAutoCompl]);
                        return;
                    }
                }
            }

        });
    }

    $$('.showSlideShow').each(function(sl){
        sl.addEvent('click', function(){showSlideShow();});
    });

    $$('.closeNewFeture').each(function(el){
        el.addEvent('click', function(){
            var d=new Date();
            var path='/ajax/shownewfetureoff/?r='+ d.getTime();
            var aj=new Ajax(path, {
                    method: 'post',
                    data: {"confirmed": "true"},
                    onComplete: function() {
                    }
            });
            aj.request();
            $$('.newFeture').each(function(nF){nF.remove();});
        });    
    });



    $$('.jsshowadddesc').each(function(el){
        el.addEvent('click', function(e){
            e=new Event(e);
            e.stop();
            var currTit=el.getAttribute('title');
            if(currTit==null || typeof(currTit)=='function'){
                currTit='';
            }
            BMu.showPhotoDescAdd({elAction: this, titleText: 'Описание фото', yesText: 'Сохранить', noText: 'Отмена', closeText: 'Отмена', defaultTit: currTit,
                yesAction: function(val){

                    var path='/ajax/photo/' + el.getProperty('photoId') + '/edit';
                    var aj = new Ajax(path, {method: 'post', data: {tit: val},
                        onComplete: function(res)
                            {
                                if(res!='')
                                {
                                    var re=new RegExp(/{{.*{{/);
                                    var result=res.match(re);
                                    result=result[0].substring(2, result[0].length-2);
                                    var res=JSON.parse(result);
                                    if(res.result=='ok')
                                    {
                                        var nEl=$('sd' + el.getProperty('photoId'));
                                        var nElAdd=$('ad' + el.getProperty('photoId'));
                                        if(val!=''){
                                            nEl.innerHTML=res.data;
                                            nEl.setProperty('title',  res.data);
                                            nEl.setStyle('display', '');
                                            nElAdd.setStyle('display', 'none');
                                        }
                                        else{
                                            nEl.innerHTML='';
                                            nEl.setStyle('display', 'none');
                                            nElAdd.setStyle('display', '');
                                        }
                                    }
                                    else
                                    {
                                        logMessage(res.data);
                                    }
                                 }
                            }
                        });
                    aj.request();
                }
            });
            return false;
        });
    });



    var delAlbumObj=$('jsalbumdel');
    if(delAlbumObj!=null){
        delAlbumObj.addEvent('click', function(){
            BMu.showConfirm({
                titleText: "Удаление альбома",
                confirmText: "Вы действительно хотите удатить альбом?",
                yesText: "Да",
                noText: "Нет",
                yesAction: function(){ BMu.showLoader(true); delAlbum();},
                closeText: "Закрыть"
            });
        });
    }
    
    $$('.jsAddAlbumToPrint').each(function(el){
        el.addEvent('click', function(e){
            var albumId=0;
            if(typeof(CURRENT_ALBUM_ID)!='undefined'){
                albumId=CURRENT_ALBUM_ID;
            }
            addAlbumToPrint(albumId);
        });
    });
    $$('.jsAddPhotoToPrint').each(function(el){
        el.addEvent('click', function(e){ addPhotoToPrint(CURRENT_PHOTO_ID);});
    });

    $$('.postToPrint').each(function(el){
        el.addEvent('click', function(e){
                postToPrint(); 
        });
    });

});

var curSelAutoCompl=null;

function delAlbum() {
    var d=new Date();
    var path='/ajax/albums/' + CURRENT_ALBUM_ID + '/delete?r='+ d.getTime();
    var aj=new Ajax(path, {
            method: 'post',
            data: {"confirmed": "true"},
            onComplete: function() {
				BMu.showLoader(false);
				document.location.href = '/albums/';
            }
    });
    aj.request();
    return false;
}


function mainShowUsersPage(page, id)
{
    var nextUsers=$(id);
    var newPage=parseInt(nextUsers.getProperty('page'))+parseInt(page);
    var pages=nextUsers.getProperty('pages');
    if(newPage>pages)
    {
        newPage=0;
    }
    if(newPage<0)
    {
        newPage=pages;
    }
    var path=nextUsers.getProperty('path')+newPage;
    var aj = new Ajax(path, {method: 'get',
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    result=result[0].substring(2, result[0].length-2);
                    var res=JSON.parse(result);
                    if(res.result=='ok')
                    {
                        nextUsers.innerHTML=res.data;
                        nextUsers.setProperty('page', newPage);
                        profile_convert();
                    }
                    else
                    {
                        logMessage(res.data);
                    }
                 }
            }
        });
    aj.request();
}


function changeAlbum(obj, path)
{
    var alb=obj.options[obj.selectedIndex].value;
    if(alb!='')
    {
       path=path.replace('0', alb);
       window.location=path; 
    }
    return false;
}

function getByClass(classname, node) 
{
    if(node==null)
    {
        node = document.getElementsByTagName("body")[0];
    }
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    var c=els.length;
    for(var i=0; i<c; i++)
    {
        if(re.test(els[i].className))a.push(els[i]);
    }
    return a;
}

/*check is photo exists*/
function CheckPhotoExist(id, format, obj, pathPhoto2)
{
    var vars=[];
    var d=new Date();
    var path='/albums/ajax?action=chkphoto&photo=' + id + "&format=" + format + "&r=" + d.getTime();
    var aj = new Ajax(path, {method: 'get',
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    if(obj)
                    {
                        obj.src=photoDomain+'/' + BMPathL + '/' + pathPhoto2;
                    }
                    //obj.src=photoDomain+'/' + BMPathL + '/' + path;
                  //  result=result[0];
                    //result=result.replace(/{{/g, '');
                }
            }
        });
    aj.request();
    return false;
}


function showLargePhoto(pId)
{
    var obj=document.getElementById('lphoto');
    var c=allPhoto.length;
    var path='';
    for(j=0; j<c; ++j)
    {
        if(allPhoto[j].id==pId)
        {
            var a=parseInt(allPhoto[j].formats);
            var b=parseInt(BMFormatL);
            var chk=a&b;
            var path=allPhoto[j].path;
            if(chk!=BMFormatL)
            {
                CheckPhotoExist(pId, BMPathL, obj, path);
                allPhoto[j].formats |= BMFormatL;
            }
            else
            {
                obj.src=photoDomain+'/' + BMPathL + '/' + path;
            }
            break;
        }
    }

}

/*prepare whiirling for clicking*/
function prepWhirl2()
{
    arEl.push(document.getElementById('remp'));
    var c=allPhoto.length;
    for(var i=currBM; i<c; i++)
    {
        allPhoto[i].formats|=BMFormat;
    }

}

function hideObj(name)
{
    var obj=document.getElementById(name); 
    if(obj!=null)
    {
        obj.style.visibility='hidden';
        obj.style.position='absolute';
        obj.style.zIndex='-1';
    }
    obj=null;
    return false;
}

function showObj(name)
{
    var obj=document.getElementById(name);
    if(obj!=null)
    {
        obj.style.position='';
        obj.style.zIndex='';
        obj.style.visibility='visible';
    }
    obj=null;
}

function showObjAbs(name)
{
    var obj=document.getElementById(name); 
    obj.style.visibility='visible';
    obj.style.zIndex='10';
    obj=null;
}

function hideObjAbs(name)
{
    var obj=document.getElementById(name); 
    obj.style.visibility='hidden';
    obj.style.zIndex='-1';
    obj=null;
}

function showMailForm(obgL)
{
    var objIns=document.getElementById('mail_form');
    if(objIns!=null && objIns.style.display=='none')
    {
        var obj=document.getElementById('dropdownAlbums');
        if(obj!=null && obj.style.display=='')
        {
            obj.style.display='none';
        }
        objIns.style.display='';
    }
    else if(objIns!=null && objIns.style.display=='')
    {
        objIns.style.display='none';
    }

}

function showProfTip(obj)
{
    var objIns=document.getElementById('profile_tip');
    var oPos=getPosFast(obgL);
    objIns.style.left=oPos.x + "px";
    objIns.style.top=oPos.y + "px";
    objIns.style.visibility='visible';
    objIns.style.zIndex='15';
    obgL=null;
    objIns=null;
    oPos=null;

}

startTimer=null;
function getAddInfo(show)
{
    var obj=document.getElementById('user_info_adi');
    if(!obj)
    {
        return;
    }
    if(show==1)
    {
        if(startTimer!=null)
        {
            clearTimeout(startTimer);
        }
        showObj('user_info_adi');    
    }
    else
    {
        startTimer=null;
        hideObj('user_info_adi');    
    }
    obj=null;
    return false;
}


function sendMailLink()
{
    var mA=document.getElementById('mail_addr');
    var mT=document.getElementById('mail_text');
    var mailA=mA.value;
    var rMail=/^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*\.{1}[a-zA-Z]{2,4})+$/i;
    if(!mailA.match(rMail))
    {
        logMessage('неверный e-mail', 'warning');
        return false;
    }
    var mailT=mT.value.toJSON();
    var link=location.href;
    var d=new Date();
    var path='/ajax/mail/';
    var aj = new Ajax(path, {method: 'post', data:{"mailfriend":mailA,"mailtext":mailT, "maillink":link},
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    try
                    {
                        result=result[0].replace(/{{/g, '');
                        var resp=JSON.parse(result);
                        if(resp.result=='ok')
                        {
                            logMessage(resp.data, 'info');
                        }
                        else
                        {
                            logMessage(resp.data, 'warning');
                        }
                        resp=null;
                    }
                    catch(e)
                    {

                    }
                }
            }
        });
    aj.request();
//    hideObj('mail_form');
//    mA.value="";
//    mT.value="";
    mA=null;
    mT=null;
    var obj=document.getElementById('mail_form');
    if(obj!=null)
    {
        obj.style.display='none';
    }
    return false;
}
/**
 * get mouse pos 
 * 
 * @param e $e 
 * @access public
 * @return object {'x':x,'y':y} 
 */
function getMousePos(e)
{
   if(!e)
    {
        e=window.event;
    }
    if(!e.pageX)
    {
        x=e.clientX+document.documentElement.scrollLeft-document.documentElement.clientLeft;
        y=e.clientY+document.documentElement.scrollTop-document.documentElement.clientTop;

    }
    else
    {
        x=e.pageX;
        y=e.pageY;
    }
    return {'x':x,'y':y};
    
}



function delTagInPhoto(tagId, photoId)
{
    var d=new Date();
    var path='/tags/' + tagId + '/' + photoId + '/del?r='+ d.getTime();
    var aj=new Ajax(path, 
    {
        
            method: 'get',
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    if(result[0])
                    {  
                        result=result[0];
                        var res=result.replace(/{{/g, '');
                        if(res.success='ok')
                        {
                           var obj=document.getElementById('tag' + tagId);
                           if(obj)
                           {
                               obj.parentNode.removeChild(obj); 
                           }
                           obj=null;
                        }
                    }
                 }
            }  
    });
    aj.request();
    return false;
}

function savePhotoProp()
{
    var tit=document.getElementById('tit').value.replace('"', '\"');
    var desc=document.getElementById('desc').value.replace('"', '\"');
    var acc=document.getElementById('acc').value.replace('"', '\"');
    var album=document.getElementById('album').value.replace('"', '\"');
    var tags=document.getElementById('tags').value.replace('"', '\"');
    var d=new Date();
    var path='/photos/' + currPhotoId + '/edit/ajax/';
    var aj = new Ajax(path, {method: 'post', data:{"tit":  tit  ,"desc":  desc  ,"acc":  acc  ,"album":  album  ,"tags":  tags },
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    try
                    {
                        result=result[0];
                    }
                    catch(err)
                    {
                        return;
                    }

                    if(result)
                    {  
                        var res=result.replace(/{{/g, '');
                        if(res.success='ok')
                        {
                            loadContent(currPhotoId, 'right');
                        }
                        else
                        {
                            logMessage('server return error ');
                        }
                    }
                }
            }
        });
    aj.request();
    return false;
}


/*set photo as album cover on srever*/
function SetAlbumCover(albumId, photoId)
{
    var vars=[];
    var d=new Date();
    var path='/albums/ajax?action=setcover&album=' + albumId + '&photo=' + photoId + "&r=" + d.getTime();
    var aj = new Ajax(path, {method: 'get',
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    result=result[0].replace(/{{/g, '');
                    if(result='ok')
                    {
                        logMessage(MSG_COVER_OK);
                        var obj=document.getElementById('settocover');
                        var obj2=document.getElementById('remfromcover');
                        if(obj!=null)
                        {
                           obj.style.display="none"; 
                        }
                        if(obj2!=null)
                        {
                           obj2.style.display=""; 
                        }
                    }
                    else
                    {
                        logMessage(result, 'warning');
                    }
                }
            }
        });
    aj.request();
    return false;
}

function remoFromveAlbumCover(albumId)
{
    var vars=[];
    var d=new Date();
    var path='/ajax/delcover/' + albumId + '/?r=' + d.getTime();
    var aj = new Ajax(path, {method: 'get',
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    result=result[0].replace(/{{/g, '');
                    var resp=JSON.parse(result);
                    if(resp.result='ok')
                    {
                        logMessage(resp.data);
                        var obj=document.getElementById('settocover');
                        var obj2=document.getElementById('remfromcover');
                        if(obj!=null)
                        {
                           obj.style.display=""; 
                        }
                        if(obj2!=null)
                        {
                           obj2.style.display="none"; 
                        }
                    }
                    else
                    {
                        logMessage(resp.data, 'warning');
                    }
                }
            }
        });
    aj.request();
    return false;
}



var currPhotoLeft=0;
var whirlLength=null;
function setWhirlImages(move)
{
    var objT=document.getElementById('photo_children');
    if(objT==null)
    {
        return false;
    }
    var arImgs=objT.getElementsByTagName('td');
    objT=null;
    var par=document.getElementById('photo_parent');
    var c=arImgs.length-1;
    whirlLength=c;
    if(currPhotoLeft!=null && move) 
    {
        par.scrollLeft=arImgs[currPhotoLeft].offsetLeft;
    }
    if(arImgs.length>0)
    {
        var img=arImgs[currPhotoLeft].getElementsByTagName('img');
        if(img.length>0)
        {
            img=img[0];
            img.setAttribute('src', img.getAttribute('srcp'));
        }
    }
    else
    {
        currPhotoLeft=0;
        whirlLength=0;
    }
    var k=currPhotoLeft+20;
    var s=currPhotoLeft-5;

    if(currPhotoLeft!=null)
    {
        if(currPhotoLeft<0)
        {
            currPhotoLeft=0;
        }
        if(currPhotoLeft>whirlLength)
        {
            currPhotoLeft=whirlLength-4;
        }
        if(currPhotoLeft<whirlLength)
        {
            var obj=document.getElementById('cur_right');
            obj.style.cursor="pointer";
            var tOn=obj.getAttribute('on');
            if(tOn==0 || tOn==null )
            {
                obj.setAttribute('src', BM_IMG_SERVER + 'a/photo2/img/larr_right.gif');
            }
            obj.onclick=function(){moveRight(); return false;};
            obj.onmouseover=function(){document.getElementById('cur_right').src=BM_IMG_SERVER + 'a/photo2/img/larr_right_hover.gif'; document.getElementById('cur_right').setAttribute('on', 1);};
            obj.onmouseout=function(){document.getElementById('cur_right').src=BM_IMG_SERVER + 'a/photo2/img/larr_right.gif'; document.getElementById('cur_right').setAttribute('on', 0);};
            obj=null;
            var obj=document.getElementById('cur_left');
            obj.style.cursor="pointer";
            tOn=obj.getAttribute('on');
            if(tOn==0 || tOn==null )
            {
                obj.setAttribute('src', BM_IMG_SERVER + 'a/photo2/img/larr_left.gif');
            }
            obj.onmouseover=function(){document.getElementById('cur_left').src=BM_IMG_SERVER + 'a/photo2/img/larr_left_hover.gif'; document.getElementById('cur_left').setAttribute('on', 1);};
            obj.onmouseout=function(){document.getElementById('cur_left').src=BM_IMG_SERVER + 'a/photo2/img/larr_left.gif'; document.getElementById('cur_left').setAttribute('on', 1);};
            obj.onclick=function(){moveLeft(); return false;};
            obj=null;
        }
        if(currPhotoLeft==0)
        {
            var obj=document.getElementById('cur_left');
            obj.setAttribute('src', BM_IMG_SERVER + 'a/photo2/img/larr_left_unactive.gif');
            obj.style.cursor="";
            obj.onclick=function(){return false;};
            obj.onmouseover=function(){return false;};
            obj.onmouseout=function(){return false;};
            obj.setAttribute('on', 0);
            obj=null;
        }
        if(currPhotoLeft>=whirlLength-4)
        {
            var obj=document.getElementById('cur_right');
            obj.setAttribute('src', BM_IMG_SERVER + 'a/photo2/img/larr_right_unactive.gif');
            obj.style.cursor="";
            obj.onclick=function(){return false;};
            obj.onmouseover=function(){return false;};
            obj.onmouseout=function(){return false;};
            obj.setAttribute('on', 0);
            obj=null;
        }

    }




    if(s<0)
    {
        s=0;
    }
    if(k>c)
    {
        k=c;
    }
    for(j=s; j<=k; j++)
    {
        try
        {
            img=arImgs[j].getElementsByTagName('img')[0];
            img.setAttribute('src', img.getAttribute('srcp'));
        }
        catch(e)
        {

        }
    }

    par=null;
    arImgs=null;
    c=null;
}

function getPosFast(obj)
{
    var x = obj.offsetLeft;
    var y = obj.offsetTop;
    obj=obj.offsetParent;
    if(obj!=null)
    {
    while(obj.offsetParent)
    {
        x+=obj.offsetLeft;
        y+=obj.offsetTop;
        obj=obj.offsetParent;
    }
    }
    return {'x': x, 'y': y};
}

var messLogHideId=null;
function logMessage(text, level, wait)
{
    if(wait==null){
        wait=6000;
    }
    if(messLogHideId!=null)
    {
        clearTimeout(messLogHideId);
    }
    messLogHideId=null;
    if(level=='')
    {
        level='info';
    }
    var obj=null;
    var obj2=null;
    var hideFn='hideMessLog()';
    var objH=null;
    switch(level)
    {
        case 'info':
            obj=document.getElementById('messageLogText');
            obj2=document.getElementById('messageLog');
            objH=document.getElementById('messageLogRed');
            break;
        case 'warning':
            obj=document.getElementById('messageLogTextRed');
            obj2=document.getElementById('messageLogRed');
            objH=document.getElementById('messageLog');
            hideFn='hideMessLogRed()';
            break;
        case 'error':
            obj=document.getElementById('messageLogTextRed');
            obj2=document.getElementById('messageLogRed');
            objH=document.getElementById('messageLog');
            hideFn='hideMessLogRed()';
            break;
        default:
            obj=document.getElementById('messageLogText');
            obj2=document.getElementById('messageLog');
            objH=document.getElementById('messageLogRed');
    }
/*    if(obj2==null)
    {
//        alert(text);
        return;
    }
    */
    if(obj!=null){
        obj.innerHTML=text;
        objH.style.display='none';
        obj2.style.display='block';
        obj2=null;
        obj=null;
        messLogHideId=setTimeout(hideFn, wait);
    }

}

function hideMessLog()
{
    var obj=document.getElementById('messageLog');
    if(obj==null)
    {
        return false;
    }
    obj.style.display='none';
    obj=null;
    if(messLogHideId!=null)
    {
        clearTimeout(messLogHideId);
    }
    return false;
}

function hideMessLogRed()
{
    var obj=document.getElementById('messageLogRed');
    if(obj==null)
    {
        return false;
    }
    obj.style.display='none';
    obj=null;
    if(messLogHideId!=null)
    {
        clearTimeout(messLogHideId);
    }
    return false;
}

function addToFav(photoId, obj)
{
    var d=new Date();
    var path='/favorites/' + photoId + '/add/ajax/?r=' + d.getTime();
    var aj = new Ajax(path,  {method: 'get',
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    try
                    {
                        result=result[0].replace(/{{/g, '');
                        var resp=JSON.parse(result);
                        if(resp.result=='ok')
                        {
                            if(obj)
                            {
                                obj.style.display='none';
                                document.getElementById("delFav").style.display="block";
                            }
                        }
                        else
                        {
                            logMessage(resp.data, 'warning');
                        }
                        resp=null;
                    }
                    catch(e)
                    {

                    }
                }
            }
        });
    aj.request();
    return false;
}

function delFromFav(photoId, obj)
{
    var d=new Date();
    var path='/favorites/' + photoId + '/del/ajax/?r=' + d.getTime();
    var aj = new Ajax(path,  {method: 'get',
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    try
                    {
                        result=result[0].replace(/{{/g, '');
                        var resp=JSON.parse(result);
                        if(resp.result=='warning')
                        {
                            logMessage(resp.data, 'warning');
                            document.getElementById("delFav").style.display="none";
                            document.getElementById("addFav").style.display="block";
                        }
                        resp=null;
                    }
                    catch(e)
                    {

                    }
                }
            }
        });
    aj.request();
    return false;
}


function showEditField(pref)
{
    var objE=$(pref + 'i');
    var prefv=$(pref + 'v');
    var txt=prefv.innerHTML;
    if(txt!=prefv.getProperty('emval') && objE.nodeName.toLowerCase()!='select')
    {
        objE.value=prefv.innerHTML;
    }
    $(pref + 'e').style.display="";
    $(pref + 'i').style.display="";
    $(pref).style.display="none";

}

function hideEditField(pref)
{
    $(pref).style.display="";
    $(pref + 'e').style.display="none";
    var objE=$(pref + 'i');
    var txt=$(pref + 'v').innerHTML;
}

function saveEditFieldsAlbum(pref)
{
    if(pref!=null)
    {
        var objE=$(pref + 'i');
        if(objE!=null)
        {
            var objTxt=$(pref + 'v');
            var txt=$(pref + 'v').innerHTML;
            if(objE.value!='')
            {
                objTxt.innerHTML=objE.value;

                if(pref!='title')
                {
                  objTxt.removeClass('small');
                  objTxt.setStyle('margin-left', '-5px');
                  objTxt.removeClass('lh_opis_right');
                  objTxt.addClass('red_text_h');
                  objTxt.addClass('large');
                }

            }
            else
            {
                if(pref!='title')
                {
                  objTxt.removeClass('red_text_h');
                  objTxt.removeClass('large');
                  objTxt.addClass('small');
                  objTxt.addClass('lh_opis_right');
                  objTxt.setStyle('margin-left', '');
                }

                objTxt.innerHTML=objTxt.getAttribute('emval');

                if(pref=='title')
                {
                    logMessage(BM_EMPTY_TITLE, 'warning');
                    return false;
                }

            }

            hideEditField(pref);

        }
        else
        {
            objE=$(pref);
        }
    var arVals={};
    var i=0;
    if(objE.name!=null && objE.name!='')
    {
        arVals[objE.name]=objE.value;
    }
    var d=new Date(); 
    var path='/albums/editajax/' + CURRENT_ALBUM_ID + '/?r=' + d.getTime();
    var aj = new Ajax(path,  {method: 'post', data:arVals,
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    try
                    {
                        result=result[0].replace(/{{/g, '');
                        var resp=JSON.parse(result);
                        if(resp.result=='ok')
                        {
                            logMessage(resp.data, 'message');
                        }
                        else
                        {
                            logMessage(resp.data, 'warning');
                        }

                    }
                    catch(e)
                    {
                        logMessage(e.toString(), 'error');
                    }

                }
            }
        });
    aj.request();
    return false;


    }


}


function saveEditFieldsPhoto(pref)
{
    if(pref!=null)
    {
        var objE=$(pref + 'i');
        if(objE!=null)
        {
            var objTxt=$(pref + 'v');
            var txt=$(pref + 'v').innerHTML;
            if(objE.value!='')
            {
                objTxt.className=objTxt.className.replace(/gray/g, '');
                objTxt.innerHTML=objE.value;
            }
            else
            {
                objTxt.className+=" gray";
                objTxt.innerHTML=objTxt.getAttribute('emval');
            }
            hideEditField(pref)
        }
        else
        {
            objE=$(pref);
        }
    var arVals={};
    var i=0;
    if(objE.name!=null && objE.name!='')
    {
        arVals[objE.name]=objE.value;
    }
    var d=new Date(); 
    var path='/photos/' + currPhotoId + '/edit/ajax/?r=' + d.getTime();
    var aj = new Ajax(path,  {method: 'post', data:arVals,
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    try
                    {
                        result=result[0].replace(/{{/g, '');
                        var resp=JSON.parse(result);
                        if(resp.result=='ok')
                        {
                            logMessage(resp.data, 'message');
                        }
                        else
                        {
                            logMessage(resp.data, 'warning');
                        }

                    }
                    catch(e)
                    {
                        logMessage(e.toString(), 'error');
                    }

                }
            }
        });
    aj.request();
    return false;


    }


}

function tagOnClick(obj)
{
    if(obj.getAttribute('valrel')==0)
    {
        obj.value='';
        obj.style.color="";
        obj.style.color="#000000";
        obj.setAttribute('valrel', 1);
    }
}

function tagOnBlur(obj)
{
    if(obj.value=='')
    {
        obj.value=obj.getAttribute('tooltip');
        obj.style.color="#999999";
        obj.setAttribute('valrel', 0);
    }
}

function showEditTag(pref)
{
      var obj=$(pref + 'i');
      obj.value=obj.getAttribute('tooltip');
      obj.setAttribute('valrel', 0);
//    hideObj(pref);
//    showObj(pref + 'e');
      $(pref).style.display="none";
      $(pref+'e').style.display="";
}

function hideEditTag(pref)
{
      $(pref).style.display="";
      $(pref+'e').style.display="none";
}


function saveEditFieldsTag(pref)
{
    if(pref!=null)
    {
        var objE=$(pref + 'i');
        hideEditTag(pref);
        var arVals={};
        var i=0;
        arVals[objE.name]=objE.value;
        var obj=$(pref + 'i');
        obj.value='';
        obj.style.color="#999999";
        var d=new Date(); 
        var path='/photos/' + currPhotoId + '/edit/ajax/?r=' + d.getTime();
        var aj = new Ajax(path,  {method: 'post', data:arVals,
                onComplete: function(res)
                {
                    if(res!='')
                    {
                        var re=new RegExp(/{{.*{{/);
                        var result=res.match(re);
                        try
                        {
                            result=result[0].replace(/{{/g, '');
                            var resp=JSON.parse(result);
                            if(resp.result=='ok')
                            {
                                $(pref + 'v').innerHTML=resp.data;
                            }
                            else
                            {
                                logMessage(resp.data, 'warning');
                            }

                        }
                        catch(e)
                        {
                            logMessage(e.toString(), 'error');
                        }

                    }
                }
            });
        aj.request();
        return false;
    }
}

function movePhoto(albumId)
{
    var vars=[];
    var d=new Date();
    var path='/photos/' + currPhotoId + '/edit/ajax/?r=' + d.getTime();
    var aj = new Ajax(path, {method: 'post', data:{'album': albumId},
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    try
                    {
                        result=result[0].replace(/{{/g, '');
                        var resp=JSON.parse(result);
                        if(resp.result=='ok')
                        {
                            var c=PCarousel.arrAllPhoto.length;
                            var pDelId=0;
                            for(var i=0; i<c; i++)
                            {
                                if(PCarousel.arrAllPhoto[i].id==currPhotoId)
                                {
                                    pDelId=i;
                                }
                            }
                            var newPId=0;
                            if(c-1>pDelId)
                            {
                                newPId=pDelId;
                            }
                            else
                            {
                                newPId=pDelId-1;
                            }
                            var pobj=document.getElementById('lphoto');
                            if(pobj!=null)
                            {
                                pobj.setAttribute('src', '');
                                pobj.setAttribute('title', '');
                                pobj.setAttribute('alt', '');
                            }
                            if(PCarousel.arrAllPhoto.length>1)
                            {
                                PCarousel.arrAllPhoto.splice(pDelId, 1);
                                var pId=PCarousel.arrAllPhoto[newPId].id;
                                loadContent(pId, '');
                                PCarousel.init(pId);
                                PCarousel.setcurr();
                            }
                            else
                            {
                                var cobj=document.getElementById('photo_children');
                                if(cobj!=null)
                                {
                                    cobj.innerHTML='';
                                }
                            }
                            var obj=document.getElementById('dropdownAlbums');
                            if(obj!=null)
                            {
                                obj.style.display='none';
                            }
                            logMessage(resp.data);
                        }
                        else
                        {
                            logMessage(resp.data, 'warning');
                        }

                    }
                    catch(e)
                    {
                        logMessage(e.toString(), 'error');
                    }

                }
            }
        });
    aj.request();
    return false;
}


function showAlbumsList(obgL)
{
    var objIns=document.getElementById('dropdownAlbums');
    if(objIns.style.display=='none')
    {
        var obj=document.getElementById('mail_form');
        if(obj!=null && obj.style.display=='')
        {
            obj.style.display='none';
        }
        objIns.style.display=''; 
        objIns.style.display='';    
    }
    else
    {
        objIns.style.display='none';    
    }


}

function responceFriend(obj)
{
    if(obj.href=='')
    {
        return false;
    }
    var d=new Date();
    var path=obj.href + '&aj=1&r=' + d.getTime();
    var aj = new Ajax(path,  {method: 'get', 
        onComplete: function(res)
        {
            if(res!='')
            {
                var re=new RegExp(/{{.*{{/);
                var result=res.match(re);
                try
                {
                    result=result[0].replace(/{{/g, '');
                    var resp=JSON.parse(result);
                    if(resp.result=='ok')
                    {
                        var mes=document.getElementById('d' + obj.getAttribute('rel'));
                        if(mes!=null)
                        {
                            mes.innerHTML=resp.data;
                        }
                    }
                    else
                    {
                        logMessage(resp.data, 'warning');
                    }

                }
                catch(e)
                {
                    logMessage(e.toString(), 'error');
                }

            }
        }
    });
    aj.request();
    return false;
}

function hideComplain()
{
    var obj=document.getElementById('complainMess');
    if(obj!=null)
    {
        obj.style.display="none";
    }
    return false
}

var messComplainId=null;
var pComplainId=null;
function sendComplain(pId)
{
    obj=document.getElementById('complainclick');
    if(obj!=null)
    {
        obj.style.display='none';
    }

    var tmp=document.getElementById('complainres');
    if(tmp!=null)
    {
        tmp.style.display='';
    }
    
    var tmp=document.getElementById('complainMess');
    if(tmp!=null)
    {
        tmp.style.display='';
    }
    tmp=null;
    pComplainId=pId;
    messComplainId=setTimeout('sendComplainReal(' + pId + ')',40000);
    return false;
}

function cancelComplain()
{
    messComplainId=null;
    pComplainId=null;
    var obj=document.getElementById('complainres');
    if(obj!=null)
    {
        obj.style.display='none';
    }
    obj=document.getElementById('complainclick');
    if(obj!=null)
    {
        obj.style.display='block';
    }
    hideComplain();
    return false;
}

function sendComplainReal()
{
    if(pComplainId==null)    
    {
        return false;
    }
    var d=new Date();
    var path='/ajax/complain/?itemId=' + pComplainId + '&path=' + location.pathname + "&hash=" + pComplainId;
    hideComplain();
    var aj = new Ajax(path,  {method: 'get', 
        onComplete: function(res)
        {
            if(res!='')
            {
                var re=new RegExp(/{{.*{{/);
                var result=res.match(re);
                try
                {
                    result=result[0].replace(/{{/g, '');
                    var resp=JSON.parse(result);
                    if(resp.result=='ok')
                    {
                        alert(resp.data);
                    }
                }
                catch(e)
                {
                }
            }
        }
    });
    aj.request();
    return false;


}


function showSearchDiv(divname)
{
    var obj=$('photosdiv');
    if(obj!=null)
    {
        obj.style.display='none'; 
    }
    var obj=$('albumsdiv');
    if(obj!=null)
    {
        obj.style.display='none';
    }
    var obj=$('usersdiv');
    if(obj!=null)
    {
        obj.style.display='none';
    }
    var obj=$(divname + 'div');
    if(obj!=null)
    {
        obj.style.display=''; 
    }
    obj=$('photos');
    if(obj!=null)
    {
        obj.className=''; 
    }

    obj=$('albums');
    if(obj!=null)
    {
        obj.className=''; 
    }

    obj=$('users');
    if(obj!=null)
    {
        obj.className=''; 
    }

    obj=$(divname);
    if(obj!=null)
    {
        obj.className='current';
    }
    return false;
}


function saveEditAlbumAccess(pref)
{
   if(pref!=null)
    { 
        var objE=$(pref + 'i');
        if(objE==null)
        {
            objE=$(pref);
        }
    var arVals={};
    var i=0;
    if(objE.name!=null && objE.name!='')
    {
        arVals[objE.name]=objE.value;
    }
    var d=new Date(); 
    var path='/albums/editajax/' + CURRENT_ALBUM_ID + '/?r=' + d.getTime();
    var aj = new Ajax(path,  {method: 'post', data:arVals,
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    try
                    {
                        result=result[0].replace(/{{/g, '');
                        var resp=JSON.parse(result);
                        if(resp.result=='ok')
                        {
                            logMessage(resp.data, 'message');
                            $(pref).innerHTML=resp.accData;
                            bindElementsEvents();
                        }
                        else
                        {
                            logMessage(resp.data, 'warning');
                        }

                    }
                    catch(e)
                    {
                        logMessage(e.toString(), 'error');
                    }

                }

                hideEditField(pref);
            }
        });
    aj.request();
    return false;


    }
 
}

function bindShareEvents()
{
    $$('.jssharephoto').each(function(el){el.removeEvents(); el.addEvent('click', function(){return createWindow('Messenger', 'cc' + el.getProperty('id'), el, '');})});

    var shareBlock=$('shareBlock');
    if(shareBlock!=null)
    {
        $$('.jssharelink').each(function(el){
            el.removeEvents();
            el.addEvent('click', function(){
                 if(shareBlock.getStyle('display')=='none'){
                     shareBlock.setStyle('display', '');
                 }
                 else{
                     shareBlock.setStyle('display', 'none');
                 } 
            });
        });
    }
    if(typeof(swfobject)!='undefined'){
        try{
            swfobject.embedSWF(BM_IMG_SERVER + "a/photo2/swf/buffer.swf", "albumCopy", "15px", "17px", "9.0.0", "expressInstall.swf", {clipEl: "albumCopyVal", callFunc: "getExternalUrl"}, {menu: "false", scale: "noScale", allowFullscreen: "true", allowScriptAccess: "always", bgcolor: "#FFFFFF" }, {id: "albumLinkCopy"});
            swfobject.embedSWF(BM_IMG_SERVER + "a/photo2/swf/buffer.swf", "albumCopySlide", "15px", "17px", "9.0.0", "expressInstall.swf", {clipEl: "albumCopySlideVal", callFunc: "getExternalUrl"}, {menu: "false", scale: "noScale", allowFullscreen: "true", allowScriptAccess: "always", bgcolor: "#FFFFFF" }, {id: "albumSlideCopy"});
            swfobject.embedSWF(BM_IMG_SERVER + "a/photo2/swf/buffer.swf", "photoCopyHref", "15px", "17px", "9.0.0", "expressInstall.swf", {clipEl: "photoCopyHrefVal", callFunc: "getExternalUrl"}, {menu: "false", scale: "noScale", allowFullscreen: "true", allowScriptAccess: "always", bgcolor: "#FFFFFF" }, {id: "photoCopyHref"});
            swfobject.embedSWF(BM_IMG_SERVER + "a/photo2/swf/buffer.swf", "photoCopyHTML", "15px", "17px", "9.0.0", "expressInstall.swf", {clipEl: "photoCopyHTMLVal", callFunc: "getExternalUrl"}, {menu: "false", scale: "noScale", allowFullscreen: "true", allowScriptAccess: "always", bgcolor: "#FFFFFF" }, {id: "photoCopyHTML"});
            swfobject.embedSWF(BM_IMG_SERVER + "a/photo2/swf/buffer.swf", "photoCopyBB", "15px", "17px", "9.0.0", "expressInstall.swf", {clipEl: "photoCopyBBVal", callFunc: "getExternalUrl"}, {menu: "false", scale: "noScale", allowFullscreen: "true", allowScriptAccess: "always", bgcolor: "#FFFFFF" }, {id: "photoCopyBB"});
        }
        catch(e){

        }
    }

}

function addToFav(photoId, obj)
{
    var d=new Date();
    var path='/favorites/' + photoId + '/add/ajax/?r=' + d.getTime();
    var aj = new Ajax(path,  {method: 'get',
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    try
                    {
                        result=result[0].replace(/{{/g, '');
                        var resp=JSON.parse(result);
                        if(resp.result=='ok')
                        {
                            if(obj)
                            {
                                obj.style.display='none';
                                document.getElementById("delFromFav").style.display="block";
                                document.getElementById("addToFav").style.display="none";
                            }
                        }
                        else
                        {
                            logMessage(resp.data, 'warning');
                        }
                        resp=null;
                    }
                    catch(e)
                    {

                    }
                }
            }
        });
    aj.request();
    return false;
}

function delFromFav(photoId, obj)
{
    var d=new Date();
    var path='/favorites/' + photoId + '/del/ajax/?r=' + d.getTime();
    var aj = new Ajax(path,  {method: 'get',
            onComplete: function(res)
            {
                if(res!='')
                {
                    var re=new RegExp(/{{.*{{/);
                    var result=res.match(re);
                    try
                    {
                        result=result[0].replace(/{{/g, '');
                        var resp=JSON.parse(result);
                        if(resp.result=='warning')
                        {
                            document.getElementById("delFromFav").style.display="none";
                            document.getElementById("addToFav").style.display="block";
                        }
                        resp=null;
                    }
                    catch(e)
                    {
                    }
                }
            }
        });
    aj.request();
    return false;
}

var BMu={
    confirm: null,
    closeEvent: null,
    includedJs: [],
    tagComplPrev: '',
    loaderDiv:
    '<div id="BMuOverlayLoader" class="TB_overlay " style="z-index: 10;"> </div> ' +
    '<div id="BMuLoaderPup" style="position: absolute; z-index: 100; opacity: 1; left: 10px; top: 10px;"  > ' +
    '<img src="http://bmu.img.com.ua/a/photo2/img2/loadergrey.gif" />'+
    '</div> ' +
    '</div>',
    confirmDiv:
    '<div id="BMuOverlay" class="TB_overlay " style="z-index: 10;"> </div> ' +
    '<div id="BMuConfirmPup" style="position: absolute; z-index: 100; opacity: 1; left: 10px; top: 10px;"  > ' +
	'<div class="f_obr_svyazi"> ' +
    '    <div class="bg_opacity m2"></div> ' +
    '    <div class="bg_opacity m1"></div> ' +
    '    <div class="bg_opacity pad_obr_s"> ' +
    '        <div class="m1 bg_wh"></div> ' +
    '        <div class="bg_wh pad_obr_s_text text_left"style="width: 340px;"> ' +
    '                <span class="fl"><label for="friend_message">%titleText%</label></span> ' +
    '                <span class="close_sp fr"> ' +
    '                    <a id="BMuConfClose" href="javascript: void(0);" title="%closeText%" class="ic_close_f_obr small" ></a> ' +
    '                </span> ' +
    '                <div class="clear_small"></div> ' +
    '                <div>%confirmText%</div> ' +
    '                <div class="clear_small"></div> ' +
    '                <div class="clear_small"></div> ' +
    '                <div class="clear_small2"></div> ' +
    '                <input id="BMuConfYes"  value="%yesText%" class="fl" type="button"> ' +
    '                <div class="mrl fl mr_top"><a href="javascript: void(0);" id="BMuConfNo" class="small fl" style="margin-top: 4px;">%noText%</a></div> ' +
    '            <div class="clear2"></div> ' +
    '        </div> ' +
    '        <div class="m1 bg_wh"></div> ' +
    '        <div class="clear2"></div> ' +
    '    </div> ' +
    '    <div class="bg_opacity m1"></div> ' +
    '    <div class="bg_opacity m2"></div> ' +
    '</div> ' +
    '</div>',

    pDescAdd: 
        '<div id="BMu_confirm">' +
            '<div style="position: absolute; z-index: 100; opacity: 1;" id="BMuConfirmPup">' +
                '<div class="f_obr_svyazi" style="width:auto;">' +
                    '<div class="bg_opacity m2"></div>' +
                    '<div class="bg_opacity m1"></div>' +
                    '<div class="bg_opacity pad_obr_s">' +
                        '<div class="m1 bg_wh"></div>' +
                        '<div class="bg_wh pad_obr_s_text text_left">' +
                            '<b class="fl"><label for="friend_message">%titleText%:</label></b>' +
                            '<span class="close_sp fr"><a class="ic_close_f_obr small" title="%closeText%" href="javascript: void(0);" id="BMuConfClose"></a></span>' +
                            '<div class="clear_small"></div>' +
                            '<div class="clear_small"></div>' +
                            '<textarea style="width: 212px;" class="photo_textar normal" id="pAddDesc">%defaultTit%</textarea>' +
                            '<div class="clear_small"></div>' +
                            '<div class="clear_small2"></div>' +
                            '<input type="button" class="fl" value="%yesText%" id="BMuConfYes">' +
                            '<div class="mrl fl mr_top">' +
                                '<a class="small fl" id="BMuConfNo" href="javascript: void(0);">%noText%</a>' +
                            '</div>' +
                            '<div class="clear2"></div>' +
                        '</div>' +
                        '<div class="m1 bg_wh"></div>' +
                        '<div class="clear2"></div>' +
                    '</div>' +
                    '<div class="bg_opacity m1"></div>' +
                    '<div class="bg_opacity m2"></div>' +
                '</div>' +
            '</div>' +
        '</div>',
    showLoader: function(show){
        if(!show){
            var loaderPup=$('BMu_Loader');
            var overlayLoader=$('BMuOverlayLoader');
            if(loaderPup!=null){
                loaderPup.remove();
            }
            if(overlayLoader!=null){
                overlayLoader.remove();
            }

        }
        else{
            var tmp=BMu.loaderDiv;
            var loader=new Element('div', {'id': 'BMu_Loader'});
            loader.innerHTML=tmp;
            loader.injectTop(document.body);
            var wS={};
            wS.x=BMu.wW();
            wS.y=BMu.wH();
            var cp=$('BMuLoaderPup');
            var cpS=cp.getSize();
            cp.setStyle('top', wS.y-cpS.size.y/2);
            cp.setStyle('left', wS.x-cpS.size.x/2);
            var BMuOverlay=$('BMuOverlayLoader');
            BMuOverlay.setStyle('height', window.getHeight()+window.getScrollHeight());
        }
    },

    showConfirm: function(inPar){
        BMu.closeConfirm();
        var lPar={titleText: '', confirmText: '', yesText: '', noText: '', yesAction: '', noAction: '', closeText: '', closeAction: document };
        for(var n in inPar){
            lPar[n]=inPar[n];
        }
        var tmp=BMu.confirmDiv;
        for(var n in lPar)
        {
            if(typeof(lPar[n])!='function'){
                tmp=tmp.replace('%' + n + '%', lPar[n]);
            }
        }
        BMu.confirm=new Element('div', {'id': 'BMu_confirm'});
        BMu.confirm.innerHTML=tmp;
        BMu.confirm.injectTop(document.body);
        for(var n in lPar)
        {
            if(typeof(lPar[n])=='function'){
                if(n=='yesAction'){
                    $('BMuConfYes').addEvent('click', function(){ lPar['yesAction'](); BMu.closeConfirm();});
                }
                else if(n=='noAction'){
                    $('BMuConfNo').addEvent('click', function(){ lPar['noAction'](); BMu.closeConfirm();});
                }
                else if(n=='closeAction'){
                    $('BMuConfClose').addEvent('click', function(){ lPar['closeAction'](); BMu.closeConfirm();});
                }
            }
        }

        if(typeof(lPar['yesAction'])!='function'){
            $('BMuConfYes').addEvent('click', BMu.closeConfirm);
        }
        if(typeof(lPar['noAction'])!='function'){
            $('BMuConfClose').addEvent('click', BMu.closeConfirm);
        }
        if(typeof(lPar['noAction'])!='function'){
            $('BMuConfNo').addEvent('click', BMu.closeConfirm);
        }

        var wS={};
        wS.x=BMu.wW();
        wS.y=BMu.wH();
        var cp=$('BMuConfirmPup');
        var cpS=cp.getSize();
        cp.setStyle('top', wS.y-cpS.size.y/2);
        cp.setStyle('left', wS.x-cpS.size.x/2);
        var BMuOverlay=$('BMuOverlay');
        BMuOverlay.setStyle('height', window.getScrollHeight());
        BMu.attachCommonEvents();
    },

    showPhotoDescAdd: function(inPar){
        BMu.closeConfirm();
        var lPar={titleText: '', confirmText: '', yesText: '', noText: '', yesAction: '', noAction: '', closeText: '', closeAction: '', elAction: '', offX: 0, offY: 0, defaultTit: ''};
        for(var n in inPar){
            if(inPar[n]!=null){
                lPar[n]=inPar[n];
            }
        }
        var tmp=BMu.pDescAdd;
        if(typeof(lPar.defaultTit)=='function'){
            lPar.defaultTit='';
        }
        for(var n in lPar)
        {
            if(typeof(lPar[n])!='function'){
                tmp=tmp.replace('%' + n + '%', lPar[n]);
            }
        }


        BMu.confirm=new Element('div', {'id': 'BMu_confirm'});
        BMu.confirm.innerHTML=tmp;
        BMu.confirm.injectTop(document.body);
        for(var n in lPar)
        {
            if(typeof(lPar[n])=='function'){
                if(n=='yesAction'){
                    $('BMuConfYes').addEvent('click', function(e){ 
                        var pAddDesc=$('pAddDesc');
                        var val=pAddDesc.getProperty('value');
                        lPar['yesAction'](val);
                        BMu.closeConfirm();
                    });
                }
                else if(n=='noAction'){
                    $('BMuConfNo').addEvent('click', function(){
                        lPar['noAction']();
                    });
                }
                else if(n=='closeAction'){
                    $('BMuConfClose').addEvent('click', function(){
                        lPar['closeAction']();
                    });
                }
            }
        }
        if(typeof(lPar['yesAction'])!='function'){
            $('BMuConfYes').addEvent('click', BMu.closeConfirm);
        }
        if(typeof(lPar['noAction'])!='function'){
            $('BMuConfClose').addEvent('click', BMu.closeConfirm);
        }
        if(typeof(lPar['noAction'])!='function'){
            $('BMuConfNo').addEvent('click', BMu.closeConfirm);
        }
        var cp=$('BMuConfirmPup');
        var cpS=cp.getSize();
        var elAactionPos=lPar.elAction.getPosition();
        
        cp.setStyle('top', elAactionPos.y + lPar.offX.toInt());
        cp.setStyle('left', elAactionPos.x + lPar.offY.toInt());
        BMu.attachCommonEvents();
    },

    attachCommonEvents: function(){
        if(BMu.confirm!=null){
            window.addEvent('keydown', function(e){
                e=new Event(e);
                if(e.key=='esc'){
                    BMu.closeConfirm();
                }
            });
        }
    },

    closeConfirm: function(){
        if(BMu.confirm!=null){
            var BMuConfClose=$('BMuConfClose');
            var BMuConfYes=$('BMuConfYes');
            var BMuConfNo=$('BMuConfNo');
            if(BMuConfClose!=null){
                BMuConfClose.removeEvents();
            }
            if(BMuConfYes!=null){
                BMuConfYes.removeEvents();
            }
            if(BMuConfNo!=null){
                BMuConfNo.removeEvents();
            }
            BMu.confirm.remove();
            BMu.confirm=null;
        }
    },

    wH: function () {
       var wH=0;
       if(typeof(window.innerHeight)!='undefined'){
            wH=parseInt(window.innerHeight);
       }
       else if(typeof(document.documentElement.clientHeight)!='undefined' && parseInt(document.documentElement.clientHeight)>0){
            wH=document.documentElement.clientHeight;
       }
       else{
            wH=parseInt(document.body.clientHeight);
       }
       return (wH/2+window.getScrollTop());
    },


    wW: function () {
        return (window.getSize().size.x/2+window.getScrollLeft());
    },
    
    showHideDescInTextFields: function(className, classNameEmpty, classNameNotEmpty){
        $$('.' + className).each(function(el){
            el.addEvent('click', function(){
                if(this.getProperty('emval')==this.value){
                    this.value='';
                    this.removeClass(classNameEmpty);
                    this.addClass(classNameNotEmpty);
                }
            });
            el.addEvent('blur', function(){
                if(this.value=='' || this.getProperty('emval')==this.value){
                    this.value=this.getProperty('emval');
                    this.removeClass(classNameNotEmpty);
                    this.addClass(classNameEmpty);
                }
            });
        });
    },

    tagAutoFill: function (inTags, callFunc, callFuncNotSend) {
		var tagName=inTags.split(",");
		var tagLength=tagName.length;
		if (tagLength>0) {
			var src='http://s.bigmir.net/tags/?action=tags&title=' + inTags + '&cb=' + callFunc;
            BMu.incJsSrc(src, true);
		}
		return false;
	},

    tagComplete: function (inTags, callFunc) {
		var tagName=inTags.split(",");
		var tagLength=tagName.length;
		if (tagLength>0 && tagName[tagLength - 1].length >= 3) {
            if(BMu.tagComplPrev!=tagName[tagLength - 1]){
                var src='http://s.bigmir.net/tags/?action=search&tag=' + tagName[tagLength - 1] + '&cb=' + callFunc;
                BMu.incJsSrc(src, true);
                BMu.tagComplPrev=tagName[tagLength - 1];
            }
		}
		return false;
	},

    incJsSrc: function(src, force){
        if(BMu.includedJs[src]!=1 || force==true){
            var jsD=document.createElement('script');
            jsD.type='text/javascript';
            jsD.src=src;
            BMu.includedJs[src]=1;
            document.body.appendChild(jsD);
        }
    }

}

function searchTag()
{
    var tag=$('keyword_q').value;
    var d=new Date();
    var path='/tags/search?r='+ d.getTime();
    var aj=new Ajax(path, 
    {
        method: 'post',
        data: {'tag': tag},
        onComplete: function(res)
        {
            if(res!='')
            {
                var re=new RegExp(/{{.*{{/);
                var result=res.match(re);
                if(result[0])
                {  
                    result=result[0];
                    var res=result.replace(/{{/g, '');
                    responce=JSON.parse(res);
                    if(responce.result='ok')
                    {
                       var obj=document.getElementById('tag_cloud');
                       if(obj)
                       {
                        obj.innerHTML=responce.data; 
                       }
                       obj=null;
                    }
                }
            }
        }  
    });
    aj.request();
    return false;
}


function showSlideShow(){
    var slideDiv=$('slideDiv');
    if(slideDiv==null){
        var slideParent=new Element('div');
        var slideDiv=new Element('div');
        slideParent.setProperty('id', 'slideParent');
        slideDiv.setProperty('id', 'slideDiv');
        slideDiv.innerHTML="Install flash palyer"
        slideDiv.setStyle('background', '#ccc');
        document.body.appendChild(slideParent);
        slideParent.appendChild(slideDiv);
        slideDiv.setStyle('width', '100%');
        slideDiv.setStyle('height', '100%');
    }
    else{
        var slideParent=$('slideParent');
        slideDiv.innerHtml='';
        var scroller=new Fx.Scroll(document.body);
        scroller.set(0, 0);
        slideParent.setStyle('display', '');
        slideDiv.width='100%';
        slideDiv.height='100%';
    }
    slideParent.setStyle('position', 'absolute');
    slideParent.setStyle('z-index', 20);
    slideParent.setStyle('top', 0);
    slideParent.setStyle('left', 0);
    slideParent.setStyle('width', '100%');
    slideParent.setStyle('height', '100%');
    $(document.body).setStyle('owerflow', 'hidden');
    $$('.page2').each(function(el){el.setStyle('display', 'none')});

    var startFrom=0;
    if(typeof(CURRENT_POSITION)!='undefined'){
        startFrom=CURRENT_POSITION;
    }
    else if(typeof(START_FROM_PHOTO)!='undefined'){
        startFrom=START_FROM_PHOTO;
    }

    swfobject.embedSWF("http://bm.img.com.ua/a/photo2/swf/slideshow2.swf", "slideDiv", "100%", "100%", "9.0.0", "expressInstall.swf", {"xmlUrl": BMP_SLIDESHOW_DATA_URL, "logoUrl": 'http://bmu.img.com.ua/a/photo2/img2/header/slideshowlogo.png', startNum: startFrom}, {menu: "false", allowFullscreen: "true", allowScriptAccess: "always", bgcolor: "#000000", width: "100%", height: "100%", quality: "hight", align: "middle", play: "true", loop: "true", scale: "showall", wmode: "opaque",  movie: "slideShow"}, {name: "slideShowName"});
}

var CURRENT_SLIDE_SHOW_PHOTO_POS=0;
function slideShowCloseHandler(){
    var slideParent=$('slideParent');
    if(slideParent!=null){
        $(document.body).setStyle('overflow', '');
        $(document.body).setStyle('position', '');
        slideParent.setStyle('display', 'none');
    }
    if(typeof(allPhoto)!='undefined' && CURRENT_SLIDE_SHOW_PHOTO_POS<allPhoto.length && CURRENT_SLIDE_SHOW_PHOTO_POS>=0){
        location.hash=allPhoto[CURRENT_SLIDE_SHOW_PHOTO_POS].id;
    }

    $$('.page2').each(function(el){el.setStyle('display', '')});
}

function slideShowCurrentNumHandler(num){
    CURRENT_SLIDE_SHOW_PHOTO_POS=num;
    
}

function customShowLoginForm(url, title){
    if(typeof(ShowLoginForm)=='undefined'){
        return;
    }
    if(url==null || url==''){
        url=location.href + location.search + location.hash;
    }
    ShowLoginForm(url); 
    $$('a[href=http://passport.bigmir.net/registration/]').each(function(el){el.setProperty('href', 'http://passport.bigmir.net/registration/?url=' + url + '&backurl_title=' + title);});
    return false;
}

printMessHandler=null;
function hidePrintMess(){
    var tmp=$('jsaddprintmess');
    if(tmp!=null){
        tmp.setStyle('display', 'none');
    }
}


function addPhotoToPrint(photoId){
    var d=new Date();
    var searchString='?r='+ d.getTime();
    if(allPhoto[CURRENT_POSITION]['externalKey']){
        searchString+='&key=' + allPhoto[CURRENT_POSITION]['externalKey'];
    }


    var path='/ajax/photo/' + photoId +  '/addtoprint' + searchString;
    var aj=new Ajax(path, 
    {
        method: 'post',
        data: {'photoId': photoId},
        onComplete: function(res)
        {
            if(res!='')
            {
                var re=new RegExp(/{{.*{{/);
                var result=res.match(re);
                if(result[0])
                {
                    result=result[0];
                    var res=result.replace(/{{/g, '');
                    responce=JSON.parse(res);
                    if(responce.result='ok')
                    {
                        $$('.jsaddprintdata').each(function(el){
                            if(responce.photosCount%10==1 && responce.photosCount%100!=11){
                                el.innerHTML=el.getProperty('jsinnerhtmlone').replace("%photosCount%", responce.photosCount);
                            }
                            else{
                                el.innerHTML=el.getProperty('jsinnerhtmlmany').replace("%photosCount%", responce.photosCount);
                            }
                        });
                        if($('jsaddprintmess')!=null){
                            $('jsaddprintmess').setStyle('display', '');
                        }
                        if(printMessHandler!=null){
                            clearTimeout(printMessHandler);
                        }
                        printMessHandler=setTimeout(hidePrintMess, 60000);
                    }
                }
                else{
                    alert('Произошол сбой при соединение с сервером, попробуйте позже.');
                }
            }
        }
    });
    aj.request();
    return false;
}


function addAlbumToPrint(albumId){
    var d=new Date();
    var searchString='?r='+ d.getTime();
    if(location.search!=''){
        searchString+='&' + location.search.replace('?', '');
    }

    var path='/ajax/albums/' + albumId +  '/addtoprint' + searchString;
    var aj=new Ajax(path, 
    {
        method: 'post',
        data: {'photoId': albumId},
        onComplete: function(res)
        {
            if(res!='')
            {
                var re=new RegExp(/{{.*{{/);
                var result=res.match(re);
                if(result[0])
                {
                    result=result[0];
                    var res=result.replace(/{{/g, '');
                    responce=JSON.parse(res);
                    if(responce.result='ok')
                    {
                        $$('.jsaddprintdata').each(function(el){
                            if(responce.photosCount%10==1 && responce.photosCount%100!=11){
                                el.innerHTML=el.getProperty('jsinnerhtmlone').replace("%photosCount%", responce.photosCount);
                            }
                            else{
                                el.innerHTML=el.getProperty('jsinnerhtmlmany').replace("%photosCount%", responce.photosCount);
                            }
                        });
                        if($('jsaddprintmess')!=null){
                            $('jsaddprintmess').setStyle('display', '');
                        }
                        if(printMessHandler!=null){
                            clearTimeout(printMessHandler);
                        }
                        printMessHandler=setTimeout(hidePrintMess, 60000);
                    }
                }
                else{
                    alert('Произошол сбой при соединение с сервером, попробуйте позже.');
                }
            }
        }
    });
    aj.request();
    return false;
}

function postToPrint(){
    hideMessLog();
    hideMessLogRed();
    var postForm=$('postToPrint');
    var orderId=$('orderId');
    if(postForm==null || orderId==null){ return false;}
    var d=new Date();
    var path=postForm.getProperty('action') + '?r='+ d.getTime();
    var aj=new Ajax(path, 
    {
        method: 'post',
        data: {'order_id': orderId.value},
        onComplete: function(res)
        {
            if(res!='')
            {
                var re=new RegExp(/{{.*{{/);
                var result=res.match(re);
                if(result[0])
                {
                    result=result[0];
                    var res=result.replace(/{{/g, '');
                    responce=JSON.parse(res);
                    if(responce.result=='ok')
                    {
                        logMessage(responce.message, 'info', 60000);
                        location.href=responce.url;
                    }
                    else if(responce.result=='error'){
                        logMessage(responce.message, 'error', 60000);
                    }
                }
                else{
                    alert('Произошол сбой при соединение с сервером, попробуйте позже.');
                }
            }
        }
    });
    aj.request();
    logMessage(MESSAGE_START_POST, 'info', 60000);
    return false;
}
