  // Search Engines Terms Highlighting


function initSpoilers(context) {
    var context = context || 'body';
    $('div.spoiler-head', $(context))
        .click(function(){
            $(this).toggleClass('unfolded');
            $(this).next('div.spoiler-body').slideToggle('fast');
        })
    ;
}


/* JQuery Random Code */ 
jQuery.jQueryRandom=0;jQuery.extend(jQuery.expr[":"],{random:function(c,d,b,e){if(d==0){jQuery.jQueryRandom=Math.floor(Math.random()*e.length)}return d==jQuery.jQueryRandom}});

//$.insert('my_style.css').ready(function() { alert('My Style was loaded!'); });

jQuery.insert=function(a){var b=[];var c=[];if(typeof a=='object'){b=a;a=b.src!==undefined?b.src:false;a=a===false&&b.href!==undefined?b.href:a;a=a===false?file2:false}if(typeof a=='string'&&a.length){var d=a.lastIndexOf('.');var e=a.replace('\\','/').lastIndexOf('/')+1;var f=a.substring(d+1,a.length)}switch(f){case'js':c={elm:'script',type:'text/javascript',src:a};break;case'css':c={elm:'link',rel:'stylesheet',type:'text/css',href:a};break;default:c={elm:'link'};break}c.id='script-'+(typeof a=='string'&&a.length?a.substring(e,d):Math.round(Math.rand()*100));for(var i in b){c[i]=b[i]}b=c;var g=document.createElement(b.elm);delete b.elm;for(i in b){g.setAttribute(i,b[i])}jQuery('head').append(g);return jQuery('#'+b.id)};

/* image captions by kris */
(function(a){a.fn.extend({capSlideImg:function(b){b=a.extend({caption_color:"white",header_color:"white",caption_bgcolor:"black",overlay_bgcolor:"black",border:"0px solid #fff",position:"top",offset:10,showcaption:true},b);return this.each(function(){var d=this;if(/^img$/i.test(d.tagName)){var c=a(d)}else{var c=a(d).find("img:first")}if(c[0].complete){e()}else{a(c).load(e)}function e(){var i=b;var p=i.showcaption;var n=c.width();var k=c.height();var m=parseInt(c.css("border-left-width"));var g=c.attr("rel");var j=c.attr("title");var r=c.attr("alt");if(r==""&&j==""){return}if(n<120){return}var f=j.split("|",4);if(f.length==2){j=f[0];r=f[1]}else{if(f.length==3){j=f[0];r=f[1];g=f[2]}else{if(f.length==4){j=f[0];r=f[1];g=f[2];if(f[3]=="1"){p=true}else{if(f[3]=="0"){p=false}}}}}if(n<200){r=j;j=g=""}var q=a('<div class="ic_caption" />');if(g!=""&&g!=undefined){q.append(a('<p class="ic_category" />').text(g));c.removeAttr("rel")}if(j!=""&&j!=undefined){q.append(a("<h3 />").html(j).css("color",i.header_color));c.removeAttr("title")}if(r!=""&&r!=undefined){q.append(a('<p class="ic_text" />').html(r));c.removeAttr("alt")}$container_wrap=c.parent();if(/^a$/i.test($container_wrap[0].tagName)){var l=$container_wrap}else{var l=c}l.wrap('<span class="ic_container" />');if(q!=""){l.after(q)}else{return}$container=l.parent();if($container.css("display")!="inline"){c.after('<div class="overlay" style="display:none;" />')}if(!p){$container.find(".ic_caption").css("display","none")}else{$container.find(".ic_text").css("display","none")}$container.find(".ic_caption").css({color:i.caption_color,"background-color":i.caption_bgcolor,"margin-left":m+"px"}).width(n);$container.find(".overlay").css("background-color",i.overlay_bgcolor);$container.css({border:i.border,overflow:"hidden"}).width(n+m+m).height(k+m+m);if(i.position=="top"){$container.css("display","block");$container.find(".ic_caption").css({left:i.offset+"px",top:i.offset+"px","margin-top":m+"px"}).width(n-i.offset)}else{if($container.css("display")=="inline"){$container.find(".ic_caption").css("bottom","5px")}else{$container.find(".ic_caption").css("bottom","0")}}$container.hover(function(){a(this).find(".overlay:hidden").fadeTo(300,0.3);if(!p){a(this).find(".ic_caption:hidden").css("opacity",0.3).animate({height:"show"}).fadeTo(300,0.7)}else{a(this).find(".ic_caption::visible").css("opacity",0.3).fadeTo(300,0.7);a(this).find(".ic_text:hidden").css("opacity",0.3).animate({height:"show"}).fadeTo(300,1)}},function(){a(this).find(".overlay:visible").fadeOut();if(!p){a(this).find(".ic_caption:visible").fadeTo(300,0.3).slideUp(300)}else{a(this).find(".ic_caption::visible").fadeTo(300,0.3);a(this).find(".ic_text:visible").fadeTo(300,0.3).slideUp(300)}})}})}})})(jQuery);

