//JQuery Setup
$(function(){
 
//--IE 6 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) {
			$('#nav ul li').bind('mouseenter mouseleave', function(){
				$(this).toggleClass('sfhover');
		});		
	};
	
//--PNG FIX----------------------------------------------
	$(document).pngFix();	

//--jcIR Image Replacement-------------------------------
	//check if images are enabled then run replacement
	$('<img src="images/required_note.gif'+ '#' + Math.random() + '"/>').load(function() {
		$('.jcir').jcIR({
			image_dir: 'titles',//no slashes
			image_ext: '.gif',//file extention of replacement image
			elem_width: '400',//width of element being replaced
			elem_height: '36'//height of element being replaced
		});
		$('.jcir.home').jcIR({
			image_dir: 'titles',//no slashes
			image_ext: '.gif',//file extention of replacement image
			elem_width: '400',//width of element being replaced
			elem_height: '63'//height of element being replaced
		});
	});

//--FLASH Modules, Videos, Games--------------------------
	// embed flash modules	
	var flashModules = {
  
		defaults: {
		  // Define the configuation values applied to each module.
		  // Each module in flashModules can override these values.
		  width: 500,
		  height: 300,
		  wmode: 'transparent',
		  flashvars: {
			autoPlay: 'false', // change value to true to play on start
			thisColor: '0x' + '16653f' // change global hex color (default=639CCE)
		  },
		  pluginOptions: {version: 8}
		},
		
		modules: [
		  // Define the configuration values for each flash module.
		  // Change item values in any 'flashvars' section to false to omit,
		  // Add any value to override the default value in flashModuleDefaults.
		  {name: 'home', config: {width:605, height:223}},
		  {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: 'the-damon-system-comparison', config: { width: 250, height: 165}},
		  
		  {name: 'emergency-care',
			config: {
			  flashvars: {
				pokingWire: 'true',
				bracket: 'true',
				looseWire: 'true',
				appliance: 'true',
				headgear: 'true',
				soreness: 'true'
			  }
			}
		  },
		  
		  { name: 'know-your-teeth', config: {width:460, height:400}},
		  
		  {name: 'smile-gallery', 
			config: {
				flashvars: {
					bonding: 'true',
					bridges: 'true',
					crowns: 'true',
					fillings: 'true',
					imlants: 'true',
					invisalign: 'false',
					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: 'true'
			  }
			}
		  },
		  
		  {name: 'office-tour',
			config: {
			  width: 500,
			  height: 375,
			  flashvars: {
				//set captions for each slide or leave blank if none
				caption01: '',
				caption02: '',
				caption03: '',
				caption04: '',
				caption05: '',
				caption06: '',
				caption07: '',
				caption08: '',
				caption09: ''
				}
			}
		  },
	
		  {name: 'palatal-expander', config: {width: 200, height: 150}},
		  {name: 'patient-care', config: {height: 375}}
		]
  };
	
  for (var j=0; j < flashModules.modules.length; j++) {
    var module = flashModules.modules[j];
    // combine default config settings with 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);
  };

	// embeded flash video clips
	var flashVideos = {
	
		defaults: {
		  // Define the configuation values applied to each module.
		  // Each module in flashModules can override these values.
		  
		  src: 'video/flvPlayer.swf',
		  width: 320,
		  height: 266,
		  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 
		  },
		  pluginOptions: {version: 9}
		},
	
		videos: [
			{name: 'the-damon-system',config:{}},
			{name: 'in-ovation',config:{}},
			{name: 'ibraces-1',config:{}},
			{name: 'ibraces-2', config: {width: 352}},
			{name: 'ibraces-3', config: {width: 352}},
			{name: 'suresmile-01', config: {height: 206}}
		]
	};
	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 = video.name + '.flv';
	vidConfig.flashvars.startImage = 'video/' + video.name + '.jpg';
	$('#video-' + video.name).flash(vidConfig, flashVideos.defaults.pluginOptions);
	};

//--GAME ROOM-------------------------------------------
	// list the games that we want activated on click
	var games = Array('asteroids', 'frogger', 'pong', 'simon', 'snake', 'space-invaders', 'tetris', 'tic-tac-toe');

	// set the click behavior for a game link
	var setGameClick = function(game){
		$("a." + game).click(function(){
			$('#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 }
			);
		});
	};
  
	// loop through the games array and
	// set the click behavior for each game link
	for (var j=0; j<games.length; j++){
    	setGameClick(games[j]);
	};

//--TOGGLE FUNCTIONS---------------------------------------
	// Some effects rely on an element to be initially hidden,
	// but we only hide them if the user has javascript
	$('.jshide').addClass('hide');

	// Show only when javascript is available
	$('.toggle-link').css('display','block');
 
    //Slow slide and show
	$('.anatomy-of-a-tooth-link').click(function() {
		$('#anatomy-of-a-tooth').slideToggle("slow");
	});
	$('.know-your-teeth-link').click(function() {
		$('#flash-know-your-teeth').slideToggle("slow");
	});

	$('.brushing-and-flossing-link').click(function() {
		$('#flash-brushing-and-flossing').slideToggle("slow");
	});
	
//--HTML FUNCTIONS ETC.---------------------------------------
	//clear form fields
	$('.clearme').one("focus", function() {
		$(this).val("");
	});
		
	// Open pdf links in new windows
	$("a[href$='.pdf']").addClass('pdf').attr('target', '_blank');

	// add 'back to top' link when the content is taller than the window
	// this has to be done after flash replacement because the content height changes
	if ($('#main').height() > $(window).height()) {
		$('#text').append('<p class="toplink"><a href="#">Back to top ^</a></p>');
	}

});//end document.ready

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}
window.onload = externalLinks;