/**
 * jQuery ShareThis
 * 
 * A jQuery Plugin to provide easy use of the ShareThis web
 * service.
 *
 * $Id: jquery.sharethis.js,v 1.1.2.1 2009/06/05 19:58:57 robloach Exp $
 *
 * Copyright (c) 2009 Rob Loach (http://robloach.net) Dual licensed under the
 * MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
 *
 * Built on top of the jQuery library http://jquery.com
 */

/**
 * The ShareThis jQuery plugin.
 *
 * Usage:
 * <a href="http://example.com" title="Example" class="sharethis">ShareThis</a>
 * $('a.sharethis').sharethis();
 *
 * The URL and the title will be taken from the HREF and the TITLE attributes.
 */
(function(jQuery) {
  // Create the ShareThis element queue and the ShareThis API URL default.
  jQuery.sharethisQueue = [];
  jQuery.sharethisUrl = "http://w.sharethis.com/button/sharethis.js#";

  // The $().sharethis() function.
  jQuery.fn.sharethis = function(sharethisUrl) {
	 
    // Add the elements to the queue.
    jQuery.sharethisQueue = jQuery.sharethisQueue.concat(this);

    // Set a kill switch so that the API isn't loaded twice.
    if (jQuery.fn.sharethis.loaded || true) {
      jQuery.fn.sharethis.loaded = false;

      // Use the provided URL, or the default one.
      jQuery.sharethisUrl = sharethisUrl || jQuery.sharethisUrl;
	  
      // Make the AJAX call to get the ShareThis API.
      jQuery.ajax( {
        type: 'GET',
        url: jQuery.sharethisUrl + 'publisher=9361ecbb-a9c4-49b1-813a-ca8f0e1b882d&amp;type=website&amp;button=false&amp;buttonText=Share%20this%20page&amp;onmouseover=false',
        dataType: 'script',
        cache: true,
        success: function() {
          // Prepare the ShareThis API and state that it's ready.
          SHARETHIS.toolbar = true;
          SHARETHIS.onReady(); 
          jQuery.fn.sharethis.loadedShareThis = true;

          // Process the element queue once the ShareThis API is loaded.
          jQuery.shareThis();
        }
      });
    }
    // If the library has been loaded, then just process the elements.
    else if (jQuery.fn.sharethis.loadedShareThis || false) {
      jQuery.shareThis();
    }
    return this;
  };

  /**
   * The jQuery.sharethis() function will process through the queue and create
   * the elements.
   */
  jQuery.shareThis = function() {
    // Loop through the process queue.
    jQuery.each(jQuery.sharethisQueue, function(i, objects) {
      jQuery.each(objects, function(i, object) {
        // Retrieve the element, while deactivating the default click effect.
        var element = jQuery(object);

        // Setup the object properties and JavaScript elements to be passed in.
        var objectProperties = {
/*          url: element.attr('href'),
          title: element.attr('title') */
        };

        // Create and insert the button.
        var share = SHARETHIS.addEntry(objectProperties, {button: false, icon:'http://www.ford.com/images/content/sr08_share_this.gif' });
        element.replaceWith(share.button);
      });
    });
    // Clear the process queue.
    jQuery.sharethis = [];
  }
})(jQuery);


// ========================== //

var showSearch = true;
var showShare = true;

// ========================== //

$(function(){
	if(showSearch==true) {
		$('#headerWrap .fr ul li:last').removeClass('last');
		var isSearch = (!(typeof(isSearchPage)=='undefined'));
		$('#headerWrap .fr ul').append('<li class="last">'+(isSearch?'<span>':'<a href="search.htmx">') + 'Search' + (isSearch?'</span>':'</a>') + '</li>');
	}
	if(showShare==true) {
		$('.reportTools ul').append('<li class="sharePage"><a class="sharethis"></a></li>');
		$shareLink = $('.reportTools ul li a.sharethis');
		$shareLink.attr('href', window.location);
		$shareLink.attr('title', document.title);
		$shareLink.sharethis();
	}
});

/*
<script type="text/javascript" src="http://w.sharethis.com/button/sharethis.js#publisher=9361ecbb-a9c4-49b1-813a-ca8f0e1b882d&amp;type=website"></script><script language="javascript" type="text/javascript">
	SHARETHIS.addEntry({
		title:'Blueprint for Sustainability',
		summary:'As our industry and societal expectations continue to evolve, so does our reporting. Learn about our vision to meet and exceed these expectations.',
		url:'http://www.ford.com/about-ford/company-information/corporate-sustainability',
		icon: 'http://www.ford.com/images/content/sr08_share_this.gif'
	}, {button:false} );
</script>
*/

jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    jQuery("<img>").attr("src", arguments[i]);
  }
}


// image rollovers
PEPS = {};
PEPS.rollover = 
{
   init: function()
   {
      this.preload();
      $(".ro").hover(
         function () { $(this).attr( 'src', PEPS.rollover.newimage($(this).attr('src')) ); }, 
         function () { $(this).attr( 'src', PEPS.rollover.oldimage($(this).attr('src')) ); }
      );
   },
   preload: function()
   {
      $(window).bind('load', function() {
         $('.ro').each( function( key, elm ) { $('<img>').attr( 'src', PEPS.rollover.newimage( $(this).attr('src') ) ); });
      });
   },
   newimage: function( src )
   { 
      return src.substring( 0, src.search(/(\.[a-z]+)$/) ) + '_o' + src.match(/(\.[a-z]+)$/)[0]; 
   },
   oldimage: function( src )
   { 
      return src.replace(/_o\./, '.'); 
   }
};



// rolloverSwap
MT = {};
MT.roSwap =
{
	init: function()
	{
		$(window).bind('load', function() {
			$('.roSwap[rel]').each( function() {
				var defEl = $(this).attr("rel");
				var showEl = $(this).attr("href");
				$(showEl).hide();
				$(this).hover(
					function() { $('#'+defEl).hide(); $(showEl).show(); },
					function() { $('#'+defEl).show(); $(showEl).hide(); }
				);
			});
		});
	}
};


// panelSelect
var currentPanel = "";
MT.panelSwap = 
{
	init: function()
	{
		$(window).bind('load', function() {
			$(".panelPage").hide();
			$(".panelSelect").each( function() {
				var show = $(this).val();
				var currentPanel = show;
				$('#' + show).show();
				$(this).change( function() {
					var newPanel = $(this).attr("value");
					if(newPanel != currentPanel) {
						$('#' + currentPanel).hide();
						$('#' + newPanel).show();
						currentPanel = newPanel;
					}
				});
			});
		});
	}
};


// swapPage
var defaultPage = "";
var currentPage = "";
var currentElement = "";
var canSwap = true;
MT.pageSwap = 
{
	init: function()
	{
		$(".swapPage[rel]").each( function() {
			var el = $(this).attr("id");
			var show = $(this).attr("href");
			var $div = $(show);
			var height = $div.height();
			
			//alert(show + ", " + height);
			
			if(show != "#" + $(this).attr("rel")) {
				$div.hide().css({ height : 0 });
			} else {
				defaultPage = show;	
				currentPage = defaultPage;
			}
			
			$(this).bind (
				"click",
				function(){
					var $hideDiv;
					if((currentPage != $(this).attr("href")) && canSwap)
					{
						$hideDiv = $(currentPage);		
						if(currentPage != defaultPage) { $('#' + currentElement).removeClass("selected"); }
						canSwap = false;
						if(show != defaultPage) { $('#' + el).addClass("selected"); }
						$hideDiv.animate({ height: 0 }, { duration: 300, easing: "easeOutQuad", complete: function () {
							$hideDiv.hide();
							$div.show().animate({ height : height }, { duration: 300, easing: "easeOutQuad", complete: function() {
								currentPage = show;
								currentElement = el;
								canSwap = true;
							}})
						} });
					}
					return false;
				}
			);
		});
	}
};


	/* do sliders 
	$(".btnToggle[rel]").each(
	function(){

		var show = $(this).attr("rel");
		var $div = $('#' + show);
		var height = $div.height();
		$div.hide().css({ height : 0 });
		//alert(height);
		
		$(this).bind (
			"click",
			function(){
				if ($div.is(':visible')) {
					$(this).removeClass("selected");
					$div.animate({ height: 0 }, { duration: 500, easing: "easeOutQuad", complete: function () {
						$div.hide();
					} });
				} else {
					$(this).addClass("selected");
					$div.show().animate({ height : height }, { duration: 500, easing: "easeOutQuad" });
					reSIFR();
				}
				return false;
			}
		);
	});
*/


$.fn.pause = function(duration) {
    $(this).animate({ dummy: 1 }, duration);
    return this;
};

$(function(){
	// hide slider pages
	$('#news').addClass('newsTickerList');
	
});


jQuery.fn.mtSlideToggle = function(speed, easing, callback) {
  return this.animate({height: 'toggle'}, speed, easing, callback);  
};

jQuery.fn.mtFadeToggle = function(speed, easing, callback) {
  return this.animate({opacity: 'toggle'}, speed, easing, callback);  
};

jQuery.fn.mtSlideFadeToggle = function(speed, easing, callback) {
  return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, callback);  
};




