﻿function addEvent(el, eType, fn, uC) {
    if (el.addEventListener) {
        el.addEventListener(eType, fn, uC);
        return true;
    } else if (el.attachEvent) {
        return el.attachEvent('on' + eType, fn);
    } else {
        el['on' + eType] = fn;
    }
}

function stopProp(e) {
    if (e && e.stopPropogation)
        e.stopPropogation();
    else if (window.event && window.event.cancelBubble)
        window.event.cancelBubble = true;
}

function stopDef(e) {
    if (e && e.preventDefault)
        e.preventDefault();
    else if (window.event && window.event.returnValue)
        window.event.returnValue = false;
}

function getEventTarget(e) {
    if (window.event && window.event.srcElement)
        return window.event.srcElement;
    else if (e && e.target)
        return e.target;
    else
        return null;
}

function selectTab(inTabName) {
    var tab = document.getElementById(inTabName);
    if (tab) {
        var links = tab.getElementsByTagName('a'); //should only return 1
        if (links[0]) {
            links[0].className = 'navItemSelected';
        }
    }
}


// Added JS functions by Irfan from the existing PND website to support Keypress(),KeyUp() and KeyDown() events.
function isChar(c) {
	return "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".indexOf(c) != -1;
}
function kp_Id(evt) {
	var isIE = (navigator.appName == "Microsoft Internet Explorer");
	var isSafari = (navigator.userAgent.indexOf("Safari") != -1);
	var evt = (evt) ? evt : ((event) ? event : null);
	var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : evt.which);
	var c = String.fromCharCode(charCode).toUpperCase();
	if (isChar(c)) {
		if (isIE) {
			evt.keyCode = c.charCodeAt(0);
			evt.returnValue = true;
		}
		return true;
	} else {
		if (c.length > 0 && charCode > 0) {
			if (isSafari) {
				return false;
			}
			if (evt.returnValue) {
				evt.returnValue = false;
			} else if (evt.preventDefault) {
				evt.preventDefault();
			} else {
				if (evt.keyCode) {
					evt.keyCode = 0;
				}
				return false;
			}
		}
	}
}

var b4="";
function kd_Id(evt) {
	var evt = (evt) ? evt : ((event) ? event : null);
	var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
	b4 = elem.value;
}

function ku_Id(evt,obj,isLast) {
	var evt = (evt) ? evt : ((event) ? event : null);
	var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
	var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : evt.which);
	var c = String.fromCharCode(charCode).toUpperCase();

	if (elem.value.length == 5) {
		if (elem.value.substr(0,4) == b4) {
			var nextElement = null;
			var selectNext = true;
			
			//Added by Irfan M Saleem and commented the below code.
			nextElement = document.getElementById(obj);
			if(isLast)
			    selectNext = false;
           
			try {
			    if (nextElement != null) {
				    nextElement.focus();
				    if ( selectNext ) nextElement.select();
			    }
			}
			catch (e) {}
		}
	}
}

/*the purpose of this function is to allow the enter key to 
 * point to the correct button to click.
 */
function doClick(buttonName,e)
{	
	var key;

	if(window.event)
		key = window.event.keyCode;     //IE
	else
		key = e.which;     //firefox
	    
	if (key == 13)
	{
		//Get the button the user wants to have clicked
		var btn = document.getElementById(buttonName);
		
		if (btn != null)
		{ //If we find the button click it
			btn.click();
			event.keyCode = 0
		}
	}
  }

