
function update(id, componentId, link, hasAccess) {
  ctr = id.substring(14,id.length);  
  document.getElementById("tab" + (ctr * 4 + 1)).style.display="";
  PreviewTabsContent.getAbstractText(componentId, function(data) {
		if (data == '') {
			dwr.util.setValue("preview" + (ctr * 4 + 1), "No abstract available.");
	    } else if (data == '**<NOCONTENT>**') {
			dwr.util.setValue("preview" + (ctr * 4 + 1), "The system was unable to generate a preview for this abstract. Kindly visit the link above to check its contents.");
	    } else {	    	
	    	dwr.util.setValue("preview" + (ctr * 4 + 1), data, { escapeHtml:false });			      
	    }
  });
  
  if (hasAccess) {
	  PreviewTabsContent.getReferences(componentId, function(data) {
	  	if (data != '' && data != '**<NOCONTENT>**') {
		    document.getElementById("tab" + (ctr * 4 + 4)).style.display="";
    		dwr.util.setValue("preview" + (ctr * 4 + 4), data, { escapeHtml:false });    	     	
    	}
	  }); 
	  
	 PreviewTabsContent.getStructure(componentId, link, function(data) {
	  	if (data != '' && data != '**<NOCONTENT>**') {
	     	document.getElementById("tab" + (ctr * 4 + 2)).style.display="";
	    	dwr.util.setValue("preview" + (ctr * 4 + 2), data, { escapeHtml:false });
	    }
	  });
  
     PreviewTabsContent.getFiguresAndTablesText(componentId, link, function(data) {
		if (data != '' && data != '**<NOCONTENT>**') {
		    document.getElementById("tab" + (ctr * 4 + 3)).style.display="";
    		dwr.util.setValue("preview" + (ctr * 4 + 3), data, { escapeHtml:false });    	
    	}
	  });
	  
	  document.getElementById(id + 'Cached').value = 'true';
   }
	  
}

function togglePreview(id, componentId, hasAccess) { 
	var url = 'http://journals.cambridge.org/images/';
	var img = document.getElementById(id + 'Arrow');
	var displayed = document.getElementById(id).style.display.indexOf('none') > -1;

	link = document.getElementById(id + 'Link').value;
	cached = document.getElementById(id + 'Cached').value;

	if ( displayed ) { 
		if (cached == 'false') {
			update(id, componentId, link, hasAccess);	
		}
		
		img.src = url + 'icon_minus.jpg';
	} else { 	
		img.src = url + 'icon_plus.jpg';
	}		
	
	Effect.toggle(id,'SLIDE'); 
	
	return false;
}