$(document).ready(function() {
	qm_create(0,false,0,500,false,false,false,false,false);

	// do sliders
	$(".btnToggle[rel]").click(function() {	
		var show = $(this).attr("rel");
		$("#" + show).mtSlideToggle("def", "easeOutQuad");
		$(this).toggleClass("selected");
		return false;
	});
	$(".slidersShow").click(function() {
		$(".btnToggle[rel]").each(function() {
			var show = $(this).attr("rel");
			$("#"+show).show();
			$(this).removeClass("selected").addClass("selected");
		});
		return false;
	});
	$(".slidersHide").click(function() {
		$(".btnToggle[rel]").each(function() {
			var show = $(this).attr("rel");
			$("#"+show).hide();
			$(this).removeClass("selected");
		});
		return false;
	});
	// check for # in URL
	$('.sliderInner').css({display:'none'});
	var myFile = document.location.toString();
	if (myFile.match('#')) { // the URL contains an anchor
	  var myAnchor = '#' + myFile.split('#')[1];
		$(".btnToggle[rel]").each( function() {
			var show = $(this).attr("rel");
			if("#" + show == myAnchor)
			{
				$("#" + show).show();
				$(this).addClass("selected");
			}
		});
	}	
	
	
	
	// do accordions
	$(".accordion").accordion({
		header: "h3",
		duration: 300,
		animated: 'easeOutQuad',
		icons: {
    			header: "accordion-closed",
   				headerSelected: "accordion-open"
			}
	});
	

	// do tabs
	$("ul.tabs").tabs({ fx: {height: 'toggle', duration: 350 }});
	$('body').append('<style type="text/css">.ui-tabs-hide {display:none;}</style>');
	var $tableLinks = $('a.tableLink');
	$tableLinks.click(function() {
		var $tabs = $(this).parent().parent().find('ul.tabs').tabs();
		$tabs.tabs('select',1);
	    return false;
	});
	$('a#viewCharts').click(function() {
		$('ul.tabs').tabs('select',0);								 
		return false;
	});
	$('a#viewTables').click(function() {
		$('ul.tabs').tabs('select',1);	
		return false;
	});
	
	
	// do clickable sections
	$(".clickSection").click(function() {  
  		window.location = $(this).find("a.clickSectionLink:first").attr("href");  
	});

	$(".clickSection").hover(  
	  function() {  
		$(this).addClass("clickSectionHover");  
	  },  
	  function() {  
		$(this).removeClass("clickSectionHover");  
	  }  
	); 	   
	
	
	// do image rollovers
	PEPS.rollover.init();	
	
	// do rollover swaps
	MT.roSwap.init();	
	
	// do panel select
	MT.panelSwap.init();
	
	// do page swaps
	MT.pageSwap.init();


});


//-------------------------------------------------------------------------------------------------------------------------------	
// common JavaScript functions

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_setTextOfLayer(objName,x,newText) { //v4.01
  if ((obj=MM_findObj(objName))!=null) with (obj)
    if (document.layers) {document.write(unescape(newText)); document.close();}
    else innerHTML = unescape(newText);
}
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];}
}
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]; alert(a[i]);}}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  if(selObj.options[selObj.selectedIndex].value!=''){
	  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	  if (restore) selObj.selectedIndex=0;
  }
}


// do the fast track to data jump menu on submit...
function doFastTrack(objID) {
	var obj = MM_findObj(objID);
	if(obj[obj.selectedIndex].value!='') { MM_jumpMenu('parent',obj,0); }
	return false;
}

	function MT_setVisibility (objName,v) {
		var obj = MM_findObj(objName)
		if(obj){
			if (document.layers) { 
				if(v){obj.visibility = "show";}else{obj.visibility = "hide";}
			} else if (document.all) { 
				if(v){obj.style.visibility = "visible"}else{obj.style.visibility = "hidden";}
			} else if (document.getElementById) { 
				if(v){obj.style.visibility = "visible"}else{obj.style.visibility = "hidden";}
			}
		}
	}


// preload menu rollover images
var mImage = new Array();
var mImageURL = [
		'/images/content/sr08_m_overview_active.jpg',
		'/images/content/sr08_m_operations_active.jpg',
		'/images/content/sr08_m_material_active.jpg',
		'/images/content/sr08_m_governance_active.jpg',
		'/images/content/sr08_m_economy_active.jpg',
		'/images/content/sr08_m_environment_active.jpg',
		'/images/content/sr08_m_society_active.jpg'
		];
function preloadMenu () {
	for (var x=0; x<mImageURL.length; x++)
	{
		mImage[x] = new Image();
		mImage[x].src = mImageURL[x];
	}
}
preloadMenu();




