//Following things are brought from MarkList related JSPX.
//Global variables moved from MarkList.jspx
// Marks all the checkboxes to either checked or unchecked.

function markAll(chkBox){
    //iteratorBar-selectAll_A003
    var mTabId = chkBox.id.split('_')[1];
    var marklistDivs = document.getElementsBySelector("input.markItem_"+mTabId);
	var elementCnt = marklistDivs.length;
    //alert(elementCnt );
    var markCnt = MARK_CNT;
	var pgCnt =  PG_CNT;
    var totalMarked = markCnt - pgCnt  + elementCnt;
 	if( chkBox.checked == true  )	{
        if( totalMarked <= 50 )	{
            updateMarkListCheckBoxes(chkBox);
            var markedURL = getMarkListURL();
   	        postRequest(markedURL);

        } else {
            alert(MARKLIST_ALL_ERR_MSG1+" "+MARKLIST_ALL_ERR_MSG2);
            chkBox.checked = false;
            return;
        }
    }	else {
        // For uncheck there is no need to do any validation.
        // It basically unchecks all and then enables or disables the viewmarklist button and updates the server.
        updateMarkListCheckBoxes(chkBox);
        var markedURL = getMarkListURL();
        postRequest(markedURL);
	}
	/* no longer 2 checkboxes on page, just one; ECE200025805 - jmarx
	if(chkBox.id == "iteratorBar-selectAll_1"){
		getElementById("iteratorBar-selectAll_2").checked = chkBox.checked;
	}else{
		getElementById("iteratorBar-selectAll_1").checked = chkBox.checked;
	}
	*/
	//enableMySavedItem(getTotalMarkedCount());
}


// changes the state of each of the checkbox.
var inCheckAll = false;
function updateMarkListCheckBoxes(chkBox)	{
    inCheckAll = true;
   var mTabId = chkBox.id.split('_')[1];
    // Check for total number of Marked & capture the status of each marked Checkboxes.
	var marklistDivs = document.getElementsBySelector("input.markItem_"+mTabId);
    for(var i=0;i<marklistDivs.length;i++){
		var element = marklistDivs[i];
            if (chkBox.checked ==true) { // If CheckAll is True, makes all of them as Checked.
                element.checked = true;
           		//getElementById("globalTools-markedItems").className = "";
           		var totalMarked = getTotalMarkedCount();
           		//displayTotalMarkedCount(totalMarked); //TODO: need to update markList count
                Toggle(element);
            } else {
                element.checked = false;
           		if(MARK_CNT <=0){
					//getElementById("globalTools-markedItems").className = "hide";
                                        var markTab = document.getElementById("markTab");
                                        if(markTab != null) {
					  markTab.style.display = 'none';
                                        }
				}
				var totalMarked = getTotalMarkedCount();
           		//displayTotalMarkedCount(totalMarked);
                Toggle(element);
            }
	}
	inCheckAll = false;
}

function getMarkListURL() {
    var markedInfo = getMarkListString();
    return getMarkListURLForMarkedInfo(markedInfo);
}

// Returns the MarkListString for all the checkboxes depending on their state.
function getMarkListString() {

    var element;
	var markedInfo = "";
    var marklistDivs = document.getElementsBySelector("div.sr_cwd1");
	for(var i=0;i<marklistDivs.length;i++){
		var element = marklistDivs[i].getElementsByTagName("INPUT")[0];
        var markedString = element.value;
        if (element.checked == true ) {
            markedInfo += prepareMarkedString(markedString,"1");
        }else {
            markedInfo += prepareMarkedString(markedString,"0");
        }
	}
	return markedInfo;
}

function getMarkListURLForMarkedInfo(markedInfo) {
    var timeNow = new Date();
    var qrystring = UPDATE_MARKLIST_LINK + "&markedString="+markedInfo;
    qrystring += "&a="+timeNow.getTime();         
    return qrystring;
}


/**
* Generic function to prepare the Marked String that needs to be sent to the browser for Update.
* This is written in a generic fashion to cater to both "Select" for individual checkboxes and "SelectAll" checkbox as well.
*
* All what it does it creates a Mark List String of all the items in the current page with their status appended with appropriate delimiter
*/

