/*
*	Copyright (c) 2010 (http://uniq-ip.com/)
*
*	Built for jQuery library http://jquery.com
*/

//------------------ Всплывающие подсказки

var cssHelp={
	'background' : "#156598 url('/img/tabB.jpg') repeat-x",
	'border' : '1px solid #FFF',
	'color' : '#FFF',
	'font-family' : 'Trebuchet MS,Arial',
	'font-size' : '13px',
	'text-align' : 'center',
	'padding' : '5px',
	'position' : 'relative'
};

var cssBord={
	'background' : '#FFF',
	'border' : '1px solid #AAD',
	'position' : 'absolute',
	'z-index' : 10
};

//------------------

var jTags;

$(function(){
	if(!jTags) jTags='no'; var title;
	var jTag= $(jTags.replace(',','[title],')+'[title]');
	
	var addCss={'width':'auto','display':'none'};

	jTag.filter("[title!='']").mouseenter( function(e){
		title= $(this).attr('title');
		$(this).attr('title','');
		if(this.tagName!='A'&&$(this).css('cursor')=='auto') $(this).css({'cursor':'help'});
		$('body').append("<div id=jqbord class='rc4'><div id=jqtitle class='rc4'>"+title+"</div></div>");
		$('#jqbord').css(cssBord).css(addCss).fadeIn(400);
		$('#jqtitle').css(cssHelp).css(addCss).fadeIn(400);
		$('#jqbord').css('top',e.pageY+20+'px').css('left',e.pageX+'px');

		setTimeout( function(){
//			$('#jqbord').each( function(){ rocon.update(this) });
//			$('#jqtitle').each( function(){ rocon.update(this) });
		}, 10 );
	})
	.mouseleave( function(){
		$('#jqtitle').remove();
		$('#jqbord').remove();
		$(this).attr('title',title);
	})
	.mousemove( function(e){
		$('#jqbord').css('top',e.pageY+20+'px').css('left',e.pageX+'px');
	});
});

//------------------ Всплывающая помощь

var imgHelp= "<img src=/img/quest-blue.gif width=16 />";

var cssHelpWin={
	'background' : '#FFE',
	'border' : '1px solid #EEE',
	'padding' : '7px 12px 9px 15px',
	'position' : 'absolute',
	'font-family' : 'Verdana, Arial',
	'font-size' : '11px',
	'width' : 'auto',
	'max-width' : '295px',
	'text-align' : 'justify',
	'color' : '#000',
	'height' : 'auto',
	'z-index' : '20'
};

//------------------

var imgCss={
	'vertical-align':'middle',
	'cursor':'pointer',
	'border':0
};

$(function(){

	var jIdVal, jqBody, jqhelp, mkX, mkY;

	$('i.help').each( function(){
		$(this).append(imgHelp).attr('class','jimgclass').attr('id','jhelpid_'+$(this).attr('id'));
	});
	$('.jimgclass').css(imgCss);

	$('[id^=jhelpid_]').mouseenter( function(e){

		var os= $(this).offset();
		jIdVal= $(this).attr('id').slice(8).split('#');
		$('#jqiframe').remove();
		$('body').append("<iframe id=jqiframe style='display:none' src='"+jIdVal[0]+"'></iframe>");

		$('body').append("<div id=jqhelp style='display:none' class='rc7'><style>DIV[id]>B{color:#379}</style></div>");
		jqhelp= $('#jqhelp').css('top',os.top-5+'px').css('left',os.left-2+'px');

		$('#jqiframe').load( function(){

			jqBody= $(this).contents().find('#'+jIdVal[1]).html() || "Помощь по данному разделу не найдена!";
			jqhelp.append(jqBody).css(cssHelpWin).fadeIn(400);

			setTimeout( function(){
				jqhelp.each( function(){ rocon.update(this) });
			}, 10 );

			$().mousemove( function(k){ mkX=k.pageX; mkY=k.pageY });

			setTimeout( function(){
				if(mkX-os.left<-5||mkX-os.left>25||mkY-os.top<-5||mkY-os.top>25) jqhelp.remove();
			},100);

			var w= $(window);
			var p= w.height()-jqhelp.outerHeight()-os.top+w.scrollTop();
			if(p<0) jqhelp.css('top',os.top+p+'px');
		});

		jqhelp.mouseleave( function(){
			$(this).remove();
		});
	});
});

//------------------ Открывание вспом. окна в главном окне

var jqNullImage = "/img/loadingAnimation.gif";

var cssWinOpen={
	'border' : '1px solid #CCC',
	'width' : '630px',
	'height' : '630px',
	'padding' : 0,
	'margin' : 0,
	'z-index' : 100
};

var jParam=[];

//------------------

