dateobj = new Date();
var loadtime=dateobj.getTime();



function init_menu() {
	$('#menu a').click(function() {
		//alert('123');
		$('#menu a').removeClass('checked');
		$(this).addClass('checked');
	});
}

///////////////////////////////////////////////////////////////////////////////////////////////
// <Общее>

var m_user_agent = navigator.userAgent.toLowerCase();

function thisMovie(__movieName)//
{
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window[__movieName] : document[__movieName];
}

function UAis(__name) 
{
	var _u = m_user_agent;
	switch(__name)
	{
		case "ieMac":
			return /msie/.test(_u) && !/opera/.test(_u) && /mac/.test(_u);
		case "ieWin":
			return /msie/.test(_u) && !/opera/.test(_u) && /win/.test(_u);
		case "gecko":
			return /gecko/.test(_u) && !/applewebkit/.test(_u);
		case "opera":
			return /opera/.test(_u);
		case "safari":
			return /applewebkit/.test(_u);
		default:
			return false;
	}
}

if(UAis("ieWin"))
{

	window.onunload = cleanupIELeaks;
}

function onLoadFuntion()
{
	//makeRequest('pages.php?page=1&ajax=1');
	//hidepreloader(100);
	placeAudioPlayer("audio_player");
	init_scroll();
	theRotator();
	init_menu();

	updateLinks();
	//updateScrollBars();
}

function updateLinks() {
	$('#menu a').each(function() { 
		if(this.href.match(/\?/))
			this.href = this.href.replace(/^(.+)$/, 
				"javascript:makeRequest('$1&ajax=1')");
		else
			this.href = this.href.replace(/^(.+)$/, 
				"javascript:makeRequest('$1?ajax=1')");
	});
}

function updateLinksText(__text) {
	if(__text.match(/href=/)) {
		while(ar =__text.match(/href="([^\"]+?\?[^\"]+?)"/)) {
			//alert(ar);
			//if(__text.match(/href="([^?]+)"/)) {
			//	alert('I found it 2');
			//}
			__text = __text.replace(/href="([a-zA-Z_-]+?\?[^\"]+?)"/ig, 
				"href=\"javascript:makeRequest('$1&ajax=1')\"");
		}
		while(ar = __text.match(/href="([^\"?]+?.html)"/)) {
			//alert(ar[1]);
			//if( !(ar[1].match(/\.jpg$/)) )
			__text = __text.replace(/href="([^>\"]+?\.html)"/ig, 
				"href=\"javascript:makeRequest('$1?ajax=1')\"");
		}
	}
	return __text;
}

function placeTop()
{
	m_fo = new SWFObject("images/top.swf", "top.swf", "1002", "105", "8", "#000000", true);
	m_fo.addParam("allowScriptAccess", "always");
	m_fo.write("top_swf");
}

function placeBottom()
{
	m_fo = new SWFObject("images/bottom.swf", "bottom.swf", "1002", "83", "8", "#000000", true);
	m_fo.addParam("allowScriptAccess", "always");
	m_fo.write("bottom_swf");
}

function hidepreloader(__height)
{
	var pl = document.getElementById("preloader");
	pl.style.display = "block";
	new_height = __height-5;
	pl.innerHTML = "";
	
	t1 = (new Date()).getTime();
	time_gone = t1-loadtime;
 
	if (new_height<=0) {
		pl.style.width="0px"; 
		pl.style.height="0px";   
		//pl.style.display="none"; 
		placeAudioPlayer("audio_player");
		//placeTop();
		//placeBottom();
	} 
	else {
		//pl.style.width=new_width+"%";   
		pl.style.height=new_height+"%";   
		setTimeout("hidepreloader("+new_height+")",10);
	} 
}

function hidepicture()
{
	el1 = document.getElementById('preview_div_image');
	el2 = document.getElementById('preview_div');
	if(el1 && el2)
	{
		el1.src = "images/spacer.gif";
		el2.style.visibility = "hidden";
		//pl.innerHTML="";
		//pl.style.display="none"; 
	}
}

function showpicture(__image, __width, __height)
{
	el1 = document.getElementById('preview_div_image');
	el2 = document.getElementById('preview_div');
	if(el1 && el2)
	{
		el1.src = __image;
		el2.style.visibility = "visible";
	}
}

// </Общее>
///////////////////////////////////////////////////////////////////////////////////////////////












///////////////////////////////////////////////////////////////////////////////////////////////
// <Аудио>

var m_fo = false;
var m_audio_player_id = "audio_player_id";