function prepareMarkedString(dirtyMarkedString, updateStatus)	{
    // Retrieving the Tab ID from the String.
    // The original format of the string would be <TABID>_<DocID>_<BucketSubID>_<PageNo>
    // Final Format would be <TabID>_<DocID>_<UpdateStatus>_<BucketSubID>_<PageNo>
    var markedInfo = "";
    markedInfo +=  dirtyMarkedString.substring(0,dirtyMarkedString.indexOf('_')); // Retrieve the tabID & store in markedInfo
    dirtyMarkedString = dirtyMarkedString.substring(dirtyMarkedString.indexOf('_') + 1); // Remove the tabID from the markedString.

    // Retrieving the DocID
    markedInfo +=  "_"+ dirtyMarkedString.substring(0,dirtyMarkedString.indexOf('_')); // Retrieve the docID from markedString.
    dirtyMarkedString =  dirtyMarkedString.substring(dirtyMarkedString.indexOf('_') + 1); // Remove the docID from the markedString

    if(updateStatus == "1")	{
        markedInfo += "_"+"1";
    } else {
        markedInfo += "_"+"0";
    }

    // append the rest to the markedInfo
    markedInfo += "_" + dirtyMarkedString;
/**
    var tmpIndex = dirtyMarkedString.indexOf('_'); // Check for availability of PageNum
    if( tmpIndex != -1)	{ // Page Num available
        //markedInfo +=  "_" + dirtyMarkedString.substring(0,dirtyMarkedString.indexOf('_'));
        markedInfo +=  dirtyMarkedString; // Appending the bucketSubID & Page Num.
    } else { // Page Num not available
        markedInfo += "_" + dirtyMarkedString; // Appending the bucketSubID.
    }
    */
    markedInfo += "^";
    return markedInfo;
}


// Marks the markListItem on the result list & markList page.
//# var tmpImg = new Image();
function mark(chkbox) {
   var mTabId = chkbox.id.split('_')[1];
    if (inCheckAll) return;
    var xmlhttp = getXmlHttpRequest();
    var isAllChecked  = true;
 	var marklistDivs = document.getElementsBySelector("input.markItem_"+mTabId);
	for(var i=0;i<marklistDivs.length;i++){
		var element = marklistDivs[i];
        if (element.checked == false){
            isAllChecked  = false;
            break;
        }
    }
    checkOrUncheckMarkAll(mTabId,isAllChecked);
	var totalMarked = getTotalMarkedCount();
	var markedInfo ="";
	if(chkbox.checked == true)	{
		if( totalMarked <= 50 )	{
		    var markedURL = getMarkListURL();
    	    postRequest(markedURL);
		} else {
			alert(MARKLIST_ERR_MSG);
			chkbox.checked = false;
			checkOrUncheckMarkAll(mTabId,false);
			return;
		}
	} else {
	    var markedURL = getMarkListURL();
	    postRequest(markedURL);
	}

/*	if(totalMarked > 0){
        document.getElementsBySelector("span.noOfMarkedItems")[0].innerHTML ='';
        displayTotalMarkedCount(totalMarked);
	}else{
        getElementById("globalTools-markedItems").className = "hide";
        document.getElementsBySelector("span.noOfMarkedItems")[0].innerHTML ='';
	}*/

	//enableMySavedItem(getTotalMarkedCount());
}

function markPageCheckBox(){
	markPage(this);
}

