if (document.images) {
   IS = new Array (
      "23.png", "24.png", "25.png", "34.png", "35.png", "36.png", "37.gif"
   );
   IL = new Array ();
   for (i in IS) {
      IL[i] = new Image ();
      IL[i].src = "/i/" + IS[i];
   }
}

$(document).ready(function(){
	$("#hotline").click(function(){
		window.location = $(this).find("a").attr("href");
	});
});

function diafilm() {
	$(function(){
		bind_arr();
	});
}

function bind_arr() {
	animation = 7;
	$('.larr').css({cursor: 'pointer'}).bind('click',function () {
		move_foto(-1);
	});
	$('.rarr').css({cursor: 'pointer'}).bind('click',function () {
		move_foto(1);
	});
}

function unbind_arr() {
	$('.larr, .rarr').css({cursor: 'default'}).unbind('click');
}

function show_arr() {
	if (7 == animation) {
		var $anim = $('#dfoto');
		if ((id3<id2) && $('#f'+id3+':hidden').length) {
			var left = (parseInt($anim.css('left'), 10)-456)+'px';
			$anim.css({'left': left});
		}
		$('.fotki .f').show();
		bind_arr();
	}
}

function move_foto(inc) {
	if (7 == animation) {
		id1 = $('.fotki .t:visible').attr('id');
		if (id1 != undefined) {
			animation = 0;
			unbind_arr();
			id1 = parseInt(id1.substring(1), 10);
			id2 = id1 + inc;
			id3 = id2 + inc;
			if (!$('#t'+id3).length) {
				$.post("/scripts/diafilm/", { id: id3, inc: inc }, function() {
					animation |= 1;
					show_arr();
				}, "script");
			} else {
				animation |= 1;
			}
			var $anim = $('#dfoto');
			var left = (parseInt($anim.css('left'), 10)-inc*456)+'px';
			$anim.animate({
				left: left
			}, "normal", function() {
				animation |= 2;
				show_arr();
			});
			$('#t'+id1).fadeOut('fast', function() {
				$('#t'+id2).fadeIn('fast', function() {
					animation |= 4;
					show_arr();
				});
			});
		}
	}
}

function refrash() {
	o1 = $($('.digits .m div')[0]);
	o2 = o1.find('div:visible');
	p = o2.position();
	o1.css({height: o1.height()});
	o2.css({position: "absolute", height: o1.height(), width: o1.width(), left: p.left});
	o2.animate({
		left: $('.digits').outerWidth()
	}, "fast", function() {
		o2.css({display: "none", position: "static", height: "auto", width: "auto"});
		o3 = o2.next();
		if (!o3.length) {
			o3 = $(o1.find('div')[0]);
		}
		o3.css({position: "absolute", height: "auto", width: o1.width(), left: -o1.width()});
//		o1.animate({
//			height: o3.height()
//		}, "fast", function() {
			o3.css({display: "block"});
			o3.animate({
				left: p.left
			}, "fast", function() {
				o3.css({position: "static", height: "auto", width: "auto"});
			});
			
//		});
	});
}

function rotate() {
	b1 = $('.banner:visible');
	b2 = b1.next('.banner');
	if (!b2.length) {
		b2 = $($('.banner')[0]);
	}
	b1.css({display:'none'});
	b2.css({display:'block'});
}

mTimeout = 0;
mClass = '';
mOverId = 0;

function mOver(mid) {
	if (mTimeout) clearTimeout(mTimeout);
	if (mOverId == mid) return;
	mtOut();
	mOverId = mid;
	var $mpop = $('#m'+mid);
	if (1 == $mpop.length) {
		$mpop.show();
	}
}

function mtOut() {
	if (mOverId) {
		$('#m'+mOverId).hide();
		mOverId = 0;
	}
}

function mOut() {
	mTimeout = setTimeout(mtOut, 300);
}

pTimeout = 0;
pOverId = 0;
function pOver() {
	if (pTimeout) {
		clearTimeout(pTimeout);
		pTimeout = 0;
	}
	var $anim = $('#hotline div');
	if (!pOverId && $anim.is(':hidden')) {
		pOverId = 1;
		var h = $anim.height();
		$anim.css({height: 1, display: 'block', overflow: 'hidden'});
		$anim.animate({
			height: h
		}, "normal", function() {
			pOverId = 0;
		});
	}
}

function ptOut() {
	var $anim = $('#hotline div');
	if (pOverId) {
		pTimeout = setTimeout(ptOut, 300);
	} else {
		pOverId = 1;
		$anim.animate({
			height: 1
		}, "normal", function() {
			pOverId = 0;
			$anim.css({height: 'auto', display: 'none'});
		});
	}
}

function pOut() {
	if (!pTimeout) {
		pTimeout = setTimeout(ptOut, 300);
	}
}

