/*
As of August 18, 2009 this file is replacing the scitation.aqs.js resource and better named for it's purpose a global utility file.
Author: Chris West, OSD 
*/

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function AQSlistener(autName,aqsDiv,domainname, searchcoden) {
    $(".aqs").hide();
    var autUrl = autName.replace(new RegExp(" ", "g"), "+");
    //autUrl = escape(autUrl);    
    //alert(autUrl);
    var thisJournal = domainname + "/search?sortby=relevance&q="+autUrl+"&searchzone=2&searchtype=searchin&faceted=faceted&key="+searchcoden+"&possible1="+autUrl+"&possible1zone=author&alias="+domainname;
    var scitation = "http://scitation.aip.org/vsearch/servlet/VerityServlet?KEY=FREESR&possible1="+autUrl+"&possible1zone=author&maxdisp=25&smode=strresults";
    var spin ="http://scitation.aip.org/vsearch/servlet/VerityServlet?KEY=SPIN&possible1="+autUrl+"&possible1zone=author&maxdisp=25&smode=strresults&aqs=true";
    var scitopia ="http://www.scitopia.org/scitopia/?expression=" + autUrl;
    var scholar = "http://scholar.google.com/scholar?q="+ autUrl;
    var pubmed = "http://www.ncbi.nlm.nih.gov/sites/entrez?dopt=DocSum&cmd=Search&db=pubmed&term=" + autUrl;
    var scholarUniverse = "http://www.scholaruniverse.com/profiles/people?q=" + autUrl;
    var natureNetwork = "http://network.nature.com/search?q=" + autUrl;    

    var aqsDOM = "<div id=\"toolpoint\"><img src=\"/img/aqs/tooltip-uparrow.gif\"></div>" + 
        "<div class=\"close looklikelink\" onclick=\"$('.aqs:visible').hide('fast');\">close</div>" + 
        "<div class=\"aqshead\">Find articles by <strong>"+ autName +"</strong></div>" +
        "<div class=\"aqsleft\"><a href=\"" + thisJournal + "\"><img src=\"/img/aqs/author_jr.gif\" style=\"height:15px\" alt =\"\" />This Journal</a></div>" +
        "<div class=\"aqsleft\"><a href=\"" + scitation + "\"><img src=\"/img/aqs/author_sc.gif\" style=\"height:15px\" alt =\"\" />Scitation</a></div>" +
        "<div class=\"aqsleft\"><a href=\"" + spin + "\"><img src=\"/img/aqs/author_sp.gif\" style=\"height:15px\" alt =\"\" />SPIN</a></div>" +
        "<div class=\"aqsleft\"><a href=\"" + scitopia + "\"><img src=\"/img/aqs/author_st.gif\" style=\"height:15px\" alt =\"\" />Scitopia</a></div>" +
        "<div class=\"aqsleft\"><a href=\"" + scholar  + "\"><img src=\"/img/aqs/author_gs.gif\" style=\"height:15px\" alt =\"\" />Google Scholar</a></div>" +  
        "<div class=\"aqsleft\"><a href=\"" + pubmed + "\"><img src=\"/img/aqs/author_pm.gif\" style=\"height:15px\" alt =\"\" />PubMed</a></div>";
        /* "<div class=\"aqshead\">Access <strong>"+ autName +"</strong> public profile at:</div>" +
        "<div class=\"aqsleft\"><a href=\"" + scholarUniverse + "\"><img src=\"/img/aqs/author_su.gif\" style=\"height:15px\" alt =\"\" /> Scholar Universe</a></div>" +
        "<div class=\"aqsleft\"><a href=\"" + natureNetwork + "\"><img src=\"/img/aqs/author_nn.gif\" style=\"height:15px\" alt =\"\" /> Nature Network</a></div>"+
        "<p style=\"padding-top:8px; \">The above services may require an account to view full or partial author profiles.</p>"; */

    $(aqsDiv).html(aqsDOM);
    $(aqsDiv).show('fast'); 

    return false;
}

jQuery.fn.fadeToggle = function(speed, easing, callback) {
   return this.animate({opacity: 'toggle'}, speed, easing, callback);
}; 
       