function markPage(chkbox) {
	var markCnt = MARK_CNT;
	var pgCnt =  PG_CNT;
	var totalMarked = getTotalMarkedCount();
	var markedInfo ="";
	if(chkbox.checked == true)	{
		if( totalMarked <= 50 )	{
			var markedInfo = prepareMarkedString(chkbox.value,"1");
            var qrystring = getMarkListURLForMarkedInfo(markedInfo);
   	        postRequest(qrystring);
		} else {
			alert("There are already 50 articles marked.");
			chkbox.checked = false;
			return;
		}
	} else {
			var markedInfo = prepareMarkedString(chkbox.value,"0");
            var qrystring = getMarkListURLForMarkedInfo(markedInfo);
   	        postRequest(qrystring);
	}
/*	if(totalMarked > 0){
		getElementById("globalTools-markedItems").className = "";
		displayTotalMarkedCount(totalMarked);
	}else{
		getElementById("globalTools-markedItems").className = "hide";
                var markTab = document.getElementById("markTab");
                if(markTab != null) {
                  markTab.style.display = 'none';
                }
	}*/

	/* no longer 2 checkboxes on page, just one; ECE200025805 - jmarx
	if(chkbox.id == "iteratorBar-markDocument_1"){
		getElementById("iteratorBar-markDocument_2").checked = chkbox.checked;
	}else{
		getElementById("iteratorBar-markDocument_1").checked = chkbox.checked;
	}
	*/
	//enableMySavedItem(totalMarked);
}

function getTotalMarkedCount() {
    var markCnt = MARK_CNT;
	var pgCnt =  PG_CNT;
	var curCnt = getNoOfMarkedItem();
	var totalMarked = markCnt - pgCnt + curCnt;
	return totalMarked;
}

// Returns the current count of number of Items marked in the particular page.
function getNoOfMarkedItem()	{
    //var mTabId = this.id.split('_')[1];
    var element;
	var curCnt = 0;
    // Check for total number of Marked & capture the status of each marked Checkboxes.
	// If it exceeds the predefined count then it break.
	var marklistDivs = document.getElementsBySelector("div.sr_cwd1");
    for(var i=0;i<marklistDivs.length;i++){
		var element = marklistDivs[i].getElementsByTagName("INPUT")[0];
        if (element.checked == true){
            curCnt += 1;
      }
    }
	return curCnt;
}

function getMarkedItemCount()	{
    var totalNumber = 0;
    var spanObj = getElementById('totalNoOfItems');
    if(spanObj !=null) {
        totalNumber = spanObj.innerHTML.replace(/<[^>]+>/g,'');
        totalNumber = totalNumber.replace("(","");
        totalNumber = trim(totalNumber.split("&nbsp;")[0]);
        totalNumber = totalNumber.replace(")","");
        if(isNaN(totalNumber)) {
              totalNumber = 0;
        }
    }
    return totalNumber;
}

function Toggle(whichRow) {
	if (whichRow.checked) {
		Highlight(whichRow);
	}
	else {
		Unhighlight(whichRow);
	}
}

function Highlight(whichRow) {
	var resultsRow = null;
	if (whichRow.parentNode && whichRow.parentNode.parentNode) {
		resultsRow = whichRow.parentNode.parentNode;
	}
	if (resultsRow) {
		if (resultsRow.className == "resultsRow") {
			resultsRow.className = "resultsRow highlight";
		}
	}
}

function Unhighlight(whichRow) {
	var resultsRow = null;
	if (whichRow.parentNode && whichRow.parentNode.parentNode) {
		resultsRow = whichRow.parentNode.parentNode;
	}
	if (resultsRow) {
	    if (resultsRow.className == "resultsRow highlight") {
			resultsRow.className = "resultsRow";
	    }
	}
}

function addToggleEvent(){
	var checkBoxElements = document.getElementsByTagName("checkbox");
   	for(var i=0;i<checkBoxElements.length;i++){
		var chkBoxId = checkBoxElements[i].id;
	    if(chkBoxId.match("resultsTable-markItem_")){
    		checkBoxElements[i].onclick = Toggle;
    		checkBoxElements[i].onclick = mark;
		}
	}
}

// To check the no of records selected while clicking the print/email option
//If the any records selected than only the user is allowed to go further
function checkMarkedRecords() {
     var currentCount = getMarkedItemCount();
 	if( currentCount <= 0 ){
 		alert(NO_RECORDS_MARKED_MSG);
 		return false;
 	}else{
 		 window.open(this.href,"galeChildWindow","toolbar=no, directories=no, status=no, location=no, resizable=yes, menubar=no, scrollbars=yes,screenX=50,screenY=50,top=50,left=50,width=750,height=550");
  		 return false;
  	}
}

