window.onload = init;

function init() {

	setFocus('inpUsername');
	handlePopupLinks('hasDOMPopups');

} // function init


function handlePopupLinks(theId) {
	
	if(document.getElementById(theId)) {
		var trArray = document.getElementsByTagName('TR');
		for (var i=0; i < trArray.length; i++) {
			if((trArray[i].className.indexOf('popupLink') > -1)) {
				trArray[i].onclick = openPopupLink;
				trArray[i].style.cursor = 'pointer';
			}
		}
		var popupBlock = document.getElementById('hasDOMPopups');
		var popupArray = popupBlock.getElementsByTagName('DIV');
		for (var i=0; i < popupArray.length; i++) {
			if((popupArray[i].className.indexOf('popup') > -1)) {
				var linkArray = popupArray[i].getElementsByTagName('A');
				for (var j=0; j < linkArray.length; j++) {
					if((linkArray[j].className.indexOf('toHide') > -1)) {
						linkArray[j].onclick = closePopupLink;
						linkArray[j].style.cursor = 'pointer';
					}
				}
			}
		}
	}
		
} // function handlePopupLinks


function openPopupLink() {
		
		var popupBlock = document.getElementById('hasDOMPopups');
		var popupArray = popupBlock.getElementsByTagName('DIV');
		for (var i=0; i < popupArray.length; i++) {
			if((popupArray[i].className.indexOf('popup') > -1) && (popupArray[i].className.indexOf('hidden') < 0)) {
				// erst mal alle Popups schließen
				popupArray[i].className = popupArray[i].className + ' hidden';
			}
		}

		var theId = this.id.substring(this.id.indexOf('_') + 1, this.id.length);
		var popupId = 'popup_' + theId;
		var popupElement = document.getElementById(popupId);
		popupElement.className = popupElement.className.replace(/hidden/gi, '');
		
		//Externen Bosch-Kopf ausblenden
		var extBoschHeader = document.getElementById('externalBoschHeader');
		extBoschHeader.className = 'hidden';
		
		//Seiteninhalte vom Opener ausblenden
		var mainContent = document.getElementById('pageMain');
		mainContent.className = 'hidden';
		
} // function openPopupLink


function closePopupLink() {
	
	var theId = this.id.substring(this.id.indexOf('_') + 1, this.id.length);
	var popupId = 'popup_' + theId;
	var popupElement = document.getElementById(popupId);
	popupElement.className = popupElement.className + ' hidden';
	
	//Externen Bosch-Kopf einblenden
		var extBoschHeader = document.getElementById('externalBoschHeader');
		extBoschHeader.className = extBoschHeader.className.replace(/hidden/gi, '');
		
		//Seiteninhalte vom Opener einblenden
		var mainContent = document.getElementById('pageMain');
		mainContent.className = mainContent.className.replace(/hidden/gi, '');
	
} // function closePopupLink


function setFocus(theId) {
	
	if(document.getElementById(theId)) {
		focusedElement = document.getElementById(theId);
		focusedElement.focus();
	}
	
} // function setFocus()


function buildHoverEffect(theNaviID) {

	var pArray = document.getElementsByTagName('P');
	for (var i=0; i < pArray.length; i++) {
		var isMainNavi = determineIfMainNavi(pArray[i], theNaviID);
		if(isMainNavi) {
			pArray[i].onmouseover = paintHover;
			pArray[i].onmouseout = clearHover;
		}
	}
	
} // function buildHoverEffect


function determineIfMainNavi(theObject, theNaviID) {
	
	var theParentNode = theObject.parentNode;
	
	if(theParentNode.nodeName == 'DIV') {
		if(theParentNode.id == theNaviID) {
			return true;
		} else {
			return false;
		}
	} else {
		return determineIfMainNavi(theParentNode, theNaviID);
	}
	
} // function determineIfMainNavi


function paintHover() {
	
	this.className = this.className + ' hovered';
	
} // function paintHover


function clearHover() {
	
	this.className = this.className.replace(/hovered/gi, '');
	
} // function clearHover

/*function showProgressBar() {

	var pageContent = document.getElementById('pageContent');
	pageContent.style.display = 'none';		

	var idProgressBar = document.getElementById('idProgressBar');
	idProgressBar.style.display = 'block';	
	
	window.setTimeout("document.getElementById('idProgressAnim').src = 'neutral/layout/loading.gif?1';", 50);
	
	return true;	
} // function showProgressBar
*/

function showProgressBarAtSearch() {
	
	var pageContent = document.getElementById('tdContent');
	pageContent.style.display = 'none';		

	var pageSearch = document.getElementById('tdSearch');
	pageSearch.style.display = 'block';	
	
	window.setTimeout("document.getElementById('idProgressAnim').src = 'neutral/layout/loading.gif?1';", 50);
	
	return true;	
} // function showProgressBarAtSearch

function showProgressBarAtSearchByClick(keyIE, keyFirefox) {

	if(keyIE == 13 || keyFirefox == 13) {
		
		var pageContent = document.getElementById('tdContent');
		pageContent.style.display = 'none';		
	
		var pageSearch = document.getElementById('tdSearch');
		pageSearch.style.display = 'block';	
		
		window.setTimeout("document.getElementById('idProgressAnim').src = 'neutral/layout/loading.gif?1';", 50);		
	}

	return true;	
} // function showProgressBarAtSearch

function addBasketPosition(prodId) {
    var basketPosForm = document.getElementById("basketPositionForm");
    document.getElementById("prod_id").value = prodId;
    document.getElementById("units").value = document.getElementById(prodId).value;
    basketPosForm.submit();
}


function addBasketPositionOnEnter(event, prodId)
{
  if (event)
  {
    var key;
    if (event.which) {
      key = event.which;
    } else if (event.keyCode) {
      key = event.keyCode;
    }
    if (key == 13) {
      addBasketPosition(prodId);
    }
  }
}

function removeBasketPosition(prodId){

    var basketPosForm = document.getElementById("basketPositionForm");
    document.getElementById("basket_action").value = "removePosition";
    document.getElementById("prod_id").value = prodId;
    basketPosForm.submit();
} 

function updateUnitsOfBasketPositionOnEnter(event, prodId)
{
  if (event)
  {
    var key;
    if (event.which) {
      key = event.which;
    } else if (event.keyCode) {
      key = event.keyCode;
    }
    if (key == 13) {
      updateUnitsOfBasketPosition(prodId);
    }
  }
}

function updateUnitsOfBasketPosition(prodId) {
    
    var basketPosForm = document.getElementById("basketPositionForm");
    document.getElementById("basket_action").value = "updateUnits";
    document.getElementById("prod_id").value = prodId;
    document.getElementById("units").value = document.getElementById(prodId).value;
    basketPosForm.submit();
}
