



function formatphone (field) {
	field.value = trim(field.value);

    var ov = field.value;
    var v = "";
    var x = -1;

	// is this phone number 'escaped' by a leading plus?
	if (0 < ov.length && '+' != ov.charat(0)) {	// format it
	    // count number of digits
	    var n = 0;
		if ('1' == ov.charat(0)) {	// skip it
			ov = ov.substring(1, ov.length);
		}

	    for (i = 0; i < ov.length; i++) {
	        var ch = ov.charat(i);

	        // build up formatted number
	        if (ch >= '0' && ch <= '9') {
	            if (n == 0) v += "(";
	            else if (n == 3) v += ") ";
	            else if (n == 6) v += "-";
	            v += ch;
	            n++;
	        }
	        // check for extension type section; 
	        // are spaces, dots, dashes and parentheses the only valid non-digits in a phone number?
	        if (! (ch >= '0' && ch <= '9') && ch != ' ' && ch != '-' && ch != '.' && ch != '(' && ch != ')') {
	            x = i;
	            break;
	        }
	    }
	    // add the extension
	    if (x >= 0) v += " " + ov.substring(x, ov.length);

	    // if we recognize the number, then format it
	    if (n == 10 && v.length <= 40) field.value = v;
	}
    return true;
}

function dc () {
    return window.confirm('are you sure?');
}



function moveselectelement2(sourceselect, targetselect, sourcelabel, targetlabel) {
	moveselectelement3(sourceselect, targetselect, sourcelabel, targetlabel, false);
}


function moveselectelement3(sourceselect, targetselect, sourcelabel, targetlabel, keeptarget) {
	if (sourceselect.selectedindex > -1) {
		for (i=0; i < sourceselect.length; ++i) {
			var selectedoption = sourceselect.options[i];
			if (selectedoption.selected) {
				if (selectedoption.text != sourcelabel) {
					var newoption = new option(selectedoption.text, selectedoption.value);
					if (targetselect.options.length > 0 && targetselect.options[0].text == targetlabel) {
						targetselect.options[0] = newoption;
					} else {
						targetselect.options[targetselect.options.length] = newoption;
					}
				} else {
					sourceselect.selectedindex = -1;
				}
			}
		}
		if(!keeptarget)
		{	removeselectelement3(sourceselect, sourcelabel);
		}
	}
}


function removeselectelement3(sourceselect, sourcelabel)
{	if (sourceselect.selectedindex > -1)
	{	for (i=sourceselect.length-1; i > -1; i--) 
		{	if (sourceselect.options[i].selected) sourceselect.options[i] = null;
		}
		if (sourceselect.length == 0) 
		{	var placeholder = new option(sourcelabel, sourcelabel);
			sourceselect.options[0] = placeholder;
		}
	}
}


function moveup(sourceselect)
{	var sel_id;
	sel_id = sourceselect.selectedindex;
	if (sourceselect.length > 1 && sel_id > 0) //got to have at least 2 items and not the first one is selected
	{	var prevoption = sourceselect.options[sel_id-1];
		var newoption = new option(prevoption.text, prevoption.value);
		var selectedoption = sourceselect.options[sel_id];
		sourceselect.options[sel_id-1] = new option(selectedoption.text, selectedoption.value);
		sourceselect.options[sel_id] = newoption;
		sourceselect.focus();
		sourceselect.selectedindex = sel_id -1;
	}
}


function movedown(sourceselect)
{	var sel_id;
	sel_id = sourceselect.selectedindex;
	if (sourceselect.length > 1 && sel_id < sourceselect.length -1) //got to have at least 2 items and not the last one is selected
	{	var nextoption = sourceselect.options[sel_id+1];
		var newoption = new option(nextoption.text, nextoption.value);
		var selectedoption = sourceselect.options[sel_id];
		sourceselect.options[sel_id+1] = new option(selectedoption.text, selectedoption.value);
		sourceselect.options[sel_id] = newoption;
		sourceselect.focus();
		sourceselect.selectedindex = sel_id + 1;
	}
}

function saveselected(fromselobj, tohidobj, delim, empty_label) {
    var i;
    for (i=0; i<fromselobj.length; i++) {
        if (i > 0) {
            tohidobj.value += delim;
        }
        if (!(fromselobj.length == 1 && fromselobj.options[0].value == empty_label)) {
            tohidobj.value += fromselobj.options[i].value;
        }
    } 
}


function escapeutf(src) {
	var ret = "";
	for (i = 0; i < src.length; i++) {
		var ch = src.charcodeat(i);
		if (ch <= 0x7f) {
			ret += escape(src.charat(i));
		} else if (ch <= 0x07ff) {
			ret += '%' + ((ch >> 6) | 0xc0).tostring(16) + '%' + ((ch & 0x3f) | 0x80).tostring(16);
		} else if (ch >= 0x0800) {
			ret += '%' + ((ch >> 12) | 0xe0).tostring(16) +
				   '%' + (((ch >> 6) & 0x3f) | 0x80).tostring(16) + '%' + ((ch & 0x3f) | 0x80).tostring(16);
		}
	}
	return ret;
}

//**************************************************************
var lastmousex;
var lastmousey;
var curpopupwindow = null;
var helpwindow = null;

