/**
 *	PineTree CMS *tm
 *	@author	Kirill I Sosnin kirill@sosnin.spb.ru
 *
 *	License: GPL
 *
 */
dom = (document.getElementById) ? (true) : (false);
ie = (document.all) ? (true) : (false);
ie4 = ie && !dom;
nn4 =(document.layers) ? (true) : (false);

Mac = (navigator.appVersion.indexOf("Mac") != -1);
ie4mac = ie4 && Mac;
opera = (navigator.userAgent.indexOf("Opera")!=-1);
Konqueror = (navigator.userAgent.indexOf("Konqueror")!=-1);
FireFox = (navigator.userAgent.indexOf("Firefox")!=-1);

visible = (nn4)?('show'):('visible');
hidden = (nn4)?('hide'):('hidden');

function popup(file, query)
{
window.open(file+'?'+query,'popup', 'width=450,height=500,screenX=210,screenY=200,top=100,left=100,copyhistory=no,directories=no, menubar=no,location=no,scrollbars=yes,resizable=yes');
}

function show_hide(form_id) {
if(document.getElementById(form_id))
{
	if(document.getElementById(form_id).style.display == "block")
	{
	document.getElementById(form_id).style.display = "none";
	}
	else
	{
	  document.getElementById(form_id).style.display = "block";
	}
}
}
function show_picture(gid, id, f, c, w, h, color, title)
{ var size="width="+w+",height="+h; picture = window.open("/includes/misc/popup_img.php?gid="+gid+"&id="+id+'&f='+f+"&c="+c+"&col="+color+"&tit="+title, "picture", "dependent=yes,status=yes,directories=no,menubar=no,scrollbars=yes,resizable=yes,"+size);
}


var elem = 0, timer = 0;

function mouseOver(id,a)
{
	var open;
	if(!id) return;
	if(dom) open = document.getElementById(id);
	else if(ie4) open = document.all[id];
	else if(nn4) open = document.layers[id];

	if(!open)return;
	if(!nn4)open = open.style;

	if(timer){
		clearTimeout(timer);
		timer=0;
	}

    if(elem && open!=elem) hideNow();
	if(a) {open.left = menuLeft(id,a); open.top = menuTop(id,a);}
	open.visibility = visible;
	elem = open;
}

function mouseOut()
{
	timer = setTimeout('hideNow()',200);
}

function hideNow()
{
	if(elem) elem.visibility = hidden;
	elem = 0;
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function preloadImages()
{
//	MM_preloadImages('/images/button_design_a.gif', '/images/button_gallery_a.gif', '/images/button_info_a.gif', '/images/button_lect_a.gif');
	MM_preloadImages('/images/menu_a/button_design.jpg', '/images/menu_a/button_gallery.jpg', '/images/menu_a/button_info.jpg', '/images/menu_a/button_lect.jpg');
	return true;
}

function pause(ms)
{
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < ms);
}
function moveLayer(e, id)
{
	if (!e) {e = window.event; e.target = e.srcElement}
	var cur;
	var newPosY;
	var newPosX;
	var scrollTop;
	var offset;
	cur = getMouseCoords(e);

        //alert(cur.x);
	if((cur.x-500)>0)
	{
		newPosX = cur.x-500;
	}
	else if((cur.x-400)>0)
	{
		newPosX = cur.x-400;
	}
	else newPosX = cur.x;

	scrollTop = getBodyScrollTop();
	if(scrollTop==0)
		offset = document.body.clientHeight;
	else
		offset = document.body.clientHeight+scrollTop;


	if((cur.y+30)< offset-680)
		newPosY = cur.y-100;
	else
		newPosY = offset-750;

	if(newPosY<0)
	{
		newPosY = 0;
	}

	document.getElementById(id).style.marginLeft=newPosX+"px";
	document.getElementById(id).style.marginTop=newPosY+"px";

	document.getElementById(id).style.display='block';

	return true;
}
function getElementComputedStyle(elem, prop)
{
  if (typeof elem!="object") elem = document.getElementById(elem);

  // external stylesheet for Mozilla, Opera 7+ and Safari 1.3+
  if (document.defaultView && document.defaultView.getComputedStyle)
  {
    if (prop.match(/[A-Z]/)) prop = prop.replace(/([A-Z])/g, "-$1").toLowerCase();
    return document.defaultView.getComputedStyle(elem, "").getPropertyValue(prop);
  }

  // external stylesheet for Explorer and Opera 9
  /*if (elem.currentStyle)
  {
    var i;
    while ((i=prop.indexOf("-"))!=-1) prop = prop.substr(0, i) + prop.substr(i+1,1).toUpperCase() + prop.substr(i+2);
    return elem.currentStyle[prop];
  } */

  return "";
}
function getMouseCoords(e)
{
  if (!e) {e = window.event; e.target = e.srcElement}
  var x = 0;
  var y = 0;

//  if (e.layerX)//Gecko
  {
    x = e.layerX - parseInt(getElementComputedStyle(e.target, "border-left-width"));
    y = e.layerY - parseInt(getElementComputedStyle(e.target, "border-top-width"));
  }
  //else if (e.offsetX)//IE, Opera
//  {
  if (e.offsetX)//IE, Opera
  {
    x = event.x+document.body.scrollLeft;
    y = event.y+document.body.scrollTop;
  }
   // y = e.offsetY;
//  }

  return {"x":x, "y":y};
}
function getBodyScrollTop()
{
  return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}



function highlight(elem)
{
	elem.style.border="0px solid #fff";
	//elem.style.opacity="100";
	//alert(elem.style.filter);
}
function unlight(elem)
{
	var cur;
	var that;
	that = elem.id;
 	cur = "scrollPic1"+document.getElementById('cur_id').value;

//alert(that+" "+cur);
	if(that!=cur)
	{
		elem.style.border="0px solid #000";
		//elem.style.opacity="0.5";
	}
	//alert(elem.style.filter);
}
function scroll_it()
{
	document.getElementById('scrollStatus').value=1;
}
function unscroll_it()
{
	document.getElementById('scrollStatus').value=0;
}
function move_scroll(e)
{
	if (!e) {e = window.event; e.target = e.srcElement}
	var cur;
	var curScrollX;
	var newPos;
	var scrollAdd;
	cur = getMouseCoords(e);

	var curLineWidth;
	var newLinePos;

	curLineWidth = parseInt(document.getElementById('scrollLineWidth').value);
	scrollAdd = parseInt(40*875/curLineWidth);


	curScrollX = document.getElementById('sss').style.marginLeft;
	curScrollX = curScrollX.replace('px','');
	curScrollX = parseInt(curScrollX);

	newPos = ((cur.x-scrollAdd)<654 ? cur.x-scrollAdd : 654);
	newLinePos = parseInt(parseInt(cur.x)*curLineWidth/875);

	document.getElementById('sss').style.marginLeft = newPos;
	document.getElementById('lineContainer').scrollLeft= newLinePos;

	i = newLinePos;
	j = newPos;

	/* if((curScrollX>0 && curScrollX > cur.x)||(curScrollX=='NaN'))
	{
		scroll_up();
	}
	else if(curScrollX<650 && curScrollX < cur.x)
	{
		scroll_down();
	}
	*/
}
