/**
 * Common javascript funtionality
 */
 


// needed for Table Column ordering
function tableOrdering( order, dir, task ) {
	document.siteForm.filter_order.value 	= order;
	document.siteForm.filter_order_Dir.value	= dir;
	submitForm( task );
}

function resetform(){
	document.siteForm.reset();
}
function submitform(pressbutton) {
	if (pressbutton){
		document.siteForm.task.value=pressbutton;
	} try {
		document.siteForm.onsubmit();
	}
	
	catch(e){}
	document.siteForm.submit();
}
function submitbutton(pressbutton){
	submitform(pressbutton);
}


/**
* Toggles the check state of a group of boxes
*
* Checkboxes must have an id attribute in the form cb0, cb1...
* @param The number of box to 'check'
* @param An alternative field name
*/
function checkAll( n, fldName ) {
  if (!fldName) {
     fldName = 'cb';
  }
	var f = document.siteForm;
	var c = f.toggle.checked;
	var n2 = 0;
	for (i=0; i < n; i++) {
		cb = eval( 'f.' + fldName + '' + i );
		if (cb) {
			cb.checked = c;
			n2++;
		}
	}
	if (c) {
		document.siteForm.boxchecked.value = n2;
	} else {
		document.siteForm.boxchecked.value = 0;
	}
}

function listItemTask( id, task ) {
    var f = document.siteForm;
    cb = eval( 'f.' + id );
    if (cb) {
        for (i = 0; true; i++) {
            cbx = eval('f.cb'+i);
            if (!cbx) break;
            cbx.checked = false;
        } // for
        cb.checked = true;
        f.boxchecked.value = 1;
        submitbutton(task);
    }
	
    return false;
}

function isChecked(isitchecked){
	if (isitchecked == true){
		document.siteForm.boxchecked.value++;
	} else {
		document.siteForm.boxchecked.value--;
	}
}


/* -------------------------------------------- */
/* -- Site Bookmark --------------------------- */
/* -------------------------------------------- */
bookmarkSite = function( title, url ){
	if (window.sidebar) // firefox
		window.sidebar.addPanel(title, url, "");
	else if(window.opera && window.print){ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	else if(document.all)// ie
		window.external.AddFavorite(url, title);
}

/* -------------------------------------------- */
/* -- Text Counter ---------------------------- */
/* -------------------------------------------- */
textCounter = function (fieldId, fieldCountId, maxLimit) {
	var fs = document.getElementById( fieldId );
	var fc = document.getElementById (fieldCountId );
	
	if (fs.value.length > maxLimit) {
		fs.value = fs.value.substring(0, maxLimit);
	} else {
		fc.value = maxLimit - fs.value.length;
	}
}