// ********************************************************** start
//  handles the quick search functionality
function launchsearch(searchProgram)
{

    var codenkey = $("#key").val();
    //alert(searchtype + "|" + codenkey);
    // document.getElementById("searchpanelform")
    if (searchtype=="searchin")
    {
        var squeryval = $("#searchfield").val();
        var searchzoneval = $("#searchzone").val();
        if(squeryval!="")
        {
            
            if(searchzoneval == "4") // Scitation search
            {
                var scicoden = "FREESR";
                if (searchProgram == "verity") { scicoden = codenkey; }
                var urltogo = "http://scitation.aip.org/vsearch/servlet/VerityServlet?KEY="+scicoden+"&possible1="+squeryval+"&smode=results&possible1zone=article&maxdisp=10";
                window.open(urltogo, "_self");
                return false;
            }
            else if(searchzoneval == "5") // SPIN search
            {
                var urltogo = "http://scitation.aip.org/vsearch/servlet/VerityServlet?KEY=SPIN&possible1="+squeryval+"&smode=results&possible1zone=article&maxdisp=10";
                window.open(urltogo, "_self");
                return false;
            }
            else if(searchzoneval == "6") // Scitopia
            {
                var urltogo = "http://www.scitopia.org/scitopia/?expression="+squeryval;
                window.open(urltogo, "_self");
                return false;
            }
            else if(searchzoneval == "7") // PubMed
            {
                var urltogo = "http://www.ncbi.nlm.nih.gov/sites/entrez?term="+squeryval;
                window.open(urltogo, "_self");
                return false;
            }
            else if(searchzoneval == "8") // Google SCHOLAR
            {
                 var urltogo = "http://scholar.google.com/scholar?q="+squeryval;
                 window.open(urltogo, "_self");
                 return false;
            }
            else if(searchzoneval == "9") // Bing
            {
                 var urltogo = "http://www.bing.com/search?q="+squeryval+"&go=&form=QBLH&scope=web&qs=n";
                 window.open(urltogo, "_self");
                 return false;
            } else {
                $("#q").attr("value", squeryval);
                $("#searchpanelform").attr("action", $("#searchpanelform").attr("action") + "?q=" + squeryval);
                $("#searchtype").attr("value", searchtype);
                $("#searchpanelform").submit();
            }
        } else { 
            $("#AIP_SearchPanel_Error").html("You need to enter a query value");
            if ($("#AIP_SearchPanel_Error").is(':hidden'))
                $("#AIP_SearchPanel_Error").fadeToggle();
                
        }
    }
    /* Searching by Volume and Page parameters ----------------- */
    if (searchtype=="volpage")
    { 
        var volval = $("#vol").val();
        var pgval = $("#pg").val();
        if(volval!="" && pgval!="")
        {
            var posturl = "http://link.aip.org/link/?" + codenkey + "/"+volval+"/"+pgval;
            window.open(posturl,"_blank");
        } else {
            $("#AIP_SearchPanel_Error").html("You need to enter a value for Volume and Page");
            if ($("#AIP_SearchPanel_Error").is(':hidden'))
                $("#AIP_SearchPanel_Error").fadeToggle();
        }
    }
    /* Searching by DOI parameters ----------------------------- */
    if (searchtype=="doi")
    {
        var doival = $("#doi").val();
        if(doival!="")
        {
            var posturl = "http://link.aip.org/link/doi/" + doival;
            //alert(posturl);
            window.open(posturl,"_blank");
        } else {
            $("#AIP_SearchPanel_Error").html("You need to enter a DOI value");
            if ($("#AIP_SearchPanel_Error").is(':hidden'))
                $("#AIP_SearchPanel_Error").fadeToggle();
        }
    }
    /* Searching by citation parameters (inprogress) ----------------------------- */
    if (searchtype=="citation")
    {
        var citval = $("#cit").val();
        var alias = $("#alias").val();
        if(citval!="")
        {
            $.get("/FEWebservices/CitationResolverWebservice", { citation:citval }, 
                   function(data){
                        if (data.trim() != "" && data.trim() != "null")
                        {
                            window.open(data,"_self");
                        }
                        else
                        {
                            $("#AIP_SearchPanel_Error").html("Sorry, the citation could not be resolved.");
                            if ($("#AIP_SearchPanel_Error").is(':hidden'))
                                $("#AIP_SearchPanel_Error").fadeToggle();
                            /* window.open(alias+"/search?q=AdvancedSearch&error=nocitation","_self"); */
                        }
            } );            
        } else {
            $("#AIP_SearchPanel_Error").html("You need to enter a valid Article Citation");
            if ($("#AIP_SearchPanel_Error").is(':hidden'))
                $("#AIP_SearchPanel_Error").fadeToggle();
        }
    }        
    return false;
}

