var inputsManager = new function() {
	this.myInputs = new Array();
	
	this.init = function() {
		//check all inputs for the 'clear' class and set events
		inputs = document.getElementsByTagName("input");
		var match = /clear/;
		for(var i=0;i<inputs.length;i++){
			if(match.test(inputs[i].className)) {
				//found a matching class
				//register it to the inputs array
				inputsManager.myInputs[inputs[i].id] = inputs[i].value;
				inputs[i].onclick = inputsManager.clearInputs;
			}
		}		
		//render custom buttons
		inputsManager.renderButtons();
	}
	
	this.renderButtons = function() {
		//find all the anchors with button class on them
		var btns = document.getElementsByTagName("a");
		var match = /button/;
		
		//ok a button needs to look like this		
/*		<div class="button">
			<div class="button_top"><div class="top_left"></div><div class="top_right"></div></div><div
			class="button_content">[ BUTTON CONTENT ]<div
			class="button_content_end"></div></div><div class="button_bottom"><div
			class="bottom_left"></div><div class="bottom_right"></div></div>
		</div>
*/		
		
		for(var i=0;i<btns.length;i++){
			if(match.test(btns[i].className)) {
				//capture the existing button into a variable
				var existingBtn = btns[i].parentNode;
				var btnWidth; //the button width
				
				var btnClass = btns[i].className.split(" ");
				for(var j=0;j<btnClass.length;j++){
					//test to see if this is a number
					if(btnClass[j]>1) {
						btnWidth = btnClass[j] + "em";
					}
				}			
				var newBtn = inputsManager.createButton(existingBtn,btnWidth);
				//swap the new button for the old one
				existingBtn.parentNode.replaceChild(newBtn,existingBtn);				
			}
		}
	}

	this.createButton = function(existingBtn,width) {
		//create the button
		var button = document.createElement(existingBtn.tagName);
		button.id = existingBtn.id;
		button.className = existingBtn.className;
		button.style.width = width;
		button.onmouseover = inputsManager.mouseIn;
		button.onmouseout = inputsManager.mouseOut;
		button.onclick = inputsManager.visitLocation;
		
		var buttonContent = document.createElement("div");
		buttonContent.className = "button_content";

		//insert the existing button
		buttonContent.innerHTML = existingBtn.innerHTML;
				
		var buttonContentEnd = document.createElement("div");
		buttonContentEnd.className = "button_content_end";
		
		//append the content stopper
		buttonContent.appendChild(buttonContentEnd);
				
		//create the button top
		var buttonTop = document.createElement("div");
		buttonTop.className = "button_top";
		
		//create the top left button
		var buttonTopLeft = document.createElement("div");
		buttonTopLeft.className = "top_left";
		buttonTop.appendChild(buttonTopLeft);
		
		//create the top right button
		var buttonTopRight = document.createElement("div");
		buttonTopRight.className = "top_right";
		buttonTop.appendChild(buttonTopRight);
		
		button.appendChild(buttonTop);
		button.appendChild(buttonContent);
		
		//create the button bottom
		var buttonBottom = document.createElement("div");
		buttonBottom.className = "button_bottom";
		
		//create the bottom left
		var buttonBottomLeft = document.createElement("div");
		buttonBottomLeft.className = "bottom_left";
		buttonBottom.appendChild(buttonBottomLeft);
		
		//create the bottom right
		var buttonBottomRight = document.createElement("div");
		buttonBottomRight.className = "bottom_right";
		buttonBottom.appendChild(buttonBottomRight);
		
		button.appendChild(buttonBottom);
		
		return button;
	}
	
	this.mouseIn = function() {
		this.className = this.className + " hover";
	}
	
	this.mouseOut = function() {
		var theClass = this.className.split(" ");
		var newClass = "";
		for(var i=0;i<theClass.length;i++) {
			if(theClass[i] != "hover") {
				newClass = newClass + " " + theClass[i];
			}
		}		
		this.className = newClass;
	}
	
	this.visitLocation = function() {
		//this just takes the link in the button and extends
		//it to the entire button
		var link = this.getElementsByTagName("a");
		
		//check to see if there is an onclick event, if there is
		//fire it, if not just visit the href of the link
		if(link[0].onclick) {
			link[0].onclick.call(link[0]);			
		} else {
			window.location = link[0].href;
		}
	}
	
	this.clearInputs = function() {
		//check inputs array for the input
		for(var val in inputsManager.myInputs) {
			if(val == this.id) {
				//found
				if(inputsManager.myInputs[val] == this.value) {
					this.value="";
				}
			}
		}
	}
} //end inputsManager

Event.addEvent(window,"load",inputsManager.init)
