var sajax_debug_mode = false; var sajax_request_type = "POST"; var sajax_target_id = ""; var sajax_failure_redirect = ""; function sajax_debug(text) { if (sajax_debug_mode)
alert(text);}
function sajax_init_object() { sajax_debug("sajax_init_object() called..")
var A; var msxmlhttp = new Array( 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'); for (var i = 0; i < msxmlhttp.length; i++) { try { A = new ActiveXObject(msxmlhttp[i]);} catch (e) { A = null;}
}
if(!A && typeof XMLHttpRequest != "undefined")
A = new XMLHttpRequest(); if (!A)
sajax_debug("Could not create connection object."); return A;}
var sajax_requests = new Array(); function sajax_cancel() { for (var i = 0; i < sajax_requests.length; i++)
sajax_requests[i].abort();}
function sajax_do_call(func_name, args) { var i, x, n; var uri; var post_data; var target_id; sajax_debug("in sajax_do_call().." + sajax_request_type + "/" + sajax_target_id); target_id = sajax_target_id; if (typeof(sajax_request_type) == "undefined" || sajax_request_type == "")
sajax_request_type = "GET"; uri = "/index.php"; if (sajax_request_type == "GET") { if (uri.indexOf("?") == -1)
uri += "?rs=" + escape(func_name); else
uri += "&rs=" + escape(func_name); uri += "&rst=" + escape(sajax_target_id); uri += "&rsrnd=" + new Date().getTime(); for (i = 0; i < args.length-1; i++)
uri += "&rsargs[]=" + escape(args[i]); post_data = null;}
else if (sajax_request_type == "POST") { post_data = "rs=" + escape(func_name); post_data += "&rst=" + escape(sajax_target_id); post_data += "&rsrnd=" + new Date().getTime(); for (i = 0; i < args.length-1; i++)
post_data = post_data + "&rsargs[]=" + escape(args[i]);}
else { alert("Illegal request type: " + sajax_request_type);}
x = sajax_init_object(); if (x == null) { if (sajax_failure_redirect != "") { location.href = sajax_failure_redirect; return false;} else { sajax_debug("NULL sajax object for user agent:\n" + navigator.userAgent); return false;}
} else { x.open(sajax_request_type, uri, true); sajax_requests[sajax_requests.length] = x; if (sajax_request_type == "POST") { x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1"); x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");}
x.onreadystatechange = function() { if (x.readyState != 4)
return; sajax_debug("received " + x.responseText); var status; var data; var txt = x.responseText.replace(/^\s*|\s*$/g,""); status = txt.charAt(0); data = txt.substring(2); if (status == "") { } else if (status == "-")
alert("Error: " + data); else { if (target_id != "")
document.getElementById(target_id).innerHTML = eval(data); else { try { var callback; var extra_data = false; if (typeof args[args.length-1] == "object") { callback = args[args.length-1].callback; extra_data = args[args.length-1].extra_data;} else { callback = args[args.length-1];}
callback(eval(data), extra_data);} catch (e) { sajax_debug("Caught error " + e + ": Could not eval " + data );}
}
}
}
}
sajax_debug(func_name + " uri = " + uri + "/post = " + post_data); x.send(post_data); sajax_debug(func_name + " waiting.."); delete x; return true;}
function x_log_stream() { sajax_do_call("log_stream", x_log_stream.arguments);}
function x_get_comments() { sajax_do_call("get_comments", x_get_comments.arguments);}
function x_add_comment() { sajax_do_call("add_comment", x_add_comment.arguments);}
function x_get_gravatar() { sajax_do_call("get_gravatar", x_get_gravatar.arguments);}
if(typeof deconcept=="undefined"){var deconcept=new Object();}
if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}
if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){ if(!document.createElement||!document.getElementById){return;}
this.DETECT_KEY=_b?_b:"detectflash"; this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY); this.params=new Object(); this.variables=new Object(); this.attributes=new Array(); if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion(this.getAttribute("version"),_7); if(c){this.addParam("bgcolor",c);}
var q=_8?_8:"high"; this.addParam("quality",q); this.setAttribute("useExpressInstall",_7); this.setAttribute("doExpressInstall",false); var _d=(_9)?_9:window.location; this.setAttribute("xiRedirectUrl",_d); this.setAttribute("redirectUrl",""); if(_a){this.setAttribute("redirectUrl",_a);}}; deconcept.SWFObject.prototype={setAttribute:function(_e,_f){ this.attributes[_e]=_f;},getAttribute:function(_10){ return this.attributes[_10];},addParam:function(_11,_12){ this.params[_11]=_12;},getParams:function(){ return this.params;},addVariable:function(_13,_14){ this.variables[_13]=_14;},getVariable:function(_15){ return this.variables[_15];},getVariables:function(){ return this.variables;},getVariablePairs:function(){ var _16=new Array(); var key; var _18=this.getVariables(); for(key in _18){_16.push(key+"="+_18[key]);}
return _16;},getSWFHTML:function(){ var _19=""; if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){ if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\""; _19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" "; var _1a=this.getParams(); for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}
var _1c=this.getVariablePairs().join("&"); if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}
_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">"; _19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />"; var _1d=this.getParams(); for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var _1f=this.getVariablePairs().join("&"); if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}
return _19;},write:function(_20){ if(this.getAttribute("useExpressInstall")){ var _21=new deconcept.PlayerVersion([6,0,65]); if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){ this.setAttribute("doExpressInstall",true); this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl"))); document.title=document.title.slice(0,47)+" - Flash Player Installation"; this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){ var n=(typeof _20=="string")?document.getElementById(_20):_20; n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}}; deconcept.SWFObjectUtil.getPlayerVersion=function(_23,_24){ var _25=new deconcept.PlayerVersion([0,0,0]); if(navigator.plugins&&navigator.mimeTypes.length){ var x=navigator.plugins["Shockwave Flash"]; if(x&&x.description){_25=new deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); for(var i=3;axo!=null;i++){axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);_25=new deconcept.PlayerVersion([i,0,0]);}}
catch(e){}
if(_23&&_25.major>_23.major){return _25;}
if(!_23||((_23.minor!=0||_23.rev!=0)&&_25.major==_23.major)||_25.major!=6||_24){ try{_25=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}
catch(e){}}}return _25;}; deconcept.PlayerVersion=function(_29){ this.major=parseInt(_29[0])!=null?parseInt(_29[0]):0; this.minor=parseInt(_29[1])||0; this.rev=parseInt(_29[2])||0;}; deconcept.PlayerVersion.prototype.versionIsValid=function(fv){ if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){return false;}return true;}; deconcept.util={getRequestParameter:function(_2b){ var q=document.location.search||document.location.hash; if(q){var _2d=q.indexOf(_2b+"="); var _2e=(q.indexOf("&",_2d)>-1)?q.indexOf("&",_2d):q.length; if(q.length>1&&_2d>-1){return q.substring(q.indexOf("=",_2d)+1,_2e);}}
return "";}}; deconcept.SWFObjectUtil.cleanupSWFs=function(){ var _2f=document.getElementsByTagName("OBJECT"); for(var i=0;i<_2f.length;i++){ for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=null;}}}}; if(typeof window.onunload=="function"){ var oldunload=window.onunload; window.onunload=function(){deconcept.SWFObjectUtil.cleanupSWFs();oldunload();};}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}
if(Array.prototype.push==null){ Array.prototype.push=function(_32){ this[this.length]=_32; return this.length;};}
var getQueryParamValue = deconcept.util.getRequestParameter; var FlashObject = deconcept.SWFObject; var SWFObject = deconcept.SWFObject; 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) { if (ch <= ' ') { next();} else if (ch == '/') { switch (next()) { case '/':
while (next() && ch != '\n' && ch != '\r') {}
break; case '*':
next(); for (;;) { if (ch) { if (ch == '*') { if (next() == '/') { next(); break;}
} else { next();}
} else { error("Unterminated comment");}
}
break; default:
error("Syntax error");}
} else { break;}
}
}
function string() { 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 array() { var a = []; if (ch == '[') { next(); white(); if (ch == ']') { next(); return a;}
while (ch) { a.push(value()); white(); if (ch == ']') { next(); return a;} else if (ch != ',') { break;}
next(); white();}
}
error("Bad array");}
function object() { var k, o = {}; if (ch == '{') { next(); white(); if (ch == '}') { next(); return o;}
while (ch) { k = string(); white(); if (ch != ':') { break;}
next(); o[k] = value(); white(); if (ch == '}') { next(); return o;} else if (ch != ',') { break;}
next(); white();}
}
error("Bad object");}
function number() { 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)) { } 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 value() { white(); switch (ch) { case '{':
return object(); case '[':
return array(); case '"':
return string(); case '-':
return number(); default:
return ch >= '0' && ch <= '9' ? number() : word();}
}
return value();}
}; var Class = { create: function() { return function() { this.initialize.apply(this, arguments);}
}
}
Object.extend = function(destination, source) { for (property in source) destination[property] = source[property]; return destination;}
Function.prototype.bind = function(object) { var __method = this; return function() { return __method.apply(object, arguments);}
}
Function.prototype.bindAsEventListener = function(object) { var __method = this; return function(event) { __method.call(object, event || window.event);}
}
function $() { if (arguments.length == 1) return get$(arguments[0]); var elements = []; $c(arguments).each(function(el){ elements.push(get$(el));}); return elements; function get$(el){ if (typeof el == 'string') el = document.getElementById(el); return el;}
}
if (!window.Element) var Element = new Object(); Object.extend(Element, { remove: function(element) { element = $(element); element.parentNode.removeChild(element);}, hasClassName: function(element, className) { element = $(element); if (!element) return; var hasClass = false; element.className.split(' ').each(function(cn){ if (cn == className) hasClass = true;}); return hasClass;}, addClassName: function(element, className) { element = $(element); Element.removeClassName(element, className); element.className += ' ' + className;}, removeClassName: function(element, className) { element = $(element); if (!element) return; var newClassName = ''; element.className.split(' ').each(function(cn, i){ if (cn != className){ if (i > 0) newClassName += ' '; newClassName += cn;}
}); element.className = newClassName;}, cleanWhitespace: function(element) { element = $(element); $c(element.childNodes).each(function(node){ if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) Element.remove(node);});}, find: function(element, what) { element = $(element)[what]; while (element.nodeType != 1) element = element[what]; return element;}
}); var Position = { cumulativeOffset: function(element) { var valueT = 0, valueL = 0; do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; element = element.offsetParent;} while (element); return [valueL, valueT];}
}; document.getElementsByClassName = function(className) { var children = document.getElementsByTagName('*') || document.all; var elements = []; $c(children).each(function(child){ if (Element.hasClassName(child, className)) elements.push(child);}); return elements;}
Array.prototype.iterate = function(func){ for(var i=0;i<this.length;i++) func(this[i], i);}
if (!Array.prototype.each) Array.prototype.each = Array.prototype.iterate; function $c(array){ var nArray = []; for (var i=0;i<array.length;i++) nArray.push(array[i]); return nArray;}
var fx = new Object(); fx.Base = function(){}; fx.Base.prototype = { setOptions: function(options) { this.options = { duration: 500, onComplete: '', transition: fx.sinoidal
}
Object.extend(this.options, options || {});}, step: function() { var time = (new Date).getTime(); if (time >= this.options.duration+this.startTime) { this.now = this.to; clearInterval (this.timer); this.timer = null; if (this.options.onComplete) setTimeout(this.options.onComplete.bind(this), 10);}
else { var Tpos = (time - this.startTime) / (this.options.duration); this.now = this.options.transition(Tpos) * (this.to-this.from) + this.from;}
this.increase();}, custom: function(from, to) { if (this.timer != null) return; this.from = from; this.to = to; this.startTime = (new Date).getTime(); this.timer = setInterval (this.step.bind(this), 13);}, hide: function() { this.now = 0; this.increase();}, clearTimer: function() { clearInterval(this.timer); this.timer = null;}
}
fx.Layout = Class.create(); fx.Layout.prototype = Object.extend(new fx.Base(), { initialize: function(el, options) { this.el = $(el); this.el.style.overflow = "hidden"; this.iniWidth = this.el.offsetWidth; this.iniHeight = this.el.offsetHeight; this.setOptions(options);}
}); fx.Height = Class.create(); Object.extend(Object.extend(fx.Height.prototype, fx.Layout.prototype), { increase: function() { this.el.style.height = this.now + "px";}, toggle: function() { if (this.el.offsetHeight > 0) this.custom(this.el.offsetHeight, 0); else this.custom(0, this.el.scrollHeight);}, resize: function() { this.custom(this.el.offsetHeight, ((document.getElementById('combiosep').offsetTop - document.getElementById('comments').offsetTop)+30));}
}); fx.Width = Class.create(); Object.extend(Object.extend(fx.Width.prototype, fx.Layout.prototype), { increase: function() { this.el.style.width = this.now + "px";}, toggle: function(){ if (this.el.offsetWidth > 0) this.custom(this.el.offsetWidth, 0); else this.custom(0, this.iniWidth);}
}); fx.Opacity = Class.create(); fx.Opacity.prototype = Object.extend(new fx.Base(), { initialize: function(el, options) { this.el = $(el); this.now = 1; this.increase(); this.setOptions(options);}, increase: function() { if (this.now == 1 && (/Firefox/.test(navigator.userAgent))) this.now = 0.9999; this.setOpacity(this.now);}, setOpacity: function(opacity) { if (opacity == 0 && this.el.style.visibility != "hidden") this.el.style.visibility = "hidden"; else if (this.el.style.visibility != "visible") this.el.style.visibility = "visible"; if (window.ActiveXObject) this.el.style.filter = "alpha(opacity=" + opacity*100 + ")"; this.el.style.opacity = opacity;}, toggle: function() { if (this.now > 0) this.custom(1, 0); else this.custom(0, 1);}
}); fx.Scroll = Class.create(); fx.Scroll.prototype = Object.extend(new fx.Base(), { initialize: function(options) { this.setOptions(options);}, scrollTo: function(el){ var dest = Position.cumulativeOffset($(el))[1]; var client = window.innerHeight || document.documentElement.clientHeight; var full = document.documentElement.scrollHeight; var top = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop; if (dest+client > full) this.custom(top, dest - client + (full-dest)); else this.custom(top, dest);}, increase: function(){ window.scrollTo(0, this.now);}
}); fx.sinoidal = function(pos){ return ((-Math.cos(pos*Math.PI)/2) + 0.5);}
fx.linear = function(pos){ return pos;}
fx.cubic = function(pos){ return Math.pow(pos, 3);}
fx.circ = function(pos){ return Math.sqrt(pos);}
fx.expoIn = function(pos){ return Math.pow(2, 10 * (pos - 1));}
fx.expoOut = function(pos){ return (-Math.pow(2, -10 * pos) + 1);}
fx.quadIn = function(pos){ return Math.pow(pos, 2);}
fx.quadOut = function(pos){ return -(pos)*(pos-2);}
fx.circOut = function(pos){ return Math.sqrt(1 - Math.pow(pos-1,2));}
fx.circIn = function(pos){ return -(Math.sqrt(1 - Math.pow(pos, 2)) - 1);}
fx.backIn = function(pos){ return (pos)*pos*((2.7)*pos - 1.7);}
fx.backOut = function(pos){ return ((pos-1)*(pos-1)*((2.7)*(pos-1) + 1.7) + 1);}
fx.sineOut = function(pos){ return Math.sin(pos * (Math.PI/2));}
fx.sineIn = function(pos){ return -Math.cos(pos * (Math.PI/2)) + 1;}
fx.sineInOut = function(pos){ return -(Math.cos(Math.PI*pos) - 1)/2;}
var hasIE_phone_home = 1; function hasIE_hasIE() { var ua = navigator.userAgent.toLowerCase(); return ((ua.indexOf('msie') != -1) && (ua.indexOf('opera') == -1) &&
(ua.indexOf('webtv') == -1) &&
(location.href.indexOf('seenIEPage') == -1));}
function hasIE_showOnlyLayer(whichLayer)
{ if (document.getElementById)
{ var style2 = document.getElementById(whichLayer);}
else if (document.all)
{ var style2 = document.all[whichLayer];}
else if (document.layers)
{ var style2 = document.layers[whichLayer];}
var body = document.getElementsByTagName('body'); body[0].innerHTML = style2.innerHTML;}
function hasIE_showLayer(whichLayer)
{ if (document.getElementById)
{ var style2 = document.getElementById(whichLayer).style; style2.display = "block";}
else if (document.all)
{ var style2 = document.all[whichLayer].style; style2.display = "block";}
else if (document.layers)
{ var style2 = document.layers[whichLayer].style; style2.display = "block";}
}
function hasIE_moveAd(adid) { if (document.getElementById)
{ var ad = document.getElementById('hasIE_ad'); var adloc = document.getElementById(adid);}
else if (document.all)
{ var ad = document.all['hasIE_ad']; var adloc = document.all[adid];}
else if (document.layers)
{ var ad = document.layers['hasIE_ad']; var adloc = document.layers[adid];}
adloc.innerHTML = ad.innerHTML;}
function hasIE_hideAndShow() { if (hasIE_hasIE()) { hasIE_showOnlyLayer("hasIE_level2"); if (hasIE_phone_home == 1)
hasIE_phoneHome('getIE_pingimage2');} else { if (hasIE_phone_home == 1)
hasIE_phoneHome('getIE_pingimage0');}
}
function hasIE_phoneHome(image) { if (document.getElementById)
{ var img = document.getElementById(image);}
else if (document.all)
{ var img = document.all[image];}
else if (document.layers)
{ var img = document.layers[image];}
img.setAttribute('src','http://getunder50.com/ping.php?host='+location.host);}
function hasIE_ContinueWithoutFF() { if (location.href.indexOf('?') != -1)
location.href += '&seenIEPage=1'; else
location.href += '?seenIEPage=1';}
