function hideIt(ListToShow)
{
	var x = ListToShow //document.forms[0].lyr.value;
	var y = new getObj('layer' + x);
	y.style.visibility = 'hidden';
}

function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
	this.obj = getObjNN4(document,name);
	this.style = this.obj;
  }
}

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

function check_location(f) {

if ((f.form.location.selectedIndex != 0 && f.form.region.selectedIndex != 0) || (f.form.regional.selectedIndex != 0 && f.form.location.selectedIndex != 0)  || (f.form.regional.selectedIndex != 0 && f.form.region.selectedIndex != 0))  {
		alert ("You cannot select both suburb and metro or country region or metro and country region for searching criteria");
		f.selectedIndex = 0;
	}

	return;
}

function check_all_fields(frm) 
{
if (frm.frmSaveSearchTo[0].checked)
{
  if ((document.getElementById('selectedFrequency').length == 1 && document.getElementById('selectedFrequency')[0].value == "") || document.getElementById('selectedFrequency').length < 1)
	{
	  alert("Please select one or more frequencies");
	  return false;
	}
 	return true;
  }
  return true;
}

function check_sort_order(s1, s2, s3) {
	if (s1[s1.selectedIndex].value == s2[s2.selectedIndex].value) {
		alert ("Please select different fields for sort order" + s1.value + ":" + s2.value);
		s2.focus();
		return false;
	}
	if (s1[s1.selectedIndex].value == s3[s3.selectedIndex].value || s2[s2.selectedIndex].value == s3[s3.selectedIndex].value) {
		alert ("Please select different fields for sort order");
		s3.focus();
		return false;
	}

	return true;

}

function check_FrmDate2Date(d1,d2) {
	if (isEmpty(d1.value)) {
		alert ("Please enter a From Date");
		d1.focus();
		return false;
	}
	
	if (!isDate(d1)) return false;
	
	if (dateComp('01/01/2001', d1.value) > 0) {
		alert ("From Date can not be earlier than 01/01/2001");
		d1.focus();
		return false;
	}
	
	if (date2Time(d1.value) > date2Time(getTodayStr())) {
		alert ("From Date can not be later than Today");
		d1.focus();
		return false;
	}

	if (isEmpty(d2.value)) {
		d2.value = d1.value;
		return true;
	}
	
	if (!isDate(d2)) return false;

	if (dateComp('01/01/2001', d2.value) > 0) {
		alert ("To Date can not be earlier than 01/01/2001");
		d2.focus();
		return false;
	}
	
/*	if (date2Time(d2.value) > date2Time(getTodayStr())) {
		alert ("To Date can not be later than Today");
		d2.focus();
		return false;
	}
*/	
	if (dateComp(d2.value, max_date) > 0) {
		alert ("To Date can not be later than "+max_date);
		d2.focus();
		return false;
	}

	if (dateComp(d1.value, d2.value) > 0) {
		alert ("From Date can not be later than To Date");
		d1.focus();
		return false;
	}
	return true;
}
  
function form_validation(frm) 
{
	if (check_all_fields(frm)) {  
   		frm.submit(); 
   		return true;
   	}
	return false;
}
function show_date(name, value) {
	var is = new Is();
	
	if (is.ns && is.mac) {
		document.writeln("<input type='text' name='"+name+"' value='"+value+"' size='10' maxlength='10' class='adv'>");
	}
	else {
		document.writeln("<input type='text' name='"+name+"' value='"+value+"' size='6' maxlength='10' class='adv'>");
	}
}

<!--- checks to see if an element exists --->
function element_exists(element_name) {
	if(document.getElementsByName(element_name).length > 0) {
		return true;
	} else {
		return false;
	}
}