function placeAudioPlayer(__div_id)
{
	if(m_fo && UAis("ieWin"))
	{
		cleanupIELeaks();
		m_fo = false;
	}
	/*
	var flashvars = {};
	var params = {}; //wmode:"opaque"};
	var attributes = {};
	swfobject.embedSWF("swf/audio_player.swf", m_audio_player_id, "361", "24", "9.0.0", false, flashvars, params, attributes);

	//m_fo = new SWFObject("swf/audio_player.swf", m_audio_player_id, "361", "24", "8", "js/swfobject/expressInstall.swf", flashvars, params, attributes);
	*/
	/*var att = { data:"swf/audio_player.swf", width:"361", height:"24" };
	var par = { menu: "false" };
	//var id = "myAlternativeContent";
	if (swfobject.hasFlashPlayerVersion("9")) {
	var myFlashContent = swfobject.createSWF(att, par, m_audio_player_id);
	alert(myFlashContent);
	}
	*/
	m_fo = new SWFObject("swf/audio_player.swf", m_audio_player_id, "361", "24", "8", "#000000", true);
	m_fo.addParam("allowScriptAccess", "always");
	m_fo.addParam("wmode", "opaque");
	m_fo.write(__div_id);
	//alert(thisMovie(m_audio_player_id));
	//var element = document.getElementById(__div_id);
	//element.innerHTML = m_fo.getSWFHTML();

	//alert(document.getElementById(__div_id).innerHTML);
	//alert(m_fo.getSWFHTML());
}

function PlayTheSong(__id, __name, __url, __duration)
{
	//alert(thisMovie(m_audio_player_id));
	thisMovie(m_audio_player_id).PlayTheSong(__id, __name, __url, __duration);
}

function PlayTheSongById(__id)
{
	PlayTheSong(__id,"","","");
}

function StopPlayingSongs()
{
	if(thisMovie(m_audio_player_id).Control)
		thisMovie(m_audio_player_id).Control("pause", 0);
}

function cleanupIELeaks() 
{

	var _o = document.getElementsByTagName("object");
	var _l = _o.length;
	for (var i = 0; i < _l; i++) 
	{
		if(_o[i].id == m_video_player_id )
		{
			_o[i].style.display = "none";
			for (var x in _o[i]) 
			{
				if (typeof _o[i][x] == "function") 
				{
					_o[i][x] = null;
				}
			}
		}
	}	

}

// </Аудио>
///////////////////////////////////////////////////////////////////////////////////////////////













///////////////////////////////////////////////////////////////////////////////////////////////
// <Видео>

var m_video_player;
var m_video_player_id = "video_player";
var m_video_player_holder = "video_content";

function placeVideoPlayer(__div_id, __clip_url)
{
	document.getElementById(m_video_player_holder).innerHTML = "";
	if(m_video_player && UAis("ieWin"))
	{
		cleanupIELeaks();
		fo = false;
	}
	var m_w="400";
	var m_h="300";
	//var w="320";
	//var h="262";
	var fvars="{playList: [ { url: '"+__clip_url+"' } ], autoPlay: true, autoBuffering: false, loop:false, hideControls: true }";
	var m_video_player = { movie:"swf/FlowPlayer.swf", width: m_w, height: m_h, majorversion: "8", bgcolor: "#000000", build: "0", flashvars: "config="+fvars };
	UFO.create(m_video_player, m_video_player_holder);
}

function placeVideoPlayer_old(__div_id, __clip_url)
{
	if(m_video_player && UAis("ieWin"))
	{
		cleanupIELeaks();
		fo = false;
	}
	m_video_player = new SWFObject("swf/FlowPlayer.swf", m_video_player_id, "400", "370", "8", "#000000", true);
	m_video_player.addParam("allowScriptAccess", "always");
	m_video_player.addParam("allowFullScreen", "false");
	m_video_player.addVariable("config", "{ playList: [ { url: '" + __clip_url + "' } ], hideControls: true, autoPlay: true, initialScale: 'orig' }");
	//fo.addParam("flashVars", "config={configInject: true}");
	m_video_player.write(__div_id);
	//var element = document.getElementById(__div_id);
	//element.innerHTML = m_video_player.getSWFHTML();

	//alert(fo.getSWFHTML());
	//setTimeout(initFlowPlayer, 500);
	//alert('init_done');
}

