$(function() {

	// Video functions
	//-------------------------------------------------------------------------------
	var flashVideos = {
	
		defaults: {
		  // Define the configuation values applied to each module.
		  // Each module in flashModules can override these values.
		  
		  src: '/sesame_media/video/flvPlayer.swf',
		  dir: '/sesame_media/video/',//location of video and image files
		  width: 320,
		  height: 266, // Must add 26px to height to accomodate for the UI controls
		  wmode: 'transparent',
		  menu: false,
		  allowFullScreen: true,
		  flashvars: {
		    autoStart: "false", // change value to true to play on start
		    showScaleModes: "false", //set to false to disable scale modes menu
		    smoothVideo: "true", //set to false to disable video smoothing 
		  	hiddenGui: "false"
			},
		  pluginOptions: {version: 9}
		},
	
		videos: [
			{name: 'invisalign', config: {'width': 360, 'height': 266}},
			{name: 'invisalign-best-friends', config: {}},
			{name: 'invisalign-news-travels-fast', config: {}},
			{name: 'invisalign-lobby', config:{'width': 320, 'height': 266}}
		]
	};
	for (var j=0; j < flashVideos.videos.length; j++) {
						var video = flashVideos.videos[j];
						// combine default config settings with module config settings
						var vidConfig = $.extend({}, flashVideos.defaults, video.config);
						// combine default flashvars with module flashvars
						vidConfig.flashvars = $.extend({}, flashVideos.defaults.flashvars, video.config.flashvars);
						vidConfig.flashvars.flvToPlay = vidConfig.dir + video.name + '.flv';
						vidConfig.flashvars.startImage = vidConfig.dir + video.name + '.jpg';
						$('#video-' + video.name).flash(vidConfig, flashVideos.defaults.pluginOptions);
	};
	
	//PrettyPhoto modal windows
	//---------------------------------------------------------------------------------
	$("a[rel^='prettyPhoto']").prettyPhoto({
		animationSpeed: 'normal',		 /* fast/slow/normal */
		default_width: 900,
		default_height: 700,
		opacity: 0.65, 					/* Value betwee 0 and 1 */
		showTitle: false, 				/* true/false */
		allowresize: true, 				/* true/false */
		counter_separator_label: '/', 	/* The separator for the gallery counter 1 "of" 2 */
		theme: 'facebook', 				/* light_rounded / dark_rounded / light_square / dark_square / facebook */
		hideflash: false, 				/* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */
		wmode: 'transparent', 			/* Set the flash wmode attribute */
		autoplay: true, 				/* Automatically start videos: True/False */
		modal: false 					/* If set to true, only the close button will close the window */
	});	
	
	
	// jQuery Cycle Before and After 
	//-------------------------------------------------	--------------------------------
	$('#invisalign-before-after #before-after-cycle') // Give this ID a unique name if more than one office tour is needed on a page
	.before('<div class="before-after-nav">') // Ditto for this ID
	.cycle({
		cleartype: true, // true if clearType corrections should be applied (for IE)
		cleartypeNoBg: true, // Set to true to disable extra cleartype fixing (leave false to force background color setting on slides)
		speed: 500, // This controls speed of transition
		timeout: 0, // This controls delay between slides. Set to 0 if more than one office tour on a page, so they don't auto-play
		pager:  '.before-after-nav',
		before: function() {
			$('.cycle-detail span').fadeOut(); // Give this ID a unique name if more than one office tour is needed on a page
		},
		after: function(curr, next, opts) {
			var cycle_alt = $(next).find('img').attr('alt'); // This grabs the image alt text
			$('.cycle-detail span').html(cycle_alt).fadeIn(); // This puts alt text into the caption span
		}
	});
	
// Open external links in new windows
$('a[href^="http://"], a[href^="https://"], a[href$=".doc"], a[href$=".pdf"]')
.not('[href*="orthosesame.com"], [href*="marcschwartzdds.com"], [href*="site1290.web02.sesameservers.com"] ,[href*="sesameinteractive.com"]')
.addClass('external').attr('target', '_blank');

//Form Functions
//---------------------------------------------------------------------------------
		//Hide all items with class of "hidden-content"
		$('.hidden-content').css('display', 'none');
		
		//Sequential numbering of comment form li's
		$(".sequential-list li").each( function(i) {
		    i = i+1;
		    $(this).prepend('<span class="comment-number">' + i + '. </span>');
		});
		
		//toggle hidden fields on Appointment Request Form
		//New Patient Toggle...
		$("input[name^='Current_Patient']").click( function() {
			 if ($("input[name^='Current_Patient']:checked").val() == 'No')
			 	//not current patient, ask where they found us
			 	$('.hidden-content').fadeIn('slow');
			else 
				//current patient, hide content
				$('.hidden-content').fadeOut();
					if($('#found-other').css('display') != 'none') {
						$('#found-other').fadeOut();
					}
		});
		//Where did you hear about us toggle 
		$('#Found').change(function() {
			var selected = $('#Found option:selected');
			if(selected.val() == 'Other') {
				$('#found-other').fadeIn('slow');
			} else {
				$('#found-other').fadeOut();
			}
		});  

		//Comment form "May We Contact You" toggle
		$("input[name^='Contact_Me']").click( function() {
			 if ($("input[name^='Contact_Me']:checked").val() == 'Yes')
			 	//not current patient, ask where they found us
			 	$('.hidden-content')
			 		.fadeIn('slow');
			else 
				//current patient, hide content
				$('.hidden-content').fadeOut();
		});

		//Referral form "Radiographs Sent" toggle
		$("input[name^='Radiographs_Sent']").click( function() {
			 if ($("input[name^='Radiographs_Sent']:checked").val() == 'Yes')
			 	//not current patient, ask where they found us
			 	$('.hidden-content')
			 		.fadeIn('slow');
			else 
				//current patient, hide content
				$('.hidden-content').fadeOut();
		});
		
		/* Toggle Submit after Agreeing to Terms */
		$('input[name^="Disclaimer"]').click( function() {
			 if ($("input[name^='Disclaimer']:checked").val() == 'I Agree')
			 	//not current patient, ask where they found us
			 	$('.hidden-content').fadeIn('slow');
			else 
				//current patient, hide content
				$('.hidden-content').fadeOut();
		});
		
		//clear form fields with "clearme" class when clicked
		$('.clearme').one("focus", function() {
				$(this).val("");
		});
	
		//add red asterisk to label of required fields
		$('label.required').each(function(i) {
			$(this).append('<em> * </em>');
		});
		
		//Form validation
		//---------------------------------------------------------------------------------
			
		//masked input
		$(".date-mask").mask("99/99/9999");
		$(".phone-mask").mask("(999) 999-9999");
	
		//additional validation methods
		$.validator.addMethod("phone", function(phone_number, element) {
		    phone_number = phone_number.replace(/\s+/g, ""); 
			return this.optional(element) || phone_number.length > 9 &&
				phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
		}, "Please specify a valid phone number");
	
		//validator
		$(".validate").each(function() {
			$(this).validate({
				errorElement: "div",
					success: function(label) {
						label.text("ok!").addClass("success");
					},
				rules: {
					First_Name: {
						required:true,
						minlength: 2
					},
					Last_Name: {
						required:true,
						minlength: 2
					},
					Doctor_First_Name: {
						required:true,
						minlength: 2
					},
					Doctor_Last_Name: {
						required:true,
						minlength: 2
					},
					Patient_First_Name: {
						required:true,
						minlength: 2
					},
					Patient_Last_Name: {
						required:true,
						minlength: 2
					},
					Patient_Email: {
						required: true,
						email:true
					},
					Referred_Patient_First_Name: {
						required:true,
						minlength: 5
					},
					Referred_Patient_Last_Name: {
						required:true,
						minlength: 5
					},
					Doctor_Patient_Referring: {
						required:true,
						minlength: 5
					},
					Doctor_Email: {
						required: true,
						email:true
					},
					Appointment_Email: {
						required: true,
						email:true
					},
					Daytime_Phone: {
						required: true,
						phone: true	
					},
					Alternate_Phone: {
						phone: true
					},
					Patient_Phone: {
						required: true,
						phone: true	
					},
					Message: {
						required:true,
						minlength: 12
					},
					Would_Like_To: {
						required: true
					},
					User_Name: {
						required: true
					},
					Password: {
						required: true
					},
					Question_1: {
						required: true
					},
					Question_2: {
						required: true
					},
					Question_3: {
						required: true
					},
					Question_4: {
						required: true
					},
					Question_5: {
						required: true
					},
					Question_6: {
						required: true
					},
					Question_7: {
						required: true
					},
					Question_8: {
						required: true
					},
					Question_9: {
						required: true
					},
					Question_10: {
						required: true
					},
					Patient_Name: {
						minlength: 5,
						required: "#Contact_Me_Yes:checked"
					},
					Email: {
						email:true,
						required: "#Contact_Me_Yes:checked"
					},
					txtNumber: {
						required:true,
						minlength: 5
					}
				}
			});
		});

		   
}); // end document ready
