/* jQuery plugins */

;(function($) {

/* hideTag plugin */

$.fn.hideTag = function() {
	this.each(function() {
		$(this).wrap('<div class="hideTagWrapper"></div>').hide();
		var spoilerTitle = $(this).attr('title');
		if (!spoilerTitle) { spoilerTitle = 'Скрытый текст' };
		$(this).before('<b class="hideTagTitle">' + spoilerTitle + ' [<span>показать</span>]</b>'); 
	});
	$("b.hideTagTitle").bind("click", (function() { 
		$(this).next("div.hideTag").slideToggle(); 
		var spoilerSpan = $(this).children("span");
		(spoilerSpan.text() === 'показать') ? spoilerSpan.text('скрыть') : spoilerSpan.text('показать');
	}));
}

})(jQuery);

function tipClose(tip) {
	if (!tip) {
               	var tipList = ['tradeTip', 'doxTip'];
               	for (var tip in tipList ) {
			if ((jQuery.cookies.get(tipList[tip])) === null) jQuery("." + tipList[tip]).slideToggle();                	
		}
	} else {
		jQuery.cookies.set(tip, 'closed', { hoursToLive: 24*365 });						
               	jQuery("." + tip).slideToggle();
	}
}

function bindbuttonActions() {
       	var buttonActions = { 
       		'bButton': 'b', 
		'iButton': 'i', 
		'uButton': 'u' 
       	};
	for (var buttonAction in buttonActions) jQuery('#' + buttonAction).click(function() { insertTextareaTag(buttonActions[this.id], this); });
}

function insertTextareaTag(clickTag, clickObj) {
	var htmlTags = { 'b': 'b', 'i': 'i', 'u': 'u' };
	var htmlTag = htmlTags[clickTag];
        var textareaObject = jQuery(clickObj).parent().children('textarea');
	var scrollTopValue = textareaObject.scrollTop();
	var selectionObject = textareaObject.getSelection();
        if (selectionObject.text) textareaObject.replaceSelection('<' + htmlTag + '>' + selectionObject.text + '</' + htmlTag + '>');
	textareaObject.scrollTop(scrollTopValue);
	return false;
}

function bindReplyButton() {
	jQuery('img.replyIcon').click(function() {
		var commentsTextarea = jQuery('#comments_form textarea');
		commentsTextarea.val(commentsTextarea.val() + '<b>' + jQuery(this).attr('rel') + '</b>\n');
		commentsTextarea.focus();
		if (jQuery.browser.webkit) {
			commentsTextarea.attr('id', 'commentsFormTextarea');
        		var textareaElement = document.getElementById('commentsFormTextarea');
        		var textareaElementTextLength = commentsTextarea.val().length;
        		textareaElement.setSelectionRange(textareaElementTextLength, textareaElementTextLength);
		}
	});
}

function pgClickunder() {
	var clickunderCookie = jQuery.cookies.get('pgClickunderCookie');
	var currentTime = new Date().getTime();
	var targetUrl = ''; 
	if (clickunderCookie === null || (clickunderCookie + 24*60*60*1000) < currentTime) {
		jQuery.cookies.set('pgClickunderCookie', currentTime.toString(), { domain: 'playground.ru', hoursToLive: 24*365 });
               	jQuery('html').one('click', function() {
			var currentWindow = window;
			window.open(targetUrl, '_blank', 'alwaysLowered=yes');
			currentWindow.focus();
		});
	}
}

/*
 * jQuery plugin: fieldSelection - v0.1.0 - last change: 2006-12-16
 * (c) 2006 Alex Brem <alex@0xab.cd> - http://blog.0xab.cd
 */
(function(){var c={getSelection:function(){var e=this.jquery?this[0]:this;return(('selectionStart'in e&&function(){var l=e.selectionEnd-e.selectionStart;return{start:e.selectionStart,end:e.selectionEnd,length:l,text:e.value.substr(e.selectionStart,l)}})||(document.selection&&function(){e.focus();var r=document.selection.createRange();if(r==null){return{start:0,end:e.value.length,length:0}}var a=e.createTextRange();var b=a.duplicate();a.moveToBookmark(r.getBookmark());b.setEndPoint('EndToStart',a);return{start:b.text.length,end:b.text.length+r.text.length,length:r.text.length,text:r.text}})||function(){return{start:0,end:e.value.length,length:0}})()},replaceSelection:function(){var e=this.jquery?this[0]:this;var a=arguments[0]||'';return(('selectionStart'in e&&function(){e.value=e.value.substr(0,e.selectionStart)+a+e.value.substr(e.selectionEnd,e.value.length);return this})||(document.selection&&function(){e.focus();document.selection.createRange().text=a;return this})||function(){e.value+=a;return this})()}};jQuery.each(c,function(i){jQuery.fn[i]=this})})();


/**
 * Copyright (c) 2005 - 2010, James Auldridge
 * All rights reserved.
 *
 * Licensed under the BSD, MIT, and GPL (your choice!) Licenses:
 *  http://code.google.com/p/cookies/wiki/License
 *
 */