function clipPlay(__clip_url) 
{
	document.getElementById("left_field").innerHTML = '<div id="' + m_video_player_holder + '"></div>';
	StopPlayingSongs();
	cleanupIELeaks();
	placeVideoPlayer(m_video_player_holder, __clip_url);
	//alert("123");
}

// </Видео>
///////////////////////////////////////////////////////////////////////////////////////////////











///////////////////////////////////////////////////////////////////////////////////////////////
// <Аякс>

//var errorCounter = 0;
var http_request = false;
var m_element_for_content = "right_field";

function makeRequest(__url) 
{
	////document.getElementById("left_field").innerHTML = '<img id="left_picture" src="images/left_field.jpg" align="center">';
	////document.getElementById("left_content").style.display = 'none';
	cleanupIELeaks();
	//var req;
	//if(testUrl(__url))
	//	url = __url + "&ajax=1";
	//else
	//	url = __url + "?ajax=1";
	url = __url;

	//alert(url);

	if (window.XMLHttpRequest) 
	{
		http_request = new XMLHttpRequest();
		http_request.onreadystatechange = updateContent;
		http_request.open("GET", url, true);
		//alert(url);
		http_request.send(null);
	} 
	else if (window.ActiveXObject) 
	{ // IE
		try 
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try 
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
		
		if(http_request)
		{
			http_request.onreadystatechange = updateContent;
			http_request.open("GET", url, true);
			http_request.send();
		}
	}
	if (!http_request) 
	{
		alert('Невозможно создать экземпляр класса XMLHTTP ');
		return false;
	}
}

function testUrl(__url)
{
	var regexp = /\?/;
	if(regexp.test(__url))
	{
		return true;
	}
	return false;
}

function updateContent() 
{
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
			//if (http_request.overrideMimeType) 
			//{
			//	http_request.overrideMimeType('text/xml');
			//}
			
			//var title = "";
			var left_html_text = false;
			var pictures = false;
			//var text = "";
			var result = $.parseJSON(http_request.responseText);
			//alert(result);

			//alert(http_request);
			//eval(http_request);
			
			if(left_html_text)
			{
				document.getElementById("left_field").innerHTML = left_html_text;
			}
			if(result.title != "")
				document.title = result.title + " - Богемная Рапсодия";
			var the_div = document.getElementById(m_element_for_content);
			//the_div.innerHTML = http_request.responseText;
			//alert(result.text);
			var title = result.title;
			var text = updateLinksText(result.text);
			the_div.innerHTML = '<h1>' + title + '</h1>' + text;

			$(".fancybox").fancybox({'centerOnScroll': true});
			$(".fancybox_inline").fancybox({'centerOnScroll': true});

			/*
			if(!left_html_text && pictures)
			{
				if(!(/default_image/.test(document.getElementById("left_field").innerHTML)))
				{
					//document.getElementById("left_field").innerHTML = '<img id="left_picture" src="images/left_field.jpg" align="center">';
					document.getElementById("left_field").innerHTML = '<img id="left_picture" src="images/spacer.gif" align="center" id="default_image">';
				}
				else
				{
					//alert(document.getElementById("left_field").innerHTML);
				}
				m_pictures = pictures;
				MM_preloadImages_ar(m_pictures);
				current_picture_id = -1;
				ChangePicture();
			}
			*/
				
			init_scroll();
		} 
		else 
		{
			alert('Повторите запрос позже');
		}
	}
	else 
	{
		//alert(document.NodeType);
		//alert('Ошибка ' + http_request.readyState);
	}
}

// </Аякс>
///////////////////////////////////////////////////////////////////////////////////////////////
















///////////////////////////////////////////////////////////////////////////////////////////////
// <Скроллинг>

// идентификаторы дивов скрываемых скроллеров
var m_scrollbar_div_ids = new Array();
m_scrollbar_div_ids[1] = "scroll_bar_div";

// массив идентификаторов изображений баров
var m_scrollbar_ids = new Array();
m_scrollbar_ids[1] = "scrollbar1";

// массив прокручиваемых дивов
var m_scrollfield_ids = new Array();
m_scrollfield_ids[1] = "right_field";

var scrollHeight = new Array();
scrollHeight[1]=560;

var scrollBarHeight = new Array();
scrollBarHeight[1]=0; 

var maxscrollpos = new Array();
maxscrollpos[1]=0;

// прокручиваемый колесом
var m_main_scroller = 1;

var scrollStep = 25;
var scrollTop = 0;

var ie=document.all;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var y,x;
var dobj;


function hide(__id)
{
	var element = document.getElementById(__id);
	if(element)
		element.style.display="none";
}

