void drawGlobalPersistenceHighlights(ArrayList<Node>nodes,int view,boolean showAllHighlights,float fade){
    	  if (showAllHighlights || this.persistence.get(view)!=0) {    	  
	          this.hintCoords.clear();    	  
	    	  Node n1 = nodes.get(this.node1);
	    	  Node n2 = nodes.get(this.node2);     	  
	    	 
	    	  Coordinate start = pointOnLine(n2.x,n2.y,n1.x,n1.y,-NODE_RADIUS/2);
	    	  Coordinate end = pointOnLine(n1.x,n1.y,n2.x,n2.y,-NODE_RADIUS/2);
	    	  
	    	  //Want the first time slice on the hint path to be the node thats closest to the left side of the screen
	    	  //(this corresponds to the layout of the time slider)
	    	  if (start.x > end.x){ //Swap them
	    		  Coordinate temp = start;
	    		  start = end;
	    		  end = temp;    		  
	    	  }
	    	  
	    	  float interval = (float)1/(this.numTimeSlices);    	      	  
	    	  float interpX,interpY,interpolation=0,prevX=start.x,prevY=start.y;         
	    	     	  	 
	    	  parent.strokeCap(parent.SQUARE);   
	    	  
	    	  //Calculate the hint path coordinates
	    	  for (int i=0;i<this.numTimeSlices;i++){   
	    		  //System.out.println(persistence.get(i)+" "+i);
	    		  interpX = (end.x - start.x)*interpolation + start.x;
	    		  interpY = start.y +(end.y-start.y)*((interpX-start.x)/(end.x-start.x));             
	    		  this.hintCoords.add(new Coordinate(interpX,interpY)); //Save the coordinates along the hint path   		  
	    		  interpolation +=interval;
	    		  prevX = interpX;
	    		  prevY = interpY;    		 
	    	  }	    	 
	    	  this.hintCoords.add(new Coordinate(end.x,end.y));
	    	  drawEdge(n1.x,n1.y,n2.x,n2.y,(int)(255*fade),1.5f);
	    	  
	    	  parent.strokeWeight(5);
	    	 
	    	  //Draw the hint path      	 
	    	  for (int i=0;i<this.numTimeSlices;i++){     		         		  
	    		  if (persistence.get(i)==1){
	    			  /**if (i==view){
	    				  parent.stroke(presentColour.getRed(),presentColour.getBlue(),presentColour.getGreen(),presentColour.getAlpha()*fade);
	    			  }else{
	    				  parent.stroke(yearMarkColour.getRed(),yearMarkColour.getBlue(),yearMarkColour.getGreen(),yearMarkColour.getAlpha()*fade));
	    			  }*/
	    			  start = this.hintCoords.get(i);
	    			  end = this.hintCoords.get(i+1);
	    			  float offsetX = (end.x - start.x)*(0.01f)+ start.x;
		    		  float offsetY = start.y +(end.y-start.y)*((offsetX-start.x)/(end.x-start.x));   
	    			  parent.stroke(presentColour.getRed(),presentColour.getGreen(),presentColour.getBlue(),(255*fade));
	    			  parent.line(offsetX,offsetY,this.hintCoords.get(i+1).x,this.hintCoords.get(i+1).y);    			      			
	    		  }       		 
	    	  } 	    	 
    	  }    	  
      }