	/**
	 * mainPageRowId has the value of the row number on which this browse window is opened.
	 * This is mainly needed when we come from the advanced search page.
	 */
	var mainPageRowId = 0;

	var quote = "\"";

	 //==========================================================
	 // Returns the current domain name
	 //==========================================================
		function getDomain() {
				var currentLocation = this.location.href;

				if(currentLocation.indexOf("/") > 0) { // For http://
						var temp = currentLocation.substr(7);
						return currentLocation.substr(7, temp.indexOf(":"));
				} else{
						return "";
				}
		}

	 //==========================================================
	 // Creates a cookie only if not existing or expired:
	 //           name as requested
	 //           value as requested
	 //           duration 5 minutes
	 //           path "/"
	 // then reloads the current page
	 //==========================================================
	 function setMyCookie(cookieName, cookieVal) {
	    var cookieValue = getCookie(cookieName);
	    if ( cookieValue == "undefined" || cookieValue.length == 0) {

	        var today = new Date();
	        var expires = new Date();
	        expires.setTime(today.getTime() + 1000*60*5);
	        setValueInCookie(cookieName, cookieVal, "/", expires);
      } else {
      		var today = new Date();
	        var expires = new Date();
	        expires.setTime(today.getTime() + 1000*60*5);
        	setValueInCookie(cookieName, cookieVal, "/", expires);
      }
	 }


	//==========================================================
	// Utility Function to format Selection content for display purpose
	//==========================================================
	function formatString(cstr) {

		var index = cstr.indexOf(opr);
		var result = "";
		while(index != -1) {
			result += cstr.substring(0, index) + "<B>"+opr+"</B>";
			cstr = cstr.substring(index+opr.length);
			index = cstr.indexOf(opr);
		}
		result += cstr;
		return result;
	}

	//==========================================================
	// Utility Function to tokenize the string. Returns an string array
	//==========================================================
	function stringTokenize(strcontent, delim) {

		var pos=0;
		var temp = "";
		var index = strcontent.indexOf(delim);
		var resultArr = new Array();

		while(index != -1) {
			temp = strcontent.substring(0, index);
			if(temp.length > 0) {
				resultArr[pos++] = temp;
			}
			strcontent = strcontent.substring(index+delim.length);
			index = strcontent.indexOf(delim);
		}
		if(strcontent.length > 0) {
			resultArr[pos] = strcontent;
		}

		return resultArr;
	}

	//================================================================
	// Utility Function to check whether given value exist in an array
	//================================================================
	function isArrayContains(carray, newValue) {
		for(k=0; k < carray.length; k++) {
			if(carray[k] == unescape(newValue) ) {
				return true;
			}
		}
		return false;
	}