function show(__id)
{
	var element = document.getElementById(__id);
	if(element)
		element.style.display="block";
}


function scroll(s)
{
	//alert(s);
	var el = document.getElementById(m_scrollfield_ids[m_main_scroller]);

	Top=el.style.top;
	scrollTop=parseInt(Top.substring(0,Top.length-2));
	if(!scrollTop)
		scrollTop = 0;

	scrollTop += scrollStep*s*3;
	if (scrollTop > 0) 
		scrollTop = 0;
  
	hght= el.offsetHeight-scrollHeight[m_main_scroller];
		    
	if (scrollTop<-hght)
		scrollTop=-hght;  

	var z=-(scrollTop/hght)*maxscrollpos[m_main_scroller];
	var xel = document.getElementById(m_scrollbar_ids[m_main_scroller]);
 
	xel.style.top=z+"px";
	el.style.top = scrollTop+"px";
}

function scrollPercent(percent,__num)
{
	//alert(__num);
	var ell = document.getElementById(m_scrollfield_ids[__num]);
	tty= -percent*(ell.offsetHeight-scrollHeight[__num]);
	tty=Math.round(tty);
	ell.style.top = tty+"px";
	recount_positions();
}

function movemouse(e)
{
	if (isdrag)
	{
		s=dobj.id;
		snum=s.charAt(s.length-1);
		yy  = nn6 ? ty + e.clientY - y : ty + event.clientY - y;
    
		if (yy<0) { yy=0; }
		if (yy>maxscrollpos[snum]) 
		{
			yy=maxscrollpos[snum];
		}
		dobj.style.top=yy+"px";
		scrollPercent(yy/maxscrollpos[snum],snum);
		return false;
	}
}

function ObjectIsOur(__obj)
{
	var object_is_our = false;
	for(var i=1; m_scrollbar_ids[i] != undefined; i++)
	{
		if(__obj.id == m_scrollbar_ids[i])
		{
			object_is_our = true;
			break;
		}
	}
	return object_is_our;
}

function ObjectIsOurOrTop(__obj)
{
	return (__obj.tagName == (nn6 ? "HTML" : "BODY") || ObjectIsOur(__obj));
}

function dropmouse() 
{
	isdrag = false;
}

function selectmouse(e) 
{
	var fobj       = nn6 ? e.target : event.srcElement;

	while(!ObjectIsOurOrTop(fobj))
	{
		fobj = nn6 ? fobj.parentNode : fobj.parentElement;
	}
	
	if (ObjectIsOur	(fobj))
	{
		isdrag = true;
		dobj = fobj;

		tx=-10000;
		x=-10000;

		ty = parseInt(dobj.style.top+0);
		y = nn6 ? e.clientY : event.clientY;

		document.onmousemove = movemouse;
		return false;
	}
}

document.onmousedown = selectmouse;
document.onmouseup = dropmouse;

function scroll_on_offset(__count)
{
	if (UAis("ieWin") || UAis("safari") || UAis("opera")) 
		ie=1; 
	else 
		ie=-1;
 
	if (__count>0)
		scroll(1*ie);
	else 
		scroll(-1*ie);  
}

function handleScroll(e)
{

	if (document.getElementById(m_scrollbar_div_ids[m_main_scroller]).style.display!="block") return;

	//alert(window.event.wheelDelta);

	e = (e) ? e : window.event;
	var offset = (e.wheelDelta) ? e.wheelDelta : e.detail;

	scroll_on_offset(offset);
}

if (UAis("safari"))
{
	document.onmousewheel = handleScroll;
}
else
{
	if(document.attachEvent)
		document.attachEvent("onmousewheel", handleScroll);
	else
		window.addEventListener("DOMMouseScroll", handleScroll, false);
}

function recount_positions()
{
	for (var n=1; m_scrollbar_ids[n]!=undefined; n++) 
	{
		var el = document.getElementById(m_scrollfield_ids[n]);
		t=el.offsetHeight;

		//alert(t);

		if (t>scrollHeight[n])
		{
			show(m_scrollbar_div_ids[n]);    
			show(m_scrollbar_ids[n]);
			yy=scrollHeight[n]*scrollHeight[n]/t;
			var sb = document.getElementById(m_scrollbar_ids[n]);
			yy=Math.round(yy);
			//alert(yy);

			sb.style.height=yy+"px";

			scrollBarHeight[n]=yy;
			maxscrollpos[n]=scrollHeight[n]-scrollBarHeight[n];
		}
		else
		{
			hide(m_scrollbar_ids[n]);
			hide(m_scrollbar_div_ids[n]); 
		}    
	}
}