<!--- hide all the select boxes except for the one currently selected --->
function ShowList(listToShow)
{
ii = 1;
iTotal = 30; 

  document.getElementById('alllist').style.display='none';	
  document.getElementById('allcountrylist').style.display='none';

  <!--- if metro is selected and any metro region is selected then show the metro suburbs select box --->
  if (document.getElementById('chooseregion')[document.getElementById('chooseregion').selectedIndex].value == "Metro" && listToShow == "")
  {
	document.getElementById('alllist').style.display='';	
  }
  <!--- if country is selected and any country region is selected then show the country towns select box --->
  else if (document.getElementById('chooseregion')[document.getElementById('chooseregion').selectedIndex].value != "Metro" && listToShow == "")
  {
	document.getElementById('allcountrylist').style.display='';
  }

  <!--- loop through all the select boxes and hide all except the currently selected one --->
  for (var i = 1; i < iTotal; i++) 
	{ 
	  var fieldname = 'suburblist_' + i

	  if (element_exists(fieldname))
	  {
		  var layer = document.getElementById(fieldname); <!--- document.getElementsByName --->

		  if (listToShow != i) 
		  { 
			layer.style.display = 'none'; 
		  } 
		  else 
		  { 
			layer.style.display = ''; 
		  } 
	  }
	}
}

<!--- show the correct select boxes depending on which value is selected from the chooseregion select box --->
function ShowMetroCountry(listToShow)
{
  if (listToShow == "Metro")
  {
	document.getElementById('region').style.display='';
	document.getElementById('alllist').style.display='';	
	document.getElementById('country').style.display='none';
	document.getElementById('allcountrylist').style.display='none';
	document.getElementById('allcountrylist').selectedIndex = 0;
	//document.newsubscription.region.selectedIndex = 0;
  }
  else 
  {
    document.getElementById('country').style.display='';
	document.getElementById('allcountrylist').style.display='';
    document.getElementById('region').style.display='none';
	document.getElementById('alllist').style.display='none';	
	document.getElementById('alllist').selectedIndex = 0;
	//document.newsubscription.country.selectedIndex = 0;
  }
  ShowList("");
}

function move(ListToMove,tbox) 
{
//work out which list to move the selected option from & to
switch (ListToMove)
{
  case "suburbs":
  {
	<!--- need to work out which suburb list is currently being displayed so we know which suburb to move --->
	if (document.getElementById('chooseregion').value == "Metro" && document.getElementById('region').value == "")
	{
	  var fbox = document.getElementById('alllist');
	}
    else if (document.getElementById('chooseregion').value == "Metro" && document.getElementById('region').value != "")	
    {
	  var fieldname = 'suburblist_' + document.getElementById('region').value;	
	  if (element_exists(fieldname))
	    {
	  	  var fbox = document.getElementById(fieldname);
		}
		else
		{
		  return;
		}	
	}
    else if (document.getElementById('chooseregion').value == "Country" && document.getElementById('country').value == "")
	{
	  var fbox = document.getElementById('allcountrylist');
	}  
    else if (document.getElementById('chooseregion').value == "Country" && document.getElementById('country').value != "")
    {
	  var fieldname = 'suburblist_' + document.getElementById('country').value;	
	  if (element_exists(fieldname))
	    {
		  var fbox = document.getElementById(fieldname);
		}
		else
		{
		  return;
		}
	}
	break;
  }
  case "selectedBrands":
  {
	var fbox = document.getElementById('brand');
	break;
  }
  case "selectedProducts":
  {
	var fbox = document.getElementById('product');	
	break;
  }
  case "selectedFrequency":
  {
    var fbox = document.getElementById('Frequency');
	break;
  }
}

	var arrFbox = new Array();
	var arrTbox = new Array();
	var arrLookup = new Array();
	var i;
	for(i=0; i<tbox.options.length; i++) {
		arrLookup[tbox.options[i].text] = tbox.options[i].value;
		arrTbox[i] = tbox.options[i].text;
	}
	var fLength = 0;
	var tLength = arrTbox.length
	for(i=0; i<fbox.options.length; i++) {
		arrLookup[fbox.options[i].text] = fbox.options[i].value;

		<!--- do check for value here b4 it gets inserted --->
		insertoption=false; 
		
		if(fbox.options[i].selected && fbox.options[i].value != "") 
		{
			insertoption=true; 

		for(valueCounter=0;valueCounter<tbox.options.length;valueCounter++)
		  {			  
		    
			if (tbox.options[valueCounter].value == "" && tbox.options.length == 1)
			{
			  insertoption=true;
			}
			else if ((tbox.options[valueCounter].value == "" && insertoption == false) || (tbox.options[valueCounter].value == fbox.options[i].value)) //(arrLookup[arrTbox[c]] != arrLookup[arrTbox[valueCounter]])
		    {
		    insertoption=false;
			}
			else if (insertoption != false)
			{
			insertoption=true;
			}			
		  }
		}
		
		if (insertoption==true)
		{
			arrTbox[tLength] = fbox.options[i].text;
			tLength++;		
		}
		else
		{
		fLength++;
		}		
	}
	arrFbox.sort();
	arrTbox.sort();
	tbox.length = 0;
	var c;
	for(c=0; c<arrFbox.length; c++) {
		var no = new Option();
		no.value = arrLookup[arrFbox[c]];
		no.text = arrFbox[c];
		fbox[c] = no;
	} 
	for(c=0; c<arrTbox.length; c++) 
	{
		var no = new Option();
		no.value = arrLookup[arrTbox[c]];
		no.text = arrTbox[c];
		tbox[c] = no;
	}
}

