var hexcase=0;var b64pad="";var chrsz=8;function hex_md5(s){return binl2hex(core_md5(str2binl(s),s.length*chrsz));}
function md5_vm_test(){return hex_md5("abc")=="900150983cd24fb0d6963f7d28e17f72";}
function core_md5(x,len)
{x[len>>5]|=0x80<<((len)%32);x[(((len+64)>>>9)<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16)
{var olda=a;var oldb=b;var oldc=c;var oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936);d=md5_ff(d,a,b,c,x[i+1],12,-389564586);c=md5_ff(c,d,a,b,x[i+2],17,606105819);b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=md5_ff(a,b,c,d,x[i+4],7,-176418897);d=md5_ff(d,a,b,c,x[i+5],12,1200080426);c=md5_ff(c,d,a,b,x[i+6],17,-1473231341);b=md5_ff(b,c,d,a,x[i+7],22,-45705983);a=md5_ff(a,b,c,d,x[i+8],7,1770035416);d=md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=md5_ff(c,d,a,b,x[i+10],17,-42063);b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=md5_ff(a,b,c,d,x[i+12],7,1804603682);d=md5_ff(d,a,b,c,x[i+13],12,-40341101);c=md5_ff(c,d,a,b,x[i+14],17,-1502002290);b=md5_ff(b,c,d,a,x[i+15],22,1236535329);a=md5_gg(a,b,c,d,x[i+1],5,-165796510);d=md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=md5_gg(c,d,a,b,x[i+11],14,643717713);b=md5_gg(b,c,d,a,x[i+0],20,-373897302);a=md5_gg(a,b,c,d,x[i+5],5,-701558691);d=md5_gg(d,a,b,c,x[i+10],9,38016083);c=md5_gg(c,d,a,b,x[i+15],14,-660478335);b=md5_gg(b,c,d,a,x[i+4],20,-405537848);a=md5_gg(a,b,c,d,x[i+9],5,568446438);d=md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=md5_gg(c,d,a,b,x[i+3],14,-187363961);b=md5_gg(b,c,d,a,x[i+8],20,1163531501);a=md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=md5_gg(d,a,b,c,x[i+2],9,-51403784);c=md5_gg(c,d,a,b,x[i+7],14,1735328473);b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=md5_hh(a,b,c,d,x[i+5],4,-378558);d=md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=md5_hh(c,d,a,b,x[i+11],16,1839030562);b=md5_hh(b,c,d,a,x[i+14],23,-35309556);a=md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=md5_hh(d,a,b,c,x[i+4],11,1272893353);c=md5_hh(c,d,a,b,x[i+7],16,-155497632);b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=md5_hh(a,b,c,d,x[i+13],4,681279174);d=md5_hh(d,a,b,c,x[i+0],11,-358537222);c=md5_hh(c,d,a,b,x[i+3],16,-722521979);b=md5_hh(b,c,d,a,x[i+6],23,76029189);a=md5_hh(a,b,c,d,x[i+9],4,-640364487);d=md5_hh(d,a,b,c,x[i+12],11,-421815835);c=md5_hh(c,d,a,b,x[i+15],16,530742520);b=md5_hh(b,c,d,a,x[i+2],23,-995338651);a=md5_ii(a,b,c,d,x[i+0],6,-198630844);d=md5_ii(d,a,b,c,x[i+7],10,1126891415);c=md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=md5_ii(b,c,d,a,x[i+5],21,-57434055);a=md5_ii(a,b,c,d,x[i+12],6,1700485571);d=md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=md5_ii(c,d,a,b,x[i+10],15,-1051523);b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=md5_ii(a,b,c,d,x[i+8],6,1873313359);d=md5_ii(d,a,b,c,x[i+15],10,-30611744);c=md5_ii(c,d,a,b,x[i+6],15,-1560198380);b=md5_ii(b,c,d,a,x[i+13],21,1309151649);a=md5_ii(a,b,c,d,x[i+4],6,-145523070);d=md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=md5_ii(c,d,a,b,x[i+2],15,718787259);b=md5_ii(b,c,d,a,x[i+9],21,-343485551);a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd);}
return Array(a,b,c,d);}
function md5_cmn(q,a,b,x,s,t)
{return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b);}
function md5_ff(a,b,c,d,x,s,t)
{return md5_cmn((b&c)|((~b)&d),a,b,x,s,t);}
function md5_gg(a,b,c,d,x,s,t)
{return md5_cmn((b&d)|(c&(~d)),a,b,x,s,t);}
function md5_hh(a,b,c,d,x,s,t)
{return md5_cmn(b^c^d,a,b,x,s,t);}
function md5_ii(a,b,c,d,x,s,t)
{return md5_cmn(c^(b|(~d)),a,b,x,s,t);}
function safe_add(x,y)
{var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);}
function bit_rol(num,cnt)
{return(num<<cnt)|(num>>>(32-cnt));}
function str2binl(str)
{var bin=Array();var mask=(1<<chrsz)-1;for(var i=0;i<str.length*chrsz;i+=chrsz)
bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<(i%32);return bin;}
function binl2str(bin)
{var str="";var mask=(1<<chrsz)-1;for(var i=0;i<bin.length*32;i+=chrsz)
str+=String.fromCharCode((bin[i>>5]>>>(i%32))&mask);return str;}
function binl2hex(binarray)
{var hex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++)
{str+=hex_tab.charAt((binarray[i>>2]>>((i%4)*8+4))&0xF)+
hex_tab.charAt((binarray[i>>2]>>((i%4)*8))&0xF);}
return str;}
function updateInBackground(s, p) {(new Xhr('/asyncBlockController.php?block=' + s)).update($(s), p);}
function loadInBackground(s, a) {(new Xhr('/frontController.php?page=' + a)).update($(s));}
function submitInBackground(s, f) {$(f).send({onSuccess: function(r){$(s).update(r.responseText);}});return false;}
function showIFrameBox(url) {Lightbox.show('<IFRAME src="'+url+'" width="640px" frameborder="0" height="360px" border="0" style="border:none;width:640px;height:350px;-moz-opacity: 1; opacity: 1;"></IFRAME>');};
function gotoPage(url) {
    var l = new String(url);
    var d = l.indexOf('#');
    if (d > 0) {
        window.location = l.substr(0,d);
    } else {
        window.location = l;
    }
}
function ismaxlength(obj){
    var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : "";
    if (obj.getAttribute && obj.value.length>mlength) {
        obj.value=obj.value.substring(0,mlength);
        return false;
    }
    return true;
}
var BrVersion = (navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1];
var Popup=new Class(Observer, {
    v:false,
    initf:false,
    extend: {
        EVENTS: $w('init show hide'),
        Options: {
            bg:'#78787c',
            w:220,
            h:180,
            title:'popup'
        }
    },
    initialize:function(e,o) {
        this.e=$(e);
        this.$super(o);
        this.p=this.createPopup(this.e.position()['x'],this.e.position()['y']+this.e.sizes()['y']);
        this.e.insert(this.p, 'after');
    },
    createPopup:function(x,y){
        var e=$E('div', {id:'pp_'+this.e.get('id'),style: 'text-align:center;position:absolute;display:none;background-color:'+this.options['bg']+';' +
                                 'width:'+this.options['w']+'px;height:'+this.options['h']+'px;left:'+x+'px;top:'+y+'px;'});
        this.header = this.createHeader();
        this.body = this.createBody();
        this.footer = this.createFooter();
        e.insert(this.header).insert(this.body).insert(this.footer);
        return e;
    },
    createHeader:function(){
    },
    getTitle:function(){
        return this.options['title'];
    },
    createBody:function(){
    },
    createFooter:function(){
        var h=$E('div', {style:'width:100%;text-align:center;height:16px;'});
        var closeBtn = $E('a',{href:'javascript:;'}).setClass('popupBtn').insert('Отмена');
        var okBtn = $E('a', {href:'javascript:;'}).setClass('popupBtn').insert('Ок');
        closeBtn.observe('click', this.onClose, this);
        okBtn.observe('click', this.onOk, this);
        h.insert(okBtn);
        h.insert(closeBtn);
        return h;

    },
    onClose:function(e,o){
        o.hide();
    },
    onOk:function(e,o){
        o.hide();
    },
    show:function(){
        if(this.v)return;
        this.v=true;
        this.p.show();
    },
    hide:function(){
        if(!this.v)return;
        this.v=false;
        this.p.hide();
    }

});
var Banner=new Class({
    extend: {
        Options: {
        }
    },

    initialize:function(eId) {
        this.eId = eId;
        window.observe('onresize', this.windowSizeChanged, this);
        window.observe('onscroll', this.windowSizeChanged, this);
        document.observe('onready', this.onload, this);
    },

    isElementInDisplayRect:function(el) {
        return (el.position().y < (window.sizes().y + window.scrolls().y) &&
        el.position().x < (window.sizes().x + window.scrolls().x));
    },

    onload:function(e, banner) {
        banner.windowSizeChanged(e, banner);
        document.stopObserving(banner.onload);
    },

    windowSizeChanged:function(e, banner) {
        if (banner.isElementInDisplayRect($(banner.eId))) {
            window.stopObserving(banner.windowSizeChanged);
            $(banner.eId).update(banner.func());
        }
    },

    setCode:function(func) {
        this.func = func;
    }
});
var SliderEx=new Class(Fx.Morph, {
    extend: {
        Options: Object.merge(Fx.Options, {
            panel:null,
            size:0,
            count:0,
            width:190
        })
    },

    create: function(){
        this.element=$(this._e);
        this.elP=$(this.options['panel']);
        this.morphInstance=true;
    },

    initialize: function(e,o) {
        this._e=e;
        this.$super(null,o);
        this.morphInstance=false;
        this.llMax=0;
        this.cP=1;
        this._s=false;
        this.lSize=this.options['size'];
        this.lCnt=this.options['count'];
        this.eW=this.options['width'];
        this.llMin=(this.lCnt-this.lSize)*this.eW;
        this.onFinish(function(){
            this.elP.innerHTML = this.cP+'-'+(this.cP+this.lCnt-1)+'/'+this.lSize;
            if(this._s)this._s=false;
        });
    },
    slideLeft: function(){
        if(!this.morphInstance){this.create()}
        var l=this.element.style.left.toInt()-this.eW;
        if(l<this.llMin)return;
        if(this._s)return;else this._s=true;
        this.cP+=1;
        this.start({left:l+'px'});
    },
    slideRight: function(){
        if(!this.morphInstance){this.create()}
        var l=this.element.style.left.toInt()+this.eW;
        if(l>this.llMax)return;
        if(this._s)return;else this._s=true;
        this.cP-=1;
        this.start({left:l+'px'});
    }
});
function fixpng (element) {
    function filter(src) { return "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='crop',src='" + src + "')"; }
    if (self.Browser.IE && BrVersion < 7 &&
            (element.src && element.src.match(/.*\.png([?].*)?$/i))) {
        element.style.filter = filter(element.src);
        element.src = '/img/pixel_js.gif';
    }
};
var fixPNGf=false;
document.observe('ready',function(){
    if (fixPNGf) {
        return;
    }
    fixPNGf = true;
    fixAllPng();
});

