$(document).ready(function(){
	
	function reqs () {
		$('#sitForm input,#sitForm select,#sitForm textarea').each(function(){ // if the label has required, add the required text to it
			if($(this).hasClass('required')) {
			//	alert('dfsdf');
				labelFor = this.id;
				$('#sitForm label').each(function(){
					if($(this).attr("for") == labelFor) {
					//	alert('tes');
						$(this).children('span').remove().end().append("<span class=\"need\"> (required)</span>");
					}
				});

			}
		});
	}
	
	reqs();


	$('#datePurchased').datepicker();
	$('#purchaseDate').datepicker();
	$('#problemDate').datepicker(); // add date picker to this field
	$('#resFade,#carBikeBoat').hide();
	document.getElementById('resolved').selectedIndex = "0"; // reset this select to default on refresh
	document.getElementById('product').selectedIndex = "0"; // reset this select to default on refresh
	document.getElementById('service').selectedIndex = "0"; // reset this select to default on refresh
	document.getElementById('whatComplaint').selectedIndex = "0"; // reset this select to default on refresh
	
	noSub = false; // dont let the form submit
	complaintLabelText = $('#complaintDescLabel').html();
	complaintLabelExtra = $('#complaintDescLabel').html()+" <span class=\"need\">(Reduce to under 200 characters)</span>";
	please = "<p class=\"please message\">Please check above, and fill out all the fields marked as required</p>"
	phones = "<p class=\"please message\">Please provide us with at lease one phone number, at the top of the form.</p>"
	firstRes = true; // this is here to hide / show 'file' message, rather than create it, when needed
	firstCont = true;
	file = "<p id=\"file\" class=\"message\">Before you file your complaint with Consumer Affairs, you must contact the manager or owner of the company</p>";
	cont = "<p id=\"cont\" class=\"message\">Please continue to the next section: Car, Bike or Boat</p>";
	
	$('#resolved').change(function(){
	//	alert(firstRes);
		if (firstRes == true) {
			if($(this).val() == "No") {  
				$('#resolved').after(file); 
				$('#resFade').hide();
				firstRes = false;
				noSub = true;
			} else if ($(this).val() == "-- Select --") {
				noSub = true;
				$('#resFade').hide();
				
			} else {
				$('#file').hide();
				$('#resFade').show();
			}
		} else if (firstRes == false) {
			$('#file').hide();
			$('#resFade').show();
			if($(this).val() == "No") {
				$('#file').show();
				$('#resFade').hide();
				noSub = true;
			} else if ($(this).val() == "-- Select --") {
				noSub = true;
				$('#resFade').hide();
				
			} else {
				noSub = false;
			}
		}

	});
	
// if product is selected as 'yes', it makes the name of product field required, then rebinds 'required' js
	$('#product').change(function() {
		if($(this).val() == "Yes") {
			$('#some_name').addClass('required');
			reqs();
		}		
	});
	
	// if service is selected as 'yes', it makes the name of service field required, then rebinds 'required' js
	
	$('#service').change(function() {
		if($(this).val() == "Yes") {
			$('#serviceType').addClass('required');
			reqs();
		}		
	});
	
	
	$('#whatComplaint').change(function(){
		if (firstCont == true) {
			if($(this).val() == "Yes") {
				$(this).after(cont);
				$('#carBikeBoat').slideDown("fast");
				$('#prodFade').hide();
				firstCont = false;
			} else if ($(this).val() == "-- Select --") {
				$('#carBikeBoat').slideUp("fast");
				$('#prodFade').show();
			} else {
				$('#carBikeBoat').slideUp("fast");
				$('#prodFade').show();
			}
		} else if (firstCont == false) {
		//	$('#cont').hide();
		//	$('#prodFade').show();
			if($(this).val() == "Yes") {
				$('#carBikeBoat,#cont').slideDown("fast");
				$('#prodFade').slideUp("fast");
			} else if ($(this).val() == "-- Select --"){
				$('#carBikeBoat').slideUp("fast");
				$('#prodFade').slideDown("fast");
				$('#cont').slideUp("fast");
			} else {
				$('#carBikeBoat').slideUp("fast");
				$('#prodFade').slideDown("fast");
				$('#cont').slideUp("fast");
			}
		}

	});
	
	$('#sitSubmit').click(function(){
		$('.please').remove();
		
		requiredDone = true;
		$('#sitForm input,#sitForm select, #sitForm textarea').each(function(){ // sets requiredDone to false if any of the required fields are blank
			if(this.className == "required" && $(this).is(':visible')) {
				if ($(this).val() == "" || $(this).val() == "-- Select --" || $(this).val() == "Enter text here") {
					requiredDone = false;
				}
			}
		});
		
		// checks to see if any of the phone fields have been filled out
		
		noPhone = false;
		if($('#homePhone').val() == "" && $('#workPhone').val() == "" && $('#cellPhone').val() == "") {
			noPhone = true;
		}
		
		
		
		
		if(noSub == true) { // dont let the form submit
			return false;
			
		} else if(requiredDone == false) {
			$(this).before(please);
			return false;
		} else if (noPhone) {
			$(this).before(phones);
			return false;
		} else {
			$('.please').remove();
		}
	});
	
	$('#complaintDesc').keyup(function(){ // maximum length thing
		if(this.value.length > 200) {
			$(this).addClass('tooMuch');
			$('#complaintDescLabel').html(complaintLabelExtra);
			noSub = true;
		} else {
			$(this).removeClass('tooMuch');
			$('#complaintDescLabel').html(complaintLabelText);
			noSub = false;
		}
	});
	
});