/** Anja Lohfing
 * 
 *  hiddenAnchor Script v1.1 
 * 
 * */
var hiddenAnchorId = "hiddenAnchor";
var hiddenAnchor;

if(window.attachEvent)
	window.attachEvent('onload', triggerHiddenAnchor);
else
	window.addEventListener ('load', triggerHiddenAnchor , false);
		
function triggerHiddenAnchor() {
	hiddenAnchor = document.getElementById(hiddenAnchorId);
	if(hiddenAnchor) {
		// trigger jump
		if(hiddenAnchor.value)
			window.location.hash = "#" + hiddenAnchor.value;	
		
		// id form
		var form;
		for(var i = 0; i < document.forms.length; i++)
			if(document.forms[i].elements[hiddenAnchorId]) {
				form = document.forms[i];
				break;
			}
		
		// append reseter
		var buttonTypes = new Array("input", "button");
		for(var i in buttonTypes) {
			var submitButtons = form.getElementsByTagName(buttonTypes[i]);
			for(var j in submitButtons)
				if(submitButtons[j].type)
					if(submitButtons[j].type.toLowerCase() == "submit" || submitButtons[j].type.toLowerCase() == "image")
						if(submitButtons[j].getAttribute("onclick") != undefined) {
							if(("" + submitButtons[j].getAttribute("onclick")).search(/setHiddenAnchor/) == -1)
								addResetHiddenAnchorHandler(submitButtons[j]);
						} else
							addResetHiddenAnchorHandler(submitButtons[j]);
		}
	}
}

function addResetHiddenAnchorHandler(element) {
	if(element.attachEvent)
		element.attachEvent('onclick', resetHiddenAnchor);
	else
		element.addEventListener ('click', resetHiddenAnchor , false);
}
		
function setHiddenAnchor(anchor) {
	hiddenAnchor.value = anchor;
}
function resetHiddenAnchor() {
	hiddenAnchor.value = "";
}

function addHandlerToTriggerHiddenAnchor(id, anchor) {
	var element = document.getElementById(id);		
	if(element) {
		element.setAttribute("onclick", "setHiddenAnchor('" + anchor + "');");
		element.onclick = new Function("setHiddenAnchor('" + anchor + "');"); 
	}
}
