function openflddescr(fldname)
{
	openwindow( "flddescr.php?fldname="+fldname,
							0, 0, 200, 200, "flddescr",
							"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no" );
	return false;
}

function openstatsdetail( url )
{
	openwindow( url,
							0, 0, 400, 550, "statdetail",
							"toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no" );
	return false;
}


function openwizard( url )
{
	xsize = 800;
	ysize = 570;

	xpos = (screen.availWidth - xsize)/2;
	ypos = ((screen.availHeight-50) - ysize)/2;
	
	openwindow( url,
							xpos, ypos, xsize, ysize, "wizard",
							"toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no" );
	return false;
}

// flag = 0 - for original CB, 1 - for "whole campaign" CB
function checkWholeCmp( cb, conum, flag )
{
	
	frm = cb.form;
	
	var cnt;
	var fndcbsc;
	var fndcbwc;
	cnt = 0;
	cntcmp = 0;
	cntcrt = 0;
	fndcbsc = false;
	fndcbwc = false;

	for( i = 0; i < frm.elements.length; i++ )
	{
		x = frm.elements[i];
		if ( x.type != 'checkbox' )
			continue;

//		alert( "Checkbox: " + x.name + ' - ' + x.value );
		if ( x.name == 'cstlist['+conum+']' && x.value == 1 )
		{
			cbsc = x;
			fndcbsc = true;
			continue;
		}
		
		if ( x.name == 'cstlist['+conum+']' && x.value == 2 )
		{
			cbwc = x;
			fndcbwc = true;
			continue;
		}

	}

	if ( flag == 0 )
	{
		
		found = false;
		if( cbsc.checked )
		{
			for( i = 0; i < crt_list[conum].length; i++ )
			{
				if ( !frm.elements['crtidlist['+conum+']['+crt_list[conum][i]+']'].checked )
					found = true;
			}
		}
		else
			found = true;
		
		if ( fndcbwc )
			cbwc.checked = !found;

		cnt = cb.checked ? 1 : -1;

		if ( cb.name == 'cstlist['+conum+']' ) // for campaign CB
			cntcmp = cb.checked ? 1 : -1;
		else
			cntcrt = cb.checked ? 1 : -1;
		
		clsname = cbsc.checked ? "xsys_tblgreyrow" : "xsys_tblrow";
		if ( rw = findObj( "crtrow_"+conum+"_0" ) )
			rw.className = clsname;

		for( i = 0; i < crt_list[conum].length; i++ )
		{
			clsname = frm.elements['crtidlist['+conum+']['+crt_list[conum][i]+']'].checked ? "xsys_tblgreyrow" : "xsys_tblrow";
			if ( rw = findObj( "crtrow_"+conum+"_"+crt_list[conum][i] ) )
				rw.className = clsname;
		}
	}
	else
	{
		if ( cbsc.checked != cbwc.checked )
		{
			cnt = 1;
			cntcmp = 1;
		}
		cbsc.checked = cbwc.checked;

		clsname = cbsc.checked ? "xsys_tblgreyrow" : "xsys_tblrow";
		if ( rw = findObj( "crtrow_"+conum+"_0" ) )
			rw.className = clsname;

		for( i = 0; i < crt_list[conum].length; i++ )
		{
			if ( frm.elements['crtidlist['+conum+']['+crt_list[conum][i]+']'].checked != cbwc.checked )
			{
				cnt++;
				cntcrt++;
			}
			frm.elements['crtidlist['+conum+']['+crt_list[conum][i]+']'].checked = cbwc.checked;

			clsname = cbwc.checked ? "xsys_tblgreyrow" : "xsys_tblrow";
			if ( rw = findObj( "crtrow_"+conum+"_"+crt_list[conum][i] ) )
				rw.className = clsname;
		}

		if( !cbwc.checked )
		{
			cnt = -cnt;
			cntcmp = -cntcmp;
			cntcrt = -cntcrt;
		}
	}

	crt_marked = crt_marked + cnt;
	crtcmp_marked = crtcmp_marked + cntcmp;
	crtcrt_marked = crtcrt_marked + cntcrt;
		
	updateCtrlBtns( frm );
}