//***************************** New Scripts added for Browse Index ********************/
	var opr = " OR ";

	function makeRemote(url) {
	    var loc = url;
	    remote = window.open("","galeChildWindow","alwaysRaised=yes,width=750,height=550,screenX=50,screenY=50,top=50,left=50,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,status=no");
	    remote.location.href=url;
		if (remote.opener == null) remote.opener = window;
		else remote.focus();
	}

	function setValueInCookie(name, value) {
	  var cookieId = generateCookieId(name);
	  setValueInCookieFor(cookieId, value);
	}

	function generateCookieId(name) {
		return formCookieId(name, mainPageRowId);
	}


	function getCookie(name){
	  var cookieId = generateCookieId(name);
	  return getValueFromCookieFor(cookieId);
	}

	var recordRows = new Array("recordRow1","recordRow2","recordRow3","recordRow4","recordRow5","recordRow6","recordRow7","recordRow8","recordRow9","recordRow10");
	var removeRows = new Array("removeRow1","removeRow2","removeRow3","removeRow4","removeRow5","removeRow6","removeRow7","removeRow8","removeRow9","removeRow10");

	/*********************************************/
	/***** Function to clear the selections ******/
	/*********************************************/
	function clearResults(formObj) {
		var numRslts = 0;
		if(formObj.browseCheck){
			numRslts = parseInt(formObj.browseCheck.length);
		}

		for (var i = 0; i < numRslts; i++){
			formObj.browseCheck[i].checked = false;
			if(formObj.browseCheck.length==undefined){
				formObj.browseCheck.checked = false;
			}
		}

		for (var i = 0; i < recordRows.length; i++){
			var whichRow = recordRows[i];
			var whichRemove = removeRows[i];
			getReturnedObj(whichRow).innerHTML = "&nbsp;";
			getReturnedObj(whichRemove).innerHTML = "&nbsp;";
		}

		setValueInCookie("selectRslts", "");
		setValueInCookie("selectValue","");
		setBrowseTermInCookie("");
	}

	/**********************************************************************/
	/***** Function to submit the selections to advanced search page ******/
	/**********************************************************************/
	function submitSelections() {
		var finalSelects = formatSelection();
		var selectRslts = getCookie("selectRslts");
		var selectValue = getCookie("selectValue");
		//setSearchString is a method defined in SearchHistory.
		//setFieldValue is a method that takes care in other places.
		// included condition to check for 'null' literal too.
		if( (selectValue != null) && (selectValue!='null') && (selectValue.length > 0)){
			opener.setPulldownFieldValue(selectRslts, selectValue);
			setValueInCookie("selectRslts","");
			setValueInCookie("selectValue","");
			window.close();
		}else{
			if(opener.setSearchString != null) {
				opener.setSearchString(finalSelects);
			} else {
				opener.setFieldValue(finalSelects);
			}
		}
		setValueInCookie("selectRslts", "");
		window.close();
	}


	function formatSelection() {
		var selectionVal = "";
		var splittedValue = "";
		selectionVal = getCookie("selectRslts");
		if( (selectionVal == null) || (selectionVal.length < 1) )
			return "";
		var selectionValArr = stringTokenize(selectionVal, opr);
		var formatedValue = "";
		for(var i=0; i < selectionValArr.length; i++) {
			if(selectionValArr[i].indexOf("|") > 0){
				splittedValue = selectionValArr[i].split("|");
				formatedValue += splittedValue[0].substr(1, splittedValue[0].length);
			}else{
				formatedValue += selectionValArr[i];
			}
			/*if(selectionValArr[i].indexOf("%20") > 0 || selectionValArr[i].indexOf(" ")>0) {
				formatedValue += selectionValArr[i];
			} else {
				formatedValue += selectionValArr[i];
			}*/
			if(i+1 < selectionValArr.length) {
				formatedValue += opr;
			}
		}
		return formatedValue;
	}


	/*********************************************/
	/***** Function to browse the query term *****/
	/*********************************************/
	function browseTerm(formObj, val, errorMessage){
		var brwTerm = "";
		if(val == 'top'){
			brwTerm = formObj.queryTop.value;
		}else{
			brwTerm = formObj.queryBtm.value;
		}

		//if(brwTerm.length > 0){

		formObj.query.value = brwTerm;
		setBrowseTermInCookie(brwTerm);
		formObj.submit();

		/*}else{
			alert(errorMessage);
		}*/
	}

	function setBrowseTermInCookie(brTerm) {
		setValueInCookie("browseTerm", brTerm);
	}

	function updateSelections(formObj, crnt, value, removeLabel) {
		if(crnt.checked){
			addToSelections(formObj, crnt, value, removeLabel);
		}else{
			removeFromSelections(formObj, crnt, value, removeLabel);
		}
	}

	function addToSelections(formObj, crnt, curValue, removeLabel) {

		var slctd = "";
		var value = "";
		slctd = getCookie("selectRslts");
		value = getCookie("selectValue");

		if(slctd == null){
			slctd = "";
		}
		if(value == null){
			value = "";
		}

		var selects = slctd.split(opr);
		var values  = value.split(opr);
		var numSelects = parseInt(selects.length);
		var numValues = parseInt(values.length);

		if(numSelects > 10){
			crnt.checked = false;
			alert(BROWSEINDEX_LIMIT_ERR_MSG);
			return;
		}else{
			var replaceVal = crnt.value.replace(/\+/g," ");
		    replaceVal=unescape(replaceVal);
		    var finalValue=replaceAll( replaceVal,'"','""');
			if(slctd.length > 0 && slctd.substring(slctd.length - opr.length) != opr) {
				slctd = slctd + opr + quote + finalValue + quote + opr;
			} else {
				slctd = slctd + quote+ finalValue + quote + opr;
			}

			if(curValue != null && curValue.length > 0){
				if(value.length > 0 && value.substring(value.length - opr.length) != opr) {
					value = value + opr + curValue + opr;
				} else {
					value = value + curValue + opr;
				}
				//value = value + curValue + opr;
			}
			setValueInCookie("selectRslts", slctd);
			setValueInCookie("selectValue", value);
			slctd = getCookie("selectRslts");
			value = getCookie("selectValue");
		}
		showSelections(formObj, removeLabel);
	}

	function showSelections(formObj, removeLabel){
		var slcts = "";
		var slctv = "";
		slcts = getCookie("selectRslts");
		slctv = getCookie("selectValue");
		if(slcts == null)
			slcts = "";
		if(slctv == null)
			slctv = "";
		var newSelected = slcts.split(opr);
		var newSelectedValues = slctv.split(opr);
		var selectedRows = newSelected.length;

		var i = 0;
		var rowNumber = i;
		var emptyItem = 0;
		// when 10 records are selected the rowNumber becomes 11 and causes a arrayindexoutofbound problem.
		while(i < selectedRows && rowNumber < 10){
			var item = newSelected[i];
			var curValue = newSelectedValues[i]
			var whichRow = recordRows[rowNumber];
			var whichRemove = removeRows[rowNumber];
			if( item != null && item.length > 0 && rowNumber < 10 )
			{
				getReturnedObj(whichRow).innerHTML = item.substring(1,item.length-1);
				if( curValue )
				{
				   getReturnedObj(whichRemove).innerHTML = "<a href=JavaScript:removeRow(document." + formObj.name +",'"+ escape(escape(item.substring(1, item.length-1))) + "','"+curValue+"','"+removeLabel+"')>" + removeLabel + "</a>";
				}
				else
				{
				   getReturnedObj(whichRemove).innerHTML = "<a href=JavaScript:removeRow(document." + formObj.name +",'"+ escape(escape(item.substring(1, item.length-1))) + "','','"+removeLabel+"')>" + removeLabel + "</a>";
				}
			}
			else
			{
				getReturnedObj(whichRow).innerHTML = "&nbsp;";
				getReturnedObj(whichRemove).innerHTML = "&nbsp;";
			}
			i++;
			if(item == null || item.length == 0) {
				emptyItem++;
			}
			rowNumber = i - emptyItem;
		}
	}

	/*****************************************************/
	/***** Function to remove a particular selection *****/
	/*****************************************************/
	function removeRow(formObj, a, curValue, removeLabel) {
		var slcts = "";
		var slctv = "";
		//var whichText =  getReturnedObj(a).innerHTML ;
		var whichText = unescape( a );
		whichText =  whichText.replace("&amp;", "&");

		slcts = getCookie("selectRslts");
		slcts = slcts.replace(quote +whichText + quote + opr, "");

		setValueInCookie("selectRslts", slcts);
		if( curValue )
		{
         slctv = getCookie("selectValue");
         slctv = slctv.replace(curValue + opr, "");
         setValueInCookie("selectValue", slctv);
		}

		var numRslts = 0;
		if(formObj.browseCheck){
			numRslts = parseInt(formObj.browseCheck.length);
			if(formObj.browseCheck.length==undefined){
			formObj.browseCheck.checked = false;
			}
		}

		for(var i = 0; i < numRslts; i++){
			var crntVal = formObj.browseCheck[i].value;
			var replacedVal = crntVal.replace(/\+/g," ");
   			crntVal=unescape(replacedVal);
		    crntVal = replaceAll(crntVal,'"','""');
			if(whichText == crntVal){
				formObj.browseCheck[i].checked = false;
				break;
			}
		}

		showSelections(formObj, removeLabel);
	}

	function checkSelections(formObj){
		var slctd;
		var rslt;
		var slcts = "";
		slcts = getCookie("selectRslts");
		if( (slcts == null) || (slcts.length < 1) )
			return;

		var newSelected = slcts.split(opr);
		var numSelected = parseInt(newSelected.length);
		var numRslts = 0;
		if(formObj.browseCheck){
			numRslts = parseInt(formObj.browseCheck.length);
		}

		for (var i = 0; i < numSelected; i++){
			slctd = newSelected[i];
			for(var j = 0; j < numRslts; j++){
				rslt = formObj.browseCheck[j].value;
				var replaceVal = rslt.replace(/\+/g," ");
		    	rslt=unescape(replaceVal);
				//alert(slctd.substring(1,slctd.length-1) + "         " + rslt );
				if(slctd.substring(1,slctd.length-1) == rslt ){
					formObj.browseCheck[j].checked = true;
					break;
				}
			}
		}
	}

	function replaceAll( str, look,replace ) {
        var idx = str.indexOf( look );
        var beforeString="";
        var j=0;
        while ( idx > -1) {
              str = str.replace(look, replace );
              beforeString=beforeString+str.substring(0, (idx+replace.length));
              if(idx==0)
	              str=str.substring(beforeString.length-j,str.length);
	          else
	          	  str=str.substring(beforeString.length-(j+1),str.length);

              idx = str.indexOf( look );
              j=j+1;

       }
    str=beforeString+str;
    return str;
}




	function removeFromSelections(formObj, crnt, curValue, removeLabel) {
		var crntVal = crnt.value;
		var replacedVal = crntVal.replace(/\+/g," ");
		crntVal=unescape(replacedVal);
		crntVal = replaceAll(crntVal,'"','""');
		var slcts = "";
		var value = "";
		slcts = getCookie("selectRslts");
		value = getCookie("selectValue");


		if(slcts.substring(slcts.length - opr.length) == opr) {
			slcts = slcts.replace( quote + crntVal + quote + opr, "");
		} else {
			slcts = slcts.replace(quote + crntVal + quote, "");
		}

		// Below block commented out by VM
		/*if(value.substring(value.length - opr.length) == opr) {
			value = slcts.replace( quote + curValue + quote + opr, "");
		} else {
			value = slcts.replace(quote + curValue + quote, "");
		}*/
		//alert("removeFromSelections : slcts = "+slcts);
		setValueInCookie("selectRslts", slcts);
		setValueInCookie("selectValue", value);

		checkSelections(formObj);
		showSelections(formObj, removeLabel);
	}

	function showSelectionsOnLoad(formObj, rowIndex, preselectOnLoad){
		mainPageRowId = rowIndex;
		if(preselectOnLoad == 'Y') {
			var slcts = "";
			slcts = getCookie("selectRslts");
			if((slcts == null) || (slcts.length == 0) ){
				setValueInCookie("selectRslts","");
			}
			else{
				setValueInCookie("selectRslts",slcts);
			}
			checkSelections(formObj);
			showSelections(formObj);
		} else {
			clearResults(formObj);
		}
	}	
	
	function getPublications(cnt,name,field){
		var browseIndexMapping = new Array(4);
		browseIndexMapping['ny'] = "nz";
		browseIndexMapping['sv'] = "sw";
		browseIndexMapping['sl'] = "sm";
		browseIndexMapping['nq'] = "nr";
				
		var searchTerm = browseIndexMapping[field.substring(field.length-5,field.length-3)];		
		//formObj=getDynamicSearchFormObj();
		var clicker=false;
		clicker = document.getElementById('row_'+cnt).checked;		
		//var productId = formObj.prodId.value;
		var productId = document.getElementById("prodId").value;		
		var rowid = "sublisting_"+name;
		term=name+cnt;		
		fieldvalue=field;		
		var termidd = document.getElementById(term);
		if(document.getElementById(term).innerHTML == '')
		{	var searchterm = null;
			xmlhttp = getXmlHttpRequest();
			if((searchTerm == "sw" || searchTerm == "sm") && cnt<10){
				cnt = "0" + cnt;
				searchterm ="B|"+cnt+"*";
			}else{
				var str = name.split(" ");
				if(str[0].contains("-")){
					searchterm ="B|*|"+cnt+"*";
				}else{
					searchterm ="B|"+cnt+"*";
				}
			}
			var ugn = document.getElementById("userGroupNameParameter").value;			
			var browseurl= "browseIndex.do?inPS=true&terms=" + searchTerm + "&query=&type=limiter&tabID=&hyperlink=false&searchId=&fieldName="+fieldvalue+"&rowIndex=PC&userGroupName="+ugn+"&queryList="+searchterm+"&prodId="+productId+"&subdivision=subdivision&firstLevelCount="+cnt+"&secondLevel=yes&clicker="+clicker;			
	    	xmlhttp.onreadystatechange = updateResponse;	    	
			xmlhttp.open("POST", browseurl , true);
			xmlhttp.send(null);			
		}
		else
		{
			if(document.getElementById(term).style.display == 'none')
			{
				document.getElementById(term).style.display = 'block';
			}	
			else
			{
				document.getElementById(term).style.display = 'none';
			}
		}
	}
	
	function getPublications1(count,name,cnt,field){
		var browseIndexMapping = new Array(4);
		browseIndexMapping['ny'] = "nz";
		browseIndexMapping['sv'] = "sw";
		browseIndexMapping['sl'] = "sm";
		browseIndexMapping['nq'] = "nr";
				
		var searchTerm = browseIndexMapping[field.substring(field.length-5,field.length-3)];				
		var rowid = "sublisting_"+name;
		
		var clicker = false;
		clicker = document.getElementById('row_'+count+'_'+cnt).checked;
		var productId = document.getElementById("prodId").value;
		term=name+"_"+count+"_"+cnt;
		fieldvalue=field;
		var searchterm = null;
		if(document.getElementById(term).innerHTML == '')
		{
			xmlhttp = getXmlHttpRequest();
			var firstLevelCount = count;
			
			if((searchTerm == "sw" || searchTerm == "sm")&& cnt<100){
				cnt = "0" + cnt;
				searchterm ="B|"+cnt+"*";
			}else if((searchTerm == "sw" || searchTerm == "sm")){				
				searchterm ="B|"+cnt+"*";
			}else{
				if(cnt.length == 3){
					searchterm ="C|"+cnt+"*";
				}else if(cnt.length == 4){
					searchterm ="D|"+cnt+"*";
				}else{
					searchterm ="D|"+cnt+"*";
				}
			}			
			var ugn = document.getElementById("userGroupNameParameter").value;
			var browseurl= "browseIndex.do?&terms=" + searchTerm + "&query=&type=limiter&tabID=&hyperlink=false&searchId=&fieldName="+fieldvalue+"&rowIndex=PC&userGroupName="+ugn+"&queryList="+searchterm+"&prodId="+productId+"&subdivision=subdivision&firstLevelCount="+firstLevelCount+"&secondLevel=yes&clicker="+clicker;
			xmlhttp.onreadystatechange = updateResponse;
			xmlhttp.open("POST", browseurl , true);
			xmlhttp.send(null);
		}
		else
		{
			if(document.getElementById(term).style.display == 'none')
			{
				document.getElementById(term).style.display = 'block';
			}	
			else
			{
				document.getElementById(term).style.display = 'none';
			}
		}
	}
	
	function getXmlHttpRequest() {
		var xmlHttpReq = false;
	    if (window.XMLHttpRequest) {
			xmlHttpReq = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			try {
	      		xmlHttpReq = new ActiveXObject("MSXML2.XMLHttp");
		    } catch (ex) {
				try{
			    	xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	       		}catch (execp){
		    	}
	    	}
		}
		return xmlHttpReq;
	}
	
	function updateResponse() {
	    if (xmlhttp.readyState == 4 || xmlhttp.readyState == "complete")
	    {
	        var tdrow = document.getElementById(term);	        
	        tdrow.innerHTML = xmlhttp.responseText;
	        
	        tdrow.style.display = 'block';
	    } 
	    else if (xmlhttp.readyState == 1) {
	        var element = document.getElementById(term);
	        element.innerHTML = "<h4><b><center>Loading..... </center></b></h4>";
	        element.style.display = 'block';
	    }
	}
	
	function updateSelectionsforBrowse(formObj, crnt, value, removeLabel) {
		if(crnt.checked){			
			addToSelectionsforBrowse(formObj, crnt, value, removeLabel);
		}else{
			removeFromSelectionsforBrowse(formObj, crnt, value, removeLabel);
		}
	}
	
	String.prototype.startsWith = function(str){ return (this.match("^"+str)==str )}
	
	String.prototype.contains = function(t) { return this.indexOf(t) >= 0 ? true : false }
	
