// JavaScript Document
$(document).ready(function() {
						   
				function viewTop() {
			window.scrollTo(0,0);
		}
			$("#print_preview input").live('click',function(){
				alert("Modifications can not be made here. This is for preview only");									
			});
			$("#job_company").blur(function() {
				var company=$(this).val();
				if(company!="")
				$.cookie("emergencyPlan", company,{ expires: 21 });
											
			});
 			$("#quick_list_button").click(function() {
				$("#dialog").dialog('open');
			return false;
			
			});
		
		//  Add rows for number persons
		//first reset num people
		$("#job_count_people").val(0);
		
		// don't allow click on people stuff until rows created
		$("#person_table input").not("#job_no_climb").click(function() {
			if(	$("#job_count_people").val()==0) {
				alert("Please select number of personnel first");
				//$(this).removeAttr("checked");
				return false
			}
		
		});
		$("input[type=radio], input[type=checkbox]").css("cursor","pointer").parent("label").css("cursor","pointer");
		//  show "Describe" if other selected
		$("#rescue_other").click(function () {
				$(this).parent().siblings("div").slideDown();						   
		});
		
	  	$("#job_count_people").change(function() {
											   
			//$(".personnel").not(":first").remove();								   
			var numfolks=$(this).val();
			//var $newRow=$(".personnel:first").clone();
			var noShowIndex=parseInt(numfolks);
					//  create field names for personell
					$(".unused").removeClass("unused");
				$(".personnel").each(function(i) {
						if ( i >= noShowIndex ){
							$(this).hide();
							$(this).addClass("unused").find(".job_rescue_train:last").attr("checked","checked");
						}
						if( i < noShowIndex && $(".job_no_climb:checked").val()=="NO"){
								$(this).show();
								$(this).find(".job_rescue_train:last").attr("checked","checked");
								$(this).find(".job_rescue_train").attr("disabled","disabled");
								//$(this).find(".job_rescue_train:last").attr({disabled:"disabled",checked:"checked"});
						
						}
						$(this).find(".job_rescue_train:last").addClass("train_na");
						if($(".job_no_climb:checked").val=="YES"){
							$(".train_na").parent("label").hide();
						}else{
							$(".train_na").parent("label").show();
						}
				 });
				if($(".job_no_climb:checked").length>0) {
							$(".job_no_climb:checked").triggerHandler("mouseup");

				}else{
				//$("#climb_question_wrap").slideDown();
				$("#leaveBlank_question_wrap").slideDown();
				}

		});
		
		$(".job_person").focus(function(){
				$(this).addClass("focus");																							  
		});
		$(".job_person").blur(function(){
				$(this).removeClass("focus");																							  
		});

		
		//_______________ NEW CODE FOR BLANK FORM
		
			$(".job_blankForm").parent("label").andSelf().click(function() {
					if($(".job_blankForm:checked").val()=="NO"){
						$("#tab3 .radio_check label").hide();
						$(".complete_later").show();
					}else{
						$("#tab3 .radio_check label").show();
						$(".complete_later").hide();
					}
					$("#climb_question_wrap").slideDown();//alert($(".job_blankForm:checked").val())
						
			});
		
		//_______________
		
		
		
		//  no climb check off- create n/A's
		$(".job_no_climb").parent("label").andSelf().mouseup(function() {
			setTimeout("changeClimb()",10)								
		});
		
		$("td.no_climb,td.no_climb input:disabled ").live('click',function() {
			if($(this).is(".no_climb_disabled")||$(this).parents("td").is(".no_climb_disabled") )
			alert("These fields were set as N/A when you selected NO CLIMBING\n\n Uncheck the NO CLIMBING box to revert back"); 										  
		});
		
		
		
		
		// emerg serv tab VALIDATION
		$("input[name=job_911]").click(function() {
			if($(this).val()== "NO" ) {	
				$("#landline_span").slideDown();
				$("#job_landline").addClass("required");
				if($(this).is("incomplete") ){
					$("#job_landline").addClass("incomplete");
				}
			}else{
				$("#landline_span").slideUp();
				$("#job_landline").removeClass("required").removeClass("incomplete");
			}
		
		 });
		
		
		$(".content_proceed").eq(0).click(function() {
				$("#location_tab").show();
				//$("ul.tab a").eq(1).click();
				setTimeout(viewTop,50);
				return true;					   
		});
		
		//$(".content_proceed").eq(1).click(function() {
		$("#emerg_serv_proceed").click(function() {										   
			// VALIDATION emerg services only
			$(".incomplete").removeClass("incomplete");
			$("#emerg_serv_form .required").each(function(){
				if($(this).val()=="") {
					if($(this).is("select")) {
						$(this).parent().find("label").addClass("incomplete");		   
					}

					$(this).addClass("incomplete");
					$(this).blur(function() {
						if(	!$(this).val()=="" ){
							$(this).removeClass("incomplete").siblings("label").removeClass;
						}
					});
				}
				if($(this).is("input[type=checkbox]") && !$(this).is(':checked')) {
						$(this).addClass("incomplete").siblings("span").addClass("incomplete");
						$("input[type=checkbox].incomplete").click(function(){
								$(this).removeClass("incomplete").siblings("span").removeClass("incomplete");												
						});
					 }
			
			 });
			$("#emerg_serv_form td.radio_check").each(function() {
				if($(this).find(":checked").length==0) {
					$(this).addClass("incomplete").find("label").addClass("incomplete");
					$(this).find("input[type=radio]").click(function() {
						$(this).parents("td").removeClass("incomplete").find("label").removeClass("incomplete");											
					});
				}
			});
			
			if(!$("#emerg_serv_form .incomplete").length==0) {
				
				alert("Please complete all missing red fields");
				var firstIncomplete=$(".incomplete:first").offset().top-250;
				window.scroll(0,firstIncomplete);
				
			}else{// end validation
				var tabToOpen= $(this).attr("rel");
				$("ul.tabs li").eq(tabToOpen).show();	
				$("ul.tabs a").eq(tabToOpen).click();
				setTimeout(viewTop,50);		
		
			}
				return false
		
		 });// end emerg serv tab validation/ "NEXT'

		
		// reset work type on load
		$("#job_work").val("");
		
		
		$(".job_list_personnel").parent("label").andSelf().click(function(){
			
				var listFolks=$(".job_list_personnel:checked").val();
				//log(listFolks);
			if(	listFolks=="NO"){
				$("#person_table_wrap").hide().find(".required").removeClass("required");
				$("#howMany").hide();
				//$("#climb_question_wrap").slideDown();
				$("#leaveBlank_question_wrap").slideDown();
				// need this for validation of all 'radio_check'
				//$("tr.personnel td:gt(0)").removeClass("radio_check");
				$("tr.personnel .radio_check").removeClass("radio_check");
				//$("tr.personnel:gt(0)").remove();
				$("#job_count_people").val(0);

			}else{
				
														  
				// this is for case where change mind
				if(	$("#howMany").is(":visible") && $("#job_count_people").val()>0 ){
					$("#person_table_wrap").slideDown();
				}
														  
				$("#howMany").css("display","inline");
				//});
				// need this for validation of all 'radio_check'
				$("tr.personnel ").not(".unused").each(function(){
								$(this).find("td:gt(0)").addClass("radio_check");
				});
				
			}
													
		});
		
		// VALIDATION rescue/first aid only
		$("#rescue_proceed").click(function() {
					$(".incomplete").removeClass("incomplete");
					
					// for morons who keep changing mind and add people later but not how many
					if( $("#job_count_people").val()==0 && $(".job_list_personnel:checked").val()=="YES"){
						$("#howMany label").addClass("incomplete");
					}
	
	
					
					$("#rescue_form .required").each(function(){
						if($(this).val()=="") {
							$(this).addClass("incomplete");
							$(this).blur(function() {
								if(	!$(this).val()=="" ){
									$(this).removeClass("incomplete");
								}
							});
						}
						if($(this).is("input[type=checkbox]") && !$(this).is(':checked')) {
								$(this).addClass("incomplete").siblings("span").addClass("incomplete");
								$("input[type=checkbox].incomplete").click(function(){
										$(this).removeClass("incomplete").siblings("span").removeClass("incomplete");												
								});
							 }
						if($(this).is("select" )&& $(this).val()=="" ) {
							$(this).parent("label").addClass("incomplete");
							$(this).change(function() {
								if(!$(this).val()==""){
									$(this).removeClass("incomplete").parent("label").removeClass("incomplete");
								}
							});
						}
					 });
					$("#rescue_form  td.radio_check").each(function() {
						if($(this).find(":checked").length==0) {
							$(this).addClass("incomplete").find("label").addClass("incomplete");
							$(this).find("input[type=radio]").click(function() {
								$(this).parents("td").removeClass("incomplete").find("label").removeClass("incomplete");											
							});
						}
					});
					
					// modify due to all personnel rows in table
					$(".unused .incomplete").removeClass("incomplete");
					
					if(!$("#rescue_form .incomplete").length==0 && $(".job_blankForm:checked").val()=="YES") {
						//alert("Please complete all missing red fields");
						var firstIncomplete=$(".incomplete:first").offset().top-200;
						window.scroll(0,firstIncomplete);
						
						// over ride validation so entries can be made later
						var confirmForm= confirm("Red items are incomplete. Do you wish to complete these in the field?");
						if (confirmForm==true){
								createPDF();
								var tabToOpen= $(this).attr("rel");
								$("ul.tabs li").eq(tabToOpen).show();	
								setTimeout(viewTop,50);
						}else{
							return false;// need this for history
						}
					}else{// end validation
						createPDF();
						var tabToOpen= $(this).attr("rel");
						$("ul.tabs li").eq(tabToOpen).show();	
						setTimeout(viewTop,50);
					}
				
				//return true;
		 });// end rescue serv tab validation/ "NEXT'

		
		
		$(".safety_form input[type=text], .safety_form textarea, .safety_form select").focus(function(){
				$(this).addClass("focus");																							  
		});
		$(".safety_form input[type=text], .safety_form textarea, .safety_form select").blur(function(){
				$(this).removeClass("focus");																							  
		});

		var submitURL;
		var submitType;
		var submitTarget;
		$("#pdf_form").submit(function() {
			$(this).ajaxSubmit({
				url:	submitURL,//timeout: 5000,
				type: submitType,
				dataType: 'html',
				//beforeSubmit:  showRequest, 			   
				success:       showResponse,
				
				error: function(event, XMLHttpRequest, ajaxOptions, thrownError) { 
					//alert(" Problems connecting to server, please try again later");
					alert(event, XMLHttpRequest, ajaxOptions, thrownError);
					
					}
									   
			});
			return false; 
		 });
		function createPDF() {
			$(".pdf_loading").show();
			createFileName();
			//submitURL="php/html2pdf/my_tests/exemple-demo3.php";
			//submitURL="php/create-pdf-emer-action-form.php";
			submitURL="php/test-post-new-site.php";
			// coldfusion test
			//submitURL="cf-PDF/pdf-emerg-action-form-template.cfm";
			
			
			submitType="post";
			upDateForm();	
			submitTarget="";
				$("#pdf_form").trigger('submit');
		
		}
		//  Revise the PDF
		var createPDF_url="php/test-post-new-site.php";
		// coldfusion test
		//var createPDF_url="cf-PDF/pdf-emerg-action-form-template.cfm";
		
		$("#create_pdf").click(function() {
			$(".pdf_loading").show();
			createPDF();
		});
		
		//  print preview setup from PDF html view
		
		$(".print_preview_link, #pdf_link").click(function() {
			// coldfusion test											   
			//$(".print_preview_link").click(function() {											   
			//submitURL="php/html2pdf/my_tests/exemple-demo3.php?vuehtml";
			submitURL="php/create-pdf-emer-action-form.php?vuehtml";
			submitType="get";
			//submitTarget="#print_preview";
			upDateForm();
			$("#pdf_form").trigger('submit');
			$("#content").slideUp(1000, function() {
				 $("#print_preview").slideDown(1000);
			});
			//$("#print_preview").dialog('open');
			return false;
			
		});
		var today=new Date()
		
	 	

		$(".sample_form_link").click(function() {
											  
			$("#preview_holder").load("php/sample_form.php", function(){ $("#today_date").text((today.getMonth()+1)+" / "+today.getDate()+" / "+today.getFullYear())});
			$("#content").slideUp(1000, function() {
				 $("#print_preview").slideDown(1000);
			});
			//$("#print_preview").dialog('open');
			return false;
			
		});
		
		
		
		
		
		
		$(".form_preview_link").click(function() {
											   
			$("#print_preview").slideUp(1000, function() {
				 $("#content").slideDown(1000);
				 
			});
			window.scroll(0,0);				   
				$("#preview_holder").empty();										
			return false;
		});
		
		// validate first email address
		function isValidEmailAddress(emailAddress) {
					var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
	}
		
		$("#email_form .job_email").blur(function(){
			var email=$(this).val()	;
			if(!email == "") {
					
					if( isValidEmailAddress(email) ) {
						$(this).addClass("email_ok").removeClass("incomplete");
					}else{
						$(this).addClass("incomplete");	
					}
			}else{
				// in case bad email deleted
				$(this).removeClass("incomplete");
			}
		});
		// ajax send mail
		$("#email_form").submit(function() {
					var numEmail=0;
					var goodEmail=0;
					numEmail=($("#email_form .email_ok").length) + ($("#email_form .incomplete").length);			 
					goodEmail=$("#email_form .email_ok").length	;			 
						//console.log(numEmail,goodEmail	)			 
					if(goodEmail==0 || goodEmail<numEmail) {
						alert("Please verify email addresses");
						
					}else{
					$("#comment_email").val($("#email0").val())				 
						var r=confirm("Have you made revisions?\n\n You must save them prior to email. \n\n DO YOU WANT TO SEND EMAIL? ")
						if (r==true) {
					
						 
										 
						$(this).ajaxSubmit({
							//beforeSubmit:  showRequest,
							dataType:'json',
							success:  function(responseText, statusText) {
								//var response=responseText.toString();
								var response=responseText.response[0].message;
								if(response.length >8 ){
								//if(!response=="success" ){	
								alert('Error: \n' + response );
								}else{
								$("#final_review").hide('scale',function() {
									$("ul.tabs, .panes").hide();									 
									$("#after_form").show('scale','slow');									 
								});
								}
							},
							error: function(event, XMLHttpRequest, ajaxOptions, thrownError) { 
								//alert(" Problems connecting to server, please try again later");
								alert("An error has occured connecting to server to send PDF");
								
							}
												   
						});
					 }
				}

				return false; 
		 });
		
		$("input[name=job_number_trained]").click(function() {
				var message="";											 
			if( $("#person_table_wrap .job_person").length>1){												 
															 
					if( $(this).val()=="NO"){
					message="Michigan and North Carolina, under certain employment conditions, require 2 people on site to be rescue trained.\n\n You may want to consider this in your best practices.\n\nHover over the question mark to your left for additional information.";
					//return true;
					}else{
					
						var countTrained=0;
						countTrained=$(".job_rescue_train:checked[value=YES]").length;
						
						if(countTrained<2){
						message="You haven't shown two are trained above!";
						}
					}
			 }
			 if(!message==""){
				 alert(message);
			 }
			return true;
		});
		$("#job_work").change(function() {
			if($(this).val()=="Other") {
				$("#job_descrip_wrap").slideDown();
			}else{
				$("#job_descrip_wrap").slideUp();
				$("#person_question_wrap").slideDown();
			}
		});
		
		$("#job_descrip").keyup(function(){
				$("#person_question_wrap").slideDown();						 
		});
		// coldfusion test use this to view PDF
//		$("#pdf_link").click(function () {
//			var href=$(this).attr("href");
//			
//			if(href=="#"){
//			alert("PDF is still being created, please wait a few seconds and try again");
//			}else{
//				window.open(href);
////			$("#job_company2").val($("#job_company").val());
////			$("#company").ajaxSubmit();
//				return true;
//			}
//		});
		
		$("#new_form_link,.new_form_link").click(function () {
			window.location.reload();								
			return false;								
		});
		
		$("#comments_form").submit(function() {
			if ( $("#beta_comments").val() !=""){								
					$(this).ajaxSubmit({
						dataType: 'json',
						beforeSubmit:  function() {
							//$("#comment_email").val($("#email0").val());
							/*alert($("#comment_email").val())*/
																		   }, 			   
						success:       function(data, status) {
							$("#comment_div p:visible").fadeOut();
							//alert(status);
							$(".comments_thanks").slideDown();
							$("#comments_form").hide();
						},
						
						error: function(event, XMLHttpRequest, ajaxOptions, thrownError) { 
							//alert(" Problems connecting to server, please try again later");
							alert(event, XMLHttpRequest, ajaxOptions, thrownError);
							
							}
											   
					});
			}else{
				alert("No Comment entered");
			}
			return false;								
		});
		
		
		
		// pre-submit callback 
//function showRequest(formData, jqForm, options) { 
//    return true; 
//} 
 
// post-submit callback 
function showResponse(responseText, statusText)  { 

// not sure what i did here but 2 scenarios are create PDF or use GET to open in print preview
    if( submitURL==createPDF_url ) {
	//alert(responseText);
	$("#pdf_success").slideDown();
	$(".pdf_loading").fadeOut();
	$("#pdf_link").show();
	}else{
		$("#preview_holder").html(responseText);
		$("#preview_holder div:first img").remove();
	}
} 

function createFileName() {
	
	var d= new Date();
				dateNow="-" + (d.getMonth()+1)+ "-" + d.getDate()+"-" + d.getFullYear();;
				var jobName= $("#job_name").val().replace(/ /g,"");
				jobName=jobName.replace(/[^0-9a-zA-Z]+/g,"-");
				
				
				fileName=jobName + dateNow +".pdf";
				mapfileName=jobName + dateNow +".png";
				
				var textFileName=jobName + dateNow+".txt";
				// test due to PDFF problems
				$("#pdf_form").append('<input type="hidden" name="test_filename" id="test_filename" value="' +textFileName+'" />');
				$("#job_filename,#email_filename ").val(fileName);
				$("#job_map_filename").val(mapfileName);
				//var pdfURL="pdf-reports/emergency-action-plan/" + fileName;
				
				// cfm test file
				//var pdfURL="cf-PDF/test.pdf";
				
				//$("#pdf_link").attr("href",pdfURL);
	//alert("PDF file Name is" +pdfURL);
}
});// end document ready

			function upDateForm() { 
					$("#pdf_form .form_update").remove();	
					$(".safety_form").each(function() {
							$(this).find("input").each(function() {
								var $clone = $(this).clone().removeAttr('id');
								var cleantext=$(this).val().replace("&","and");
								$clone.val(cleantext);
								if($(this).is(":checked")){
									$clone.attr("checked","checked");
								}
								$clone.addClass("form_update").appendTo("#pdf_form");
								
							});
							$(this).find("textarea").each(function() {
								var $clone = $(this).clone().removeAttr('id');
								var cleantext=$(this).val().replace("&","and");
								$clone.val(cleantext)
								$clone.addClass("form_update").appendTo("#pdf_form");
							});
							$(this).find("select").each(function() {
								var $clone = $(this).clone().removeAttr('id');
								$clone.val($(this).val())
								$clone.addClass("form_update").appendTo("#pdf_form");
							});
							
					});
					$("#pdf_form").find(":disabled").removeAttr("disabled");
			}

function changeClimb() {
	//log( $(".job_no_climb:checked").val());
					if ( $(".job_no_climb:checked").val()=="NO" ) {
						$(".no_climb_message").show();			
						$(".no_climb").addClass("no_climb_disabled").find(".incomplete").andSelf().removeClass("incomplete");
						$(".no_climb input[type=radio][value=NA]").attr("checked","checked").parents("td").find("input[type=radio]").attr("disabled","disabled");
						$(".train_na").parent("label").show().siblings('label').hide();
					}else{
					$(".no_climb_message").hide();			
						$(".no_climb_disabled").removeClass("no_climb_disabled");
						$(".no_climb input[type=radio]").removeAttr("checked").removeAttr("disabled");
						$(".train_na").parent("label").hide().siblings('label').show();
		
					}
					if($(".job_list_personnel:checked").val()=="YES" && $("#job_count_people").val()>0){
						$("#person_table_wrap").slideDown('slow');
						//$(".train_na").parent("label").hide();
					}
					$("#rescue_wrap").slideDown('slow');
					$("#tab3 a.content_proceed").show();
			}
 
  
  
  
  
  

