// JavaScript Document

	hasURLParam = checkURLForExistenceOfParam('h0');
	if(hasURLParam == true){
		h0 = getURLParam('h0');
		h1 = getURLParam('h1');
		h2 = getURLParam('h2');
		sunet = getURLParam('sunet');
		email = getURLParam('email');
		fname = getURLParam('fname');
		lname = getURLParam('lname');
		phone = getURLParam('phone');
		
		if(h0==0) {
			var optn = document.createElement("OPTION");
			optn.text = "Website project or issue (Pre-selected)";
			optn.value = "Website project or issue";
			var functionString0 = "document.webHelpForm.elements['HLType'].options.add(optn);";
			setTimeout(functionString0, 1000);
			
			if(h1==0){
				functionString = "showHideForm('Website project or issue');";
				setTimeout(functionString ,1000);  
				}
			if(h1==1){
				functionString = "showHideMenu('troubleshoot');document.webHelpForm.elements['webhelp_request_type'].value='troubleshoot';";
				setTimeout(functionString ,1000);  
				var menuItem=new Object();
				menuItem.id="problems_with";
				menuItem.value = h2;
				functionString2 = "showHideForm(menuItem);document.webHelpForm.elements[menuItem.id].value=h2;";
				setTimeout(functionString2 ,1000);			
				}
	
			if(h1==2){
				functionString = "showHideMenu('new_service');document.webHelpForm.elements['webhelp_request_type'].value='new_service';";
				setTimeout(functionString ,1000);  
				var menuItem=new Object();
				menuItem = h2;
				//menuItem.id='new_service';
				//menuItem.value = h2;
				functionString2 = "showHideForm(menuItem);document.webHelpForm.elements['new_service'].value=h2;";
				setTimeout(functionString2 ,1000);			
				}
			if(h1==3){
				functionString = "showHideMenu('access');document.webHelpForm.elements['webhelp_request_type'].value='access';";
				setTimeout(functionString ,1000);  
				var menuItem=new Object();
				menuItem = h2;
				functionString2 = "showHideForm(menuItem);document.webHelpForm.elements['access_to'].value=h2;";
				setTimeout(functionString2 ,1000);			
				}
			if(h1==4){
				functionString = "showHideMenu('info');document.webHelpForm.elements['webhelp_request_type'].value='info';";
				setTimeout(functionString ,1000);  
				var menuItem=new Object();
				menuItem = h2;
				functionString2 = "showHideForm(menuItem);document.webHelpForm.elements['info_about'].value=h2;";
				setTimeout(functionString2 ,1000);			
				}
			if(h1==5){
				functionString = "showHideMenu('other_help');document.webHelpForm.elements['webhelp_request_type'].value='other_help';";
				setTimeout(functionString ,1000);  
				}
		}
		else if(h0==1) {
			var pcat_exists = false;
			for (var i in pcats) {
				if (h1 == pcats[i][0]) pcat_exists = true;
			}
			
			if (pcat_exists) {
				var optn = document.createElement("OPTION");
				
				for (var pcat in pcats) {
					if (h1 == pcats[pcat][0]) {
						optn.text = pcats[pcat][2] + " (Pre-selected)";
						break;
					}
				}
				
				optn.value = h1;
				var functionString = "document.webHelpForm.elements['HLType'].options.add(optn);";
				setTimeout(functionString, 1000);
				
				var functionString2 = "setPCAT('', h1); hideForms(); document.getElementById('irt_div').style.display = 'block'; document.getElementById('submit_div').style.display = 'block';";
				setTimeout(functionString2, 1000);
			}
			else {
				var functionString3 = "makeRequestMenu();";
				setTimeout(functionString3, 1000);
			}
		}
		else if(h0==2) {
			var functionString = "document.webHelpForm.elements['sunetid'].value = sunet;document.webHelpForm.elements['email'].value = email;document.webHelpForm.elements['firstname'].value = fname;document.webHelpForm.elements['lastname'].value = lname;document.webHelpForm.elements['phone'].value = phone;makeRequestMenu();";
			setTimeout(functionString, 1000);
		}
		else {
			var functionString = "makeRequestMenu();";
			setTimeout(functionString, 1000);
		}
	}
	else {
		var functionString = "makeRequestMenu();";
		setTimeout(functionString, 1000);
	}
	


