$(document).ready(function(){

	$.fn.extend({
		defaultInput: function(defaultText) {
			var input = $(this);
			$(input).data('defaultText', defaultText);
			if( $(input).val() == '' || $(input).val() == defaultText ) $(input).addClass('default').val(defaultText);
			$(input).focusin(function(){
				if( $(input).val() == defaultText ) $(input).removeClass('default').val('');
			}).focusout(function(){
				if( $(input).val() == '' || $(input).val() == defaultText  ) $(input).addClass('default').val(defaultText);
			});
			var parentForm = $(input).parents().filter('form');
			$(parentForm).submit(function(){
				$('input.default', parentForm).each(function(){
					if( $(this).val() == $(this).data('defaultText') ) $(this).removeClass('default').val('');
				});
			});
		}
	});
	
	$('#findlocalservice #text_Postcode').defaultInput('postcode or region');
	
	$('#registerrewards #text_FirstName').defaultInput('first name');
	$('#registerrewards #text_LastName').defaultInput('last name');
	$('#registerrewards #text_Postcode').defaultInput('postcode');
	$('#registerrewards #text_Phone').defaultInput('phone');
	$('#registerrewards #text_Email').defaultInput('email');
	
	$('#registerservice #text_ServiceName').defaultInput('service name');
	$('#registerservice #text_ServicePhoneNumber').defaultInput('service phone number');
	$('#registerservice #text_StreetAddress').defaultInput('street address');
	$('#registerservice #text_Town').defaultInput('town');
	$('#registerservice #text_Postcode').defaultInput('postcode');
	$('#registerservice #text_Website').defaultInput('website');
	$('#registerservice #text_ABN').defaultInput('ABN');
	$('#registerservice #text_ContactPerson').defaultInput('contact person');
	$('#registerservice #text_Email').defaultInput('email');
	$('#registerservice #text_ContactPerson2').defaultInput('contact person 2');
	$('#registerservice #text_Email2').defaultInput('email 2');
	$('#registerservice #text_Newpassword').defaultInput('new password');
	$('#registerservice #text_Confirmpassword').defaultInput('confirm password');


	$('#services-arrow a').hover(
	function () {
        $('#services-arrow').css("background-position","0 -242px");
      }, 
      function () {
        $('#services-arrow').css("background-position","0 0");
      }
    );
	
	$('#client-arrow a').hover(function(){
		$('#client-arrow').css("background-position","0 -242px");
	},function(){
		$('#client-arrow').css("background-position","0 0");
	});
	
	linkSelectBoxes( $('#select_RegionID') , $('#select_AMSID') );
	
});

var optionArray = new Array();

function linkSelectBoxes(selectBox1, selectBox2) {
	
	$('optgroup', selectBox2).each(function(){
		var option = {
			'label': $(this).attr('label'),
			'children': new Array()
		}
		$('option', this).each(function(){
			var subOption = {
				'label': $(this).text(),
				'value': $(this).attr('value')
			};
			option['children'].push(subOption);
		});
		optionArray[$(this).attr('label')] = option;
	});
	
	if( !$(selectBox1).val() ) {
		defaultSelect(selectBox2)
	} else {
		buildSelectBox(selectBox2, $(selectBox1).val());
	}
	
	$(selectBox1).change(function(){
		buildSelectBox(selectBox2, $(selectBox1).val());
	});
	
}

function defaultSelect(selectBox) {
	$(selectBox).html('<option value="">Please select a region</option>');
}

function buildSelectBox(selectBox, selectedID) {
	defaultSelect(selectBox);
	if( optionArray[selectedID] && (optionArray[selectedID]['children'].length > 0) ) {
		$(selectBox).html('');
		$(optionArray[selectedID]['children']).each(function(){
			$(selectBox).append('<option value="'+this['value']+'">'+this['label']+'</option>');
		});
	}
}
