$(document).ready(function(){	
	
	//Set variables
	
	$.textComplete = false;
	$.emailComplete = false;
	$.nameComplete = false;
	$.companyComplete = false;
	
	
	// Reset Values
	completionAction(false);
	$("#enquiry_type").val('Choose');
	$("#attach_field").hide();
	$("#company_field").hide();
	$("#position_field").hide();								
	$("#worktype_field").hide();
	$("#attach_disclaimer").hide();	
	$('#form_loader').hide();							
	$("#step_2").fadeTo("slow",0.4);									
	
	
	$("#enquiry_type").change(function(){
		
		switch($("#enquiry_type option:selected").text()){
		case 'Choose':
			$("#step_2").fadeTo("slow",0.4);
			$("#attach_field").slideUp();
			$("#attach_disclaimer").slideUp();			
			$("#company_field").slideUp();
			$("#position_field").slideUp();
			$("#worktype_field").slideUp();			
			checkCompletion();			
			completionAction(false);
			break;
		case 'Business':
			$("#step_2").fadeTo("slow",1);
			$("#attach_field").slideDown();
			$("#attach_disclaimer").slideDown();						
			$("#company_field").slideDown();
			$("#position_field").slideDown();
			$("#worktype_field").slideDown();						
			checkCompletion();			
			break;
		case 'Job Opportunities':
			$("#step_2").fadeTo("slow",1);
			$("#attach_field").slideDown();
			$("#attach_disclaimer").slideDown();									
			$("#company_field").slideUp();
			$("#position_field").slideUp();
			$("#worktype_field").slideUp();											
			checkCompletion();
			break;
		case 'General':
			$("#step_2").fadeTo("slow",1);
			$("#attach_field").slideUp();
			$("#attach_disclaimer").slideUp();						
			$("#company_field").slideUp();
			$("#position_field").slideUp();			
			$("#worktype_field").slideUp();														
			checkCompletion();			
			break;
		}
	});
	
	$("#form_message").focus(function(){
		$(this).animate({ 
				backgroundColor:"#e6f4b5" 
		}, { queue:false, duration:1000 } );
	});

	$("#form_message").blur(function(){
		$(this).animate({ 
				backgroundColor:"#FFFFFF"
		}, { queue:false, duration:1000 } );
	});
	
	$("#step_2 input").focus(function(){
		$(this).animate({ 
				backgroundColor:"#e6f4b5" 
		}, { queue:false, duration:1000 } );
	});
	
	$("#step_2 input").blur(function(){
		$(this).animate({ 
				backgroundColor:"#FFFFFF" 
		}, { queue:false, duration:1000 } );
	});	
	
	$("#form_company").blur(function(){
		if($(this).val() == ''){
			$.companyComplete = false;			
			checkCompletion();
			addStatusClass('#form_company','warning');		
		}else{
			$.companyComplete = true;
			checkCompletion();
			addStatusClass('#form_company','ok');					
		}
	});
	
	$("#form_message").keyup(function(){
		if($(this).val() == ''){
			$.textComplete = false;			
			checkCompletion();
			addStatusClass('#form_message','warning');		
		}else{
			$.textComplete = true;
			checkCompletion();
			addStatusClass('#form_message','ok');					
		}
	});

	$("#form_message").blur(function(){
		if($(this).val() == ''){
			$.textComplete = false;			
			checkCompletion();
			addStatusClass('#form_message','warning');		
		}else{
			$.textComplete = true;
			checkCompletion();
			addStatusClass('#form_message','ok');					
		}
	});
	
	$("#form_name").blur(function(){
		if($(this).val() == ''){
			$.nameComplete = false;			
			checkCompletion();
			addStatusClass('#form_name','warning');		
		}else{
			$.nameComplete = true;
			checkCompletion();
			addStatusClass('#form_name','ok');					
		}
	});	

	$("#form_email").blur(function(){
		if($(this).val() == ''){
			$.emailComplete = false;
			addStatusClass('#form_email','warning');																										
		}else{
			if(checkEmailAddress($(this).val()) == true){
				$.emailComplete = true;
				checkCompletion();
				addStatusClass('#form_email','ok');														
			}else{
				$.emailComplete = false;
				checkCompletion();
				addStatusClass('#form_email','warning');																							
			}
		}
	});
	
	
	
	function checkCompletion(){
		if($.nameComplete == true && $.emailComplete == true && $.textComplete == true){
			if($("#enquiry_type option:selected").text() == 'Business'){
				if($.companyComplete == true){
					completionAction(true);
				}else{
					completionAction(false);
				}							
			}else{
				completionAction(true);
			}
		}else{
			completionAction(false);
		}
	}
	
	function completionAction(status){
		if(status == true){
			$("#form_submit").attr("disabled",false);
			$("#step_3").fadeTo("slow",1);
		}else{
			$("#form_submit").attr("disabled",true);	
			$("#step_3").fadeTo("slow",0.4);							
		}
	}
	
	function addStatusClass(target,status){
		if(status == 'ok'){
			$(target).removeClass();
			$(target).addClass('form_ok');								
		}else if(status == 'warning'){
			$(target).removeClass();
			$(target).addClass('form_warning');								
		}else{
			$(target).removeClass();		
		}
	}
	
	function checkEmailAddress(emailString){
		var valid = false;
		var atFound = false;
		var dotFound = false;
		for(var i=0; i<emailString.length;  i++){
			if(emailString.charAt(i) == '@'){
				atFound = true;
			}
			if(emailString.charAt(i) == '.'){
				dotFound = true;
			}
		}
		if(atFound == true && dotFound == true){
			valid = true;
		}else{
			valid = false;	
		}
		return valid;		
	}
	
	$('#kc_form').submit(function(){
		$("#form_submit").attr("disabled",true);		
		$('#form_loader').show();
	});
		
});