function switchsearchtab(tabid, searchdivid) {
    if (searchdivid != searchtype)
    {
        searchtype = searchdivid;
        if ($("#AIP_SearchPanel_Error").is(':visible'))
           closeSearchError();
        $(".searchtab").removeClass("selectedtab");
        $(tabid).addClass("selectedtab");
        $(".search_content_pane").hide();
        $("#search_"+searchdivid).fadeToggle();
    }
    return false; 
}
                    
// ********************************************************** end

function isblank(s)
{
    for(var i = 0; i < s.length; i++) 
    {
        var c = s.charAt(i);
        if ((c != ' ') && (c != '\n') && (c != '\t'))
            return false;
    }
    return true;
}

function closeSearchError() { 
    if ($("#AIP_SearchPanel_Error").is(':visible'))
        $("#AIP_SearchPanel_Error").fadeToggle(); 
}
function closeADVSearchError() { $("#ADV_SearchPanel_Error").fadeToggle(); }

function highlightterm(mysearchterm,divid, color)
{
    /* only if the term is >= 5 characters will it highlight */
	var browser=navigator.appName;
    if (mysearchterm.length >= 5 && browser.indexOf("Explorer") < 0)
    {
        var htmlinobj = $(divid).html();
        var varName = new RegExp(mysearchterm, "gi");
        if (color=="") color="yellow";
        for (i = 0; i < $(divid).length; i++)
        {
            var htmlinobj = $(divid+":nth("+i+")").html(); 
            //alert(varName.exec(htmlinobj))
            ie = (document.all) ? true : false;
            if (ie) { htmlinobj = htmlinobj.replace(varName,"<span style=\"background-color:"+color+";\">"+mysearchterm+"</span>"); }
            else {    htmlinobj = htmlinobj.replace(varName,"<span style=\"background-color:"+color+";\">"+varName.exec(htmlinobj)+"</span>"); }
            $(divid+":nth("+i+")").html(htmlinobj);
        }
    }
}

function countSelectedByDOM(testdome) {
    var countChecked = 0;
    var allcheckboxes = $("."+testdome+" input:checked");
    allcheckboxes.each(function() {
        countChecked++; 
    });
    return countChecked;
}


/* **********************************************************************************
    Function that manages downloading or viewing a citation from
    selected articles. renders a form based on selection passed though.
*********************************************************************************** */

