$(document).ready(function()
{
	//fadeOut();
	theRotator();
});

function theRotator ()
{
	//Set the opacity of all images to 0
	$('ul.rotate-img li').css({opacity: 0.0});
	//Get the first image and display it (gets set to full opacity)
	$('ul.rotate-img li:first').css({opacity: 1.0});
	//Call the rotator function to run the slideshow, 6000 = change to next image after 6 seconds
	setInterval('rotate()',3000);
}

function rotate ()
{
	//Get the first image
	var current = ((typeof $('ul.rotate-img li.show').attr('class') != 'undefined')?  $('ul.rotate-img li.show') : $('ul.rotate-img li:first'));
	//Get next image, when it reaches the end, rotate it back to the first image
	var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('ul.rotate-img li:first') :current.next()) : $('ul.rotate-img li:first'));
	//Set the fade in effect for the next image, the show class has higher z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);
	//Hide the current image
	current.animate({opacity: 0.0}, 1000)
	.removeClass('show');
};

function fadeOut() { $('.register-now').fadeTo(2500, 0.4, function() { fadeIn(); }); }
function fadeIn() { $('.register-now').fadeTo(3000, 1, function() { fadeOut(); }); }

function option_add (select_box, the_options)
{
	if (document.getElementById(select_box))
	{
		var select_box = document.getElementById(select_box);
		
		// remove all current options
		for (var i = select_box.options.length; i > 0; i--)
		{
			select_box.options[i] = null;
		}
		
		// add the new options
		for (var i = 0; i < the_options.length; i++)
		{
			var the_option		= document.createElement("option");
			the_option.value	= the_options[i];
			the_option.text		= the_option.value;
			select_box.options.add(the_option);
		}
	}
}

function add_studio_option (select_box)
{
	// add Studio to the list
	if (document.getElementById(select_box))
	{
		var select_box = document.getElementById(select_box);
		var flag = false;
		
		for (var i = 0; i < select_box.options.length; i++)
		{
			if (select_box.options[i].value == 'Studio')
			{
				flag = true;
			}
		}
		
		if (flag !== true)
		{
			var the_option		= document.createElement("option");
			the_option.value	= 'Studio';
			the_option.text		= the_option.value;
			select_box.options.add(the_option);
		}
	}
}

function remove_studio_option (select_box)
{
	// add Studio to the list
	if (document.getElementById(select_box))
	{
		var select_box = document.getElementById(select_box);
		
		for (var i = 0; i < select_box.options.length; i++)
		{
			if (select_box.options[i].value == 'Studio')
			{
				select_box.options[i] = null;
			}
		}
	}
}