/* image gallery by kris */
(function(a){a.fn.HHRUGallery=function(b){var c=a.extend({maxwidth:500,maxheight:500,thumbwidth:100,thumbheight:70,thumbplacement:"bottom",thumbcontainer:"",opacity:0.7,playtime:2000,load_image:"/forum/images/misc/loading_w.gif"},b);return this.each(function(){var q=c,F=0,t=0,r=0,f=0,e="",p="",g=a(this),l=0,j=0,z=0,w=g.find("img").size(),x;s();function s(){if(g.find("img").hasClass("inquote")){g.wrap('<div class="gallery_inq"><span>[галерея]</span>');g.children("br").remove();g.children(".iLoading").remove();g.children().wrap('<li style="float:left;margin-right:5px"/>');g.after('<br style="clear:both"/>');g.show();return}g.hide();g.before('<div id="loading" style="text-align:center;width:300px;margin:0 auto;"><img src="'+q.load_image+'" /> грузим изображения для галереи…</div>');g.find("img").each(function(){var i=a(this).attr("src"),k=new Image();k.onload=function(){C()};k.src=i})}function C(){z++;if(z==w){y()}}function y(){A();h();if(F<=1){var i=g.find("li:first").html();g.parent().replaceWith(i);return}E();D()}function A(){g.parent().find("#loading").hide();g.show();g.wrap('<div class="gallery-post"></div>');p=g.parent()}function h(){g.children("br").remove();g.children().wrap("<li />");g.find("img:not(.reflection)").each(function(){var k=a(this);k.capSlideImg();if(k.parent().hasClass("ic_container")){thistall=k.parent().parent().height()}else{thistall=k.parent().height()}if(thistall>l){l=thistall}e+='<li><img src="'+k.attr("src")+'" width="'+k.width()+'" height="'+k.height()+'"/></li>'});g.find("li").css({position:"absolute",bottom:"5px"}).hover(function(){f=1},function(){f=0});g.find("li:not(:first)").hide();g.height(l);var i=g.width();g.find("li").each(function(k){F=k;a(this).css("left",(i-a(this).width())/2-5)})}function E(){p.append('<div class="slide-panel"><span class="icount">1/'+F+'</span><span class="show-hide icon">[мини]</span><span class="control"><span class="prev icon">[<]</span><span class="play-stop icon">[плей]</span><span class="next icon">[>]</span></span></div><ul class="thumbs">'+e+'<div style="clear:both"></div></ul>');p.find(".show-hide").click(function(){p.find(".thumbs").toggle(300)});if(!a.browser.msie){p.find(".slide-panel").hover(function(){a(this).stop().fadeTo(200,1);a(this).find(".show-hide, .icount").stop().fadeTo(200,1)},function(){a(this).stop().fadeTo(200,0.4);a(this).find(".show-hide, .icount").stop().fadeTo(200,0)})}p.find(".next").click(function(){n()});p.find(".prev").click(function(){m()});p.find(".play-stop").click(function(){u()})}function u(){if(r){v()}else{B()}}function B(){window.clearInterval(x);r=1;p.find(".play-stop").addClass("pause");x=window.setInterval(d,q.playtime)}function v(){r=0;p.find(".play-stop").removeClass("pause");window.clearInterval(x)}function d(){if(f){return}if(t<F){p.find(".thumbs li.on").next().click()}else{p.find(".thumbs li").first().click()}}function n(){v();d()}function m(){v();if(t>0){p.find(".thumbs li.on").prev().click()}else{p.find(".thumbs li").last().click()}}function D(){p.find(".thumbs li").each(function(){var M=a(this),k=M.find("img"),G=k.attr("width"),P=k.attr("height"),o=q.thumbheight,J=q.thumbwidth,L="auto",H="auto",O=0,K=0;if(G==0){P=o;H=L=o+"px"}else{var N=Math.ceil(G/P*o),I=Math.ceil(P/G*J);K="-"+Math.ceil((I-o)/2)+"px";O="-"+Math.ceil((N-J)/2)+"px"}if(G>P){k.css({width:H,height:o+"px","margin-left":O})}else{k.css({height:L,width:J+"px","margin-top":K})}M.css({"float":"left",width:J+"px",height:o+"px",overflow:"hidden",cursor:"pointer"});M.click(function(){var Q=p.find(".thumbs li").index(M);if(j!=Q){g.find("li").fadeOut();g.find("li").eq(Q).fadeIn();j=Q}})});var i=p.find(".thumbs li");i.eq(0).addClass("on");i.not(".on").fadeTo(0,q.opacity);i.dblclick(function(){B()}).click(function(){if(f){v()}var o=a(this),k=i.index(this);if(t!=k){i.removeClass("on");o.addClass("on").fadeTo(200,1);i.not(".on").fadeTo(200,q.opacity);t=k;p.find(".icount").text((t+1)+"/"+F)}}).hover(function(){f=1;a(this).stop().fadeTo(200,1)},function(){f=0;a(this).not(".on").stop().fadeTo(200,q.opacity)})}})}})(jQuery);


