window.onload=init;
var ac=new Object();
var mm0=new Array();
mm0['IDmenuPubl']= new Image();
mm0['IDmenuPubl'].src='tmpl/publ.0.png';
mm0['IDmenuFoto']=new Image();
mm0['IDmenuFoto'].src='tmpl/foto.0.png';
mm0['IDmenuVideo']=new Image();
mm0['IDmenuVideo'].src='tmpl/video.0.png';
var mm1=new Array();
mm1['IDmenuPubl']=new Image();
mm1['IDmenuPubl'].src='tmpl/publ.1.png';
mm1['IDmenuFoto']=new Image();
mm1['IDmenuFoto'].src='tmpl/foto.1.png';
mm1['IDmenuVideo']=new Image();
mm1['IDmenuVideo'].src='tmpl/video.1.png';
var mm2=new Array();
mm2['IDmenuPubl']=new Image();
mm2['IDmenuPubl'].src='tmpl/publ.2.png';
mm2['IDmenuFoto']=new Image();
mm2['IDmenuFoto'].src='tmpl/foto.2.png';
mm2['IDmenuVideo']=new Image();
mm2['IDmenuVideo'].src='tmpl/video.2.png';
var alt=new Array();
alt['IDmenuPubl']='проповеди, выступления, интервью';
alt['IDmenuFoto']='поездки, мероприятия, встречи';
alt['IDmenuVideo']='события, хроника, праздники';
alt['IDmain']='биография, история, жизнь';
var XMLdatafile=new Array();
XMLdatafile['IDmenuPubl']='publ/index.xml';
XMLdatafile['IDmenuFoto']='foto/index.xml';
XMLdatafile['IDmenuVideo']='video/index.xml';
XMLdatafile['IDmain']='bio.xml';

var IE=/MSIE/gi;
IE=(IE.test(navigator.appVersion))?true:false;
var dd=new Date();
var scroller=null;
var scrollbar=null;
fadeOpacity.addRule('oRf', 0, 1, 100);
fadeOpacity.addRule('oRr', 1, 0, 100);
var citata=new Array();
for (var j=0; j<19; ++j){
	citata[j]=new Image();
	citata[j].src='tmpl/citata/'+(j+1)+'.png';
}
var _citata=new Array();
var ActivePubl=null;
var pause=null;
var ActiveMenu=null;
var MediaItems;

function init(){
	_fCitata(0);
	scroller = new jsScroller(document.getElementById("Scroller"), 600, 400);
	scrollbar = new jsScrollbar(document.getElementById("Scrollbar-Container"), scroller, true);
//	_fPubl('IDmain',XMLdatafile['IDmain'],"on");
	_fMenuClick(document.getElementById('IDmain'));
	setInterval('_fCitata(10000)',500);
}

function _fCitata(p){
	var curDate = new Date();
	if(pause==null){ pause = new Date() }
	var _pause=(curDate.getTime()-pause.getTime() > p)?true:false;
	var IDcitata=document.getElementById('IDcitata');
	if(_citata.length==0){
		_citata=citata.slice(0,citata.length);
	}

//document.getElementById('IDotladka').innerHTML=String(citata.length+" : "+_citata.length);
	if(IE){
		if(_pause || p==0){
			IDcitata.style.visibility='hidden';
			var i=Math.round(Math.random()*(_citata.length-1));
			var img=_citata[i].src;
			_citata.splice(i,1);
			IDcitata.style.backgroundImage='url('+img+')';
			IDcitata.style.visibility='visible';
			pause=null;
		}
	}
	else{
		if(fadeOpacity.finish!=2){
			if(p==0||IDcitata.getAttribute('opacity')=="1") {
				IDcitata.style.visibility='hidden';
				var i=Math.round(Math.random()*(_citata.length-1));
				var img=_citata[i].src;
				_citata.splice(i,1);
				IDcitata.style.backgroundImage='url('+img+')';
				IDcitata.setAttribute('opacity','0');
				setElementOpacity(IDcitata,0.0);
				IDcitata.style.visibility='visible';
				fadeOpacity('IDcitata', 'oRf');
			}
			else{
				if(_pause){
					IDcitata.setAttribute('opacity','1');
					setElementOpacity(IDcitata,1.0);
					fadeOpacity('IDcitata', 'oRr');
					pause=null;
				}
			}
		}
	}
}

