function sql2excel() {
	var title = document.getElementById('title');
	var query = document.getElementById('query');
	//alert ("got there");
	//alert ("title " + title.value + " and query " + query.value);
	//alert ("query="+query.value);
	window.location="linksql_simple.php?query="+query.value+"&title="+title.value;
}

function setDate(field)
{
	var checkstr = '0123456789';

	var datefield = document.getElementById(field);

	var dateYear = document.getElementById(field+":dateYear").value;
	var dateMonth = document.getElementById(field+":dateMonth").value;
	var dateDay = document.getElementById(field+":dateDay").value;

//	alert(dateYear + "-" + dateMonth + "-" + dateDay);

	if(dateDay.length == 1)
	{
		var dD = document.getElementById(field+":dateDay");
		dateDay = "0"+dateDay; 
		dD.value = dateDay;
	}
	if(dateMonth.length == 1) 
	{ 
		var dM = document.getElementById(field+":dateMonth");
		dateMonth = "0"+dateMonth; 
		dM.value = dateMonth;
	}
	if(dateYear.length == 1) 
	{ 
		var dY = document.getElementById(field+":dateYear");
		dateYear = "0"+dateYear; 
		dY.value = dateYear;
	}

	if(checkDateString(dateDay) == true && checkDateString(dateMonth) == true && checkDateString(dateYear) == true)
	{
		var datestring = dateYear + "-" + dateMonth + "-" + dateDay;

		var dY = document.getElementById(field+":dateYear");
		var dM = document.getElementById(field+":dateMonth");
		var dD = document.getElementById(field+":dateDay");

		dY.value = dateYear;
		dM.value = dateMonth;
		dD.value = dateDay;

		if(datestring.length >= 8)
		{
			datefield.value = dateYear + "-" + dateMonth + "-" + dateDay;
			if(check_date(datefield) == true)
			{
				//alert("this is correct");
			}
			else
			{
				//alert("this is not correct");
			}
		}
	}
}

function checkDateString(fielddata)
{
	var re  = /^[0-9]\d*$/;
	var int_test = fielddata;
	if (int_test != "" || int_test != "-")
	{
		if (int_test.match(re))
		{
			//alert("Successful match");
			return true;
		}
		else
		{
			return false;
		}
	}
	return false;
}

function check_date_uk(field)
{
//	alert("here");
	var datefield = document.getElementById(field);
	var input = document.getElementById(field+":UK");

	var validformat=/^\d{1,2}\/\d{1,2}\/\d{4}$/ //Basic check for format validity
	var validformat2 = /^\d{1,2}\-\d{1,2}\-\d{4}$/ //Basic check for format validity
	var returnval = false

	if ((validformat.test(input.value)) || (validformat2.test(input.value)))
	{ //Detailed check for valid date ranges

		if (input.value.indexOf("/") != -1)
		{
			var dayfield=input.value.split("/")[0]
			var monthfield=input.value.split("/")[1]
			var yearfield=input.value.split("/")[2]
		}
		else
		{
			var dayfield=input.value.split("-")[0]
			var monthfield=input.value.split("-")[1]
			var yearfield=input.value.split("-")[2]
		}


		if(dayfield.length == 1)
		{
			dayfield = "0"+dayfield; 
		}
		if(monthfield.length == 1) 
		{ 
			monthfield = "0"+monthfield; 
		}
		if(yearfield.length == 1) 
		{ 
			yearfield = "0"+yearfield; 
		}

		if(yearfield.length == 2) 
		{ 
			yearfield = "20"+yearfield; 
		}
	}
	else
	{
		if (input.value.indexOf("/") != -1)
		{
			var dayfield=input.value.split("/")[0]
			var monthfield=input.value.split("/")[1]
			var yearfield=input.value.split("/")[2]
		}
		else
		{
			var dayfield=input.value.split("-")[0]
			var monthfield=input.value.split("-")[1]
			var yearfield=input.value.split("-")[2]
		}


		if(dayfield.length == 1)
		{
			dayfield = "0"+dayfield; 
		}
		if(monthfield.length == 1) 
		{ 
			monthfield = "0"+monthfield; 
		}
		if(yearfield.length == 1) 
		{ 
			yearfield = "0"+yearfield; 
		}

		if(yearfield.length == 2) 
		{ 
			yearfield = "20"+yearfield; 
		}

		document.getElementById(field+":UK").value = dayfield + "-" + monthfield + "-" + yearfield;
	}

	if ((validformat.test(input.value)) || (validformat2.test(input.value)))
	{ //Detailed check for valid date ranges

		var today = new Date();
		var year = today.getYear()
		if(year<1000) year+=1900
		
		var dayobj = new Date(yearfield, monthfield-1, dayfield)
		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
		{
			alert('Date Is incorrect! Please use dd/mm/yyyy format');
		}
		else
		{
			returnval = true;
		}
	}
	else
	{
		alert('Date Is incorrect! Please use dd/mm/yyyy format');
	}

    if(returnval == true)
	{
		input.value = dayfield + "-" + monthfield + "-" + yearfield;
		datefield.value = yearfield + "-" + monthfield + "-" + dayfield;
	}
}

