  var fCx=$('Map').getWidth()/$('MiniMap').getWidth();
  var fCy=$('Map').getHeight()/$('MiniMap').getHeight();
  //Event.observe(document.onkeydown = 'keycheck(event)';
  var code='';
  function constrain(n, lower, upper) {
    if (n > upper) return upper;
    else if (n < lower) return lower;
    else return n;
  }
  function setMiniMapFrame() {
  //размер рамки на миникарте пропорционален размеру видимой части большой карты
  	$('MiniMapFrame').setStyle({ width: Math.floor($('MapMask').getWidth()/fCx)+'px',height:Math.floor($('MapMask').getHeight()/fCy)+'px'}); 
  }
	new Draggable('Map', { starteffect:null, endeffect:null, snap: function(x,y,draggable) {
      element_dimensions = Element.getDimensions(draggable.element);
      parent_dimensions = Element.getDimensions(draggable.element.parentNode);
	  x=constrain(x,parent_dimensions.width-element_dimensions.width,0);
	  y=constrain(y,parent_dimensions.height-element_dimensions.height,0);
	  $('MiniMapFrame').setStyle({left: -Math.floor(x/fCx)+'px',top: -Math.floor(y/fCy)+'px'});
      return[x,y];
		}
	});
	
	new Draggable ('MiniMapFrame',{ starteffect:null, endeffect:null, snap: function (x,y,draggable) {
	  element_dimensions = Element.getDimensions(draggable.element);
      parent_dimensions = Element.getDimensions(draggable.element.parentNode);
	  x=constrain(x,0,parent_dimensions.width-element_dimensions.width);
	  y=constrain(y,0,parent_dimensions.height-element_dimensions.height);
	  $('Map').setStyle({left: (-x*fCx)+'px',top: (-y*fCy)+'px'});
     return[x,y];
		}
	});
	var blog_update = new Ajax.PeriodicalUpdater('blog', 'blog.php', {method: 'get', frequency: 120, decay: 1});
	function start() {
		blog_update.start();
		$('MiniMap').setOpacity('0.5');
		setMiniMapFrame();
		moved('offer1');
		$('map1').setStyle({background: 'url(img/map_01.jpg)'});
		$('map2').setStyle({background: 'url(img/map_02.jpg)'});
		$('map3').setStyle({background: 'url(img/map_03.jpg)'});
		$('map4').setStyle({background: 'url(img/map_04.jpg)'});
		$('map5').setStyle({background: 'url(img/map_05.jpg)'});
		$('map6').setStyle({background: 'url(img/map_06.jpg)'});
		var flashvars = {};
		var params = {
			menu: "false",
			wmode: "transparent"
		};
		var attributes = {
			id: "smoke",
			name: "smoke"
		};
		swfobject.embedSWF("smoke.swf", "smoke", "300", "120", "9.0.0", "expressInstall.swf",flashvars, params, attributes);
		document.observe('keydown',keycheck);
		//$('rform').getInputs('text')
		clearinp = function () {
			  if (this._cleared) return;

			  this.clear();
			  this._cleared = true;
			}
		$('name').onfocus = clearinp;
		$('email').onfocus = clearinp;
		$('core').onfocus = clearinp;
	}
	function moved(element){
		p=$(element).positionedOffset();
        mask_dimensions = $('MapMask').getDimensions();
		map_dimensions = $('Map').getDimensions();
	    var x=constrain((200-p.left),mask_dimensions.width-map_dimensions.width,0);
	    var y=constrain((200-p.top),mask_dimensions.height-map_dimensions.height,0);
		new Effect.Move('Map',{x: x, y: y, mode:'absolute'});
		new Effect.Move('MiniMapFrame',{x: -Math.floor((x)/fCx), y: -Math.floor(y/fCy), mode:'absolute'});
	};
	function mover(x,y) { //relative move
		p=$('Map').positionedOffset();
		mask_dimensions = $('MapMask').getDimensions();
		map_dimensions = $('Map').getDimensions();
	    x=constrain(p.left+x,mask_dimensions.width-map_dimensions.width,0);
	    y=constrain(p.top+y,mask_dimensions.height-map_dimensions.height,0);
		new Effect.Move('Map',{x: x, y: y, mode:'absolute', transition:Effect.Transitions.linear, duration:0.5});
		new Effect.Move('MiniMapFrame',{x: -Math.floor((x)/fCx), y: -Math.floor(y/fCy), mode:'absolute',transition:Effect.Transitions.linear, duration:0.5});		
	};
	function keycheck(event) {
		var keyID=event.keyCode;
		switch (keyID) {
			case 37: //left
				mover(100,0);
				code+='l';//uuddlrlrba
			break;
			case 38: //up
				mover(0,100);
				code+='u';
			break;
			case 39: //right
				mover(-100,0);
				code+='r';
			break;
			case 40: //down
				mover(0,-100);
				code+='d';
			break;
			case 65:
				//alert(code.slice(code.length-9));
				if(code.slice(code.length-9)=='uuddlrlrb')egg();
				code='';
			break;
			case 66:
				code+='b';
			break;
		}
	};
	function egg() {
		$('w').show().setOpacity('0.6').update('<a href=# onclick=\"closegg()\">X</a>');
		$('w1').update("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width=\"360\" height=\"360\" id=\"snake\" align=\"middle\"> <param name=\"allowScriptAccess\" value=\"sameDomain\" /> <param name=\"movie\" value=\"snake.swf\" /><param name=\"quality\" value=\"high\" /><param name=\"bgcolor\" value=\"#ffffff\" /><embed src=\"snake.swf\" quality=\"high\" bgcolor=\"#ffffff\" width=\"360\" height=\"360\" name=\"snake\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" /> </object>").show();
	};
	function closegg() {
		$('w1').hide();
		$('w').hide();
	}