//Version 5.0
//4/11/2007
/**
 * common.js v5.0
 *
 * 4/11/2007
 *
 */
function BranchTo(myURL)
{
 top.location = myURL;
}

function Goto(list)
{
 var item=list.options[list.selectedIndex].value;

 if (item != '0') 
	 top.location = item;
}


function openWindow(theURL,winName,winWidth,winHeight,otherFeatures) 
{
	var x = 0;
	var y = 0;
	
	x = (screen.availWidth - 12 - winWidth) / 2;
	y = (screen.availHeight - 48 - winHeight) / 2;
	
	//if (otherFeatures != "") {otherFeatures = "," + otherFeatures}
	//var features = "screenX=" + x + ",screenY=" + y + ",width=" + winWidth + ",height=" + winHeight+",top="+y+",left="+x+"'" + otherFeatures

	var NewWindow = window.open(theURL,winName,'menubar=1,resizable=1,width=350,height=250');
	
	NewWindow.focus();
}

function branchTo(list)
{
 var item=list.value;

 top.location = item;
}

function confirmDeletion(thisDisplayInfoType, thisTitle, thisURL)
{
	var msg = "Do you want to\n\nDELETE the " + thisDisplayInfoType + " '" + thisTitle + "'?";
	
	if (confirm(msg)){
		msg = "Please Confirm to DELETE the " + thisDisplayInfoType + " '" + thisTitle + "'.";
		
		if (confirm(msg))
			window.location=thisURL;
	}
}

function formatCurrency(strValue)
{	
	if ((strValue=="") || (strValue==null))	 
		return '$0.00';

	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);
	
	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
		
	if (dblValue == "NaN")	 
		return '$0.00';

	return (((blnSign)?'':'-') + '$' + dblValue + '.' + strCents);
}

function formatNumber(strValue)
{
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	//for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		//dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		//dblValue.substring(dblValue.length-(4*i+3));
		
	if (dblValue == "NaN")	 
		return '0';
		
//	return (((blnSign)?'':'-') + dblValue + '.' + strCents);
	return (((blnSign)?'':'-') + dblValue);
}

function formatReal(strValue)
{
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100000+0.50000000001);
	intCents = dblValue%100000;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100000).toString();

	//if(intCents<10000)
	//	strCents = "0" + strCents;
	
	for (var i=0; strCents.length<5; i++)
		strCents = "0" + strCents;
	
	//for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		//dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		//dblValue.substring(dblValue.length-(4*i+3));
		
	if (dblValue == "NaN")	 
		return '0';
		
	return (((blnSign)?'':'-') + dblValue + '.' + strCents);
//	return (((blnSign)?'':'-') + dblValue);
}

function isNumberKey(evt)
{
	 var charCode = (evt.which) ? evt.which : event.keyCode
	 if (charCode > 31 && (charCode < 48 || charCode > 57))
			return false;

	 return true;
}
 
//Format Phone number	
var zChar = new Array(' ', '(', ')', '-', '.'); 
var maxphonelength = 13; 
var phonevalue1; 
var phonevalue2; 
var cursorposition;

function ParseForNumber1(object){
	phonevalue1 = ParseChar(object.value, zChar); 
} 

function ParseForNumber2(object){
	phonevalue2 = ParseChar(object.value, zChar); 
}

function backspacerUP(object,e) {
	if(e){
		e = e
	} else {
		e = window.event
	}
	
	if(e.which){
		var keycode = e.which
	} else {
		var keycode = e.keyCode
	}

	ParseForNumber1(object)

	if(keycode >= 48){
		ValidatePhone(object)
	}
}

function backspacerDOWN(object,e) {
	if(e){
		e = e
	} else {
		e = window.event
	}
	
	if(e.which){
		var keycode = e.which
	} else {
		var keycode = e.keyCode
	}
	
	ParseForNumber2(object)
} 

function GetCursorPosition(){

	var t1 = phonevalue1;
	var t2 = phonevalue2;
	var bool = false
	for (i=0; i<t1.length; i++){
		if (t1.substring(i,1) != t2.substring(i,1)) {
			if(!bool) {
				cursorposition=i
				bool=true
			}
		}
	}
}

function ValidatePhone(object){

	var p = phonevalue1

	p = p.replace(/[^\d]*/gi,"")

	if (p.length < 3) {
		object.value=p
	} else if(p.length==3){
		pp=p;
		d4=p.indexOf('(')
		d5=p.indexOf(')')
		if(d4==-1){
			pp="("+pp;
		}
		if(d5==-1){
			pp=pp+")";
		}
		object.value = pp;
	} else if(p.length>3 && p.length < 7){
		p ="(" + p;
		l30=p.length;
		p30=p.substring(0,4);
		p30=p30+")"

		p31=p.substring(4,l30);
		pp=p30+p31;

		object.value = pp; 

	} else if(p.length >= 7){
		p ="(" + p;
		l30=p.length;
		p30=p.substring(0,4);
		p30=p30+")"
		
		p31=p.substring(4,l30);
		pp=p30+p31;
		
		l40 = pp.length;
		p40 = pp.substring(0,8);
		p40 = p40 + "-"
		
		p41 = pp.substring(8,l40);
		ppp = p40 + p41;
		
		object.value = ppp.substring(0, maxphonelength); 
	}
		
	GetCursorPosition()

	if(cursorposition >= 0){
		if (cursorposition == 0) {
			cursorposition = 2
		} else if (cursorposition <= 2) {
			cursorposition = cursorposition + 1
		} else if (cursorposition <= 5) {
			cursorposition = cursorposition + 2
		} else if (cursorposition == 6) {
			cursorposition = cursorposition + 2
		} else if (cursorposition == 7) {
			cursorposition = cursorposition + 4
			e1=object.value.indexOf(')')
			e2=object.value.indexOf('-')
			if (e1>-1 && e2>-1){
				if (e2-e1 == 4) {
					cursorposition = cursorposition - 1
				}
			}
		} else if (cursorposition < 11) {
			cursorposition = cursorposition + 3
		} else if (cursorposition == 11) {
			cursorposition = cursorposition + 1
		} else if (cursorposition >= 12) {
			cursorposition = cursorposition
		}

		//commented out by Q on 12/9/2007 to fix phone format issue via virtual keyboard
		//var txtRange = object.createTextRange(); txtRange.moveStart( "character", cursorposition); txtRange.moveEnd( "character", cursorposition - object.value.length); txtRange.select(); 
	}
}

function ParseChar(sStr, sChar)
{
	if (sChar.length == null){
		zChar = new Array(sChar);
	}
	else 
		zChar = sChar;

	for (i=0; i<zChar.length; i++){
		sNewStr = "";

		var iStart = 0;
		var iEnd = sStr.indexOf(sChar[i]);

		while (iEnd != -1){
			sNewStr += sStr.substring(iStart, iEnd); iStart = iEnd + 1; iEnd = sStr.indexOf(sChar[i], iStart); 
		} 
		
		sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);

		sStr = sNewStr;
	}

	return sNewStr;
}
// Format Phone number	
