
// Created: Wolfgang Koch
// Date: 04/2008 ff.
// Site: www.yoursharemakesadifference.com

// Please mention the source when copying JavaScript
// -------------------------------------------------

/* ---------------------------------------------------------------------------------------------------- */
/* Browser detection */
var isIE = document.all;
var isN6 = document.getElementById&&!document.all; 
var tooltipdiv = document.getElementById&&!document.all; // just to initialize

/* ---------------------------------------------------------------------------------------------------- */
/* Bild direkt anzeigen */
function show_here(imgobj) {
	filename=imgobj.src.replace("_thumb","");
	location.href=filename;
}

/* ---------------------------------------------------------------------------------------------------- */
/* bei jeder Cursorbewegung potentielle Koordinaten errechnen */
document.onmousemove = update_cursor;
// if (!isIE) document.captureEvents(Event.MOUSEMOVE);


/* ---------------------------------------------------------------------------------------------------- */
function update_cursor(e) {
	tooltipdiv = document.getElementById("ttdiv");
	if ( tooltipdiv.style.visibility == "visible" )
	{


//		alert("updating");
//		Determine scroll position - IE6 and DTD 4.01 requires to use document.documentElement instead of document.body
//		we just take the bigger one - the "wrong" one will be 0
		scrollleft = Math.max(document.body.scrollLeft,document.documentElement.scrollLeft);
		scrolltop = Math.max(document.body.scrollLeft,document.documentElement.scrollTop);
		x = isIE ? window.event.clientX + scrollleft : e.clientX + scrollleft;
		y = isIE ? window.event.clientY + scrolltop : e.clientY + scrolltop ;

/*
// nice "on top of page" effect:
		tooltipdiv.style.top = "10px";
		tooltipdiv.style.left = "20px";
// full width below cursor:
		tooltipdiv.style.top = y+10;
		tooltipdiv.style.left = 20;
// normal tooltip effect		
		tooltipdiv.style.top = y+10;
		tooltipdiv.style.left = x+15;
*/

		tooltipdiv.style.top = y+10+"px";
		tooltipdiv.style.left = x+15+"px";


	}
}

/* ---------------------------------------------------------------------------------------------------- */
function show_tt(text) {
	try
	{
		tooltipdiv = document.getElementById("ttdiv");
		tooltipdiv.className = "tooltipBox";
		tooltipdiv.innerHTML = text;
		tooltipdiv.style.visibility = "visible";
//		tooltipdiv.style.right = "0px";
//		tooltipdiv.style.width = "400px"; //Fixed width
		tooltipdiv.style.margin = "0 50px 0 0"; //Margin, supposed to be from "body" tag
//		alert("showing");
		return true;
	}
	catch(e)
	{
		alert("Error on trying to show tooltip:\n" + e);
		return false;
	}
}

/* ---------------------------------------------------------------------------------------------------- */
function hide_tt(text) {
	try
	{
		tooltipdiv = document.getElementById("ttdiv");
		tooltipdiv.style.visibility = "hidden";
		return true;
	}
	catch(e)
	{
		alert("Error on trying to hide tooltip:\n" + e);
		return false;
	}
}

/* ---------------------------------------------------------------------------------------------------- */
function preload_images(urls) {
 var img = new Array();
 for (var i=0;i<urls.lentgh;i++)
 {
	 img[img.length] = new Image();
	 img[img.length-1].src = urls[i];
 }
}

function doitnow() {
	var cntimg = new Array("icons/0.gif","icons/1.gif","icons/2.gif","icons/3.gif","icons/4.gif","icons/5.gif","icons/6.gif","icons/7.gif","icons/8.gif","icons/9.gif");
	preload_images(cntimg);
	alert("nnow");
}


/* ---------------------------------------------------------------------------------------------------- */
function update_counter(countername,val) {
 for (i=0;i<12;i++) { // loop over all 12 digits of this specific counter
  var imgidentifier = countername + i;
  if (document.getElementById(imgidentifier) != null) // ok, if nn1 does not exist, nn2 etc. won't exist either; anyways
  {
	  var rest = (val % 10)| 0;
	  document.getElementById(imgidentifier).src = "icons/"+rest+".gif";
	  val = val / 10;
  }
 }
}

