/*
 * jqModal - Minimalist Modaling with jQuery
 *   (http://dev.iceburg.net/jquery/jqModal/)
 *
 * Copyright (c) 2007,2008 Brice Burgess <bhb@iceburg.net>
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * $Version: 07/06/2008 +r13
 */
(function($) {
$.fn.jqm=function(o){
var p={
overlay: 50,
overlayClass: 'jqmOverlay',
closeClass: 'jqmClose',
trigger: '.jqModal',
ajax: F,
ajaxText: '',
target: F,
modal: F,
toTop: F,
onShow: F,
onHide: F,
onLoad: F
};
return this.each(function(){if(this._jqm)return H[this._jqm].c=$.extend({},H[this._jqm].c,o);s++;this._jqm=s;
H[s]={c:$.extend(p,$.jqm.params,o),a:F,w:$(this).addClass('jqmID'+s),s:s};
if(p.trigger)$(this).jqmAddTrigger(p.trigger);
});};

$.fn.jqmAddClose=function(e){return hs(this,e,'jqmHide');};
$.fn.jqmAddTrigger=function(e){return hs(this,e,'jqmShow');};
$.fn.jqmShow=function(t){return this.each(function(){$.jqm.open(this._jqm,t);});};
$.fn.jqmHide=function(t){return this.each(function(){$.jqm.close(this._jqm,t)});};

$.jqm = {
hash:{},
open:function(s,t){var h=H[s],c=h.c,cc='.'+c.closeClass,z=(parseInt(h.w.css('z-index'))),z=(z>0)?z:3000,o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});if(h.a)return F;h.t=t;h.a=true;h.w.css('z-index',z);
 if(c.modal) {if(!A[0])L('bind');A.push(s);}
 else if(c.overlay > 0)h.w.jqmAddClose(o);
 else o=F;

 h.o=(o)?o.addClass(c.overlayClass).prependTo('body'):F;
 if(ie6){$('html,body').css({height:'100%',width:'100%'});if(o){o=o.css({position:'absolute'})[0];for(var y in {Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'");}}

 if(c.ajax) {var r=c.target||h.w,u=c.ajax,r=(typeof r == 'string')?$(r,h.w):$(r),u=(u.substr(0,1) == '@')?$(t).attr(u.substring(1)):u;
  r.html(c.ajaxText).load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));e(h);});}
 else if(cc)h.w.jqmAddClose($(cc,h.w));

 if(c.toTop&&h.o)h.w.before('<span id="jqmP'+h.w[0]._jqm+'"></span>').insertAfter(h.o);
 (c.onShow)?c.onShow(h):h.w.show();e(h);return F;
},
close:function(s){var h=H[s];if(!h.a)return F;h.a=F;
 if(A[0]){A.pop();if(!A[0])L('unbind');}
 if(h.c.toTop&&h.o)$('#jqmP'+h.w[0]._jqm).after(h.w).remove();
 if(h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove();} return F;
},
params:{}};
var s=0,H=$.jqm.hash,A=[],ie6=$.browser.msie&&($.browser.version == "6.0"),F=false,
i=$('<iframe src="javascript:false;document.write(\'\');" class="jqm"></iframe>').css({opacity:0}),
e=function(h){if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if(!$('iframe.jqm',h.w)[0])h.w.prepend(i); f(h);},
f=function(h){try{$(':input:visible',h.w)[0].focus();}catch(_){}},
L=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m);},
m=function(e){var h=H[A[A.length-1]],r=(!$(e.target).parents('.jqmID'+h.s)[0]);if(r)f(h);return !r;},
hs=function(w,t,c){return w.each(function(){var s=this._jqm;$(t).each(function() {
 if(!this[c]){this[c]=[];$(this).click(function(){for(var i in {jqmShow:1,jqmHide:1})for(var s in this[i])if(H[this[i][s]])H[this[i][s]].w[i](this);return F;});}this[c].push(s);});});};
})(jQuery);

function jqm_fadeOut(h){
    h.w.fadeOut(200);
    h.o.fadeOut(300, function(){ h.o.remove(); });
}
function jqm_fadeIn(h){
    h.o.hide().fadeIn(200);
    h.w.fadeIn(300);
}


