window.defaultStatus = "Independent Advice";

var boolDirty = false;

function _preloadImages() {
    var strArgsArray = _preloadImages.arguments;
    var intPreloadSize = strArgsArray.length;

    if (preloadArray==null) preloadArray = new Array(intPreloadSize);
    for (var intIndex=0;intIndex<strArgsArray.length; tIndex++) {
		preloadArray[intIndex] = new Image();
		preloadArray[intIndex].src = strArgsArray[intIndex];
  	}
}

function _setImage(strImageName, strURL)
{
	imgObject = document.images[strImageName];
	if (imgObject != null) imgObject.src = strURL;
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function append(array, item) {
	array[array.length] = item
}

function arrayAdd(aArray, aItem) {
	aArray[aArray.length] = aItem
}

function arrayDeleteAtPos(array, intPos) {
	if (intPos < array.length && intPos >= 0) {
		var value = array[intPos]
		arrayDeleteValue(array, value)
	}
}

function arrayDeleteValue(array, value) {
	var intPos = arrayHas(array, value)
	if (intPos >= 0) {
		for (var intIndex=intPos;intIndex<array.length-1;intIndex++) {
			array[intIndex] = array[intIndex + 1]
		}
		array.length = array.length - 1
	}
}

function arrayHas(array, value) {
	for(var intIndex=0; intIndex<=array.length; intIndex++) {
		if (array[intIndex] + '' == value + '') return intIndex
	}
	return -1
}

function closeWindow() {
	self.close();
}

function containsIllegalPathChars(strPath) {
	//( ) [ ] \ : * ? " < > |
	if (strPath.indexOf('(') >= 0) return true;
	if (strPath.indexOf(')') >= 0) return true;
	if (strPath.indexOf('[') >= 0) return true;
	if (strPath.indexOf(']') >= 0) return true;
	if (strPath.indexOf('\\') >= 0) return true;
	if (strPath.indexOf(':') >= 0) return true;
	if (strPath.indexOf('*') >= 0) return true;
	if (strPath.indexOf('?') >= 0) return true;
	if (strPath.indexOf('<') >= 0) return true;
	if (strPath.indexOf('>') >= 0) return true;
	if (strPath.indexOf('|') >= 0) return true;
	return false;
}

function containsNonAlphaNumChars(str) {
	var strAlphaNumArray = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
	for(var intIndex=0;intIndex<str.length;intIndex++) {
		var strChar = str.charAt(intIndex);
		if (getPos(strAlphaNumArray, strChar) < 0) return true;
	}
	return false;
}

function formatDollars(intAmountCents) {
	if (isNull(intAmountCents)) return ''
	var strCents = '' + intAmountCents
	var strDollars = ''
	if (strCents.length <= 2) {
		strDollars = strDollars + '0.' + leftPadStr(strCents, 2, '0')
	} else {
		strDollars += strCents.substring(0, strCents.length-2)
		strDollars += '.'
		strDollars += strCents.substr(strCents.length-2)
	}
	return strDollars
}

function gotoPage(strMethod, intPageNr, strPageNrField) {
	document.form1.Page.value = strMethod;
	var fldPageNr = eval('document.form1.' + strPageNrField)
	if (fldPageNr) fldPageNr.value = intPageNr;
//	document.form1.PageNr.value = intPageNr;
	document.form1.submit();
}

function leftPadStr(aString, aLength, aChar) {
	if (aString.length >= aLength) {
		return aString
	} else {
		var str = ''
		for(var i=1;i <= aLength - aString.length; i++) {
			str = str + aChar
		}
		str = str + aString
		return str
	}
}

function MM_openBrWindow(theURL,winName,features) {
	if (features == null) {
		var win = window.open(theURL,winName);
	} else {
		var win = window.open(theURL,winName,features);
	}
	return win;
}

function getFieldValue(aFormName, aFieldName) {
	var strValue = null;
	var str = 'strValue = document.' + aFormName + '.' + aFieldName + '.value;';
	eval(str);
	return trim(strValue);
}

function getFormData() {
	var strFormData = ''
	var intCount = document.form1.elements.length;
	for(var intIndex=0;intIndex<intCount;intIndex++) {
		if (intIndex > 0) strFormData = strFormData + '&'
		var field = document.form1.elements[intIndex];
		var strName = field.name;
		var strData = field.value;
		strFormData = strName + '=' + strData;
	}
	return strFormData
}

function getPos(objArray, value) {
	for(var i=0; i<objArray.length;i++) {
		if (objArray[i] + '' == value + '') return i
	}
	return -1
}

function getSelectText(aFormName, aFieldName) {
	var intIndex = objSelect.selectedIndex;
	var objOption = objSelect[intIndex];
	return trim(objOption.text);
}

function getSelectValue(objSelect) {
	var intIndex = objSelect.selectedIndex;
	var objOption = objSelect[intIndex];
	return objOption.value;
}

function gotoWindow(strPage, intWidth, intHeight) {
	if (strPage > '') {
		var strWindowName = strPage.replace(/\./gi, '_');
		var strURL = getHTTPSRoot() + '?Page=' + strPage;
		if (isNull(intWidth) && isNull(intHeight)) {
			intWidth = 768
			intHeight = 576
		}
		intLeft = ((screen.width - intWidth) / 2) + 1
		intTop = ((screen.height - intHeight) / 2) + 1
		var win = MM_openBrWindow(strURL, strWindowName, 'left=' + intLeft + ',screenX=' + intLeft + ',top=' + intTop + ',screenY=' + intTop + ',resizable=yes,scrollbars=yes,status=yes,toolbar=no,width=' + intWidth + ',height=' + intHeight);
	}
}

function getHTTPRoot() {
	var str = 'http://' + window.location.hostname + window.location.pathname;
	return str;
}

function getHTTPSRoot() {
	var str = 'https://' + window.location.hostname + window.location.pathname;
	return str;
}

function getHTTPServer() {
	if (window.location.hostname == 'localhost') {
		var str = 'http://'+ window.location.hostname + pathFromURL(window.location.pathname);
	} else {
		var str = 'https://'+ window.location.hostname + '/';
	}
	return str;
}

function isDevServer() {
	return (window.location.hostname == 'localhost')
}


function isNull(aItem) {
	var item = aItem + ''
	return ((item == 'null') || (item == 'undefined'))
}


function setDirty() {
	if (!boolDirty) {
		boolDirty = true;
		if (document.imgSaved) document.imgSaved.src='images/admin/saved-off.gif'
	}
}

function setFocus(aFormName, aFieldName) {
	var obj = null;
	var str = 'obj = document.' + aFormName + '.' + aFieldName;
	eval(str);
	obj.focus();
}

function trim(aString) {
	return aString.replace(/^\s*(\b.*\b|)\s*$/, "$1")
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

function noFocus(object) {
	object.blur();
}

function getMonitorWidth() {
	return screen.width;
}

function getMonitorHeight() {
	return screen.height;
}

function pathFromURL(strURL) {
	var intURLLen = strURL.length
	var intLastIndex = strURL.lastIndexOf('/')
	return strURL.substring(0, intLastIndex + 1)
}

function setFieldValue(strFormName, strFieldName, strValue) {
	var str = 'document.' + strFormName + '.' + strFieldName + '.value=' + squote(strValue);
	eval(str);
}

function setStatusMsg(strMsg) {
	window.status = strMsg;
}

function setClass(obj, strClassName) {
    obj.className = strClassName;
}

function squote(aString) {
	return '\'' + aString +'\'';
}

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 pageNav(objSelect, strMethod) {
	document.form1.Page.value = strMethod;
	document.form1.PageNr.value = objSelect.value;
	document.form1.submit();
}

function printWindow(objWin) {
	objWin.focus();
	if (objWin.print) {
	    objWin.print();
	} else {
	    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
		objWin.document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
	    WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box
	    WebBrowser1.outerHTML = "";
	}
}

function validateDate(strFormName, strName) {
	if (getFieldValue(strFormName, strName + '_day') == '') {
		alert('Please select a day');
		setFocus(strFormName, strName + '_day');
		return false;
	}
	if (getFieldValue(strFormName, strName + '_month') == '') {
		alert('Please select a month');
		setFocus(strFormName, strName + '_month');
		return false;
	}
	if (getFieldValue(strFormName, strName + '_year') == '') {
		alert('Please select a year');
		setFocus(strFormName, strName + '_year');
		return false;
	}
	return true
}

function validateDateTime(strFormName, strName) {
	if (getFieldValue(strFormName, strName + '_day') == '') {
		alert('Please select a day');
		setFocus(strFormName, strName + '_day');
		return false;
	}
	if (getFieldValue(strFormName, strName + '_month') == '') {
		alert('Please select a month');
		setFocus(strFormName, strName + '_month');
		return false;
	}
	if (getFieldValue(strFormName, strName + '_year') == '') {
		alert('Please select a year');
		setFocus(strFormName, strName + '_year');
		return false;
	}
	if (getFieldValue(strFormName, strName + '_hour') < 0) {
		alert('Please select an hour of the day');
		setFocus(strFormName, strName + '_hour');
		return false;
	}
	if (getFieldValue(strFormName, strName + '_minute') < 0) {
		alert('Please select a minute');
		setFocus(strFormName, strName + '_minute');
		return false;
	}
	return true
}

function validateTimeHMMeridian(strFormName, strName) {
	if (getFieldValue('form1', strName + '_hour') == -1) {
		alert('Please select an hour');
		setFocus('form1', strName + '_hour');
		return false;
	}
	if (getFieldValue('form1', strName + '_minute') == -1) {
		alert('Please select a minute');
		setFocus('form1', strName + '_minute');
		return false;
	}
	if (getFieldValue('form1', strName + '_meridian') == -1) {
		alert('Please select AM or PM');
		setFocus('form1', strName + '_meridian');
		return false;
	}
	return true
}

function verifyCurrency(objField) {
	var strValue = objField.value;
	var strNewValue = '';
	for(var intIndex=0;intIndex<strValue.length;intIndex++) {
		var intCharCode = strValue.charCodeAt(intIndex);
		if (intCharCode == 46 || (intCharCode >= 48 && intCharCode <= 57)) {
			strNewValue += strValue.charAt(intIndex)
		}
	}
	var strNewValueArray = strNewValue.split('.')
	if (strNewValueArray.length > 1) {
		var strInt = strNewValueArray[0];
		var strFrac = strNewValueArray[1];
		strFrac = strFrac.replace(/\./gi, '')
		strNewValue = strInt + '.' + strFrac.substr(0,2)
	}
	objField.value = strNewValue;
}

function verifyFloat(objField) {
	var strValue = objField.value;
	var strNewValue = '';
	for(var intIndex=0;intIndex<strValue.length;intIndex++) {
		var intCharCode = strValue.charCodeAt(intIndex);
		if (intCharCode == 46 || (intCharCode >= 48 && intCharCode <= 57)) {
			strNewValue += strValue.charAt(intIndex)
		}
	}
	var strNewValueArray = strNewValue.split('.')
	if (strNewValueArray.length > 1) {
		var strInt = strNewValueArray[0];
		var strFrac = strNewValueArray[1];
		strFrac = strFrac.replace(/\./gi, '')
		strNewValue = strInt + '.' + strFrac.substr(0,2)
	}
	objField.value = strNewValue;
}

function verifyInteger(objField) {
	var strValue = objField.value;
	var strNewValue = '';
	for(var intIndex=0;intIndex<strValue.length;intIndex++) {
		var intCharCode = strValue.charCodeAt(intIndex);
		if (intCharCode >= 48 && intCharCode <= 57) {
			strNewValue += strValue.charAt(intIndex)
		}
	}
	objField.value = strNewValue;
}

function verifyCode(objField) {
	var strValue = objField.value;
	var strNewValue = '';
	var intLegalCharArray = [48,49,50,51,52,53,54,55,56,57, 32, 65, 66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90, 95, 97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122]
	for(var intIndex=0;intIndex<strValue.length;intIndex++) {
		var intCharCode = strValue.charCodeAt(intIndex);
		var intChar = strValue.charAt(intIndex)
		if (getPos(intLegalCharArray, intCharCode) >= 0) {
			if (intCharCode == 32) intChar = '_';
			if (intCharCode >= 97 && intCharCode <=122) intChar = intChar.toUpperCase();
			strNewValue += intChar
		}
	}
	objField.value = strNewValue;
}

