﻿// *********************************************
// DREAMWEAVER
// *********************************************
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //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 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 MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.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];}
}

// *********************************************
// DISPLAY TODAY
// *********************************************
function displayToday(){
	var today=new Date();
	//var strToday = "";
	//strToday = today;
	//strToday = strToday.substr(0, 15);
	//document.write(strToday);
	var day = today.getDay();
	switch (day){
		case 0: strDay = "Sun"; break;
		case 1: strDay = "Mon"; break;
		case 2: strDay = "Tue"; break;
		case 3: strDay = "Wed"; break;
		case 4: strDay = "Thur"; break;
		case 5: strDay = "Fri"; break;
		case 6: strDay = "Sat"; break;
	}
	var month = today.getMonth()+1;
	switch (month){
		case 1: strMonth = "Jan"; break;
		case 2: strMonth = "Feb"; break;
		case 3: strMonth = "Mar"; break;
		case 4: strMonth = "Apr"; break;
		case 5: strMonth = "May"; break;
		case 6: strMonth = "Jun"; break;
		case 7: strMonth = "Jul"; break;
		case 8: strMonth = "Aug"; break;
		case 9: strMonth = "Sep"; break;
		case 10: strMonth = "Oct"; break;
		case 11: strMonth = "Nov"; break;
		case 12: strMonth = "Dec"; break;
	}
	var date = today.getDate();
	var year = today.getFullYear();
	document.write(strDay+" "+strMonth+" "+date+", "+year);
}

//Highlight image script- By Dynamic Drive
//For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
//This credit MUST stay intact for use

/*****************************************************************************
*  SHORTCUTS
*****************************************************************************/

function $id(id)
{
	return document.getElementById(id);
}

function $show(id)
{
	DisplayId(id, true);  // 'block'
}

function $showBlock(id)
{
	DisplayId(id, 'block');
}

function $showInline(id)
{
	DisplayId(id, 'inline');
}

function $hide(id)
{
	DisplayId(id, false);
}

function $focus(id)
{
	var obj = $id(id);
	if(obj)
	{
		try
		{
			obj.focus();
		}
		catch(error) { }
	}
}

/*****************************************************************************
*  NUMBER FUNCTIONS
*****************************************************************************/

function IsNumeric(str)
{
	var ValidChars = "0123456789.,";
	var Char;
	var iLen = str.length;

	for (i = 0; i < iLen; i++) 
	{ 
		Char = str.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			if (i == 0 && Char == '-')
				; // Negative number
			else
				return false;
		}
	}
	return true;
}

/*****************************************************************************
*  STRING FUNCTIONS
*****************************************************************************/

// Returns the specified number of characters from the left side of the string
function Left(str, n)
{
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str;
	else
		return String(str).substring(0, n);
}
			
// Removes leading whitespaces
function LTrim(str)
{
	var re = /\s*((\S+\s*)*)/;
	return str.replace(re, "$1");
}

// Removes ending whitespaces
function RTrim(str)
{
	var re = /((\s*\S+)*)\s*/;
	return str.replace(re, "$1");
}

// Removes leading and ending whitespaces
function Trim(str)
{
	return LTrim(RTrim(str));
}

// Format as a decimal number with 2 places
function FormatDecimal2(amount)
{
	var str = "" + amount;
	var dec = str.length - str.indexOf('.');
	if (str.indexOf('.') == 0)
		str = "0" + str;
	if (str.indexOf('.') == -1)
		str = str + '.00';
	else if (dec == 1)
		str = str + '00';
	else if (dec == 2)
		str = str + '0';
	else if (dec > 3)
		str = str.substring(0, str.length - dec + 3);
	return FormatComma(str);
}
	