function init_scroll()
{
	var el = document.getElementById(m_scrollfield_ids[m_main_scroller]);
	el.style.top = "0px";
	var xel = document.getElementById(m_scrollbar_ids[m_main_scroller]);
	xel.style.top="0px";
	scrollBarHeight[1]=0; 
	maxscrollpos[1]=0;
	//recount_positions();
	setTimeout(recount_positions, 1000);

	//scroll_on_offset(1);
}

// </Скроллинг>
///////////////////////////////////////////////////////////////////////////////////////////////














///////////////////////////////////////////////////////////////////////////////////////////////
// <Смена изображений>

var m_picture_changer = false;
var m_pictures;
var current_picture_id = -1;
var m_picture_changing_div = "left_field";
var m_picture_changing_image = "left_picture";

function ChangePicture()
{
	if(m_picture_changer)
	{
		clearTimeout(m_picture_changer);
		if(!m_pictures || m_pictures.length==1 && current_picture_id==0)
			return;
	}
	//alert(pictures.length);
	current_picture_id = (current_picture_id+1+m_pictures.length)%(m_pictures.length);
	//alert('<img src="'+m_pictures[current_picture_id]+'">');
	//alert(document.getElementById("test_div"));
	element = document.getElementById(m_picture_changing_div);
	//if(element)
	{
		blendimage(m_picture_changing_div, m_picture_changing_image, m_pictures[current_picture_id], 1000)
	}
	//else alert(m_picture_changing_div);
	//	element.innerHTML = '<img src="'+pictures[current_picture_id]+'">';
	//alert(document.getElementById("test_div").innerHTML);
	//alert(current_picture_id);
	m_picture_changer = setTimeout("ChangePicture()", 10000);
}

if(m_pictures && m_pictures.length>1)
	ChangePicture();


// </Смена изображений>
///////////////////////////////////////////////////////////////////////////////////////////////








// смена изображений 2
function theRotator() {
	// Устанавливаем прозрачность всех картинок в 0
	$('div.rotator ul li').css({opacity: 0.0});
 
	// Берем первую картинку и показываем ее (по пути включаем полную видимость)
	$('div.rotator ul li:first').css({opacity: 1.0}).addClass('show');

	//$('div.rotator').append('<div class="left_ar"><a href="#" onClick="show_previous();return false;"><img src="design/galery_prev.png" style="width: 40px; height: 40px;"></a></div>');
	//$('div.rotator').append('<div class="right_ar"><a href="#" onClick="show_previous();return false;"><img src="design/galery_next.png"></a></div>');
 
	// Вызываем функцию rotate для запуска слайдшоу, 5000 = смена картинок происходит раз в 5 секунд
	rotator_id = setInterval('rotate()',5000);
}

function animate(current, next) {
	// Подключаем эффект растворения/затухания для показа картинок, css-класс show имеет больший z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);
 
	// Прячем текущую картинку
	current.animate({opacity: 0.0}, 1000)
	.removeClass('show');
}
 
function rotate() {	
	// Берем первую картинку
	var current = ($('div.rotator ul li.show') ? $('div.rotator ul li.show') : $('div.rotator ul li:first'));
 
	// Берем следующую картинку, когда дойдем до последней начинаем с начала
	var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div.rotator ul li:first') :current.next()) : $('div.rotator ul li:first'));	
 
	// Расскомментируйте, чтобы показвать картинки в случайном порядке
	// var sibs = current.siblings();
	// var rndNum = Math.floor(Math.random() * sibs.length );
	// var next = $( sibs[ rndNum ] );

	animate(current, next);
};

function show_previous() {
	clearInterval(rotator_id);
	var current = ($('div.rotator ul li.show')?  $('div.rotator ul li.show') : $('div.rotator ul li:first'));
	var prev = ((current.prev().length) ? ((current.prev().hasClass('show')) ? $('div.rotator ul li:last') : current.prev()) : $('div.rotator ul li:last'));	
	animate(current, prev);
	rotator_id = setInterval('rotate()',5000);
}

function show_next() {
	clearInterval(rotator_id);
	var current = ($('div.rotator ul li.show')?  $('div.rotator ul li.show') : $('div.rotator ul li:first'));
	var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div.rotator ul li:first') :current.next()) : $('div.rotator ul li:first'));	
	animate(current, next);
	rotator_id = setInterval('rotate()',5000);
}







