//JQuery Setup
$(document).ready(function(){
 
	// ***** IE6 Duct Tape *****
	$.browser.msie6 = $.browser.msie && /MSIE 6\.0/i.test(window.navigator.userAgent) && !/MSIE 7\.0/i.test(window.navigator.userAgent);
	if ($.browser.msie6) {
		// Hover fix, adds .sfhover class on rollover
		$('#nav li').bind('mouseenter mouseleave', function(){
			$(this).toggleClass('sfhover');
		});
		// Add other IE6 only code here
	}
	
	// ***** Utilities *****
	
	// Some effects rely on an element to be initially hidden,
	// but we only hide them if the user has javascript
	$('.jshide').addClass('hide');
	
	// Clear form fields
	$('.clearme').one("focus", function() {
		$(this).val("");
	});
	
	// Open external links in new windows (remove '@' for jquery v.1.3 and up)
	$('a[@href^="http://"]').addClass('external').attr('target', '_blank');
	
	// Open pdf links in new windows (remove '@' for jquery v.1.3 and up)
	$('a[@href$=".pdf"]').addClass('pdf').attr('target', '_blank');

	// Add 'back to top' link when the content is taller than the window
	if ($('#content').height() > $(window).height()) {
		$('#content').append('<p><a href="#hd">Back to top</a> &uarr;</p>');
	}

	// wrap img.caption in a div and use the title attr as a caption  
	$("#content img.caption").each(function(i) {
		var $img = $(this);
		var caption = $img.attr('title');
		var width = $img.attr('width') + 10;
		$img.wrap('<div class="inset" style="width:'+width+'px;"></div>').after("<p>" + caption + "</p>");
	});
	
	
	// ***** sifr headlines *****
	$.sifr(
	{
		font: 'flash/optimaBold.swf', 
		color: '#282F78',
		textAlign: 'left'
	});
	$('#content h1').sifr();
	
	
	// ***** Game Room *****
	$('ul#sesame-games a').click(function(e){
		var game = $(e.target).attr('class'); // infers the game name from the class of the <a> tag
		// not sure why, but if the link is an image,
		// we have to get the link's class name as the parent of the <img> tag
		game = game ? game : $(e.target).parent().attr('class');
		$('#sesame-game').flash(  // #sesame-game is the empty div that will contain the active game
			{
			src: 'games/' + game + '.swf',
			width: 400,
			height: 300,
			wmode: 'transparent'
			},
			{ version: 8 }
		);
	});
	
	// ***** Flash Video *****
	// Enable flash video on any div whose id starts with "video-"
	// Infer the name of the video clip from the rest of the id
	// e.g. <div id="video-the-damon-system"> looks for the file "the-damon-system.flv"
	$("div[@id^='video-']").flash(null, { version: 8 }, function(opts){
		var $this = $(this);	
		var videoClip = $this.attr('id').replace(/^video-/,'');
		opts.src = 'video/flvPlayer.swf';
		opts.width = 350;
		opts.height = 280;
		opts.wmode = 'transparent',
		opts.menu = false,
		opts.flashvars = {
			flvToPlay: videoClip + ".flv",
			smoothVideo: true,
			showScaleModes: false,
			autoStart: false,
			startImage: "video/" + videoClip + ".jpg",
			allowFullScreen: false
		}
		this.innerHTML = '<div class="alt">'+this.innerHTML+'</div>';
		$this.addClass('flash-replaced').prepend($.fn.flash.transform(opts));
	});

	// ***** Standard Flash Modules *****
	
	// Define the default configuation values
	// followed by individual module configuration.
	// Values for individual modules will override the defaults
	var flashModules = {
		
		defaults: {			
			width: 600,
			height: 360,
			wmode: 'transparent',
			flashvars: {
				autoPlay: 'false', // change value to 'true'to play on start
				thisColor: '0x' + '505678' // change global hex color (default=639CCE)
			},
			pluginOptions: {version: 8}
		},
		
		modules: [
			// Change item values in any 'flashvars' section to false to omit,
			// Add any value to override the default.
						
			{name: 'home', config: {width:600, height:180}},
			{name: 'braces-diagram', config: {height: 375}},
			{name: 'brace-painter', config: {height: 430}},
			
			{name: 'brushing-and-flossing',
				config: {
					flashvars: {
						brushing: 'true',
						flossing: 'true'
					}
				}
			},
			
			{name: 'color-your-retainer', config: {width: 300, height: 300}},
			
			{name: 'common-treatments',
				config: {
					flashvars: {
						crowding: 'true',
						openbite: 'true',
						deepOverbite: 'true',
						missing: 'true',
						underbite: 'true',
						spacing: 'true',
						overbite: 'true',
						nonBraces: 'true',
						phaseI: 'true'
					}
				}
			},
			
			{name: 'damon-system-comparison', config: {width:250, height:165, wmode:'opaque'}},
			
			{name: 'emergency-care',
				config: {
					flashvars: {
						pokingWire: 'true',
						bracket: 'true',
						looseWire: 'true',
						appliance: 'true',
						headgear: 'true',
						soreness: 'true'
					}
				}
			},
			
			{name: 'ibraces-logo', config: {width:200, height:135, wmode:'opaque'}},
			
			{name: 'know-your-teeth', config: {width:500, height:400}},
			
			{name: 'office-tour-ellicott-city',
				config: {
					width: 500,
					height: 375
				}
			},
			
			{name: 'office-tour-rolling-road',
				config: {
					width: 500,
					height: 375
				}
			},
			
			{name: 'office-tour-eastpoint',
				config: {
					width: 500,
					height: 375
				}
			},


			{name: 'office-tour-lutherville',
				config: {
					width: 500,
					height: 375
				}
			},


			{name: 'palatal-expander', config: {width: 200, height: 150}},
			{name: 'patient-care-videos', config: {height: 375}},			
			
			{name: 'smile-gallery',
				config: {
					flashvars: {
						bonding: "true",
						bridges: "true",
						crowns: "true",
						fillings: "true",
						implants: "true",
						invisalign: "true",
						veneers: "true",
						whitening: "true"
					}
				}
			},
			
			{name: 'types-of-appliances',
				config: {
					flashvars: {
						elastics: 'true',
						headgear: 'true',
						herbst: 'true',
						palatal: 'true',
						positioners: 'true',
						separators: 'true'
					}
				}
			},
			
			{name: 'types-of-braces',
				config: {
					flashvars: {
						metal: 'true',
						gold: 'false',
						ceramic: 'true',
						invisible: 'true',
						lingual: 'false'
					}
				}
			}
		]
	};


	// Loop through the defined modules 
	// and do flash replacement for any that are on the current page
	for (var j = flashModules.modules.length - 1; j >= 0; j--){
		var module = flashModules.modules[j];
		// combine default config settings with individual module config settings
		var modConfig = $.extend({}, flashModules.defaults, module.config);
		// combine default flashvars with module flashvars
		modConfig.flashvars = $.extend({}, flashModules.defaults.flashvars, module.config.flashvars);
		modConfig.src = 'flash/' + module.name + '.swf';
		$('#flash-' + module.name).flash(modConfig, flashModules.defaults.pluginOptions);
	}
	
	// Fancybox Videos =================== >
	$("a.fancy-video").fancybox({
		'frameWidth': 320,
		'frameHeight': 240,
		'zoomSpeedIn': 0,
		'zoomSpeedOut': 0,
		'overlayShow': true
	});
	
	$('#video-tieken').flash(
		{ 
		  src: 'video/flvPlayer.swf',
			width: 320,
		  height: 240,
		  wmode: 'transparent',
		  flashvars: { 
			flvToPlay: 'Dr_Wang_Version_01.f4v',
			autoStart: 'true',
			scaleMode: 'full',
			hiddenGui: 'true',
			showScaleModes: 'false'
		  }
		},
		{ version: 8 }
	);

});//end document.ready