/**
 * Copyright (c) 2005 - 2010, James Auldridge
 * All rights reserved.
 *
 * Licensed under the BSD, MIT, and GPL (your choice!) Licenses:
 *  http://code.google.com/p/cookies/wiki/License
 *
 */
var jaaulde = window.jaaulde || {};
jaaulde.utils = jaaulde.utils || {};
jaaulde.utils.cookies = ( function()
{
	var resolveOptions, assembleOptionsString, parseCookies, constructor, defaultOptions = {
		expiresAt: null,
		path: '/',
		domain:  null,
		secure: false
	};
	/**
	* resolveOptions - receive an options object and ensure all options are present and valid, replacing with defaults where necessary
	*
	* @access private
	* @static
	* @parameter Object options - optional options to start with
	* @return Object complete and valid options object
	*/
	resolveOptions = function( options ){
            var returnValue, expireDate;
            if( typeof options !== 'object' || options === null ){ returnValue = defaultOptions; }
            else {
                returnValue = {
                    expiresAt: defaultOptions.expiresAt,
                    path: defaultOptions.path,
                    domain: defaultOptions.domain,
                    secure: defaultOptions.secure
                };

                if( typeof options.expiresAt === 'object' && options.expiresAt instanceof Date ){ returnValue.expiresAt = options.expiresAt; }
                else if( typeof options.hoursToLive === 'number' && options.hoursToLive !== 0 ){
                        expireDate = new Date();
                        expireDate.setTime( expireDate.getTime() + ( options.hoursToLive * 60 * 60 * 1000 ) );
                        returnValue.expiresAt = expireDate;
                }
                if( typeof options.path === 'string' && options.path !== '' ){ returnValue.path = options.path; }

                if( typeof options.domain === 'string' && options.domain !== '' ){ returnValue.domain = options.domain; }
                if( options.secure === true ){ returnValue.secure = options.secure; }
            }

            return returnValue;
        };
	/**
	* assembleOptionsString - analyze options and assemble appropriate string for setting a cookie with those options
	*
	* @access private
	* @static
	* @parameter options OBJECT - optional options to start with
	* @return STRING - complete and valid cookie setting options
	*/
	assembleOptionsString = function( options ) {
		options = resolveOptions( options );
		return (
			( typeof options.expiresAt === 'object' && options.expiresAt instanceof Date ? '; expires=' + options.expiresAt.toGMTString() : '' ) +
			'; path=' + options.path +
			( typeof options.domain === 'string' ? '; domain=' + options.domain : '' ) +
			( options.secure === true ? '; secure' : '' )
		);
	};
	/**
	* parseCookies - retrieve document.cookie string and break it into a hash with values decoded and unserialized
	*
	* @access private
	* @static
	* @return OBJECT - hash of cookies from document.cookie
	*/
	parseCookies = function(){
            var cookies = {}, i, pair, name, value, separated = document.cookie.split( ';' ), unparsedValue;
            for( i = 0; i < separated.length; i = i + 1 ){
                pair = separated[i].split( '=' );
                name = pair[0].replace( /^\s*/, '' ).replace( /\s*$/, '' );

                try{ value = decodeURIComponent( pair[1] ); }
                catch( e1 ) { value = pair[1]; }

                if( typeof JSON === 'object' && JSON !== null && typeof JSON.parse === 'function' ) {
                        try { unparsedValue = value; value = JSON.parse( value ); }
                        catch( e2 ) { value = unparsedValue; }
                }
                cookies[name] = value;
            }
            return cookies;
	};

	constructor = function(){};

	/**
	 * get - get one, several, or all cookies
	 *
	 * @access public
	 * @paramater Mixed cookieName - String:name of single cookie; Array:list of multiple cookie names; Void (no param):if you want all cookies
	 * @return Mixed - Value of cookie as set; Null:if only one cookie is requested and is not found; Object:hash of multiple or all cookies (if multiple or all requested);
	 */
	constructor.prototype.get = function( cookieName, expectingObj ) {
		var returnValue, item, cookies = parseCookies();

		if( typeof cookieName === 'string' ) {
			returnValue = ( typeof cookies[cookieName] !== 'undefined' ) ? cookies[cookieName] : null;
                        if(expectingObj && typeof returnValue==='string') returnValue = eval('('+returnValue+')');
		}
		else if( typeof cookieName === 'object' && cookieName !== null ) {
			returnValue = {};
			for( item in cookieName ) {
				if( typeof cookies[cookieName[item]] !== 'undefined' ) {
                                        var tmp = cookies[cookieName[item]];
                                        if(expectingObj && typeof returnValue==='string') tmp = eval('('+tmp+')');
					returnValue[cookieName[item]] = tmp;
				}
				else { returnValue[cookieName[item]] = null; }
			}
		}
		else { returnValue = cookies; }
		return returnValue;
	};
	/**
	 * filter - get array of cookies whose names match the provided RegExp
	 *
	 * @access public
	 * @paramater Object RegExp - The regular expression to match against cookie names
	 * @return Mixed - Object:hash of cookies whose names match the RegExp
	 */
	constructor.prototype.filter = function( cookieNameRegExp ) {
		var cookieName, returnValue = {}, cookies = parseCookies();
		if( typeof cookieNameRegExp === 'string' ) { cookieNameRegExp = new RegExp( cookieNameRegExp ); }
		for( cookieName in cookies ) {
			if( cookieName.match( cookieNameRegExp ) ) { returnValue[cookieName] = cookies[cookieName]; }
		}
		return returnValue;
	};
	/**
	 * set - set or delete a cookie with desired options
	 *
	 * @access public
	 * @paramater String cookieName - name of cookie to set
	 * @paramater Mixed value - Any JS value. If not a string, will be JSON encoded; NULL to delete
	 * @paramater Object options - optional list of cookie options to specify
	 * @return void
	 */
	constructor.prototype.set = function( cookieName, value, options ) {
		if( typeof options !== 'object' || options === null ) { options = {}; }
		if( typeof value === 'undefined' || value === null ) {
			value = '';
			options.hoursToLive = -8760;
		}
		else if( typeof value !== 'string' ) {
			if( typeof JSON === 'object' && JSON !== null && typeof JSON.stringify === 'function' ) { value = JSON.stringify( value ); }
			else { throw new Error( 'cookies.set() received non-string value and could not serialize.' ); }
		}
		var optionsString = assembleOptionsString( options );
		document.cookie = cookieName + '=' + encodeURIComponent( value ) + optionsString;
	};
	/**
	 * del - delete a cookie (domain and path options must match those with which the cookie was set; this is really an alias for set() with parameters simplified for this use)
	 *
	 * @access public
	 * @paramater MIxed cookieName - String name of cookie to delete, or Bool true to delete all
	 * @paramater Object options - optional list of cookie options to specify ( path, domain )
	 * @return void
	 */
	constructor.prototype.del = function( cookieName, options ) {
		var allCookies = {}, name;

		if( typeof options !== 'object' || options === null ) { options = {}; }

		if( typeof cookieName === 'boolean' && cookieName === true ) { allCookies = this.get(); }
		else if( typeof cookieName === 'string' ) { allCookies[cookieName] = true; }

		for( name in allCookies ) {
			if( typeof name === 'string' && name !== '' ) { this.set( name, null, options ); }
		}
	};
	/**
	 * test - test whether the browser is accepting cookies
	 *
	 * @access public
	 * @return Boolean
	 */
	constructor.prototype.test = function() {
		var returnValue = false, testName = 'cT', testValue = 'data';
		this.set( testName, testValue );
		if( this.get( testName ) === testValue ) {
			this.del( testName );
			returnValue = true;
		}

		return returnValue;
	};
	/**
	 * setOptions - set default options for calls to cookie methods
	 *
	 * @access public
	 * @param Object options - list of cookie options to specify
	 * @return void
	 */
	constructor.prototype.setOptions = function( options ) {
		if( typeof options !== 'object' ) { options = null; }
		defaultOptions = resolveOptions( options );
	};
	return new constructor();
} )();