function printMarkedRecords() {
     var currentCount = getMarkedItemCount();
 	if( currentCount <= 0 ){
 		alert(NO_RECORDS_MARKED_MSG);
 		return false;
 	}else{
 		 window.open(this.href,"galeChildWindow","toolbar=no, directories=no, status=no, location=no, resizable=yes, menubar=yes, scrollbars=yes,screenX=50,screenY=50,top=50,left=50,width=750,height=550");
  		 return false;
  	}
}
function downLoadMarkedItems() {
         window.open(this.href,"galeChildWindow","toolbar=no, directories=no, status=no, location=no, resizable=yes, menubar=yes, scrollbars=yes,screenX=50,screenY=50,top=50,left=50,width=750,height=550");
  		 return false;

}

function downloadDocument(){
      var markedItems = getNoOfMarkedItemForTab(this.href);
	if(markedItems <= 0 ){
	   	alert(NO_RECORDS_DOWNLOAD_MSG);
	   	return false;
	}else{
    	window.open(this.href,"galeChildWindow",'toolbar=no,resizable=yes,scrollbars=yes,width=650,height=500');
    	return false;
	}
}

function getNoOfMarkedItemForTab(url) {
    var tabId = getParamValueInURL(url,"tabID");
    var bucketId = getParamValueInURL(url,"bucketId");

 	var spanObj = getElementById(tabId+"_"+bucketId);
    var totalNumber = spanObj.innerHTML.replace(/<[^>]+>/g,'');
    totalNumber = totalNumber.replace("(","");
	totalNumber = trim(totalNumber.split("&nbsp;")[0]);
    totalNumber = totalNumber.replace(")","");
    if(isNaN(totalNumber)) {
          totalNumber = 0;
	 }
	return totalNumber;
}

function closeRow(tabId,rowIndex){
    // <div class="sr_content" id="${param.tabId}_markedItem_citation_row-${i+1}">
    toClose = getElementById(tabId+"_markedItem_citation_row-"+rowIndex);
    toClose.id = tabId+"_dummy_"+rowIndex;
    toClose.style.display = "none";
    toClose.innerHTML = "";
}

function reduceCountByOne(spanId) {
    var spanObj = getElementById(spanId);    
    var totalNumber = spanObj.innerHTML.replace(/<[^>]+>/g,'');
	totalNumber = totalNumber.replace("(","");
	totalNumber = trim(totalNumber.split("&nbsp;")[0]);
	totalNumber = totalNumber.replace(")","");
	if(isNaN(totalNumber)) {
    	totalNumber = 0;
	} else {
	    --totalNumber;
	}

	var parsedText = document.createTextNode(' '+totalNumber+' ');
	spanObj.innerHTML = "";
	spanObj.appendChild(parsedText);
	spanObj.innerHTML = "(" + spanObj.innerHTML + "&nbsp;saved item(s))";
	//displayTotalMarkedCount(totalNumber);
}

function displayTotalMarkedCount(totalMarkedCount){
    var spanObj = document.getElementsBySelector("span.noOfMarkedItems")[0];
	var parsedText = document.createTextNode(' '+totalMarkedCount+' ');
	spanObj.innerHTML = "";
	spanObj.appendChild(parsedText);
	spanObj.innerHTML = "(" + spanObj.innerHTML + ")";
}


function removeItemFromMarkList(){
	//('markList${j}_${item}_${bucketId}', 'markRow${j}_${item}_${bucketId}', '${item}_${bucketId}')
	//checkBoxID, rowId, tabListId

	var elementId = this.id;
	var markedString = prepareMarkedString(elementId,"0");
    var markedURL = getMarkListURLForMarkedInfo(markedString);
    postRequest(markedURL);
    // <a href="#" id="A003_A186165200_0_IAC-Documents_">remove</a>
    var tabId = elementId.split("_")[0];
    reduceCountByOne(tabId+"_marklistCollection");
	reduceCountByOne('totalNoOfItems');
    // <div class="remove-markedItem" id="remove-markedItem_1"><a href=#....>remove</a></div>
    //getting enclosed div
    var rowIndex = this.parentNode.id.split("_")[1];
/*    if(rowIndex == 1){
       //closeTab(tabId);
    } else {
        closeRow(tabId,rowIndex);        
    }*/
    closeRow(tabId,rowIndex);
    try{
        adjustFollowingLabels(this, rowIndex);
    }catch(e){

    }

}

