﻿function getFieldHelp() 
{
	// get help helper section
	return document.getElementById("field_help");
}


function clearFieldHelp() 
{
	// verify there isn't a child
	var help_section = getFieldHelp();
	while (null != help_section.firstChild) 
	{
		help_section.removeChild(help_section.firstChild);
	}
}


function addHandlers(inputs) 
{
	for (var i=0; i<inputs.length; i++) 
	{
		// add onfocus handler
		inputs[i].onfocus = function() 
		{
			// get help helper section and clear it
			var help_section = getFieldHelp();
			clearFieldHelp();
			
			// compute help text
			var regexp_phone_time = /phone(\d)Start || phone(\d)Stop/;
			var help_text = "";
			
			var lowerName = this.name.toLowerCase();
			if (lowerName.indexOf("companyname") >= 0) 
			{
				help_text = "<p>Hvis du anmelder for et firma kan du indtaste firmanavnet her.<p>";
			} 
			else if (lowerName.indexOf("firstname") >= 0)
			{
				help_text = "<p>Indtast fornavnet på kontaktpersonen for anmeldelsen.</p>";
			} 
			else if (lowerName.indexOf("lastname") >= 0)
			{
				help_text = "<p>Indtast efternavnet på kontaktpersonen for anmeldelsen.</p>";
			} 
			else if (lowerName.indexOf("phone1") >= 0 || lowerName.indexOf("phone2") >= 0 || lowerName.indexOf("phone3") >= 0)
			{
				help_text = "<p>Indtast et telefonnummer. Der kan kun indtastes tal i dette felt.</p><p>Eksempel: 70250315</p>";
			} 
			else if (lowerName.indexOf("fax") >= 0)
			{
				help_text = "<p>I dette felt kan du indtaste et faxnummer hvis du kan kontaktes via fax.</p>";
			} 
			else if (lowerName.indexOf("email") >= 0)
			{
				help_text = "<p>I dette felt kan du indtaste en e-mail adresse du kan kontaktes på.</p><p>Du kan kun indtaste en e-mail adresse.</p><p>Eksempel: jh@example.com</p>";
			} 
			else if (lowerName.indexOf("reportedcause") >= 0)
			{
				help_text = "<p>I dette felt kan du angive hvilket skadedyr du vil anmelde.</p>";
			} 
			else if (lowerName.indexOf("locationtype") >= 0)
			{
				help_text = "<p>I dette felt kan du angive hvilken type adresse der er tale om.</p>";
			} 
			else if (lowerName.indexOf("tb_street") >= 0)
			{
				help_text = "<p>I dette felt kan vælge en vej. Når du starter med at taste vejnavnet kommer systemet med forslag blandt de tilgængelig veje i systemet.</p><p>Du kan kun vælge veje fra listen.</p>";
			} 
			else if (lowerName.indexOf("number") >= 0)
			{
				help_text = "<p>I dette felt kan du indtaste et husnummer.</p>";
			} 
			else if (lowerName.indexOf("floor") >= 0)
			{
				help_text = "<p>I dette felt kan du indtaste en etage, hvis anmeldelsen er i et etagebyggeri.</p>";
			} 
			else if (lowerName.indexOf("placename") >= 0)
			{
				help_text = "<p>I dette felt kan du angive et stednavn hvis adressen har en sådanne.</p>";
			} 
			else if (lowerName.indexOf("zipcode") >= 0)
			{
				help_text = "<p>I dette felt kan du vælge et postnummer/by.</p>";
			} 
			else if (lowerName.indexOf("submit") >= 0)
			{
				help_text = "<p>Denne knap afsender anmeldelsen.</p>";
			} 
			else if (lowerName.indexOf("contactbefore") >= 0)
			{
				help_text = "<p>Her kan du angive om du ønsker at blive kontaktet inden et evt. besøg af skadedyrsbekæmperen.</p>";
            }
            else if (lowerName.indexOf("observations") >= 0) 
            {
                help_text = "<p></p>";
            } 
			else if (regexp_phone_time.test(this.name)) 
			{
				help_text = "<p>I dette felt kan du indtaste et træffetidspunkt. Træffetidspunktet skal indtastes som et klokkeslet.</p><p>Eksempel: 14:30</p>";
			}
			
			// create text element
			help_section.innerHTML = help_text;
		};
		
		
		if (inputs[i].id.indexOf('Start') > 0 || inputs[i].id.indexOf('Stop') > 0)
		{
			inputs[i].onblur = function() 
			{
				formatPhoneTime(this);
				
				// get help helper section and clear it
				var help_section = getFieldHelp();
				clearFieldHelp();
			};
		}
		else
		{
			inputs[i].onblur = function() 
			{
				// get help helper section and clear it
				var help_section = getFieldHelp();
				clearFieldHelp();
			};
		}
	}
}

function installHandlers() 
{
	// get all input fields
	var inputs = document.getElementsByTagName("input");
	addHandlers(inputs);
	
	// get all select fields
	var inputs = document.getElementsByTagName("select");
	addHandlers(inputs);
}


