function addLoadEvent(fn) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = fn;
	} else {
		window.onload = function() {
			oldonload();
			fn();
		}
	}
}

function noBubble(e){
	if(!e){var e = window.event};
	if(e.stopPropagation){e.stopPropagation()};
	   e.cancelBubble = true;
}

function gridInit(tbl,frm,fn){
	activeTable(tbl,fn);
	reShadeRows(frm);
	allCkbx			=	document.forms[frm].elements['all'];
	elems			=	document.forms[frm].elements;
	allCkbx.onclick	=	function (){selectAllCBs(allCkbx,frm);}
	
	for(i=0;i<elems.length;i++){
		if(elems[i].name != 'all'){
			elems[i].onclick	=	function(e){
										shadeRow(getParentRow(this),this);
										noBubble(e)
									}
		}
	}
}

function activeTable(table,fn){
	tbl	=	document.getElementById(table);
	trs	=	tbl.getElementsByTagName('tr');
		
	for(i=0;i<trs.length;i++){
		if(trs[i].getElementsByTagName('td')[0]){
			//only assign tr events to td's, not th's
			trs[i].onclick		=	fn;		
			trs[i].onmouseover	=	function(){addClass(this,'hover');}
			trs[i].onmouseout	=	function(){this.className = this.className.replace(/\s*hover/,'');}
		}
	}
}

function getCheckBox(tr){
	tds	=	tr.getElementsByTagName('td');
	if(tds.length !=0){
		for(j=0;j<tds.length;j++){
			inputs	=	tds[j].getElementsByTagName('input');
			if(inputs.length != 0){
				for(k=0;k<inputs.length;k++){
					if(inputs[k].type == "checkbox")
					{
						return inputs[k];
					}
				}
			}
		}
	} else {
		return false;
	}
}

function toggleCheckbox(elem){
	if(elem.checked	== false){
		elem.checked	=	true;
	} else {
		elem.checked	=	false;
	}
}

function shadeRow(tr,ckbx){
	tds	=	tr.getElementsByTagName('td')
	if(ckbx.checked){
		for(l=0;l<tds.length;l++){
			if(tds[l].className != 'selected'){
				addClass(tds[l],'selected');
			}
		}
	} else {
		for(l=0;l<tds.length;l++){
			tds[l].className	=	tds[l].className.replace(/\s*selected/,'');
		}
	}
}

function reShadeRows(frm){
	elems	=	document.forms[frm].elements;
	for(i=0;i<elems.length;i++)
	{
		if(elems[i].type == "checkbox"){
			if(elems[i].checked){
				tr	=	getParentRow(elems[i]);
				shadeRow(tr,elems[i]);
			}
		}
	}
}

function getParentRow(elem){
	if(elem.nodeName.toUpperCase() != 'TR'){
		return getParentRow(elem.parentNode);
	} else {
		return elem;
	}
}

function selectAllCBs(elem,frm){
	elems	=	document.forms[frm].elements;
	for(i=0;i<elems.length;i++)
	{
		if(elems[i].type == "checkbox" && elems[i].name != 'all'){
			if(elem.checked){
				elems[i].checked	=	true;
			} else {
				elems[i].checked	=	false;
			}
			shadeRow(getParentRow(elems[i]),elems[i]);
		}
	}
}

function addClass(elm,nCls){
	var cls = elm.className.split(/\s+/);
		cls.push(nCls);
		elm.className	=	cls.join(' ');
}


function toggSelectAll(checked,jsObjects) {
	if (checked) {
		checkAll(jsObjects);
	} else {
		uncheckAll(jsObjects);
	}
}

function toggSelectAllWithParams(checked,jsObjects,offset, leadsSize, maxPageItems) {
	if (checked) {
		checkAllWithParams(jsObjects, offset, leadsSize, maxPageItems);
	} else {
		uncheckAllWithParams(jsObjects, offset, leadsSize, maxPageItems);
	}
}


function checkAllWithParams(jsObjects, offset, leadsSize, maxPageItems) 
{
	var divId = 0;
	
	for (var i=offset,l = Math.min(i + maxPageItems, leadsSize);i < l; i++)
	 {
		document.getElementById(jsObjects[i][0]).checked = true ;
		classoggle("boxes" + divId,'contUnitChecked','contUnitChecked');
		divId++;
	}
	
	
	//for (var i=offset;( (i < (i + maxPageItems)) && (i < leadsSize) ); i++)
}

function uncheckAllWithParams(jsObjects, offset, leadsSize, maxPageItems) 
{
	var divId = 0;
	
	for (var i=offset,l = Math.min(i + maxPageItems, leadsSize);i < l; i++)
	 {
		document.getElementById(jsObjects[i][0]).checked = false ;
		classoggle("boxes" + divId,'contUnit','contUnit');
		divId++;
	}
}


function checkAll(jsObjects) {
	for (i = 0; i < jsObjects.length; i++) {
		document.getElementById(jsObjects[i][0]).checked = true ;
		classoggle("boxes" + i,'contUnitChecked','contUnitChecked');
	}
}

function uncheckAll(jsObjects) {
	for (i = 0; i < jsObjects.length; i++) {
		document.getElementById(jsObjects[i][0]).checked = false ;
		classoggle("boxes" + i,'contUnit','contUnit');
	}
}

// Changes the class of the given tag from classa to classb or back
 function classoggle(divID, classa, classb) {
	 var r = document.getElementById(divID);
   if (r.className==classa){
      r.className=classb;
    } else {
      r.className=classa;
     }
 }
 
function confirmLinksRestore()
{
	var agree=confirm("This will delete all of your existing links and replace them with the original default ones." +
					  " Are you sure you wish to continue?");
	
	if (agree)
		return true ;
	else
		return false ;
	
}

function confirmLinksDelete()
{
	var agree=confirm("This will delete all of the selected links. Are you sure you wish to continue?");
	
	if (agree)
		return true ;
	else
		return false ;
	
}