function adjustFollowingLabels(removeLinkObj, rowIndex){
    //<a href="#" id="A003_A186165200_0_IAC-Documents_">remove</a>
    var tabId = removeLinkObj.id.split("_")[0];
    // <div class="remove-markedItem" id="${param.tabId}-remove-markedItem_1"><a href=#....>remove</a></div>
    //var rowIndex =  removeLinkObj.parentNode.id.split("_")[1];
    //iterating thro to find next row availblity, if found change the div id (citation)
    while(isNextRowAvailable(tabId,rowIndex)){
        var nextRowIndex = parseInt(rowIndex)+1;
        var nextRow = getElementById(tabId+"_row_"+nextRowIndex);
        var rowNumElement = nextRow.getElementsByTagName("STRONG")[0];

        nextRow.id =tabId+"_row_"+rowIndex; //changing next row's div id (enclosing strong).
        //alert(nextRow.id);
        var nextRemDiv = getElementById(tabId+"-remove-markedItem_"+nextRowIndex);
        nextRemDiv.id = tabId+"-remove-markedItem_"+rowIndex; //changing next row's reomve div id (enclosing remove link).

        //A003_markedItem_citation_row-9
        var nextCitation = getElementById(tabId+"_markedItem_citation_row-"+nextRowIndex);
        nextCitation.id = tabId+"_markedItem_citation_row-"+rowIndex;  //changing next row's div id (enclosing citaion).
        //alert( rowIndex + ":"+nextRow.id);
        var newrowIndex = parseInt(rowNumElement.innerHTML) - 1;
        rowNumElement.innerHTML = newrowIndex +".";
        rowIndex = nextRowIndex;
        //alert("end"+ rowIndex);
    }
}

function isNextRowAvailable(tabId,rowIndex){
    var nextRowIndex = parseInt(rowIndex)+1;
    //<div class="sr_content" id="${param.tabId}_markedItem_citation_row-${i+1}">....
    return isValidObject(getElementById(tabId+"_markedItem_citation_row-"+nextRowIndex));
}

function closeTab(tabId){
    // <div id="MarkedItemsFor_${mklsttabId}">
    toClose = getElementById("MarkedItemsFor_"+tabId);
    toClose.style.display = "none";
}

function checkOrUncheckMarkAll(mTabId,isChecked){
    var markAll_1 = getElementById("iteratorBar-selectAll_"+mTabId);
    if(markAll_1 != null){
	     markAll_1.checked = isChecked;
    	 /* no longer 2 checkboxes on page, just one; ECE200025805 - jmarx
    	 getElementById("iteratorBar-selectAll_2").checked = isChecked;
    	 */
    }
}

function attachToolsForMarkList(id, func){
	var obj = getElementById(id);//parent Id
	if(obj != null){
		var linkArray = obj.getElementsByTagName("a"); //child
		if(linkArray.length > 0){
			linkArray[0].onclick = func;
		}
	}
}
function identifyIdOfRemoveItem() {
    var divElements = document.getElementsBySelector("div.remove-markedItem")
    if (isValidObject(divElements)) {
        for (var i = 0; i < divElements.length; i++) {
            //alert(elements[i].id);
            var element = divElements[i].getElementsByTagName("A")[0];
            element.onclick = removeItemFromMarkList;
        }
    }

}

function addDownloadEvenForEachTab(){
    var downloadTabs =document.links;
    for(var i = 0; i < downloadTabs.length; i++) {
        if(downloadTabs[i].id.match("marklist_download") != null) {
            downloadTabs[i].onclick=downloadDocument;
        }
    }
}

/*function attachEventsForCheckBox(){
	var chkBox_1 = getElementById("iteratorBar-markDocument_1");
    if(chkBox_1 != null){
    	chkBox_1.onclick = markPageCheckBox;
    	*//* no longer 2 checkboxes on page, just one; ECE200025805 - jmarx
    	var chkBox_2 = getElementById("iteratorBar-markDocument_2");
    	chkBox_2.onclick = markPageCheckBox;
    	*//*
    }
    var markAll_chkBox_A003 =getElementById("iteratorBar-selectAll_A003");
    alert(markAll_chkBox_A003);    
    if(markAll_chkBox_A003 !== null){
        markAll_chkBox_A003.onclick = markAll_CheckBox;
    }
}*/

