
// array to store common code
var common_code_arr;
var index_count;

function findCommonCode(p_code_id,first_selection,code_delimited,desc_delimited,check_status) {

	for (var i = 0; i < code_mst.length; ++i) {
		var cmn_code_record = code_mst[i];
		var temp_array = cmn_code_record.split('~');

		// 0'th index is common code id, 1'st index is common code,
		// 2'nd index is common code description
		var cmn_code_id = temp_array[0];
		var cmn_code = temp_array[1];
		var cmn_code_desc = temp_array[2]; 
		var active_status = temp_array[3]; 
		if (p_code_id == cmn_code_id && !containsIn(cmn_code,deselect_arr)) {
			if ((check_status && active_status == 'Y') || (!check_status)) {
				var option_value = cmn_code;
				var option_desc = cmn_code_desc;
		
				if (code_delimited) {
					option_value = cmn_code+"~"+cmn_code_desc;
				}
				if (desc_delimited) {
					option_desc = cmn_code+"~"+cmn_code_desc;
				}
		
				common_code_arr[index_count] = "('"+option_desc+"','"+option_value+"')";
				++index_count;
			}
		}
	}
}
var deselect_arr = new Array();
function populateCommonCode(form_name,field_name,cmn_code_id,first_selection,code_delimited,desc_delimited) {
	
	var check_status = true;
	if (arguments.length == 8) {
		check_status = arguments[7];
		deselect_arr = arguments[6];
	} else if (arguments.length == 7) {
		deselect_arr = arguments[6];
	} else {
		deselect_arr = new Array();
	}
	common_code_arr = new Array();
	index_count = 0;
	if (first_selection.toLowerCase() == "all") {
		common_code_arr[0] = "('"+first_selection+"','"+first_selection+"')";
		++index_count;
	} else if (first_selection.toLowerCase() == "not selected") {
		common_code_arr[0] = "('"+first_selection+"','')";
		++index_count;
	}
	findCommonCode(cmn_code_id,first_selection,code_delimited,desc_delimited,check_status);
	for (var i = 0; i < common_code_arr.length; i++) {
		eval("document."+form_name+"."+field_name+".options[i]=" + "new Option" + common_code_arr[i]);
	}

}

function containsIn(code, arr) {
	for(var i = 0; i < arr.length; i++) {
		if(arr [i] == code)
			return true;
	}
	return false;
}

function isActiveCode(sel_id, sel_code) {
	for (var i = 0; i < code_mst.length; ++i) {
		var cmn_code_record = code_mst[i];
		var temp_array = cmn_code_record.split('~');
		var cmn_code_id = temp_array[0];
		var cmn_code = temp_array[1];
		var cmn_code_desc = temp_array[2];
		var active_status = temp_array[3]; 
		if ((cmn_code_id == sel_id) && 
			(cmn_code == sel_code) && (active_status == "Y")) {
			return true;
		}
	}
	return false;
}

 function getActiveCodeArr(sel_id) {
 var active_code_arr = new Array();
 var index_cnt = 0;
 	for (var i = 0; i < code_mst.length; ++i) {
		var cmn_code_record = code_mst[i];
		var temp_array = cmn_code_record.split('~');
		var cmn_code_id = temp_array[0];
		var cmn_code = temp_array[1];
		var cmn_code_desc = temp_array[2];
		var active_status = temp_array[3]; 
		if ((cmn_code_id == sel_id) && (active_status == "Y")) {
			active_code_arr[index_cnt] = cmn_code;
			index_cnt++;	
		}
	}
	return active_code_arr;
 }

