function regionChange(){
	
	var r = document.getElementById('region');
	var reg = r.options[r.selectedIndex].value;
	
	//sub regions
	if(reg=='') reg='all';
	
	var sr = document.getElementById(reg+'_sub_regions');
	var srProper = document.getElementById('sub_region_list');

	srProper.options.length=1;

	//alert(sr.options.length);
	for (i=1;i<sr.options.length ;i++ )
	{
		srProper.options[i] = new Option(sr.options[i].text,sr.options[i].text);
	}

	
	//holiday types
	changeOptions(reg,'holiday_types','holiday_type_list')
	//property types
	changeOptions(reg,'property_types','property_type_list')
	//bedrooms
	changeOptions(reg,'bedrooms','bedrooms_list')
	//sleeps
	changeOptions(reg,'sleeps','sleeps_list')
	//sleeps
	changeOptions(reg,'price','price_list')

	//features
	var fdiv = document.getElementById(reg+'_features');
	var fdivproper = document.getElementById('features_div');

	fdivproper.innerHTML=fdiv.innerHTML;

}

function changeOptions(reg,sr_name,srProper_name) 
{

	var sr = document.getElementById(reg+'_'+sr_name);
	var srProper = document.getElementById(srProper_name);
	
	srProper.options.length=1;

	for (i=1;i<sr.options.length ;i++ )
	{
		if(sr.options[i].value)	srProper.options[i] = new Option(sr.options[i].text,sr.options[i].value) 
		else srProper.options[i] = new Option(sr.options[i].text,sr.options[i].text) 
	}
}

function updateArea(vArea){

	var sArea = document.getElementById('area');
	sArea.value=vArea;
}

function checkAreaVals(){

	var sbox = document.getElementById('sub_region_list');

	if(sbox.length<2) regionChange();
}

function menuhover(item)
{
	item.bgColor = '#cccccc';
//	item.style.cursor = "hand";
}


function buttonhover(item,newImage)
{
	item.src = newImage;
}


function show_hide_layer(name,action)
{
	if (name) var find = find_layer(name);
	if (find)
	{
		eval ("find.layer." + find.vis + " = find." + action + ";");
	}		
}


function find_layer(name)
{
	if (document.getElementById)
	{
		if (document.getElementById(name))
		{
			var layer = new Object();
			layer.layer = document.getElementById(name);
			layer.vis = "style.visibility";
			layer.top = "style.top";
			layer.left = "style.left";
			layer.settop = "style.top";
			layer.setleft = "style.left";
			layer.show = "visible";
			layer.hide = "hidden";
			layer.width = "style.width";
			layer.height = "style.height";
			return (layer);
		}
	}		

	if (document.layers)
	{
		for(z=0; z<layer_DOM.length; z++)
		{
			var x = layer_DOM[z];
			if(x.id == name)
			{
				var layer = new Object();
				layer.layer = x;
				layer.vis = "visibility";
				layer.top = "top";
				layer.left = "left";
				layer.settop = "top";
				layer.setleft = "left";
				layer.show = "show";
				layer.hide = "hide";
				layer.width = "clip.width";		// only correct if clip left,right etc are not set or altered
				layer.height = "clip.height";	// only correct if clip top,bottom etc are not set or altered
				return(layer);
			}
		}
	}
	
	if (document.all)
	{
		if(document.all[name])
		{
			var layer = new Object();
			layer.layer = document.all[name];
			layer.vis = "style.visibility";
			layer.top = "style.top";
			layer.left = "style.left";
			layer.settop = "style.pixelTop";
			layer.setleft = "style.pixelLeft";
			layer.show = "visible";
			layer.hide = "hidden";
			layer.width = "style.width";
			layer.height = "style.height";
			return (layer);
		}
	}
	alert("layer not found");
}


function drop_down_on(item)
{
	menuhover(item);
	show_hide_layer("dd","show");
}


function drop_down_off(item)
{
	show_hide_layer("dd","hide");
	item.bgColor=''
}


function drop_down_on2(item)
{
	menuhover(item);
	show_hide_layer("dd2","show");

}


function drop_down_off2(item)
{
	show_hide_layer("dd2","hide");
	item.bgColor=''
}


function preloadImages()
{ 
	var d=document; if(d.images){ if(!d.p) d.p=new Array();
	var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}


function init()
{
	preloadImages('images/buttons/search_on.gif','images/buttons/show_euros_bttn_on.gif','images/buttons/show_sterling_bttn_on.gif');
}


function check_price()
{
	var reg = new RegExp(/^[0-9]*(\.){1}[0-9]{2}$/);
	if (reg.test(number)) return true;
	else
	{
		alert("Not a valid price");
		return false;
	}
}

/*------------- MENU -------------- */
// original script by Peter Paul Koch
// clearTimeout fix added by IOGEN
/*-------------------------------- */

var remember = new Array();
var remember2 = new Array();
var checkIt;
var DHTML = (document.getElementById || document.all || document.layers);

function show(name,lvl,obj,caller)
{
	if (!DHTML) return;
	//if (typeof menuSetup == 'undefined') return;	
	checkUserInput();
	if (remember[lvl] && remember[lvl] == name) return;
	if (remember[lvl])
	{
		closeAll(lvl);
	}
	if (name)
	{
		var x = getObj(name);
		// this is to find out the position from the object which initiated this call
		var y = document.getElementById(caller);
		x.left = findPosX(y);
		x.top = findPosY(y) + 25;
		x.visibility = 'visible';
	}
	remember[lvl] = name;
	if (obj) y = obj;
	else if (obj) y = obj;
	else return;
	if (y.className) return;
	y.className = 'over';
	if (remember2[lvl]) remember2[lvl].className = '';
	remember2[lvl] = y;
}

function hideMenu ()
{
	checkIt = setTimeout('closeAll(1)',500);
}

function closeAll(lvl)
{
	for (i=remember.length - 1;i>=lvl;i--)
	{
		if (remember[i])
		{
			var x = getObj(remember[i]);
			x.visibility = 'hidden';
		}
		remember[i] = null;
		if (remember2[i])
		{
			remember2[i].className = '';
			remember2[i] = null;
		}
	}
}

function checkUserInput()
{
	if (checkIt) clearTimeout(checkIt);
}

function getObj(name)
{
	if(name == '') return;
	if (document.getElementById) return document.getElementById(name).style;
	else if (document.all) return document.all[name].style;
	else if (document.layers) return document.layers[name];
	else return false;
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}