function _fMenuOver(el,k){
	var IDalt=document.getElementById('IDalt');
	if(k=="off"){
		IDalt.innerHTML="";
		if(el!=ac&&el.id!="IDmain"){el.childNodes[0].src=mm0[el.id].src}
	}
	else{
		IDalt.innerHTML=alt[el.id]
		if(el!=ac&&el.id!="IDmain"){el.childNodes[0].src=mm2[el.id].src}
	}
}
function _fMenuClick(el){
	_fOverTop('on');
	if(el.id=="IDmain"){
		if(ac.id) ac.childNodes[0].src=mm0[ac.id].src;
		document.getElementById('IDindex').innerHTML="";
		_fPubl(el.id,XMLdatafile['IDmain'],"on");
		_fOverTop('off');
		ac=new Object();
		return false;
	}
	_fOverTop('on');
	if (ac!=el){
		if(ac.id) ac.childNodes[0].src=mm0[ac.id].src;
		el.childNodes[0].src=mm1[el.id].src;
		ac=el;
		if(window.ActiveXObject){var xml = new ActiveXObject("Microsoft.XMLHTTP")}
		else if(window.XMLHttpRequest){var xml = new XMLHttpRequest()}
		if(RegExp("http","i").test(window.location.protocol)){
			xml.onreadystatechange = function(){
				if(xml.readyState == 4){
					if(xml.status == 200 || xml.status == 304){makeIndex(xml.responseXML)}
				}
			};
		}
		else {
			xml.onreadystatechange = function(){
				if(xml.readyState == 4 && xml.status == 0) {makeIndex(xml.responseXML)}
			}
		}
		xml.open("GET", XMLdatafile[el.id]+"?"+dd.getTime().toString(), true);
		xml.send(null);
		var p=null;
		var a=null;
		function makeIndex(xml){
			var IDindex=document.getElementById('IDindex');
			IDindex.innerHTML="";
			var XMLindex=xml.getElementsByTagName('item');
			for(var i=0;i<XMLindex.length;i++){
				p=document.createElement('p');
				a=document.createElement('a');
				with(a){
					setAttribute('id',el.id+String(i));
					setAttribute('data',XMLindex[i].getAttribute('src'));
					className="unclick";
					href="javascript:void()";
					onclick=function(){return _fActiveChild(this.id)};
					innerHTML=XMLindex[i].getAttribute('title');
				}
				p.appendChild(a);
				IDindex.appendChild(p);
				p=null; a=null;
				if(i==0){_fActiveChild(el.id+String(0))}
			}
		}
	}
}
function _fActiveChild(idP){
	var el=document.getElementById(idP);
	var IDchild=idP+'child';
	_fPublClose();
	if(ActiveMenu!=null){
		ActiveMenu.className="unclick";
		document.getElementById(ActiveMenu.id+'child').style.display="none";
	}
	el.className="click";
	ActiveMenu=el;
	if(document.getElementById(IDchild)==null){
		_fOverTop('on');
		var data=document.getElementById(idP).getAttribute('data');
		var DivInner=document.createElement('div');
		with(DivInner){
			id=IDchild;
			style.display="block";
		}
		var xml=null;
		if(window.ActiveXObject){xml = new ActiveXObject("Microsoft.XMLHTTP")}
		else if(window.XMLHttpRequest){xml = new XMLHttpRequest()}
		if(RegExp("http","i").test(window.location.protocol)){
			xml.onreadystatechange = function(){
				if(xml.readyState == 4){
					if(xml.status == 200 || xml.status == 304){makeList(xml.responseXML)}
				}
			};
		}
		else {
			xml.onreadystatechange = function(){
				if(xml.readyState == 4 && xml.status == 0) {makeList(xml.responseXML)}
			}
		}
		xml.open("GET", data+"?"+dd.getTime().toString(), true);
		xml.send(null);
		function makeList(xml){
			var items=xml.getElementsByTagName('item');
			var item;
			var img; var a;
			if(RegExp("foto|video","gi").test(idP)){
				MediaItems=items.length;
				for(var i=0;i<items.length;++i){
					item=document.createElement('div');
					item.className="divTmbClass";
					a=document.createElement('div');
					with (a){
						setAttribute("_i",i);
						onclick=function(){return _fShow(this.getAttribute('_i'),data,"on")};
						href="javascript:void()";
					}
					img=document.createElement('img');
					with(img){
						className="imgTmbClass";
						src=items[i].getAttribute('picTmb')+"?"+dd.getTime().toString();
						alt=items[i].getAttribute('title');
						title=items[i].getAttribute('title');
						setAttribute("border","0");
						onload=_fMediaLoaded;
					}
					a.appendChild(img);
					item.appendChild(a);
					DivInner.appendChild(item);
					item=null;
					img=null;
					a=null;
				}
			}
			else{
				for(var i=0;i<items.length;++i){
					item=document.createElement('div');
					item.className="divPublItem";
					a=document.createElement('a');
					with (a){
						setAttribute('data',items[i].getAttribute('src'))
						setAttribute('idp',IDchild)
						onclick=function(){return _fPubl(this.getAttribute('idp'),this.getAttribute('data'),"on")};
						href="javascript:void()";
						innerHTML=_fGetElemText(items[i]);
					}
					item.appendChild(a);
					DivInner.appendChild(item);
					item=null;
					a=null;
				}
			_fOverTop('off');
			}
			document.getElementById('Scroller').childNodes[0].appendChild(DivInner);
			DivInner=null;
			scrollbar.swapContent(document.getElementById("Scroller"));
		}
	}
	else {
		_fOverTop('off');
		document.getElementById(IDchild).style.display="block";
	}
	scrollbar.swapContent(document.getElementById("Scroller"));
	return false;
}
function _fMediaLoaded(){
	MediaItems=MediaItems-1;
	if(MediaItems==0){_fOverTop('off')}
}
function _fPubl(idp,data,k){
	var IDchild=String(data.replace(RegExp("/","g"),"").replace(RegExp(".xml","gi"),""));
	if(ActiveMenu){document.getElementById(ActiveMenu.id+'child').style.display="none"}
	if(document.getElementById(IDchild)==null){
		_fOverTop('on');
		var DivInner=document.createElement('div');
		with(DivInner){
			id=IDchild;
			style.display="block";
		}
		var xml=null;
		if(window.ActiveXObject){xml = new ActiveXObject("Microsoft.XMLHTTP")}
		else if(window.XMLHttpRequest){xml = new XMLHttpRequest()}
		if(RegExp("http","i").test(window.location.protocol)){
			xml.onreadystatechange = function(){
				if(xml.readyState == 4){
					if(xml.status == 200 || xml.status == 304){makeList(xml.responseXML)}
				}
			};
		}
		else {
			xml.onreadystatechange = function(){
				if(xml.readyState == 4 && xml.status == 0) {makeList(xml.responseXML)}
			}
		}
		xml.open("GET", data+"?"+dd.getTime().toString(), true);
		xml.send(null);

		function makeList(xml){
			var titleHTML=xml.getElementsByTagName('titleHTML')[0];
			var text=xml.getElementsByTagName('text')[0];
			var item=document.createElement('div');
			with(item){
				className="PublTitle";
				innerHTML=_fGetElemText(titleHTML);
			}
			DivInner.appendChild(item);
			item=null;
			item=document.createElement('div');
			with(item){
				className="PublBody";
				innerHTML=_fGetElemText(text);
			}
			DivInner.appendChild(item);
			item=null;
			document.getElementById('Scroller').childNodes[0].appendChild(DivInner);
			ActivePubl=document.getElementById(IDchild);
			DivInner=null;
			scrollbar.swapContent(document.getElementById("Scroller"));
		}
	}
	else {
		ActivePubl=document.getElementById(IDchild);
		ActivePubl.style.display="block";
	}
	scrollbar.swapContent(document.getElementById("Scroller"));
	if(idp!="IDmain"){document.getElementById('IDClosePubl').style.display="block"}
	_fOverTop('off');
	return false;
}
function _fPublClose(){
	if(ActivePubl){ActivePubl.style.display="none"}
	if(ActiveMenu!=null){
		document.getElementById(ActiveMenu.id+'child').style.display="block";
	}
	document.getElementById('IDClosePubl').style.display="none";
	scrollbar.swapContent(document.getElementById("Scroller"));
	return false;
}
function _fShow(i,data,k){
	var IDShow=document.getElementById('IDShow');
	if(k=="on"){
		var swf=(RegExp("foto","gi").test(data))?"foto.swf":"video.swf";
		var flashvars = {};
		flashvars.XMLdb=data+"?"+dd.getTime().toString();
		flashvars.imgActive=i;
		var params = {};
		params.play = "true";
		params.loop = "false";
		params.quality = "high";
		params.bgcolor = "#869ca7";
		params.wmode="transparent";
		params.allowscriptaccess = "sameDomain";
		var attributes = {};
		attributes.id = "IDShowMediaFoto";
		attributes.name = "Фотогалерея";
		attributes.align = "middle";
		swfobject.embedSWF(swf, "IDShowCont", "840", "560", "9.0.28", "expressInstall.swf", flashvars, params, attributes);
		IDShow.style.display='block';
	}
	else{
		IDShow.style.display='none';
		IDShow.removeChild(IDShow.childNodes[2]);
		IDShow.innerHTML+='<div id="IDShowMedia"><div id="IDShowCont"><h1>Для работы необходимо установить Adome Flash Player</h1><p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p></div></div>';
	}
	return false;
}

function _fGetElemText(node){
	return node.text || node.textContent || (function(node){
		var _result = "";
		if (node == null) {
			return _result;
		}
		var childrens = node.childNodes;
		var i = 0;
		while (i < childrens.length) {
			var child = childrens.item(i);
			switch (child.nodeType) {
				case 1: // ELEMENT_NODE
				case 5: // ENTITY_REFERENCE_NODE
					_result += arguments.callee(child);
					break;
				case 3: // TEXT_NODE
				case 2: // ATTRIBUTE_NODE
				case 4: // CDATA_SECTION_NODE
					_result += child.nodeValue;
					break;
				case 6: // ENTITY_NODE
				case 7: // PROCESSING_INSTRUCTION_NODE
				case 8: // COMMENT_NODE
				case 9: // DOCUMENT_NODE
				case 10: // DOCUMENT_TYPE_NODE
				case 11: // DOCUMENT_FRAGMENT_NODE
				case 12: // NOTATION_NODE
				// skip
				break;
			}
			i++;
		}
		return _result;
	}(node));
}