/* reflection and resize by kris org http://www.digitalia.be */
(function(a){a.fn.extend({reflect:function(b){b=a.extend({ImageMaxWidth:500,ImageMaxHeight:600,resize:false,caption:false,height:1/3,opacity:0.5},b);return this.unreflect().each(function(){var c=this,e=false;function d(){var i=c.naturalWidth,g=c.naturalHeight;if(!i||!g){var l=document.createElement("img");l.src=c.src;i=l.width;g=l.height}if(!b.resize){f(c.width,c.height);return}var k=pWidth=reduce=1;if(b.ImageMaxWidth!=null){if(a(c).hasClass("inquote")){pWidth=i/120;e=true}else{pWidth=i/b.ImageMaxWidth}}if(b.ImageMaxHeight!=null){k=g/b.ImageMaxHeight}if(pWidth<k){reduce=k}else{reduce=pWidth}if(reduce<=1){reduce=1}else{if(!e){a(c).after('<div class="zoomin"><a target="_blank" href="'+c.src+"\" class=\"highslide\" onclick=\"return hs.expand(this,{ captionText: $(this).parent().parent('.reflected_img').find('.ic_caption').find('h3').text()});\"><span></span></a></div>");a(c).next(".zoomin").hover(function(){a(this).css("opacity",1)},function(){a(this).css("opacity",0.4)})}else{a(c).wrap('<a target="_blank" href="'+c.src+"\" class=\"highslide\" onclick=\"return hs.expand(this,{ captionText: $(this).parent().parent('.reflected_img').find('.ic_caption').find('h3').text()});\" />")}}var j=parseInt(i/reduce),h=parseInt(g/reduce);a(c).attr("width",j).attr("height",h).width(j).height(h);if(j>120){f(j,h)}else{a(c).show()}}function f(r,l){var p=r,n=l,k,m,g,i,q;m=Math.floor((b.height>1)?Math.min(n,b.height):n*b.height);if(a.browser.msie){k=a("<img />").addClass("reflection").attr("src",c.src).css({width:p,height:n,marginBottom:m-n,filter:"flipv progid:DXImageTransform.Microsoft.Alpha(opacity="+(b.opacity*100)+", style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy="+(m/n*100)+")"})[0]}else{k=a("<canvas />")[0];if(!k.getContext){return}i=k.getContext("2d");try{a(k).attr({width:p,height:m});i.save();i.translate(0,n-1);i.scale(1,-1);i.drawImage(c,0,0,p,n);i.restore();i.globalCompositeOperation="destination-out";q=i.createLinearGradient(0,0,0,m);q.addColorStop(0,"rgba(255, 255, 255, "+(1-b.opacity)+")");q.addColorStop(1,"rgba(255, 255, 255, 1.0)");i.fillStyle=q;i.rect(0,0,p,m);i.fill()}catch(o){return}}a(k).css({display:"block",border:0});if(a(c).next().hasClass("zoomin")){var j=a(c).next()}g=a("<div />").insertAfter(c).append([c,k])[0];if(/^a$/i.test(c.parentNode.parentNode.tagName)){a(c).wrap('<a href="'+a(c).parent().parent().attr("href")+'"/>');a(c).parent().parent().removeAttr("href").parent().removeAttr("href")}g.className=c.className;a.data(c,"reflected",g.style.cssText=c.style.cssText);a(g).css({width:p,height:n+m,overflow:"hidden"});c.style.cssText="display: block; border: 0px";c.className="reflected";if(j){a(c).after(j);j.css("bottom",m+5);a(g).css("position","relative")}if(b.caption){a(c).capSlideImg()}}if(c.complete){d()}else{a(c).load(d())}})},unreflect:function(){return this.unbind("load").each(function(){var c=this,b=a.data(this,"reflected"),d;if(b!==undefined){d=c.parentNode;c.className=d.className;c.style.cssText=b;a.removeData(c,"reflected");d.parentNode.replaceChild(c,d)}})}})})(jQuery);