function setpagesize(){
	if (document.body.scrollheight > document.body.offsetheight){
		pagetable.width='100%';
		}
	else
		{
		pagetable.width=document.body.offsetwidth;
		}
}

function changewin(){
	setpagesize();
	if(parent.topset.rows != "0,*"){
		parent.topset.rows = "0,*";
	}
	else{
		parent.topset.rows = "42,*";
	}
	if(parent.leftset.cols != "0,*"){
		parent.leftset.cols = "0,*";
	}
	else{
		parent.leftset.cols = "145,*";
	}
}

function copyaddr() {
	document.formname.address1.value =	document.formname.p_address1.value;
	document.formname.address2.value =	document.formname.p_address2.value;
	document.formname.city.value =	document.formname.p_city.value;
	document.formname.state.value = document.formname.p_state.value;
	document.formname.country.value =	document.formname.p_country.value;
	document.formname.zip.value =	document.formname.p_zip.value;
}
function copyaddr1() {
	document.formname.p_address1.value =	document.formname.address1.value;
	document.formname.p_address2.value =	document.formname.address2.value;
	document.formname.p_city.value =	document.formname.city.value;
	document.formname.p_state.value = document.formname.state.value;
	document.formname.p_country.value =	document.formname.country.value;
	document.formname.p_zip.value =	document.formname.zip.value;
}
function copyaddr2() {
	document.formname.address1.value =	document.formname.p_address1.value;
	document.formname.address2.value =	document.formname.p_address2.value;
	document.formname.city.value =	document.formname.p_city.value;
	document.formname.state.value = document.formname.p_state.value;
	document.formname.country.value =	document.formname.p_country.value;
	document.formname.zip.value =	document.formname.p_zip.value;
}
function replacechar(s, oldchar, newchar) {
	var retval = '';
	for (i = 0; i < s.length; i++) {
		if (s.charat(i) == ' ') {
			retval = retval + '%';
		} else {
			retval = retval + s.charat(i);
		}
	}	
	return retval;
}


function trim(st) {
	var len = st.length
	var begin = 0, end = len - 1;
	while (st.charat(begin) == " " && begin < len) {
		begin++;
	}
	while (st.charat(end) == " " && begin < end) {
		end--;
	}
	return st.substring(begin, end+1);
}

function setlastmouseposition(e) {
	if (navigator.appname.indexof("microsoft") != -1) e = window.event;
	lastmousex = e.screenx;
	lastmousey = e.screeny;
}

function openpopup(url, name, pwidth, pheight, features, snaptolastmouseposition) {
   closepopup();
	if (snaptolastmouseposition) {
		if (lastmousex - pwidth < 0) {
			lastmousex = pwidth;
		}
		if (lastmousey + pheight > screen.height) {
			lastmousey -= (lastmousey + pheight + 50) - screen.height;
		}
                lastmousex -= pwidth;
                lastmousey += 10;
		features +=	"screenx=" + lastmousex + ",left=" + lastmousex + "screeny=" + lastmousey + ",top=" + lastmousey;
	}
	curpopupwindow = window.open(url, name, features, false);
	curpopupwindow.focus();

}

function closepopup() {
	if (curpopupwindow != null) {
	   
		if (!curpopupwindow.closed) {
			curpopupwindow.close();
		}
		curpopupwindow = null;
	}
}


function opencalendar(url) {
	openpopup(url, "calendar", 260, 220, "width=260,height=220,dependent=yes,resizable=yes,toolbar=no,status=no,directories=no,menubar=no", true);
}

function opensearch(url) {
	openpopup(url, "calendar", 640, 480, "width=640,height=480,dependent=yes,resizable=no,toolbar=no,status=no,directories=no,menubar=no,scrollable=yes", true);
}
function openinfo(url,w,h,info) {
	openpopup(url, info, w, h, "width="+w+",height="+h+",resizable=yes,toolbar=no,status=no,menubar=no,scrollbars=1", true);
}

function pick(form,field,val,isclose) {
	eval("document."+form+"[\""+field+"\"].value=" + "\""+val+"\"");
	if (isclose){
   	closepopup();
	return false;}
}

function dispme(object) {
    if (document.getelementbyid && document.getelementbyid(object) != null)
         document.getelementbyid(object).style.display='';
    else if (document.layers && document.layers[object] != null)
        document.layers[object].display='';
    else if (document.all && document.all[object] != null)
        document.all[object].style.display='';
}


function hiddenme(object) {
    if (document.getelementbyid && document.getelementbyid(object) != null)
         document.getelementbyid(object).style.display='none';
    else if (document.layers && document.layers[object] != null)
        document.layers[object].display='none';
    else if (document.all && document.all[object] != null)
         document.all[object].style.display='none';
}

function ca()
{
	var k;
	for(i=0;i< frm.length;i++)
	{	
		e=frm.elements[i];
		if (e.name != 'allbox' && e.type=='checkbox'){
			e.checked = frm.allbox.checked;
		}
	}

}

function cca(cb){

	var tb=to=0;
	for (var i=0;i<frm.elements.length;i++)
	{
	var e = frm.elements[i];
	if ((e.name != 'allbox') && (e.type=='checkbox'))
	{
	tb++;
	if (e.checked)
	to++;
	}
	}
	
	if (to==tb)
	frm.allbox.checked=true;
	else
	frm.allbox.checked=false;
}