function attachMarkListCheckBoxEvent(){
    var tabdIds = ALL_TAB_ID.split(',');
    for(var i=0;i<tabdIds.length;i++){
         attachAllTabMarkListCheckBoxEvent(tabdIds[i]);
    }
}

function attachAllTabMarkListCheckBoxEvent(tabId){
    var marklistDivs = document.getElementsBySelector("input.markItem_"+tabId);
	for(var i=0;i<marklistDivs.length;i++){
		var chkBox = marklistDivs[i];
		Toggle(chkBox);
		chkBox.onclick = markCheckBox;
	}
    var markAll_chkBox =getElementById("iteratorBar-selectAll_"+tabId);
    //alert(markAll_chkBox_A003);
    if(isValidObject(markAll_chkBox)){
        markAll_chkBox.onclick = markAll_CheckBox;
        updateAllCheckBox1(markAll_chkBox,marklistDivs);
    }
}

function updateAllCheckBox1(allChkBoxObj,marklistInputObj) {
    var check = true;
    for (var i = 0; i < marklistInputObj.length; i++) {
        var element = marklistInputObj[i];
        if (element.checked == false){
            check = false;
        }
    }
    if (check == true && marklistInputObj.length > 0){
        allChkBoxObj.checked = true;
    }else {
        allChkBoxObj.checked = false;
    }
}



function markCheckBox(){
    mark(this);
    Toggle(this);
}
function markAll_CheckBox(){
    markAll(this);
}
 /******************marklistPage stuff - starts**********/
function deleteMarkItems(){
    if (getNoOfSelectedMarkedItems() > 0) {
        document.markListForm.markedString.value = getMarkListStringForSelectedMarkedItems();
        document.markListForm.action = getElementById("marklistDeleteURL").value;
        document.markListForm.submit();
    } else {
        alert("There is no selected items to Delete");
    }
}

function getNoOfSelectedMarkedItems()	{
    //var mTabId = this.id.split('_')[1];
    var element;
	var curCnt = 0;
    // Check for total number of Marked & capture the status of each marked Checkboxes.
	// If it exceeds the predefined count then it break.
	var marklistDivs = document.getElementsBySelector("div.marked_Item");
    for(var i=0;i<marklistDivs.length;i++){
		var element = marklistDivs[i].getElementsByTagName("INPUT")[0];
        if (element.checked == true){
            curCnt += 1;
      }
    }
	return curCnt;
}
function getMarkListStringForSelectedMarkedItems() {

    var element;
	var markedInfo = "";
    var marklistDivs = document.getElementsBySelector("div.marked_Item");
	for(var i=0;i<marklistDivs.length;i++){
		var element = marklistDivs[i].getElementsByTagName("INPUT")[0];
        var markedString = element.value;
        if (element.checked == true ) {
            markedInfo += prepareMarkedString(markedString,"1");
        }else {
            markedInfo += prepareMarkedString(markedString,"0");
        }
	}
	return markedInfo;
}

function  updateMarklistPageMarkAllChkBox() {
    var markAllChkBox = getElementById("markListall");
    var marklistDivs = document.getElementsBySelector("div.marked_Item");
    var checked = true;
    for (var i = 0; i < marklistDivs.length; i++) {
        var element = marklistDivs[i].getElementsByTagName("INPUT")[0];
        if (element.checked == false) {
            checked = false;
            break;
        }
    }
    markAllChkBox.checked = checked;
}

function  updateAllChkBox() {
    var marklistDivs = document.getElementsBySelector("div.marked_Item");
    var markAllChkBox = getElementById("markListall");    
    for (var i=0;i<marklistDivs.length;i++) {
        var element = marklistDivs[i].getElementsByTagName("INPUT")[0];
        element.checked = markAllChkBox.checked;
    }
}