// Format as a decimal number with x places
function FormatDecimal(amount, places)
{
	var str = '' + amount;
	str = Trim(str);
	if (str == '')
		return '';
	if (str.indexOf('.') == 0)
		str = "0" + str;
		
	if (places <= 0)
	{
		var pos = str.indexOf('.');
		if (pos > 0)
		{
			str = str.substring(0, pos);
		}
	}
	else
	{
		if (str.indexOf('.') == -1)
			str = str + '.';
			
		var pos = str.indexOf('.');
		var dec = str.length - pos - 1;
		if (dec <= places)
		{
			var i = 0;
			for (i = dec; i < places; i++)
			{
				str = str + '0';
			}
		}
		else
		{
			str = str.substring(0, str.length - dec + places);
		}
	}

	return FormatComma(str);
}

// Format with commas
function FormatComma(str)
{
	var T = "";
	var S = String(str);
	var L = S.length - 1;
	var C = '';
	var j = 0;
	var P = S.indexOf(".") - 1;
	if (P < 0)
	{
		P = L;
	}
	for (j = 0; j <= L; j++)
	{
		T += C = S.charAt(j);
		if (j < P && (P - j) % 3 == 0 && C != "-")
		{
			T += ",";
		}
	}
	return T;
}

// Remove commas (,)
function RemoveComma(str)
{
	var S = String(str);
	return S.replace(/,/g, '');
}

// Remove dollar signs ($)
function RemoveDollar(str)
{
	var S = String(str);
	return S.replace(/\$/g, '');
}


/*****************************************************************************
*  STRING BUFFER
*  String concatenation is very slow in Javascript.  Use a string buffer to
*  combine strings quickly.
*
*  Usage:
*    var buf = new StringBuffer();
*    buf.append("some");
*    buf.append("text");
*    var str = buf.toString();
*****************************************************************************/

function StringBuffer()
{ 
	this.buffer = []; 
} 

StringBuffer.prototype.append = function append(string)
{ 
	this.buffer.push(string); 
	return this; 
}; 

StringBuffer.prototype.toString = function toString()
{ 
	return this.buffer.join(""); 
};


/*****************************************************************************
*  COMBO BOX FUNCTIONS (<SELECT>)
*****************************************************************************/

// Select an option in a combo box
function SelectComboOption(id, value)
{
	var obj = $id(id);
	if(obj)
	{
		var opts = obj.options;
		var len = opts.length;
		var idx = 0;
		for(idx = 0; idx < len; idx++)
		{
			if(opts[idx].value == value)
			{
				opts[idx].selected = true;
				break;
			}
		}
	}
}

// Get the value of the selected combo option.  If an option is not selected
// return the specified default value.
function GetComboValue(id, def)
{
	var obj = $id(id);
	if(obj)
	{
		var sValue = obj.value;
		if(sValue == '')
			sValue = def;
		return sValue;
	}
	return def;
}


/*****************************************************************************
*  CHECKBOX BOX FUNCTIONS (<INPUT TYPE="CHECKBOX">)
*****************************************************************************/

function CheckAll(id)
{
	CheckCheckBoxes(id, true);
}
	
function CheckNone(id)
{
	CheckCheckBoxes(id, false);
}
	
function CheckCheckBoxes(id, checked)
{
	var elm = document.forms(0).elements;
	var len = elm.length;
	var idlen = ('' + id).length;
	for(xLoop = 0; xLoop < len; xLoop++)
	{
		var tControl = elm[xLoop];
		if(!tControl.disabled)
		{
			if(tControl.id.substring(0, idlen) == id)
			{
				tControl.checked = checked ;
			}
		}
	}
}


/*****************************************************************************
*  MISC
*****************************************************************************/

function DisplayId(id, show)
{
	var obj = $id(id);
	if(obj)
	{
		if(show == false)
			obj.style.display = 'none';
		else if(show == true)
			obj.style.display = 'block';
		else
			obj.style.display = show;
	}
}

// open link in a new window, the second argument is optional that sets the window width 
function fnOpenLink(sLink){
	var sWidth = "1000px";
	if (arguments.length > 1) sWidth = arguments[1];
	var win = window.open(sLink, "_popup", "top=10, left=10, height=500,width=" + sWidth + ",status=yes,toolbar=no,scrollbars=yes,menubar=no,location=no,titlebar=no");
}
