Array.prototype.______array = '______array'; var JSON = { org: 'http://www.JSON.org', copyright: '(c)2005 JSON.org', license: 'http://www.crockford.com/JSON/license.html', stringify: function (arg) { var c, i, l, s = '', v; switch (typeof arg) { case 'object':if (arg) {if (arg.______array == '______array') {for (i = 0; i < arg.length; ++i) {v = this.stringify(arg[i]);if (s) {s += ',';}s += v;}return '[' + s + ']';} else if (typeof arg.toString != 'undefined') {for (i in arg) {v = arg[i];if (typeof v != 'undefined' && typeof v != 'function') {v = this.stringify(v);if (s) {s += ',';}s += this.stringify(i) + ':' + v;}}return '{' + s + '}';}}return 'null'; case 'number': return isFinite(arg) ? String(arg) : 'null'; case 'string': l = arg.length;s = '"';for (i = 0; i < l; i += 1) {c = arg.charAt(i);if (c >= ' ') {if (c == '\\' || c == '"') {s += '\\';}s += c;} else {switch (c) {case '\b':s += '\\b';break;case '\f':s += '\\f';break;case '\n':s += '\\n';break;case '\r':s += '\\r';break;case '\t':s += '\\t';break;default:c = c.charCodeAt();s += '\\u00' + Math.floor(c / 16).toString(16) +(c % 16).toString(16);}}}return s + '"';case 'boolean':return String(arg);default:return 'null';} }, parse: function (text) { var at = 0;var ch = ' '; function error(m) {throw {name: 'JSONError',message: m,at: at - 1,text: text};} function next() {ch = text.charAt(at);at += 1;return ch;}function white() {while (ch != '' && ch <= ' ') {next();}} function str() {var i, s = '', t, u;if (ch == '"') {outer:while (next()) {if (ch == '"') {next();return s;} else if (ch == '\\') {switch (next()) {case 'b':s += '\b';break;case 'f':s += '\f';break;case 'n':s += '\n';break;case 'r':s += '\r';break;case 't':s += '\t';break;case 'u':u = 0;for (i = 0; i < 4; i += 1) {t = parseInt(next(), 16);if (!isFinite(t)) {break outer;}u = u * 16 + t;}s += String.fromCharCode(u);break;default:s += ch;}} else {s += ch;}}}error("Bad string");} function arr() {var a = [];if (ch == '[') {next();white();if (ch == ']') {next();return a;}while (ch) {a.push(val());white();if (ch == ']') {next();return a;} else if (ch != ',') {break;}next();white();}}error("Bad array");} function obj() {var k, o = {};if (ch == '{') {next();white();if (ch == '}') {next();return o;}while (ch) {k = str();white();if (ch != ':') {break;}next();o[k] = val();white();if (ch == '}') {next();return o;} else if (ch != ',') {break;}next();white();}}error("Bad object");} function num() {var n = '', v;if (ch == '-') {n = '-';next();}while (ch >= '0' && ch <= '9') {n += ch;next();}if (ch == '.') {n += '.';while (next() && ch >= '0' && ch <= '9') {n += ch;}}if (ch == 'e' || ch == 'E') {n += 'e';next();if (ch == '-' || ch == '+') {n += ch;next();}while (ch >= '0' && ch <= '9') {n += ch;next();}}v = +n;if (!isFinite(v)) {error("Bad number");} else {return v;}} function word() {switch (ch) {case 't': if (next() == 'r' && next() == 'u' && next() == 'e') {next();return true;}break;case 'f': if (next() == 'a' && next() == 'l' && next() == 's' && next() == 'e') {next();return false;}break;case 'n': if (next() == 'u' && next() == 'l' && next() == 'l') {next();return null;}break;}error("Syntax error");} function val() {white();switch (ch) {case '{':return obj();case '[':return arr();case '"':return str();case '-':return num();default:return ch >= '0' && ch <= '9' ? num() : word();}} return val(); } }; function display(what,where){ if(!where){ var where = 'message_box'; } if(document.getElementById(where)){ document.getElementById(where).innerHTML = what; } } function addEvent(obj, evType, fn){if (obj.addEventListener){obj.addEventListener(evType, fn, false);return true;}else if(obj.attachEvent){var r = obj.attachEvent("on"+evType, fn);return r;}else{return false;}} function findPosX(obj){var curleft=0;if(obj.offsetParent){while(obj.offsetParent){curleft+=obj.offsetLeft;obj=obj.offsetParent;}}else if(obj.x){curleft+=obj.x;}return curleft;} function findPosY(obj){var curtop=0;if(obj.offsetParent){while(obj.offsetParent){curtop+=obj.offsetTop;obj=obj.offsetParent;}}else if(obj.y){curtop+=obj.y;}return curtop;} function in_list(list,findthis){for(var i=0;i= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @*/ if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; } } return xmlhttp; } var http = getHTTPObject(); // We create the HTTP Object function fade(elem_name,fading,percent,increase,delay,onoff,target){ var elem = document.getElementById(elem_name); if(!fading){if(onoff=="on"){toggle(elem_name,'on')}window.setTimeout("fade('"+elem_name+"',1,"+percent+","+increase+","+delay+",'"+onoff+"',"+target+")",delay);display("Fading");} else{ percent += increase; if(percent > 100 || percent < 0 || ( increase < 0 && percent < target ) || ( increase > 0 && percent > target ) ){ if(increase<0){ percent = percent0){ percent = percent>target?target:100; } fading = 0; if(onoff=="off"){toggle(elem_name,'off')} display("Done Fading") } else{fading = 1;display("Fading: "+percent)} if(elem.filters){elem.filters.alpha.opacity = percent;} else if(elem.style.opacity){elem.style.opacity = percent / 100;} else{elem.style.MozOpacity = percent / 100;} if(fading == 1){window.setTimeout("fade('"+elem_name+"',1,"+percent+","+increase+","+delay+",'"+onoff+"',"+target+")",delay);} } } function shade(elem_name,start,finish,increase,delay,code,shading,position){ //alert(elem_name +" "+ start +" "+ finish +" "+ increase +" "+ delay +" "+ code +" "+ shading +" "+ position); function done(){ position=finish; shading = 0; display("Done Shading"); eval(code); } var elem = document.getElementById(elem_name); if(!shading){ window.setTimeout("shade('"+elem_name+"',"+start+","+finish+","+increase+","+delay+","+code+",1,"+start+")",delay); elem.style.height=start; display("Shading"); } else{ position += increase; if(increase<0&&shading){if(position<=finish){done()}} else if(increase>=0&&shading){if(position>=finish){done()}} else{shading = 1;display("Shading: "+position)} elem.style.height = position; if(shading == 1){ window.setTimeout("shade('"+elem_name+"',"+start+","+finish+","+increase+","+delay+","+code+","+shading+","+position+")",delay); } } } function move(elem_name,start,finish,delay,moving,position,ix,iy){ var elem = document.getElementById(elem_name); if(!moving){ start = [elem.style.left,elem.style.top] var ix = (finish[0]-start[0])/10; var iy = (finish[1]-start[1])/10; elem.style.left = start[0]; elem.style.top = start[1]; window.setTimeout("move('"+elem_name+"',0,0,"+delay+",1,0,"+ix+","+iy+")",delay); } else{ position++; elem.style.left += position*ix; elem.style.top += position*iy; if(position>=10){moving=0;display("Done")} else{moving = 1;} if(moving == 1){ window.setTimeout("move('"+elem_name+"',0,0,"+delay+",1,"+position+","+ix+","+iy+")",delay); } } } //Chrome Drop Down Menu v2.01- Author: Dynamic Drive (http://www.dynamicdrive.com) //Last updated: November 14th 06- added iframe shim technique var cssdropdown={ disappeardelay: 100, //set delay in miliseconds before menu disappears onmouseout disablemenuclick: false, //when user clicks on a menu item with a drop down menu, disable menu item's link? enableswipe: 0, //enable swipe effect? 1 for yes, 0 for no enableiframeshim: 1, //enable "iframe shim" technique to get drop down menus to correctly appear on top of controls such as form objects in IE5.5/IE6? 1 for yes, 0 for no //No need to edit beyond here//////////////////////// dropmenuobj: null, ie: document.all, firefox: document.getElementById&&!document.all, swipetimer: undefined, bottomclip:0, getposOffset:function(what, offsettype){ var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop; var parentEl=what.offsetParent; while (parentEl!=null){ totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop; parentEl=parentEl.offsetParent; } return totaloffset; }, swipeeffect:function(){ if (this.bottomclip