Pretty colours.
1 var QUOTES_NUMBER = 32;
3 function load_page(html, params)
7 window.location = html + params;
8 //window.location.reload();
13 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
14 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
19 var pageTracker = _gat._getTracker("UA-2137333-1");
20 pageTracker._initData();
21 pageTracker._trackPageview();
27 if (typeof(_gat) == "object")
31 function http_request_object()
33 var xmlHttpObject = null;
35 if (typeof(XMLHttpRequest) != "undefined")
37 xmlHttpObject = new XMLHttpRequest();
41 if (xmlHttpObject == null)
45 xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
51 xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP");
62 function load_header(current)
65 if (current == "home")
66 file = "/homenav.html";
67 else if (current == "resume")
68 file = "/resumenav.html";
69 else if (current == "howiwork")
70 file = "/howiworknav.html";
71 else if (current == "personalwork")
72 file = "/personalworknav.html";
73 else if (current == "tutorials")
74 file = "/tutorialsnav.html";
75 else if (current == "contact")
76 file = "/contactnav.html";
78 var currentFile = self.location.hostname + self.location.pathname;
79 var request = http_request_object();
80 var url = "http://" + self.location.hostname + file;
81 request.open("GET", url, false);
82 request.setRequestHeader("User-Agent", navigator.userAgent);
84 // if (oRequest.status == 200) alert(oRequest.responseText);
85 // else alert("Error executing XMLHttpRequest call!");
86 //document.write(url);
87 document.getElementById('header').innerHTML = request.responseText;
88 //document.write(request.responseText);
90 //alert(request.responseText);
93 function load_sidebar()
95 var file = "/sidebar.html";
96 var currentFile = self.location.hostname + self.location.pathname;
97 var request = http_request_object();
98 var url = "http://" + self.location.hostname + file;
99 request.open("GET", url, false);
100 request.setRequestHeader("User-Agent", navigator.userAgent);
102 // if (oRequest.status == 200) alert(oRequest.responseText);
103 // else alert("Error executing XMLHttpRequest call!");
104 //document.write(url);
105 //document.write(request.responseText);
106 document.getElementById('sidebar').innerHTML = request.responseText;
109 function load_random_quote()
111 var file = "/quotes/quote" + Math.floor(Math.random() * QUOTES_NUMBER + 1) + ".html";
112 var currentFile = self.location.hostname + self.location.pathname;
113 var request = http_request_object();
114 var url = "http://" + self.location.hostname + file;
115 request.open("GET", url, false);
116 request.setRequestHeader("User-Agent", navigator.userAgent);
118 // if (oRequest.status == 200) alert(oRequest.responseText);
119 // else alert("Error executing XMLHttpRequest call!");
120 //document.write(url);
121 //document.write(request.responseText);
122 document.getElementById('random_quote').innerHTML = request.responseText;
125 function load_footer()
127 var file = "/footer.html";
128 var currentFile = self.location.hostname + self.location.pathname;
129 var request = http_request_object();
130 var url = "http://" + self.location.hostname + file;
131 request.open("GET", url, false);
132 request.setRequestHeader("User-Agent", navigator.userAgent);
134 // if (oRequest.status == 200) alert(oRequest.responseText);
135 // else alert("Error executing XMLHttpRequest call!");
136 //document.write(url);
137 //document.write(request.responseText);
138 document.getElementById('footer').innerHTML = request.responseText;
141 // Mandelbrot functions
142 function Complex(real, imag)
148 var MIN_C = new Complex(-2.2, -1.4);
149 var MAX_C = new Complex(1.0, 1.4);
155 function Result(z, iter)
161 function complex_quad(c)
163 return new Complex(Math.pow(c.real, 2) - Math.pow(c.imag, 2),
164 2.0 * c.real * c.imag);
167 function complex_quad_value(c)
169 return Math.pow(c.real, 2) + Math.pow(c.imag, 2);
172 function complex_add(c1, c2)
174 return new Complex(c1.real + c2.real, c1.imag + c2.imag);
177 function iterate(z, c)
179 z_quad = complex_quad(z);
180 return new Complex(z_quad.real + c.real, z_quad.imag + c.imag);
183 function test(c, max_iter)
186 var z = new Complex(0.0, 0.0);
187 while (complex_quad_value(z) <= 4.0
193 return new Result(z, iter);
196 function draw(iter, x, y, z)
198 var canvas = document.getElementById('mandelbrot');
199 if (canvas.getContext)
201 var ctx = canvas.getContext('2d');
208 var min_inc = new Complex(x + z, y + z);
209 var max_inc = new Complex(x - z, y - z);
210 min_c = complex_add(min_c, min_inc);
211 max_c = complex_add(max_c, max_inc);
213 var diff_c = new Complex(max_c.real - min_c.real,
214 max_c.imag - min_c.imag);
215 var width = canvas.width;
216 var height = canvas.height;
217 var dim = Math.max(width, height);
218 ctx.clearRect(0, 0, width, height);
220 for (var y = 0; y < height; y++)
222 for (var x = 0; x < width; x++)
226 var c = new Complex(min_c.real + diff_c.real
228 min_c.imag + diff_c.imag / dim * y);
229 var result = test(c, max_iter);
231 if (result.iter < max_iter)
233 var r = Math.min(255, Math.pow(Math.max(0,
234 (result.iter - max_iter / 20.0)), 2));
235 var g = Math.min(255, Math.pow(Math.max(0,
236 (result.iter - max_iter / 25.0)), 2));
237 var b = Math.min(255, Math.pow(Math.max(0,
238 (result.iter - max_iter / 20.0)), 2));
239 var colour = r + "," + g + "," + b;
240 ctx.fillStyle = "rgb(" + colour + ")";
241 ctx.fillRect(x, y, 1, 1);