//JavaScript Document
// Util functions

var descript;
var ns4 = document.layers;
var ns6 = document.getElementById && !document.all;
var ie4 = document.all;

var currentLayer = "none";
var toolTipSTYLE="";
var onErrors = false;

var ewin = false;
var monitor = false;

var layerStatus = false;
var showStick = true;

var countDownInterval=60;
var countDownTime=countDownInterval+1;

offsetX = 0;
offsetY = 20;

var stime;

var uploaded = false;                   // флаг загрузки
var element = "";
var gidproducer = "";
var time_limit = 30;                    // тайм-лимит в секундах для опроса сервера
var secs_elapsed = 0;                   // время прошедшее с момента загрузки

function Point(x,y) {  this.x = x; this.y = y; }

mLoc = new Point(-500,-500);
oldMLoc = new Point(-500,-500);

document.onmouseup=layerStatusOff;

function loaded(){
	if(ie4){
		var obj = findObj("workspace");
		if (obj == null) return;
		var height = document.body.scrollHeight - 115;
		obj.style.height = height+"px";
		obj.style.width = screen.width+"px";
	}
}

function init()
{
//  var obj = findObj(theLayer);
  if(ns4||ns6||ie4)
  {
//  	toolTipSTYLE = obj.style;
    if(ns4) document.captureEvents(Event.MOUSEMOVE);
    else
    {
		document.onmousemove = moveToMouseLoc;
//      toolTipSTYLE.visibility = "visible";
//      toolTipSTYLE.display = "none";
    }

  }
  
}

function layerStatusOff(e){
	layerStatus=false;
	currentLayer ="";
	document.onmousemove = moveToMouseLoc;
}

function layerStatusOn(movedlayer){
	layerStatus = true;
	currentLayer = movedlayer
	var obj = findObj(currentLayer);
	
	if(obj != null){
		offX=parseInt(obj.style.left)
		offY=parseInt(obj.style.top)
		oldMLoc = new Point(offX,offY);
		
		var offsetx = mLoc.x;
		var offsety = mLoc.y;
		offsets = new Point(offsetx,offsety);
		
		document.onmousemove = moveLayerToMouseLoc;
		document.onmouseup=layerStatusOff;
	}
}


function moveLayerToMouseLoc(e)
{
  var obj;
  var style;
  obj = findObj(currentLayer);
  if ( obj!=null )
  {
	
  	style = obj.style;
  	if(ie4){
  		style.left = oldMLoc.x + event.clientX - offsets.x;
		style.top = oldMLoc.y + event.clientY - offsets.y;
		firedobj = event.srcElement;
  	}else{
  		style.left = oldMLoc.x + e.clientX - offsets.x + "px";
		style.top = oldMLoc.y + e.clientY - offsets.y + "px";
		firedobj = e.target;
  	}	
  }
	return true;	
}

// get mouse location
function getMouseLoc(e)
{
  if(!document.all)  //NS
  {
    mLoc.x = e.pageX;
    mLoc.y = e.pageY;
  }
  else               //IE
  {
    mLoc.x = event.x + document.body.scrollLeft;
    mLoc.y = event.y + document.body.scrollTop;
  }

  return true;
}

function findObj(theObj, theDoc)
{
  var p, i, foundObj;
  
  if(!theDoc) theDoc = document;
  if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
  {
    theDoc = parent.frames[theObj.substring(p+1)].document;
    theObj = theObj.substring(0,p);
  }
  if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
  for (i=0; !foundObj && i < theDoc.forms.length; i++) 
    foundObj = theDoc.forms[i][theObj];
  for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
    foundObj = findObj(theObj,theDoc.layers[i].document);
  if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
  
  return foundObj;
}
function moveToMouseLoc(e)
{
  var firedobj;
  if(ns4||ns6)
  {
    mLoc.x = e.pageX;
    mLoc.y = e.pageY;
	firedobj = e.target;
  }
  else
  {
    mLoc.x = event.x + document.body.scrollLeft;
    mLoc.y = event.y + document.body.scrollTop;
	firedobj = event.srcElement;
  }
  moveLayerToMouseLoc();

  return true;
}

function showHideLayers()
{
  var i, visStr, obj, args = showHideLayers.arguments;

  for (i=0; i<(args.length-2); i+=3)
  {
    if ((obj = findObj(args[i])) != null)
    {
      visStr = args[i+2];
      if (obj.style)
      {
        obj = obj.style;
        if(visStr == 'show') visStr = 'visible';
        else if(visStr == 'hide') visStr = 'hidden';
      }
      obj.visibility = visStr;
    }
  }
}