function attachMarklistPageChkBoxEvents(){
    var marklistDivs = document.getElementsBySelector("div.marked_Item");

    for (var i=0;i<marklistDivs.length;i++) {
        var element = marklistDivs[i].getElementsByTagName("INPUT")[0];
        element.onclick =updateMarklistPageMarkAllChkBox;
    }
}

function downLoadItems() {
    var downLoadurl = getElementById("marklistDownloadURL").value;
    if (getNoOfSelectedMarkedItems() > 0) {
        var markedItems = "";
        var marklistDivs = document.getElementsBySelector("div.marked_Item");
        for (var i = 0; i < marklistDivs.length; i++) {
            var element = marklistDivs[i].getElementsByTagName("INPUT")[0];
            if (element.checked == true) {
                var checkvalues = element.value.split('_');
                var selectedvalue = checkvalues[0] + "," + checkvalues[1] + "=" + checkvalues[3];
                markedItems = markedItems + selectedvalue + "^"
            }
        }
        downLoadurl = downLoadurl + "&markedDownLoadItems=" + markedItems;

        document.markListForm.markedDownLoadItems.value = markedItems;
        downLoadMarkItems(downLoadurl);
    } else {
        alert("There is no selected items to DownLoad");
    }
}
function downLoadMarkItems(downLoadurl) {
         window.open(downLoadurl,"galeChildWindow","toolbar=no, directories=no, status=no, location=no, resizable=yes, menubar=yes, scrollbars=yes,screenX=50,screenY=50,top=50,left=50,width=750,height=550");
  		 return false;

}

function attachMarklistPageEvents(){
    attachMarkListCheckBoxEvent();
    //identifyIdOfRemoveItem();
    addClickEventForId("downloadselectedMarkedItems",downLoadItems);     
    addClickEventForId("delselectedMarkedItems",deleteMarkItems);
    addClickEventForId("markListall",updateAllChkBox);
    attachMarklistPageChkBoxEvents();
}
 /******************marklistPage stuff - ends**********/
function attachresultPageEvents(){
    var elements = document.links;
    for(var i = 0; i < elements.length; i++) {
        if(elements[i].id.match("illForm_") || elements[i].id.match("link_") || elements[i].id.match("bookmark_")){
            elements[i].onclick=openGaleChildWindow;
        }
    }
}
function attachDocumentToolEvent(){
    attachPopup("downloadTool", openGaleChildWindow);
	attachPopup("printDocument", openGaleChildWindow);
    attachPopup("citationsTools", openGaleChildWindow);
    attachPopup("emailTool", openGaleChildWindow);
    attachPopup("DocTool-infomarkTool", openGaleChildWindow);
    attachPopup("transLang", openGaleChildWindow);
    attachPopup("pdfTool", openGaleChildWindow);
}

function attachMarklistDownloadEvent(){
    attachPopup("marklist_download", openGaleChildWindow);    
}

function translate(){
    var translateLink = document.getElementById("transLang").href;
    //if in translateLink already "transLang=[some value]" is there then removing that part alone.
    if(translateLink.indexOf(escape('&transLang=')) > 0){
        translateLink = translateLink.substring(0,translateLink.indexOf(escape('&transLang=')));
    }
	var selElement = document.getElementById("selTransLang");
	var translateLangValue = selElement.options[selElement.selectedIndex].value;
    var transUrl = escape('&transLang=') + translateLangValue;
    var url = translateLink + transUrl;
    document.getElementById("transLang").href = url;
//    openInChildWindowWithMenuBar(url, "galeChildWindow");
	return false;
}

function attachMarklistToolsEvent(){
    attachPopup("marklist_Print", openGaleChildWindow);
    attachPopup("marklist_Email", openGaleChildWindow);
    attachPopup("marklist_Citation", openGaleChildWindow);
    attachPopup("marklist_Download", openGaleChildWindow);
}

addWindowLoadEvent(attachMarklistPageEvents);
addWindowLoadEvent(attachresultPageEvents);
addWindowLoadEvent(attachDocumentToolEvent);
addWindowLoadEvent(attachMarklistDownloadEvent);
addWindowLoadEvent(attachMarklistToolsEvent);
