changeset 48:5d5628cb834f draft

Uploaded
author mzeidler
date Thu, 26 Sep 2013 06:46:33 -0400
parents 97eab933ae68
children 7a3a6d023ef1
files jqBarGraph.2.1.min.js
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/jqBarGraph.2.1.min.js	Wed Sep 25 10:18:19 2013 -0400
+++ b/jqBarGraph.2.1.min.js	Thu Sep 26 06:46:33 2013 -0400
@@ -1,1 +1,1 @@
-(function(e){function r(e,t){sum_a=0;for(var n in e){if(e[n]instanceof Array){for(var r in e[n]){sum_a+=e[n][r][0]}}}sum_b=0;for(var n in t){if(t[n]instanceof Array){for(var r in t[n]){sum_b+=t[n][r][0]}}}if(sum_a<sum_b)return-1;if(sum_a>sum_b)return 1;return 0}function s(e,t){sum_a=0;for(var n in e){if(e[n]instanceof Array){for(var r in e[n]){sum_a+=e[n][r][0]}}}sum_b=0;for(var n in t){if(t[n]instanceof Array){for(var r in t[n]){sum_b+=t[n][r][0]}}}if(sum_a<sum_b)return 1;if(sum_a>sum_b)return-1;return 0}function u(e,t){for(var n in e){last=e[n].pop();for(var r in e[n]){e[n][r].sort(t)}e[n].push(last)}}function a(e,t){if(e[0]<t[0])return-1;if(e[0]>t[0])return 1;return 0}function f(e,t){if(e[0]<t[0])return 1;if(e[0]>t[0])return-1;return 0}var t=new Array;var n=new Array;e.fn.jqBarGraph=e.fn.jqbargraph=function(n){init=function(r){t[r.id]=e.extend({},e.fn.jqBarGraph.defaults,n);e(r).css({width:t[r.id].width,height:t[r.id].height,position:"relative","text-align":"center"});doGraph(r);e("a").css({color:"black"})};sum=function(e){total=0;for(val in e){total+=e[val][0]}return total.toFixed(2)};max=function(e){maxvalue=0;for(var t in e){value=e[t][0];if(value instanceof Array)value=sum(value);if(parseFloat(value)>parseFloat(maxvalue))maxvalue=value}return maxvalue};maxMulti=function(e){maxvalue=0;maxvalue2=0;for(var t in e){ar2=e[t][0];for(var n in ar2){if(ar2[n][0]>maxvalue2)maxvalue2=ar2[n][0]}if(maxvalue2>maxvalue)maxvalue=maxvalue2}return maxvalue};doGraph=function(n){arr=t[n.id];data=arr.data;if(data==undefined){e(n).html("There is not enought data for graph");return}if(arr.sort=="asc")data.sort(r);if(arr.sort=="desc")data.sort(s);if(arr.sortBar=="asc")u(data,a);if(arr.sortBar=="desc")u(data,f);legend="";prefix=arr.prefix;postfix=arr.postfix;space=arr.barSpace;legendWidth=arr.legend?arr.legendWidth:0;fieldWidth=(e(n).width()-legendWidth)/data.length;totalHeight=e(n).height();var l=new Array;max=max(data);color_map={};color_map["pathogen"]=arr.colors[0];color_map["ambiguous"]=arr.colors[1];color_map["human"]=arr.colors[2];val_index=0;for(var c in data){valueData=data[c][0];if(valueData instanceof Array)value=sum(valueData);else value=valueData;lbl=data[c][1];unique=c+n.id;divid=""+n.id;if(arr.type=="multi")color="none";if(lbl==undefined)lbl=arr.lbl;margin_top=14/data.length;out="<div class='graphField"+n.id+"' id='graphField"+unique+"' style='position: absolute'>";out+="<div class='graphValue"+n.id+"' id='graphValue"+unique+"'>"+prefix+value+postfix+"</div>";out+="<div class='graphBar"+n.id+"' id='graphFieldBar"+unique+"' style='background-color:#fff;position: relative; overflow: hidden;'></div>";out+="<a class='graphLabelLink' href=#files"+n.id+" onclick=fillDiv('"+n.id+"','"+valueData[0][3]+"_"+lbl+"')><div class='graphLabel"+n.id+"' id='graphLabel"+unique+"'style='margin-top:"+margin_top+"px;'>"+lbl+"</div></a>";out+="</div>";e(n).append(out);e(".graphLabel"+n.id).css({"-webkit-transform":"rotate(30deg)","-moz-transform":"rotate(30deg)","-o-transform":"rotate(30deg)","-ms-transform":"rotate(30deg)",transform:"rotate(30deg)",height:"100"});e("a.graphLabel").css({"text-decoration":"none",color:"black"});totalHeightBar=totalHeight-e(".graphLabel"+n.id).height()-e(".graphValue"+n.id).height()-margin_top;fieldHeight=totalHeightBar*value/max;e("#graphField"+unique).css({left:fieldWidth*c,width:fieldWidth-space,"margin-left":space});if(valueData instanceof Array){if(arr.type=="multi"){maxe=maxMulti(data);totalHeightBar=fieldHeight=totalHeight-e(".graphLabel"+n.id).height()-margin_top;e(".graphValue"+n.id).remove()}else{maxe=max}for(i in valueData){heig=totalHeightBar*valueData[i][val_index]/maxe;if(navigator.userAgent.match("Safari")&&!navigator.userAgent.match("Chrom")){heig=heig+arr.borderSize/1.85}wid=parseInt((fieldWidth-space)/valueData.length);sv="";fs=0;if(arr.showValues){sv=arr.prefix+valueData[i][0]+arr.postfix;fs=12}o="<a class='subBarLink' href=#files"+n.id+" onclick=fillDiv('"+n.id+"','"+valueData[i][3]+"_"+lbl+"','"+valueData[i][5]+"')><div class='subBars"+n.id+"' style=' box-sizing:border-box; -moz-box-sizing:border-box; -ms-box-sizing:border-box; -webkit-box-sizing:border-box; height:"+heig+"px;  border-top:"+arr.borderSize+"px solid; border-color: "+arr.showValuesColor+"; background-color: "+color_map[valueData[i][2]]+"; left:"+wid*i+"px; color:"+arr.showValuesColor+"; font-size:"+fs+"px' >"+sv+"</div></a>";e("#graphFieldBar"+unique).prepend(o)}}if(arr.type=="multi")e(".subBars"+n.id).css({width:wid,position:"absolute",bottom:0});if(arr.position=="bottom")e(".graphField"+n.id).css("bottom",0);if(arr.animate){e("#graphFieldBar"+unique).css({height:0});e("#graphFieldBar"+unique).animate({height:fieldHeight},arr.speed*1e3)}else{e("#graphFieldBar"+unique).css({height:fieldHeight})}}createLegend(color_map,n.id);createLinks(n.id);e(n).append("<div id='legendHolder"+unique+"'></div>");e("#legendHolder"+unique).css({width:legendWidth,"float":"right","margin-left":"100px","text-align":"left"});e("#legendHolder"+unique).append(legend);e("#legendHolder"+unique).append(links);e(".legendBar"+n.id).css({"float":"left",margin:3,"margin-left":"10",height:12,width:20,"font-size":0});e(".linkBar"+n.id).css({"margin-left":"10"});e("#sortAsc"+n.id).click(function(){if(t[n.id].sort!="asc"){t[n.id].sort="asc";e("#graphHolder"+n.id).html("");e("#graphHolder"+n.id).jqbargraph(t[n.id])}});e("#sortDesc"+n.id).click(function(){if(t[n.id].sort!="desc"){t[n.id].sort="desc";e("#graphHolder"+n.id).html("");e("#graphHolder"+n.id).jqbargraph(t[n.id])}});e("#sortBarAsc"+n.id).click(function(){if(t[n.id].sortBar!="asc"){t[n.id].sortBar="asc";e("#graphHolder"+n.id).html("");e("#graphHolder"+n.id).jqbargraph(t[n.id])}});e("#sortBarDesc"+n.id).click(function(){if(t[n.id].sortBar!="desc"){t[n.id].sortBar="desc";e("#graphHolder"+n.id).html("");e("#graphHolder"+n.id).jqbargraph(t[n.id])}});if(arr.title){e(n).wrap("<div id='graphHolder"+n.id+"'></div>");e("#graphHolder"+n.id).prepend("<a href='javascript:void(0);' class=>Reads</a> <a href='javascript:void(0);'>Basepairs</a>");e("#graphHolder"+n.id).prepend("<a href=#files"+n.id+" onclick=fillDiv('"+n.id+"')>"+arr.title+"</a>").css({width:arr.width+"px","text-align":"center"})}e("#graphHolder"+n.id).append("<div class='files"+n.id+"' id='files"+n.id+"' ></div><p/>");e(".files"+n.id).css({width:arr.width+"px","background-color":"silver",border:"2px solid gray",display:"none"});e("#graphHolder"+n.id).append("<div class='image"+n.id+"' id='image"+n.id+"' ></div>");e(".image"+n.id).css({width:arr.width+"px","background-color":"silver",border:"2px solid gray",display:"none"})};createLegend=function(e,t){legend="";for(var n in e){legend+="<div id='legend"+n+"' style='overflow: hidden; zoom: 1;'>";legend+="<div class='legendBar"+t+"' id='legendColor"+n+"' style='background-color:"+e[n]+"'></div>";legend+="<div class='legendLabel"+t+"' id='graphLabel"+unique+"'>"+n+"</div>";legend+="</div>"}};createLinks=function(e){links="<div class='linkBar"+e+"'>";links+="<div ><a href='javascript:void(0);' id='sortAsc"+e+"' >sort  asceding</a></div>";links+="<div ><a href='javascript:void(0);' id='sortDesc"+e+"'>sort  desceding</a></div>";links+="<div ><a href='javascript:void(0);' id='sortBarAsc"+e+"'>sort bars asceding</a></div>";links+="<div ><a href='javascript:void(0);' id='sortBarDesc"+e+"'>sort bars desceding</a></div>";links+="</div>"};fillDiv=function(n,r,i){arr=t[n];dict=arr.files;generateDownloadLink=function(e,t,n){out="no file";if(searchArray("region_"+t+"_"+n,dict[e][t])!=-1){out="<a href="+e+"/region_"+t+"_"+n+">download</a>"}return out};generateShowLink=function(e,t){out="no image";if(searchArray("region_"+t+"_consensus.png",dict[e][t])!=-1){out="<a href=#image"+n+" onclick=showImage('"+n+"','"+t+"','"+e+"/"+dict[e][t][3]+"')>show</a>"}return out};data=arr.data;for(var s in data){for(var o in data[s][0]){dict[data[s][0][0][3]+"_"+data[s][1]][data[s][0][o][5]].push(data[s][0][o][0],data[s][0][o][1],data[s][0][o][4])}}var u=document.getElementById("files"+n);u.innerHTML="";out="<div><b>Files for Sample "+arr.sample+"</b></div><p/>";out+="<div class='"+n+"_files' id='"+n+"_files'><table id='"+n+"table' class='"+n+"table' border=1 cellpadding=3 cellspacing=0 style=' border: 1pt solid #000000; border-Collapse: collapse'>";out+="<tr><th>family</th><th>region</th><th>#reads</th><th>#basepairs</th><th>region length</th><th>unaligned fasta</th><th>bam alignment</th><th>consensus fasta</th><th>consensus diagram</th></tr>";if(!r){for(var a in dict){for(var i in dict[a]){if(dict[a][i][5]){out+="<tr><td>"+a+"</td><td>"+i+"</td><td>"+dict[a][i][5]+"</td><td>"+dict[a][i][6]+"</td><td>"+dict[a][i][7]+"</td><td>"+generateDownloadLink(a,i,"unaligned.fa.bzip2")+"</td><td>"+generateDownloadLink(a,i,"alignment.bam")+"</td><td>"+generateDownloadLink(a,i,"consensus.fa")+"</td><td>"+generateShowLink(a,i)+" "+generateDownloadLink(a,i,"consensus.png")+"</td></tr>"}}out+="</div>"}}else{out+="<b>"+r+"</b>";if(!i){for(var i in dict[r]){if(dict[r][i][5]){out+="<tr><td>"+r+"</td><td>"+i+"</td><td>"+dict[r][i][5]+"</td><td>"+dict[r][i][6]+"</td><td>"+dict[r][i][7]+"</td><td>"+generateDownloadLink(r,i,"unaligned.fa.bzip2")+"</td><td>"+generateDownloadLink(r,i,"alignment.bam")+"</td><td>"+generateDownloadLink(r,i,"consensus.fa")+"</td><td>"+generateShowLink(r,i)+" "+generateDownloadLink(r,i,"consensus.png")+"</td></tr>"}}}else{if(dict[r][i][5]){out+="<tr><td>"+r+"</td><td>"+i+"</td><td>"+dict[r][i][5]+"</td><td>"+dict[r][i][6]+"</td><td>"+dict[r][i][7]+"</td><td>"+generateDownloadLink(r,i,"unaligned.fa.bzip2")+"</td><td>"+generateDownloadLink(r,i,"alignment.bam")+"</td><td>"+generateDownloadLink(r,i,"consensus.fa")+"</td><td>"+generateShowLink(r,i)+"     "+generateDownloadLink(r,i,"consensus.png")+"</td></tr>"}}}out+="</div>";e(u).append(out);e("a").css({color:"black"});e("table").css({border:"collapse"});e(u).append("<div class='close_files"+n+"'style='cursor:pointer;'>x</div>");e(".close_files"+n).click(function(){e(".files"+n).animate({height:"0px"},1e3,"",function(){e(".files"+n).css({display:"none"});e(".files"+n).removeClass("selected")})});e("div.close_files"+n).css({color:"white",position:"absolute",top:5,left:5,"background-color":arr.colors[1],border:"1px solid white","border-radius":"20px",height:"20px",width:"20px","text-align":"center"});e("a.close_files"+n).css({color:"white","text-decoration":"none"});e(".files"+n).css({width:"auto",display:"none"});wi=e(".files"+n).width()+15;if(!e(".files"+n).hasClass("selected")){e(".files"+n).css({height:"auto",display:"none"});hei=e(".files"+n).height();hei=parseInt(hei)+10;hei=hei>400?hei=400:hei;e(".files"+n).css({width:wi+"px",position:"relative",height:"0px",overflow:"auto","background-color":"#D0D0D0",border:"2px solid silver","border-radius":"10px",display:"block"});e(".files"+n).animate({height:hei+"px"},1e3,"",function(){e(".files"+n).addClass("selected")})}else{curr_hei=e(".files"+n).height();e(".files"+n).css({height:"auto",display:"none"});hei=e(".files"+n).height();hei=parseInt(hei)+10;hei=hei>400?hei=400:hei;e(".files"+n).css({height:curr_hei+"px",width:"915px",position:"relative",overflow:"auto","background-color":"#D0D0D0",border:"2px solid silver","border-radius":"10px",display:"block"}).animate({height:hei+"px"},1e3)}};searchArray=function(e,t){for(var n=0;n<t.length;n++){if(t[n].indexOf(e)!=-1)return n}return-1};showImage=function(t,n,r,i){var s=document.getElementById("image"+t);s.innerHTML="";this.img=new Image;this.img.src=r;hei=this.img.height;out="<img src="+r+" alt="+r+">";e(s).append(out);e(s).append("<div class='close_image"+t+"'style='cursor:pointer;'>x</div>");e(".close_image"+t).click(function(){e(".image"+t).animate({height:"0px"},1e3,"",function(){e(".image"+t).css({display:"none"});e(".image"+t).removeClass("selected")})});e("div.close_image"+t).css({color:"white",position:"absolute",bottom:5,left:5,"background-color":arr.colors[1],border:"1px solid white","border-radius":"20px",height:"20px",width:"20px","text-align":"center"});e("a.close_image"+t).css({color:"white","text-decoration":"none"});i=e(".files"+t).width();if(!e(".image"+t).hasClass("selected")){e(".image"+t).css({width:i+"px",position:"relative",height:"0px",overflow:"auto","background-color":"#D0D0D0",border:"2px solid silver","border-radius":"10px",display:"block"});e(".image"+t).animate({height:hei},1e3,"",function(){e(".image"+t).addClass("selected")})}};this.each(function(){init(this)})};e.fn.jqBarGraph.defaults={sample:"no_sample_id",barSpace:10,width:400,height:600,color:"#000000",colors:false,lbl:"",sort:false,sortBar:false,position:"bottom",prefix:"",postfix:"",animate:true,speed:3,legendWidth:150,legend:false,type:false,showValues:false,borderSize:1,showValuesColor:"#fff",title:false}})(jQuery)
\ No newline at end of file
+(function(e){function r(e,t){sum_a=0;for(var n in e){if(e[n]instanceof Array){for(var r in e[n]){sum_a+=e[n][r][0]}}}sum_b=0;for(var n in t){if(t[n]instanceof Array){for(var r in t[n]){sum_b+=t[n][r][0]}}}if(sum_a<sum_b)return-1;if(sum_a>sum_b)return 1;return 0}function s(e,t){sum_a=0;for(var n in e){if(e[n]instanceof Array){for(var r in e[n]){sum_a+=e[n][r][1]}}}sum_b=0;for(var n in t){if(t[n]instanceof Array){for(var r in t[n]){sum_b+=t[n][r][1]}}}if(sum_a<sum_b)return-1;if(sum_a>sum_b)return 1;return 0}function u(e,t){sum_a=0;for(var n in e){if(e[n]instanceof Array){for(var r in e[n]){sum_a+=e[n][r][0]}}}sum_b=0;for(var n in t){if(t[n]instanceof Array){for(var r in t[n]){sum_b+=t[n][r][0]}}}if(sum_a<sum_b)return 1;if(sum_a>sum_b)return-1;return 0}function a(e,t){sum_a=0;for(var n in e){if(e[n]instanceof Array){for(var r in e[n]){sum_a+=e[n][r][1]}}}sum_b=0;for(var n in t){if(t[n]instanceof Array){for(var r in t[n]){sum_b+=t[n][r][1]}}}if(sum_a<sum_b)return 1;if(sum_a>sum_b)return-1;return 0}function f(e,t){for(var n in e){last=e[n].pop();for(var r in e[n]){e[n][r].sort(t)}e[n].push(last)}}function f(e,t){for(var n in e){last=e[n].pop();for(var r in e[n]){e[n][r].sort(t)}e[n].push(last)}}function l(e,t){if(e[0]<t[0])return-1;if(e[0]>t[0])return 1;return 0}function c(e,t){if(e[0]<t[0])return 1;if(e[0]>t[0])return-1;return 0}var t=new Array;var n=new Array;e.fn.jqBarGraph=e.fn.jqbargraph=function(n){init=function(r){t[r.id]=e.extend({},e.fn.jqBarGraph.defaults,n);e(r).css({width:t[r.id].width,height:t[r.id].height,position:"relative","text-align":"center"});doGraph(r);e("a").css({color:"black"})};sum=function(e,t){total=0;for(val in e){total+=e[val][t]}return total.toFixed(2)};max=function(e,t){maxvalue=0;for(var n in e){value=e[n][0];if(value instanceof Array)value=sum(value,t);if(parseFloat(value)>parseFloat(maxvalue))maxvalue=value}return maxvalue};maxMulti=function(e,t){maxvalue=0;maxvalue2=0;for(var n in e){ar2=e[n][0];for(var r in ar2){if(ar2[r][t]>maxvalue2)maxvalue2=ar2[r][t]}if(maxvalue2>maxvalue)maxvalue=maxvalue2}return maxvalue};doGraph=function(n){arr=t[n.id];data=arr.data;if(arr.tab=="reads"){val_index=0}else{val_index=1}if(data==undefined){e(n).html("There is not enought data for graph");return}if(arr.tab=="reads"){if(arr.sort=="asc"){data.sort(r)}if(arr.sort=="desc"){data.sort(u)}}if(arr.tab=="basepairs"){if(arr.sort=="asc"){data.sort(s)}if(arr.sort=="desc"){data.sort(a)}}if(arr.sortBar=="asc")f(data,l);if(arr.sortBar=="desc")f(data,c);legend="";prefix=arr.prefix;postfix=arr.postfix;space=arr.barSpace;legendWidth=arr.legend?arr.legendWidth:0;fieldWidth=(e(n).width()-legendWidth)/data.length;totalHeight=e(n).height();var h=new Array;max=max(data,val_index);color_map={};color_map["pathogen"]=arr.colors[0];color_map["ambiguous"]=arr.colors[1];color_map["human"]=arr.colors[2];if(arr.tab=="reads"){val_index=0}else{val_index=1}for(var p in data){valueData=data[p][0];if(valueData instanceof Array)value=sum(valueData,val_index);else value=valueData;lbl=data[p][1];unique=p+n.id;divid=""+n.id;if(arr.type=="multi")color="none";if(lbl==undefined)lbl=arr.lbl;margin_top=14/data.length;out="<div class='graphField"+n.id+"' id='graphField"+unique+"' style='position: absolute'>";out+="<div class='graphValue"+n.id+"' id='graphValue"+unique+"'>"+parseInt(value)+"</div>";out+="<div class='graphBar"+n.id+"' id='graphFieldBar"+unique+"' style='background-color:#fff;position: relative; overflow: hidden;'></div>";out+="<a class='graphLabelLink' href=#files"+n.id+" onclick=fillDiv('"+n.id+"','"+valueData[0][3]+"_"+lbl+"')><div class='graphLabel"+n.id+"' id='graphLabel"+unique+"'style='margin-top:"+margin_top+"px;'>"+lbl+"</div></a>";out+="</div>";e(n).append(out);e(".graphLabel"+n.id).css({"-webkit-transform":"rotate(30deg)","-moz-transform":"rotate(30deg)","-o-transform":"rotate(30deg)","-ms-transform":"rotate(30deg)",transform:"rotate(30deg)",height:"100"});e("a.graphLabel").css({"text-decoration":"none",color:"black"});totalHeightBar=totalHeight-e(".graphLabel"+n.id).height()-e(".graphValue"+n.id).height()-margin_top;fieldHeight=totalHeightBar*value/max;e("#graphField"+unique).css({left:fieldWidth*p,width:fieldWidth-space,"margin-left":space});if(valueData instanceof Array){if(arr.type=="multi"){maxe=maxMulti(data,val_index);totalHeightBar=fieldHeight=totalHeight-e(".graphLabel"+n.id).height()-margin_top;e(".graphValue"+n.id).remove()}else{maxe=max}for(i in valueData){heig=totalHeightBar*valueData[i][val_index]/maxe;if(navigator.userAgent.match("Safari")&&!navigator.userAgent.match("Chrom")){heig=heig+arr.borderSize/1.85}wid=parseInt((fieldWidth-space)/valueData.length);sv="";fs=0;if(arr.showValues){sv=arr.prefix+valueData[i][0]+arr.postfix;fs=12}o="<a class='subBarLink' href=#files"+n.id+" onclick=fillDiv('"+n.id+"','"+valueData[i][3]+"_"+lbl+"','"+valueData[i][5]+"')><div class='subBars"+n.id+"' style=' box-sizing:border-box; -moz-box-sizing:border-box; -ms-box-sizing:border-box; -webkit-box-sizing:border-box; height:"+heig+"px;  border-top:"+arr.borderSize+"px solid; border-color: "+arr.showValuesColor+"; background-color: "+color_map[valueData[i][2]]+"; left:"+wid*i+"px; color:"+arr.showValuesColor+"; font-size:"+fs+"px' >"+sv+"</div></a>";e("#graphFieldBar"+unique).prepend(o)}}if(arr.type=="multi")e(".subBars"+n.id).css({width:wid,position:"absolute",bottom:0});if(arr.position=="bottom")e(".graphField"+n.id).css("bottom",0);if(arr.animate){e("#graphFieldBar"+unique).css({height:0});e("#graphFieldBar"+unique).animate({height:fieldHeight},arr.speed*1e3)}else{e("#graphFieldBar"+unique).css({height:fieldHeight})}}createLegend(color_map,n.id);createLinks(n.id);e(n).append("<div id='legendHolder"+unique+"'></div>");e("#legendHolder"+unique).css({width:legendWidth,"float":"right","margin-left":"100px","text-align":"left"});e("#legendHolder"+unique).append(legend);e("#legendHolder"+unique).append(links);e(".legendBar"+n.id).css({"float":"left",margin:3,"margin-left":"10",height:12,width:20,"font-size":0});e(".linkBar"+n.id).css({"margin-left":"10"});e("#sortAsc"+n.id).click(function(){if(t[n.id].sort!="asc"){t[n.id].sort="asc";e("#graphHolder"+n.id).html("");e("#graphHolder"+n.id).jqbargraph(t[n.id])}});e("#sortDesc"+n.id).click(function(){if(t[n.id].sort!="desc"){t[n.id].sort="desc";e("#graphHolder"+n.id).html("");e("#graphHolder"+n.id).jqbargraph(t[n.id])}});e("#sortBarAsc"+n.id).click(function(){if(t[n.id].sortBar!="asc"){t[n.id].sortBar="asc";e("#graphHolder"+n.id).html("");e("#graphHolder"+n.id).jqbargraph(t[n.id])}});e("#sortBarDesc"+n.id).click(function(){if(t[n.id].sortBar!="desc"){t[n.id].sortBar="desc";e("#graphHolder"+n.id).html("");e("#graphHolder"+n.id).jqbargraph(t[n.id])}});e("#showBasepairs"+n.id).click(function(){t[n.id].tab="basepairs";e("#graphHolder"+n.id).html("");e("#graphHolder"+n.id).jqbargraph(t[n.id])});e("#showReads"+n.id).click(function(){t[n.id].tab="reads";e("#graphHolder"+n.id).html("");e("#graphHolder"+n.id).jqbargraph(t[n.id])});if(arr.title){e(n).wrap("<div id='graphHolder"+n.id+"'></div>");if(arr.tab=="reads"){e("#graphHolder"+n.id).prepend("<div id='label"+n.id+"'>Cumulative reads assigned to family</div>").css({width:arr.width+"px","text-align":"center"})}else{e("#graphHolder"+n.id).prepend("<div id='label"+n.id+"'>Cumulative basepairs assigned to family</div>").css({width:arr.width+"px","text-align":"center"})}e("#graphHolder"+n.id).prepend("<a href=#files"+n.id+" onclick=fillDiv('"+n.id+"')>"+arr.title+"</a>").css({width:arr.width+"px","text-align":"center"})}e("#graphHolder"+n.id).append("<div class='files"+n.id+"' id='files"+n.id+"' ></div><p/>");e(".files"+n.id).css({width:arr.width+"px","background-color":"silver",border:"2px solid gray",display:"none"});e("#graphHolder"+n.id).append("<div class='image"+n.id+"' id='image"+n.id+"' ></div>");e(".image"+n.id).css({width:arr.width+"px","background-color":"silver",border:"2px solid gray",display:"none"})};createLegend=function(e,t){legend="";for(var n in e){legend+="<div id='legend"+n+"' style='overflow: hidden; zoom: 1;'>";legend+="<div class='legendBar"+t+"' id='legendColor"+n+"' style='background-color:"+e[n]+"'></div>";legend+="<div class='legendLabel"+t+"' id='graphLabel"+unique+"'>"+n+"</div>";legend+="</div>"}};createLinks=function(e){links="<div class='linkBar"+e+"'>";links+="<div ><a href='javascript:void(0);' id='sortAsc"+e+"' >sort  asceding</a></div>";links+="<div ><a href='javascript:void(0);' id='sortDesc"+e+"'>sort  desceding</a></div>";links+="<div ><a href='javascript:void(0);' id='sortBarAsc"+e+"'>sort bars asceding</a></div>";links+="<div ><a href='javascript:void(0);' id='sortBarDesc"+e+"'>sort bars desceding</a></div>";if(t[e].tab=="reads"){links+="<div ><a href='javascript:void(0);' id='showBasepairs"+e+"'>show baispair chart </a></div>"}else{links+="<div ><a href='javascript:void(0);' id='showReads"+e+"'>show read chart </a></div>"}links+="</div>"};fillDiv=function(n,r,i){arr=t[n];dict=arr.files;generateDownloadLink=function(t,n,r){out=" no file ";if(e.inArray("region_"+n+"_"+r,dict[t][n])!=-1){out="<a href="+t+"/region_"+n+"_"+r+">download</a>"}return out};generateShowLink=function(t,r){out=" no image ";if(e.inArray("region_"+r+"_consensus.png",dict[t][r])!=-1){out="<a href=#image"+n+" onclick=showImage('"+n+"','"+r+"','"+t+"/region_"+r+"_consensus.png')>show</a>"}return out};data=arr.data;for(var s in data){for(var o in data[s][0]){dict[data[s][0][0][3]+"_"+data[s][1]][data[s][0][o][5]].push([data[s][0][o][0],data[s][0][o][1],data[s][0][o][4]])}}var u=document.getElementById("files"+n);u.innerHTML="";out="<div><b>Files for Sample "+arr.sample+"</b></div><p/>";out+="<div class='"+n+"_files' id='"+n+"_files'><table id='"+n+"table' class='"+n+"table' border=1 cellpadding=3 cellspacing=0 style=' border: 1pt solid #000000; border-Collapse: collapse'>";out+="<tr><th>family</th><th>region</th><th>#reads</th><th>#basepairs</th><th>region length</th><th>unaligned fasta</th><th>bam alignment</th><th>consensus fasta</th><th>consensus diagram</th></tr>";if(!r){for(var a in dict){for(var i in dict[a]){last=dict[a][i][dict[a][i].length-1];if(last instanceof Array&&last[0]){out+="<tr><td>"+a+"</td><td>"+i+"</td><td>"+last[0]+"</td><td>"+last[1]+"</td><td>"+last[2]+"</td><td>"+generateDownloadLink(a,i,"unaligned.fa.bzip2")+"</td><td>"+generateDownloadLink(a,i,"alignment.bam")+"</td><td>"+generateDownloadLink(a,i,"consensus.fa")+"</td><td>"+generateShowLink(a,i)+" "+generateDownloadLink(a,i,"consensus.png")+"</td></tr>"}}out+="</div>"}}else{out+="<b>"+r+"</b>";if(!i){for(var i in dict[r]){last=dict[r][i][dict[r][i].length-1];if(last instanceof Array&&last[0]){out+="<tr><td>"+r+"</td><td>"+i+"</td><td>"+last[0]+"</td><td>"+last[1]+"</td><td>"+last[2]+"</td><td>"+generateDownloadLink(r,i,"unaligned.fa.bzip2")+"</td><td>"+generateDownloadLink(r,i,"alignment.bam")+"</td><td>"+generateDownloadLink(r,i,"consensus.fa")+"</td><td>"+generateShowLink(r,i)+" "+generateDownloadLink(r,i,"consensus.png")+"</td></tr>"}}}else{last=dict[r][i][dict[r][i].length-1];if(last instanceof Array&&last[0]){out+="<tr><td>"+r+"</td><td>"+i+"</td><td>"+last[0]+"</td><td>"+last[1]+"</td><td>"+last[2]+"</td><td>"+generateDownloadLink(r,i,"unaligned.fa.bzip2")+"</td><td>"+generateDownloadLink(r,i,"alignment.bam")+"</td><td>"+generateDownloadLink(r,i,"consensus.fa")+"</td><td>"+generateShowLink(r,i)+"     "+generateDownloadLink(r,i,"consensus.png")+"</td></tr>"}}}out+="</div>";e(u).append(out);e("a").css({color:"black"});e("table").css({border:"collapse"});e(u).append("<div class='close_files"+n+"'style='cursor:pointer;'>x</div>");e(".close_files"+n).click(function(){e(".files"+n).animate({height:"0px"},1e3,"",function(){e(".files"+n).css({display:"none"});e(".files"+n).removeClass("selected")})});e("div.close_files"+n).css({color:"white",position:"absolute",top:5,left:5,"background-color":arr.colors[1],border:"1px solid white","border-radius":"20px",height:"20px",width:"20px","text-align":"center"});e("a.close_files"+n).css({color:"white","text-decoration":"none"});e(".files"+n).css({width:"auto",display:"none"});wi=e(".files"+n).width()+15;if(!e(".files"+n).hasClass("selected")){e(".files"+n).css({height:"auto",display:"none"});hei=e(".files"+n).height();hei=parseInt(hei)+10;hei=hei>400?hei=400:hei;e(".files"+n).css({width:wi+"px",position:"relative",height:"0px",overflow:"auto","background-color":"#D0D0D0",border:"2px solid silver","border-radius":"10px",display:"block"});e(".files"+n).animate({height:hei+"px"},1e3,"",function(){e(".files"+n).addClass("selected")})}else{curr_hei=e(".files"+n).height();e(".files"+n).css({height:"auto",display:"none"});hei=e(".files"+n).height();hei=parseInt(hei)+10;hei=hei>400?hei=400:hei;e(".files"+n).css({height:curr_hei+"px",width:"915px",position:"relative",overflow:"auto","background-color":"#D0D0D0",border:"2px solid silver","border-radius":"10px",display:"block"}).animate({height:hei+"px"},1e3)}};showImage=function(t,n,r,i){var s=document.getElementById("image"+t);s.innerHTML="";this.img=new Image;this.img.src=r;hei=this.img.height;out="<img src="+r+" alt="+r+">";e(s).append(out);e(s).append("<div class='close_image"+t+"'style='cursor:pointer;'>x</div>");e(".close_image"+t).click(function(){e(".image"+t).animate({height:"0px"},1e3,"",function(){e(".image"+t).css({display:"none"});e(".image"+t).removeClass("selected")})});e("div.close_image"+t).css({color:"white",position:"absolute",bottom:5,left:5,"background-color":arr.colors[1],border:"1px solid white","border-radius":"20px",height:"20px",width:"20px","text-align":"center"});e("a.close_image"+t).css({color:"white","text-decoration":"none"});i=e(".files"+t).width();if(!e(".image"+t).hasClass("selected")){e(".image"+t).css({width:i+"px",position:"relative",height:"0px",overflow:"auto","background-color":"#D0D0D0",border:"2px solid silver","border-radius":"10px",display:"block"});e(".image"+t).animate({height:hei},1e3,"",function(){e(".image"+t).addClass("selected")})}};this.each(function(){init(this)})};e.fn.jqBarGraph.defaults={sample:"no_sample_id",barSpace:10,width:400,height:600,color:"#000000",colors:false,lbl:"",sort:false,sortBar:false,tab:"reads",position:"bottom",prefix:"",postfix:"",animate:true,speed:3,legendWidth:150,legend:false,type:false,showValues:false,borderSize:1,showValuesColor:"#fff",title:false}})(jQuery)
\ No newline at end of file