function check_date(field)
{
	//alert(field.value);
	//alert(field.name);

	if(field.name.match(":UK") !== null)
	{
		var originalsqlformat = field.name.replace(":UK", "");

		//alert(originalsqlformat);

		//==================================================
		// If UK format
		//==================================================

		var ukdate = field.value
		var re  = /^[0-9]\d*$/;

		// UK Date Format

		if (ukdate != "" && ukdate.length > 5)
		{
			if (ukdate.match(re)) 
			{
				// If field is numeric ensure length is correct and formatting is added 

				if(ukdate.length == 6)
				{
					// DDMMYY should be DD-MM-YYYY
					var yearfield = ukdate.substr(4,2);
					yearfield = "20"+yearfield; 
					ukdate = ukdate.substr(0,4)+yearfield;

					var dayfield = ukdate.substr(0,2);
					var monthfield = ukdate.substr(2,2);

					ukdate = dayfield + "-" + monthfield + "-" +  yearfield;
				}

				if(ukdate.length == 8)
				{
					// DDMMYYYY should be DD-MM-YYYY
					var dayfield = ukdate.substr(0,2);
					var monthfield = ukdate.substr(2,2);
					var yearfield = ukdate.substr(4,4);

					ukdate = dayfield + "-" + monthfield + "-" +  yearfield;
				}			
			}

			// Field is not number ensure formatting is correct
		
			// Format to - instead of / if it exists

			for (i = 0; i < ukdate.length; i++) 
			{
				if (ukdate.substr(i,1 )== '/') 
				{
					ukdate = ukdate.replace("/", "-");
				}
			}

			// DD-MM-YY should be DD-MM-YYYY

			var dayfield = ukdate.split("-")[0];
			var monthfield = ukdate.split("-")[1];
			var yearfield = ukdate.split("-")[2];

			//alert(dayfield + " " + monthfield + " " + yearfield);

			if(dayfield == null || monthfield == null || yearfield == null)
			{
				alert('Date Is incorrect! Please use dd/mm/yyyy format');
				field.select();
				field.focus();
			
				return false;
			}
			else
			{
				if(dayfield.length == 1)
				{
					dayfield = "0"+dayfield; 
				}
				if(monthfield.length == 1) 
				{ 
					monthfield = "0"+monthfield; 
				}
				if(yearfield.length == 1) 
				{ 
					yearfield = "0"+yearfield; 
				}

				if(yearfield.length == 2) 
				{ 
					yearfield = "20"+yearfield; 
				}

				ukdate = dayfield + "-" + monthfield + "-" +  yearfield;
				sqldate = yearfield + "-" + monthfield + "-" +  dayfield;

				var dayobj = new Date(yearfield, monthfield-1, dayfield)
				if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
				{
					alert('Date Is incorrect! Please use dd/mm/yyyy format');
					field.select();
					field.focus();

					return false;
				}
				else
				{
					field.value = ukdate;
					document.getElementById(originalsqlformat).value = sqldate;
					return true;
				}
			}
		}
		else
		{
			alert('Date Is incorrect! Please use dd/mm/yyyy format');

			if (ukdate == "")
			{
				document.getElementById(originalsqlformat).value = "";
				return false;
			}
		}
	}
	else if(field.name.match(":USA") !== null)
	{
		var originalsqlformat = field.name.replace(":USA", "");

		//alert(originalsqlformat);

		//==================================================
		// If USA format
		//==================================================

		var usadate = field.value
		var re  = /^[0-9]\d*$/;

		// UK Date Format

		if (usadate != "" && usadate.length > 5)
		{
			if (usadate.match(re)) 
			{
				// If field is numeric ensure length is correct and formatting is added 

				if(usadate.length == 6)
				{
					// MMDDYY should be MM-DD-YYYY
					var yearfield = usadate.substr(4,2);
					yearfield = "20"+yearfield; 
					usadate = usadate.substr(0,4)+yearfield;

					var monthfield = usadate.substr(0,2);
					var dayfield = usadate.substr(2,2);

					usadate = monthfield + "-" + dayfield + "-" +  yearfield;
				}

				if(usadate.length == 8)
				{
					// MMDDYYYY should be MM-DD-YYYY
					var monthfield = usadate.substr(0,2);
					var dayfield = usadate.substr(2,2);
					var yearfield = usadate.substr(4,4);

					usadate = monthfield + "-" + dayfield + "-" +  yearfield;
				}			
			}

			// Field is not number ensure formatting is correct
		
			// Format to - instead of / if it exists

			for (i = 0; i < usadate.length; i++) 
			{
				if (usadate.substr(i,1 )== '/') 
				{
					usadate = usadate.replace("/", "-");
				}
			}

			// MM-DD-YY should be MM-DD-YYYY

			var monthfield = usadate.split("-")[0];
			var dayfield = usadate.split("-")[1];
			var yearfield = usadate.split("-")[2];

			//alert(dayfield + " " + monthfield + " " + yearfield);

			if(dayfield == null || monthfield == null || yearfield == null)
			{
				alert('Date Is incorrect! Please use mm/dd/yyyy format');
				field.select();
				field.focus();
			
				return false;
			}
			else
			{
				if(dayfield.length == 1)
				{
					dayfield = "0"+dayfield; 
				}
				if(monthfield.length == 1) 
				{ 
					monthfield = "0"+monthfield; 
				}
				if(yearfield.length == 1) 
				{ 
					yearfield = "0"+yearfield; 
				}

				if(yearfield.length == 2) 
				{ 
					yearfield = "20"+yearfield; 
				}

				usadate = monthfield + "-" + dayfield + "-" +  yearfield;
				sqldate = yearfield + "-" + monthfield + "-" +  dayfield;

				var dayobj = new Date(yearfield, monthfield-1, dayfield)
				if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
				{
					alert('Date Is incorrect! Please use mm/dd/yyyy format');
					field.select();
					field.focus();

					return false;
				}
				else
				{
					field.value = usadate;
					document.getElementById(originalsqlformat).value = sqldate;
					return true;
				}
			}
		}
		else
		{
			alert('Date Is incorrect! Please use mm/dd/yyyy format');

			if (usadate == "")
			{
				document.getElementById(originalsqlformat).value = "";
				return false;
			}
		}
	}
	else
	{
		//==================================================
		// If Default SQL format
		//==================================================

		var checkstr = '0123456789';
		var DateField = field;
		var Datevalue = "";
		var DateTemp = "";
		var separator = " ";
		var mnth = "";
		var day;
		var month;
		var year;
		var leap = 0;
		var err = 0;
		var i;
		var k;
		var strMonthArray = new Array(12);
		strMonthArray[0] = 'January';
		strMonthArray[1] = 'February';
		strMonthArray[2] = 'March';
		strMonthArray[3] = 'April';
		strMonthArray[4] = 'May';
		strMonthArray[5] = 'June';
		strMonthArray[6] = 'July';
		strMonthArray[7] = 'August';
		strMonthArray[8] = 'September';
		strMonthArray[9] = 'October';
		strMonthArray[10] = 'November';
		strMonthArray[11] = 'December';
		err = 0;
		DateValue = DateField.value.toLowerCase();

		if (DateValue.length>5)
		{
		   /*  Replace text date months with figures */
			for (i = 0; i < 12; i++) 
			{
				mnth = (i<9)?' /0'+ (i+1) +'/ ':' /'+ (i+1) +'/ ';
				if (DateValue.indexOf(strMonthArray[i].toLowerCase()) >0)
				{   //Check for long dates first so
					DateValue = DateValue.replace(strMonthArray[i].toLowerCase(),mnth);  //the short date does not find them
				}
				if (DateValue.indexOf(strMonthArray[i].substr(0,3).toLowerCase()) >0)
				{   //Check for short dates
					DateValue = DateValue.replace(strMonthArray[i].substr(0,3).toLowerCase(),mnth);
				}
			}
			/* Replace all chars except 0..9 with '/' */
			for (i = 0; i < DateValue.length; i++) 
			{
				DateTemp = (checkstr.indexOf(DateValue.substr(i,1))< 0)?DateTemp + '/':DateTemp + DateValue.substr(i,1);
			}
			DateValue = DateTemp;
			DateTemp='';
			/* Delete leading '/' */
			var i = 0;
			while (DateValue.substr(i,1)=='/')
			{
				i++;
			}
			DateValue = DateValue.substr(i,DateValue.length);
			/* Remove multiple '/'  */
			for (i = 0; i < DateValue.length; i++) 
			{
				if (DateValue.substr(i,1)=='/') 
				{
					DateTemp = DateTemp + '/';
					while (DateValue.substr(i,1)=='/')
					{
						i++;
					}
				}
				DateTemp = DateTemp + DateValue.substr(i,1);
			}
			DateValue = DateTemp;
			DateTemp='';
			/* Split into components and pad out single digit days, months and years with zeros and re-assemble */ 
			if (DateValue.indexOf('/')>0)
			{  //have we got any separators, if not miss this bit
				k=DateValue.split('/');      //if so split
				if (k.length < 3)
				{          //one or two separators missed out
					err=18;   //less than enough delimiters
				}
				else
				{
					for (i = 0; i < 3; i++) 
					{
						DateTemp = (k[i].length ==1)?DateTemp + '0'+ k[i]:DateTemp + k[i];    
					}
					DateValue = DateTemp;
					DateTemp='';
				}
			}
			/* Always change date to 8 digits - string*/
			/* if year is entered as 2-digit / always assume 20xx */
			if (DateValue.length == 6) 
			{
				DateValue = '20' + DateValue.substr(0,2) +  DateValue.substr(2,4); 
			}
			if (DateValue.length != 8) 
			{
				err = 19;
			}
			/* year is wrong if year = 0000 */
			year = DateValue.substr(0,4);
			if (year == 0) 
			{
				err = 20;
			}
			/* Validation of month*/
			month = DateValue.substr(4,2);
			if ((month < 1) || (month > 12))
			{
				err = 21;
			}
			/* Validation of day*/
			day = DateValue.substr(6,2);
			if (day < 1) 
			{
				err = 22;
			}
			/* Validation leap-year / february / day */
			if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) 
			{
				leap = 1;
			}
			if ((month == 2) && (leap == 1) && (day > 29))
			{
				err = 23;
			}
			if ((month == 2) && (leap != 1) && (day > 28)) 
			{
				err = 24;
			}
			/* Validation of other months */
			if ((day > 31) && ((month == '01') || (month == '03') || (month == '05') || (month == '07') || (month == '08') || (month == '10') || (month == '12'))) 
			{
				err = 25;
			}
			if ((day > 30) && ((month == '04') || (month == '06') || (month == '09') || (month == '11'))) 
			{
				err = 26;
			}
			/* if 00 is entered, no error, deleting the entry */
			if ((day == 0) && (month == 0) && (year == 00)) 
			{
				err = 0; 
				day = ''; 
				month = ''; 
				year = ''; 
				separator = '';
			}
			/* if no error, write the completed date to Input-Field (e.g. 2001-12-13) */

			if (day.length+month.length+year.length<6)
			{
				err=27;
			}
			if (err == 0) 
			{
				separator='-';
				DateField.value = year + separator + month +  separator + day;
				return true;
				/* Error-message if err != 0 */
			}
			else 
			{
				alert(' Date Is incorrect! Please use yyyy/mm/dd format');
				DateField.select();
				DateField.focus();
				return false;
			}
		}
		else
		{
			DateField.value = "";   
			return false;
		}
	}
}

