/* Title Select */
/* ---------------------------------------------------------------------------------------------------- */
function selectChange() {
	
	/* Check Exists */
	if ( jQuery( '#form_title').length && jQuery( '#form_title_other').length && jQuery( '#selectorTitleOther').length ) {
		
		/* Check Value */
		if ( jQuery( '#form_title').val() == 'Other' ) {
			
			/* Show Other */
			jQuery( '#selectorTitleOther').show();
			
			/* Set Value */
			if ( jQuery( '#form_title_other').val() == '--' ) {
				jQuery( '#form_title_other').val('');
				
				/* Set Validation */
				if ( jQuery( '#form_title_other_marker').length ) {
					jQuery( '#form_title_other_marker').html('');
				}
				if ( jQuery( '#form_title_other_error_message').length ) {
					jQuery( '#form_title_other_error_message').html('');
				}

			}
		
		} else {
			
			/* Hide Other */
			jQuery( '#selectorTitleOther').hide();
			
			/* Set Value */
			jQuery( '#form_title_other').val('--');
		
		}
		
	}
	
}



/* Country */
/* ---------------------------------------------------------------------------------------------------- */
var previousCountry = "false";
function selectCountry( codes ) {
	
	/* Check Exists */
	if ( ( jQuery( '#form_telephone').length || jQuery( '#form_mobile').length ) && jQuery( '#hiddenCountryCodes').length && codes != "false" ) {
		
		/* Get Country */
		var country = jQuery( 'select[name=form_country]' ).val();
		
		/* If Country */
		if ( country && country != 'Please Select' ) {
			
			/* Loop Array */
			$.each( codes , function( key , value ) {
				
				/* Match Country */
				if ( country == value.id ) {
					
					/* Telephone */
					if ( jQuery( '#form_telephone').length && value.text && value.text != '-' ) {
						
						/* Check For Number */
						if ( jQuery( '#form_telephone').val() == '' || jQuery( '#form_telephone').val() == previousCountry ) {
						
							/* Set Value */
							jQuery( '#form_telephone').val( '(' +  value.text + ')' );
						
						}
						
						/* Check For Number */
						if ( jQuery( '#form_mobile').val() == '' || jQuery( '#form_mobile').val() == previousCountry ) {
						
							/* Set Value */
							jQuery( '#form_mobile').val( '(' + value.text + ')' );
						
						}
						
						/* Record Country */
						previousCountry = '(' + value.text + ')';
						
					}
					
				}
      			
			});
		
		}
	
	}

}

/* Load Country Codes */
/* ---------------------------------------------------------------------------------------------------- */
function loadCountryCodes() {
	
	if ( jQuery( '#form_telephone').length ) {
		var codes = $('li').map(function() {
		var $item = $(this);
 		return { 
			id: $item.data('id'), 
			text: $item.text()
			};
		}).get();
		return codes;
	} else {
		return "false";
	}
}

/* Advertising Autofill */
/* ---------------------------------------------------------------------------------------------------- */
function selectAdvertisingAutofill() {
	
	var selection = jQuery( 'select[name=form_autofill]' ).val();
	
	var form_name;
	var form_company_name;
	var form_address_1;
	var form_address_2;
	var form_address_3;
	var form_town_city;
	var form_postcode;
	var form_telephone;
	var form_stands;
	var form_update = "no";
	
	/* Billing */
	if ( selection == "billing") {
		
		/* Set Flag */
		form_update = "yes";
		
		/* Get Data */
		form_name = jQuery( 'input[name=billing_name]' ).val();
		form_company_name = jQuery( 'input[name=billing_company_name]' ).val();
		form_address_1 = jQuery( 'input[name=billing_address_1]' ).val();
		form_address_2 = jQuery( 'input[name=billing_address_2]' ).val();
		form_address_3 = jQuery( 'input[name=billing_address_3]' ).val();
		form_town_city = jQuery( 'input[name=billing_town]' ).val();
		form_postcode = jQuery( 'input[name=billing_postcode]' ).val();
		form_telephone = jQuery( 'input[name=billing_telephone]' ).val();
		form_stands = jQuery( 'input[name=billing_stands]' ).val();

	} else if ( selection.substring( 0 , 8 ) == "profile_" ) {
		
		/* Set Flag */
		form_update = "yes";
		
		/* Set Selection */
		selection = selection.replace( "profile" , "" );
		
		/* Get Data */
		form_name = jQuery( 'input[name=profile_name' + selection + ']' ).val();
		form_company_name = jQuery( 'input[name=profile_company_name' + selection + ']' ).val();
		form_address_1 = jQuery( 'input[name=profile_address_1' + selection + ']' ).val();
		form_address_2 = jQuery( 'input[name=profile_address_2' + selection + ']' ).val();
		form_address_3 = jQuery( 'input[name=profile_address_3' + selection + ']' ).val();
		form_town_city = jQuery( 'input[name=profile_town' + selection + ']' ).val();
		form_postcode = jQuery( 'input[name=profile_postcode' + selection + ']' ).val();
		form_telephone = jQuery( 'input[name=profile_telephone' + selection + ']' ).val();
		form_stands = jQuery( 'input[name=profile_stands' + selection + ']' ).val();
		
	}

	/* Set Form */
	if ( form_update == "yes" ) {

		jQuery( 'input[name=form_name]' ).val( form_name );
		jQuery( 'input[name=form_company_name]' ).val( form_company_name );
		jQuery( 'input[name=form_address_1]' ).val( form_address_1 );
		jQuery( 'input[name=form_address_2]' ).val( form_address_2 );
		jQuery( 'input[name=form_address_3]' ).val( form_address_3 );
		jQuery( 'input[name=form_town_city]' ).val( form_town_city );
		jQuery( 'input[name=form_postcode]' ).val( form_postcode );
		jQuery( 'input[name=form_telephone]' ).val( form_telephone );
		jQuery( 'input[name=form_stands]' ).val( form_stands );
		
	}
	
}

/* Runtime */
/* ---------------------------------------------------------------------------------------------------- */
jQuery(document).ready(function() {
	
	/* Set Document */
	selectChange();
	
	var codes = loadCountryCodes();

	/* Title */
	jQuery( 'select[name=form_title]' )
	.change(function() { selectChange();})
	.keydown(function(event) { if ( event.keyCode == 9 ) { selectChange(); } });
	
	/* Country Codes */
	jQuery( 'select[name=form_country]' )
	.change(function() { selectCountry( codes );})
	.keydown(function(event) { if ( event.keyCode == 9 ) { selectCountry( codes ); } });
	
	/* Advertising Autofill */
	if ( jQuery( '#selectorAutofillAd').length ) {
		jQuery( '#selectorAutofillAd').show();
	}
	
	/* Country Codes */
	jQuery( 'select[name=form_autofill]' )
	.change(function() { selectAdvertisingAutofill();})
	.keydown(function(event) { if ( event.keyCode == 9 ) { selectAdvertisingAutofill(); } });
	

});
