/*
.d__JQ_SYS_onscript
.d__JQ_SYS_request_set_hash
#d__JQ_SYS_popup
.d__JQ_SYS_load
.d__JQ_SYS_confirm
.d__JQ_SYS_message
#d__JQ_SYS_popup_close
.d__JQ_SYS_response_reload
.d__JQ_SYS_response_jquery
.d__JQ_SYS_reload_onload
.d__JQ_SYS_reload_period
.d__JQ_SYS_reload_period_stop
.d__JQ_SYS_scroll_bottom
.d__JQ_SYS_drop_menu
.d__JQ_SYS_rows
.d__JQ_SYS_named_submit
.d__JQ_SYS_drop_umenu

*/
var obj = document.getElementById("d__SYS_Jq_css");
if(obj && obj.href) obj.href="/static/css/jq.css";

var j = jQuery.noConflict();

function ReloadCaptcha(imageId){
	document.getElementById(imageId).src = '/captcha?nocache' +new Date();
	return false;
}

function Common()
{
	this.setChangeRelationActionName = function(sClassName, sName)
	{
		try {
/*			
			var chatWnd = common.getChildWnd('d__SYS_wnd_chat');

			if(chatWnd && chatWnd.common && chatWnd.j) chatWnd.j("."+sClassName).html(sName);
			else if(opener && opener.common && opener.j) opener.j("."+sClassName).html(sName);
*/			
			j("."+sClassName).html(sName);
		}catch(e){}
	}
	
	this.setChangeRelationActionLink = function(sClassName, sUrl)
	{
		try {
/*			
			var chatWnd = common.getChildWnd('d__SYS_wnd_chat');
			
			if(chatWnd && chatWnd.common && chatWnd.j) chatWnd.j("."+sClassName).attr('href', sUrl);
			else if(opener && opener.common && opener.j) opener.j("."+sClassName).attr('href', sUrl);
*/			
			j("."+sClassName).attr('href', sUrl);
		}catch(e){}
	}

	this.openOutLink = function(elm)
	{
		return true;	
	}
	
	this.stopBubble = function (oEvent)
	{
		if(oEvent && oEvent.stopPropagation)
			oEvent.stopPropagation();       // для DOM-совместимых браузеров
		 else
			window.event.cancelBubble = true; //для IE
   }
	
   this.chat_ots = {
   	wnd_width: 900,
   	wnd_height: 800	
   }
   
	this.chat = function(elm, bFirstUnread)
	{
		var sUrl = "/chat/";
		if(!bFirstUnread) {
			sUrl = j(elm).attr('href').toString().split("#",2);
			sUrl = sUrl[0];
		}
		else if(!parseInt(j(".d__JQ_SYS_chat_msgs_count").eq(0).text()) && !common.getCookie("chat_clist_no_empty")) {
			document.location.href ="/account/relations/";
			return false;
		}
		
		if(!common.chat_ots.wnd_width) common.chat_ots.wnd_width = 900;
		if(!common.chat_ots.wnd_height) common.chat_ots.wnd_height = 800;
		return common.blank(elm, sUrl+"#t:d__SYS_wnd_chat,w:"+common.chat_ots.wnd_width+",h:"+common.chat_ots.wnd_height);
	}
	
	this.getSwfById = function(id) {
		if(navigator.appName.indexOf("Microsoft") != -1) {
			return window[id];
		}
		else {
			//return document[id];
			return document.getElementById( id );
		}
	};

	this.initUMenu = function()
	{
		var jThis = j(this);
		var sUid = jThis.attr("uid");

		jThis.removeClass("d__JQ_SYS_drop_umenu").addClass("d__JQ_SYS_unload_unprotected");
		var jMenu = j("#d__SYS_drop_menu_username").clone(true).appendTo("body");
			
		jMenu.attr("id", "d__SYS_drop_menu_username_"+sUid);
		jMenu.find("A").each(function(){
			var jMenuThis = j(this);
			var sHref = jMenuThis.attr("href").toString();
			jMenuThis.attr("href", sHref.replace(/__uid__/, sUid))
		});
		jMenu.find(".d__JQ_SYS_relation_action_name_favorit").addClass("d__JQ_SYS_relation_action_name_favorit_"+sUid).removeClass("d__JQ_SYS_relation_action_name_favorit");
		jMenu.find(".d__JQ_SYS_relation_action_link_favorit").addClass("d__JQ_SYS_relation_action_link_favorit_"+sUid).removeClass("d__JQ_SYS_relation_action_link_favorit");
		jMenu.find(".d__JQ_SYS_relation_action_name_ignore").addClass("d__JQ_SYS_relation_action_name_ignore_"+sUid).removeClass("d__JQ_SYS_relation_action_name_ignore");
		jMenu.find(".d__JQ_SYS_relation_action_link_ignore").addClass("d__JQ_SYS_relation_action_link_ignore_"+sUid).removeClass("d__JQ_SYS_relation_action_link_ignore");
		jMenu.find(".d__JQ_SYS_chat_action_name").addClass("d__JQ_SYS_chat_action_name"+sUid).removeClass("d__JQ_SYS_chat_action_name");
		
		try{
			jThis.menu({attached: true, minWidth: 20, offsetTop:2, arrowSrc: '/static/img/menu_arrow_right.gif', copyClassAttr: true, onOpen: common.menuOnOpen, onClose: common.menuOnClose, container:"#min_global", id:"d__SYS_drop_menu_username_"+sUid}, "#d__SYS_drop_menu_username_"+sUid);
		} catch(e){}
	}
	
	this.openUMenu = function(el)
	{
		var jThis = j(el);
		var sUid = jThis.attr("uid");
		var iFlags = parseInt(jThis.attr("flags"));
		var iCFoldersMask = parseInt(jThis.attr("cfoldersmask"));
		
		var sActionNameId = iFlags & 8 ? "d__JQ_SYS_relation_action_name_favorit_remove" : "d__JQ_SYS_relation_action_name_favorit_add";
		j(".d__JQ_SYS_relation_action_name_favorit_"+sUid).html(j("#"+sActionNameId).text())
		if(iFlags & 8) j(".d__JQ_SYS_relation_action_link_favorit_"+sUid).attr("href", "/account/relations/favorit/");
		else j(".d__JQ_SYS_relation_action_link_favorit_"+sUid).attr("href", "?#t:popup,u:/user/"+sUid+"/ajax/relations/setPopup/?relation=8");
		
		sActionNameId = iFlags & 2 ? "d__JQ_SYS_relation_action_name_ignore_remove" : "d__JQ_SYS_relation_action_name_ignore_add";
		j(".d__JQ_SYS_relation_action_name_ignore_"+sUid).html(j("#"+sActionNameId).text());
		if(iFlags & 2) j(".d__JQ_SYS_relation_action_link_ignore_"+sUid).attr("href", "/account/relations/ignore/");
		else j(".d__JQ_SYS_relation_action_link_ignore_"+sUid).attr("href", "?#t:popup,u:/user/"+sUid+"/ajax/relations/setPopup/?relation=2");

		sActionNameId = iFlags & iCFoldersMask ? "d__JQ_SYS_chat_action_name_in_clist" : "d__JQ_SYS_chat_action_name_not_in_clist";
		j(".d__JQ_SYS_chat_action_name"+sUid).html(j("#"+sActionNameId).text());

		return true;
	}
	
	this.setCookie = function(name,value,expires,path,domain,secure) 
	{ 
		expires = expires * 60*60*24*1000;
		var today = new Date();
		var expires_date = new Date( today.getTime() + (expires) );
    		var cookieString = name + "=" +escape(value) + 
       		( (expires) ? ";expires=" + expires_date.toGMTString() : "") + 
       		( (path) ? ";path=" + path : "") + 
       		( (domain) ? ";domain=" + domain : "") + 
       		( (secure) ? ";secure" : ""); 
    		document.cookie = cookieString; 
	} 

	this.getCookie = function(name) 
	{ 
   		var start = document.cookie.indexOf(name+"="); 
   		var len = start+name.length+1; 
   		if ((!start) && (name != document.cookie.substring(0,name.length))) return null; 
   		if (start == -1) return null; 
   		var end = document.cookie.indexOf(";",len); 
   		if (end == -1) end = document.cookie.length; 
   		return unescape(document.cookie.substring(len,end)); 
	} 
	
	this._aCloneChilds = {};
	this._aCloneChildsNum = {};
	this.cloneChildSet = function(containerId) 
	{
		common._aCloneChilds[containerId] = j("#"+containerId).children().eq(0).clone();
		common._aCloneChildsNum[containerId] = 1;
	}
	
	this.cloneChild = function(containerId, count, maxChildren, emptyValue, actionObj)
	{
		var jContainer = j("#"+containerId);
		var jChildren = jContainer.children();
		var jChild = common._aCloneChilds[containerId] ? common._aCloneChilds[containerId] : jChildren.eq(0);
		var currChildrens = typeof common._aCloneChildsNum[containerId] != "undefined" ? common._aCloneChildsNum[containerId] : jChildren.length;

		for(var i=0; i<count && (!maxChildren || (currChildrens+i)<maxChildren); i++) {
			var jClone = jChild.clone().hide( );
			if(emptyValue) {
				jClone.val('');
				jClone.children('INPUT').val('');
			}
			if(typeof common._aCloneChildsNum[containerId] != "undefined") common._aCloneChildsNum[containerId]++;
			jContainer.append(jClone);
			jClone.fadeIn("slow");
		}
		
		if(actionObj && maxChildren && (currChildrens+i)>=maxChildren) j(actionObj).hide();
		
		return false;
	}
	
	this.alert = function() {alert('aaa');}
	
	this.ie6 = j.browser.msie && /MSIE 6.0/.test(navigator.userAgent);
	
	this.bAjaxBlock = true;
	this.jQueryInitFuncs = [];
	this.jQueryReadyFuncs = [];
	this.jQueryPreInitFuncs = [];
	
	this.checkAll = function(sSelector, bChecked) {j(sSelector).attr('checked', bChecked);}
	
	this.setSumbitName = function(objBtn)
	{
		alert(objBtn.value);
	}
	
	this.getGets = function(name, full, sGets)
	{
		var sGets = sGets ? sGets : document.location.toString().split("#",2)[0].split("?",2)[1];
		if(name) {
			var aGets = sGets.split("&");
			for(var i=0; i<aGets.length; i++) {
				var aGet = aGets[i].split("=",2);
				if(aGet[0] == name) return full ? aGets[i] : aGet[1];
			}
			
			return '';
		}
		
		return sGets ? sGets : '';
	}
	
	this.getFinishedUrl = function()
	{
		var sUrl = document.location.toString().split("#",2)[0].split("?",2)[0];
		if(sUrl.substr(sUrl.length-1,1)!='/') sUrl += '/';
		return sUrl;
	}

	this.urlAddGets = function(sUrl)
	{
		aUrl = sUrl.split("?",2); 
		return aUrl[0] + '?' + this.getGets() + '&' + aUrl[1] + '&hash=' + encodeURIComponent(document.location.hash.toString().substr(1));
	}
	
	this.jQueryReload = function(jObj, bNoCheckHash, sOldHash, callback, showElement, bShowLoading)
	{
		var params = common.jQueryParseLoadParams(jObj.attr('reload'));
		var bReload = bNoCheckHash;
		
		if(!bReload) {
			var hash = location.hash ? location.hash.toString().substr(1) : 'empty';
			var aParams = params.h.toString().split(";");
			var hashGet, oldHashGet;
			for(var i=0; i<aParams.length; i++) {
				hashGet = common.getGets(aParams[i], false, hash);
				if(sOldHash) {
					oldHashGet = common.getGets(aParams[i], false, sOldHash);
					bReload = bReload || (hashGet!=oldHashGet);
				} else bReload = bReload || (hashGet && hashGet!='0');
			}
		}

		if(bReload) {
			if(bShowLoading) {
				var jLoadingObj = params.t ? j("#"+params.t) : jObj;
				jObj.before(j('<div id="d__JQ_SYS_loading_info"></div>').html(j("#d__JQ_SYS_loading").html()));
			}
			if(params.t) j("#"+params.t).load_(params.u, null, null, callback);
			else jObj.load_(params.u, null, null, callback);
		} else if(showElement) jObj.show();
	}
	
	this.childWnds = [];
	this.childWndsObj = [];
	
	this.getChildWnd = function(name)
	{
		if(common.getCookie(name+"_opened")) {
			var wnd = window.open("javascript:void(0)", name);
			if(wnd) return wnd;
		}
		return false;
/*		
		var wndIndex = -1;
		jQuery.each(common.childWnds, function(index, value) {
			if(value==name) wndIndex = index;
		});
		
		if(wndIndex!=-1) return common.childWndsObj[wndIndex];
		return false;
*/		
	}
	
	this.focus = function(name)
	{
		var wnd = common.getChildWnd(name);
		if(wnd) wnd.focus();
	}
	
	this.mainFocus = function()
	{
		common.focus("Dating_Main_Wnd");
	}
	
	this.bCloseChildWnds = false;
	this.setChildWnd = function(wnd)
	{
		if(common.bCloseChildWnds) return wnd.close();

		var wndIndex = -1;
		jQuery.each(common.childWnds, function(index, value) {
			if(value==wnd.name) wndIndex = index;
		});

		if(wndIndex!=-1) common.childWndsObj[wndIndex]=wnd;
		else {
			common.childWnds.push(wnd.name);
			common.childWndsObj.push(wnd);
		}
	}
	
	this.hakeIe6Select = function(obj, id)
	{
		if(common.ie6) {
			var o = obj.offset(),
			id = id ? id : obj.attr("id");
			id = id + "_iframe";

			j("#"+id).remove();
			var jIframe = j('<iframe scrolling="No" frameborder="0" src="" id="'+id+'" style="border: 0; position:absolute; display:none; z-index:500" width='+obj.width()+' height='+obj.height()+'></iframe>');
			jIframe.css({left: o.left, top: o.top});
			jIframe.show();
			j("body").append(jIframe);
		}
	}

	this.hakeIe6SelectHide = function(obj, id)
	{
		if(common.ie6) {
			var id = id ? id : obj.attr("id");
			id = id + "_iframe";
			j("#"+id).remove();
		}
	}

	this.menuOnOpen = function()
	{
		common.hakeIe6Select(this.$eDIV, this.settings.id);
	}

	this.menuOnClose = function()
	{
		common.hakeIe6SelectHide(this.$eDIV, this.settings.id);
	}

	this.tooltipOnOpen = function()
	{
		common.hakeIe6Select(j(""+this), "d__JQ_SYS_tooltip_hide_iframe");
	}

	this.tooltipOnClose = function()
	{
		common.hakeIe6SelectHide(null, "d__JQ_SYS_tooltip_hide_iframe");
	}

	this.blank = function(elm, param)
	{
		j.Menu.closeAll();
		var params = common.jQueryParseLoadParams(param ? param : j(elm).attr('href'));
		var wnd = window.open(params.urlWithoutHash, params.t, "directories=0, height=" +params.h+ ", width=" +params.w+ ", location=0, menubar=0, resizable=1, scrollbars=0, status=0, titlebar=0, toolbar=0");
		wnd.focus();
		return false;
	}
	
	this.load = function(elm, bClearContainer, data, callback)
	{
		if(typeof j.Menu !="undefined") j.Menu.closeAll();
		
		var params = null;
		var target = null;
		
		if(typeof elm.t!="string") {
			var jThis = j(elm);

			if(jThis.attr('action')) params = common.jQueryParseLoadParams(jThis.attr('action'));
			else params = common.jQueryParseLoadParams(jThis.attr('href'));
		} else params = elm;

		if(params.t=='popup.this' || params.t=='popup') {
			if(params.t=='popup') common.hideSelect();
			target = 'd__JQ_SYS_popup';
		} else target = params.t;

		if(target) {
			if(params.u.indexOf('empty')!=-1) j("#" + target).html('');
			else if(jThis && jThis.attr('action')){
				if(params.t=='popup' || params.t=='popup.this') {
					j("#d__JQ_SYS_popup").remove();
					j('body').append('<span id="d__JQ_SYS_popup"></span>');
				}
				
				if(params.c) jThis.onSubmitConfirm('d__JQ_SYS_confirm_' + params.c, params.u, target);
				else jThis.onSubmit_(params.u, target, false, callback);
			} else {
				if(params.t=='popup' || params.t=='popup.this'){
					j("#d__JQ_SYS_popup").remove();
					j('body').append('<span id="d__JQ_SYS_popup"></span>');
				} else if(bClearContainer) j("#" + target).html('');

				if(params.c) j("#" + target).loadConfirm('d__JQ_SYS_confirm_' + params.c, params.u);
				else j("#" + target).load_(params.u, data, false, callback);
			}
		} else return true;

		return false;
	}
	
	this.openSearchPopup = function()
	{
		var params = {
			t: "popup",
			u: "/ajax/search/miniPopup/"
		}
		return common.load(params);
	}

	this.jQueryInit = function()
	{
		j.each(common.jQueryPreInitFuncs, function(index,value) {value();});

		j(	".d__JQ_SYS_reload_period,"+
			".d__JQ_SYS_reload_period_stop,"+
			".d__JQ_SYS_onscript,"+
			".d__JQ_SYS_request_set_hash,"+
			"#d__JQ_SYS_popup,"+
			".d__JQ_SYS_scroll_bottom,"+
			".d__JQ_SYS_drop_menu,"+
			".d__JQ_SYS_rows,"+
			".d__JQ_SYS_named_submit,"+
			".d__JQ_SYS_drop_umenu,"+
			".d__JQ_SYS_chained_input").each(function(){
				
				var jThis = j(this);
				
				if(jThis.hasClass("d__JQ_SYS_reload_period")) common.addInterval(jThis.attr('reload'));
				
				if(jThis.hasClass("d__JQ_SYS_reload_period_stop")) common.delInterval(jThis.attr('reload'));
				
				if(jThis.hasClass("d__JQ_SYS_onscript")) jThis.css('visibility','visible');
				
				if(jThis.hasClass("d__JQ_SYS_request_set_hash")) {location.hash = common.oldHash = jThis.text(); jThis.remove();}
				
				if(jThis.attr("id")=="d__JQ_SYS_popup") common.popupOpen(jThis);
				
				if(jThis.hasClass("d__JQ_SYS_scroll_bottom")) jThis.removeClass('d__JQ_SYS_scroll_bottom').addClass('d__JQ_SYS_scroll_bottom_popup').attr('scrollTop',jThis.attr('scrollHeight'));
				
				if(jThis.hasClass("d__JQ_SYS_drop_menu")) {
					var params = common.jQueryParseLoadParams(jThis.attr('menu'));
					var t = params.t ? params.t : jThis.attr('menu');
					var offsetLeft = params.w ? -params.w : 0;
					var offsetTop = params.h ? -params.h : 0;
					try{
						jThis.removeClass('d__JQ_SYS_drop_menu').menu({attached: true, offsetLeft: offsetLeft, offsetTop: offsetTop, minWidth: 20, arrowSrc: '/static/img/menu_arrow_right.gif', copyClassAttr: true, onOpen: common.menuOnOpen, onClose: common.menuOnClose, container:"#min_global", id:"d__SYS_drop_menu_" + t}, "#d__SYS_drop_menu_" + t);
					} catch(e){}
				}
				
				if(jThis.hasClass("d__JQ_SYS_drop_umenu")) common.initUMenu.call(this);
				
				if(jThis.hasClass("d__JQ_SYS_rows")) jThis.removeClass('d__JQ_SYS_rows').hover(function(){j(this).addClass('d__SYS_hover');}, function(){j(this).removeClass('d__SYS_hover');});

				if(jThis.hasClass("d__JQ_SYS_named_submit")) 
					jThis.removeClass('d__JQ_SYS_named_submit').click(function(){
						j('#d__JQ_SYS_sumbit_name').attr('name', j(this).attr('name')).attr('value', j(this).attr('value'));
					});
				
				if(jThis.hasClass("d__JQ_SYS_chained_input"))
					jThis.removeClass('d__JQ_SYS_chained_input').change(function(){
						j("[name='"+j(this).attr("name")+"']").val(j(this).val());
					});
		});
	
		j(".d__JQ_SYS_tooltip").each(function(){

			var jThis = j(this);
			var params = j.extend({},{t: "click", c:"container"}, common.jQueryParseLoadParams(jThis.attr('href')));
			var options = {attached: true, trigger: params.t, source: params.c, leftOff: 0, topOff: 0, opacity: 1, autoClose: true, onOpen: common.tooltipOnOpen, onClose: common.tooltipOnClose};

			if(j("#min_global").attr("id")=="min_global") options = j.extend({}, options, {container: "#min_global"});
			else  options = j.extend({}, options, {container: "body"});
			
			if(params.c=="container") options = j.extend({}, options, {dC: "#"+params.d});
			else if(params.c=="attribute") options = j.extend({}, options, {attrName: params.d});
			else if(params.c=="ajax") options = j.extend({}, options, {url: params.u});
			
			jThis.removeClass('d__JQ_SYS_tooltip').addClass('d__JQ_SYS_unload_unprotected').jHelperTip(options);
		});

		j(".d__JQ_SYS_load").each(common._load);

		j('.menu-div').hover(common.menuMouseOver, common.menuMouseOut);
		j('#jHelperTipContainer').hover(common.ttipMouseOver, common.ttipMouseOut);
		j.each(common.jQueryInitFuncs, function(index,value) {value();});

		j('.d__JQ_SYS_message').each(function(){
			alert(trim(j(this).html()));
			j(this).remove();
		});

		j('.d__JQ_SYS_close_wnd').each(function(){
			window.setTimeout("window.close()", 100);
		});

	}
	
	this._load = function(i,v, _this)
	{
		var params = null;
		var target = null;
		
		var jThis = _this ? _this : j(this);

		jThis.removeClass('d__JQ_SYS_load').removeClass('d__JQ_SYS_load_alt').addClass('d__JQ_SYS_inited_load');
		if(jThis.attr('action')) params = common.jQueryParseLoadParams(jThis.attr('action'));
		else params = common.jQueryParseLoadParams(jThis.attr('href'));
			
		if(params.t=='popup.this' || params.t=='popup') {
			if(params.t=='popup') common.hideSelect();
			target = 'd__JQ_SYS_popup';
		} else target = params.t;

		if(target) {
			if(params.u.indexOf('empty')!=-1) {
				jThis.click(function(){
					j("#" + target).html('');
					return false;
				});
			}else if(jThis.attr('action')){
				jThis.submit(function(){
 					if(params.t=='popup' || params.t=='popup.this') {
 						j("#d__JQ_SYS_popup").remove();
 						j('body').append('<span id="d__JQ_SYS_popup"></span>');
 					}
					if(params.c) j(this).onSubmitConfirm('d__JQ_SYS_confirm_' + params.c, params.u, target);
					else j(this).onSubmit_(params.u, target);
					return false;
				});
				
			} else {
				jThis.click(function(){
 					if(params.t=='popup' || params.t=='popup.this'){
 						j("#d__JQ_SYS_popup").remove();
 						j('body').append('<span id="d__JQ_SYS_popup"></span>');
 					}
					if(params.c) j("#" + target).loadConfirm('d__JQ_SYS_confirm_' + params.c, params.u);
					else j("#" + target).load_(params.u);
					return false;
				});
			}
		}
	}
	
	this.jQueryParseLoadParams = function(params)
	{
		params = params.toString().split("#",2);
		param = params[1] ? params[1] : params[0];
		if(param) {
			var aParams = param.split(",");
			var sConfirmId, sUrl, sTarget, sPeriod, sHash, sWidth, sData;
		
			for(var i=0; i<aParams.length; i++) {
				var aParam = aParams[i].split(":",2);
				if(aParam[0]=='c') sConfirmId = aParam[1];
				else if(aParam[0]=='u') sUrl = this.urlAddGets(aParam[1]);
				else if(aParam[0]=='t') sTarget = aParam[1];
				else if(aParam[0]=='p') sPeriod = aParam[1];
				else if(aParam[0]=='h') sHash = aParam[1];
				else if(aParam[0]=='w') sWidth = aParam[1];
				else if(aParam[0]=='d') sData = aParam[1];
			}
		
			return {c:sConfirmId, u:sUrl, t:sTarget, p:sPeriod, h:sHash, w:sWidth, d:sData, urlWithoutHash:params[0]};
		}
		
		return {c:null, u:null, t:null, p:null, h:null, w:null, d:null, urlWithoutHash:null};
	}

	this.confirm = function(text_id) { return window.confirm(j('#' + text_id).text()); }

	this.bDenyPopupOpen = false;
	
	this.popupOpen = function(jObject)
	{
		if(common.bDenyPopupOpen) return;
		
		common.popupClose(true);
		common.bDenyBlockUIOpacity = common.bDenyPeriodReload = true;
		
		if(window.gallery) gallery.hideAll();
		
		//var jDialog = 
		var iWidth = jObject.width(), iHeight = jObject.height();
		jObject.show().attr('id','d__SYS_current_popup');
		jObject.find(".d__JQ_SYS_load_alt").each(common._load);
		if(!iWidth) iWidth = jObject.width(); if(!iHeight) iHeight = jObject.height();

		var iScrollPos = window.chat ? chat.getHistoryScrollPos() : 0;

		jObject.dialog( {width: iWidth, height: iHeight, position: 'center', modal: true} );
		
		if(window.chat) chat.setHistoryScrollPos(iScrollPos);
		
		j(".d__JQ_SYS_scroll_bottom_popup").each(function() {j(this).attr('scrollTop',j(this).attr('scrollHeight'));});

		try {
			swfobject.removeSWF(jbc.flash_attributes.id);
			j("#swfJabberClient").remove();
			j("body").append('<div id="swfJabberClient"></div>');
			swfobject.embedSWF("/static/swf/JabberConnection.swf", "swfJabberClient", "0", "0", "9.0.115.0", "/static/swf/expressInstall.swf", jbc.conn_opts, jbc.flsh_params, jbc.flash_attributes);
			
			swfobject.removeSWF(window.soundPlayer.flash.attributes.id);
			j("#d_SYS_player_sound").remove();
			j("body").append('<div id="d_SYS_player_sound"></div>');
			swfobject.embedSWF("/static/player/niftyplayer.swf", "d_SYS_player_sound", "0", "0", "9.0.115.0", "/static/swf/expressInstall.swf", window.soundPlayer.flash.opts, window.soundPlayer.flash.params, window.soundPlayer.flash.attributes);
			
			swfobject.removeSWF(window.alertPlayer.flash.attributes.id);
			j("#d_SYS_player_alert").remove();
			j("body").append('<div id="d_SYS_player_sound"></div>');
			swfobject.embedSWF("/static/player/niftyplayer.swf", "d_SYS_player_sound", "0", "0", "9.0.115.0", "/static/swf/expressInstall.swf", window.alertPlayer.flash.opts, window.alertPlayer.flash.params, window.alertPlayer.flash.attributes);
		} catch(e) {}
	}
	
	this.popupClose = function(bSoft)
	{
		j("#d__SYS_current_popup").dialog("close").dialog("destroy").remove();
		if(!bSoft) {
			j("#d__JQ_SYS_popup").remove();
			common.showSelect();
		}
		
		common.bDenyBlockUIOpacity = common.bDenyPeriodReload = false;
		common.bDenyPopupOpen = false;
	}
	
	this.popupDelayClose = function()
	{
		common.bDenyPopupOpen = true;
		window.setTimeout("common.popupClose()",10);
	}
	
	this.insertText = function(id, text)
	{
		oObj = document.getElementById(id);
		if (navigator.appName=="Netscape") {
			oObj.value = oObj.value.substring(0,oObj.selectionStart) + text + oObj.value.substring(oObj.selectionEnd,oObj.value.length);
		} else {
			oObj.focus();
			var sel = document.selection;
			var rng = sel.createRange();
			rng.text = text;
		}
	}
	
	
	this.aIntervals = [];
	this.aIntervalsIdent = [];
	this.aIntervalObjs = [];
	this.bDenyPeriodReload = false;
	
	this.jQueryPeriodReload = function(sParams)
	{
		if(common.bDenyPeriodReload) return;
		
		var params = common.jQueryParseLoadParams(sParams);
		
		j("#"+params.t).load_(params.u, null, true);
	}

	this.addInterval = function(sParams)
	{
		jQuery.each(common.aIntervals, function(index, value) {
			if(value==sParams) sParams = '';
		});
		
		if(sParams) {
			var params = common.jQueryParseLoadParams(sParams);
			common.aIntervals.push(sParams);
			common.aIntervalsIdent.push(params.c);
			common.aIntervalObjs.push(window.setInterval("common.jQueryPeriodReload('" + sParams + "');", params.p));
		}
	}

	this.delInterval = function(sParams, ByIdent)
	{
		var tmp1 = common.aIntervals;
		var tmp2 = common.aIntervalObjs;
		var tmp3 = common.aIntervalsIdent;
		var tmp = ByIdent ? tmp3 : tmp1;
		
		common.aIntervals = [];
		common.aIntervalObjs = [];
		common.aIntervalsIdent = [];
		
		jQuery.each(tmp, function(index, value) {
			if(value==sParams) {
				window.clearInterval(tmp2[index]);
				tmp2[index] = 0;
			}
			
			if(ByIdent || value!=sParams) {
				common.aIntervals.push(tmp1[index]);
				common.aIntervalObjs.push(tmp2[index]);
				common.aIntervalsIdent.push(tmp3[index]);
			}
		});
	}
	
	this.resumeIntervalByIdent = function(sIdent)
	{
		jQuery.each(common.aIntervalsIdent, function(index, value) {
			if(value==sIdent && !common.aIntervalObjs[index]) {
				var sParams = common.aIntervals[index];
				var params = common.jQueryParseLoadParams(sParams);
				common.aIntervalObjs[index] = window.setInterval("common.jQueryPeriodReload('" + sParams + "');", params.p);
			}
		});
	}
	
	this.randomNumber = function (m,n){
  		m = parseInt(m);
  		n = parseInt(n);
  		return Math.floor( Math.random() * (n - m + 1) ) + m;
	}

	this.iSelectHiddenNums = 0;
	
	this.hideSelect = function(menu) {
		if(common.ie6) {
			common.iSelectHiddenNums++;
			if(common.iSelectHiddenNums==1) {
				j('select').css({ visibility: "hidden" }).addClass('d__JQ_SYS_hidden_select');
			}
		}
	}

	this.showSelect = function() {
		if(common.ie6) {
			if(common.iSelectHiddenNums) {
				common.iSelectHiddenNums--;
				if(!common.iSelectHiddenNums) {
					j('select.d__JQ_SYS_hidden_select').css({ visibility: "visible" }).removeClass('d__JQ_SYS_hidden_select');
				}
			}
		}
	}
	
	this.bDenyBlockUIOpacity = false;
	this.ajaxStart = function() {
		if(common.bAjaxBlock) {
			common.bDenyPeriodReload = true;
			var opts = { 
				message: j('#ajax_wait_div'),
				css: { 
					width: '150px',
					height: '48px',
					border: '1px solid #ccc',
					backgroundColor: '#fff',
					cursor: 'default',
					left: (j(document).width()-152) / 2
				},
				overlayCSS: {
					backgroundColor:'#000000', 
        			opacity: '0.45' 
				},
				applyPlatformOpacityRules: false,
				fadeOut: 20,
				baseZ: 2000
			};

			if(common.bDenyBlockUIOpacity)
				opts.overlayCSS = {opacity: 0};
			
			j.blockUI(opts);
		}
	}
	
	this.ajaxStop = function() {
		j.unblockUI();
		common.bAjaxBlock = true;
	}
	
	this.hardAjaxBlock = function() {
		if(!common.bAjaxBlock) {
			common.bAjaxBlock = true;
			common.ajaxStart();
		}
	}
	
	this.jQueryUnloadFuncs = [];

	this.jUnload = function()
	{
		common.setCookie(window.name+"_opened", 0, -1, "/");

		try {
			window.alertPlayer.stop();
			window.soundPlayer.stop();
		} catch(e){}
		
		j.each(common.jQueryUnloadFuncs, function(index,value) {value();});
	}
	
	this.disableAjax = false;
	
	this.initUnloadProtect = function(message, protectedAreaId)
	{
		this._unloadProtectMsg = message;
		this._unloadProtectedAreaId = protectedAreaId;
		this.jQueryPreInitFuncs.push(common._unloadProtect);
	}
	
	this._unloadConfirmed = false;
	this._unloadProtectMsg = '';
	this._unloadProtectedAreaId = '';
	
	this._unloadProtect = function()
	{
		if(!common._unloadConfirmed) {
			window.onbeforeunload = function(event) {event.returnValue = common._unloadProtectMsg;}
			j('A').bind('click', common._unloadLink);
			j('FORM').bind('submit', common._unloadLink);
		}
	}
	
	this._unloadLink = function(event)
	{
		var jObj = j(this);
		var disableAjax = false;

		if(jObj.hasClass('d__JQ_SYS_unload_unprotected')) {
			common._unloadConfirmed = true;
			window.onbeforeunload = null;
			return true;
		}

		if(jObj.hasClass('d__JQ_SYS_inited_load')) {
			if(!jObj.is('FORM')) {
				var loadParams = common.jQueryParseLoadParams(jObj.attr('href'));
				if(loadParams.t!=common._unloadProtectedAreaId) return true;
			}
			
			disableAjax = true;
		}
		
		if(!window.confirm(common._unloadProtectMsg)) {
			common.disableAjax = disableAjax;
			return false;
		}

		common._unloadConfirmed = true;
		window.onbeforeunload = null;
		return true;
	}
	
	this.iMenuCloseTimer = 0;
	this.menuMouseOver = function()
	{
		if(common.iMenuCloseTimer) window.clearTimeout(common.iMenuCloseTimer);
	}

	this.menuMouseOut = function()
	{
		//common.iMenuCloseTimer = window.setTimeout("j.Menu.closeAll()", 600);
	}
	
	this.iTTipCloseTimer = 0;
	this.ttipMouseOver = function()
	{
		if(common.iTTipCloseTimer) window.clearTimeout(common.iTTipCloseTimer);
	}

	this.ttipMouseOut = function()
	{
		common.iTTipCloseTimer = window.setTimeout('j(".jHelperTipClose").eq(0).click();', 600);
	}

	
	this.oldHash = '';
	this._checkHashChange = function(bShowLoading)
	{
		var bReloaded = false;
		var newHash = location.hash ? location.hash.toString().substr(1) : '';
		if(common.oldHash != newHash) {
			j('.d__JQ_SYS_reload_onload').each(function(){
				common.jQueryReload(j(this), false, common.oldHash ? common.oldHash : "empty", common._callback_HashChange, typeof j(this).attr('noshow') == "undefined", bShowLoading);
			});
			common.oldHash = newHash;
			bReloaded = true;
		} 
		
		window.setTimeout("common._checkHashChange()", 300);
		
		return bReloaded;
	}
	this._callback_HashChange = function(data)
	{
		if(typeof j(this).attr('noshow') == "undefined") j(this).show();
		j("#d__JQ_SYS_loading_info").remove();
		load_callback.call(this, data)
	}
	
	this.scrollUp = function()
	{
		scroll(0,0);
	}
	
	this.prepareAjaxUrl = function(url)
	{
		if(url.substr(0,1)!='/') url = common.getFinishedUrl() + url;
		return url + (url.indexOf('?')==-1 ? '?' : '&') + 'rnd='+common.randomNumber(1000000000,2000000000);
	}
}