function check_time(field){
var checkstr = '0123456789';
var TimeField = field;
var Timevalue = '';
var TimeTemp = '';
var separator = ' ';
var hr = '';
var min;
var sec;
var err = 0;
var i;
var k;
Timevalue = TimeField.value.toLowerCase();
if (Timevalue.length > 0){
   /* Replace all chars except 0..9 with '/' */
   for (i = 0; i < Timevalue.length; i++) {
       TimeTemp = (checkstr.indexOf(Timevalue.substr(i,1))< 0)?TimeTemp + '/':TimeTemp + Timevalue.substr(i,1);
   }
   Timevalue = TimeTemp;
   TimeTemp='';
   /* Delete leading '/' */
   var i = 0;
   while (Timevalue.substr(i,1)=='/'){
          i++;
   }
   Timevalue = Timevalue.substr(i,Timevalue.length);
   /* Remove multiple '/'  */
   for (i = 0; i < Timevalue.length; i++) {
      if (Timevalue.substr(i,1)=='/') {
          TimeTemp = TimeTemp + '/';
          while (Timevalue.substr(i,1)=='/'){
              i++
          }
      }
      TimeTemp = TimeTemp + Timevalue.substr(i,1);
   }
   Timevalue = TimeTemp;
   TimeTemp='';
   /* Split into components and pad out single digit hours, minutes and seconds with zeros and re-assemble */ 
   if (Timevalue.indexOf('/')>0){  //have we got any separators, if not miss this bit
      k=Timevalue.split('/');      //if so split
          if (k.length < 2){          //one or two separators missed out
              err=18;   //less than enough delimiters
          }else{
          for (i = 0; i < k.length; i++) {
              TimeTemp = (k[i].length ==1)?TimeTemp + '0'+ k[i]:TimeTemp + k[i]; 
          }
   Timevalue = TimeTemp;
   TimeTemp='';
      }
   }
   //   alert(Timevalue);
   /* Always change date to 6 digits - string*/
   /* if time is entered as hh always assume 00 minutes, 00 seconds */
   if (Timevalue.length == 2) {
      Timevalue = Timevalue +  '0000';}
   /* if time is entered as hh:mm always assume 00 seconds */
   if (Timevalue.length == 4) {
      Timevalue = Timevalue +  '00';}
   //   alert(Timevalue);
   if (Timevalue.length != 6) {err = 19;}
   /* get values from string*/
   hr = Timevalue.substr(0,2);
   if ((hr > 23) || (hr < 0)) {err = 20;}
   /* Validation of minute */
   min = Timevalue.substr(2,2);
   if ((min < 0) || (min > 59)) {err = 21;}
   /* Validation of second */
   sec = Timevalue.substr(4,2);
   if ((sec < 0) || (sec > 59)) {err = 22;}
   /* if no error, write the completed time to Input-Field (e.g. hh:mm:ss) */
   if (err == 0) {
          separator=':';
          TimeField.value = hr + separator + min +  separator + sec;
   }
   /* Error-message if err != 0 */
   else {
          alert(err + ' Time Is incorrect! Please use hh:mm:ss format');
          //TimeField.select();
          //TimeField.focus();
   }
}
}
var IDarray = new Array();
var labelarray = new Array();
var origlen = 0;
function FillArray(ID_select){
   origlen=ID_select.options.length
       for (i = 0; i <origlen ; i++){  //loop through all entries and copy to same numbered array elements
           labelarray[i] = ID_select.options[i].text;
           IDarray[i]= ID_select.options[i].value;
       }
}
function initial(letter, listID){
   var ID_select = document.getElementById(listID);
   var tmplabel = ""
   var tmpval = 0
   var tmplen = 0
   if (origlen==0){FillArray(ID_select)}
       for (i = origlen; i > 0; i--){  //you have to start at the end of the list and come down
              ID_select.options[i-1] = null   // to wipe out all entries
       }
       for (i = origlen; i >0 ; i--){
           if (labelarray[i-1].charAt(0).toUpperCase()==letter){
               newoption= new Option();
               newoption.text = labelarray[i-1];
               newoption.value = IDarray[i-1];
               ID_select.add(newoption,0)
           }
       }
   newoption= new Option();
   newoption.text = "----------- Select -----------"
   ID_select.add(newoption,0)
   ID_select.selectedIndex = 0
}
//--------------------------------------------------------------------------
//==========================================================================
//Context based form validation - skeleton only; roll your own!
//--------------------------------------------------------------------------
function check_form(clicked) {
   switch (clicked)
   {
   case "Add":
       return true;
   break;
   case "Display":
       return true;
   break;
   case "Edit":
       return true;
   break;
   case "Get":
       for (i=0; i<document.all.length; i++) {
           if (document.all(i).type=="select-one") {
               if (document.getElementById(document.all(i).name).selectedIndex==0) {
                   alert("Please make a selection before pressing the GET button");
               return false
               }
           }
       }
           return true;
   break;
   case "Remove":
   return confirm("This will permanently remove this record, are you sure?");
   break;
   case "Return":
       return true;
   break;
   case "Update":
       return true;
   break;
   }
}
//--------------------------------------------------------------------------
//==========================================================================
//Utility navigation functions  - To get from one page to another
//--------------------------------------------------------------------------
function goToURL(newpage) { window.location = newpage; }
function Popup(URL){
window.open("popup.htm?"+URL,"", 'resizable=1, menubar=0, toolbar=0, height=600, width=800');
}
//--------------------------------------------------------------------------