function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("&") > -1 ){
	if (strParamName == "h0") {
		var strQueryString = strHref.substr(strHref.indexOf("?"), strHref.indexOf("&") - strHref.indexOf("?")).toLowerCase();
		var aQueryString = strQueryString.split("=");
		return aQueryString[1];
	}
	else {
		var strQueryString = strHref.substr(strHref.indexOf("&")).toLowerCase();
		var aQueryString = strQueryString.split("&");
		for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
		  if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
			var aParam = aQueryString[iParam].split("=");
			strReturn = aParam[1];
			break;
		  }
		}
    }
  }
  return strReturn;
}


function checkURLForExistenceOfParam(strParamName){
  var strHref = window.location.href;
  if ( strHref.indexOf(strParamName) > -1 ){
  	return true;
	}
	return false;
}


function makeRequestMenu() {
	var optn = document.createElement("OPTION");
	optn.text = "Select Issue Type...";
	optn.value = "None";
	document.webHelpForm.elements["HLType"].options.add(optn);
	for (var i in request_types) {
		var optn = document.createElement("OPTION");
		optn.text = request_types[i][0];
		optn.value = request_types[i][0];
		document.webHelpForm.elements["HLType"].options.add(optn);
	}
}







var http_request = false;
function makePOSTRequest(url, parameters) {
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
		// set type accordingly to anticipated content type
		//http_request.overrideMimeType('text/xml');
		http_request.overrideMimeType('text/html');
	 }
  } else if (window.ActiveXObject) { // IE
	 try {
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
		try {
		   http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	 }
  }
  if (!http_request) {
	 alert('Cannot create XMLHTTP instance');
	 return false;
  }
  
  http_request.onreadystatechange = alertContents;
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}

function alertContents() {
  if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
		//alert(http_request.responseText);
		result = http_request.responseText;
		document.getElementById('myspan').innerHTML = result;            
	 } else {
		alert('There was a problem with the request.');
	 }
  }
}

function get() {
  makePOSTRequest('get_info.php', "");
}







function checkme()
{
 if(document.webHelpForm.email.value == '' || document.webHelpForm.elements["firstname"].value == '' || document.webHelpForm.elements["lastname"].value == '' || document.webHelpForm.elements["phone"].value == '' || document.webHelpForm.elements["location"].value == '' || document.webHelpForm.elements["user_department"].selectedIndex == 0)
 {
    alert("The following fields are required: \n\n-- Email\n-- Name\n-- Phone\n-- Department\n-- Location\n-- Affiliation");
    document.webHelpForm.email.focus();
    return false;
 }  

if(document.webHelpForm.webhelp_request_type[2].checked == true) {
	if (document.webHelpForm.elements['access_to'].selectedIndex == 1) {
		if (document.webHelpForm.access_agreement.checked != true) {
			alert("You must read and agree to IRT's Hosting Requirements and User Agreement before submitting an access request.");
			return false;
		}
	}
}
			

 function test(src) {
  var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
  return regex.test(src);
 }

 if(!(test(document.webHelpForm.email.value)))
 {
    alert("Please use correct Email format (i.e. example@domain.com)")
    document.webHelpForm.email.focus();
    return false;
 }

 document.webHelpForm.phone.value = document.webHelpForm.phone.value.replace(/\D/g,"")
}

function showHideMenu(button) {

	radioRestore(button);
	resetDropDowns()
	hideForms();

  	for(var i in infoDivs){
		document.getElementById(infoDivs[i]).style.display = "none";
	}
	
	var divContent;
	if(button=="info") divContent = "info_menu_div";
	else if(button=="new_service") divContent = "new_menu_div";
	else if(button=="access") divContent = "access_menu_div";
	else if(button=="troubleshoot") divContent = "trouble_menu_div";
	else if(button=="other_help") {
		divContent = "gen_form_div";
		document.getElementById("submit_div").style.display = "block";
  	}
  	document.getElementById("webhelp_div").style.display = "block";
  	document.getElementById(divContent).style.display = "block";
}


