/*****************************************/
// Javascript for LemurMonitors.com
//
// Author:	Greg Browne
// Company:	Root Four Imagination Inc.
// Date:	October 2009
// Contact:	gbrowne@rootfour.com
/*****************************************/

var pEcono = '2=*=1';
var pSafe = '2=*=1';
var pAlert = '0=*=1';

function changePkg(imgFilename, imgID)
{	
	document.getElementById(imgID).src = 'images/' + imgFilename + '.png';
	document.getElementById(imgID).useMap = '#' + imgFilename + 'Map';
	document.getElementById('soundButtonsHolder').innerHTML = "";
	document.getElementById('soundContainer').innerHTML = "";

	if ('LemurMonitorsAlert' == imgFilename)
		document.getElementById('soundButtonsHolder').innerHTML = "<a href='javascript:void(0);'><img src='images/alertDriverWarning.png' alt='AlertDriver Warning' onclick=\"playSound('Warning', 'false')\" /></a><br /><a href='javascript:void(0);'><img src='images/alertDriverAlarm.png' alt='AlertDriver Alarm' onclick=\"playSound('Alarm', 'true')\" /></a>";
}

function loadPkg()
{
	var pkg = location.hash.substring(1);
	
	if (pkg == 'Econo' || pkg == 'Safe' || pkg == 'Alert')
		changePkg('LemurMonitors' + pkg, 'frontPkg');	// Custom front package
	else
		changePkg('LemurMonitorsEcono', 'frontPkg');	// Default front package
}

//var pTimeout = "";
function popupInfo(imgID)
{
//	clearTimeout(pTimeout);
	var popupImg = document.getElementsByName('popupImg').length;

	for (i=0; i<popupImg; i++) {
		document.getElementsByName('popupImg')[i].style.display = 'none';
	}

	if(0 == imgID)
		return;

	document.getElementById(imgID).style.display = 'block';
//	pTimeout = setTimeout("popupInfo(0)", 5000);
		
}

function validateEmail(iconID, emailID, buttonID)
{
	var email = document.getElementById(emailID).value;	// Get email input from user
	document.getElementById(emailID).style.backgroundColor = 'white';
	document.getElementById(buttonID).disabled = "disabled";

	if (!email)	// If blank
	{
		document.getElementById(iconID).innerHTML = '';
		return;
	}

	var dot = email.lastIndexOf(".");	// Find last .
	var at 	= email.lastIndexOf("@", dot);	// Find @ before .
	var extLen = email.length - dot;	// Domain extension length

	if ( (at == -1) || (dot == -1) || extLen < 3 )	// No @ or . or extension has less than 2 chars
	{
		document.getElementById(emailID).style.backgroundColor = 'red';
		document.getElementById(iconID).style.color = 'red';
		document.getElementById(iconID).innerHTML = '&#10008;';
	}
	else	// Valid email detected
	{
		document.getElementById(buttonID).disabled = "";
		document.getElementById(iconID).style.color = 'green';
		document.getElementById(iconID).innerHTML = '&#10004;';
	}
}

function decipher(encrypted) {
	var key = 4; 
	var decrypted = "";

	for(i=0; i < encrypted.length; i++) { decrypted += String.fromCharCode( key ^ encrypted.charCodeAt(i) ); }

	return decrypted;
}

function playSound(soundName, loopState)
{
	document.getElementById('soundContainer').innerHTML = "<object data='AlertDriver_Sine_"+ soundName +".mp3' type='audio/mp3' height='0' width='0' loop='"+ loopState +"'><param name='filename' value='AlertDriver_Sine_"+ soundName +".mp3' /><param name='loop' value='"+ loopState +"' /></object>";
}

/* gup() -	Get URL parameters
 		Source:	http://www.netlobo.com/url_query_string_javascript.html	*/
function gup(name) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  	var regexS = "[\\?&]"+name+"=([^&#]*)";
  	var regex = new RegExp( regexS );
  	var results = regex.exec( window.location.href );
  	
	if( results == null )
    		return "";
  	else
    		return results[1];
	// Use like: var frank_param = gup( 'frank' );
}
