/* --------------------- Utility functions --------------------------------------------------------------------------------------*/
function newWindow(theLink){
    var theURL = theLink.href;
	pdfWindow=window.open(theURL, 'newWin', 'width=700, height=500, menubar=yes, toolbar=yes, location=yes, resizable=yes');
}

function getCSSProp (myElement, prop) {
    var realStyle = null;
    if(myElement.currentStyle){
        realStyle = myElement.currentStyle[prop];
    } else if (document.defaultView && document.defaultView.getComputedStyle) {
	    prop = prop.replace(/([A-Z])/g,"-$1");
	    prop = prop.toLowerCase();
	    return document.defaultView.getComputedStyle(myElement,null).getPropertyValue(prop);
    }
    if(realStyle == "auto"){
        realStyle = myElement.offsetHeight;
    }
    return realStyle;
}

function setKeywordField(mode) {
	// mode values must be one of: set, clear, or reset
	// set is to check the value on page load
	// clear is to clear the default value when someone clicks on the field
	// reset is to fill in the default value when someone clicks off the field
	
	
	var key = document.getElementById("email");
	var defaultText = key.title;
	switch(mode) {
		case 'set':
			if(key.value == '') {
				key.value = defaultText;
				key.setAttribute('class', 'blurred');
			}					
			break;
			
		case 'clear':
			if(key.value == defaultText) {
				key.value = '';
				key.setAttribute('class', 'sharpened');
			}			
			break;
			
		case 'reset':
			if(key.value == '') {
				key.value = defaultText;
				key.setAttribute('class', 'blurred');
			}			
			break;
			
		default:
			break;
	}
	
}





/* 
1. Hide the tr#facility_use_description node
2. On change of #DDLFacilityUse check value
	a. hide it if value = "Photography" or "Videography" or "Select facility use"
	b. show it if value = anything else
*/


function toggleShowHide(){
	var thisSwitch = document.getElementById("DDLFacilityUse");
	var thisTarget = document.getElementById("facility_use_description");
	if(thisSwitch.value == 'Photography' || thisSwitch.value == 'Videography' || thisSwitch.value == 'Select facility use'){
			//thisTarget.className.replace(/hide/g,' ');
			//thisTarget.className += ' hide';
			
			// Commented out preceeding lines because the .replace wasn't working
			
			thisTarget.className = 'hide';
	} else {		
			//thisTarget.className.replace(/hide/g,' ');
			thisTarget.className = '';
	}
	//alert(thisTarget.className);
	return true;
}









/* --------------------- Ajax functions (implementation presented by Jeremy Keith in "Bulletproof Ajax") ------------*/

// Provides abstraction for xml object
function getHTTPObject(){
	var xhr = false;
	if(window.XMLHttpRequest){
		xhr = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		try{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				xhr = false;
			}
		}
	}
	return xhr;
}

// Determines when response is ready
function displayResponse(request){
	if(request.readyState == 4){
		if(request.status == 200 || request.status == 304){
			return true;
		}
	}
}

// Initiates request (example denotes a GET request, but it's easy to implement a POST request)
function submitRequest(file){
	var request = getHTTPObject();
	if(request){
		request.onreadystatechange = function(){
			displayResponse(request);
		};
		request.open("GET", file, true);
		request.send(null);
	}
}

/* --------------------- WireUp functions -----------------------------------------------------------------------------------------*/
function wireNewWindows(){
	if(document.getElementsByTagName){
		var theAnchorLinks = document.getElementsByTagName("a");
		for(var i = 0; i<theAnchorLinks.length; i++){
			var theCurrentNode = theAnchorLinks[i];
			if(theCurrentNode.className.indexOf("new_window") != -1){
				theCurrentNode.onclick = function(){
					newWindow(this);
					return false;
				}
			}
		}
	}else{
		return false;
	}
}

/* --------------------- Set up functions -----------------------------------------------------------------------------------------*/
function setUp(){
	//add events
	wireNewWindows();
	setKeywordField("set");
	
	var emailnode = document.getElementById("email");
	emailnode.onblur = function(){
		setKeywordField("reset");
	}
	emailnode.onfocus = function(){
		setKeywordField("clear");
	}
	
	if(document.getElementById("DDLFacilityUse")) {
		var x = document.getElementById("DDLFacilityUse");
		var z = document.getElementById("facility_use_description");
		z.className += ' hide';
		x.onchange = function(){
			toggleShowHide();
		}
	}
}