function rmenu(menu,id) {
	if ((typeof m_type != "undefined") && (typeof amenu != "undefined")) {
		$('#rmenu'+(menu==1?2:1)).addClass('h');
		$('#rmenu'+menu).toggleClass('h');
		if (id) {
			$('#1_'+id).addClass('h');
			$('#2_'+id).addClass('h');
			$('#1_'+amenu[menu-1]).removeClass('h');
			$('#2_'+amenu[menu-1]).removeClass('h');
			var t = $('#'+menu+'_'+id).text()+"<ins></ins>";
			$('#ins1'+menu).html(t);
			$('#ins2'+menu).html(t);
			amenu[menu-1] = id;
			$('.km span').html('');
			$('.km').addClass("h");
			redraw(true);
		}
	}
}

function rnavy(type) {
	if (typeof m_type != "undefined") {
		if (type != m_type) {
			switch (type) {
				case 0:
					$('#rnavy1').removeClass("selected");
					$('.towns').addClass("h");//.css({display: 'none'});
					break;
				case 1:
					$('#rnavy0').removeClass("selected");
					$('#route_length').html('');
					$('.km span').html('');
					$('.km').addClass("h");
					$('.towns').removeClass("h");//.css({display: 'inline' /*'block'*/});
					break;
				default:
					return;
			}
			$('#rnavy'+type).addClass("selected");
			m_type = type;
			all_roads = '';
			redraw(true);
		}
	}
}

function init() {
	if (typeof YMaps != "undefined") {
		var s;
		s = new YMaps.Style();
		s.lineStyle = new YMaps.LineStyle();
		s.lineStyle.strokeColor = 'FF000080';
		s.lineStyle.strokeWidth = '5';
		YMaps.Styles.add("s5_red", s);
		s = new YMaps.Style();
		s.lineStyle = new YMaps.LineStyle();
		s.lineStyle.strokeColor = 'FF000080';
		s.lineStyle.strokeWidth = '4';
		YMaps.Styles.add("s4_red", s);
		s = new YMaps.Style();
		s.lineStyle = new YMaps.LineStyle();
		s.lineStyle.strokeColor = 'FF000080';
		s.lineStyle.strokeWidth = '3';
		YMaps.Styles.add("s3_red", s);
		
		s = new YMaps.Style();
		s.lineStyle = new YMaps.LineStyle();
		s.lineStyle.strokeColor = '9900ff90';
		s.lineStyle.strokeWidth = '3';
		YMaps.Styles.add("s3_fiolet", s);
		s = new YMaps.Style();
		s.lineStyle = new YMaps.LineStyle();
		s.lineStyle.strokeColor = '9900ff90';
		s.lineStyle.strokeWidth = '4';
		YMaps.Styles.add("s4_fiolet", s);
		s = new YMaps.Style();
		s.lineStyle = new YMaps.LineStyle();
		s.lineStyle.strokeColor = '9900ff90';
		s.lineStyle.strokeWidth = '5';
		YMaps.Styles.add("s5_fiolet", s);
		s = new YMaps.Style();
		s.lineStyle = new YMaps.LineStyle();
		s.lineStyle.strokeColor = '9900ff90';
		s.lineStyle.strokeWidth = '6';
		YMaps.Styles.add("s6_fiolet", s);

		s = new YMaps.Style();
		s.lineStyle = new YMaps.LineStyle();
		s.lineStyle.strokeColor = '8a50ff95';
		s.lineStyle.strokeWidth = '3';
		YMaps.Styles.add("s3_fiolet1", s);
		s = new YMaps.Style();
		s.lineStyle = new YMaps.LineStyle();
		s.lineStyle.strokeColor = '8a50ff95';
		s.lineStyle.strokeWidth = '4';
		YMaps.Styles.add("s4_fiolet1", s);
		
		s = new YMaps.Style();
		s.lineStyle = new YMaps.LineStyle();
		s.lineStyle.strokeColor = '00000080';
		s.lineStyle.strokeWidth = '5';
		YMaps.Styles.add("bounds", s);
		
		s = new YMaps.Style();
		s.iconStyle = new YMaps.IconStyle();
		s.iconStyle.offset = new YMaps.Point(-9, -26);
		s.iconStyle.href = "/i/gas.png";
		s.iconStyle.size = new YMaps.Point(27, 26);
		YMaps.Styles.add("gas", s);
		
		s = new YMaps.Style();
		s.iconStyle = new YMaps.IconStyle();
		s.iconStyle.offset = new YMaps.Point(-9, -26);
		s.iconStyle.href = "/i/icepath.png";
		s.iconStyle.size = new YMaps.Point(27, 26);
		YMaps.Styles.add("icepath", s);

		//s = new YMaps.Style();
		//s.iconStyle = new YMaps.IconStyle();
		//s.iconStyle.offset = new YMaps.Point(-9, -29);
		//s.iconStyle.href = "/i/benzine.png";
		//s.iconStyle.size = new YMaps.Point(18, 29);
		//YMaps.Styles.add("benzine", s);

		var t = new YMaps.Template("<div style=\"background-image: url($[style.iconStyle.href]); width: $[style.iconStyle.size.x]px; height: $[style.iconStyle.size.y]px;\"><div class=\"placemark\">$[style.iconStyle.abc|0]</div></div>");
		YMaps.Templates.add("pIcon", t);
		s = new YMaps.Style();
		s.iconStyle = new YMaps.IconStyle("pIcon");
		s.iconStyle.offset = new YMaps.Point(-8, -29);
		s.iconStyle.href = "http://api-maps.yandex.ru/i/0.3/micro/pmrds.png";
		s.iconStyle.size = new YMaps.Point(28, 29);
		s.iconStyle.abc = 'А';
		YMaps.Styles.add("red_mark", s);
		s = new YMaps.Style();
		s.iconStyle = new YMaps.IconStyle("pIcon");
		s.iconStyle.offset = new YMaps.Point(-8, -29);
		s.iconStyle.href = "http://api-maps.yandex.ru/i/0.3/micro/pmbls.png";
		s.iconStyle.size = new YMaps.Point(28, 29);
		s.iconStyle.abc = 'Б';
		YMaps.Styles.add("blue_mark", s);

		query = 0;
		zoom = 8;
		all_roads = '';
		m_type = 0;
		m_fuel = 1;
		m_cameras = 0;
		m_badroad = 0;
		m_icepath = 0;
		map = new YMaps.Map(document.getElementById("YMapsID"));

		map.addControl(new YMaps.ToolBar());
		map.addControl(new YMaps.Zoom({
			smooth : false,
			customTips: [
				{ index: 6, value: "Мелко" },
				{ index: 9, value: "Средне" },
				{ index: 12, value: "Крупно" }
			]
		}));
		map.addControl(new YMaps.MiniMap(), new YMaps.ControlPosition(YMaps.ControlPosition.BOTTOM_LEFT, new YMaps.Size(10, 10)));
		map.addControl(new YMaps.ScaleLine());
		map.addControl(new CustomMenuControl());
		map.enableScrollZoom();
		map.setMinZoom(6);
		map.setMaxZoom(12);
		map.setCenter( new YMaps.GeoPoint(41.5, 64.33786), zoom, YMaps.MapType.MAP );
		redraw();
		YMaps.Events.observe(map,map.Events.BoundsChange, function () {
			redraw();
		});
	}
}

