var SocialNets={
	init: function (url,title) {
		var str='';
		url=encodeURIComponent(url);
		title=encodeURIComponent(title);
		for (var i=0;i<this.nets.length;i++) {
			str+='<a href="/cgi/social/'+this.nets[i].id+'/?url='+url+'&title='+title+'" title="'+this.nets[i].name+'" target="_blank"><span style="background-position:0 -'+(16*(this.nets[i].id-1))+'px;"></span></a>';
		}
		$('.socialicons').html(str);
	},
	nets:[{id:7,name:"СМИ2"},{id:6,name:"ВКонтакте"},{id:5,name:"Ссылки@Mail.Ru"},{id:4,name:"Twitter"},{id:3,name:"LiveJournal"},{id:2,name:"Facebook"},{id:1,name:"Закладки Google"}]
};

$(function(){
	/* Init Social Nets icons */
	var title = $("#doctitle").text();
	if (title) SocialNets.init(document.location.href,title);
	
	/* Init Orpho dialog */
	orphoOpn = false;
	$("body").prepend(
	'<div style="display:none">'+
	'	<div id="orphoDlg" title="Ошибка в тексте">'+
	'		<div style="margin:10px;" id="orphoErr"></div>'+
	'		<div style="line-height:1.7;">'+
	'			<small>'+
	'				Комментарий для автора (необязательно)<br>'+
	'				<input type="text" id="orphoCom" style="width:560px"><br>'+
	'				Браузер останется на той же странице. Отправить сообщение об ошибке?'+
	'			</small>'+
	'		</div>'+
	'	</div>'+
	'</div>');
	$("#erlinkt").qtip({
		content:{text:$("#ertip"),prerender:true},
		position:{at:"bottom right",my:"top right",adjust:{x:-30,y:3}},
		style: {tip:true,classes:"qtip-corner-top-right"},
		show: {delay:0}
	});
	$("#erlinkb").qtip({
		content:{text:$("#ertip"),prerender:true},
		position:{at:"top right",my:"bottom right",adjust:{x:-30,y:-3}},
		style: {tip:true,classes:"qtip-corner-bottom-right"},
		show: {delay:0}
	});
	$('#orphoDlg').dialog({
		autoOpen: false,
		modal:true,
		width: 600,
		buttons: {
			"Ok": function() { 
				$.get(
					"/cgi/stuffs.php?action=orpho&url="+encodeURI(document.location.href)+"&com="+encodeURI($("#orphoCom").attr('value'))+"&sel="+encodeURI(err.sel)+"&suf="+encodeURI(err.suf)+"&pre="+encodeURI(err.pre),
					function(txt){ if (txt!='') alert(txt);	}
				);
				$(this).dialog("close"); 
				$("#orphoCom").attr('value','');
			}, 
			"Закрыть": function() { 
				$(this).dialog("close"); 
			} 
		},
		close: function() {
			$(".flashitem").show();
			orphoOpn=false;
		},
		open: function() {
			$(".flashitem").hide();
			orphoOpn=true;
		}
	});
	window.document.onkeypress = keyprs;
});

function keyprs(e){
	if (orphoOpn) return;
	var pr=0, we=window.event;
	if (we) {
		pr=we.keyCode==10||(we.keyCode==13&&we.ctrlKey);
	} else {
		if (e) pr=(e.which==10&&e.modifiers==2)||(e.keyCode==0&&e.charCode==106&&e.ctrlKey)||(e.keyCode==13&&e.ctrlKey);
	}
	if (pr) {
		orpho();
		return false;
	}
}

function orpho() {
	err=getSel();
	if (!err) return;
	if (err.sel.length>250) {
		alert('Вы выбрали слишком большой объем текста');
		return;
	}
	$("#orphoErr").html('...'+err.pre+'<font color="red"><b>'+err.sel+'</b></font>'+err.suf+'...');
	$('#orphoDlg').dialog('open');
}

function getSel(){
	try{
		var w=window;
		var d=w.document;
		var b=d.body;
		var len=60;
		var sel=null;
		var dsl=null;
		if(w.getSelection){
			dsl=w.getSelection();
		}else{
			if(d.getSelection){
				dsl=d.getSelection();
			}else{dsl=d.selection;}
		}
		if(dsl!=null){
			var pre="",sel=null,suf="";
			if(dsl.getRangeAt){
				var r=dsl.getRangeAt(0);
				sel=r.toString();
				var r1=d.createRange();
				r1.setStartBefore(r.startContainer.ownerDocument.body);
				r1.setEnd(r.startContainer,r.startOffset);
				pre=r1.toString();
				var r2=r.cloneRange();
				r2.setStart(r.endContainer,r.endOffset);
				r2.setEndAfter(r.endContainer.ownerDocument.body);
				suf=r2.toString();
			}else{
				if(dsl.createRange){
					var r=dsl.createRange();
					sel=r.text;
					var r1=dsl.createRange();
					r1.moveStart("character",-len);
					r1.moveEnd("character",-sel.length);
					pre=r1.text;
					var r2=dsl.createRange();
					r2.moveEnd("character",len);
					r2.moveStart("character",sel.length);
					suf=r2.text;
				}else{
					sel=""+dsl;
				}
			}
			var p;
			var s=(p=sel.match(/^(\s*)/))&&p[0].length;
			var e=(p=sel.match(/(\s*)$/))&&p[0].length;
			pre=pre+sel.substring(0,s);
			suf=sel.substring(sel.length-e,sel.length)+suf;
			sel=sel.substring(s,sel.length-e);
			if(sel==""){return null;}
			pre=pre.substring(pre.length-len,pre.length).replace(/^\S{1,10}\s+/," ");
			suf=suf.substring(0,len).replace(/\s+\S{1,10}$/," ");
			return {pre:pre,sel:sel,suf:suf};
		}else{
			alert('Ваш браузер не поддерживает данный функционал.');
			return;
		}
	}catch(e){return null;}
}

