// JavaScript Document

days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();


function DateString(myDate)  {
	return days[myDate.getDay()] + ', ' + months[myDate.getMonth()] + " " + myDate.getDate() + ", " + myDate.getFullYear();
  }

function zPad(num)  {
	if (num < 10)
	  return '0' + num.toString();
	else
	  return num.toString();
}

function DateID(days)  {
  var today = new Date();
  var newDate = new Date();
  newDate.setDate(today.getDate()+days);
  return zPad(newDate.getFullYear()) + zPad(newDate.getMonth()+1) + zPad(newDate.getDate()+1);
}

function CurrentDate()  {
  var myDate=new Date();
  return DateString(myDate);
}

function DateAhead(days)  {
  var today = new Date();
  var newDate = new Date();
  newDate.setDate(today.getDate()+days);
  return DateString(newDate);
}

// script by Josh Fraser (http://www.onlineaspect.com)

function setTimeZone()   {
  switch (time_zone())  {
	  case '-08:00' :
                changeText('zoneTitle','Current Forecast: Pacific Time'); 
                break;

	  case '-07:00' :
                changeText('zoneTitle','Current Forecast: Mountain Time');
                break;

	  case '-06:00' :
                changeText('zoneTitle','Current Forecast: Central Time');
                break;

	  case '-05:00' :
                changeText('zoneTitle','Current Forecast: Eastern Time');
                break;
    }
}

function time_zone() {
	var rightNow = new Date();
	var jan1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);  // jan 1st
	var june1 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0); // june 1st
	var temp = jan1.toGMTString();
	var jan2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
	temp = june1.toGMTString();
	var june2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
	var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
	var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60);
	var dst;
	if (std_time_offset == daylight_time_offset) {
		dst = "0"; // daylight savings time is NOT observed
	} else {
		// positive is southern, negative is northern hemisphere
		var hemisphere = std_time_offset - daylight_time_offset;
		if (hemisphere >= 0)
			std_time_offset = daylight_time_offset;
		dst = "1"; // daylight savings time is observed
	}
	var i;
	return convert(std_time_offset);
}

function convert(value) {
	var hours = parseInt(value);
   	value -= parseInt(value);
	value *= 60;
	var mins = parseInt(value);
   	value -= parseInt(value);
	value *= 60;
	var secs = parseInt(value);
	var display_hours = hours;
	// handle GMT case (00:00)
	if (hours == 0) {
		display_hours = "00";
	} else if (hours > 0) {
		// add a plus sign and perhaps an extra 0
		display_hours = (hours < 10) ? "+0"+hours : "+"+hours;
	} else {
		// add an extra 0 if needed 
		display_hours = (hours > -10) ? "-0"+Math.abs(hours) : hours;
	}
	
	mins = (mins < 10) ? "0"+mins : mins;
	return display_hours+":"+mins;
}

  function setHoverPic(id)  {
    hideDiv('awrPic');
    hideDiv('tmaPic');
    hideDiv('lwvPic');
    hideDiv('cncPic');
    hideDiv('guyPic');
    hideDiv('conPic');
    showDiv(id + 'Pic');
    hideDiv('awrText');
    hideDiv('tmaText');
    hideDiv('lwvText');
    hideDiv('cncText');
    hideDiv('guyText');
    hideDiv('conText');
    showDiv(id + 'Text');
   }

function searchSite(target)  {
  var sURL;
  
  sURL = "http://www.google.com/search?hl=en&as_q=" + target + "&as_epq=&as_oq=&as_eq=&num=100&lr=&as_filetype=&ft=i&as_sitesearch=www.lightworks.com&as_qdr=all&as_rights=&as_occt=any&cr=&as_nlo=&as_nhi=&safe=images"; 
  location.href=sURL; 
}



function getStyle(element, rule)  {
  var strValue = "";
  if(document.defaultView && document.defaultView.getComputedStyle){
	  strValue = document.defaultView.getComputedStyle(element, "").getPropertyValue(rule);
  }
  else if(element.currentStyle){
	  rule = rule.replace(/\-(\w)/g, function (strMatch, p1){
		  return p1.toUpperCase();
	  });
	  strValue = element.currentStyle[rule];
  }
  return strValue;
}

function changeText(id, txt)  {
  var textContent = document.getElementById(id)
  textContent.firstChild.data=txt
}

function changeHTML(id, html)  {
    document.getElementById(id).innerHTML = html;
}

function changeImage(id, name)  {
  document.getElementById(id).style.background = name; 
}

function changeColor(id, color)  {
  document.getElementById(id).style.color = color; 
}


function hideDiv(contentDiv) { 
  document.getElementById(contentDiv).style.display = "none"; 
}

function showDiv(contentDiv) { 
  document.getElementById(contentDiv).style.display = "block"; 
}


function showVideoByCode(divID, code)  {
    document.getElementById(divID).innerHTML = linkText(code);
}

function showVideo(divID)  {
    showVideoByDays(divID, -1)
}

function showVideoByDays(divID, days)  {
    var lnk;
    switch (DateID(days))  {
	  case '20100301' : lnk=linkText('66ZDyLkTxy0');  break;
	  case '20100302' : lnk=linkText('m1qYbGDw7Pc');  break;
	  case '20100303' : lnk=linkText('jiQqudCUBZY');  break;
	  case '20100304' : lnk=linkText('jiQqudCUBZY');  break;
	  case '20100305' : lnk=linkText('KpwvnnR4zkI');  break;
	  case '20100306' : lnk=linkText('idZO0UrXUK8');  break;
	  case '20100307' : lnk=linkText('HQ8jKvxaDkg');  break;
	  case '20100308' : lnk=linkText('oQ2JRHTcEVs');  break;
	  case '20100309' : lnk=linkText('PVGC7C5ytrA');  break;
	  case '20100310' : lnk=linkText('u4xYzDjw44E');  break;
	  case '20100311' : lnk=linkText('N10Dnp8n9PE');  break;
	  case '20100312' : lnk=linkText('WfPa_vXGcdg');  break;
	  case '20100313' : lnk=linkText('bP0sJcebdjU');  break;
	  case '20100314' : lnk=linkText('8D8j4vGhXw4');  break;
	  case '20100315' : lnk=linkText('acXKehao5q0');  break;
	  case '20100316' : lnk=linkText('GqY0z4tCqlw');  break;
	  case '20100317' : lnk=linkText('7ArS5lTIR1o');  break;
	  case '20100318' : lnk=linkText('3FDl-dP5R_Y');  break;
	  case '20100319' : lnk=linkText('A17Ep3l6om0');  break;
	  case '20100320' : lnk=linkText('');  break;
	  case '20100321' : lnk=linkText('');  break;
	  case '20100322' : lnk=linkText('');  break;
	  case '20100323' : lnk=linkText('');  break;
	  case '20100324' : lnk=linkText('');  break;
	  case '20100325' : lnk=linkText('');  break;
	  case '20100326' : lnk=linkText('');  break;
	  case '20100327' : lnk=linkText('');  break;
	  case '20100328' : lnk=linkText('');  break;
	  case '20100329' : lnk=linkText('');  break;
	  case '20100330' : lnk=linkText('');  break;
	  case '20100331' : lnk=linkText('');  break;
	  case '20100332' : lnk=linkText('');  break;
    }
    document.getElementById(divID).innerHTML = lnk;
  }

function linkText( code)  {
    return '<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/' + 
	       code + 
	       '&hl=en&fs=1&"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/' + 
		   code + 
		   '" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>';
}