function constructDLbox(action, domwrapper) {
    $(".boxy-wrapper").html("");
    var allDialogs = [];
    options = $.extend({title: action + " Selected Articles"},{modal:true}, {});
    var domBody = "";

    if (countSelectedByDOM(domwrapper) == 0)
    {
        domBody = "<p>Please Select at least one article</p>";
    }
    else if (countSelectedByDOM(domwrapper) > 20)
    {
        domBody = "<p>You cannot select more then 20 articles.</p>";
    }
    else 
    {
        domBody =   "<div style=\"width:500px;\"><div style=\"width:49%; float:left;\">" +  
                    "<form name=\"myformb\" action=\"http://scitation.aip.org/getabs/servlet/GetCitation\" method=\"get\" onsubmit=\"return downloadarts_action();\">"+
                    "<input type=\"hidden\" name=\"source\" value=\"scitation\" />" +
                    "<input type=\"hidden\" name=\"downloadcitation\" value=\" Go \" />" + 
                    "<input type=\"hidden\" name=\"source\" value=\"scitation\" />";
                    $("."+domwrapper+" input:checked").each(function() {
                        domBody += "<input type=\"hidden\" name=\"SelectCheck\" value=\"" + $(this).val() +"\" />";
                    });
        domBody +=  "<select name=\"fn\" id=\"openselect\" class=\"art-opt-select\">" + 
                        "<option value=\"open_bibtex2\">BibTeX</option>" + 
                        "<option value=\"open_endnote\">EndNote &reg; (generic)</option>" + 
                        "<option value=\"open_isi\">EndNote &reg; (RIS)</option>" + 
                        "<option value=\"open_medline\">Medline</option>" + 
                        "<option value=\"open_aip\">Plain Text</option>" + 
                        "<option value=\"open_refworks\">RefWorks</option>" + 
                        "<option value=\"mysci\">myScitation</option>" + 
                    "</select>" + 
                    "<input type=\"submit\" name=\"Submit\" value=\"Download\" />" + 
                    "</form></div>";
        domBody +=  "<div style=\"width:49%; float:right;\">" +  
                    "<form id=\"myformc\" name=\"myformc\" action=\"http://scitation.aip.org/getabs/servlet/GetCitation\" method=\"get\" onsubmit=\"return viewarts_action('"+domwrapper+"');\">"+
                    "<input type=\"hidden\" name=\"source\" value=\"scitation\" />" +
                    "<input type=\"hidden\" name=\"downloadcitation\" value=\" Go \" />" + 
                    "<input type=\"hidden\" name=\"source\" value=\"scitation\" />";
                    
                    $("."+domwrapper+" input:checked").each(function() {
                        domBody += "<input type=\"hidden\" name=\"SelectCheck\" value=\"" + $(this).val() +"\" />";
                    });
                                    
        domBody +=  "<select name=\"fn\" id=\"viewselect\" class=\"art-opt-select\">" + 
                        "<option value=\"view_coins\">COinS</option>" + 
                        "<option value=\"view_bibtex2\">BibTeX</option>" + 
                        "<option value=\"view_endnote\">EndNote &reg; (generic)</option>" + 
                        "<option value=\"view_isi\">EndNote &reg; (RIS)</option>" + 
                        "<option value=\"view_medline\">Medline</option>" + 
                        "<option value=\"view_aip\">Plain Text</option>" + 
                        "<option value=\"view_refworks\">RefWorks</option>" + 
                    "</select>" + 
                    "<input type=\"submit\" name=\"Submit\" value=\"View\" />" + 
                    "</form></div></div>"; 
    }

    var dialog = new Boxy(domBody, options);
    allDialogs.push(dialog);
    return false;
}


function downloadarts_action()
{
    // IE detection
    if(navigator.userAgent.toLowerCase().indexOf("msie") != -1) { isIE = true; } else { isIE = false; }
    var bname = navigator.appVersion;
    if (bname.indexOf("Safari")<0)
      document.myformb.target='_blank'
   
    if(document.myformb.fn.value == "mysci")
        document.myformb.action = 'http://scitation.aip.org/myscitation/addToMyArticles-submit.do';
    
    document.myformb.submit();
    return false;
}

function viewarts_action(domwrapper)
{
    // IE detection
    document.myformc.action = 'http://scitation.aip.org/getabs/servlet/GetCitation';
    if(navigator.userAgent.toLowerCase().indexOf("msie") != -1) { isIE = true; } else { isIE = false; }
    var bname = navigator.appVersion;
    if (bname.indexOf("Safari")<0)
        document.myformc.target='_blank'
    
    if($("#viewselect").val() == "view_coins")
    {
        var cvipsappend = "";
        $("."+domwrapper+" input:checked").each(function() {
            cvipsappend += "&SelectCheck=" + $(this).val();
        });
        //alert(cvipsappend + "|" + domwrapper);
        var directurl = "?view=COinS" + cvipsappend;
        if (domwrapper == "searchResultsTable" || domwrapper == "articlecititngslist" || domwrapper == "articlereferenceslist")
        {
        	//directurl = "http://scitation.aip.org/journals/help_system/getabs/actions/viewCOinS.jsp?view=COinS" + cvipsappend;
            directurl = coinsresolver+"?view=COinS" + cvipsappend;
        }
        
        myArt=window.open(directurl,'COinS','height=600,width=700,scrollbars=yes,resizable=yes,top=30,left=150');
        myArt.focus();
        return false;
    } 
    document.myformc.submit();
    return false;
}


function loadPublisherInfo(society)
{
$(".publisherinfo").html("Would be info all about " + society);
return false;
}

/* **********************************************************************************
    Function created to add selected articles to MyArticles
*********************************************************************************** */