function remove(fbox)
{
  for(var i=(fbox.options.length-1);i>=0;i--)
	{
	  var o=fbox.options[i];
	  
	  if(o.selected)
	  {
	    fbox.options[i] = null;
	  }
	}

  fbox.selectedIndex = -1;
}

function sendInfo(formVar,box) {
    formVar.length = 0;
    var strValue = new String();
    for(var i=0; i<box.length; i++) {
        strValue += box[i].value; <!--- text; --->
        if (i < box.length-1) {
            strValue += ",";
        }
    }
    formVar.value = strValue;
}

function autoComplete (field, select, property, forcematch) 
{
<!--- need to work out which suburb list is currently being displayed so we know which suburb to move --->

  if (document.getElementById('chooseregion').value == "Metro" && document.getElementById('region').value == "")
	{
	  select = document.getElementById('alllist');
	}
  else if (document.getElementById('chooseregion').value == "Metro" && document.getElementById('region').value != "")	
    {
	  var fieldname = 'suburblist_' + document.getElementById('region').value;	
	  if (element_exists(fieldname))
	    {
		  select = document.getElementById(fieldname);
		}
		else
		{
		  return;
		}	
	}
  else if (document.getElementById('chooseregion').value == "Country" && document.getElementById('country').value == "")
	{
	  select = document.getElementById('allcountrylist');
	}  
  else if (document.getElementById('chooseregion').value == "Country" && document.getElementById('country').value != "")
    {
	  var fieldname = 'suburblist_' + document.getElementById('country').value;	
	  if (element_exists(fieldname))
	    {
		  select = document.getElementById(fieldname);
		}
		else
		{
		  return;
		}	
	}

		var found = false;
		for (var i = 0; i < select.options.length; i++) {
		if (select.options[i][property].toUpperCase().indexOf(field.value.toUpperCase()) == 0) {
			found=true; break;
			}
		}
		if (found) { select.selectedIndex = i; }
		else { select.selectedIndex = -1; }
		if (field.createTextRange) {
			if (forcematch && !found) {
				field.value=field.value.substring(0,field.value.length-1); 
				return;
				}
			var cursorKeys ="8;46;37;38;39;40;33;34;35;36;45;";
			if (cursorKeys.indexOf(event.keyCode+";") == -1) {
				var r1 = field.createTextRange();
				var oldValue = r1.text;
				var newValue = found ? select.options[i][property] : oldValue;
				if (newValue != field.value) {
					field.value = newValue;
					var rNew = field.createTextRange();
					rNew.moveStart('character', oldValue.length) ;
					rNew.select();
					}
				}
			}
		}
		
  function clear_form()
  {
	document.getElementById('selectedProducts').length=0;
	document.getElementById('selectedBrands').length=0;
	document.getElementById('suburbs').length=0;
	document.getElementById('frmIncludeSurrounding').checked = false;
  }