//==========================================================================
//Utility navigation functions  - To get from one page to another and stop refresh
//--------------------------------------------------------------------------
//function PopupSR(URL,item,type, name,Select_value,id,label,table,onblur){
//window.open("popup.php?URL="+URL+"&item="+item+"&type="+type+"&name="+name+"&Select_value="+Select_value+"&id="+id+"&label="+label+"&table="+table+"&onblur="+onblur,"", 'resizable=1, menubar=0, toolbar=0, height=400, width=600');
//}

function PopupSR(URL,item,type, name,Select_value,id,label,table,onblur,onchange,onclick,orderby,listsize,wherefield,wherevalue,distinct,label2){
window.open("popup.php?URL="+URL+"&item="+item+"&type="+type+"&name="+name+"&Select_value="+Select_value+"&id="+id+"&label="+label+"&table="+table+"&onblur="+onblur+"&onchange="+onchange+"&onclick="+onclick+"&orderby="+orderby+"&listsize="+listsize+"&wherefield="+wherefield+"&wherevalue="+wherevalue+"&distinct="+distinct+"&label2="+label2,"", 'resizable=1, menubar=0, toolbar=0, height=600, width=800');
}

function PopupSRGET(URL,GET,item,type, name,Select_value,id,label,table,onblur,onchange,onclick,orderby,listsize,wherefield,wherevalue,distinct,label2){
window.open("popupGet.php?URL="+URL+"&GETTING="+GET+"&item="+item+"&type="+type+"&name="+name+"&Select_value="+Select_value+"&id="+id+"&label="+label+"&table="+table+"&onblur="+onblur+"&onchange="+onchange+"&onclick="+onclick+"&orderby="+orderby+"&listsize="+listsize+"&wherefield="+wherefield+"&wherevalue="+wherevalue+"&distinct="+distinct+"&label2="+label2,"", 'resizable=1, menubar=0, toolbar=0, height=600, width=800');
}

