;;function $ () {var id = arguments[0];;
 
  return document.getElementById ( id);

}
;function strconcat () {var str1 = arguments[0];;
var str2 = arguments[1];;
 
  return function() {if (( str1 &&  str2) !== false) {
return str1  + str2 ;
;
}  else if (true !== false) {
return "";
;
}  else { return false; }}();

}
;function createElem () {var type = arguments[0];;
 
  return document.createElement ( type);

}
;function createText () {var text = arguments[0];;
 
  return document.createTextNode ( text);

}
;;function addEvent () {var elem = arguments[0];;
var type = arguments[1];;
var func = arguments[2];;
 
  return function() {if (( undefined !==  elem.addEventListener) !== false) {
return elem.addEventListener ( type, func, false);
;
}  else if (( undefined !==  elem.attachEvent) !== false) {
return elem.attachEvent ( "on"  + type , func);
;
}  else if (true !== false) {
return alert ( "Error, You'll be seeing a lot of these.  Generally means I don't support your browsers");
;
}  else { return false; }}();

}
;function removeEvent () {var elem = arguments[0];;
var type = arguments[1];;
var func = arguments[2];;
 
  return function() {if (( undefined !==  elem.removeEventListener) !== false) {
return elem.removeEventListener ( type, func, false);
;
}  else if (( undefined !==  elem.detachEvent) !== false) {
return elem.detachEvent ( "on"  + type , func);
;
}  else if (true !== false) {
return alert ( "Error, You'll be seeing a lot of these.  Generally means I don't support your browsers");
;
}  else { return false; }}();

}
;function handleKeyPress () {var func = arguments[0];;
 
  return function () {var e = arguments[0];;
 
  return function() {if (window.event !== false) {
return func ( e.keyCode);
;
}  else if (true !== false) {
return func ( e.which);
;
}  else { return false; }}();

}
;

}
;function replaceChildren () {var elem = arguments[0];;
var newChildren = arguments[1];;
 
  new function(){ while (true) {
if (( ( elem.childNodes || []).length ===  0) !== false) {return;;
}
elem.removeChild ( ( elem.childNodes &&  elem.childNodes[0]));

}}()
;
return function() {if (jsclListp( newChildren) !== false) {
return new function() {var __JSCL_SAFE__G735 = new Array();
var __JSCL_SAFE__G734 = function () {var newChild = arguments[0];;
 
  return elem.appendChild ( newChild);

}
;
var __JSCL_SAFE__G736 =  newChildren;
for (var __JSCL_SAFE__G737 = 0 ; __JSCL_SAFE__G737 < __JSCL_SAFE__G736.length  ; __JSCL_SAFE__G737++ ) {
 __JSCL_SAFE__G735[__JSCL_SAFE__G737] = __JSCL_SAFE__G734(__JSCL_SAFE__G736[__JSCL_SAFE__G737]);
}
return __JSCL_SAFE__G735;}();
;
}  else if (true !== false) {
return elem.appendChild ( newChildren);
;
}  else { return false; }}();

}
;function jsclFind () {var elem = arguments[0];;
var lst = arguments[1];;
var key = false;for (var __JSCL_SAFE__G738 = 2 ; __JSCL_SAFE__G738 < arguments.length ; __JSCL_SAFE__G738++) {if (":key" === arguments[__JSCL_SAFE__G738]) { key = arguments[__JSCL_SAFE__G738 + 1]; break;}}
;
var test = false;for (var __JSCL_SAFE__G739 = 2 ; __JSCL_SAFE__G739 < arguments.length ; __JSCL_SAFE__G739++) {if (":test" === arguments[__JSCL_SAFE__G739]) { test = arguments[__JSCL_SAFE__G739 + 1]; break;}}
;
 
  var test = ( test ||  function () {var a = arguments[0];;
var b = arguments[1];;
 
  return ( a ===  b);

}
);
return function() {if ((! ( lst !== false)) !== false) {
return false;
;
}  else if (( 0 ===  ( lst || []).length) !== false) {
return false;
;
}  else if (( key &&  test ( elem, key ( ( lst &&  lst[0])))) !== false) {
return ( lst &&  lst[0]);
;
}  else if (( (! ( key !== false)) &&  test ( elem, ( lst &&  lst[0]))) !== false) {
return ( lst &&  lst[0]);
;
}  else if (true !== false) {
return jsclFind ( elem, ( lst &&  lst.length > 1 &&  lst.slice(1)), ":key", key, ":test", test);
;
}  else { return false; }}();

;

}
;function jsclRemove () {var elem = arguments[0];;
var lst = arguments[1];;
var key = false;for (var __JSCL_SAFE__G740 = 2 ; __JSCL_SAFE__G740 < arguments.length ; __JSCL_SAFE__G740++) {if (":key" === arguments[__JSCL_SAFE__G740]) { key = arguments[__JSCL_SAFE__G740 + 1]; break;}}
;
var test = false;for (var __JSCL_SAFE__G741 = 2 ; __JSCL_SAFE__G741 < arguments.length ; __JSCL_SAFE__G741++) {if (":test" === arguments[__JSCL_SAFE__G741]) { test = arguments[__JSCL_SAFE__G741 + 1]; break;}}
;
 
  var test = ( test ||  function () {var a = arguments[0];;
var b = arguments[1];;
 
  return ( a ===  b);

}
);
var key = ( key ||  function () {var a = arguments[0];;
 
  return a;

}
);
return function() {if ((! ( lst !== false)) !== false) {
return false;
;
}  else if (( 0 ===  ( lst || []).length) !== false) {
return lst;
;
}  else if (true !== false) {
var retn = false;
for (var j = 0 ; j < ( lst || []).length ; j++) {
if ((! ( test ( key ( (lst && lst[j])), elem) !== false)) !== false) {
retn = [ (lst && lst[j])].concat(( retn || []));
;
} ;


};
return Array.prototype.slice.call( retn).reverse();

;
;
}  else { return false; }}();

;

}
;function jsclFindIf () {var findFunc = arguments[0];;
var lst = arguments[1];;
 
  return function() {if ((! ( lst !== false)) !== false) {
return false;
;
}  else if (( 0 ===  ( lst || []).length) !== false) {
return false;
;
}  else if (findFunc ( ( lst &&  lst[0])) !== false) {
return ( lst &&  lst[0]);
;
}  else if (true !== false) {
return jsclFindIf ( findFunc, ( lst &&  lst.length > 1 &&  lst.slice(1)));
;
}  else { return false; }}();

}
;function jsclGetf () {var lst = arguments[0];;
var symb = arguments[1];;
 
  return function() {if ((! ( lst !== false)) !== false) {
return false;
;
}  else if (( 0 ===  ( lst || []).length) !== false) {
return false;
;
}  else if (( symb ===  ( lst &&  lst[0])) !== false) {
return ( lst &&  lst.length > 1 &&  lst[1]);
;
}  else if (true !== false) {
return jsclGetf ( ( lst &&  lst.slice(2)), symb);
;
}  else { return false; }}();

}
;function jsclListp () {var lst = arguments[0];;
 
return (typeof lst == 'object') && lst.constructor.toString().match(/ Araray *()/) !== null}
;function append () { 

 realLists = new Array();
 for(var idx = 0 ; idx < arguments.length ; idx++) {
   if(arguments[idx]) {
     realLists[realLists.length] = arguments[idx];
   }
 }

 if(realLists.length == 0) {
   return false;
 } else if (realLists.length == 1) {
   return realLists[0];
 } else {
   return realLists[0].concat.apply(realLists[0], realLists.slice(1));;
 }
 }
;