﻿var searchUrl = 'http://www.google.com/';

function navMouseOver(e)
{
    var element = $(e);
    var nodes = element.select('img');
    if(nodes.length > 0)
        nodes[0].style.visibility = 'visible';
}

function navMouseOut(e)
{
    var element = $(e);
    var nodes = element.select('img');
    if(nodes.length > 0 && element.className.indexOf(' on') == -1)
        nodes[0].style.visibility = 'hidden';
}

function userNameFocus(e)
{
    var element = $(e);
    if(element.value == 'Enter user name...')
    {
        element.value = '';
    }
}

function userNameBlur(e)
{
    var element = $(e);
    if(element.value == '')
    {
        element.value = 'Enter user name...';
    }
}

function changeInputType(oldObject, oType) {
  var newObject = document.createElement('input');
  newObject.type = oType;
  if(oldObject.size) newObject.size = oldObject.size;
  if(oldObject.value) newObject.value = oldObject.value;
  if(oldObject.name) newObject.name = oldObject.name;
  if(oldObject.id) newObject.id = oldObject.id;
  if(oldObject.className) newObject.className = oldObject.className;
  if(oldObject.onblur) newObject.onblur = oldObject.onblur;
  if(oldObject.onfocus) newObject.onfocus = oldObject.onfocus;
  if(oldObject.onkeypress) newObject.onkeypress = oldObject.onkeypress;
  oldObject.parentNode.replaceChild(newObject,oldObject);
  
  return newObject;
}

function passwordFocus(e)
{
    var element = $(e);
    var userName = $('username');
    if(element.type == 'text')
    {
        element.value = '';
        
        try
        {
            element.type = 'password';
        }
        catch (err)
        {
            element = changeInputType(element, 'password');
            setTimeout('$(\'password\').select();', 1); //hack for IE to correctly select the new input box
        }
    }
}

function passwordBlur(e)
{
    var element = $(e);
    if(element.type == 'password' && element.value == '')
    {
        try
        {
            element.type = 'text';
        }
        catch (err)
        {
            element = changeInputType(element, 'text');
        }

        element.value = 'Enter password...';
    }
}

function loginSite()
{
    var username = document.getElementById('username');
    var password = document.getElementById('password');
    
    //Login here
    alert('login');
    
    if(document.all)
        event.returnValue = false;

    return false;
    
}

function searchSite(searchText)
{
    var searchTextBox = document.getElementById(searchText);
    document.location = searchUrl + '&keyword=' + searchTextBox.value;
    
    if(document.all)
        event.returnValue = false;

    return false;
}

//use with onkeypress event
function isnumeric(e)
{
    var keyNum;
    if(e.keyCode)
    {
        keyNum = e.keyCode;
    }
    else
    {
        keyNum = e.which
    }
    var keyChar = String.fromCharCode(keyNum);
    var regex = /\d|\t/
    return regex.test(keyChar)
}

function isReturn(e)
{
    var keyNum;
    if(e.keyCode)
    {
        keyNum = e.keyCode;
    }
    else
    {
        keyNum = e.which
    }
    var keyChar = String.fromCharCode(keyNum);
    var regex = /\r/
        
    return regex.test(keyChar)
}

//BrowserDetect from http://www.quirksmode.org/js/detect.html

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"
		},
		{
			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();
