/*-------------------------------------------------------------------------------
* File: 			formUI.js
* Description:		
* Author:			Antoaneta Kozarova, ESRI Bulgaria
* Date created:		January 2005
* Date modified:	
*------------------------------------------------------------------------------*/
var formUI_DEBUG = false;

var tabBGColor = '#DCDCDC';
var tabBorderColor = '#696969';
var tabBorderColorActive = '#FFFFE0';

var listColor = '#000000';
var listMouseOverColor = '#000080';

var selectedRow;

var g_rowColor;
var g_rowBGColor;
var g_selectedRowColor;
var g_selectedRowBGColor;

var cSELECTED_ROW_BGCOLOR = "#000080";
var cSELECTED_ROW_COLOR = "#FFFFFF";
var cSELECTED_ROW_BGCOLOR_RGB = "rgb(0, 0, 128)";	//Mozilla


//patch
function ToggleLast(tab){
	var tabParent = tab.parentNode;
	var item, tabElement;
	
	for (item in tabParent.childNodes){
		if (tabParent.childNodes[item].nodeType == 1 && tabParent.childNodes[item].className == 'zatvtab'){
				tabElement = tabParent.childNodes[item];
				break;
			}
		}
	tabElement.className = 'zatvtabClicked';
}

function ToggleTab(tab){
	var tabHead, tabBody;
	
	try {
		tabHead = tab;
		tabBody = document.getElementById(tabHead.id + "_body");
		
		if (tabHead != undefined)
			HideAllTabs(tabHead.parentNode);
		if (tabBody != undefined)
			SetStyle(tabHead, tabBody, true);
	}
	catch (e) {
		if (formUI_DEBUG)
			alert('ERROR\n[formUI.js: ToggleTab] ' + e.description)
	}
}

function HideTab(tab){
	var tabBody = document.getElementById(tab.id + "_body");
	if (tabBody != undefined)
		SetStyle(tab, tabBody, false)
	
	if (tab.getAttribute('custattr') != '')
		SetStyle(tab, tabBody, false)
}

function HideAllTabs(tabs){
	var children = tabs.childNodes;
	
	//DEBUG START
	var tmp;
	tmp = "PARENT: " + tabs.id + " [" + tabs.tagName + "]\nTABS: " + children.length
	for (var j = 0; j<children.length; j++){
		if (children[j].nodeType == 1 && children[j].id != ''){
			tmp += "\n" + j + ". NodeName: " + children[j].nodeName + "; NodeType: " + children[j].nodeType + "; nodeValue: " + children[j].nodeValue
			tmp += "; ID: " + children[j].id + "; TAG: " + children[j].tagName + "; CONTENT: " + children[j].innerHTML
 		}
	}
	//alert(tmp)
	//DEBUG END
	
	for (var i = 0; i<children.length; i++){
		if (children[i].nodeType == 1 && children[i].id != ''){
			HideTab(children[i])
		}
	}
}

function SetStyle(tabHead, tabBody, selected){
	if (tabHead == undefined)
		return;

	try {
	if (selected){
		//set selected style
		if (tabHead.getAttribute('custattr') == 'endtag'){
			tabHead.className = "zatvtabClicked";
		}
		else
		{
			if (tabBody != undefined)
				tabBody.style.display = "block";
			tabHead.className = "tabHeadClicked";
		}
	}
	else
	{
		//set not selected style
		if (tabHead.getAttribute('custattr') == 'endtag'){
			tabHead.className = "zatvtab";
		}
		else
		{
			if (tabBody != undefined)
				tabBody.style.display = "none";
			tabHead.className = "tabHead";
		}
	}
	} catch (e) {alert('formUI.js : SetStyle() --> ' + e.description)}
}

//-----------------------------------------------------
function HighlightRow(row){
	g_rowColor = row.style.color;
	g_rowBGColor = row.style.backgroundColor;
	
	if (row.id != selectedRow)
	{
		row.style.color = '#4682B4';
	}
	else
	{
		row.style.color = "#000000";
		row.style.backgroundColor = "#A9A9A9";
	}
}

function NormalizeRow(row){
	if (row.id != selectedRow)
	{
		row.style.color = g_rowColor;
		row.style.backgroundColor = g_rowBGColor;
	}
	else
	{
		row.style.color = cSELECTED_ROW_COLOR;
		row.style.backgroundColor = cSELECTED_ROW_BGCOLOR;
	}
}

function SelectRow(row){
	var parent = row.parentNode;
	var item;
	
	for (item in parent.childNodes){
		if (parent.childNodes[item].nodeType == 1){
			ClearSelectedRow(parent.childNodes[item]);
		}
	}
	
	g_selectedRowColor = "#000000";
	g_selectedRowBGColor = row.style.backgroundColor;
	
	row.style.backgroundColor = cSELECTED_ROW_BGCOLOR;
	row.style.color = cSELECTED_ROW_COLOR;
	
	selectedRow = row.id;
}

function ClearSelectedRow(row){
	if (row.id != ''){
		
		var rowBgColor = row.style.backgroundColor;
		if (rowBgColor.indexOf("#") != -1){
			if (rowBgColor == cSELECTED_ROW_BGCOLOR) {
				row.style.color = g_selectedRowColor;
				row.style.backgroundColor = g_selectedRowBGColor;
			}
		}
		else if (rowBgColor.indexOf("rgb") != -1){
			if (rowBgColor == cSELECTED_ROW_BGCOLOR_RGB) {
				row.style.color = g_selectedRowColor;
				row.style.backgroundColor = g_selectedRowBGColor;
			}
		}
	}
}