var common = new Common();

(function($) {

$.fn.loadConfirm = function( text_id, url, params ) {
	if(common.confirm(text_id)) j(this).load_(url, params);
}

$.fn.load_ = function( url, params, bNoAjaxBlock, callback ) {
	if(common.disableAjax) {
		common.disableAjax = false;
		return;	
	}

	if(!bNoAjaxBlock) common.hardAjaxBlock();
	else common.bAjaxBlock = false;
	
	url = common.prepareAjaxUrl(url);

	if(!callback) callback = load_callback;
	j(this).load(url, params, callback);
}

$.fn.load__ = function( url, params, bNoAjaxBlock ) {
	if(common.disableAjax) {
		common.disableAjax = false;
		return;	
	}

	if(!bNoAjaxBlock) common.hardAjaxBlock();
	else common.bAjaxBlock = false;
	
	url = common.prepareAjaxUrl(url);
	j(this).load(url, params);
}

$.fn.onSubmitConfirm = function( text_id, url, target_id ) {
	if(common.confirm(text_id)) j(this).onSubmit_(url, target_id);
}
	
$.fn.onSubmit_ = function( url, target_id, bNoAjaxBlock, callback ) {
	if(common.disableAjax) {
		common.disableAjax = false;
		return;	
	}

	var jForm = j(this);
	var jContainer = jForm.parent();
	var dType = null;
		
	if(!url) url = jForm.attr('action')
	if(url.substr(0,1)!='/') url = common.getFinishedUrl() + url;
	if(target_id) jContainer = j('#' + target_id);

	if(!bNoAjaxBlock) common.hardAjaxBlock();
	else common.bAjaxBlock = false;

	if(!callback) callback = load_callback;
	jForm.ajaxSubmit({target : jContainer, url: url, success:callback});
};

$.fn.totalWidth = function()
{
	var jThis = $(this);
	var iPl = parseInt(jThis.css("padding-left")),
		iMl = parseInt(jThis.css("margin-left")),
		iBl = parseInt(jThis.css("borderLeftWidth")),
		iPr = parseInt(jThis.css("padding-right")),
		iMr = parseInt(jThis.css("margin-right")),
		iBr = parseInt(jThis.css("borderRightWidth"));
		
	return jThis.width() + (iPl ? iPl : 0) + (iMl ? iMl : 0) + (iBl ? iBl : 0) + (iPr ? iPr : 0) + (iMr ? iMr : 0) + (iBr ? iBr : 0);
}

$.fn.totalHeight = function()
{
	var jThis = $(this);
	var iPt = parseInt(jThis.css("padding-top")),
		iMt = parseInt(jThis.css("margin-top")),
		iBt = parseInt(jThis.css("borderTopWidth")),
		iPb = parseInt(jThis.css("padding-bottom")),
		iMb = parseInt(jThis.css("margin-bottom")),
		iBb = parseInt(jThis.css("borderBottomWidth"));
		
	return jThis.height() + (iPt ? iPt : 0) + (iMt ? iMt : 0) + (iBt ? iBt : 0) + (iPb ? iPb : 0) + (iMb ? iMb : 0) + (iBb ? iBb : 0);
}

$.fn.reloadSrc = function()
{
	jThis = j(this);
	sUrl = jThis.attr('src');
	if(!sUrl) return;
	
	sUrl = sUrl.replace(/[?&]rnd=.*?(&|$)/g,"$1");
	if(sUrl.indexOf("?")!=-1) sUrl = sUrl+"&";
	else sUrl = sUrl+"?";

	// хак для ie, просто jThis.attr('src'...) ломает картинку
	if(j.browser.msie)
		window.setTimeout('jThis.attr("src",sUrl + "rnd=" + common.randomNumber(1000000000,2000000000))', 10);
	else jThis.attr("src",sUrl + "rnd=" + common.randomNumber(1000000000,2000000000))
};

})(jQuery);