function fixAllPng() {
    var images = document.images;;
    for(var i=0,n=images.length;i<n;i++) {
        fixpng(images[i]);
    }
}

function inputlineAttachCharCounter(ed) {
    el = document.getElementById(ed);

    if (BEDetector.engine.is.Gecko || BEDetector.engine.is.WebKit || BEDetector.engine.is.Opera) {
        el.addEventListener('input',
            function() { inputlineUpdateCharCounter(this) },
            false);
        el.addEventListener('dragdrop',
            function() { inputlineUpdateCharCounter(this) },
            false);
    }
    else if (BEDetector.engine.is.MSHTML) {
        el.attachEvent('onpropertychange',
            function() { inputlineUpdateCharCounter(null)} );
    } else {
        el.addEventListener('keyup',
            function() { inputlineUpdateCharCounter(this) },
            false);
        el.addEventListener('DOMCharacterDataModified',
            function() { inputlineUpdateCharCounter(this) },
            false);
    }
}
function textCounter( field, countfield, maxlimit ) {
  if ( field.value.length > maxlimit )
  {
    field.value = field.value.substring( 0, maxlimit );
    //alert( 'Textarea value can only be 500 characters in length.' );
    return false;
  }
  else
  {
    document.getElementById(countfield).innerHTML = maxlimit - field.value.length;
  }
}