//--------------------------------------------------------------------------

//==========================================================================
//Utility navigation functions  - To get from one page to another and to show a centralised help guide
//--------------------------------------------------------------------------
//function PopupSR(URL,item,type, name,Select_value,id,label,table,onblur){
//window.open("popup.php?URL="+URL+"&item="+item+"&type="+type+"&name="+name+"&Select_value="+Select_value+"&id="+id+"&label="+label+"&table="+table+"&onblur="+onblur,"", 'resizable=1, menubar=0, toolbar=0, height=400, width=600');
//}

function PopupHelp(tla, file)
{
	var start = (file.lastIndexOf("/") + 1);
	var finish = (file.lastIndexOf(".php") + 4);
	var newfile = file.slice(start,finish);

	window.open("https://www.jobnet.org.uk/jobnet/Training/helpguide.php?display=find&tla="+tla+"&file="+newfile,"", 'resizable=1, menubar=0, toolbar=0, scrollbars=1, height=644, width=1004');
}

//--------------------------------------------------------------------------

//==========================================================================
//functions for removing whitespace
//--------------------------------------------------------------------------
//How do I trim whitespace - LTRIM/RTRIM/TRIM? 
//Using Regular Expressions (JavaScript 1.2/JScript 4+) : 

String.prototype.LTrim=new Function("return this.replace(/^\\s+/,'')")
String.prototype.RTrim=new Function("return this.replace(/\\s+$/,'')")
String.prototype.Trim= new Function("return this.replace(/^\\s+|\\s+$/g,'')")