/* jQuery onImageLoaded image preloader */
jQuery.fn.onImagesLoaded=function(a){return this.each(function(){var c=(this.tagName.toLowerCase()==="img")?$(this):$("img",this),d=this,b=0,e=function(){if(typeof a==="function"){a(d)}};if(c.length){c.each(function(){var g=$(this).attr("src");var f=this,h=function(i){if((f.complete)||(f.readyState=="complete"&&i.type=="readystatechange")){if(++b===c.length){e()}}else{if(f.readyState===undefined){$(f).attr("src",$(f).attr("src"))}}};$(f).bind("load readystatechange",function(i){h(i)});h({type:"readystatechange"})})}else{e()}})};

/* JQuery highlightFade and bgColor */ 

jQuery.fn.highlightFade=function(settings){var o=(settings&&settings.constructor==String)?{start:settings}:settings||{};var d=jQuery.highlightFade.defaults;var i=o['interval']||d['interval'];var a=o['attr']||d['attr'];var ts={'linear':function(s,e,t,c){return parseInt(s+(c/t)*(e-s))},'sinusoidal':function(s,e,t,c){return parseInt(s+Math.sin(((c/t)*90)*(Math.PI/180))*(e-s))},'exponential':function(s,e,t,c){return parseInt(s+(Math.pow(c/t,2))*(e-s))}};var t=(o['iterator']&&o['iterator'].constructor==Function)?o['iterator']:ts[o['iterator']]||ts[d['iterator']]||ts['linear'];if(d['iterator']&&d['iterator'].constructor==Function)t=d['iterator'];return this.each(function(){if(!this.highlighting)this.highlighting={};var e=(this.highlighting[a])?this.highlighting[a].end:jQuery.highlightFade.getBaseValue(this,a)||[255,255,255];var c=jQuery.highlightFade.getRGB(o['start']||o['colour']||o['color']||d['start']||[255,255,128]);var s=jQuery.speed(o['speed']||d['speed']);var r=o['final']||(this.highlighting[a]&&this.highlighting[a].orig)?this.highlighting[a].orig:jQuery.curCSS(this,a);if(o['end']||d['end'])r=jQuery.highlightFade.asRGBString(e=jQuery.highlightFade.getRGB(o['end']||d['end']));if(typeof o['final']!='undefined')r=o['final'];if(this.highlighting[a]&&this.highlighting[a].timer)window.clearInterval(this.highlighting[a].timer);this.highlighting[a]={steps:((s.duration)/i),interval:i,currentStep:0,start:c,end:e,orig:r,attr:a};jQuery.highlightFade(this,a,o['complete'],t)})};jQuery.highlightFade=function(e,a,o,t){e.highlighting[a].timer=window.setInterval(function(){var newR=t(e.highlighting[a].start[0],e.highlighting[a].end[0],e.highlighting[a].steps,e.highlighting[a].currentStep);var newG=t(e.highlighting[a].start[1],e.highlighting[a].end[1],e.highlighting[a].steps,e.highlighting[a].currentStep);var newB=t(e.highlighting[a].start[2],e.highlighting[a].end[2],e.highlighting[a].steps,e.highlighting[a].currentStep);jQuery(e).css(a,jQuery.highlightFade.asRGBString([newR,newG,newB]));if(e.highlighting[a].currentStep++>=e.highlighting[a].steps){jQuery(e).css(a,e.highlighting[a].orig||'');window.clearInterval(e.highlighting[a].timer);e.highlighting[a]=null;if(o&&o.constructor==Function)o.call(e)}},e.highlighting[a].interval)};jQuery.highlightFade.defaults={start:[255,255,128],interval:50,speed:400,attr:'backgroundColor'};jQuery.highlightFade.getRGB=function(c,d){var result;if(c&&c.constructor==Array&&c.length==3)return c;if(result=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(result[1]),parseInt(result[2]),parseInt(result[3])];else if(result=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(result[1])*2.55,parseFloat(result[2])*2.55,parseFloat(result[3])*2.55];else if(result=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt("0x"+result[1]),parseInt("0x"+result[2]),parseInt("0x"+result[3])];else if(result=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt("0x"+result[1]+result[1]),parseInt("0x"+result[2]+result[2]),parseInt("0x"+result[3]+result[3])];else return jQuery.highlightFade.checkColorName(c)||d||null};jQuery.highlightFade.asRGBString=function(a){return"rgb("+a.join(",")+")"};jQuery.highlightFade.getBaseValue=function(e,a,b){var s,t;b=b||false;t=a=a||jQuery.highlightFade.defaults['attr'];do{s=jQuery(e).css(t||'backgroundColor');if((s!=''&&s!='transparent')||(e.tagName.toLowerCase()=="body")||(!b&&e.highlighting&&e.highlighting[a]&&e.highlighting[a].end))break;t=false}while(e=e.parentNode);if(!b&&e.highlighting&&e.highlighting[a]&&e.highlighting[a].end)s=e.highlighting[a].end;if(s==undefined||s==''||s=='transparent')s=[255,255,255];return jQuery.highlightFade.getRGB(s)};jQuery.highlightFade.checkColorName=function(c){if(!c)return null;switch(c.replace(/^\s*|\s*$/g,'').toLowerCase()){case'aqua':return[0,255,255];case'black':return[0,0,0];case'blue':return[0,0,255];case'fuchsia':return[255,0,255];case'gray':return[128,128,128];case'green':return[0,128,0];case'lime':return[0,255,0];case'maroon':return[128,0,0];case'navy':return[0,0,128];case'olive':return[128,128,0];case'purple':return[128,0,128];case'red':return[255,0,0];case'silver':return[192,192,192];case'teal':return[0,128,128];case'white':return[255,255,255];case'yellow':return[255,255,0]}};jQuery.fn.bgColor=function(test,value){var self=jQuery(this),bgColor;if(!test||test.constructor!=Function)test=function(e){return false};if(!value||value.constructor!=Function)value=function(e){return jQuery(e).css('backgroundColor')};while(true){bgColor=self.css('backgroundColor');if(bgColor!=''&&bgColor!='transparent')break;if(test(self[0])){bgColor=value(self[0]);break}if(self.parent()[0]==document)break;else self=self.parent()};if(bgColor==''||bgColor=='transparent')bgColor="rgb(255,255,255)";return bgColor};