//
// comments
//

function deleteOwnComment(id) {
    var xhr = new Xhr('/actionController.php', {
        params: {
            action:			'deleteOwnComment',
            comment_id: 	id
        },
        onSuccess: function(request) {
            if (request.responseText == 'ok')
                $('comment_'+id).hide('slide', {speed: 'fast'});
        }
    });
    xhr.send();

    Lightbox.hide();
    return false;
}


function deleteComment(id) {
    var xhr = new Xhr('/actionController.php', {
        params: {
            action:			'deleteComment',
            comment_id: 	id
        },
        onSuccess: function(request) {
            if (request.responseText == 'ok')
                $('comment_'+id).hide('slide', {speed: 'fast'});
        }
    });
    xhr.send();

    Lightbox.hide();
    return false;
}

function deleteAllComments(id) {
    var xhr = new Xhr('/actionController.php', {
        params: {
            action:'deleteAllComments',
            work_id:id
        },
        onSuccess: function(request) {
            if (request.responseText == 'ok') {
                var l = window.location;
                window.location = l;
            }
        }
    });
    xhr.send();

    Lightbox.hide();
    return false;
}

function add(s, f) {
    $(f).send({
        onSuccess: function(r){
            $(s).insert(r.responseText,'bottom');
        }});
    return false;
}

function submitForm(f) {
	f.submitBtn.disabled=true;
	add('comments_container',f);
	f.submitBtn.disabled=false;
    f['taAddComment'].value='';
}