//or for all versions (trims characters ASCII<32 not true "whitespace"): 

/*function LTrim(str) { 
 for (var k=0; k<str.length && str.charAt(k)<=" " ; k++) ;
 return str.substring(k,str.length);
}
function RTrim(str) {
 for (var j=str.length-1; j&gt;=0 && str.charAt(j)<=" " ; j--) ;
 return str.substring(0,j+1);
}
function Trim(str) {
 return LTrim(RTrim(str));
}*/

//--------------------------------------------------------------------------

//==========================================================================
//Check_Whole_Number - To check format of supplied  number is a whole number
//--------------------------------------------------------------------------
function check_whole_number(field)
{
	var fieldref = field;
	sText = fieldref.value;
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}
	if(IsNumber == false)
	{
		alert("Number invalid, must be a whole number");
	}
}



//==========================================================================
//Check_dec - To check format of supplied  number is a non-zero decimal
//--------------------------------------------------------------------------
function check_dec(field){
	var fieldref = field;
	var re  = /^\d+(\.\d{2})?$/;
	var dec_test=fieldref.value;
	if (dec_test!="" || dec_test!="-" ){
		 if (dec_test.match(re)) {
			//alert("Successful match");
			fieldref.value=dec_test;
		 }else{
			alert("Number invalid, must be non-zero with optional 2 decimals");
		 }
	}
}
//==========================================================================

//==========================================================================
//Check_int - To check format of supplied  number is a non-zero integer
//--------------------------------------------------------------------------
function check_int(field){
	var fieldref = field;
	var re  = /^[1-9]\d*$/;
	var int_test=fieldref.value;
	if (int_test!="" || int_test!="-" ){
		 if (int_test.match(re)) {
			//alert("Successful match");
			fieldref.value=int_test;
		 }else{
			alert("Number is not valid, must be non-zero integer");
		 }
	}
}

//==========================================================================

//==========================================================================
//Check numeric - To check the number supplied is numeric
//--------------------------------------------------------------------------
function check_numeric(field){
	var fieldref = field;
	var re  = /^[\d]*$/;
	var chk_num=fieldref.value;
	if (chk_num!=""){
	while( chk_num.indexOf(" ") > -1 ) chk_num = chk_num.substring( 0, chk_num.indexOf(" ") ) + chk_num.substring( chk_num.indexOf(" ")+1 );

		//Tel_test=Tel_test.replace(/[\s]/g/,'');
		//alert(Tel_test);
		 if (chk_num.match(re)) {
			//alert("Successful match");
			fieldref.value=chk_num;
		 }else{
			alert("Number must be numeric");
		 }
	}
}
//==========================================================================


//==========================================================================
//Check_NI  - To check the format of supplied National Insurance numbers
//--------------------------------------------------------------------------
function check_ni(field){
var fieldref = field;
var re  = /^[A-Z]{2}[\d]{6}[A-Z]{1}$/;
var NI_test=fieldref.value.toUpperCase();
var dob;
   if (NI_test!=""){
       if (NI_test.match(re)) {
           //alert(" Successful; match");
           fieldref.value=NI_test;
           if (NI_test.substr(0,2)=="TN"){
               dob="19"+NI_test.substr(6,2)+"-"+NI_test.substr(4,2)+"-"+NI_test.substr(2,2);
               alert(" Temporary NI Number - should match D.O.B = "+dob);
           }
       }else{
           alert("NI number must be in the format AAnnnnnnA where A is a letter and n is a number");
       }
   }
}
//==========================================================================