function checkCAListCmp( cb, cid )
{
	
	frm = cb.form;
	
	var cntsel, cntcmp;
	cntsel = 0;
	cntcmp = 0;

	for( i = 0; i < frm.elements.length; i++ )
	{
		x = frm.elements[i];
		if ( x.type != 'checkbox' )
			continue;

		cntcmp++;

		if ( x.checked )
			cntsel++;
	}

	if ( rw = findObj( "crtrow_"+cid ) )
	{
		if ( cb.checked )
			crt_clsnmlist[cid] = rw.className;
		clsname = cb.checked ? "xsys_tblgreyrow" : crt_clsnmlist[cid];
		rw.className = clsname;
	}

	crt_marked = cntsel;
	crtcmp_marked = cntsel;
		
	if ( frm.slctlst )
	{
		for ( i = 0; i < frm.slctlst.length; i++ )
		{
			frm.slctlst[i].checked = false;
		}		
	}
	
	updateCtrlBtns( frm );
}

function checkAllCAList( frm, flag )
{
	
	var cntsel, cntcmp;
	cntsel = 0;
	cntcmp = 0;

	if ( flag == 1 )
	{
		flag = 0;
		for ( i = 0; i < frm.slctlst.length; i++ )
		{
			if (frm.slctlst[i].checked)
			{
				flag = frm.slctlst[i].value;
			}
		}		
	}
	
	if ( flag == 10 )
		return true;
	
	for( i = 0; i < frm.elements.length; i++ )
	{
		x = frm.elements[i];
		if ( x.type != 'checkbox' )
			continue;

		cntcmp++;

		switch( flag )
		{
			case "1":
				x.checked = true;
				break;
			case "2":
				x.checked = false;
				break;
			case "3":
				x.checked = !x.checked;
				break;
		}

		if ( x.checked )
			cntsel++;

		cid = x.value;

		if ( rw = findObj( "crtrow_"+cid ) )
		{
//			if ( x.checked && rw.className != "xsys_tblgreyrow" )
			if ( rw.className != "xsys_tblgreyrow" )
				crt_clsnmlist[cid] = rw.className;
			clsname = x.checked ? "xsys_tblgreyrow" : crt_clsnmlist[cid];
			rw.className = clsname;
		}
	}


	crt_marked = cntsel;
	crtcmp_marked = cntsel;
		
	updateCtrlBtns( frm );
	
	return false;
}


function updateCtrlBtns( frm )
{
	var state = false;
	var clr = "#AAAAAA";
	if ( crt_marked == 0 )
		state = true;
	else
		clr = "";
	
	if ( frm.doEnable )
		frm.doEnable.disabled = state;
	if ( frm.doDisable )
		frm.doDisable.disabled = state;
	if ( frm.doEdit )
		frm.doEdit.disabled = state;
	if ( frm.doCopy )
		frm.doCopy.disabled = state;
	if ( frm.doDelete )
		frm.doDelete.disabled = state;

	lstdiv = null;
	if (document.getElementById)
		lstdiv = document.getElementById('ctrllabel');
	else if (document.all)
		lstdiv = document.all['ctrllabel'];
	else if (document.layers)
		lstdiv = document.layers['ctrllabel'];

	if ( lstdiv )
	{
		lstdiv.style.color = clr;
	}

	if ( lr = findObj("selcmpnum") )
		lr.innerHTML=crtcmp_marked;

	if ( lr = findObj("selcrtnum") )
		lr.innerHTML=crtcrt_marked;
	
	if ( lr = findObj("seldfltmsg") )
		showhideLayers(lr,"hide");
	if ( lr = findObj("noselmsg") )
		showhideLayers(lr,(state?"show":"hide"))
	if ( lr = findObj("selmsg") )
		showhideLayers(lr,(!state?"show":"hide"))
}
