/*
This code was created by the New Hampshire Housing and Finance Authority. 
Use of any part of this code is prohibited without written permission.
http://www.nhhfa.org
Created: 12/2006
By: Sean Vickers
*/
function ppTrends(code1,code2,rptYear) {
	var okToContinue = "Yes";
    var url=null;
    xmlhttp=null;
   
    document.getElementById("page1").style.height = '525px';
    document.getElementById("page2").style.height = '525px';
    document.getElementById("page3").style.height = '475px';
    document.getElementById("page4").style.height = '475px';
    document.getElementById("page5").style.height = '475px';
    document.getElementById("page6").style.height = '475px';   
    document.getElementById("page7").style.height = '1px';  

    document.getElementById("pwait").innerHTML = "<img src='images/wait.gif' alt='' width='150' border='0'>";
   
    url = "http://www.nhhfa.org/oppweb/xml.asp?code1=" + code1 + "&code2=" + code2 + "&code3=pptrends";
    
    /* Check for running connections */
    if (xmlhttp != null && xmlhttp.readyState != 0 && xmlhttp.readyState != 4){
       xmlhttp.abort();
    }

    // code for Mozilla, etc.
    if (window.XMLHttpRequest) { 
    	try { xmlhttp=new XMLHttpRequest(); }
    	catch(e) { xmlhttp=null; }
    }
 
    // code for IE
    else if (window.ActiveXObject) {
    	try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
    	catch(e) {
    	   try { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
    	   catch(e) { xmlhttp=null; }
    	}
    }

    if (xmlhttp) {
        xmlhttp.open("GET",url,true);
        xmlhttp.setRequestHeader('content-type', 'text/xml'); 
        xmlhttp.onreadystatechange=function () {

	    var xml=null;
	    var html=null;
	    var Years=null;
	    var Groups=null;

	    // if xmlhttp shows "loaded"
	    if (xmlhttp.readyState==4) {
  
	       // if "OK"
               if (xmlhttp.status==200) {

try {			   
	          xml  = xmlhttp.responseXML;
              Years = xml.documentElement.getElementsByTagName("CODE3");
} catch(e) {
	alert("There Is No Data Available For This Area!");
	okToContinue = "No";
}
if(Years.length == 0) {
	alert("There Is No Data Available For This Area!");
	okToContinue = "No";
}
			  
if(okToContinue == "Yes") {
				  
				var rpt6	= new Array();

										
				rpt6[0]		= new Array("2006 to 2011","Avg per Year","2001 to 2011","Avg per Year","2010 to 2011","2009 to 2010","2008 to 2009","2007 to 2008","2006 to 2007","2005 to 2006",
												"2004 to 2005","2003 to 2004","2002 to 2003","2001 to 2002","2000 to 2001","1999 to 2000",
												"1998 to 1999","1997 to 1998","1996 to 1997","1995-1996","1994-1995");												
				rpt6[1]	= new Array();
				rpt6[2]	= new Array();
				rpt6[3]	= new Array();
				rpt6[4]	= new Array();
				rpt6[5]	= new Array();	

				var val    = new Array();
				var sample = new Array();
				var units  = new Array();
				var year   = new Array();
				for(var i=0; i<22; i++) {
					val[i] 	  = new Array();
					sample[i] = new Array();
					units[i]  = new Array();
					var j=0;

					while(j<Years.length && Math.round(Years[j].getAttribute("id").substring(0,4))!=(i+1990)) j++;
					if(j==Years.length || Math.round(Years[j].getAttribute("id").substring(0,4))!=(i+1990)) {
						
						year[i] = "N/A";
						for(var k=0; k<5; k++) {
							units[i][k] = new Array();
							val[i][k] 	 = "N/A";
							sample[i][k] = "N/A";
							for(var l=0; l<52; l++) units[i][k][l] = "N/A";
						}	
					} else {
					    year[i] = Years[j].getAttribute("id").toString();

						for(var k=0; k<5; k++) units[i][k] = new Array();
						var Types = Years[j].getElementsByTagName("CODE4");
						
						var j=0;
						while(j<Types.length && Types[j].getAttribute("id")!="All Units") j++;	
						if(j==Types.length || Types[j].getAttribute("id")!="All Units") {
							val[i][0] 	 = "N/A";
							sample[i][0] = "N/A";
							for(var k=0; k<52; k++) units[i][0][k] = "N/A";
						} else {
							val[i][0]    = Math.round(Types[j].getAttribute("pmedian"));		
							sample[i][0] = Math.round(Types[j].getAttribute("sample"));	
							for(var k=0; k<52; k++) units[i][0][k] = Math.round(Types[j].getAttribute("p"+(30+(k*10))));
						}					
						
						var j=0;
						while(j<Types.length && Types[j].getAttribute("id")!="Existing") j++;
						if(j==Types.length || Types[j].getAttribute("id")!="Existing") {
							val[i][1] 	 = "N/A";
							sample[i][1] = "N/A";
							for(var k=0; k<52; k++) units[i][1][k] = "N/A";
						} else {
							val[i][1]    = Math.round(Types[j].getAttribute("pmedian"));		
							sample[i][1] = Math.round(Types[j].getAttribute("sample"));	
							for(var k=0; k<52; k++) units[i][1][k] = Math.round(Types[j].getAttribute("p"+(30+(k*10))));
						}	
						
						var j=0;
						while(j<Types.length && Types[j].getAttribute("id")!="New") j++;
						if(j==Types.length || Types[j].getAttribute("id")!="New") {
							val[i][2] 	 = "N/A";
							sample[i][2] = "N/A";
							for(var k=0; k<52; k++) units[i][2][k] = "N/A";
						} else {
							val[i][2]    = Math.round(Types[j].getAttribute("pmedian"));		
							sample[i][2] = Math.round(Types[j].getAttribute("sample"));	
							for(var k=0; k<52; k++) units[i][2][k] = Math.round(Types[j].getAttribute("p"+(30+(k*10))));
						}							
						
						var j=0;
						while(j<Types.length && Types[j].getAttribute("id")!="NonCondo") j++;
						if(j==Types.length || Types[j].getAttribute("id")!="NonCondo") {
							val[i][3] 	 = "N/A";
							sample[i][3] = "N/A";
							for(var k=0; k<52; k++) units[i][3][k] = "N/A";
						} else {
							val[i][3]    = Math.round(Types[j].getAttribute("pmedian"));		
							sample[i][3] = Math.round(Types[j].getAttribute("sample"));	
							for(var k=0; k<52; k++) units[i][3][k] = Math.round(Types[j].getAttribute("p"+(30+(k*10))));
						}								
						
						var j=0;
						while(j<Types.length && Types[j].getAttribute("id")!="Condo") j++;
						if(j==Types.length || Types[j].getAttribute("id")!="Condo") {
							val[i][4] 	 = "N/A";
							sample[i][4] = "N/A";
							for(var k=0; k<52; k++) units[i][4][k] = "N/A";
						} else {
							val[i][4]    = Math.round(Types[j].getAttribute("pmedian"));		
							sample[i][4] = Math.round(Types[j].getAttribute("sample"));	
							for(var k=0; k<52; k++) units[i][4][k] = Math.round(Types[j].getAttribute("p"+(30+(k*10))));
						}	
						
					}
				}



				for(var i=0; i<5; i++) {
/*2006-2011*/		rpt6[i+1][0] = Math.round(((val[21][i]-val[16][i])/val[16][i])*1000)/10;	
/*Average*/		rpt6[i+1][1] = Math.round(rpt6[i+1][0]/5*10)/10;
/*2001-2011*/		rpt6[i+1][2] = Math.round(((val[21][i]-val[11][i])/val[11][i])*1000)/10;	
/*Average*/		rpt6[i+1][3] = Math.round(rpt6[i+1][2])/10;

/*2010-2011*/		rpt6[i+1][4] = Math.round(((val[21][i]-val[20][i])/val[20][i])*1000)/10;
/*2009-2010*/		rpt6[i+1][4] = Math.round(((val[20][i]-val[19][i])/val[19][i])*1000)/10;
/*2008-2009*/		rpt6[i+1][5] = Math.round(((val[19][i]-val[18][i])/val[18][i])*1000)/10;
/*2007-2008*/		rpt6[i+1][6] = Math.round(((val[18][i]-val[17][i])/val[17][i])*1000)/10;
/*2006-2007*/		rpt6[i+1][7] = Math.round(((val[17][i]-val[16][i])/val[16][i])*1000)/10;
/*2005-2006*/		rpt6[i+1][8] = Math.round(((val[16][i]-val[15][i])/val[15][i])*1000)/10;	
/*2004-2005*/   	rpt6[i+1][9] = Math.round(((val[15][i]-val[14][i])/val[14][i])*1000)/10;
/*2003-2004*/		rpt6[i+1][10] = Math.round(((val[14][i]-val[13][i])/val[13][i])*1000)/10;
/*2002-2003*/		rpt6[i+1][11] = Math.round(((val[13][i]-val[12][i])/val[12][i])*1000)/10;
/*2001-2002*/		rpt6[i+1][12] = Math.round(((val[12][i]-val[11][i])/val[11][i])*1000)/10;
/*2000-2001*/		rpt6[i+1][13] = Math.round(((val[11][i]-val[10][i])/val[10][i])*1000)/10;
/*1999-2000*/		rpt6[i+1][14] = Math.round(((val[10][i]-val[9][i])/val[9][i])*1000)/10;
/*1998-1999*/		rpt6[i+1][15] = Math.round(((val[9][i]-val[8][i])/val[8][i])*1000)/10;
/*1997-1998*/		rpt6[i+1][16] = Math.round(((val[8][i]-val[7][i])/val[7][i])*1000)/10;
/*1996-1997*/		rpt6[i+1][17] = Math.round(((val[7][i]-val[6][i])/val[6][i])*1000)/10;
/*1995-1996*/		rpt6[i+1][18] = Math.round(((val[6][i]-val[5][i])/val[5][i])*1000)/10;
/*1994-1995*/		rpt6[i+1][19] = Math.round(((val[5][i]-val[4][i])/val[4][i])*1000)/10;

				}				
				

				  var g1 = new line_chart(3,"ALL|EXISTING|NEW");	
				  var a1 = new area_graph(1);
				  var a2 = new area_graph(2,"All Homes|New Homes");
				  var a3 = new area_graph(2,"All Homes|Condominiums");

				  var html2 = "<table><tr><td width='100%' valign='top'>" +
					
								"<table width='725px' class='outside'><tr><td>" +
								 "<table width='100%' height='100%' class='inside'>" +
									"<tr><td valign='top' align='left'>" +	
									
									"<table class='data'>" +
									"<tr class='head1'>" +
									"<td colspan='12' style='height:45px;vertical-align:top;text-align:center;font-size:18px;'>" +
									"Median Purchase Price of Primary Homes<br>" +
									"<font size='2'>"+code1+": "+code2+"</font></td></tr>" +
									
									"<tr class='head1'>" +
									"<td rowspan='2' style='vertical-align:bottom;width:65px;'>Year</td>" +
									"<td colspan='2' style='vertical-align:bottom;text-align:center;'>All Homes</td>" +
		 							"<td colspan='2' style='vertical-align:bottom;text-align:center;'>Existing Homes</td>" +
									"<td colspan='2' style='vertical-align:bottom;text-align:center;'>New Homes</td>" +
									"<td colspan='2' style='vertical-align:bottom;text-align:center;'>Non-Condominiums</td>" +
									"<td colspan='2' style='vertical-align:bottom;text-align:center;'>Condominiums</td>" +
									"<td style='width:25px;'>&nbsp;</td></tr>" + 							
									"<tr class='head1'>" +
									"<td style='vertical-align:bottom;width:65px;'>Median Purchase Price</td>" +
									"<td style='vertical-align:bottom;width:65px;'>Sample Size</td>" +
									"<td style='vertical-align:bottom;width:65px;'>Median Purchase Price</td>" +
									"<td style='vertical-align:bottom;width:65px;'>Sample Size</td>" +
									"<td style='vertical-align:bottom;width:65px;'>Median Purchase Price</td>" +
									"<td style='vertical-align:bottom;width:65px;'>Sample Size</td>" +
									"<td style='vertical-align:bottom;width:65px;'>Median Purchase Price</td>" +
									"<td style='vertical-align:bottom;width:65px;'>Sample Size</td>" +
									"<td style='vertical-align:bottom;width:65px;'>Median Purchase Price</td>" +
									"<td style='vertical-align:bottom;width:65px;'>Sample Size</td>" +
									"<td style='width:25px;'>&nbsp;</td></tr>";			  

                for(var i=3; i<22; i++) {
					html2 += "<tr class='body1'><td>"+year[i]+"</td>";
					for(var j=0; j<5; j++) {
						if(year[i]=="N/A" || val[i][j]=="N/A") {
							html2 += "<td>NA</td><td>NA</td>";
							if(j<3)	g1.add(year[i],Math.round(0),j);
		            	} else if (sample[i][j] > Math.round(0)) {
		              		html2 += "<td>" + chkValue(val[i][j],"$","") + "</td>" +
				  		     		 "<td>" +  chkValue(sample[i][j],"","") + "</td>";	
							if(j<3)	g1.add(year[i],Math.round(val[i][j]),j);
						} else {
							html2 += "<td>***</td><td>***</td>";
							if(j<3) g1.add(year[i],Math.round(0),j);
						}	
						if(year[i].toString()==rptYear && j==0) {
						    var myLabel;
							for(var k=0; k<51; k++) {
							    switch (k) {		  
							       case 2: myLabel   = "$50,000";    break;    
							       case 7: myLabel   = "$100,000";   break; 
							       case 12: myLabel  = "$150,000";   break;    
							       case 17: myLabel  = "$200,000";   break; 
							       case 22: myLabel  = "$250,000";   break;    
							       case 27: myLabel  = "$300,000";   break; 
							       case 32: myLabel  = "$350,000";   break;    
							       case 37: myLabel  = "$400,000";   break; 
							       case 42: myLabel  = "$450,000";   break;    
							       case 47: myLabel  = "$500,000";   break; 						   
								   default : myLabel = "";
								}
								a1.add(myLabel,Math.round(units[i][j][k]),0);
								a2.add(myLabel,Math.round(units[i][j][k]),0);
								a3.add(myLabel,Math.round(units[i][j][k]),0);
							}
						} 
						else if(year[i].toString()==rptYear && j==2) {
						    var myLabel;
							for(var k=0; k<51; k++) {
							    switch (k) {		  
							       case 2: myLabel   = "$50,000";    break;    
							       case 7: myLabel   = "$100,000";   break; 
							       case 12: myLabel  = "$150,000";   break;    
							       case 17: myLabel  = "$200,000";   break; 
							       case 22: myLabel  = "$250,000";   break;    
							       case 27: myLabel  = "$300,000";   break; 
							       case 32: myLabel  = "$350,000";   break;    
							       case 37: myLabel  = "$400,000";   break; 
							       case 42: myLabel  = "$450,000";   break;    
							       case 47: myLabel  = "$500,000";   break; 						   
								   default : myLabel = "";
								}
								a2.add(myLabel,Math.round(units[i][j][k]),1);
							}
						}
						else if(year[i].toString()==rptYear && j==4) {
						    var myLabel;
							for(var k=0; k<51; k++) {
							    switch (k) {		  
							       case 2: myLabel   = "$50,000";    break;    
							       case 7: myLabel   = "$100,000";   break; 
							       case 12: myLabel  = "$150,000";   break;    
							       case 17: myLabel  = "$200,000";   break; 
							       case 22: myLabel  = "$250,000";   break;    
							       case 27: myLabel  = "$300,000";   break; 
							       case 32: myLabel  = "$350,000";   break;    
							       case 37: myLabel  = "$400,000";   break; 
							       case 42: myLabel  = "$450,000";   break;    
							       case 47: myLabel  = "$500,000";   break; 						   
								   default : myLabel = "";
								}
								a3.add(myLabel,Math.round(units[i][j][k]),1);
							}
						}
					}
					html2 += "<td>&nbsp;</td></tr>";					
				}

				html2 += "</table><br /><br />" +				
				
						 "<font size='1' color='red'>Source: NHHFA Purchase Price Database</font><br />" +
		 		 		 "<font size='1' color='red'>Note: Calculations based on sample size of less than 50 " +
				 		 "are highly volatile and not considered valid.</font><br />" +
				 		 "<font size='1' color='red'>*** Sample size is smaller than sample size limit.</font><br />" +							
										
						 "</td></tr>" +
						 "</table>" +
						 "</td></tr></table>" +
								
						 "</td></tr></table>";	 

						 
		var html1 = "<table><tr><td width='100%' height='500px' valign='top'>" +
		
					"<table width='725px' height='100%' class='outside'><tr><td>" +
					 "<table width='100%' height='100%' class='inside'>" +
						"<tr><td valign='top' align='left'>" +	
					    "<center><font size='5'><b>Median Purchase Price of Primary Homes</b></font><br>" +
						"<font size='2'>"+code1+": "+code2+"</font></center>" +	
					
						"<div id='graphpage1' style='position:relative;height:450px;width:725px;padding:0px;'>" +
					    "<div id='graph1' style='position:absolute;left:0px;padding:0px;'></div>" +
	 					"</div>" +					
											
					"</td></tr>" +
					"</table>" +
					"</td></tr></table>" +
					
					"</td></tr></table>";	
					
		var html3 = "<table><tr><td width='100%' height='450px' valign='top'>" +
		
					"<table width='725px' height='100%' class='outside'><tr><td>" +
					 "<table width='100%' height='100%' class='inside'>" +
						"<tr><td valign='top' align='left'>" +	
						
					    "<center><font size='5'><b>Primary Home Purchase Price Frequency</b></font></center><br>" +	
						"<center><font size='3'><b>"+code2+" - " +

						"<select name='rptYear' onchange=\"ppTrends('"+code1+"','"+code2+"',this.value)\" style='width:100px'>" +
						"<option value='"+rptYear+"'>Select Year</option>";
								
						for(var i=3; i<22; i++) {
							if(year[i].toString()==rptYear) 
								html3 += "<option value='"+year[i]+"' selected>"+year[i]+"</option>";
							else html3 += "<option value='"+year[i]+"'>"+year[i]+"</option>";
						}
								
			html3 +=	"</select>" +

						"</b></font></center>" +
						
						"<div id='graphpage2' style='position:relative;height:375px;width:725px;padding:0px;'>" +
					    "<div id='graph2' style='position:absolute;left:0px;padding:0px;'></div>" +
	 					"</div>" +						
											
					"</td></tr>" +
					"</table>" +
					"</td></tr></table>" +
					
					"</td></tr></table>";						
						
		var html4 = "<table><tr><td width='100%' height='450px' valign='top'>" +
		
					"<table width='725px' height='100%' class='outside'><tr><td>" +
					 "<table width='100%' height='100%' class='inside'>" +
						"<tr><td valign='top' align='left'>" +	
					    "<center><font size='5'><b>Primary Home Purchase Price Frequency</b></font></center><br>" +	
						"<center><font size='3'><b>"+code2+" - " +

						"<select name='rptYear' onchange=\"ppTrends('"+code1+"','"+code2+"',this.value)\" style='width:100px'>" +
						"<option value='"+rptYear+"'>Select Year</option>";
								
						for(var i=3; i<22; i++) {
							if(year[i].toString()==rptYear) 
								html4 += "<option value='"+year[i]+"' selected>"+year[i]+"</option>";
							else html4 += "<option value='"+year[i]+"'>"+year[i]+"</option>";
						}
								
			html4 +=	"</select>" +

						"</b></font></center>" +
						
						"<div id='graphpage3' style='position:relative;height:375px;width:725px;padding:0px;'>" +
					    "<div id='graph3' style='position:absolute;left:0px;padding:0px;'></div>" +
	 					"</div>" +		
											
					"</td></tr>" +
					"</table>" +
					"</td></tr></table>" +
					
					"</td></tr></table>";							
						
		var html5 = "<table><tr><td width='100%' height='450px' valign='top'>" +
		
					"<table width='725px' height='100%' class='outside'><tr><td>" +
					 "<table width='100%' height='100%' class='inside'>" +
						"<tr><td valign='top' align='left'>" +	
					    "<center><font size='5'><b>Primary Home Purchase Price Frequency</b></font></center><br>" +	
						"<center><font size='3'><b>"+code2+" - " +

						"<select name='rptYear' onchange=\"ppTrends('"+code1+"','"+code2+"',this.value)\" style='width:100px'>" +
						"<option value='"+rptYear+"'>Select Year</option>";
								
						for(var i=3; i<22; i++) {
							if(year[i].toString()==rptYear) 
								html5 += "<option value='"+year[i]+"' selected>"+year[i]+"</option>";
							else html5 += "<option value='"+year[i]+"'>"+year[i]+"</option>";
						}
								
			html5 +=	"</select>" +

						"</b></font></center>" +
						
						"<div id='graphpage4' style='position:relative;height:375px;width:725px;padding:0px;'>" +
					    "<div id='graph4' style='position:absolute;left:0px;padding:0px;'></div>" +
	 					"</div>" +		
											
					"</td></tr>" +
					"</table>" +
					"</td></tr></table>" +
					
					"</td></tr></table>";	
					
				  var html6 = "<table><tr><td width='100%' valign='top'>" +
					
								"<table width='725px' class='outside'><tr><td>" +
								 "<table width='100%' height='100%' class='inside'>" +
									"<tr><td valign='top' align='left'>" +	

									"<table class='data'>" +
									"<tr class='head1'>" +
									"<td colspan='12' style='height:45px;vertical-align:top;text-align:center;font-size:18px;'>" +
									"Percent Change In Median Purchase Price of Primary Homes<br>" +
									"<font size='2'>"+code1+": "+code2+"</font></td></tr>" +
									
									"<tr class='head1'>" +
									"<td>&nbsp;</td>" +
									"<td>All Homes</td>" +
		 							"<td>Existing Homes</td>" +
									"<td>New Homes</td>" +
									"<td>Non-Condominiums</td>" +
									"<td>Condominiums</td>" +
									"<td style='width:25px;'>&nbsp;</td></tr>";		
					
					
									
		for (var i=0; i<17; i++) {
		    if(i==4) html6 += "<tr class='body1'><td colspan='7'>&nbsp;</td>";
			html6 += "<tr class='body1'><td>"+rpt6[0][i]+"</td>";
			for(var j=1; j<6; j++) {
				html6 += "<td>"+chkValue(rpt6[j][i],"","%")+"</td>";
			}
			html6 += "<td style='width:25px;'>&nbsp;</td></tr>";
		}				

		html6 += "</table><br /><br />" +				
				
						 "<font size='1' color='red'>Source: NHHFA Purchase Price Database</font><br />" +
		 		 		 "<font size='1' color='red'>Note: Calculations based on sample size of less than 50 " +
				 		 "are highly volatile and not considered valid.</font><br />" +
				 		 "<font size='1' color='red'>*** Sample size is smaller than sample size limit.</font><br />" +							
										
						 "</td></tr>" +
						 "</table>" +
						 "</td></tr></table>" +
								
						 "</td></tr></table>";			
					

		  document.getElementById("page1").innerHTML = html1;	 
	          g1.build("graph1","Year","$","",300,23,80,25);	 

		  document.getElementById("page2").innerHTML = html2; 
		  
		  document.getElementById("page3").innerHTML = html6; 
		  
		  document.getElementById("page4").innerHTML = html3;	 
	          a1.build("graph2","Purchase Price",250,12,"","",60);			  
		  
		  document.getElementById("page5").innerHTML = html4;	 
	          a2.build("graph3","Purchase Price",250,12,"","",60,25);	
			  
		  document.getElementById("page6").innerHTML = html5;	 
	          a3.build("graph4","Purchase Price",250,12,"","",60,25);				  		  
}		  
		  document.getElementById("pwait").innerHTML = ""; 
               }
            }
        };
        xmlhttp.send(null); 
    }
}






