		fly_href='http://sibsadi.ru/';//ссылка кот. открывается при клике на летающий объект
		//размеры картинки(обязательно)
		fly_width=40;fly_height=40;
		fly_src='http://sibsadi.ru/wp-content/themes/d974a83a0f9267dc671f509186a07142/nature_at_work_hoe058/search.gif';//путь к картинке
		fly_rotation=1;//0 - обычная муха, 1-летает, но не поворачивается,2-летает и качается(аплитуда зависит от значения fly_arc)
		fly_arc=90;//это значение определяет амплитуда колебания, если fly_rotation выставлен в режим маятника(значение 2)
        fly_arc_step=5;//шаг, на котрый происходит поворот в режиме маятника
		fly_arc_speed=70;//скорость колебаний в режиме маятника
		fly_speed=50;//скорость "полета"
        fly_step=3;//шаг "полета"
		fly_opacity=100;//прозрачность летающей картинки
        fly_button_back='#e9e9e9';//фоновый цвет кнопки вкл./выкл.
        fly_button_border='1px solid gray';//рамка кнопки вкл./выкл.
        fly_button_color='black';//цвет креста, который зачеркивает кнопку
        
        
        
		fly_ai=30;
		fly_mouseX=fly_mouseY=0;
        fly_swing_timer=fly_swing_dir=0;
        fly_move_timer=fly_changeDir_timer=fly_swing_timer=0;

/**Ф-ЦИИ получения/установки кук**/
// Cookies
function setCookie (name, value, expires, path, domain, secure) {
	document.cookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
}
function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}
		
        //создаем код кнопки и летающей картинки
		document.write('<a href="'+fly_href+'" id="fly" style="display:none;position:absolute;width:'+fly_width+'px;height:'+fly_height+'px;-moz-opacity:'+fly_opacity/100+';-webkit-opacity:'+fly_opacity/100+';-khtml-opacity:'+fly_opacity/100+';opacity:'+fly_opacity/100+';filter:alpha(opacity='+fly_opacity+');-ms-filter:alpha(opacity='+fly_opacity+'); z-index:999999;" target="_blank" onmouseup="fly_toggle()" onfocus="window.focus()"><img src="'+fly_src+'" border=0/></a><a href="#" onfocus="window.focus()" onmouseup="fly_toggle();return!1" onclick="return!1" id="flyToggle" style="z-index:999999; position:fixed;background:'+fly_button_back+' url('+fly_src+') no-repeat center center;border:'+fly_button_border+';width:'+fly_width+'px;height:'+fly_height+'px;right:10px;bottom:10px;text-decoration:none;color:'+fly_button_color+';font:bold 65px/40px Arial;overflow:hidden">&#215;</a>');
		if(fly_rotation&&fly_rotation!==2){fly_rotate(document.getElementById('fly'),135)}

        //ф-ция вращения картинки
		function fly_rotate(node,degree){
			//код для ИЕ
			if(!window.stop){
				var rad=degree*(Math.PI/180);
    			cos=Math.cos(rad);
				sin=Math.sin(rad);
                //добаляем фильт трансформаций матрицы
				if(!node.filters['DXImageTransform.Microsoft.Matrix']){
					node.style.filter+=' progid:DXImageTransform.Microsoft.Matrix(sizingmethod="auto expand",filtertype=bilinear)'
				}
				var mx=node.filters['DXImageTransform.Microsoft.Matrix'];
				mx.enabled=true;
    			//устанавливаем угол вращения
				mx.M11=cos;mx.M12=-sin;
    			mx.M21=sin;mx.M22=cos;
			}
			//для остальных
			else{
				if(!node.svg){
					//создаем svg-картинку и вставляем в "летающую" ссылку
					var svg='<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" xmlns:xlink="http://www.w3.org/1999/xlink"><image xlink:href="'+fly_src+'" width="100%" height="100%"/></svg>';
					var parser=new DOMParser();
					var xml=parser.parseFromString(svg,'text/xml');
					var fc=document.importNode(xml.firstChild,!0);//для веб-кит
					node.appendChild(fc);
					//скрываем обычный тег img
					node.firstChild.style.display='none';
					node.svg=fc	
			    }
				//устанавливаем угол вращения
				node.svg.firstChild.setAttribute('transform','rotate('+degree+','+node.clientWidth/2+','+node.clientHeight/2+')')
			}
		}
		
		//ф-ция получения/обновления координат курсора мыши
		function fly_getMouse(e) {
			fly_mouseY=window.stop?e.pageY:window.event.y+document.body.scrollTop;
			fly_mouseX=window.stop?e.pageX:window.event.x+document.body.scrollLeft;
		}
		//кроссбраузерная ф-ция навешивания событий
		function add_event(obj,type,func){
			obj.addEventListener?obj.addEventListener(type,func,!1):obj.attachEvent('on'+type,func);			
		}
		//ставим на событие движения мыши обновление координат
        add_event(document,'mousemove',fly_getMouse);
		
Dot_Ro = 60;			//Dot's distance from the mouse pointer
Dot_Theta = 0;			//Dot's initial angle
Dot_Speed=0;				//Dot's absolute Angular speed
Dot_Direction = 1;		//Dot's direction (1=clockwise)
Dot_x = 0;				//Dot's original position
Dot_y = 0;