function load_callback(data)
{
	common.bDenyPeriodReload = false;

	j('#d__JQ_SYS_popup_close').each(function(){common.popupDelayClose();});
	
	j(".d__JQ_SYS_response_reload").each(function() { common.jQueryReload(j(j(this).text()), true); j(this).remove(); } );
	
	j(".d__JQ_SYS_js_exec").each(function() {
		try{eval(j(this).text().toString());}catch(e){}
		j(this).remove();
	})

	j(".d__JQ_SYS_response_jquery").each(function() {
		try {
			var params = j(this).text().toString().split("'''");		
			eval("j('"+params[0]+"')."+params[1]);
			eval("opener.j('"+params[0]+"')."+params[1]);
		} catch(e){}
		j(this).remove();
	})

	common.jQueryInit();
}

function showCropPreview(coords)
{
	if (parseInt(coords.w) > 0)
	{
		var rx = 98 / coords.w;
		var ry = 98 / coords.h;

		j('#d__SYS_photo_crop_preview').css({
			width: Math.round(rx * 400) + 'px',
			height: Math.round(ry * 571) + 'px',
			marginLeft: '-' + Math.round(rx * coords.x) + 'px',
			marginTop: '-' + Math.round(ry * coords.y) + 'px'
		});
	}
};


j(document).ready(function()
{
	// check hash changes and reload parts of page
	if(!common._checkHashChange(true)) j('.d__JQ_SYS_reload_onload').each(function(){
		if(typeof j(this).attr('noshow') == "undefined") j(this).show();
	});

	common.jQueryInit();

	j.each(common.jQueryReadyFuncs, function(index,value) {value();});

	j(window).unload(common.jUnload);	
	
	j().ajaxStart(common.ajaxStart).ajaxStop(common.ajaxStop);
	
	j().ajaxError(function (evt, request, settings) {
		if(request.responseText) {
			j("#d__JQ_SYS_ajax_hidden_div").remove();
			j('body').append('<div id="d__JQ_SYS_ajax_hidden_div" style="display:none"></div>');
			j("#d__JQ_SYS_ajax_hidden_div").html(request.responseText);
		}
	});
	
	window.iAreaCloseTimer = null;
	
	if(document.location.hash) document.location.hash = document.location.hash.toString();
});