( function(){
    if( window.jQuery ) {
        ( function( $ ){
            $.cookies = jaaulde.utils.cookies;
            var extensions = {
            /**
            * $( 'selector' ).cookify - set the value of an input field, or the innerHTML of an element, to a cookie by the name or id of the field or element
            *                           (field or element MUST have name or id attribute)
            *
            * @access public
            * @param options OBJECT - list of cookie options to specify
            * @return jQuery
            */
            cookify: function( options ) {
                    return this.each( function() {
                            var i, nameAttrs = ['name', 'id'], name, $this = $( this ), value;
                            for( i in nameAttrs ) {
                                    if( ! isNaN( i ) ) {
                                            name = $this.attr( nameAttrs[ i ] );
                                            if( typeof name === 'string' && name !== '' ) {
                                                    if( $this.is( ':checkbox, :radio' ) ) {
                                                            if( $this.attr( 'checked' ) ) { value = $this.val(); }
                                                    }
                                                    else if( $this.is( ':input' ) ) { value = $this.val(); }
                                                    else { value = $this.html(); }
                                                    if( typeof value !== 'string' || value === '' ) { value = null; }
                                                    $.cookies.set( name, value, options );
                                                    break;
                                            }
                                    }
                            }
                    } );
            },
            /**
            * $( 'selector' ).cookieFill - set the value of an input field or the innerHTML of an element from a cookie by the name or id of the field or element
            *
            * @access public
            * @return jQuery
            */
            cookieFill: function() {
                    return this.each( function() {
                            var n, getN, nameAttrs = ['name', 'id'], name, $this = $( this ), value;
                            getN = function() {
                                    n = nameAttrs.pop();
                                    return !! n;
                            };
                            while( getN() ) {
                                    name = $this.attr( n );
                                    if( typeof name === 'string' && name !== '' ) {
                                            value = $.cookies.get( name );
                                            if( value !== null ) {
                                                    if( $this.is( ':checkbox, :radio' ) ) {
                                                            if( $this.val() === value ) { $this.attr( 'checked', 'checked' ); }
                                                            else { $this.removeAttr( 'checked' ); }
                                                    }
                                                    else if( $this.is( ':input' ) ) { $this.val( value ); }
                                                    else { $this.html( value ); }
                                            }

                                            break;
                                    }
                            }
                    } );
            },
            /**
            * $( 'selector' ).cookieBind - call cookie fill on matching elements, and bind their change events to cookify()
            *
            * @access public
            * @param options OBJECT - list of cookie options to specify
            * @return jQuery
            */
            cookieBind: function( options ) {
                    return this.each( function() {
                            var $this = $( this );
                            $this.cookieFill().change( function() {
                                    $this.cookify( options );
                            } );
                    } );
            }
            };
            $.each( extensions, function( i ) {
                    $.fn[i] = this;
            } );
    } )( window.jQuery );
    }
} )();






