$(document).ready(function() {
	var loadTool = function(tool) {
		var toolURL = 'ajax/tool-wrapper/load-' +tool +'-code.html?background_color=' + $('#tool-calculator-config-secondary-color').val() + '&text_color=' + $('#tool-calculator-config-primary-color').val() +'&style=' +$('#tool-download input[name="style"]:checked').val();
		$('#TheCode').show().load(toolURL);
	};

	$('.tool-download.calculator #download-tool').click(function() {
		loadTool('calculator');
		return false;
	});
	
	$('.tool-download.glossary #download-tool').click(function() {
		loadTool('glossary');
		return false;
	});
	
	$('.tool-download.news-feed #download-tool').click(function() {
		loadTool('news-and-stories');
		return false;
	});
	
	$('.tool-download.basics-feed #download-tool').click(function() {
		loadTool('basics');
		return false;
	});
	
	$('.tool-download.program-search #download-tool').click(function() {
		loadTool('program-search');
		return false;
	});
	
	$('#tool-calculator-config-primary-color').change(function() {
		$('#tool-calculator-config-primary-color').val( $('#tool-calculator-config-primary-color').val().replace(/^[#]/, '') )
		if (!isValidColorCode($('#tool-calculator-config-primary-color').val()))
		{
			alert('Please enter a valid hex code!');
			$('#tool-calculator-config-primary-color').val( '' );
			return false;
		}
				
		$('.tool-preview iframe').attr( 'src', $('.tool-preview iframe').attr( 'src' ).replace( /text_color=[0-9A-Fa-f]+/gi, 'text_color=' + $('#tool-calculator-config-primary-color').val() ) );
		return false;
	});	
	
	$('#tool-calculator-config-secondary-color').change(function() {
		$('#tool-calculator-config-secondary-color').val( $('#tool-calculator-config-secondary-color').val().replace(/^[#]/, '') )
		if (!isValidColorCode($('#tool-calculator-config-secondary-color').val()))
		{
			alert('Please enter a valid hex code!');
			$('#tool-calculator-config-secondary-color').val( '' );
			return false;
		}
		
		$('.tool-preview iframe').attr( 'src', $('.tool-preview iframe').attr( 'src' ).replace( /background_color=[0-9A-Fa-f]+/gi, 'background_color=' + $('#tool-calculator-config-secondary-color').val() ) );
		return false;
	});
});

function hideTheCodeDiv() {
	$('#TheCode').hide();		
}

function isValidColorCode(code){
	
	if(code.length != 3 && code.length != 6)
	{
		return false;
	}
	 
	return -1 == code.search(/[^0-9A-Fa-f]+/);
}
