//var ATRB_KEY_IDX = "IDX";
var ATRB_KEY_KEY_FLD = "KEY";
var ATRB_KEY_SLC_CLR = "SLC_CLR";
var ATRB_KEY_ALT_CLR = "ALT_CLR";
var ATRB_KEY_ITM_CLR = "ITM_CLR";
var ATRB_KEY_SLC_TYP = "SLC_TYP";
 /******************************************************************************
 *
 ******************************************************************************/
function eis_GetKeyFieldValue(tr) {
	try {
		return tr.attributes.item(ATRB_KEY_KEY_FLD).nodeValue;
	} catch(e) {
		return -1;
	}
}
/******************************************************************************
 *
 ******************************************************************************/
function eis_GetIndex(tr) {
	return tr.rowIndex - 1;
	//try {
	//	return parseInt(tr.attributes.item(ATRB_KEY_IDX).nodeValue,10);
	//} catch(e) {
	//	return -1;
	//}
}
/******************************************************************************
 *
 ******************************************************************************/
function eis_SelectDeselectAll(src,stt) {
	var hdnSlctdIds = document.getElementById(src.id + "_SLC");
	hdnSlctdIds.value = "";
	var idx;
	var trItm;
	for(idx = 1;idx < src.rows.length;idx++) {
		trItm = src.rows(idx);
		if(stt == true) {
			eis_SelectRow(src,trItm);
		} else {
			eis_DeselectRow(src,trItm);
		}
	}
}
/******************************************************************************
 *
 ******************************************************************************/
function eis_SetRowCheck(row,state) {
	try {
		row.childNodes[0].childNodes[0].checked = state;
	} catch(e) {
	}
}
/******************************************************************************
 *
 ******************************************************************************/
function eis_SelectRow(grd,row) {
	var clrSlc = grd.attributes.item(ATRB_KEY_SLC_CLR).nodeValue;
	
	//row.style.backgroundColor = clrSlc;	
	row.className = clrSlc;
	
	var hdnSlctdIds = document.getElementById(grd.id + "_SLC");
	var token = "&lt;" + eis_GetKeyFieldValue(row) + "&gt;";
	hdnSlctdIds.value = hdnSlctdIds.value.replace(token,"");
	hdnSlctdIds.value = hdnSlctdIds.value + token;
	
	eis_SetRowCheck(row,true);
}
/******************************************************************************
 *
 ******************************************************************************/
function eis_DeselectRow(grd,row) {
	var clrAlt = grd.attributes.item(ATRB_KEY_ALT_CLR).nodeValue;
	var clrItm = grd.attributes.item(ATRB_KEY_ITM_CLR).nodeValue;
	
	var rowIdx = eis_GetIndex(row);
	if(rowIdx % 2 == 0) {
		//row.style.backgroundColor = clrItm;
		row.className = clrItm;
	} 
	if(rowIdx % 2 > 0) {
		//row.style.backgroundColor = clrAlt;
		row.className = clrAlt;
	}
	
	var hdnSlctdIds = document.getElementById(grd.id + "_SLC");
	var token = "&lt;" + eis_GetKeyFieldValue(row) + "&gt;";
	hdnSlctdIds.value = hdnSlctdIds.value.replace(token,"");
	
	eis_SetRowCheck(row,false);
	eis_SetRowCheck(grd.rows(0),false);
}

/******************************************************************************
 *
 ******************************************************************************/
function eis_GridSelectionChanged(src) {
	var trSlctd = window.event.srcElement;
	while(trSlctd.tagName.toLowerCase() != "tr") {
		trSlctd = trSlctd.parentElement;
	} 
	if(eis_GetIndex(trSlctd) < 0) return;
	var slctTyp = parseInt(src.attributes.item(ATRB_KEY_SLC_TYP).nodeValue,10);
	var isRowSlctd = eis_IsRowSelected(src,trSlctd);
	switch(slctTyp) {
		case 1:
			eis_SelectDeselectAll(src,false);
		case 2:
			(isRowSlctd == true)? eis_DeselectRow(src,trSlctd):eis_SelectRow(src,trSlctd);
			break;
		default:
			break;
	}
}
/******************************************************************************
 *
 ******************************************************************************/
function eis_IsRowSelected(grd,row) {
	var clrSlc = grd.attributes.item(ATRB_KEY_SLC_CLR).nodeValue;
	var token = "&lt;" + eis_GetKeyFieldValue(row) + "&gt;";
	var hdnSlctdIds = document.getElementById(grd.id + "_SLC");
	return hdnSlctdIds.value.search(token) >= 0;
}
/******************************************************************************
 *
 ******************************************************************************/
function eis_SetSelection(grd) {
	var hdnSlctdIds = document.getElementById(grd.id + "_SLC").value;
	var idx;
	var token;
	for(idx = 1;idx < grd.rows.length;idx++) {
		//token = "&lt;" + eis_GetKeyFieldValue(grd.rows(idx)) + "&gt;";
		token = "<" + eis_GetKeyFieldValue(grd.rows(idx)) + ">";
		if(hdnSlctdIds.search(token) >= 0) {
			eis_SelectRow(grd,grd.rows(idx));
		}
	}
}
/******************************************************************************
 *
 ******************************************************************************/
 function eis_OnPagerClick(grd,arg) {
	if(window.event.srcElement.disabled) return;
	var txtPgr = document.getElementById(grd + "_PGR");
	var hdnPgr = document.getElementById(grd + "_PAG");
	hdnPgr.value = parseInt(txtPgr.value,10) + arg;
	__doPostBack(grd,txtPgr.value);
}
/******************************************************************************
 *
 ******************************************************************************/
 function eis_OnPagerChanged(grd) {
	var txtPgr = document.getElementById(grd + "_PGR");
	var hdnPgr = document.getElementById(grd + "_PAG");
	hdnPgr.value = parseInt(txtPgr.value,10);
	__doPostBack(grd,hdnPgr.value);
}
 
