// JavaScript Document
// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = 8;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Revision of Flash required
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.0;
// -----------------------------------------------------------------------------

// preload hover over images
MM_preloadImages('images/nav-aboutus-over.jpg','images/nav-ourwork-over.jpg','images/nav-contactus-over.jpg.jpg');

// JavaScript Document
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Fix Google Toolbar Autofill
if (window.attachEvent) {
	window.attachEvent("onload",setListeners);
}

function setListeners() {
	inputList = document.getElementsByTagName("INPUT");
	for(i=0;i<inputList.length;i++) {
		inputList[i].attachEvent("onpropertychange",restoreStyles);
		inputList[i].style.backgroundColor = "";
	}
	selectList = document.getElementsByTagName("SELECT");
	for(i=0;i<selectList.length;i++) {
		selectList[i].attachEvent("onpropertychange",restoreStyles);
		selectList[i].style.backgroundColor = "";
	}
}

function restoreStyles() {
	if (event.srcElement.style.backgroundColor != "") {
		event.srcElement.style.backgroundColor = "";
	}
}

function showSubNav(obj) {
	document.getElementById(obj).style.display = 'block';
}

function hideSubNav(obj) {
	document.getElementById(obj).style.display = 'none';
}

function swapImage(img) {
	var obj = document.getElementById("slideshow");
	obj.innerHTML = '<img src="'+img+'" width="553" height="373" border="0" />';
}

function swapVideo(vid) {
	var obj = document.getElementById("slideshow");
	
	/*
	var s = document.createElement('SCRIPT');
	s.type = 'text/javascript';
	//newScript.setAttribute('type','text/javascript');
	s.text = ' var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision); ' + 
					' if(hasRightVersion) { ' + 
						' AC_FL_RunContent( \'codebase\',\'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\',\'width\',\'554\',\'height\',\'374\', \'name\', \'project_video\', \'align\', \'middle\',\'play\', \'false\', \'loop\', \'false\', \'src\',\'video_player?videoName='+vid+'\',\'quality\',\'high\',\'wmode\',\'transparent\',\'allowScriptAccess\', \'sameDomain\', \'bgcolor\', \'#ffffff\', \'pluginspage\',\'http://www.macromedia.com/go/getflashplayer\',\'movie\',\'video_player?videoName='+vid+'\'); ' + 
					' } else { ' + 
						' var alternateContent = \'The flash player is required to view this content. <a href="http://www.macromedia.com/go/getflash/">Click Here</a> to download flash.\'; ' + 
						' document.write(alternateContent); }';
	obj.appendChild(s);
	*/
	
	/*
	vidStr = '<scri' + 'pt type="text/javascri' + 'pt">';
	vidStr += 'var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision); ' + 
					' if(hasRightVersion) { ' + 
						' AC_FL_RunContent( \'codebase\',\'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\',\'width\',\'554\',\'height\',\'374\', \'name\', \'project_video\', \'align\', \'middle\',\'play\', \'false\', \'loop\', \'false\', \'src\',\'video_player?videoName='+vid+'\',\'quality\',\'high\',\'wmode\',\'transparent\',\'allowScriptAccess\', \'sameDomain\', \'bgcolor\', \'#ffffff\', \'pluginspage\',\'http://www.macromedia.com/go/getflashplayer\',\'movie\',\'video_player?videoName='+vid+'\'); ' + 
					' } else { ' + 
						' var alternateContent = \'The flash player is required to view this content. <a href="http://www.macromedia.com/go/getflash/">Click Here</a> to download flash.\'; ' + 
						' document.write(alternateContent); }';
	vidStr += '</scri' + 'pt>';
	*/
	
	/*
	vidStr = '<scr' + 'ipt type="text/javascr' + 'ipt">';
	vidStr += 'var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);';
	vidStr += ' if(hasRightVersion) {';
	vidStr += ' AC_FL_RunContent( \'codebase\',\'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\',\'width\',\'554\',\'height\',\'374\', \'name\', \'project_video\', \'align\', \'middle\',\'play\', \'false\', \'loop\', \'false\', \'src\',\'video_player?videoName='+vid+'\',\'quality\',\'high\',\'wmode\',\'transparent\',\'allowScriptAccess\', \'sameDomain\', \'bgcolor\', \'#ffffff\', \'pluginspage\',\'http://www.macromedia.com/go/getflashplayer\',\'movie\',\'video_player?videoName='+vid+'\');';
	vidStr += ' } else {';
	vidStr += ' var alternateContent = \'The flash player is required to view this content. <a href="http://www.macromedia.com/go/getflash/">Click Here</a> to download flash.\';';
	vidStr += ' document.write(alternateContent);';
	vidStr += '	} </scr' + 'ipt>';
	*/
	
	//vidStr = '<object type="application/x-shockwave-flash" data="video_player.swf?videoName='+vid+'" width="554" height="374"><param name="movie" value="video_player.swf?videoName='+vid+'" /></object>';
	
	vidStr = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="554" height="374" id="project_video" align="middle">';
	vidStr += '<param name="allowScriptAccess" value="sameDomain" />';
	vidStr += '<param name="movie" value="video_player.swf?videoName='+vid+'" />';
	vidStr += '<param name="wmode" value="transparent" />';
	vidStr += '<param name="quality" value="high" />';
	vidStr += '<param name="bgcolor" value="#fff" />';
	vidStr += '<param name="menu" value="true" />';
	vidStr += '<embed src="video_player.swf?videoName='+vid+'" name="project_video" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" quality="high" bgcolor="#fff" width="554" height="374" align="middle" /></object>';
	
	//obj.style.background="#ffffff url(http://www.softmirage.com/images/loading.gif) repeat-x";
	
	obj.innerHTML = vidStr;
}