var jaaulde=window.jaaulde||{};jaaulde.utils=jaaulde.utils||{};jaaulde.utils.cookies=(function(){var resolveOptions,assembleOptionsString,parseCookies,constructor,defaultOptions={expiresAt:null,path:'/',domain:null,secure:false};resolveOptions=function(options){var returnValue,expireDate;if(typeof options!=='object'||options===null){returnValue=defaultOptions;}else
{returnValue={expiresAt:defaultOptions.expiresAt,path:defaultOptions.path,domain:defaultOptions.domain,secure:defaultOptions.secure};if(typeof options.expiresAt==='object'&&options.expiresAt instanceof Date){returnValue.expiresAt=options.expiresAt;}else if(typeof options.hoursToLive==='number'&&options.hoursToLive!==0){expireDate=new Date();expireDate.setTime(expireDate.getTime()+(options.hoursToLive*60*60*1000));returnValue.expiresAt=expireDate;}if(typeof options.path==='string'&&options.path!==''){returnValue.path=options.path;}if(typeof options.domain==='string'&&options.domain!==''){returnValue.domain=options.domain;}if(options.secure===true){returnValue.secure=options.secure;}}return returnValue;};assembleOptionsString=function(options){options=resolveOptions(options);return((typeof options.expiresAt==='object'&&options.expiresAt instanceof Date?'; expires='+options.expiresAt.toGMTString():'')+'; path='+options.path+(typeof options.domain==='string'?'; domain='+options.domain:'')+(options.secure===true?'; secure':''));};parseCookies=function(){var cookies={},i,pair,name,value,separated=document.cookie.split(';'),unparsedValue;for(i=0;i<separated.length;i=i+1){pair=separated[i].split('=');name=pair[0].replace(/^\s*/,'').replace(/\s*$/,'');try
{value=decodeURIComponent(pair[1]);}catch(e1){value=pair[1];}if(typeof JSON==='object'&&JSON!==null&&typeof JSON.parse==='function'){try
{unparsedValue=value;value=JSON.parse(value);}catch(e2){value=unparsedValue;}}cookies[name]=value;}return cookies;};constructor=function(){};constructor.prototype.get=function(cookieName){var returnValue,item,cookies=parseCookies();if(typeof cookieName==='string'){returnValue=(typeof cookies[cookieName]!=='undefined')?cookies[cookieName]:null;}else if(typeof cookieName==='object'&&cookieName!==null){returnValue={};for(item in cookieName){if(typeof cookies[cookieName[item]]!=='undefined'){returnValue[cookieName[item]]=cookies[cookieName[item]];}else
{returnValue[cookieName[item]]=null;}}}else
{returnValue=cookies;}return returnValue;};constructor.prototype.filter=function(cookieNameRegExp){var cookieName,returnValue={},cookies=parseCookies();if(typeof cookieNameRegExp==='string'){cookieNameRegExp=new RegExp(cookieNameRegExp);}for(cookieName in cookies){if(cookieName.match(cookieNameRegExp)){returnValue[cookieName]=cookies[cookieName];}}return returnValue;};constructor.prototype.set=function(cookieName,value,options){if(typeof options!=='object'||options===null){options={};}if(typeof value==='undefined'||value===null){value='';options.hoursToLive=-8760;}else if(typeof value!=='string'){if(typeof JSON==='object'&&JSON!==null&&typeof JSON.stringify==='function'){value=JSON.stringify(value);}else
{throw new Error('cookies.set() received non-string value and could not serialize.');}}var optionsString=assembleOptionsString(options);document.cookie=cookieName+'='+encodeURIComponent(value)+optionsString;};constructor.prototype.del=function(cookieName,options){var allCookies={},name;if(typeof options!=='object'||options===null){options={};}if(typeof cookieName==='boolean'&&cookieName===true){allCookies=this.get();}else if(typeof cookieName==='string'){allCookies[cookieName]=true;}for(name in allCookies){if(typeof name==='string'&&name!==''){this.set(name,null,options);}}};constructor.prototype.test=function(){var returnValue=false,testName='cT',testValue='data';this.set(testName,testValue);if(this.get(testName)===testValue){this.del(testName);returnValue=true;}return returnValue;};constructor.prototype.setOptions=function(options){if(typeof options!=='object'){options=null;}defaultOptions=resolveOptions(options);};return new constructor();})();(function(){if(window.jQuery){(function($){$.cookies=jaaulde.utils.cookies;var extensions={cookify:function(options){return this.each(function(){var i,nameAttrs=['name','id'],name,$this=$(this),value;for(i in nameAttrs){if(!isNaN(i)){name=$this.attr(nameAttrs[i]);if(typeof name==='string'&&name!==''){if($this.is(':checkbox, :radio')){if($this.attr('checked')){value=$this.val();}}else if($this.is(':input')){value=$this.val();}else
{value=$this.html();}if(typeof value!=='string'||value===''){value=null;}$.cookies.set(name,value,options);break;}}}});},cookieFill:function(){return this.each(function(){var n,getN,nameAttrs=['name','id'],name,$this=$(this),value;getN=function(){n=nameAttrs.pop();return!!n;};while(getN()){name=$this.attr(n);if(typeof name==='string'&&name!==''){value=$.cookies.get(name);if(value!==null){if($this.is(':checkbox, :radio')){if($this.val()===value){$this.attr('checked','checked');}else
{$this.removeAttr('checked');}}else if($this.is(':input')){$this.val(value);}else
{$this.html(value);}}break;}}});},cookieBind:function(options){return this.each(function(){var $this=$(this);$this.cookieFill().change(function(){$this.cookify(options);});});}};$.each(extensions,function(i){$.fn[i]=this;});})(window.jQuery);}})();
