﻿
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: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"        },
		{
		    string: navigator.vendor,
		    subString: "Google",
		    identity: "Chrome"
		},
		{
			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.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

    var stylesheet = '';
    if (BrowserDetect.browser != "Explorer") {
        stylesheet = ' <link href="stylesheets/default.css" rel="stylesheet" type="text/css" media="screen"/>';
    } else {
        stylesheet = ' <link href="stylesheets/ie.css" rel="stylesheet" type="text/css" media="screen"/>';
    }
    document.write(stylesheet);

/* -- load event function -- */
function addLoadEvent(func)
{    
    var oldonload = window.onload;
    if (typeof window.onload != 'function')
    {
        window.onload = func;
    } 
    else 
    {
        window.onload = function()
        {
            oldonload();
            func();
        }
    }
}
//addLoadEvent(rollOvers);

// functions for newsletter subscribe on newsquest 911 homepage //
function emailPrompt() {
    var emailBox = document.getElementById('tbSubscribe');
    if (emailBox.value == "Enter E-mail")
        emailBox.value = "";
        setStyle('tbSubscribe', 'color', '#000');
}

function emailPromptReload() {
    var emailBox = document.getElementById('tbSubscribe');
    if (emailBox.value == "") {
        emailBox.value = "Enter E-mail";
        setStyle('tbSubscribe', 'color', '#666');
    }
}

function emailLoad() {
    var emailBox = document.getElementById('tbSubscribe');
    var emailPrompt = "Enter E-mail";
    emailBox.value = emailPrompt;
    setStyle('tbSubscribe', 'color', '#666');
}

function validateEmail(source, args) {
    var RegExEmail1 = /^\w+([-+.\']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    var email = document.getElementById('tbSubscribe').value;
    var emailField = document.getElementById('tbSubscribe');
    var cvEmail = document.getElementById('cvEmail');
    var error1 = 'Please enter an E-mail Address.';
    var error2 = "Must be in a valid E-mail format. Example: johndoe@lifequest.com";
    if (email != '' && email != 'Enter E-mail') {
        if (RegExEmail1.test(email) == true) {
            //cvEmail.innerHTML = '';
            args.IsValid = true;
        } else {
            alert(error2);
            emailField.select();
            args.IsValid = false;
        }
    } else {
        alert(error1);
        args.IsValid = false;
    }
}

// following 2 func can set styles for any given element //
function setStyle(obj,style,value){
		getRef(obj).style[style]= value;
	}
	
	function getRef(obj){
		return (typeof obj == "string") ?
			 document.getElementById(obj) : obj;
	}

