/**
 * @author Dmitri Vassilev
 */

var ajax1;
var ajax2;
var ajax3;
var bldg = 0;
var bldg_id;
var bldg_id_selectedIndex;
var bldg_id_select;

function ie_giveLayout() {
	document.getElementById('submit').focus(); 
	scroll(0,0);
	return;
}
function validate( formid , error_containerid) {

	var i;
	var success = true;
	var errorhtml = "";
	var formobj = document.getElementById( formid );
	var errorobj = document.getElementById( error_containerid );
	var inputs = formobj.getElementsByTagName( "input" );
	var selects = formobj.getElementsByTagName( "select" );
	var textareas = formobj.getElementsByTagName( "textarea" );
	
	for (i = 0; i < inputs.length; i++) {  
		if (inputs[i].type == 'radio' && inputs[i].checked && inputs[i].value == '') {
			document.getElementById('radio_box').style.background="#F3F99D";
			document.getElementById('radio_box').style.border="1px solid #ccc";
			success = false;
			errorhtml += ("\n<p>The <strong>" + inputs[i].title + "</strong> field is required and has not been completed.</p>\n" );			
		}
		else if ((inputs[i].value == '') && inputs[i].id != 'dynsearch_input' && inputs[i].type != 'radio') { //OR for telephone field
			inputs[i].style.background="#F3F99D";
			success = false;
			errorhtml += ("\n<p>The <strong>" + inputs[i].title + "</strong> field is required and has not been completed.</p>\n" );
		}
		else {
			inputs[i].style.background="white";
			continue;
		}
	}

	for (i = 0; i < selects.length; i++) {  
		if (selects[i].selectedIndex == 0) {
			selects[i].style.background="#F3F99D";
			success = false;
			errorhtml += ("\n<p>The <strong>" + selects[i].title + "</strong> field is required and has not been completed.</p>\n" );
		}
		else {
			selects[i].style.background="white";
			bldg_id = selects[i].options[selects[i].selectedIndex].title; //sets var to equal its hidden bldg id in the title attr
			//bldg_id_selectedIndex = selects[i].selectedIndex;
			bldg_id_select = i;			
		}
	}
	
	for (i = 0; i < textareas.length; i++) {  
		if (textareas[i].value == ''){
			textareas[i].style.background="#F3F99D";
			success = false;
			errorhtml += ("\n<p>The <strong>" + textareas[i].title + "</strong> field is required and has not been completed.</p>\n" );
		}
		else {
			textareas[i].style.background="white";
		}
	}
	
	if (errorhtml != "" && success == false) {
		errorobj.innerHTML = "\n<p>The incomplete fields are <em>highlighted in yellow.</em>  Please complete the information before submitting the work request.</p>\n";
		errorobj.style.paddingBottom="0";
	}
	else {
		errorobj.innerHTML = "";
		errorobj.style.paddingBottom="0";
		selects[bldg_id_select].options[selects[bldg_id_select].selectedIndex].text = bldg_id;
		formobj.submit();
	}
	
	return;
		
}

function clearField(id) {
	var x = document.getElementById(id);
	x.style.border = "none";
	x.style.background = "white";
}
function hideSearch(inputField, resultField) {
	document.getElementById(inputField).value='';
	document.getElementById(resultField).innerHTML=''; 
	return;
}
function dynSearch(str) {

	if (str.length==0)
	 { 
	 document.getElementById("dynsearch_results").
	 innerHTML="";
	 document.getElementById("dynsearch_results").
	 style.border="0px";
	 return
	 }

	var url="scripts/dynsearch.php";
	var receptacle = "dynsearch_results";
	url=url+"?q="+str;
	url=url+"&sid="+Math.random();
	callAJAX(url, receptacle, '', '', ajax1);

}


function callAJAX(url, pageElement, callMessage, errorMessage, ajaxobj) {
	var height = document.getElementById(pageElement).scrollHeight;
	document.getElementById(pageElement).style.height="0px";
	//document.getElementById(pageElement).innerHTML = callMessage;
	try {
		ajaxobj = new XMLHttpRequest();
		/* e.g. Firefox */
	} catch (e) {
		try {
			ajaxobj = new ActiveXObject("Msxml2.XMLHTTP");
			/* some versions IE */
		} catch (e) {
			try {
				ajaxobj = new ActiveXObject("Microsoft.XMLHTTP");
				/* some versions IE */
			} catch (e) {
				ajaxobj = false;
			}
		}
	}
	if (ajaxobj) {
		ajaxobj.onreadystatechange
		= function() {responseAJAX(pageElement, errorMessage, ajaxobj);};
		ajaxobj.open("GET",url,true);
		ajaxobj.send(null);
	}
}

function updateBLDG(index) {
	document.getElementById("BLDG").selectedIndex = index;
	document.getElementById("BLDG").style.background = "white";
	return;
}

function responseAJAX(pageElement, errorMessage, ajaxobj) {
	if(ajaxobj.readyState == 4) {
		if(ajaxobj.status == 200) {
			output = ajaxobj.responseText;
			var obj = document.getElementById(pageElement);
			document.getElementById(pageElement).innerHTML
			= ajaxobj.responseText;
			document.getElementById(pageElement).style.height="0px";

			
		} else {
			document.getElementById(pageElement).innerHTML
			= errorMessage+"\n"+responseText;
		}
	}
}