/* ---------------------------------------------------------------------------------------------------- */
function update_counters() {
  var akttime = new Date();

  var starttime = new Date(2008, 12-1, 11); // Monat egtl. 1 mehr, aber in Javascript ist Januar=0!
  var startvalue = 6742656446;
  var increment = 81938000 / 31536000; // humans per year (PRB)
  var diff = new Number(akttime - starttime)/1000; // milliseconds, hence /1000
  var aktvalue = diff * increment + startvalue;
  update_counter('ca',aktvalue); // population

  var starttime = new Date(2008, 4-1, 25);
  var startvalue = 0;
  var increment = 37559870 / 31536000; //acres per year (P7)
  var diff = new Number(akttime - starttime)/1000;
  var aktvalue = diff * increment + startvalue;
  update_counter('cb',aktvalue); // rainforest

  var starttime = new Date(2008, 4-1, 25);
  var startvalue = 0;
  var increment = 27000 / 31536000; //species per year (NWF, CBD)
  var diff = new Number(akttime - starttime)/1000;
  var aktvalue = diff * increment + startvalue;
  update_counter('cc',aktvalue); // species

  var starttime = new Date(2008, 4-1, 25);
  var startvalue = 0;
  var increment = 2500000000 / 31536000; //birds per year (blog)
  var diff = new Number(akttime - starttime)/1000;
  var aktvalue = diff * increment + startvalue;
  update_counter('cd',aktvalue); // birds

  var starttime = new Date(2008, 4-1, 25);
  var startvalue = 0;
  var increment = 25000000 / 31536000; //trees to chopsticks (blog)
  var diff = new Number(akttime - starttime)/1000;
  var aktvalue = diff * increment + startvalue;
  update_counter('ce',aktvalue); // trees

  var starttime = new Date(2008, 4-1, 25);
  var startvalue = 0;
  var increment = 110231100 / 31536000; //tons of seafood "mined" (ZDF.Umwelt), meant were _metric_ tons 1:1.102311
  var diff = new Number(akttime - starttime)/1000;
  var aktvalue = diff * increment + startvalue;
  update_counter('cf',aktvalue); // trees

//Oil spill of "Deepwater Horizon"; 4/22/2010
//  var starttime = new Date(2010, 4-1, 24);
//  var startvalue = 0;
//  var increment = 210000*365 / 31536000; 

//Oil spill of "Deepwater Horizon"; 10x 5/22/2010
//  var starttime = new Date(2010, 4-1, 24);
//  var startvalue = 0;
//  var increment = 10*210000*365 / 31536000;

//Oil spill of "Deepwater Horizon"; 6/5/2010, Start bei 90Mio, verbleibend:
//Officials estimate oil is gushing out at a rate of about a half-million (1.9 million litres) to a million gallons (3.8 million litres) a day
//Abzgl. "capture device": The device’s daily capacity is 630,000 gallons, d.h. ca. 800000-500000 = 300000g (accounting for not optimal efficiency, weather contraints etc.)
//  var starttime = new Date(2010, 6-1, 5);
//  var startvalue = 90000000;
//  var increment = 300000*365 / 31536000; 

//Oil spill of "Deepwater Horizon"; 6/23/2010, Start bei 90Mio von 6/5, verbleibend:
//http://blog.alexanderhiggins.com/topics/blogging/ oil spill leak counter: 437,850 gal/day captured or flared; Dept. of Energy: total  1,470,000  gal/day
//referring to http://www.pbs.org/newshour/rundown/2010/06/uncertainty-abounds-as-the-gulf-leak-meter-ticks-higher.html
// The lowest possible rate you can choose is now 35,000 barrels, or 1,470,000 gallons per day, in accordance with the latest government estimate.
//d.h. ca. 1.4m - 0.4m = 1mio g
//  var starttime = new Date(2010, 6-1, 5);
//  var startvalue = 90000000;
//  var increment = 1000000*365 / 31536000; 

//Oil spill of "Deepwater Horizon"; 7/16/2010, Start bei 132Mio von 7/16, verbleibend:
  var starttime = new Date(2010, 7-1, 16);
  var startvalue = 132958627;
  var increment = 365*24*60*20 / 31536000; // seeps, leaks ...

  var diff = new Number(akttime - starttime)/1000;
  var aktvalue = diff * increment + startvalue;
  update_counter('cg',aktvalue); // gallons of oil





}

/* ---------------------------------------------------------------------------------------------------- */
function showcolpic(bildverweis)
{
	bildverweis.src = bildverweis.src.replace("icons/sbg_","icons/sb_");
}

/* ---------------------------------------------------------------------------------------------------- */
function hidecolpic(bildverweis)
{
	bildverweis.src = bildverweis.src.replace("icons/sb_","icons/sbg_");
}


/* ---------------------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------- */
 var hochkantbildhoehe = 600;
 var firststart = true;
 var vorschaufenster=window;

/* ---------------------------------------------------------------------------------------------------- */
/* Großbild anzeigen - eigenes Fenster */
function showpic(imgobj) {
 filename=imgobj.src.replace("pics_auswahl_10p","pics_auswahl_20p");

 if (firststart=true)
 {
   vorschaufenster = window.open(filename,"vorschaufenster",
   "dependent=yes,hotkeys=no,locationbar=no,menubar=0,status=no,resizable=yes");
   vorschaufenster.resizeTo(width=hochkantbildhoehe,height=hochkantbildhoehe)
   vorschaufenster.moveTo(screen.width-hochkantbildhoehe-50,100)
   vorschaufenster.focus();
   firststart=false;
 }
 else
 {
   vorschaufenster = window.open(filename,"vorschaufenster",
   "dependent=yes,hotkeys=no,locationbar=no,menubar=0,status=no,resizable=yes");
//   vorschaufenster.resizeTo(width=hochkantbildhoehe,height=hochkantbildhoehe)
//   vorschaufenster.moveTo(screen.width-hochkantbildhoehe-50,100)
   vorschaufenster.focus();
   firststart=false;
 }
}

/* ---------------------------------------------------------------------------------------------------- */
/* Preview anzeigen (nur, wenn das Vorschaufenster bereits geöffnet ist!) */
function showpreview(obj)
{
 newpath=obj.src.replace("pics_auswahl_10p","pics_auswahl_20p");

if (firststart==false)
{
 if (!vorschaufenster.closed)
 {
	 vorschaufenster = window.open(newpath,"vorschaufenster",
	 "dependent=yes,hotkeys=no,locationbar=no,menubar=0,status=no,resizable=yes");
	 vorschaufenster.focus();
 }
}
}

/* ---------------------------------------------------------------------------------------------------- */
