// mg2.js by www.milkov.ru

// data set

var pdata=new Array();
var mindata = -1;
var mintext = -1;
var isloaded = 0;
var currentarrow = 0;

/* Нужна проверка - первый ли это уровень или последний */

function load_content(num){
	
	var str='';
	// проверка - mindata=-1 - texts, mindata=0 - главная страница, иначе - не главная
	
	if (mindata==-1){
		if(!num && mintext>0) num=mintext
		var tmp = new Array();
		tmp=pdata[num].split("|");	// HEAD/ABSTRACT/TEXT
		str+='<div class=head align=right>'+tmp[0]+'</div><div class=abstract align=right>'+tmp[1]+'</div><div class=myscrollerdiv><div class=myscrollerup><a href="#" onmouseover="myscroll(-1)" onmouseout="myscroll(0)"><img border=0 src="/imgs/scrollup.gif"></a></div><div class=myscrollerdn><a href="#" onmouseover="myscroll(1)" onmouseout="myscroll(0)"><img border=0 src="/imgs/scrolldn.gif"></a></div></div><div id=mytext class=mytextscrolldiv>'+tmp[2]+'</div>';
		//substate='hidden';
		document.getElementById("content").innerHTML = str;
		//document.getElementById("topmenu").style.visibility=substate;
		return 0;
	}
	
	if(!isloaded) {
		num=mindata;
		isloaded=1;
	}
	var substate='hidden';
	
	if (num){
		var tmp = new Array();
		tmp=pdata[num].split("|");
		str+='<div class=head>'+tmp[0]+'</div><div class=abstract>'+tmp[2]+'</div><div class=fullimg><img alt\''+tmp[0]+'\' src="'+tmp[1]+'"></div>';
		substate='visible';
	} else {
		str+='<div class=head>&nbsp;</div><div class=abstract>&nbsp;</div>';
		for (var i=0;i<pdata.length;i++){
			var tmp = new Array();
			if(!pdata[i]){return 0;}
			tmp=pdata[i].split("|");
			if (tmp[2]){
				str+='<div class=title align=left><a class=mnu href="'+tmp[1]+'">'+tmp[0]+'</a></div>';
				str+='<div class=abstract align=left>'+tmp[2]+'</div>';
			} else {	// frontpage!!!
				str+='<div class=fronttitle align=left><a class=mnu href="'+tmp[1]+'" onmouseover="move_start_arrow('+(i+1)+')">'+tmp[0]+'<img border=0 id="dot'+(i+1)+'" src="/imgs/tr.gif" width=30 height=16></a></div>';
			}
		}
		substate='hidden';
	}
	document.getElementById("content").innerHTML = str;
	document.getElementById("topmenu").style.visibility=substate;
	return 0;
}

function move_start_arrow(n){
	if (n==currentarrow) return;
	var oldarrow = currentarrow;
	if (oldarrow>0){
		eval("document.getElementById('dot"+oldarrow+"')").src = "/imgs/tr.gif";
	}
	eval("document.getElementById('dot"+n+"')").src = "/imgs/anidot.gif";
	currentarrow=n;
	return false;
}


function push_gallery(num, str){
	if (!num) num=pdata.length;
	pdata[num]=str;
	if (mindata<0) mindata=num 
}

// texts set

var isscrollermoving;
var myscrollstep=10;
var myscrolltimeout = 50;

function push_gb(str){
	var num=pdata.length;
	pdata[num]=str;// alert(str);
}


function push_texts(num, str){
	//var num=pdata.length;
	pdata[num]=str;// alert(str);
	if (mintext<0) mintext=num 
}

function myscroll(dir){
	if (dir){
 		if(dir<0) isscrollermoving=setTimeout('mymoveup()', myscrolltimeout)
 		else isscrollermoving=setTimeout('mymovedn()', myscrolltimeout)
	} else {
		clearTimeout(isscrollermoving)
	}
}

function mymovedn(){
	var xxx=document.getElementById("mytext").scrollTop;
 	xxx=xxx+myscrollstep;
 	document.getElementById("mytext").scrollTop = xxx;
 	isscrollermoving=setTimeout('mymovedn()', myscrolltimeout);
}

function mymoveup(){
	var xxx=document.getElementById("mytext").scrollTop;
 	xxx=xxx-myscrollstep;
 	document.getElementById("mytext").scrollTop = xxx;
 	isscrollermoving=setTimeout('mymoveup()', myscrolltimeout);
}

// gb set

function add2guestbook(){
	var str='<div class=head align=right>Новое сообщение / New message</div><div class=abstract align=right>Внимание! Заполняйте, пожалуйста, все поля!<br>Please, fill all fields in form!</div><div class=mytextscrolldiv><form method=post action="/cgi-bin/guestb.pl"><p>Ваше имя / Your name: <br><input type=text style="background-color:#809d9f; border-style:none; font-family:courier;width:480px;" name=nm>';
	str+='<p>Ваш e-mail / Your e-mail: <br><input type=text style="background-color:#809d9f; border-style:none; font-family:courier;width:480px;" name=em>';
	str+='<p>Ваши пожелания / Your message:<br><textarea style="background-color:#809d9f; border-style:none; font-family:courier;font-size:9pt;width:500px;" name=txt rows=10></textarea>';
	str+='<p><input type=submit value="Добавить сообщение / Submit" style="background-color:#809d9f; border-style:none; color:#56635A; font-family:courier;width:250px;">&nbsp;<input type=reset style="background-color:#809d9f; border-style:none; color:#56635A; font-family:courier;width:150px;" value="Очистить / Clear">';
	str+='</form></div>';
	
	document.getElementById("content").innerHTML = str;
	return 0;
}