function countDown(){
	countDownTime--;
	if (countDownTime <=0){
		countDownTime=countDownInterval;
		clearTimeout(counter);
		monitor = false;
		var obj = findObj("EditorHead");
		obj.innerHTML = "Монитор терминалов обновление ...";
		machines();
		return
	}
	
	var obj = findObj("EditorHead");
	obj.innerHTML = "Монитор терминалов обновление через "+countDownTime+" секунд. Время сервера "+stime;
	counter=setTimeout("countDown()", 1000);
	monitor = true;
//	alert(counter);
}

function editWindow(){
	var width = screen.availWidth;
	var height = screen.availHeight ;
	
	var rootdomain="http://"+window.location.hostname;
	var url = rootdomain+"/"+ajaxpath+"notedit.html";
	if (document.all&&window.print) eval('window.open(url,"","width='+width+',height='+height+',resizable=1,scrollbars=1,left=0,top=0")');
	else eval('window.open(url,"","width='+width+',height='+height+',resizable=1,scrollbars=1,left=0,top=0")');
}


function getDescript(){
//	alert(descript);
	return unescape(descript);
}

function setDescript(newdescr){
	descript = newdescr;
//	alert (descript);
}

function getTR(first){
	var string = first;
	var content = "<table width='100%'  border='0' cellspacing='1' cellpadding='0'>";
	
	var pos = string.indexOf("|");
	var i=0;
	
	while (pos > 0){
		content+="<tr class='unselected' onMouseOver='this.className=\"selected\"' onMouseOut='this.className=\"unselected\"' onClick='setPOwner(\""+string.substring(0,pos)+"\")'><td align='left'>"+string.substring(0,pos)+"</td></tr>";
		string = string.substring(pos+1,string.length);
		pos = string.indexOf("|");
		i++;
	}
	content+="<tr class='unselected' onMouseOver='this.className=\"selected\"' onMouseOut='this.className=\"unselected\"' onClick='setPOwner(\""+string+"\")'><td align='left'>"+string+"</td></tr>";
	content+="</table>";
	
	return content;
}



function genTH(first){
	var string = first;
	var frow ="<tr class='theaders'>";
	var srow ="<tr>";
	var data;
	
	var pos = string.indexOf("|");
	var i=0;
	
	while (pos > 0){
		frow = frow+"<td align='center'>"+string.substring(0,pos)+"</td>";
		string = string.substring(pos+1,string.length);
		
		srow = srow+"<td align='center'><input name='_"+i+"_' id='_"+i+"_' type='text' size='5'></td>";
		pos = string.indexOf("|");
		i++;
	}
	
	frow=frow+"<td align='center'>"+string+"</td></tr>";
	srow = srow+"<td align='center'><input name='_"+i+"_' id='_"+i+"_' type='text' size='5'></td></tr>";
	
	data = frow+srow;
	return data;
}
function countTC(first){
	var i=0;
	var string = first;
	var pos = string.indexOf("|");
	while (pos > 0){
		string = string.substring(pos+1,string.length);
		i++;
		pos = string.indexOf("|");
	}
	return i;
}

function setTD(first,second){
	var i = 0;
	var string = second;
	var pos = string.indexOf("|");
	var name;
	var data;
	
	while(pos >0){
		name="_"+i+"_";
		obj = findObj(name);
		data = string.substring(0,pos);
		string = string.substring(pos+1,string.length);
		pos = string.indexOf("|");
		obj.value = data;
		i++;
	}
	name="_"+i+"_";
	obj = findObj(name);
	obj.value = string;
}

function getTD(first){
	var i=countTC(first);
	var j = 0;
	var data = "";
	while(j<i){
		name="_"+j+"_";
		obj = findObj(name);
		data = data + obj.value+"|";
		j++;
	}
		name="_"+j+"_";
		obj = findObj(name);
		data = data+obj.value;
		
		return data;
}

function fileMananager(){
	var args = args = fileMananager.arguments;
	var rootdomain="http://"+window.location.hostname;
	var url = rootdomain+"/"+ajaxpath+"filemanager.html";
	
	if(args.length == 1)
		url+="?module="+args[0];
	else if(args.length == 2)
		url+="?module="+args[0]+"&idproducer="+args[1];
	else
		return;
	
	window.open( url ,'','location=0,status=0,scrollbars=0,resizable=0,width=820,height=620');
}

function wisiwygResize(){
		var rootdomain="http://"+window.location.hostname;
		var url = rootdomain+"/"+ajaxpath+"notedit.html";
		
		wysiwygWidth = this.innerWidth - 40;
		wysiwygHeight = this.innerHeight - 100;
		
		var newdescr = document.getElementById("wysiwyg" + "editor").contentWindow.document.body.innerHTML;
		
		window.opener.setDescript( newdescr );
		location = url;
	}


function messageBoxClose(){
	var messagebox = findObj("confirmDlg");
	var style = messagebox.style;
	style.visibility = "hidden";
}