$(function(){

//	var imgLoad= new Image();
//	imgLoad.src= jqNullImage;

	if(typeof document.body.style.maxHeight === "undefined"){ //IE6
		$('a.jwindow').click( function(){
			$(this).attr('target','_blank');
		});
	} else{
	
	$('a.jwindow').click( function(e){

		var etarget= $(this);
		var jqURL= etarget.attr('href');
		jUrlParam(jqURL);
		etarget.attr('target','');

		etarget.attr('href','javascript:void(0)');
		$('body').append("<iframe id='jq_iframe' frameborder=0 scrolling=auto style='display:none' src='"+jqURL+"'></iframe>");
		$('body').append("<img src="+jqNullImage+" id='jq_imagenull' style='z-index:103'>");
		$('#jq_imagenull').jCenter();
		var winH= $(document).height();

		$('body').append("<div id='jq_divnull' style='position:absolute'></div>");
		$('#jq_divnull').jOpacity(0.75);
		$('#jq_divnull').css({'width':'100%','height':winH,'top':0,'left':0,'background':'#000','z-index':99});

		$('#jq_iframe').load( function(){

			var wDef= $('#jq_iframe').contents().find('div[style], table[style]').css('width');
			wDef= wDef ? Number(wDef.replace(/([0-9]+)px/, "$1"))+40 : 0;

			var wd= jParam.width ? jParam.width+'px' : ( wDef&&wDef<1500&&wDef>101 ? wDef+'px' : cssWinOpen.width );
			var hd= jParam.height ? jParam.height+'px' : cssWinOpen.height;

			$(this).css(cssWinOpen).css('width',wd).css('height',hd).jCenter().fadeIn(0);
			$('#jq_imagenull').remove();

			$(this).contents().find("body")
				.prepend("<div style='height:17px;background:url(/img/points-grey.gif) #CCC;text-align:right'>"+
					"<img src=/img/action_stop.gif width=16 align=top id='jq_close' style='cursor:pointer' title='закрыть'></div>");

			$('#jq_divnull').click( function(){winClose()});
			$(this).contents().find('#jq_close').click( function(){winClose()});

			function winClose(){
				$('#jq_divnull').remove();
				$('#jq_iframe').remove();
				etarget.attr('href',jqURL);
			}
		});

	});
	}
});

//------------------ Окошко при нажатии на элемент

var jq_view;

$(function(){
	$('body').append("<div id='jq_view' style='position:absolute; display:none; width:auto; height:auto; border:1px solid #889; padding:7px 7px 12px 7px; color:#445; background:#FFE; z-index:10; cursor:default' class='rc5'></div>");
	jq_view= $('#jq_view');
	jq_view.mouseleave( function(){ $(this).fadeOut(300) } );
});


function winView(e,wt,ht){
	jq_view.fadeIn(0);
	var os= $(e).offset();

	jq_view.css({top: os.top, left: os.left});
	if(wt) jq_view.css('width',wt+'px');
	if(ht) jq_view.css('height',ht+'px');

	setTimeout( function(){
		var w= $(window), v= jq_view;
		var p= w.height()-v.outerHeight()-os.top+w.scrollTop();
		if(p<10) v.css('top', os.top+p);

		p= w.width()-v.outerWidth()-os.left+w.scrollLeft();
		if(p<10) v.css('left', os.left+p);
	}, 100 );

	setTimeout( function(){
		jq_view.each( function(){ rocon.update(this) });
	}, 10 );

	return jq_view;
}

//------------------ Отправка данных

function sendForm(e,myform,url,param){
	var pm=[];
	if(param){
		for( var key in param ){
			pm.push(key+'='+encodeURIComponent(param[key]));
		}
	}
	if(myform){
		if(!url) url=$('[name='+myform+']').attr('action');
		$('[name='+myform+'] input').each( function(){
			var th= $(this);
			var type= th.attr('type');
			var name= th.attr('name');
			var value= th.attr('value');
			if((type=='checkbox'||type=='radio')&&!th.attr('checked')) value=false;
			if(value) pm.push(name+'='+encodeURIComponent(value));
		});
	}
	var pmq= pm.join('&');
	sendParams(e,url,pmq);
}

function sendParams(e,url,pmq){
	var os= $(e).offset();
	$('body').append("<div id='jq_viewimg' style='position:absolute; background:#FFF; z-index:99'><img src='/img/load-middle.gif'></div>");
	$('#jq_viewimg').css('top',os.top).css('left',os.left).jOpacity(0.75);

	$('body').append("<iframe src='"+url+"?"+pmq+"' id='jq_iview' style='display:none'></iframe>");
	var jq_iview= $('#jq_iview');

	jq_iview.load( function(){
		var v; try{ v= $(this).contents().find('body').html() } catch(s){ v=false };
		$('#jq_viewimg').remove();
		jq_iview.remove();
		if( /^!.+!$/.test(v) ) alert(v.replace(/^!([^!]+)!$/, '$1')), v='';
		answerForm(e,v);
	});
}

//------------------ п/п

function jUrlParam(url){
	var qmas= url.split('?')[1].split('&');
	for( i=0; i<qmas.length; i++ ){
		var p= qmas[i].split('=');
		jParam[p[0]]= p[1];
	}
}

$.fn.jOpacity= function(p){
	$(this).css({'filter':'alpha(opacity='+p*100+')','-moz-opacity': p,'opacity': p});
	return this;
}

$.fn.jCenter= function(){
	var w= $(window);
	$(this).css({'position':'absolute'});
	$(this).css('left',(w.width()-$(this).width())/2+w.scrollLeft()+'px');
	$(this).css('top',(w.height()-$(this).height())/2+w.scrollTop()+'px');
	return this;
}