function addArticle(domCollect, appendDOM, formid) {
    $(".boxy-wrapper").html("");
    var allDialogs = [];
    options = $.extend({title: "Selected Articles", modal:true});
    var domBody = "";
    var numselected = 0;
    if(domCollect == null)
    {
    	numselected = countSelected();
    	domCollect = "selectedrow";
    }
    else
    {
    	numselected = countSelectedByDOM(domCollect);
    }
    if(appendDOM == null)
    	appendDOM = "adddomtomysci";
    
    if (numselected == 0)
    {
        domBody = "<p>Please Select at least one article</p>";
        var dialog = new Boxy(domBody, options);
        allDialogs.push(dialog);
         return false;
    }
    else if (numselected > 20)
    {
        domBody = "<p>You cannot select more then 20 articles.</p>";
        var dialog = new Boxy(domBody, options);
        allDialogs.push(dialog);
        return false;
    }
    else 
    {
    // automaticlly submit form
    //selection needs to be more specific   
     var appendform = "";
     $("#"+appendDOM).html("");
     $("."+domCollect+" input:checked").each(function() {
     appendform += "<input type=\"hidden\" name=\"SelectCheck\" value=\"" + $(this).val() +"\" />";
         });
         
        domBody += "<input type=\"submit\" value=\"mysci\"/>";
    
    $("#"+appendDOM).append(appendform);
    //alert(formid + "|" + appendform);
    //document[formid].submit();
    if (formid != null)
    	$("#"+formid).submit();
    else
    	document.addToMySci.submit();
    }
}

function launchPopUp(uri)
{
    javascript:window.open(uri);
    return false; 
}

/* JSON traversing function for accessing the Related Articles webservice. */
/* ----------------------------------------------------------------------- */
function launchRelatedArticlesListing(count,artid,bodydom,countdom)
{
    //$(bodydom).html("Loading...");
    $(bodydom).show();
    var domBuild = "<ul>";
    var relatedserviceurl = "/FEWebservices/RelatedArticlesWebservice?sortby=newestdate&relartcvips="+artid+"&recordspage="+count;
    //alert(relatedserviceurl);
    $.getJSON(relatedserviceurl, function(data) {
    	  if (data != null)
    	  {
	          var countit = 1;
	          var articlecount = data.relatedarticles.count;
	          if (articlecount > 1)
	          {
	              $.each(data.relatedarticles.articles, function(i,article){
	                domBuild = domBuild + "<li><a onclick=\"$(this).tooltip();\" title=\""+article.abstract+"\" href=\""+article.link+"\">" + article.title + "</a><br/>"+article.citation+"</li>\n";
	                countit++;
	                if (countit > count) { return false; }
	              })
	              $(bodydom).html(domBuild + "</ul>");
	              $(countdom).append("(" + articlecount + ")");
	              if (parseInt(articlecount) <= count)
	                  $(".relatedextras").hide();
	          } else if (articlecount == 1){
	              var article = data.relatedarticles.articles;
	              domBuild = domBuild + "<li><a onclick=\"$(this).tooltip();\" title=\""+article.abstract+"\" href=\""+article.link+"\">" + article.title + "</a><br/>"+article.citation+"</li>\n";
	              $(bodydom).html(domBuild + "</ul>");
	              $(countdom).append("(" + articlecount + ")");
	              if (parseInt(articlecount) <= count)
	                  $(".relatedextras").hide();
	          } else {  
	              $(".relatedarticles").hide(); 
	              $("#fulltext-tab").hide();
	          }
	    } else {        
	        $(".relatedarticles").hide(); 
	        $("#fulltext-tab").hide();
	    }
    });
    return false;
}

/* Creates a GoogleMap pop-up for A given address						   */
/* ----------------------------------------------------------------------- */
function createGeoMapPlot(institutionname, leftpos, toppos)
{
	//institutionname = "23 Oleeta Rd., Mt. Sinai, NY 11766";
	geocoder.getLocations(institutionname, addAddressToMap);
	if ($("#mapthiswindow").is(':hidden'))
		$("#mapthiswindow").css({'left': leftpos-5,'top':toppos+10});
	else
		$("#mapthiswindow").animate( { 'left': leftpos-5,'top':toppos+10 }, 250);
	$("#mapthiswindow-title").html(institutionname);
	if ($("#mapthiswindow").is(':hidden'))
		$("#mapthiswindow").show();
}
 
