
/**
	* Znajduje pozycje elementu wzgledem strony.
	*/
function getPageCoords(element)
{
  var coords = {x : 0, y : 0};
  while (element)
	{
    coords.x += element.offsetLeft;
    coords.y += element.offsetTop;
    element = element.offsetParent;
  }
  return coords;
}


function systemImageMapMouseMoveOver(e, elementId, blnShowDescription)
{
	if (!e)
	{
		e = event;
	}

  dnd_intClickedClientX = (window.pageXOffset ? window.pageXOffset : document.body.scrollLeft) + e.clientX;
  dnd_intClickedClientY = (window.pageYOffset ? window.pageYOffset : document.body.scrollTop) + e.clientY;

	// Polozenie miejsca klikniecia wzgledem divSystemImage:
	clickedX = dnd_intClickedClientX - mainContainerCoords.x;
	clickedY = dnd_intClickedClientY - mainContainerCoords.y;

	if (blnShowDescription)
	{
		document.getElementById('systemElementDescription').style.left = clickedX + 10;
		document.getElementById('systemElementDescription').style.top = clickedY - 30;
	}
}

/**
	*
	*
	*
	* @param blnChangeImageOnly jesli true, wowczas nie zostana obliczone wspolrzedne
	*        klikniecia, a jedynie zostatnie zmieniony obrazek z czarnego na niebieski itp
	*        (tak jest przy najezdzaniu na liste elementow).
	*/
function systemImageMapMouseOver(ev, elementId, blnShowDescription, blnChangeImageOnly)
{
	if (!ev)
	{
		ev = event;
	}

	if (!blnChangeImageOnly)
	{
	  dnd_intClickedClientX = (window.pageXOffset ? window.pageXOffset : document.body.scrollLeft) + ev.clientX;
	  dnd_intClickedClientY = (window.pageYOffset ? window.pageYOffset : document.body.scrollTop) + ev.clientY;

		// Polozenie miejsca klikniecia wzgledem divSystemImage:
		clickedX = dnd_intClickedClientX - mainContainerCoords.x;
		clickedY = dnd_intClickedClientY - mainContainerCoords.y;

		// Pokazujemy opis.
		if (blnShowDescription)
		{
		  if (document.getElementById('systemElementDescription'))
		  {
				document.getElementById('systemElementDescription').style.left = clickedX + 10;
				document.getElementById('systemElementDescription').style.top = clickedY - 30;
				if ( arrSystemElementsDescr2[elementId] )
					document.getElementById('systemElementDescription').innerHTML = arrSystemElementsDescr2[elementId];
				else
					document.getElementById('systemElementDescription').innerHTML = arrSystemElementsDescr[elementId];
				document.getElementById('systemElementDescription').style.visibility = 'visible';
			}
			if (arrSystemElementsImage[elementId])
			{
				i = 300;
				document.getElementById('systemElementImage').innerHTML = '<img height="'+i+'" src="/upload/images/'+arrSystemElementsImage[elementId]+'" alt="" title="" style="position: relative; " />';
				document.getElementById('systemElementImage').style.visibility = 'visible';
			}
		}
	}

//	if (arrSystemElementsDescr[elementId] && arrSystemElementsDescr[elementId] != strNAString)
	if (arrSystemElementsDescr[elementId] )
	{
		// Zmieniamy obrazek na over.
		if (document.getElementById('element_' + elementId + '_over'))
		{
		  document.getElementById('element_' + elementId).style.visibility = 'hidden';
		  document.getElementById('element_' + elementId + '_over').style.visibility = 'visible';
		  document.getElementById('element_' + elementId + '_checked').style.visibility = 'hidden';
		}
	}
}///~ systemImageMapMouseOver()


function systemImageMapMouseOut(ev, elementId)
{
	if (!ev)
	{
		ev = event;
	}

	document.getElementById('systemElementDescription').style.visibility = 'hidden';
	document.getElementById('systemElementImage').style.visibility = 'hidden';

//	if (arrSystemElementsDescr[elementId] && arrSystemElementsDescr[elementId] != strNAString)
	if (arrSystemElementsDescr[elementId] )
	{
		if (window.document.forms.theForm['chkBox_' + elementId].checked)
		{
		  if (document.getElementById('element_' + elementId + '_over'))
		  {
			  document.getElementById('element_' + elementId).style.visibility = 'hidden';
			  document.getElementById('element_' + elementId + '_over').style.visibility = 'hidden';
			  document.getElementById('element_' + elementId + '_checked').style.visibility = 'visible';
			}
		}
		else
		{
		  if (document.getElementById('element_' + elementId + '_over'))
		  {
			  document.getElementById('element_' + elementId).style.visibility = 'visible';
			  document.getElementById('element_' + elementId + '_over').style.visibility = 'hidden';
			  document.getElementById('element_' + elementId + '_checked').style.visibility = 'hidden';
			}
		}
	}

	// Odswietlamy linie.
	if (document.getElementById('tr__' + elementId))
	{
	  if (arrSystemElementsBGColors[elementId])
	  {
	  	document.getElementById('tr__' + elementId).style.background = arrSystemElementsBGColors[elementId];
		}
	}
}///~ systemImageMapMouseOut()



function systemImageMapMouseClick(e, elementId, blnChangeCheckbox)
{
	if (arrSystemElementsDescr[elementId] && arrSystemElementsDescr[elementId] != strNAString)
	{
		if (blnChangeCheckbox && window.document.forms.theForm['chkBox_' + elementId])
		{
		  if (window.document.forms.theForm['chkBox_' + elementId].checked)
		  {
		  	window.document.forms.theForm['chkBox_' + elementId].checked = false;
		  	window.document.forms.theForm['txtQuantity_' + elementId].disabled = true;
			}
			else
			{
		  	window.document.forms.theForm['chkBox_' + elementId].checked = true;
		  	window.document.forms.theForm['txtQuantity_' + elementId].disabled = false;
			}
			uptadeSummaryPrice();
		}
	}
	if (arrSystemElementsDescr[elementId] && arrSystemElementsDescr[elementId] != strNAString)
		systemImageMapMouseOut(e, elementId);
}

/**
	* Obsluguje klikniecie w element ukladu.
	*/
function handleSystemElementClick(e)
{
	if (!e)
	{
		e = event;
	}

  dnd_intClickedClientX = (window.pageXOffset ? window.pageXOffset : document.body.scrollLeft) + e.clientX;
  dnd_intClickedClientY = (window.pageYOffset ? window.pageYOffset : document.body.scrollTop) + e.clientY;

	// Polozenie miejsca klikniecia wzgledem divSystemImage:
	clickedX = dnd_intClickedClientX - mainContainerCoords.x;
	clickedY = dnd_intClickedClientY - mainContainerCoords.y;
	
}///~ handleSystemElementClick()

/**
	* Zaznacza wszystkie tlumiki i elementy ukladu.
	*/
function systemCheckAll()
{
	for (intProductID in arrSystemElementsDescr)
	{
		//alert(intProductID);
		if (window.document.forms.theForm['chkBox_' + intProductID])
		{
	  	window.document.forms.theForm['chkBox_' + intProductID].checked = true;
	  	window.document.forms.theForm['txtQuantity_' + intProductID].disabled = false;
	  	systemImageMapMouseClick(event, intProductID, false);
		}
	}
}///~ systemCheckAll()

var mainContainerCoords = null;
var arrSystemElementsBGColors = new Array();
function calculateMainContainerCoords()
{
  dnd_divMainContainer = document.getElementById('divSystemImage');
	mainContainerCoords = getPageCoords(dnd_divMainContainer);
}