function Smileys() 
{
	this.currTextarea = null;	

	this.setCurrTextarea = function(id){
		this.currTextarea = id;
	}
	
	this.getCurrTextarea = function(){
		return this.currTextarea;
	}
	
	this.insert = function(smileText){
		common.insertText(this.getCurrTextarea(), smileText);
		j.Menu.closeAll();
	}
	
}
var smileys = new Smileys();

// {{{ nl2br
function nl2br (str, is_xhtml) {
    breakTag = '<br />';
    if (typeof is_xhtml != 'undefined' && !is_xhtml) {
        breakTag = '<br>';
    }

    return (str + '').replace(/([^>]?)\n/g, '$1'+ breakTag +'\n');
}// }}}

// {{{ trim
function trim (str, charlist) {
	var whitespace, l = 0, i = 0;
    str += '';
    
    if (!charlist) {
        // default list
        whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
    } else {
        // preg_quote custom list
        charlist += '';
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    }
    
    l = str.length;
    for (i = 0; i < l; i++) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(i);
            break;
        }
    }
    
    l = str.length;
    for (i = l - 1; i >= 0; i--) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(0, i + 1);
            break;
        }
    }
    
    return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}// }}}


function escape_text(text) {
	return String(text).replace(/\&/g, "&amp;").replace(/\'/g, "&#039;").replace(/\"/g, '&quot;').replace(/</g, "&lt;").replace(/>/g, "&gt;");
}



function initTinyMce(lang){
	if (!lang) lang = "en";
	tinyMCE.init({	
		mode : "textareas",
		theme : "advanced",
		plugins : "preview,table",
		skin : "default",
		language : lang,
		force_br_newlines : false,
		forced_root_block : '',		
		theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,link,unlink,image,|,forecolor,backcolor,|,fontselect,fontsizeselect",
		theme_advanced_buttons2 : "code,|,preview,|,undo,redo,|,outdent,indent,|,tablecontrols,|,hr,removeformat,visualaid",
		theme_advanced_buttons3 : "",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_resizing : true,		
		theme_advanced_resize_horizontal : false,
		theme_advanced_source_editor_width : 617,		
		theme_advanced_source_editor_height : 600,		
		theme_advanced_resizing_max_height : 1024,
		auto_reset_designmode : true,
		valid_elements : "a[href|style],p,em,span[style],br,img[src|align|style|alt|title],h1,h2,h3,h4,h5,h6,b,strong,i,s,strike,ul,ol,li",
		convert_urls : false,
		plugin_preview_pageurl : "../preview/",
		content_css : "static/css/style.css"
	});
}

common.setCookie(window.name+"_opened", 1, 0, "/");

function flashNewMessages(sSelector)
{
	j(sSelector).toggle();
	window.setTimeout("flashNewMessages('" + sSelector + "');", 500);
}

function changeWeImessages(iSelectValue,iIValue1,iIValue2)
{
	if (iSelectValue == iIValue1 || iSelectValue == iIValue2) {
		j('#d__SYS_looking_as_i').show();
		j('#d__SYS_looking_as_we').hide();
		j('#d__SYS_looking_for_i').show();
		j('#d__SYS_looking_for_we').hide();
	} else {
		j('#d__SYS_looking_as_i').hide();
		j('#d__SYS_looking_as_we').show();
		j('#d__SYS_looking_for_i').hide();
		j('#d__SYS_looking_for_we').show();
	}
}