function initializePopupMapEngine(mapid)
{
	if (GBrowserIsCompatible()) 
	{
		pmap = new GMap2(document.getElementById(mapid));
		geocoder = new GClientGeocoder();
		var customUI = pmap.getDefaultUI();
		customUI.controls.scalecontrol = true;
		InstIcon = new GIcon();
		InstIcon.image = "http://scitation.aip.org/journals/help_system/getabs/plotimage.png";
		InstIcon.iconSize = new GSize(50, 50);	 
		InstIcon.iconAnchor = new GPoint(25, 50);
		pmap.setUI(customUI);		
		pmap.setCenter(new GLatLng(0, 0), 9);
	}
	
	$("#mapthiswindow").hide();
}

function addAddressToMap(response) {
    //alert(response.Placemark);
    if(response.Placemark != null)
    {
    	$("#mapthiscanvas").fadeTo( "slow", "1.0");
    	place = response.Placemark[0];
	    point = new GLatLng(place.Point.coordinates[1],
	                        place.Point.coordinates[0]);

	    marker = new GMarker(point, { icon:InstIcon });
  		pmap.panTo(point);
	    pmap.addOverlay(marker);  
    } else {
    	$("#mapthiscanvas").fadeTo( "slow", "0.4");
    	$("#mapthiswindow-title").prepend("<span style=\"color:red; font-weigth:bold\">Could not map: </span>");
    }
    
    
}

function LaunchModalWindow(clickobj)
{
    var allDialogs = [];
    options = $.extend({title: $(clickobj).attr("title")},{modal:true}, {});
    var dialog = new Boxy(domBody, options);
    allDialogs.push(dialog);
    return false;
}

function LaunchArticlePrevNext(prevnextdom, x, y)
{
	var winWidth = $(window).width(); 
	var popupWidth = $("#prevnext_floater").width(); 
	if(x+popupWidth > winWidth) x = winWidth - popupWidth - 25; 
	var prevnextcontent = $("#"+prevnextdom).html();
    $("#prevnext_floater").html(prevnextcontent);
    $("#prevnext_floater").css({'left': x,'top':y+15});
    $("#prevnext_floater").animate({"opacity":"1.0"},200);
    $("#prevnext_floater").show();
	return false; 
}

/* JSON traversing function for accessing the Cloud webservice. */
/* ----------------------------------------------------------------------- */
function launchKeywordsCloud(bodydom,key,alias,displaycount,threshold)
{
    $(bodydom).show();
    if(key == null || key == "")
    	key = "";
    else
    	key = "&key="+key;
    var domBuild = "";
	var domBuild1 = "";
    if(!threshold)
    	threshold = 150;
    var relatedserviceurl = "/FEWebservices/FacetsWebservice?possible1="+key+"&possible1zone=article&facettype=meta-pacs-text&facettype=metakey&facetorder=alpha&facetcount="+displaycount+"&submit=facet";
    //alert(relatedserviceurl);
    $.getJSON(relatedserviceurl, function(data) {
    	  if (data != null)
    	  {  
		      //alert("hello");
		      var articlecount = parseInt(data.facetCollection.journalcount);
	          var teststring;
	          var outputtext;
	          if (articlecount > 1)
	          {
		          var countHigh = 0;
				  var metapacs = "meta-pacs-text";
	              $.each(data.facetCollection[metapacs], function(i,metaterm){
	        		  if (parseInt(metaterm.count) > countHigh )
	        			  countHigh = parseInt(metaterm.count);	
		          })
	              $.each(data.facetCollection[metapacs], function(i,facet){
				  	
	            	var mysize = threshold*(1.0+((threshold/100)*parseInt(facet.count)-countHigh/2)/countHigh);
	                domBuild = domBuild + "<a href=\""+alias+"/search?q="+facet.term+"&searchtype=searchin"+key+"&faceted=faceted&alias="+alias+"&searchzone=2\"><span style=\"font-size:"+mysize+"%\">" + facet.term + "</span></a>&nbsp;&nbsp;";                
	              })
				  
				  $.each(data.facetCollection.metakey, function(i,metaterm){
	        		  if (parseInt(metaterm.count) > countHigh )
	        			  countHigh = parseInt(metaterm.count);	
		          })
	              $.each(data.facetCollection.metakey, function(i,facet){
				  	
	            	var mysize = threshold*(1.0+((threshold/100)*parseInt(facet.count)-countHigh/2)/countHigh);
	                domBuild1 = domBuild1 + "<a href=\""+alias+"/search?q="+facet.term+"&searchtype=searchin"+key+"&faceted=faceted&alias="+alias+"&searchzone=2\"><span style=\"font-size:"+mysize+"%\">" + facet.term + "</span></a>&nbsp;&nbsp;";                
	              })
	              $("#PACScloud").html(domBuild);	
				  $("#Keywordscloud").html(domBuild1);
	          }
	    } else {          
	        
	    }
    });
    return false;
}