var rules = 
{
	'#frm_professional_lets' : function (element)
	{
		element.onclick = function ()
		{
			if (element.checked == true)
			{
				toggle_rent_pppw(true);
				
				var the_options = new Array();
				the_options[0]="80"; the_options[1]="100"; the_options[2]="150"; the_options[3]="200"; the_options[4]="250"; the_options[5]="300"; the_options[6]="400"; the_options[7]="500"; the_options[8]="600"; the_options[9]="700"; the_options[10]="800";
				option_add('frm_min_rent', the_options);
				option_add('frm_max_rent', the_options);
				
				if (document.getElementById('frm_bedrooms_to'))
				{
					var select_box = document.getElementById('frm_bedrooms_to');
					select_box.options[1] = null;
				}
				
				add_studio_option('frm_bedrooms_from');
				add_studio_option('frm_bedrooms_to');
				
				document.getElementById('bedrooms').style.display = 'block';
			}
		}
	},
	
	'#frm_professional_shared_lets' : function (element)
	{
		element.onclick = function ()
		{
			if (element.checked == true)
			{
				toggle_rent_pppw(false);
				
				var the_options = new Array();
				the_options[0]="65"; the_options[1]="70"; the_options[2]="75"; the_options[3]="80"; the_options[4]="85"; the_options[5]="90"; the_options[6]="95"; the_options[7]="100"; the_options[8]="110"; the_options[9]="120"; the_options[10]="130";
				option_add('frm_min_rent', the_options);
				option_add('frm_max_rent', the_options);
				
				add_studio_option('frm_bedrooms_from');
				add_studio_option('frm_bedrooms_to');
				
				document.getElementById('bedrooms').style.display = 'none';
			}
		}
	},
	
	'#frm_student_lets' : function (element)
	{
		element.onclick = function ()
		{
			if (element.checked == true)
			{
				//no studio for a student
				toggle_rent_pppw(false);
				
				var the_options = new Array();
				the_options[0]="60"; the_options[1]="65"; the_options[2]="70"; the_options[3]="75"; the_options[4]="80"; the_options[5]="85"; the_options[6]="90"; the_options[7]="95"; the_options[8]="100";
				option_add('frm_min_rent', the_options);
				option_add('frm_max_rent', the_options);
				
				remove_studio_option('frm_bedrooms_from');
				remove_studio_option('frm_bedrooms_to');
				
				document.getElementById('bedrooms').style.display = 'block';
			}
		}
	},
	
	'#frm_register' : function (element)
	{
		element.onclick = function ()
		{
			if (element.checked == true)
			{
				document.getElementById('frm_submit_search').value = 'Register & Search';
				document.getElementById('register-options').style.display = 'block';
			}
			else
			{
				document.getElementById('frm_submit_search').value = 'Search';
				document.getElementById('register-options').style.display = 'none';
			}
		}
	},
	
	'#frm_bedrooms_from' : function (element)
	{
		element.onclick = function ()
		{
			if (element.options[element.selectedIndex].value == '0')
			{
				document.getElementById('box-bedrooms-to').style.display = 'none';
			}
			else
			{
				document.getElementById('box-bedrooms-to').style.display = 'block';
			}
		}
	},
	
	'#search' : function (element)
	{
		element.onsubmit = function ()
		{
			if (
					document.getElementById('frm_professional_lets').checked != true &&
					document.getElementById('frm_professional_shared_lets').checked != true &&
					document.getElementById('frm_student_lets').checked != true
				 )
			{
				alert('Please select a property type to search for.');
				return false;
			}
			
			if (document.getElementById('frm_register').checked == true)
			{
				if (document.getElementById('frm_name').value == '')
				{
					alert('Please enter your name.');
					return false;
				}
				else if (document.getElementById('frm_email').value == '')
				{
					alert('Please enter your email address.');
					return false;
				}
			}
			
			return true;
		}
	},
	
	'.result-images .img img' : function (element)
	{
		element.onmouseover = function ()
		{
			if (document.getElementById(element.alt))
			{
				var main_img = document.getElementById(element.alt);
				
				// create temp vars of current main image
				var tmp_img_src = main_img.src;
				var tmp_img_alt = main_img.alt;
				
				// update main image with new image
				main_img.src = element.parentNode.href;
				main_img.alt = element.src;
				
				// update image with old main image
				element.parentNode.href = tmp_img_src;
				element.src = tmp_img_alt;
			}
		}
		
		element.onclick = function ()
		{
			return false;
		}
		
		element.onkeypress = function ()
		{
			return false;
		}
	}
};

function toggle_rent_pppw (hide)
{
	if (hide === true)
	{
		document.getElementById('min-rent').innerHTML = 'Min rent pw (&pound;)';
		document.getElementById('max-rent').innerHTML = 'Max rent pw (&pound;)';
	}
	else
	{
		document.getElementById('min-rent').innerHTML = 'Min rent pppw (&pound;)';
		document.getElementById('max-rent').innerHTML = 'Max rent pppw (&pound;)';
	}
}

function toggle_bedrooms (hide)
{
	if (hide === true)
	{
	}
	else
	{
	}
}

function on_load ()
{
	if (document.getElementById('frm_professional_lets'))
	{
		var element = document.getElementById('frm_professional_lets');
		
		if (element.checked == true)
		{
			toggle_rent_pppw(true);
			document.getElementById('bedrooms').style.display = 'block';
		}
	}
	
	if (document.getElementById('frm_professional_shared_lets'))
	{
		var element = document.getElementById('frm_professional_shared_lets');
		
		if (element.checked == true)
		{
			toggle_rent_pppw(false);
			document.getElementById('bedrooms').style.display = 'none';
		}
	}
	
	if (document.getElementById('frm_student_lets'))
	{
		var element = document.getElementById('frm_student_lets');
		
		if (element.checked == true)
		{
			toggle_rent_pppw(false);
			document.getElementById('bedrooms').style.display = 'block';
		}
	}
	
	if (document.getElementById('frm_register'))
	{
		var element = document.getElementById('frm_register');
		
		if (element.checked == true)
		{
			document.getElementById('register-options').style.display = 'block';
		}
		else
		{
			document.getElementById('register-options').style.display = 'none';
		}
	}
	
	if (document.getElementById('frm_bedrooms_from'))
	{
		var element = document.getElementById('frm_bedrooms_from');
		
		if (element.options[element.selectedIndex].value == '0')
		{
			document.getElementById('box-bedrooms-to').style.display = 'none';
		}
		else
		{
			document.getElementById('box-bedrooms-to').style.display = 'block';
		}
	}
}

Behaviour.register(rules);
Behaviour.addLoadEvent(function () { on_load(); });