jQuery.fn.dwFadingLinks = function(settings) {
	settings = jQuery.extend({
		color: '#a1a29a',
		duration: 500
	}, settings);
	return this.each(function() {
		var original = $(this).css('color');
		$(this).mouseover(function() { $(this).animate({ color: settings.color },settings.duration); });
		$(this).mouseout(function() { $(this).animate({ color: original },settings.duration); });
	});
};

 $(document).ready(function(){
		$('.categoryNav').sprites({
			show: {opacity: 'show'},
			hide: {opacity: 'hide'}
		});
		//
		$('.fade').hover(function(){
			$(this).fadeTo("slow", 0.25);
			}, function(){
				$(this).fadeTo("slow", 1);
		});
		//
		$('ul.nav').superfish({
			autoArrows: false,
			dropShadows: true
		
		});
		//
		$('.sidebarNav a').dwFadingLinks({
		color: '#ed1b2e',
		duration: 700
	});
				 
	//Coda Slider Effect
	var $panels = $('#slider .scrollContainer > div');
	var $container = $('#slider .scrollContainer');
	
	// if false, we'll float all the panels left and fix the width 
	// of the container
	var horizontal = true;

	// float the panels left if we're going horizontal
	if (horizontal) {
	  $panels.css({
		'float' : 'left',
		'position' : 'relative' // IE fix to ensure overflow is hidden
	  });
	  
	  // calculate a new width for the container (so it holds all panels)
	  $container.css('width', $panels[0].offsetWidth * $panels.length);
	}
	// collect the scroll object, at the same time apply the hidden overflow
	// to remove the default scrollbars that will appear
	var $scroll = $('#slider .scroll').css('overflow', 'hidden');
	
	// apply our left + right buttons
	//$scroll
	//.before('<img class="scrollButtons left" src="images/scroll_left.png" />') 
	//.after('<img class="scrollButtons right" src="images/scroll_right.png" />');

	// handle nav selection
	function selectNav() {
	  $(this)
		.parents('ul:first')
		  .find('a')
			.removeClass('selected')
		  .end()
		.end()
		.addClass('selected');
	}

	$('#slider .navigation').find('a').click(selectNav);

	// go find the navigation link that has this target and select the nav
	function trigger(data) {
	  var el = $('#slider .navigation').find('a[href$="' + data.id + '"]').get(0);
	  selectNav.call(el);
	}

	if (window.location.hash) {
	  trigger({ id : window.location.hash.substr(1) });
	} else {
	  $('ul.navigation a:first').click();
	}

	// offset is used to move to *exactly* the right place, since I'm using
	// padding on my example, I need to subtract the amount of padding to
	// the offset.  Try removing this to get a good idea of the effect
	var offset = parseInt((horizontal ? $container.css('paddingTop') : $container.css('paddingLeft')) || 0) * -1;


	var scrollOptions = {
	  target: $scroll, // the element that has the overflow
	  
	  // can be a selector which will be relative to the target
	  items: $panels,
	  
	  navigation: '.navigation a',
	  
	  // selectors are NOT relative to document, i.e. make sure they're unique
	  prev: 'img.left', 
	  next: 'img.right',
	  
	  // allow the scroll effect to run both directions
	  axis: 'xy',
	  
	  onAfter: trigger, // our final callback
	  
	  offset: offset,
	  
	  // duration of the sliding effect
	  duration: 1000,
	  
	  // easing - can be used with the easing plugin: 
	  // http://gsgd.co.uk/sandbox/jquery/easing/
	  easing: 'easeInCubic'
	};

	// apply serialScroll to the slider - we chose this plugin because it 
	// supports// the indexed next and previous scroll along with hooking 
	// in to our navigation.
	$('#slider').serialScroll(scrollOptions);
	
	// now apply localScroll to hook any other arbitrary links to trigger 
	// the effect
	$.localScroll(scrollOptions);
	
	// finally, if the URL has a hash, move the slider in to position, 
	// setting the duration to 1 because I don't want it to scroll in the
	// very first page load.  We don't always need this, but it ensures
	// the positioning is absolutely spot on when the pages loads.
	scrollOptions.duration = 1;
	$.localScroll.hash(scrollOptions);

});
	