function redraw(force) {
	var coord = map.getBounds();
	var new_zoom = map.getZoom();
	if (zoom!=new_zoom) {
		all_roads = '';
	}
	if (force || zoom!=new_zoom || (zoom>6 && !m_type)) {
		zoom = new_zoom;
		$('#map_loading').css({display: 'block'});
		$.post("/scripts/roads/", {
			left: coord.getLeft(),
			top: coord.getTop(),
			right: coord.getRight(),
			bottom: coord.getBottom(),
			zoom: map.getZoom(),
			all_roads: all_roads,
			map_type: m_type,
			menu1: amenu[0],
			menu2: amenu[1],
			changed: force?1:0,
			fuel: m_fuel,
			cameras: m_cameras,
			badroad: m_badroad,
			icepath: m_icepath,
			query: ++query
		}, function() {}, "script");
	}
}

function setupExpose(o) {
		$("#form_submit").live("click", function () {
			var e, o = $("#faqadd")[0], q=o.question.value, n=o.contacts1.value, i=o.contacts2.value;
			if (!q) {e='Поле Вопрос должно быть корректно заполнено'}
			if (!n) {e='Поле Ваше имя должно быть корректно заполнено'}
			if (!i) {e='Поле Информация для связи должно быть корректно заполнено'}
			if (e) {
				alert(e);
			} else {
				dialog_html=$("#dialog td.m").html();
				$("#form_submit").attr({disabled:"disabled"});
				$("#dialog td.m").load("/scripts/faq/", { question: q, contacts1: n, contacts2: i });
			}
		});
		//$(o).click(function() {
		$(o).live("click", function() {
			$("#dialog").expose({
				onBeforeLoad: function () {
					//if (dialog_html) {
					//	$("#dialog td.m").html(dialog_html);
					//}
					var d=Math.floor(($(window).height()-$('#dialog').height())/2);
					$('#dialog').css({top: $(window).scrollTop()+(d>0?d:0), display: 'block'});
				},
				onBeforeClose: function () {
					$("#dialog").css({display: 'none'});
					//$("#dialog td.m").html(dialog_html);
				},
				onClose: function () {
					if (typeof dialog_html != "undefined") {
						$("#dialog td.m").html(dialog_html);
						dialog_html = void 0;
					}
					//$("#dialog td.m").html(dialog_html);
				},
				color: '#333',
				opacity: 0.5,
				loadSpeed: 'fast',
				closeSpeed: 'fast',
				api: true
			}).load();
		});
		//$(".close").click(function() {
		$(".close").live("click", function() {
			$('#dialog').expose().close();
		});
		$("#form_close").live("click", function() {
			$('#dialog').expose().close();
		});
}