/** Jquery Confirm plugin 1.3 http://nadiana.com/jquery-confirm-plugin */
jQuery.fn.confirm=function(a){a=jQuery.extend({msg:"Уверен? ",stopAfter:"never",wrapper:"<span></span>",eventType:"click",dialogShow:"show",dialogSpeed:"",timeout:0},a);a.stopAfter=a.stopAfter.toLowerCase();if(!a.stopAfter in ["never","once","ok","cancel"]){a.stopAfter="never"}a.buttons=jQuery.extend({ok:"Да",cancel:"Нет",wrapper:'<a href="#"></a>',separator:"/"},a.buttons);var b=a.eventType;return this.each(function(){var h=this;var d=jQuery(h);var j;var c=function(){var l=jQuery.data(h,"events");if(!l&&h.href){d.bind("click",function(){document.location=h.href});l=jQuery.data(h,"events")}else{if(!l){return}}h._handlers=new Array();for(var k in l[b]){h._handlers.push(l[b][k])}};var e=jQuery(a.buttons.wrapper).append(a.buttons.ok).click(function(){if(a.timeout!=0){clearTimeout(j)}d.unbind(b,f);d.show();g.hide();if(h._handlers!=undefined){jQuery.each(h._handlers,function(){d.click(this.handler)})}d.click();if(a.stopAfter!="ok"&&a.stopAfter!="once"){d.unbind(b);d.one(b,f)}return false});var i=jQuery(a.buttons.wrapper).append(a.buttons.cancel).click(function(){if(a.timeout!=0){clearTimeout(j)}if(a.stopAfter!="cancel"&&a.stopAfter!="once"){d.one(b,f)}d.show();g.hide();return false});if(a.buttons.cls){e.addClass(a.buttons.cls);i.addClass(a.buttons.cls)}var g=jQuery(a.wrapper).append(a.msg).append(e).append(a.buttons.separator).append(i).css("float",d.css("float"));var f=function(){jQuery(this).hide();if(a.dialogShow!="show"){g.hide()}g.insertBefore(this);g[a.dialogShow](a.dialogSpeed);if(a.timeout!=0){clearTimeout(j);j=setTimeout(function(){i.click();d.one(b,f)},a.timeout)}return false};c();d.unbind(b);h._confirm=f;h._confirmEvent=b;d.one(b,f)})};

