//-----------------------------------------------------------------------------------
// $Id: console_frames_tools.js,v 1.2 2006/01/12 13:12:08 rpiotrow Exp $
// Autor	: fwo
// Opis		:	
// Parametry:	
// Wyjście	: 
//-----------------------------------------------------------------------------------

var TOP_FRAME_NAME          = "top";
var LEFT_FRAME_NAME         = "left";
var WORK_FRAME_NAME         = "work";
var WORK_UP_FRAME_NAME      = "work_up";

// zwraca wskaznik na okno najwyższego poziomu
function mainWindow() {
	var mw = window;
	while (mw.parent!=mw) mw = mw.parent;
	return mw;
}

// zwraca wskaznik na ramke o podanej nazwie
function frameByName(name) {
	var mw = mainWindow();
	for (var i = 0; i < mw.frames.length; ++i) {
		if (mw.frames[i].name == name) {
			return mw.frames[i];
		}
	}
	return null;
}

// zwraca wskaźnik na ramkę TOP
function topFrame() {
	return frameByName(TOP_FRAME_NAME);
}

// zwraca wskaźnik na ramkę LEFT
function leftFrame() {
	return frameByName(LEFT_FRAME_NAME);
}

// zwraca wskaźnik na ramkę WORK
function workFrame() {
	return frameByName(WORK_FRAME_NAME);
}

// zwraca wskaźnik na ramkę WORK_UP
function workUpFrame() {
	return frameByName(WORK_UP_FRAME_NAME);
}

function getNodeByHref(root, sHref)
{
	// sprawdzamy, czy aby nie jest już zaznaczony odpowiedni element na drzewie 
	if ((root.lastSelected) && (root.lastSelected.full_href==sHref))
		return root.lastSelected;
	else 
		return root.getItemByHref(sHref);
}

function getActivePath(sItem) {
  if (sItem==null) return "";
  var sPath = getActivePath(sItem.parent);
  if (sPath!="") sPath+=" > "
  if (sItem.href!=null) 
    sPath += '<a href="' + sItem.href + '" target="work"';
  else
    sPath += '<span style="CURSOR: default"';
  
  if (sItem.title_help!=null) sPath += ' title="' + sItem.title_help + '"'

  sPath += '>' + sItem.name; 

  if (sItem.href!="") sPath += '</a>';
  else sPath += '</span>';
  return sPath;
};

//-----------------------------------------------------------------------------------
// Funkcja		: URLSite(sHref)
// Autor		  : fwo
// Opis			  : Funkcja zwraca URL witryny, której adres podano jako parametr wywołania.
//							Jeżeli parametr jest null, to brana jest warto¶ć z document.location.href. 
//							Przykład: 
//								wej¶cie : http://cm.unity.prod.id.pl/console/menu_tree.xml
//								wyj¶cie : http://cm.unity.prod.id.pl
// Parametry	: sHref	- adres URL
// Wyjście		: adres URL witryny
//-----------------------------------------------------------------------------------
function URLSite(sHref) {
  if (sHref==null) sHref = document.location.href;
  var p = sHref.indexOf("/",8);
  if (p!=-1) return sHref.substr(0,p);
  else return "";
}

//-----------------------------------------------------------------------------------
// Funkcja		: URLScriptPath(sHref)
// Autor		  : fwo
// Opis			  : Funkcja zwraca URL skryptu bez jego nazwy.
//							Jeżeli parametr jest null, to brana jest warto¶ć z document.location.href. 
//							Przykład: 
//								wej¶cie : http://cm.unity.prod.id.pl/console/menu_tree.xml
//								wyj¶cie : http://cm.unity.prod.id.pl/console/
// Parametry	: sHref	- adres strony
// Wyjście		: adres URL
//-----------------------------------------------------------------------------------
function URLScriptPath(sHref) {
  if (sHref==null) sHref = document.location.href;
  var p = sHref.lastIndexOf("/");
  if (p!=-1) return sHref.substr(0,p);
  else return "";
}

//-----------------------------------------------------------------------------------
// Metoda			: translateHref(sHref)
// Autor			:	fwo
// Opis				:	Funkcja pomocnicza do rozwijania adresu podanego jako parametr wywołania.
// Parametry	:	sHref - adres URL
// Wyjście		: brak
//-----------------------------------------------------------------------------------
function translateHref(sHref) {
  var p = sHref.indexOf("http://");
  if (p==0) return sHref;
  p = sHref.indexOf("/");
  if (p==0) return URLSite() + sHref;
  return URLScriptPath() + "/" + sHref;
};

//-----------------------------------------------------------------------------------
// Metoda			: getHrefFromObject(o)
// Autor			:	fwo
// Opis				:	Funkcja pomocnicza do zwracania href'a z obiektu.
// Parametry	:	o - obiekt
// Wyjście		: warto¶ć atrybutu href
//-----------------------------------------------------------------------------------
function getHrefFromObject(o) 
{
	if (o==null) return "";
	
	var s = o.outerHTML;
  var i = s.indexOf("href=\"");
	if (i==-1) return "";
	i+=6;
  var j = s.indexOf("\"",i);
	if (i==-1) return "";
	return s.substr(i-1,j);
};