function custom_menu(o,a) {
	$('#custom_menu'+o+' div.YMaps-btn-reduce').css({display:(a?'none':'block')});
	$('#custom_menu'+o+' div.YMaps-btn-expand').css({display:(a?'block':'none')});
}

function CustomMenuControl () {
	var $o = $('<div class="YMaps-buttons"><div class="YMaps-button"><div class="YMaps-cursor-pointer YMaps-btn "><i class="YMaps-btn-round"><i class="YMaps-btn-l YMaps-btn-t"><i/><b/></i><i class="YMaps-btn-r YMaps-btn-t"><i/><b/></i></i><div class="YMaps-btn-v"><div class="YMaps-btn-h"><div style="width: 110px;" class="YMaps-btn-i" id="custom_menu1"><div class="YMaps-btn-reduce"><a href="javascript:custom_menu(1,1)" class="YMaps-btn-name YMaps-btn-name_layers"><span class="YMaps-btn-caption">Параметры</span><i class="YMaps-arr"><i/></i></a></div><div class="YMaps-btn-expand"><a href="javascript:custom_menu(1,0)" class="YMaps-btn-name YMaps-btn-name_layers"><span class="YMaps-btn-caption">Параметры</span><i class="YMaps-arr"><i/></i></a><ul class="YMaps-btn-list YMaps-btn-list_hover"><li id="cm1" class="YMaps-btn-list-item" style="font-weight:bold"><a nohref">Заправки</a></li><li id="cm2" class="YMaps-btn-list-item" style="font-weight:400"><a nohref">Видеокамеры</a></li><li id="cm3" class="YMaps-btn-list-item" style="font-weight:400"><a nohref>Ограничения</a></li><li id="cm4" class="YMaps-btn-list-item" style="font-weight:400"><a nohref>Переправы</a></li></ul></div></div></div></div><i class="YMaps-btn-round"><i class="YMaps-btn-l YMaps-btn-b"><i/><b/></i><i class="YMaps-btn-r YMaps-btn-b"><i/><b/></i></i></div></div></div>');
	$o.find('li').click(function () {
		if ('cm1'==this.id) {
			m_fuel = m_fuel ? 0 : 1;
			$(this).css('font-weight',(m_fuel?'bold':'400'));
		}
		if ('cm2'==this.id) {
			m_cameras = m_cameras ? 0 : 1;
			$(this).css('font-weight',(m_cameras?'bold':'400'));
		}
		if ('cm3'==this.id) {
			m_badroad = m_badroad ? 0 : 1;
			$(this).css('font-weight',(m_badroad?'bold':'400'));
		}
		if ('cm4'==this.id) {
			m_icepath= m_icepath ? 0 : 1;
			$(this).css('font-weight',(m_icepath?'bold':'400'));
		}
		custom_menu(1,0);
		redraw(true);
	});
	this.element = $o[0];
}

CustomMenuControl.prototype = {
	onAddToMap: function (map, position) {
		this.map = map;
		this.position = position || new YMaps.ControlPosition(YMaps.ControlPosition.TOP_RIGHT, new YMaps.Size(5, 5));
		this._init();
	},

	onRemoveFromMap: function () {
		if (this.element.parentNode) {
			this.map.getContainer().removeChild(this.element);
		}
		this.map = null;
	},

	_init: function (map) {
		$(this.element).css({zIndex: YMaps.ZIndex.CONTROL});
		this.position.apply(this.element);
		this.map.getContainer().appendChild(this.element);
	}
}

function init_flash(comment,file,poster) {
	new swfobject.embedSWF("/p.swf", "video", "456", "336", "9.0.0", "/expressInstall.swf", {
		comment: comment,
		file: file,
		poster: poster,
		st: "/p.txt",
		uid: "video"
	}, {
		wmode: "transparent",
		allowFullScreen: "true",
		allowScriptAccess: "always"
	});
}

String.prototype.printAddr = 
function (_hamper,_prefix,_postfix,_face)
{
  _hamper=
  _prefix+
  "@"+
  this+
  (_postfix || '')
  document.write((_face||_hamper).link("mailto:"+_hamper));
}


function swap_news(i) {
	var n = i==1 ? 2 : 1;
	$('#news'+n).addClass('h');
	$('#news'+i).removeClass('h');
	$('#nn'+n).addClass('swoff');
	$('#nn'+i).removeClass('swoff');
}