function LaunchAJAXContentPreview(url, x, y)
{
	var winWidth = $(window).width(); 
	var popupWidth = $("#singlePreview").width(); 
	if(x+popupWidth > winWidth) x = winWidth - popupWidth - 50; 
	$("#singlePreview").css({'left': x,'top':y+5});
	$("#singlePreview").show();
	$("#singlePreview .previewbody").html("Loading...");
	$("#singlePreview .previewbody").load(url);
	return false;
}
function CloseAllContentBrowsers()
{
	$(".browsecontent").hide();
	$(".institution_name").css("background-color","transparent");
	$("#singlePreview").hide();
	$(".dropmenusection").hide();
	return false;
}

function loadTopicBrowser(domplacement, key) 
{  
	    if(key == null || key == "")
	        key = "";
	    else
	        key = "&key="+key; 
	    var domBuild = "";            
	    var sectionalurl = "/FEWebservices/FacetsWebservice?possible1="+key+"&possible1zone=article&facettype=flatsectionheader&facetorder=alpha&facetcount=25&submit=facet";
	    //alert(sectionalurl);
	    $.getJSON(sectionalurl, function(data) 
	    {
	          if (data != null)
	          {
	        	  var ticktock = 0;
                  $.each(data.facetCollection.flatsectionheader, function(i,facet){
                    domBuild = domBuild + "<div class=\"topic_wrapper\"><p class=\"looklikelink topic_section_link\" onclick=\"$('#topicdetail"+ticktock+"').toggle('fast'); renderFacetList('"+facet.term+"','#topicdetail"+ticktock+"', '"+key+"')\"><img src=\"/img/icons/add.png\" alt=\"topic bullet\" /> " +facet.term + " ("+facet.count+")</p>";
                    domBuild = domBuild + "<div id=\"topicdetail"+ticktock+"\" class=\"topicsectional\"><span class=\"loaded\" style=\"display:none;\"></span><div class=\"leftblock\">loading...</div><div class=\"rightblock\"></div></div></div>";
                    ticktock++;
                  })			                
                  $(domplacement).html(domBuild);
            }
       });
}

function renderFacetList(facetterm, domplacement, key) 
{ 
	if ($(domplacement + " .loaded").html() == "")
	{
		var sectionalurl = "/FEWebservices/FacetsWebservice?possible1="+key+"&possible1zone=article&facettype=exactauthor&facettype=metakey&facetorder=count&facetcount=10&flatsectionheader="+facetterm+"&submit=facet";
	    //alert(sectionalurl);
	    var ldomBuild = "";
	    var rdomBuild = "";
	    $.getJSON(sectionalurl, function(data) 
	    {
	          if (data != null)
	          {  
	              $.each(data.facetCollection.exactauthor, function(i,facet){
	            	var authorlink = "?q="+facet.term+"&possible1="+facet.term+""+key+"&possible1zone=author&alias="+$('#alias').val()+"&flatsectionheader="+facetterm.replace(/ /g,"+")+"&faceted=faceted&searchzone=2";
	                ldomBuild = ldomBuild + "<a href=\""+authorlink+"\">"+facet.term+" ("+facet.count+")</a>";
	              })			                
	              $.each(data.facetCollection.metakey, function(i,facet){
	            	  var kwlink = "?q="+facet.term+"&possible1="+facet.term+""+key+"&possible1zone=keywords&alias="+$('#alias').val()+"&flatsectionheader="+facetterm.replace(/ /g,"+")+"&faceted=faceted&searchzone=2";
	            	  rdomBuild = rdomBuild + "<a href=\""+kwlink+"\">"+facet.term+" ("+facet.count+")</a>";
	              })
	              $(domplacement + " .leftblock").html(ldomBuild);
	              $(domplacement + " .rightblock").html(rdomBuild);
	        }
	          
	        $(domplacement + " .loaded").html("---");
	   });
	 }
}