$(document).ready(function(){

//  jQuery(function(){

//    jQuery(document).SearchHighlight({
//    	exact:"partial",
//    	style_name_suffix:false,
//    	style_name: "highlight",
//			engines:[/^http:\/\/.*\yandex\.ru/i ,/text=([^&]+)/i] 
//    });

	$("img.reflected_img").onImagesLoaded(function(_this){
	  $(_this).reflect({height:0.1,opacity:0.3,resize:true,caption:true});
	});

	  $("img.simg").capSlideImg({
			        header_color	: 'white',
	              caption_color	: '#bfedfa',
	              caption_bgcolor	: '#000',
	              overlay_bgcolor : '#000',
	              border			: '0',
	              position	    : 'bottom',
	              showcaption	    : false
	 });
	
	 $('.gallery_images').HHRUGallery({
	      thumbwidth: 94,  
	      thumbheight: 94,
	      opacity: .5
	 });

	initSpoilers('body');
	// Attach tail to PostBit_Init to initialize spoiler in quick edit/post.
	origPostBit_Init = PostBit_Init;
	PostBit_Init = function(C,D){
	origPostBit_Init(C,D);
	initSpoilers(C);
	};

    $('cite > span.quote_toggle').css('cursor','pointer').click(function() {
    	
		if($(this).parent().parent().find('div.qmessage:first').is(':hidden')) {
			$(this).children(":first").removeClass('qhide').addClass('qshow');
			if (jQuery.browser.msie) { 
			$(this).parent().parent().find('div.qmessage:first').fadeIn();
			}				
			$(this).parent().parent().find('div.qmessage:first').slideDown();
		} else {
			if (jQuery.browser.msie) { 
			$(this).parent().parent().find('div.qmessage:first').fadeOut();
			}				
			$(this).parent().parent().find('div.qmessage:first').slideUp();
			$(this).children(":first").removeClass('qshow').addClass('qhide');
		}			
	  });

  });