function showHideForm(menuItem) {
		
	var divContent;

	
	hideForms();
	
	if (menuItem.value!=" " && menuItem!=" ") {

		var divContent = "";
		
		for(var i in request_types){
			if (menuItem == request_types[i][0] && menuItem != "Website project or issue") {
				divContent = "irt_div";
				setPCAT(menuItem, '');
			}
		}
		if (divContent != "") {
			// Do nothing	
		}
		else if (menuItem == "Website project or issue") {
			clearText();
			document.getElementById("webhelp_div").style.display = "block";
			return;
		}
		else {
			document.getElementById("webhelp_div").style.display = "block";
			for(var i in menuItemsInfo){
				if(menuItem==menuItemsInfo[i]){
					document.getElementById(formDivsInfo[i]).style.display = "block";
					document.getElementById("submit_div").style.display = "none";
					return;
				}
			}
	
			for(var i in menuItems){
				if(menuItem==menuItems[i]) divContent = formDivs[i];
			}
			if(menuItem=="new_video") document.getElementById("gen_form_div").style.display = "block";
	
			for(var i in menuItemsGen)
				if((menuItem.id=="problems_with" && menuItem.value!=" ") || menuItem==menuItemsGen[i]) divContent = "gen_form_div";
	
	
			if(menuItem== null) {
				document.getElementById("sitereview_info_form_div").style.display = "block";
				document.getElementById("submit_div").style.display = "none";
			}
		}
		document.getElementById(divContent).style.display = "block";
		document.getElementById("submit_div").style.display = "block";
	}
}

function hideForms() {

	for(var i in formDivsInfo) document.getElementById(formDivsInfo[i]).style.display = "none";
	for(var i in formDivs) document.getElementById(formDivs[i]).style.display = "none";

	document.getElementById("irt_div").style.display = "none";
	document.getElementById("webhelp_div").style.display = "none";
	document.getElementById("gen_form_div").style.display = "none";
	document.getElementById("submit_div").style.display = "none";
}

function resetDropDowns() {
	
	document.webHelpForm.elements['problems_with'].selectedIndex = 0;
	document.webHelpForm.elements['new_service'].selectedIndex = 0;
	document.webHelpForm.elements['access_to'].selectedIndex = 0;
	document.webHelpForm.elements['info_about'].slectedIndex = 0;
}


function clearText() {
		
	var FName = document.webHelpForm.elements["firstname"].value;
	var LName = document.webHelpForm.elements["lastname"].value;
	var Email = document.webHelpForm.elements["email"].value;
	var SUNet = document.webHelpForm.elements["sunetid"].value;
	var Phone = document.webHelpForm.elements["phone"].value;
	var Dept = document.webHelpForm.elements["user_department"].selectedIndex;
	var Loc = document.webHelpForm.elements["location"].value;
	var Affil = document.webHelpForm.elements["affiliation"].selectedIndex;
	var HL = document.webHelpForm.elements["HLType"].selectedIndex;

	document.webHelpForm.reset();
	
	document.webHelpForm.elements["firstname"].value = FName;
	document.webHelpForm.elements["lastname"].value = LName;
	document.webHelpForm.elements["email"].value = Email;
	document.webHelpForm.elements["sunetid"].value = SUNet;
	document.webHelpForm.elements["phone"].value = Phone;
	document.webHelpForm.elements["user_department"].selectedIndex = Dept;
	document.webHelpForm.elements["location"].value = Loc;
	document.webHelpForm.elements["affiliation"].selectedIndex = Affil;
	document.webHelpForm.elements["HLType"].selectedIndex = HL;
}

function radioRestore(radioSelection) {

	clearText();
	restoreRadios(radioSelection);
}

function dropDownRestore(dropdown, selected) {
	
	clearText();
	document.webHelpForm.elements[dropdown.id].selectedIndex = selected;
	restoreRadios(dropdown.id);
}

function restoreRadios(selection) {
		if (selection == "troubleshoot" || selection == "problems_with")
			document.webHelpForm.webhelp_request_type[0].checked = true;
		if (selection == "new_service")
			document.webHelpForm.webhelp_request_type[1].checked = true;
		if (selection == "access" || selection == "access_to")
			document.webHelpForm.webhelp_request_type[2].checked = true;
		if (selection == "info" || selection == "info_about")
			document.webHelpForm.webhelp_request_type[3].checked = true;
		if (selection == "other_help")
			document.webHelpForm.webhelp_request_type[4].checked = true;
}

