// INC_jsTools.js is a library of useful js functions, like opening pop up windows, etc.

function jsTools_formatCurrency(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));
	return (((blnSign)?'':'-')  + dblValue + '.' + strCents);
}

function jsTools_openWin(winPage,winName,winParams){
	var win=window.open(winPage,winName,winParams);
	win.focus();
}
function jsTools_strTrim(str){
	var i=0;
	var j=str.length-1;

	trimstr="";
	if(j<0) return trimstr;

	flagbegin=true;
	flagend=true;

	while(flagbegin==true){
		if (str.charAt(i)==' ') i++;
		else flagbegin=false;
	}
	while(flagend==true){
		if (str.charAt(j)==' ') j--;
		else flagend=false;
	}

	if(j<i) return trimstr;
	else trimstr=str.substring(i,j+1);

	return trimstr;
}

var l_popup_win;

function jsTools_close_popup(){
	if (l_popup_win) {
        if (!l_popup_win.closed) l_popup_win.close();
		l_popup_win = null;
	}
}

window.onfocus=jsTools_close_popup;

function jsTools_popup(url,width,height){
	l_popup_win=window.open(url,"KinteraSphere","menubar=no,width="+width+",height="+height+",scrollbars,resizable");
	l_popup_win.focus();
}
function jsTools_popup2(url, winParams){
	l_popup_win=window.open(url,"KinteraSphere",winParams);
	l_popup_win.focus();
}
function jsTools_popup_calendar2(root_path,element,name,type){
	var esc;
	if (type == 1) //input box in a form
		esc = escape(element.value) + "&inp=" + name;
	else if (type == 100)
		esc = escape(element.value) + "&inp=" + name + "&cs=1";
	else if (type == 200)
		esc = escape(element.start_month.value+"/"+element.start_day.value+"/"+element.start_year.value) + "&form=" + name + "&inp=" + type;
	else if (type == 300)
		esc = escape(element.end_month.value+"/"+element.end_day.value+"/"+element.end_year.value) + "&form=" + name + "&inp=" + type;
	else if( type == 500 )  
	    esc = escape(element.value) + "&form=" + name + "&inp=" + type;
	else
		esc = escape(element.month.value+"/"+element.day.value+"/"+element.year.value) + "&form=" + name;

	jsTools_popup(root_path + "/common/asp/calendar_popup.asp?date="+esc,240,265);
}
function jsTools_popup_calendar3(root_path,element,name,type,winParams){
	var esc;
	if (type==1)	//input box in a form
		esc=escape(element.value) + "&inp=" + name;
	else if (type==100)
		esc=escape(element.value) + "&inp=" + name + "&cs=1";
	else
		esc=escape(element.month.value+"/"+element.day.value+"/"+element.year.value) + "&form=" + name;

	jsTools_popup2(root_path + "/common/asp/calendar_popup.asp?date="+esc, "width=240,height=265,"+winParams);
	return l_popup_win;
}
function jsTools_popup_calendar(element,name,type){
    jsTools_popup_calendar2("../..", element,name,type);
}
function jsTools_popup_calendar_callback(element,name,type)
{
    var esc;
    esc = escape(element.value) + "&form=" + name + "&inp=" + type;
    jsTools_popup("../.." + "/common/asp/calendar_popup.asp?date="+esc,240,265);
}
function ks_button_chgclr(ctrl,action){
	var st=ctrl.style;
	if(st==null) return; //strange enough, sometimes can't get style object in some browsers
	switch(action){
		case 1: //down
			st.borderLeftColor="#001B3D";
			st.borderTopColor="#001B3D";
			st.borderRightColor="#365B7F";
			st.borderBottomColor="#365B7F";
			break;
		case 2: //up
		case 4: //leave
			st.borderLeftColor="#365B7F";
			st.borderTopColor="#365B7F";
			st.borderRightColor="#001B3D";
			st.borderBottomColor="#001B3D";
			break;
		case 3: //enter
		default: break;
	}
}
function ks_button_enter(){if(navigator.appName!="Netscape")ks_button_chgclr(window.event.srcElement,3);}
function ks_button_leave(){if(navigator.appName!="Netscape")ks_button_chgclr(window.event.srcElement,4);}
function ks_button_down(){if(navigator.appName!="Netscape")ks_button_chgclr(window.event.srcElement,1);}
function ks_button_up(){if(navigator.appName!="Netscape")ks_button_chgclr(window.event.srcElement,2);}
function ks_button_disable(btn, b_disabled){
	var st=btn.style;
	if (b_disabled){
		btn.disabled=true;
		st.borderLeftColor="#e0e0e0";
		st.borderTopColor="#e0e0e0";
		st.borderRightColor="#606060";
		st.borderBottomColor="#606060";
		st.backgroundColor="#c0c0c0";
		st.cursor="default";
	}
	else{
		btn.disabled=false;
		st.borderLeftColor="#ffb482";
		st.borderTopColor="#ffb482";
		st.borderRightColor="#a0522d";
		st.borderBottomColor="#a0522d";
		st.backgroundColor="#ff6000";
		st.cursor="hand";
	}
}
function ks_button_dosubmit(btn, submit_value){
	btn.form.submit_type.value=submit_value;
	btn.form.submit();
}
function jsTools_hideObject(objectId) {
	var id = document.getElementById(objectId);
	eval("id.style.display = 'none';");
}

function jsTools_showObject(objectId) {
	var id = document.getElementById(objectId);
	eval("id.style.display = 'block';");
}

function jsTools_isVisible(objectId) {
	var id = document.getElementById(objectId);
	return id.style.display != "none";
}

function jsTools_Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
	return "";
}

function jsTools_Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
    return "";
}


function PreSelectOption(tagId, selectValue){
var list=document.getElementById(tagId);
if (list.options.length>1) for(var i=0;i<list.options.length;i++) list.options[i].selected=(list.options[i].value==selectValue)?true:false;
}
function PreSelectOptionMultiple(tagId, selectValue){
var list=document.getElementById(tagId);
if (list.options.length>1) for(var i=0;i<list.options.length;i++) if(list.options[i].value==selectValue){list.options[i].selected=true;}
}

function ResizeIFrame(id){
var x=0;
try{
x=document.getElementById(id).contentWindow.document.body.scrollHeight;
}catch(e){}
document.getElementById(id).height=(x+16)+"px";
}