//==========================================================================
//Check_tel - To check the format of supplied telephone number
//--------------------------------------------------------------------------
function check_tel(field){
var fieldref = field;
var re  = /^0[\d]{10}$/;
var Tel_test=fieldref.value;
   if (Tel_test!=""){
       Tel_test=Tel_test.replace(/[\s]g/,'');
       if (Tel_test.match(re)) {
           //alert("Successful match");
           fieldref.value=Tel_test;
       }else{
           alert("Number must be the full national number beginning with zero(0)");
       }
   }
}
//==========================================================================

//==========================================================================
//Check_email - To check the format of supplied email address
//--------------------------------------------------------------------------
function check_email(field){
var fieldref = field;
var re  = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
var email_test=fieldref.value.toLowerCase();
   if (email_test!=""){
       if (email_test.match(re)) {
           //alert(" Successful match");
           fieldref.value=email_test;
       }else{
           alert("Email Address Is Not valid");
       }
   }
}
//==========================================================================

//==========================================================================
//Check_postcode - To check the format of supplied postcode address
//--------------------------------------------------------------------------
function check_postcode(field){
var fieldref = field;
var re  = /^(([A-Z][A-Z]?)([1-9]*[0-9A-HJ-RT-Y]?))/;
var postcode_test=fieldref.value.toUpperCase();
   if (postcode_test!=""){
       postcode_test=postcode_test.replace(/\s/,'');
       if (postcode_test.match(re)) {
           //alert("Successful match");
           fieldref.value=postcode_test;
       }else{
           alert("Postcode Is Not valid");
       }
   }
}
//==========================================================================

//==========================================================================
//Check_name - To check and correct capitalization in name supplied
//--------------------------------------------------------------------------
function check_name(field){
var fieldref = field;
var strReturn_Value = "";
var name_test=fieldref.value;
var iTemp = name_test.length;
var UcaseNext = false;
   //alert("Name test="+name_test);
   if (name_test!=""){
       strReturn_Value += name_test.charAt(0).toUpperCase();
       for(var iCounter=1;iCounter < iTemp;iCounter++){
           if(UcaseNext == true){
               strReturn_Value += name_test.charAt(iCounter).toUpperCase();
           }else{
               strReturn_Value += name_test.charAt(iCounter).toLowerCase();
           }
           var iChar = name_test.charCodeAt(iCounter);
           if(iChar == 32 || iChar == 45 || iChar == 46){
               UcaseNext = true;
           }else{
               UcaseNext = false;
           }
           if(iChar == 99 || iChar == 67){
               if(name_test.charCodeAt(iCounter-1)==77 || name_test.charCodeAt(iCounter-1)==109){
                   UcaseNext = true;
               }
           }
       }
   }
fieldref.value=strReturn_Value;
}
//==========================================================================
//==========================================================================
//Insert date - To put current date/time in a memo/text field specified by fieldstr
//--------------------------------------------------------------------------
function insertdate(fieldstr) {
	var text = document.getElementById(fieldstr).value;
	var now = new Date();
	document.getElementById(fieldstr).value=text+now.toGMTString();
}
//==========================================================================

//==========================================================================
//Insert short date - To put current date in a memo/text field specified by fieldstr
//--------------------------------------------------------------------------
function insertshortdate(fieldstr) {
	var text = document.getElementById(fieldstr).value;
	var today = new Date();
	var year = today.getYear()
    if(year<1000) year+=1900
	text=(year+"")+ "-" +(today.getMonth()+1) + "-" + today.getDate()  
	document.getElementById(fieldstr).value=text;
}
//==========================================================================

//==========================================================================
//Insert short date - To put current date in a memo/text field specified by fieldstr
//--------------------------------------------------------------------------
function insertshortdatesplice(fieldstr) 
{
	var text = document.getElementById(fieldstr).value;
	var today = new Date();
	var year = today.getYear()
    if(year<1000) year+=1900

	var themonth = today.getMonth()+1;
	var month = themonth.toString();
	if(month.length == 1){ month = "0"+month; }

	var theday = today.getDate();
	var day = theday.toString();
	if(day.length == 1){ day = "0"+day; }

	text=(year+"")+ "-" + (month+"") + "-" + (day+"")

	var dateDay = document.getElementById(fieldstr+":dateDay");
	var dateMonth = document.getElementById(fieldstr+":dateMonth");
	var dateYear = document.getElementById(fieldstr+":dateYear");
		
	dateDay.value = (day);
	dateMonth.value = (month);
	dateYear.value = (year);
	
	document.getElementById(fieldstr).value=text;
}
//==========================================================================

