﻿var aos_isie = document.all;
var aos_ismac = (navigator.userAgent.toLowerCase().indexOf('mac')!=-1);
var aos_isdom = document.getElementById;

function contains(arr, val) {
	for (var i=0; i<arr.length; i++) {
		if (arr[i] == val)
			return true;
	}
	return false;
}

function trim(s) {
  return s.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

var autofocus_box;
function autofocus_set() {
	if(aos_isdom && !(aos_ismac && aos_isie))
		document.onkeydown = autofocus;
}
function autofocus(e) {
	if(!aos_isdom || !autofocus_box) {
		return true;
	}
	var evt = window.event ? window.event : e, code=evt.keyCode;
	var elem = evt.srcElement ? evt.srcElement : evt.target, tag=elem.tagName;
	var inside = (elem==autofocus_box);

	if(code==8 || (code>31&&code<41) || code<32 || evt.altKey || (code>=112 && code<123)) {
		//ignore
	}
	else if(!inside && !((tag=='INPUT' && elem.type=='text') || (tag=='SELECT') || (evt.ctrlKey && code!=86))){
		autofocus_box.focus();
		autofocus_box.select();
	}
}
//check if 1 value of a radio button group is selected
function radioselected(radiogroup)
{
	var selected = false;
	for( i = 0; i < radiogroup.length; i++ )
	{
		if( radiogroup[i].checked )
			selected = true;					
	}
	return selected;
}

//return the value of the selected radio button
function radiovalue(radiogroup)
{
	var val = "";
	for( i = 0; i < radiogroup.length; i++ )
	{
		if( radiogroup[i].checked )
			val = radiogroup[i].value;
	}
	return val;
}
//disable/enable radiobutton group
function radiodisable(radiogroup,truefalse)
{
	for(i=0; i < radiogroup.length; i++)
		radiogroup[i].disabled = truefalse;
}
//clear radiobutton group
function radioclear(radiogroup)
{
	for( i = 0; i < radiogroup.length; i++ )
		radiogroup[i].checked = false;
}

function formatnumber(num, decimalNum, bolLeadingZero, bolParens)
   /* IN - num:            the number to be formatted
           decimalNum:     the number of decimals after the digit
           bolLeadingZero: true / false to use leading zero
           bolParens:      true / false to use parenthesis for - num

      RETVAL - formatted number
   */
{
	var tmpNum = num;

	// Return the right number of decimal places
    tmpNum *= Math.pow(10,decimalNum);
    tmpNum = Math.floor(tmpNum);
    tmpNum /= Math.pow(10,decimalNum);

    var tmpStr = new String(tmpNum);

    // See if we need to hack off a leading zero or not
    if (!bolLeadingZero && num < 1 && num > -1 && num !=0)
		if (num > 0)
			tmpStr = tmpStr.substring(1,tmpStr.length);
		else
		// Take out the minus sign out (start at 2)
        tmpStr = "-" + tmpStr.substring(2,tmpStr.length);                        

	// See if we need to put parenthesis around the number
    if (bolParens && num < 0)
		tmpStr = "(" + tmpStr.substring(1,tmpStr.length) + ")";
	return tmpStr;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function swap() { //v3.0
  var i,j=0,x,a=swap.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function restore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function aospop(url, w, h) {
  window.open(url,null,'height=' + h + ',width=' + w + ',resizable=yes,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes');
}

function quotepop(url,sym) {
  window.open(url + '?q=' + sym,'_quotepop','height=325,width=525,resizable=yes,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes');
}

function disablefield(field) {
	field.disabled = true;
	field.style.backgroundColor = '#ccc';
}

function enablefield(field) {
	field.disabled = false;
	field.style.backgroundColor = '#fff';
}

function qsValue( param ) {
	var qs = window.location.href.substring(window.location.href.indexOf("?")+1);
	var vals = qs.split("&");
	for (var i=0; i < vals.length; i++) {
		var val = vals[i].split("=");
		if (val[0] == param)
			return val[1];
	}
	return "";
}