(function($) {
    $.timer = function(callback, delay, autostart, spinner_obj) {

        var timerId,
             spinnerId,
             spinner = null,
             spinner_wid = 0,
             spinner_frames = 0,
             spinner_curpos = 0,
             spinner_intv = 0,
             start = (new Date()).getTime(),
             remaining = delay,
             timerObj = this;
             
        if(spinner_obj){
            spinner = $(spinner_obj.selector);
            spinner_wid = spinner_obj.width;
            spinner_frames = spinner_obj.frames;
            spinner_intv = Math.floor(delay/spinner_frames);
        }

        this.stopSpinner = function() {
            if(!spinner_obj) return;
            clearInterval(spinnerId);
        }

        this.resetSpinner = function() {
            if(!spinner_obj) return;
            spinner_curpos = 0;
            this.stopSpinner();
            this.startSpinner();
        }

        this.startSpinner = function() {
            if(!spinner_obj) return;
            spinnerId = setInterval(function(){
                spinner_curpos -= spinner_wid;
                if(Math.abs(spinner_curpos) >= (spinner_wid*spinner_frames)){
                    spinner_curpos = 0;
                }
                spinner.css("background-position", spinner_curpos+"px 0px");
            }, spinner_intv);
        };

        this.pause = function() {
            this.stop();
            remaining = delay - ((new Date()).getTime() - start);
        };

        this.stop = function() {
            this.stopSpinner();
            clearInterval(timerId);
            clearTimeout(timerId);
            remaining = delay;
        }

        this.resume = function() {
            start = new Date((new Date()).getTime() - (delay-remaining));
            timerId = setTimeout(function(){
                $(callback);
                timerObj.play();
            }, remaining);
            this.startSpinner();
        };

        this.play = function() {
            this.stop();
            start = (new Date()).getTime();
            this.resetSpinner();
            timerId = setInterval(function(){
                start = (new Date()).getTime();
                timerObj.resetSpinner();
                $(callback);
            }, delay);
        }

        if(autostart)
            this.play();

        return this;
    };
})(jQuery);