//==========================================================================
//Insert short date - To put current date in a memo/text field specified by fieldstr
//--------------------------------------------------------------------------
function insertshortdatesplice_uk(fieldstr) 
{
	var text = document.getElementById(fieldstr).value;
	var today = new Date();
	var year = today.getYear()
    if(year<1000) year+=1900

	var themonth = today.getMonth()+1;
	var month = themonth.toString();
	if(month.length == 1){ month = "0"+month; }

	var theday = today.getDate();
	var day = theday.toString();
	if(day.length == 1){ day = "0"+day; }

	uk_text = (day+"") + "-" + (month+"") + "-" + (year+"")
	mysql_text = (year+"")+ "-" + (month+"") + "-" + (day+"")
		
	var DateField = document.getElementById(fieldstr+":UK");
	DateField.value = uk_text;
	
	document.getElementById(fieldstr).value = mysql_text;
}
//==========================================================================

//==========================================================================
//Insert short date - To put current date in a memo/text field specified by fieldstr
//--------------------------------------------------------------------------
function insertshortdatesplice_usa(fieldstr) 
{
	var text = document.getElementById(fieldstr).value;
	var today = new Date();
	var year = today.getYear()
    if(year<1000) year+=1900

	var themonth = today.getMonth()+1;
	var month = themonth.toString();
	if(month.length == 1){ month = "0"+month; }

	var theday = today.getDate();
	var day = theday.toString();
	if(day.length == 1){ day = "0"+day; }

	usa_text = (month+"") + "-" + (day+"") + "-" + (year+"")
	mysql_text = (year+"")+ "-" + (month+"") + "-" + (day+"")
		
	var DateField = document.getElementById(fieldstr+":USA");
	DateField.value = usa_text;
	
	document.getElementById(fieldstr).value = mysql_text;
}
//==========================================================================

//==========================================================================
//Append short date - To put current date in a memo/text field specified by fieldstr
//--------------------------------------------------------------------------
function appendshortdate(fieldstr) {
	var text = document.getElementById(fieldstr).value;
	var today = new Date();
	var year = today.getYear()
    if(year<1000) year+=1900
	text=text+(year+"")+ "-" +(today.getMonth()+1) + "-" + today.getDate()  
	document.getElementById(fieldstr).value=text;
}
//==========================================================================

//==========================================================================
//form setfocus  - To put the focus on the first input on the specified form
//--------------------------------------------------------------------------
function f_setfocus( aForm ) {
	if( aForm.elements[0]!=null) {
		var i;
		var max = aForm.length;
		//alert ("f_setfocus max="+max);
		for( i = 0; i < max; i++ ) {
			if(aForm.elements[ i ].name != "Action" && aForm.elements[ i ].type != "button" && aForm.elements[ i ].type != "hidden" &&	!aForm.elements[ i ].disabled && !aForm.elements[ i ].readOnly ) {
				//alert("element name="+aForm.elements[ i ].name);
				aForm.elements[ i ].focus();
				break;
			}
		}
	}
}
//==========================================================================
//==========================================================================
//pop up box
//--------------------------------------------------------------------------
function popup(mylink, windowname, width, height)
{
	if(!width) 
	{ //If the optional argument is not there, create a new variable with that name.
		var width = '590';
	}
	if(!height) 
	{ //If the optional argument is not there, create a new variable with that name.
		var height = '510';
	}

	if (! window.focus)return true;
	var href;
	if (typeof(mylink) == 'string')
	   href=mylink;
	else
		href=mylink.href;
		window.open(href, windowname, 'width='+width+', height='+height+', scrollbars=yes');
	return false;
}

function getAjaxLoading()
{
	var loc = location.pathname;
	var tla = loc.substring(1, loc.indexOf("/",1));
	var address = "https://www.jobnet.org.uk/"+tla+"/images/ajax_loading.gif";
	var image = "<img src=\""+address+"\">"; 

	return image;
}


//==========================================================================
//checkFJF - To check the format of supplied FJF Number
// i.e. JFJ-2009-01-01-LON
//--------------------------------------------------------------------------

function checkFJF(field)
{
	var fieldref = field;
	var FJF_Number = fieldref.value.toUpperCase();

	var re  = /^[A-Z]{3}[-]{1}[\d]{4}[-]{1}[\d]{2}[-]{1}[\d]{2}[-]{1}[A-Z]{3}$/;
	
	if (FJF_Number != "")
	{
		if (FJF_Number.match(re)) 
		{
			//alert("Successful; match");
			fieldref.value = FJF_Number;
			return true;
		}
		else
		{
			alert("Field Does Not Match FJF Number!");
			return false;
		}
	}
	else
	{
		return false;
	}
}

//==========================================================================