fly_alpha=0;					//Angle from the fly to the mouse
fly_mult=0;					//Ausiliary variable to define the angle

fly_X = 60;				//Fly's coords.
fly_Y = 100;

fly_dir=[360,135,90,45,0];
fly_dir[-4]=180;
fly_dir[-1]=315;
fly_dir[-2]=270;
fly_dir[-3]=225;


		
// Moves the fly around the screen
function fly_move(){
	var flynode=document.getElementById('fly');
	// moves the fly in a new position...
	var dist = Math.sqrt(Math.pow(fly_mouseY-fly_Y,2) + Math.pow(fly_mouseX-fly_X,2));
	Dot_Speed = Math.PI / 15;
	Dot_Theta += Dot_Direction * Dot_Speed;
	Dot_x = fly_mouseX + Dot_Ro * Math.cos(Dot_Theta);
	Dot_y = fly_mouseY + Dot_Ro * Math.sin(Dot_Theta);
	
	var arg = (Dot_y - fly_Y) / (Dot_x - fly_X);
	fly_mult = (Dot_x - fly_X < 0)? fly_mult = -1 : 1;
	fly_alpha = Math.atan(arg);
	
	var dx = fly_mult * fly_step * Math.cos(fly_alpha);
	var dy = fly_mult * fly_step * Math.sin(fly_alpha);
	
	fly_X += dx;
	fly_Y += dy;
	
	flynode.style.left=(fly_X - fly_width/ 2)+'px';
	flynode.style.top=(fly_Y - fly_height / 2)+'px';

	// ... and changes the image.
	fly_alpha = -180 * fly_alpha/Math.PI;
	fly_alpha += 22.5;
	var OK = 0;
//включаем обычный режим, если не установлены режим маятника или запрет на вращение вокруг совей оси
if(fly_rotation && fly_rotation!=2){    
	for(var i = 0; (i < 4) && !OK; i++){
		if (fly_alpha<-Math.PI + 45 * i){
			//поворачиваем картинку, чтоб он "смотрела" в сторону движения
			fly_rotate(flynode,fly_dir[fly_mult * (i + 1)])
			OK = 1;
		}
	}
}
}

		// Changes Dot's turning direction
		function fly_changeDir(){
        	Dot_Direction=-Dot_Direction;Dot_Theta+=Math.PI;
		}
	
	  	//ф-ция для ИЕ, кот. не поддерживает position:fixed, устанавливает кнопку в нижнем-правом углу окна
		function fly_toggleFixed(){
			var flyToggle=document.getElementById('flyToggle');
			flyToggle.style.position='absolute';
			flyToggle.style.top=((document.body.clientHeight+document.body.scrollTop)-10-flyToggle.offsetHeight)+'px'
		}
		if(!window.stop){fly_toggleFixed_timer=setInterval(fly_toggleFixed,10)}
		
		//ф-ция маятника
		function fly_swing(){
			//если направление движения вправо по окружности
			if(fly_swing_dir){
			     fly_swing_start+=fly_arc_step;
			     //если достигли макс.значения при данном направлении, переключаем направление на противоположное
			     if(fly_swing_start+fly_arc_step>fly_arc){fly_swing_dir=0}
			}
			//если направление движения влево по окружности
			else{
				fly_swing_start-=fly_arc_step;
				//если достигли макс.значения при данном направлении, переключаем направление на противоположное
				if(fly_swing_start-fly_arc_step<-fly_arc){fly_swing_dir=1}
			}
			fly_rotate(document.getElementById('fly'),fly_swing_start)
		}
		
		//включение "полета"
		function fly_on(){
			//показываем картинку
			document.getElementById('fly').style.display='block';
			//вписываем в кнопку перекрывающий крест
			document.getElementById('flyToggle').innerHTML='&#215;';
			//устанавливаем таймеры движения
			fly_move_timer=setInterval(fly_move,fly_speed);
			fly_changeDir_timer=setInterval(fly_changeDir,fly_speed*fly_ai);
			if(fly_rotation==2){
				fly_swing_start=0;
				fly_swing_timer=setInterval(fly_swing,fly_arc_speed)
			}
			//ставим куку, что полет включен
			setCookie('offFly', 'false');		
		}
		
		//выключение "полета"
		function fly_off(){
			//скрываем картинку
			document.getElementById('fly').style.display='none';
			//убираем из кнопки закрывающий крест
			document.getElementById('flyToggle').innerHTML='&nbsp;';
			//отключаем таймеры
			fly_move_timer=clearInterval(fly_move_timer);
			fly_changeDir_timer=clearInterval(fly_changeDir_timer);
			fly_swing_timer=clearInterval(fly_swing_timer);
			//ставим куку, что полет вЫключен
			setCookie('offFly', 'true');
		}
		
		//включение/выключение полета в зависимости от установки куки, ф-ция запускается при клике на кнопку
		function fly_toggle(){
			getCookie('offFly')=='false'?fly_off():fly_on();
		}

    	//включение/выключение полета в зависимости от установки куки, ф-ция запускается при загрузке страницы
		(function(cookies){
			cookies==null||cookies=='false'?fly_on():fly_off();
		})(getCookie('offFly'))