/**
 * SWFObject v1.4.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for
 *   legal reasons.
 */
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.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();
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(){
var _23=new deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=navigator.plugins["Shockwave Flash"];
if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}
catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}
catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}
catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}
return _23;};
deconcept.PlayerVersion=function(_27){
this.major=_27[0]!=null?parseInt(_27[0]):0;
this.minor=_27[1]!=null?parseInt(_27[1]):0;
this.rev=_27[2]!=null?parseInt(_27[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(_29){
var q=document.location.search||document.location.hash;
if(q){var _2b=q.substring(1).split("&");
for(var i=0;i<_2b.length;i++){
if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){
return _2b[i].substring((_2b[i].indexOf("=")+1));}}}
return "";}};
deconcept.SWFObjectUtil.cleanupSWFs=function(){if(window.opera||!document.all){return;}
var _2d=document.getElementsByTagName("OBJECT");
for(var i=0;i<_2d.length;i++){_2d[i].style.display="none";for(var x in _2d[i]){
if(typeof _2d[i][x]=="function"){_2d[i][x]=function(){};}}}};
deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};
__flash_savedUnloadHandler=function(){};
if(typeof window.onunload=="function"){
var _30=window.onunload;
window.onunload=function(){
deconcept.SWFObjectUtil.cleanupSWFs();_30();};
}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}};
if(typeof window.onbeforeunload=="function"){
var oldBeforeUnload=window.onbeforeunload;
window.onbeforeunload=function(){
deconcept.SWFObjectUtil.prepUnload();
oldBeforeUnload();};
}else{window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;}
if(Array.prototype.push==null){
Array.prototype.push=function(_31){
this[this.length]=_31;
return this.length;};}
var getQueryParamValue=deconcept.util.getRequestParameter;
var FlashObject=deconcept.SWFObject;
var SWFObject=deconcept.SWFObject;




jQuery.extend( {
    equilize: function(a, b, min) {
		var hParam = (!min || ($.browser.msie && $.browser.version <= 7)) ? "height" : "min-height";
		var aH = ($(a).length==0) ? false : ($(a).outerHeight(1));
		var bH = ($(b).length==0) ? false : ($(b).outerHeight(1));
		if(!aH && !bH) return false;

		if(aH > bH){
			var div = $(b).find(".content_top").filter(":last");
			if(div[0].tagName=="SCRIPT") div = div.prev();
                        div.css(hParam,div.height() + (aH-bH));
		} else {
			var div = $(a).find(".content_top").filter(":last");
			if(div[0].tagName=="SCRIPT") div = div.prev();
                        div.css(hParam,div.height() + (bH-aH));
		}
        return true;
    }
});



jQuery.extend( {
    equilize2col: function() {
		var aH = $("#content").outerHeight(1);
		var bH = $("#right-rail-wrapper").outerHeight(1);
		if(!aH && !bH) return false;
		if(aH > bH){
                    var div = $("#right-rail-wrapper").find(".content_top").filter(":last");
                    div.css("height",div.height() + (aH-bH));
		} else {
                    var div = $("#content").find(".content_top").filter(":last");
                    div.css("height",div.height() + (bH-aH));
		}
        return true;
    }
});