// gallery set


var restarea1=290
var restarea2=115 //1) width of the "neutral" area in the center of the gallery in px
var maxspeed=5 //2) top scroll speed in pixels. Script auto creates a range from 0 to top speed.
var endofgallerymsg="" //"<span style='font-size:7pt;font-family:courier;'>Конец галереи</span>" //3) message to show at end of gallery. Enter "" to disable message.

function enlargeimage(path, optWidth, optHeight){ //function to enlarge image. Change as desired.
var actualWidth=typeof optWidth!="undefined" ? optWidth : "600px" //set 600px to default width
var actualHeight=typeof optHeight!="undefined" ? optHeight : "500px" //set 500px to  default height
var winattributes="width="+actualWidth+",height="+actualHeight+",resizable=yes"
window.open(path,"", winattributes)
}

var iedom=document.all||document.getElementById
var scrollspeed=0
var movestate=""

var actualheight=''
var cross_scroll
var loadedyes=0

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function creatediv(){
statusdiv=document.createElement("div")
statusdiv.setAttribute("id","statusdiv")
document.body.appendChild(statusdiv)
statusdiv=document.getElementById("statusdiv")
statusdiv.innerHTML=endofgallerymsg
}

function positiondiv(){
menuwidth=parseInt(crossmain.offsetWidth)
mainobjoffsetW=getposOffset(crossmain, "left")
statusdiv.style.left=mainobjoffsetW+(menuwidth/2)-(statusdiv.offsetWidth/2)+"px"
statusdiv.style.top=menu_height+mainobjoffset+10+"px"
}

function showhidediv(what){
if (endofgallerymsg!="")
statusdiv.style.visibility=what
}

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft: what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function moveup(){
if (loadedyes){
movestate="up"
if (iedom&&parseInt(cross_scroll.style.top)>(menu_height-actualheight)){
cross_scroll.style.top=parseInt(cross_scroll.style.top)-scrollspeed+"px"
showhidediv("hidden")
}
else
showhidediv("visible")
}
uptime=setTimeout("moveup()",10)
}

function movedown(){
if (loadedyes){
movestate="down"
if (iedom&&parseInt(cross_scroll.style.top)<0){
cross_scroll.style.top=parseInt(cross_scroll.style.top)+scrollspeed+"px"
showhidediv("hidden")
}
else
showhidediv("visible")
}
downtime=setTimeout("movedown()",10)
}

function motionengine(e){
var dsocx=(window.pageXOffset)? pageXOffset: ietruebody().scrollLeft;
var dsocy=(window.pageYOffset)? pageYOffset : ietruebody().scrollTop;
var curposy=window.event? event.clientY : e.clientY? e.clientY: ""
curposy-=mainobjoffset-dsocy
var leftbound=(menu_height-restarea1)/2
var rightbound=(menu_height-restarea2)/2
if (curposy>rightbound){
scrollspeed=(curposy-rightbound)/((menu_height-restarea2)/2) * maxspeed
if (window.downtime) clearTimeout(downtime)
if (movestate!="up") moveup()
}
else if (curposy<leftbound){
scrollspeed=(leftbound-curposy)/((menu_height-restarea1)/2) * maxspeed
if (window.uptime) clearTimeout(uptime)
if (movestate!="down") movedown()
}
else
scrollspeed=0
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function stopmotion(e){
if ((window.event&&!crossmain.contains(event.toElement)) || (e && e.currentTarget && e.currentTarget!= e.relatedTarget && !contains_ns6(e.currentTarget, e.relatedTarget))){
if (window.downtime) clearTimeout(downtime)
if (window.uptime) clearTimeout(uptime)
movestate=""
}
}

function fillup(){

 load_content(0)
if (iedom){
crossmain=document.getElementById? document.getElementById("motioncontainer") : document.all.motioncontainer
menu_height=parseInt(crossmain.style.height)
mainobjoffset=getposOffset(crossmain, "top")
cross_scroll=document.getElementById? document.getElementById("motiongallery") : document.all.motiongallery
actualheight=cross_scroll.offsetHeight

crossmain.onmousemove=function(e){
motionengine(e)
}

crossmain.onmouseout=function(e){
stopmotion(e)
showhidediv("hidden")
}
}
if (window.opera){
cross_scroll.style.top=menu_height-actualheight+'px'
setTimeout('cross_scroll.style.top=0', 10)
}
loadedyes=1
if (endofgallerymsg!=""){
creatediv()
positiondiv()
}


}
window.onload=fillup