function setPCAT(ddl_item, url_pcat) {
	for (var i in request_types) {
		if (ddl_item == request_types[i][0] || url_pcat == request_types[i][1]) {
			var pcat = request_types[i][1];
			for (var j in pcats) {
				if (pcat == pcats[j][0]) {
					document.webHelpForm.elements["Request_Category"].value = pcats[j][1];
					document.webHelpForm.elements["Request_Type"].value = pcats[j][2];
				}
			}
		}
	}
}


function clearBeforeSubmission() {

	for(i=0; i<document.webHelpForm.elements.length; i++)
	{	
		if (document.webHelpForm.elements[i].value == "http://") {
			document.webHelpForm.elements[i].value = "";
		}
	}

	if (document.webHelpForm.elements["access_to"].selectedIndex == 0)
		document.webHelpForm.access_to[0].value = "";
	if (document.webHelpForm.elements["info_about"].selectedIndex == 0)
		document.webHelpForm.info_about[0].value = "";
	if (document.webHelpForm.elements["new_service"].selectedIndex == 0)
		document.webHelpForm.new_service[0].value = "";
	if (document.webHelpForm.elements["problems_with"].selectedIndex == 0)
		document.webHelpForm.problems_with[0].value = "";
}

function setFormFields() {
	var elm = document.webHelpForm.elements['HLType']
	var ddl_val = elm.options[elm.selectedIndex].value;
	var pcat = elm.options[elm.selectedIndex].value;
	var irt_web = false;
	
	for (var i in request_types) {
		if (ddl_val == request_types[i][0] && ddl_val != "Website project or issue") {
			pcat = request_types[i][1];
		}
	}

//	for (var i in pcats) {
//		if (pcat == pcats[i][0]) {
//			if (pcats[i][3] == 1) {
//				document.webHelpForm.elements["department"].value = "Stanford Medicine";
//			}
//			else {
				var elm = document.webHelpForm.elements["user_department"];
				document.webHelpForm.elements["department"].value = elm.options[elm.selectedIndex].value;
//			}
//		}
//	}

	if (ddl_val == "Website project or issue") {
		irt_web = true;
	}
	
	if (!irt_web) {
		document.webHelpForm.elements["print_config"].value = "";
		document.webHelpForm.elements["subject"].value = "";
		document.webHelpForm.elements["redirect"].value = "";
		document.webHelpForm.elements["recipient"].value = "";
		document.webHelpForm.elements["env_report"].value = "";
		
		document.webHelpForm.action = 'https://remedyweb.stanford.edu/helpsu/helpsu';
	}
	else {
		var elm = document.webHelpForm.elements["user_department"];
		elm.options[elm.selectedIndex].value;
		
		document.webHelpForm.elements["Request_Category"].value = "";
		document.webHelpForm.elements["Request_Type"].value = "";
		document.webHelpForm.elements["form_submit"].value = "";
		document.webHelpForm.elements["OperatingSystem"].selectedIndex = 0;
		
		document.webHelpForm.action = 'http://med.stanford.edu/cgi-bin/formmail.pl';
		
		var requestedService = " ";
		if (document.webHelpForm.elements["access_to"].selectedIndex != 0)
			requestedService = " - " + document.webHelpForm.access_to[document.webHelpForm.elements["access_to"].selectedIndex].value.toString();
		if (document.webHelpForm.elements["info_about"].selectedIndex != 0)
			requestedService = " - " + document.webHelpForm.info_about[document.webHelpForm.elements["info_about"].selectedIndex].value.toString();
		if (document.webHelpForm.elements["new_service"].selectedIndex != 0)
			requestedService = " - " + document.webHelpForm.new_service[document.webHelpForm.elements["new_service"].selectedIndex].value.toString();
		if (document.webHelpForm.elements["problems_with"].selectedIndex != 0)
			requestedService = " - " + document.webHelpForm.problems_with[document.webHelpForm.elements["problems_with"].selectedIndex].value.toString();
		
		requestedService = requestedService.replace(/_/g," ");
		document.webHelpForm.elements["subject"].value = document.webHelpForm.elements["email"].value.toString() + requestedService;
	}
}


function openWin(URL) {
	aWindow = window.open(URL, 'thewindow','width=750,height=500,location=yes,toolbar=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes,screenX=20,screenY=20,top=20,left=20');
}