function addToSelectionsforBrowse(formObj, crnt, curValue, removeLabel) {

		
		var valueToput = crnt.value;
		var valueToputs = valueToput.split(':');
		if(valueToputs.length > 0)
		{
			valueToput = valueToputs[valueToputs.length-1];
		}
		var currId = crnt.id;
		var levels = currId.split('_');
		/*if(levels.length == 2)
		{
			var elements = document.getElementsByTagName("input");
			for(var i=0;i<elements.length;i++)
			{
				if(elements[i].type == 'checkbox')
				{
					var ccid = elements[i].id;					
					if(levels[1].length < 2){
						currId = levels[0] + "_0" + levels[1];
					}						
					if(ccid.startsWith(currId))
					{
						elements[i].checked=true;
					}
				}
			}	
		}
		if(levels.length == 3)
		{
			var targetId;
			if(levels[2].length == 1)
			{
				targetId = levels[0]+"_"+levels[1]+"_0"+levels[2];
			}
			else
			{
				targetId = levels[0]+"_"+levels[1]+"_"+levels[2];
			}
			var elements = document.getElementsByTagName("input");
				for(var i=0;i<elements.length;i++)
				{
					if(elements[i].type == 'checkbox')
					{
						var ccid = elements[i].id;
						if(ccid.startsWith(targetId))
						{
							elements[i].checked=true;
						}
						var parentId = levels[0]+"_"+levels[1];
						if(ccid == parentId)
						{
							//As per bug GOLD-1755, when selecting child node, parent node shoud not get selected automatically
							//elements[i].checked=true;
                            if(allChildChecked(parentId)) {
                                elements[i].checked=true;
                            }
							//added for value
							//valueToput = elements[i].value + ":" + valueToput;
							valueToput = valueToput;
						}
					}
				}
		}
		if(levels.length == 4)
		{
			var targetId;
			if(levels[2].startsWith("0"))
			{
				targetId = levels[0]+"_"+levels[1]+"_"+levels[2].substring(1);
			}
			else
			{
				targetId = levels[0]+"_"+levels[1]+"_"+levels[2];
			}
			var elements = document.getElementsByTagName("input");
			var rootNodeValue;
			var parentNodeValue;
			for(var i=0;i<elements.length;i++)
			{
				if(elements[i].type == 'checkbox')
				{
					var ccid = elements[i].id;
					if(ccid == targetId)
					{
						//As per bug GOLD-1755, when selecting child node, parent node shoud not get selected automatically 
						//elements[i].checked=true;
                        if (allChildChecked(levels[0]+"_"+levels[1]+"_"+levels[2])) {
                            elements[i].checked = true;
                        }
						parentNodeValue = elements[i].value;
					}
					var parentId = levels[0]+"_"+levels[1];
					if(ccid == parentId)
					{
						//As per bug GOLD-1755, when selecting child node, parent node shoud not get selected automatically 
						//elements[i].checked=true;
                        if (allChildChecked(parentId)) {
                            elements[i].checked = true;
                        }
						rootNodeValue = elements[i].value;
					}
				}
			}
			valueToput = rootNodeValue+":"+parentNodeValue+":"+valueToput;
		}*/
		/*
		var x=crnt.id;
		var y= x.split("_");
		var z= y[0]+"_"+y[1];
		var z2= y[2].split("0");
		var z1;
		if(z2.length<2){
		  z1 = y[0]+"_"+y[1]+"_"+z2[0];
		}else{
		  z1 = y[0]+"_"+y[1]+"_"+z2[1];
		}
		var row = document.getElementById(z);
		var row1 = document.getElementById(z1);
		x.checked=true;
		row.checked=true;
		row1.checked =true;
		var elements = document.getElementsByTagName("input");
				
		var xy = crnt.parentNode.parentNode.parentNode.id;
		var xy1 = xy.split("_")[1];
		
		var xy3 =document.getElementById(xy);
		var xy2 = xy3.parentNode.id.split("_")[1];
		
		crnt.value = xy2+"|"+xy1+"|"+crnt.value;
		*/
		crnt.value = valueToput;
		//crnt.value = "";
		var slctd = "";
		var value = "";
		slctd = getCookie("selectRslts");
		value = getCookie("selectValue");

		if(slctd == null){
			slctd = "";
		}
		if(value == null){
			value = "";
		}

		var selects = slctd.split(opr);
		var values  = value.split(opr);
		var numSelects = parseInt(selects.length);
		var numValues = parseInt(values.length);

		if(numSelects > 10){
			crnt.checked = false;
			alert(BROWSEINDEX_LIMIT_ERR_MSG);
			return;
		}else{
			var replaceVal = crnt.value.replace(/\+/g," ");
		    replaceVal=unescape(replaceVal);
		    var finalValue=replaceAll( replaceVal,'"','""');
			if(slctd.length > 0 && slctd.substring(slctd.length - opr.length) != opr) {
				slctd = slctd + opr + quote + finalValue + quote + opr;
			} else {
				slctd = slctd + quote+ finalValue + quote + opr;
			}

			if(curValue != null && curValue.length > 0){
				if(value.length > 0 && value.substring(value.length - opr.length) != opr) {
					value = value + opr + curValue + opr;
				} else {
					value = value + curValue + opr;
				}
				//value = value + curValue + opr;
			}
			if(slctd.contains('null OR'))
			{
				slctd = slctd.replace('null OR ','');
			}
			setValueInCookie("selectRslts", slctd);
			setValueInCookie("selectValue", value);
			slctd = getCookie("selectRslts");
			value = getCookie("selectValue");
		}
		var sendValue = levels.length;
		showSelectionsBrowse(formObj, removeLabel, sendValue);
	}

	function allChildChecked(pID) {
		var elements = document.getElementsByTagName("input");
		for(var i=0;i<elements.length;i++)
		{
			if(elements[i].type == 'checkbox')
			{
				var ccid = elements[i].id;
				if(ccid.startsWith(pID) && ccid != pID)
				{
					if(!elements[i].checked) {
						return false;
					}
				}
			}
		}
		return true;
	}
	
	function replaceAll( str, look,replace ) {
    	var idx = str.indexOf( look );
        var beforeString="";
        var j=0;
        while ( idx > -1) {
              str = str.replace(look, replace );
              beforeString=beforeString+str.substring(0, (idx+replace.length));
              if(idx==0)
	              str=str.substring(beforeString.length-j,str.length);
	          else
	          	  str=str.substring(beforeString.length-(j+1),str.length);

              idx = str.indexOf( look );
              j=j+1;
        }
        str=beforeString+str;
    	return str;
	}
	
	function showSelectionsBrowse(formObj, removeLabel, levels){
		var slcts = "";
		var slctv = "";
		slcts = getCookie("selectRslts");
		slctv = getCookie("selectValue");
		if(slcts == null)
			slcts = "";
		if(slctv == null)
			slctv = "";
		var newSelected = slcts.split(opr);
		var newSelectedValues = slctv.split(opr);
		var selectedRows = newSelected.length;

		var i = 0;
		var rowNumber = i;
		var emptyItem = 0;
		// when 10 records are selected the rowNumber becomes 11 and causes a arrayindexoutofbound problem.
		while(i < selectedRows && rowNumber < 10){
			var item = newSelected[i];
			var curValue = newSelectedValues[i]
			var whichRow = recordRows[rowNumber];
			var whichRemove = removeRows[rowNumber];
			if( item != null && item.length > 0 && rowNumber < 10 )
			{
				var folls='';
				if(levels == 4)
				{
					var tuple = item.substring(1,item.length-1);
					var tuples = tuple.split(":");
					if(tuples.length>3)
					{
						folls = tuples[tuples.length-3]+":"+tuples[tuples.length-2]+":"+tuples[tuples.length-1];
					}
					else
					{
						folls = item.substring(1,item.length-1);
					}
				}
				if(levels == 3)
				{
					var tuple = item.substring(1,item.length-1);
					var tuples = tuple.split(":");
					if(tuples.length>2)
					{
						folls = tuples[tuples.length-2]+":"+tuples[tuples.length-1];
					}
					else
					{
						folls = item.substring(1,item.length-1);
					}
				}
				if(folls == null || folls == '')
				{
					getReturnedObj(whichRow).innerHTML = item.substring(1,item.length-1);
				}
				else
				{
					if(folls != 'ul')
					{
						getReturnedObj(whichRow).innerHTML = folls;
					}
				}
				//getReturnedObj(whichRow).innerHTML = item.substring(1,item.length-1);
				if( curValue )
				{
				   //getReturnedObj(whichRemove).innerHTML = "<a href=JavaScript:removeRow(document." + formObj.name +",'"+ escape(escape(item.substring(1, item.length-1))) + "','"+curValue+"','"+removeLabel+"')>" + removeLabel + "</a>";
				     if(folls != 'ul')
				     {
				     	getReturnedObj(whichRemove).innerHTML = "<a href=JavaScript:removeFromSelectionsforBrowse(document." + formObj.name +",'"+ escape(escape(item.substring(1, item.length-1))) + "','"+curValue+"','"+removeLabel+"')> <img src=images/btn_ic_delete.png border=0>  </a>";
				     }
				}
				else
				{
				   //getReturnedObj(whichRemove).innerHTML = "<a href=JavaScript:removeRow(document." + formObj.name +",'"+ escape(escape(item.substring(1, item.length-1))) + "','','"+removeLabel+"')>" + removeLabel + "</a>";
				     if(folls != 'ul')
				     {
				     	getReturnedObj(whichRemove).innerHTML = "<a href=JavaScript:removeFromSelectionsforBrowse(document." + formObj.name +",'"+ escape(escape(item.substring(1, item.length-1))) + "','"+curValue+"','"+removeLabel+"')> <img src=images/btn_ic_delete.png border=0></a>";
				     }
				}
			}
			else
			{
				getReturnedObj(whichRow).innerHTML = "&nbsp;";
				getReturnedObj(whichRemove).innerHTML = "&nbsp;";
			}
			i++;
			if(item == null || item.length == 0) {
				emptyItem++;
			}
			rowNumber = i - emptyItem;
		}
	}
	
	function removeFromSelectionsforBrowse(formObj, crnt, curValue, removeLabel) {
		
		var currId = crnt.id;
		if(currId == undefined){
			var whichText = unescape(crnt);
			var code = whichText.split(" ")[0];
			if(code.length != 2 && !code.contains("-")){
				var currId = "row_" + code.substring(0,2)+ "_" + code;
			}else{
				var currId = "row_" + code.substring(0,2);				
			}			
		}
		var levels = currId.split('_');
		//root node unchecked
		if(levels.length == 2)
		{
			var statusUpdateMain = true;
			var elements = document.getElementsByTagName("input");
			/*for(var i=0;i<elements.length;i++)
			{
				if(elements[i].type == 'checkbox')
				{
					var ccid = elements[i].id;
					if(currId.split('_')[1].length==1){
						currId = levels[0] + "_0" + parseInt(levels[1],10);
					}
					if(ccid.startsWith(currId))
					{
						elements[i].checked=false;
						//code for, if parent node is unchecked then all its childs has to removed from submitrow.
						if(ccid != currId)
						{							
							if(elements[i].checked == true)
							{
								statusUpdateMain = false;
							}
						}
					}
				}
			}*/
			if(statusUpdateMain)
			{					
				currId = levels[0] + "_" + parseInt(levels[1],10);				
				var tarId = currId;
				document.getElementById(currId).checked = false;
				//code for, if parent node is unchecked then all its childs has to removed from submitrow.
				removeFromSelections(formObj,document.getElementById(currId), "", "Remove");
			}
		}
		//last level node unchecked
		if(levels.length == 4)
		{
			var statusUpdate = true;
			var elements = document.getElementsByTagName("input");
			/*for(var i=0;i<elements.length;i++)
			{
				if(elements[i].type == 'checkbox')
				{
					var ccid = elements[i].id;
					var otherLevels = ccid.split('_');
					if(otherLevels.length == 4)
					{
						var sub2 = currId.substring(0,8);						
						if(ccid.startsWith(sub2) && ccid != currId)
						{
							if(elements[i].checked == true)
							{
								statusUpdate = false;
							}
						}
					}
				}
			}*/
			if(statusUpdate)
			{
				var targetId = currId.substring(0,8);
				var otherLevels = targetId.split('_');
				if(otherLevels[2].startsWith("0"))
				{
					var targetId1 = otherLevels[0]+"_"+otherLevels[1]+"_"+otherLevels[2].substring(1);
					document.getElementById(targetId1).checked = false;
					//code for, if parent node is unchecked then all its childs has to removed from submitrow.
					removeFromSelections(formObj,document.getElementById(targetId1), "", "Remove");
				}
				else
				{
					document.getElementById(targetId).checked = false;
					//code for, if parent node is unchecked then all its childs has to removed from submitrow.
					removeFromSelections(formObj,document.getElementById(targetId1), "", "Remove");
				}
				var statusUpdateRoot = true;
				var elements2 = document.getElementsByTagName("input");
				for(var i=0;i<elements2.length;i++)
				{
					if(elements2[i].type == 'checkbox')
					{
						var ccid = elements2[i].id;
						var rootLevels = ccid.split('_');
						if(rootLevels.length == 3)
						{
							//var tar = currId.split('_');
							var tarId1;
							if(levels[2].startsWith("0"))
							{
								tarId1 = levels[0]+"_"+levels[1]+"_";
							}
							else
							{
								tarId1 = levels[0]+"_"+levels[1]+"_";
							}
							//var tarId = ccid.substring(0,6);
							//alert(tarId1);
							if(ccid.startsWith(tarId1))
							{
								if(elements2[i].checked == true)
								{
									//alert(ccid);
									statusUpdateRoot = false;
								}
							}
						}
					}
				}
				if(statusUpdateRoot)
				{
					var tarId = currId.substring(0,5);
					document.getElementById(tarId).checked = false;
					//code for, if parent node is unchecked then all its childs has to removed from submitrow.
					removeFromSelections(formObj,document.getElementById(tarId), "", "Remove");
				}
				else
				{
					var tarId = currId.substring(0,5);
					//comment below line for not getting immediate parent object selected automatically when last level checkbox is unchecked while parallel level checkbox is checked 
					//document.getElementById(tarId).checked = true;
				}
			}
			else
			{
				var targetId = currId.substring(0,8);
				var otherLevels = targetId.split('_');
				if(otherLevels[2].startsWith("0"))
				{
					var targetId1 = otherLevels[0]+"_"+otherLevels[1]+"_"+otherLevels[2].substring(1);
					//comment below line for not getting root parent object selected automatically when last level checkbox is unchecked while parallel level checkbox is checked
					//document.getElementById(targetId1).checked = true;
				}
				else
				{
					document.getElementById(targetId).checked = true;
				}
			}
		}
		if(levels.length == 3)
		{
			
			var targetId;
			if(levels[1].length == 1)
			{
				targetId = levels[0]+"_0"+levels[1]+"_"+parseInt(levels[2],10);
			}
			else
			{
				targetId = levels[0]+"_"+levels[1]+"_"+ parseInt(levels[2],10);
			}			
			var elements = document.getElementsByTagName("input");
				/*for(var i=0;i<elements.length;i++)
				{
					if(elements[i].type == 'checkbox')
					{
						var ccid = elements[i].id;						
						if(ccid.startsWith(targetId))
						{
							elements[i].checked=false;
							//code for, if parent node is unchecked then all its childs has to removed from submitrow.
							removeFromSelections(formObj,elements[i], "", "Remove");
						}
					}
				}*/
			var elements2 = document.getElementsByTagName("input");
			var statusUpdateRoot = true;
			/*for(var i=0;i<elements2.length;i++)
			{
				if(elements2[i].type == 'checkbox')
				{
					var ccid = elements2[i].id;
					var rootLevels = ccid.split('_');
					if(rootLevels.length == 3)
					{
						//var tar = currId.split('_');
						tarId1 = levels[0]+"_"+levels[1]+"_";
						//var tarId = ccid.substring(0,6);
						//alert(tarId1);
						if(ccid.startsWith(tarId1))
						{
							if(elements2[i].checked == true)
							{
								statusUpdateRoot = false;
							}
						}
					}
					
				}
			}*/
			if(statusUpdateRoot)
			{
				//var tarId = currId.substring(0,5);
				var tarId = targetId;				
				document.getElementById(tarId).checked = false;
				//code for, if parent node is unchecked then all its childs has to removed from submitrow.
				removeFromSelections(formObj,document.getElementById(tarId), "", "Remove");
			}
			else
			{
				var tarId = currId.substring(0,5);
				//comment below line for not getting immediate parent object selected automatically when last level checkbox is unchecked while parallel level checkbox is checked
				//document.getElementById(tarId).checked = true;
			}
		}
		//alert('finished');
		/*
		var x=crnt.id;
		var y= x.split("_");
		var z= y[0]+"_"+y[1];
		var z2= y[2].split("0");
		var z1;
		if(z2.length<2){
		  z1 = y[0]+"_"+y[1]+"_"+z2[0];
		}else{
		  z1 = y[0]+"_"+y[1]+"_"+z2[1];
		}
		var row = document.getElementById(z);
		var row1 = document.getElementById(z1);
		x.checked=false;
		row.checked=false;
		row1.checked =false;
		*/
		crnt="";
		var crntVal = crnt.value;
		
		//removeRow1(formObj, crntVal, curValue, removeLabel);
		/*try
		{
			if(levels.length == 3)
			{
				var tuffer = crntVal.split(":");
				crntVal = tuffer[1];
			}
			if(levels.length == 4)
			{
				var tuffer = crntVal.split(":");
				crntVal = tuffer[2];
			}
		}
		catch(e)
		{
		}
		var replacedVal='';
		if(crntVal != null)
		{
			replacedVal = crntVal.replace(/\+/g," ");
		}
		crntVal=unescape(replacedVal);
		crntVal = replaceAll(crntVal,'"','""');*/
		var slcts = "";
		var value = "";
		slcts = getCookie("selectRslts");
		value = getCookie("selectValue");

		try
		{
			if(slcts.substring(slcts.length - opr.length) == opr) {
				slcts = slcts.replace( quote + crntVal + quote + opr, "");
			} else {
				slcts = slcts.replace(quote + crntVal + quote, "");
			}
		}
		catch(excep){}

		// Below block commented out by VM
		/*if(value.substring(value.length - opr.length) == opr) {
			value = slcts.replace( quote + curValue + quote + opr, "");
		} else {
			value = slcts.replace(quote + curValue + quote, "");
		}*/
		//alert("removeFromSelections : slcts = "+slcts);
		/*setValueInCookie("selectRslts", slcts);
		setValueInCookie("selectValue", value);
		*/
		//checkSelections(formObj);
		showSelectionsBrowse(formObj, removeLabel, levels.length);
	}
	
	function removeRow1(formObj, a, curValue, removeLabel) {
		
		
		var slcts = "";
		var slctv = "";
		//var whichText =  getReturnedObj(a).innerHTML ;
		var whichText = unescape( a );
		whichText =  whichText.replace("&amp;", "&");

		slcts = getCookie("selectRslts");
		if(slcts != null)
		{
			slcts = slcts.replace(quote +whichText + quote + opr, "");
		}
		setValueInCookie("selectRslts", slcts);
		if( curValue )
		{
         slctv = getCookie("selectValue");
         //slctv = slctv.replace(curValue + opr, "");
         slctv = "";
         setValueInCookie("selectValue", slctv);
		}

		var numRslts = 0;
		if(formObj.browseCheck){
			numRslts = parseInt(formObj.browseCheck.length);
			if(formObj.browseCheck.length==undefined){
			formObj.browseCheck.checked = false;
			}
		}

		for(var i = 0; i < numRslts; i++){
			var crntVal = formObj.browseCheck[i].value;
			var replacedVal = crntVal.replace(/\+/g," ");
   			crntVal=unescape(replacedVal);
		    crntVal = replaceAll(crntVal,'"','""');
			if(whichText == crntVal){
				formObj.browseCheck[i].checked = false;
				try
				{
					var currId = formObj.browseCheck[i].id;
					var levels = currId.split('_');
					if(levels.length == 2)
					{
						var elements = document.getElementsByTagName("input");
						for(var i=0;i<elements.length;i++)
						{
							if(elements[i].type == 'checkbox')
							{
								var ccid = elements[i].id;
								if(ccid.startsWith(currId))
								{
									elements[i].checked=false;
								}
							}
						}	
					}
                    if(levels.length == 3)
                    {

                        var targetId;
                        if(levels[2].length == 1)
                        {
                            targetId = levels[0]+"_"+levels[1]+"_0"+levels[2];
                        }
                        else
                        {
                            targetId = levels[0]+"_"+levels[1]+"_"+levels[2];
                        }
                        var elements = document.getElementsByTagName("input");
                            for(var i=0;i<elements.length;i++)
                            {
                                if(elements[i].type == 'checkbox')
                                {
                                    var ccid = elements[i].id;
                                    if(ccid.startsWith(targetId))
                                    {
                                        elements[i].checked=false;
                                    }
                                }
                            }
                        var elements2 = document.getElementsByTagName("input");
                        var statusUpdateRoot = true;
                        for(var i=0;i<elements2.length;i++)
                        {
                            if(elements2[i].type == 'checkbox')
                            {
                                var ccid = elements2[i].id;
                                var rootLevels = ccid.split('_');
                                if(rootLevels.length == 3)
                                {
                                    //var tar = currId.split('_');
                                    tarId1 = levels[0]+"_"+levels[1];
                                    if(ccid.startsWith(tarId1))
                                    {
                                        if(elements2[i].checked == true)
                                        {
                                            document.getElementById(tarId).checked = false;

                                            statusUpdateRoot = false;
                                        }
                                    }
                                }

                            }
                        }
/*                        if(statusUpdateRoot)
                        {
                            var tarId = currId.substring(0,5);
                            document.getElementById(tarId).checked = false;
                        }
                        else
                        {
                            var tarId = currId.substring(0,5);
                            document.getElementById(tarId).checked = true;
                        }*/
                    }
					if(levels.length == 4)
					{
						var statusUpdate = true;
						var elements = document.getElementsByTagName("input");
						for(var i=0;i<elements.length;i++)
						{
							if(elements[i].type == 'checkbox')
							{
								var ccid = elements[i].id;
								var otherLevels = ccid.split('_');
								if(otherLevels.length == 4)
								{
									var sub2 = currId.substring(0,8);
									if(ccid.startsWith(sub2) && ccid != currId)
									{
										if(elements[i].checked == true)
										{
											statusUpdate = false;
										}
									}
								}
							}
						}
						if(statusUpdate)
						{
							var targetId = currId.substring(0,8);
							var otherLevels = targetId.split('_');
							if(otherLevels[2].startsWith("0"))
							{
								var targetId1 = otherLevels[0]+"_"+otherLevels[1]+"_"+otherLevels[2].substring(1);
								document.getElementById(targetId1).checked = false;
							}
							else
							{
								document.getElementById(targetId).checked = false;
							}
							var statusUpdateRoot = true;
							var elements2 = document.getElementsByTagName("input");
							for(var i=0;i<elements2.length;i++)
							{
								if(elements2[i].type == 'checkbox')
								{
									var ccid = elements2[i].id;
									var rootLevels = ccid.split('_');
									if(rootLevels.length == 3)
									{
										//var tar = currId.split('_');
										var tarId1;
										if(levels[2].startsWith("0"))
										{
											tarId1 = levels[0]+"_"+levels[1]+"_";
										}
										else
										{
											tarId1 = levels[0]+"_"+levels[1]+"_";
										}
										if(ccid.startsWith(tarId1))
										{
											if(elements2[i].checked == true)
											{
												statusUpdateRoot = false;
											}
										}
									}
								}
							}
							if(statusUpdateRoot)
							{
								var tarId = currId.substring(0,5);
								document.getElementById(tarId).checked = false;
							}
							else
							{
								var tarId = currId.substring(0,5);
								document.getElementById(tarId).checked = true;
							}
						}
/*						else
						{
							var targetId = currId.substring(0,8);
							var otherLevels = targetId.split('_');
							if(otherLevels[2].startsWith("0"))
							{
								var targetId1 = otherLevels[0]+"_"+otherLevels[1]+"_"+otherLevels[2].substring(1);
								document.getElementById(targetId1).checked = true;
							}
							else
							{
								document.getElementById(targetId).checked = true;
							}
						}*/
					}
				}
				catch(e)
				{
					
				}
				break;
			}
		}
		
		showSelections(formObj, removeLabel);
	}
	
	function removeRowBrowse(formObj, a, curValue, removeLabel, levels) {
		
		var levelsStuff = levels;
		var slcts = "";
		var slctv = "";
		//var whichText =  getReturnedObj(a).innerHTML ;
		var whichText = unescape( a );
		whichText =  whichText.replace("&amp;", "&");

		slcts = getCookie("selectRslts");
		slcts = slcts.replace(quote +whichText + quote + opr, "");
		setValueInCookie("selectRslts", slcts);
		if( curValue )
		{
         slctv = getCookie("selectValue");
         //slctv = slctv.replace(curValue + opr, "");
         slctv = "";
         setValueInCookie("selectValue", slctv);
		}

		var numRslts = 0;
		if(formObj.browseCheck){
			numRslts = parseInt(formObj.browseCheck.length);
			if(formObj.browseCheck.length==undefined){
			formObj.browseCheck.checked = false;
			}
		}

		for(var i = 0; i < numRslts; i++){
			var crntVal = formObj.browseCheck[i].value;
			var replacedVal = crntVal.replace(/\+/g," ");
   			crntVal=unescape(replacedVal);
		    crntVal = replaceAll(crntVal,'"','""');
			if(whichText == crntVal){
				formObj.browseCheck[i].checked = false;
				try
				{
					var currId = formObj.browseCheck[i].id;
					var levels = currId.split('_');
					if(levels.length == 2)
					{
						var elements = document.getElementsByTagName("input");
						for(var i=0;i<elements.length;i++)
						{
							if(elements[i].type == 'checkbox')
							{
								var ccid = elements[i].id;
								if(ccid.startsWith(currId))
								{
									elements[i].checked=false;
								}
							}
						}	
					}
					if(levels.length == 4)
					{
						var statusUpdate = true;
						var elements = document.getElementsByTagName("input");
						for(var i=0;i<elements.length;i++)
						{
							if(elements[i].type == 'checkbox')
							{
								var ccid = elements[i].id;
								var otherLevels = ccid.split('_');
								if(otherLevels.length == 4)
								{
									var sub2 = currId.substring(0,8);
									if(ccid.startsWith(sub2) && ccid != currId)
									{
										if(elements[i].checked == true)
										{
											statusUpdate = false;
										}
									}
								}
							}
						}
						if(statusUpdate)
						{
							var targetId = currId.substring(0,8);
							var otherLevels = targetId.split('_');
							if(otherLevels[2].startsWith("0"))
							{
								var targetId1 = otherLevels[0]+"_"+otherLevels[1]+"_"+otherLevels[2].substring(1);
								document.getElementById(targetId1).checked = false;
							}
							else
							{
								document.getElementById(targetId).checked = false;
							}
							var statusUpdateRoot = true;
							var elements2 = document.getElementsByTagName("input");
							for(var i=0;i<elements2.length;i++)
							{
								if(elements2[i].type == 'checkbox')
								{
									var ccid = elements2[i].id;
									var rootLevels = ccid.split('_');
									if(rootLevels.length == 3)
									{
										//var tar = currId.split('_');
										var tarId1;
										if(levels[2].startsWith("0"))
										{
											tarId1 = levels[0]+"_"+levels[1]+"_";
										}
										else
										{
											tarId1 = levels[0]+"_"+levels[1]+"_";
										}
										if(ccid.startsWith(tarId1))
										{
											if(elements2[i].checked == true)
											{
												//alert(ccid);
												statusUpdateRoot = false;
											}
										}
									}
								}
							}
							if(statusUpdateRoot)
							{
								var tarId = currId.substring(0,5);
								document.getElementById(tarId).checked = false;
							}
							else
							{
								var tarId = currId.substring(0,5);
								document.getElementById(tarId).checked = true;
							}
						}
						else
						{
							var targetId = currId.substring(0,8);
							var otherLevels = targetId.split('_');
							if(otherLevels[2].startsWith("0"))
							{
								var targetId1 = otherLevels[0]+"_"+otherLevels[1]+"_"+otherLevels[2].substring(1);
								//uncomment below line for locking cheking of pareant node automaticall while remove row click of an child node with another parallel child node is getting already selected
								//document.getElementById(targetId1).checked = true;
							}
							else
							{
								document.getElementById(targetId).checked = true;
							}
						}
					}
					if(levels.length == 3)
					{
						
						var targetId;
						if(levels[2].length == 1)
						{
							targetId = levels[0]+"_"+levels[1]+"_0"+levels[2];
						}
						else
						{
							targetId = levels[0]+"_"+levels[1]+"_"+levels[2];
						}
						var elements = document.getElementsByTagName("input");
							for(var i=0;i<elements.length;i++)
							{
								if(elements[i].type == 'checkbox')
								{
									var ccid = elements[i].id;
									if(ccid.startsWith(targetId))
									{
										elements[i].checked=false;
									}
								}
							}
						var elements2 = document.getElementsByTagName("input");
						var statusUpdateRoot = true;
						for(var i=0;i<elements2.length;i++)
						{
							if(elements2[i].type == 'checkbox')
							{
								var ccid = elements2[i].id;
								var rootLevels = ccid.split('_');
								if(rootLevels.length == 3)
								{
									//var tar = currId.split('_');
									tarId1 = levels[0]+"_"+levels[1]+"_";
									if(ccid.startsWith(tarId1))
									{
										if(elements2[i].checked == true)
										{
											statusUpdateRoot = false;
										}
									}
								}
								
							}
						}
						if(statusUpdateRoot)
						{
							var tarId = currId.substring(0,5);
							document.getElementById(tarId).checked = false;
						}
						else
						{
							var tarId = currId.substring(0,5);
							//uncomment below line for locking cheking of pareant node automaticall while remove row click of an child node with another parallel child node is getting already selected
							//document.getElementById(tarId).checked = true;
						}
					}
				}
				catch(e)
				{
					
				}
				break;
			}
		}
		showSelectionsBrowse(formObj, removeLabel, levelsStuff);
	}
	
	function submitTreeSelections(){
		var finalSelects = formatTreeSelection();
		var selectRslts = getCookie("selectRslts");
		var selectValue = getCookie("selectValue");
		
		if( (selectValue != null) && (selectValue!='null') && (selectValue.length > 0)){
			opener.setPulldownFieldValue(selectRslts, selectValue);
			setValueInCookie("selectRslts","");
			setValueInCookie("selectValue","");
			window.close();
		}else{
			if(opener.setSearchString != null) {
				opener.setSearchString(finalSelects);
			} else {
				opener.setFieldValue(finalSelects);
			}
		}
		setValueInCookie("selectRslts", "");
		window.close();
	}

	function formatTreeSelection() {
		var selectionVal = "";
		var splittedValue = "";
		selectionVal = getCookie("selectRslts");
		if( (selectionVal == null) || (selectionVal.length < 1) )
			return "";
		var selectionValArr = stringTokenize(selectionVal, opr);
		var formatedValue = "";		
		for(var i=0; i < selectionValArr.length; i++) {
			var selArray = selectionValArr[i].split(":");			
			splittedValue = selArray[selArray.length-1];			
			splittedValueCode = splittedValue.split(" ")[0];
			if(!splittedValueCode.contains('"') && !splittedValueCode.contains('-')){
				splittedValueCode = splittedValueCode;
			}else if(splittedValueCode.contains('"')){
				splittedValueCode = splittedValueCode.replace('"','');
			}
			if(splittedValueCode.contains('-')){
				splittedValueCode = splittedValueCode.split("-")[0];
			}
			formatedValue += splittedValueCode;
			
			if(i+1 < selectionValArr.length) {
				formatedValue += opr;
			}
		}
		return formatedValue;
	}
	
	function closeBrowseWindow(){
		setValueInCookie("selectRslts", "");
		window.close();
	}
