var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();

(function($) {function DateSelector(intInstanceId) {this._intInstanceId = intInstanceId;this.debug = true;this._nextId = 0;this._ele = null;this._inst = [];this._curInst = null;this._disabledInputs = [];this._dateselectorShowing = false;this._inDialog = false;
this.regional = [];this.regional[''] = {clearText: 'Clear',clearStatus: 'Erase the current date',prevText: '',prevStatus: 'Show the previous month',nextText: '',
nextStatus: 'Show the next month',currentText: 'Today',currentStatus: 'Show the current month',
monthNames: ['January','February','March','April','May','June','July','August','September','October','November','December'],monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],monthStatus: 'Show a different month',yearStatus: 'Show a different year',weekHeader: 'Wk',weekStatus: 'Week of the year',dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
dayStatus: 'Set DD as first week day',dateStatus: 'Select DD, M d',dateFormat: 'mm/dd/yy',firstDay: 1,initStatus: 'Select a date'};
this._defaults = {toolBar:null,defaultDate: null,hideIfNoPrevNext: false,useDropDownSelectors:true,changeMonth: true,changeYear: true,
yearRange: '-10:+10',changeFirstDay: false,showOtherMonths: true,showWeeks: false,calculateWeek: this.iso8601Week,shortYearCutoff: '+10',
statusForDate: this.dateStatus,minDate: null,maxDate: null,beforeShowDay: null,beforeShow: null,onSelect: null,onClose: null,daysSelectable:true,stepMonths: 1,stepWeeks:1,view : "month",weekHeaderDefaultLeft:"dd MM yy",weekHeaderDefaultRight:"dd MM",weekHeaderPrevLeft	:"dd M",weekHeaderPrevRight	:"dd M yy",weekHeaderNextLeft	:"dd M",weekHeaderNextRight	:"dd M yy",	monthHeaderDefault:"MM yy"};
$.extend(this._defaults, this.regional['']);this._dateselectorDiv = $('<div id="ui-dateselector-div"></div>');}$.extend(DateSelector.prototype, {markerClassName: 'hasDateSelector',log: function (){if (this.debug && window.console){( $.browser.safari ) ?window.console.log(arguments[0]):window.console.log.apply('', arguments);}},
_register: function(inst) {	var id = this._nextId++;this._inst[id] = inst;return id;},_getInst: function(id) {return this._inst[id] || id;},setDefaults: function(settings) {extendRemove(this._defaults, settings || {});return this;},_getDefaultDateSelector : function( target, key ) {var inst = this._getInst(target._calId);return null;},
_attachDateSelector: function(target, settings) {var nsSettings = null;for (attrName in this._defaults) {var attrValue = target.getAttribute('date:' + attrName);
if (attrValue) {nsSettings = inlineSettings || {};try {nsSettings[attrName] = eval(attrValue);} catch (err) {nsSettings[attrName] = attrValue;}}}
var instSettings = ( nsSettings ?  $.extend(settings || {}, nsSettings || {}): settings );var inst = new DateSelectorInstance(instSettings, true, settings.id);this._createDateSelector(target, inst);},_destroyDateSelector: function(target) {var calId = target._calId;target._calId = null;var $target = $(target);$target.removeClass(this.markerClassName).empty();if ($('input[_calId=' + calId + ']').length == 0){this._inst[calId] = null;}},_setDateDateSelector: function(target, date, endDate) {if (inst == this._getInst(target._calId)) {inst._setDate(date, endDate);this._updateDateSelector(inst);}},
_createDateSelector: function( target, inst ) {this._ele = $(target);if (this._ele.is('.' + this.markerClassName)) return;this._ele.addClass(this.markerClassName).append(inst._dateselectorDiv).bind("setData.dateselector", function( event, key, value ){inst._settings[key] = value;}).bind("getData.dateselector", function( event, key){return inst._get(key);})
this._ele[0]._calId = inst._id;this._updateDateSelector( inst );},_updateDateSelector: function(inst) {inst._dateselectorDiv.empty().append( inst._generateDateSelector() );},_triggerEvent : function( evt , args ){this._ele.trigger(evt, args);},
_adjustDate: function(id, offset, period) {if(!$.week[this._intInstanceId]._weekDiv.is(':animated')){var inst = this._getInst( id );inst._adjustDate( offset, period );this._updateDateSelector(inst);}},_resetDateSelector: function( target ) {this._gotoToday(target._calId);},_gotoToday: function(id) {var date = new Date();var inst = this._getInst(id);inst._selectedDay = date.getDate();inst._drawMonth = inst._selectedMonth = date.getMonth();
inst._drawYear = inst._selectedYear = date.getFullYear();this._adjustDate(inst);},_selectWeekMonthYear: function(id, select, period) {var inst = this._getInst(id);inst._selectingMonthYear = false;var option = select.options[select.selectedIndex].value - 0;switch(period){	case "W":inst['_drawWeek'] = option;break;case "M":inst['_drawMonth'] = option;break;case "Y":inst['_drawYear'] = option;break;}this._adjustDate( inst );},_changeFirstDay: function( id, day ) {$.dateselector[this._intInstanceId].log( '_changeFirstDay' );var inst = this._getInst(id);inst._settings.firstDay = day;this._updateDateSelector(inst);},
_selectDay: function( id,  month, year, td) {if ($(td).is('.ui-dateselector-unselectable')){return;}var inst = this._getInst(id);inst._selectedDay = inst._currentDay = $('a', td).html();inst._selectedMonth = inst._currentMonth = month;inst._selectedYear = inst._currentYear = year;var date = new Date( inst._selectedYear, inst._selectedMonth, inst._selectedDay );this._triggerEvent( 'onDateSelection', [date] );},noWeekends: function(date){var day = date.getDay();return [(day > 0 && day < 6), ''];},
getWeek: function( date ){var onejan = new Date( date.getFullYear(), 0, 1);return Math.ceil((((date - onejan) / 86400000) + onejan.getDay())/7);},startOfWeek: function( date ){var beg = date;beg.setDate(  beg.getDate() - (beg.getDay() || 7) + this._defaults.firstDay );beg.setHours(0);beg.setMinutes(0);beg.setSeconds(0);return beg;},endOfWeek: function( date ){var end = this.startOfWeek( date );end.setDate( end.getDate() + 6);return end;},iso8601Week: function(date){var checkDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), (date.getTimezoneOffset() / -60));
var firstMon = new Date(checkDate.getFullYear(), 1 - 1, 4);var firstDay = firstMon.getDay() || 7;firstMon.setDate(firstMon.getDate() + 1 - firstDay);if (firstDay < 4 && checkDate < firstMon) {checkDate.setDate(checkDate.getDate() - 3); return $.dateselector[this._intInstanceId].iso8601Week(checkDate);} else if (checkDate > new Date(checkDate.getFullYear(), 12 - 1, 28)) {firstDay = new Date(checkDate.getFullYear() + 1, 1 - 1, 4).getDay() || 7;if (firstDay > 4 && (checkDate.getDay() || 7) < firstDay - 3) {checkDate.setDate(checkDate.getDate() + 3); return $.dateselector[this._intInstanceId].iso8601Week(checkDate);}}return Math.floor(((checkDate - firstMon) / 86400000) / 7) + 1;},dateStatus: function(date, inst) {return $.dateselector[this._intInstanceId].formatDate(inst._get('dateStatus'), date, inst._getFormatConfig());},
parseDate: function (format, value, settings) {if (format == null || value == null){throw 'Invalid arguments';}value = (typeof value == 'object' ? value.toString() : value + '');if (value == ''){return null;}var shortYearCutoff = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff;var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort;var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames;var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort;var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames;var year = -1;var month = -1;var day = -1;var literal = false;var lookAhead = function(match) {var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match);if (matches){iFormat++;}return matches;	};var getNumber = function(match) {lookAhead(match);var size = (match == 'y' ? 4 : 2);var num = 0;while (size > 0 && iValue < value.length && value.charAt(iValue) >= '0' && value.charAt(iValue) <= '9') {
num = num * 10 + (value.charAt(iValue++) - 0);size--;}if (size == (match == 'y' ? 4 : 2)){throw 'Missing number at position ' + iValue;}return num;};var getName = function(match, shortNames, longNames) {var names = (lookAhead(match) ? longNames : shortNames);var size = 0;
for (var j = 0; j < names.length; j++){size = Math.max(size, names[j].length);}var name = '';var iInit = iValue;while (size > 0 && iValue < value.length) {name += value.charAt(iValue++);for (var i = 0; i < names.length; i++){	if (name == names[i]){return i + 1;}}size--;}
throw 'Unknown name at position ' + iInit;};var checkLiteral = function() {if (value.charAt(iValue) != format.charAt(iFormat)){throw 'Unexpected literal at position ' + iValue;}iValue++;};var iValue = 0;
for (var iFormat = 0; iFormat < format.length; iFormat++) {if (literal){ if (format.charAt(iFormat) == "'" && !lookAhead("'")){literal = false;} else{checkLiteral();}}else{switch (format.charAt(iFormat)){case 'd': day = getNumber('d');break;case 'D': getName('D', dayNamesShort, dayNames);break;case 'm': month = getNumber('m');break;case 'M': month = getName('M', monthNamesShort, monthNames);break;case 'y':year = getNumber('y');break;case "'":if (lookAhead("'")){checkLiteral();}else{literal = true;}break;default:checkLiteral();}}}if (year < 100) {year += new Date().getFullYear() - new Date().getFullYear() % 100 +(year <= shortYearCutoff ? 0 : -100);}var date = new Date(year, month - 1, day);if (date.getFullYear() != year || date.getMonth() + 1 != month || date.getDate() != day) {throw 'Invalid date';}return date;},formatDate: function (format, date, settings) {if (!date){return '';}var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort;var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames;var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort;var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames;var lookAhead = function(match) {var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match);
if (matches){iFormat++;}return matches;	};var formatNumber = function(match, value) { return (lookAhead(match) && value < 10 ? '0' : '') + value; };var formatName = function(match, value, shortNames, longNames) {return (lookAhead(match) ? longNames[value] : shortNames[value]);};var output = '';var literal = false;if (date) {for (var iFormat = 0; iFormat < format.length; iFormat++) {if (literal){if (format.charAt(iFormat) == "'" && !lookAhead("'")){literal = false;}else{output += format.charAt(iFormat);}}else{switch (format.charAt(iFormat)) {case 'd':output += formatNumber('d', date.getDate());break;case 'D':output += formatName('D', date.getDay(), dayNamesShort, dayNames);break;case 'm':output += formatNumber('m', date.getMonth() + 1); break;case 'M':output += formatName('M', date.getMonth(), monthNamesShort, monthNames);break;case 'y':output += (lookAhead('y') ? date.getFullYear() : (date.getYear() % 100 < 10 ? '0' : '') + date.getYear() % 100);break;case "'":if (lookAhead("'")){output += "'";}else{literal = true;}break;	default:output += format.charAt(iFormat);}}}}return output;},_possibleChars: function (format) {var chars = '';var literal = false;for (var iFormat = 0; iFormat < format.length; iFormat++){if (literal){if (format.charAt(iFormat) == "'" && !lookAhead("'")){literal = false;}else{chars += format.charAt(iFormat);}}else{switch (format.charAt(iFormat)) {case 'd' || 'm' || 'y':chars += '0123456789';break;case 'D' || 'M':return null;case "'": if (lookAhead("'")){ chars += "'";}else{literal = true;}break;default:chars += format.charAt(iFormat);}}}return chars;}});function DateSelectorInstance(settings, inline, intInstaceId) {this._intInstanceId = intInstaceId;this._id = $.dateselector[this._intInstanceId]._register(this);
this._rangeStart = 0; this._selectedDay = 0; this._selectedMonth = 0; this._selectedYear = 0; this._drawWeek = 0;this._drawMonth = 0; this._drawYear = 0; this._input = null; this._inline = inline;
this._dateselectorDiv = (!inline ? $.dateselector[this._intInstanceId]._dateselectorDiv :$('<div id="ui-dateselector-div-' + this._id + '" class="ui-dateselector-inline">'));this._settings = extendRemove(settings || {});if (inline){this._setDate(this._getDefaultDate());}}$.extend(DateSelectorInstance.prototype, {_get: function(name) {return this._settings[name] !== undefined ? this._settings[name] : $.dateselector[this._intInstanceId]._defaults[name];},
_getDefaultDate: function() {var date = this._determineDate('defaultDate', new Date());var minDate = this._getMinMaxDate('min', true);var maxDate = this._getMinMaxDate('max');date = (minDate && date < minDate ? minDate : date);date = (maxDate && date > maxDate ? maxDate : date);return date;},_determineDate: function(name, defaultDate) {var offsetNumeric = function(offset) {var date = new Date();date.setDate(date.getDate() + offset);return date;};
var offsetString = function(offset, getDaysInMonth) {var date = new Date();var matches = /^([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?$/.exec(offset);if (matches) {var year = date.getFullYear();var month = date.getMonth();var day = date.getDate();switch (matches[2] || 'd') {case 'd' : case 'D' :day += (matches[1] - 0); break;case 'w' : case 'W' :day += (matches[1] * 7); break;case 'm' : case 'M' :month += (matches[1] - 0); day = Math.min(day, getDaysInMonth(year, month));break;case 'y': case 'Y' :year += (matches[1] - 0);day = Math.min(day, getDaysInMonth(year, month));break;}date = new Date(year, month, day);}return date;};var date = this._get(name);	return (date == null ? defaultDate :(typeof date == 'string' ? offsetString(date, this._getDaysInMonth) :(typeof date == 'number' ? offsetNumeric(date) : date)));},_setDate: function(date, endDate) {	this._selectedDay = this._currentDay = date.getDate() - 1;this._drawMonth = this._selectedMonth = this._currentMonth = date.getMonth();this._drawYear = this._selectedYear = this._currentYear = date.getFullYear();this._adjustDate();},
_getDate: function(){var startDate = (!this._currentYear || (this._input && this._input.val() == '') ? null :new Date(this._currentYear, this._currentMonth, this._currentDay));return startDate;},_generateDateSelector: function( ) {var today = new Date();today = new Date( today.getFullYear(), today.getMonth(), today.getDate() );var minDate = this._getMinMaxDate('min', true);var maxDate = this._getMinMaxDate('max');var drawDay	= this._selectedDay;var drawWeek = this._drawWeek;var drawMonth	= this._drawMonth;var drawYear = this._drawYear; var selectedDate = new Date( drawYear, drawMonth, this._selectedDay );
var data = {minDate	: this._getMinMaxDate('min', true),maxDate	: this._getMinMaxDate('max'),drawDay: this._selectedDay,drawWeek : this._drawWeek,drawMonth: this._drawMonth,drawYear: this._drawYear}
var html = "";html += this._generateControls( today, selectedDate );html += '<div style="clear: both;"></div><br/><br/>';html += ( !this._get('useDropDownSelectors') ) ? '' : '<div class="ui-dateselector-one-month">'+ this._generateMonthYearHeader( drawDay, drawMonth, drawYear, minDate, maxDate, selectedDate) + '</div>';  // draw month headers
var data_array = ( this._get('view') == "month" ) ? this._generateMonth( ) : this._generateWeek( );data_array['date'] = selectedDate;data_array['formated_date'] = $.dateselector[this._intInstanceId].formatDate("yymmdd", selectedDate ); 
$.dateselector[this._intInstanceId]._triggerEvent('onUpdate', [ this._id , data_array ]);},_generateMonth : function( ){var array = [];var today = new Date();today = new Date( today.getFullYear(), today.getMonth(), today.getDate());var showWeeks = this._get('showWeeks');var minDate = this._getMinMaxDate('min', true);
var maxDate = this._getMinMaxDate('max');var drawDay = this._selectedDay;var drawWeek = this._drawWeek;var drawMonth = this._drawMonth;var drawYear = this._drawYear;var selectedDate = new Date( drawYear, drawMonth, this._selectedDay );array['header'] = [];if( showWeeks ){array['header'].push( { style:'', data:'<span>'+this._get('weekHeader')+'</span>' } );}
var firstDay = this._get('firstDay');var changeFirstDay	= this._get('changeFirstDay');var dayNames = this._get('dayNames');var dayNamesShort= this._get('dayNamesShort');var dayNamesMin = this._get('dayNamesMin');
for (var dow = 0; dow < 7; dow++) {	var day = (dow + firstDay) % 7;	var status = this._get('dayStatus') || '&#xa0;';status = (status.indexOf('DD') > -1 ? status.replace(/DD/, dayNames[day]) :	status.replace(/D/, dayNamesShort[day]));
var item = {};item.style = ((dow + firstDay + 6) % 7 >= 5 ? 'ui-dateselector-week-end-cell' : '');item.data  = (!changeFirstDay ? '<span' : '<a href="javascript:void(0);" onclick="jQuery.dateselector['+"'"+this._intInstanceId+"'"+']._changeFirstDay(' + this._id + ', ' + day + ');"') + '>' +dayNames[day] + (changeFirstDay ? '</a>' : '</span>');
array['header'].push( item );}array['content'] = [];var daysInMonth = this._getDaysInMonth( drawYear, drawMonth);if (drawYear == this._selectedYear && drawMonth == this._selectedMonth) {this._selectedDay = Math.min(this._selectedDay, daysInMonth);}var leadDays = (this._getFirstDayOfMonth( drawYear, drawMonth ) - firstDay + 7) % 7;var currentDate = (!this._currentDay ? new Date(9999, 9, 9) :new Date(this._currentYear, this._currentMonth, this._currentDay));var endDate = this._endDay ? new Date(this._endYear, this._endMonth, this._endDay) : currentDate;var printDate = new Date(drawYear, drawMonth, 1 - leadDays);var numRows = Math.ceil((leadDays + daysInMonth) / 7);var beforeShowDay= this._get('beforeShowDay');var showOtherMonths = this._get('showOtherMonths');var calculateWeek 	= this._get('calculateWeek') || $.dateselector[this._intInstanceId].iso8601Week;var dateStatus 		= this._get('statusForDate') || $.dateselector[this._intInstanceId].dateStatus;for (var dRow = 0; dRow < numRows; dRow++) {var week = [];var printWeek 	= calculateWeek(printDate);var isWeek 		= ( printWeek == this._drawWeek ) ? "selected" : "";if( showWeeks ) {week.push( { style: 'ui-dateselector-week-cell '+isWeek, data : printWeek } );}
for (var dow = 0; dow < 7; dow++) {var day = { };var style = "";var script= "";var content = "";var daySettings = (beforeShowDay ? beforeShowDay.apply((this._input ? this._input[0] : null), [printDate]) : [true, '']);
var otherMonth = (printDate.getMonth() != drawMonth);var unselectable = ( !this._get('daysSelectable') ) || otherMonth || !daySettings[0] || (minDate && printDate < minDate) || (maxDate && printDate > maxDate);
style += 'ui-dateselector-week-cell';style += ((dow + firstDay + 6) % 7 >= 5 ? ' ui-dateselector-week-end-cell' : '');style += (otherMonth ? ' ui-dateselector-otherMonth' : '');style += ( printDate.getTime() == selectedDate.getTime() && drawMonth == this._selectedMonth ?' ui-dateselector-days-cell-over' : '');style += ( unselectable ? ' ui-dateselector-unselectable' : '');style += (otherMonth && !showOtherMonths ? '' : ' ' + daySettings[1] );style += ( printDate.getTime() >= currentDate.getTime() && printDate.getTime() <= endDate.getTime() ? ' ui-dateselector-current-day' : '');style +=( printDate.getTime() == today.getTime() ? ' ui-dateselector-today' : '');script += (unselectable ? '' : ' onmouseover="jQuery(this).addClass(\'ui-dateselector-days-cell-over\');' +((otherMonth && !showOtherMonths) ? '' : 'jQuery(\'#ui-dateselector-status-' +
this._id + '\').html(\'' + (dateStatus.apply((this._input ? this._input[0] : null),[printDate, this]) || '&#xa0;') +'\');') + '"' +' onmouseout="jQuery(this).removeClass(\'ui-dateselector-days-cell-over\');' +((otherMonth && !showOtherMonths) ? '' : 'jQuery(\'#ui-dateselector-status-' +this._id + '\').html(\'&#xa0;\');') + '" onclick="jQuery.dateselector['+"'"+this._intInstanceId+"'"+']._selectDay(' +this._id + ',' + drawMonth + ',' + drawYear + ', this);"');content +=	(otherMonth ? (showOtherMonths ? printDate.getDate() : '&#xa0;') :(unselectable ? printDate.getDate() : '<a href="javascript:void(0);">' + printDate.getDate() + '</a>'));day.style = style;day.script = script;day.data = content;day.date = $.dateselector[this._intInstanceId].formatDate( "yymmdd" , printDate )
if( otherMonth && !showOtherMonths){}else{week.push( day );}printDate.setDate(printDate.getDate() + 1);}array['content'].push( week );}return array;},_generateWeek : function( ){var array = [];var today = new Date();today = new Date( today.getFullYear(), today.getMonth(), today.getDate()-1);var showWeeks = this._get('showWeeks');var minDate = this._getMinMaxDate('min', true);var maxDate = this._getMinMaxDate('max');var drawDay = this._selectedDay;var drawWeek = this._drawWeek;
var drawMonth = this._drawMonth;var drawYear = this._drawYear;var selectedDate = new Date( drawYear, drawMonth, this._selectedDay );array['header'] = [];if( showWeeks ){array['header'].push( { style:'', data:'<span>'+this._get('weekHeader')+'</span>' } );}var firstDay = this._get('firstDay'); var changeFirstDay= this._get('changeFirstDay'); var dayNames= this._get('dayNames'); var dayNamesShort 	= this._get('dayNamesShort'); var dayNamesMin 	= this._get('dayNamesMin');
for (var dow = 0; dow < 7; dow++) {var day = (dow + firstDay) % 7;var status = this._get('dayStatus') || '&#xa0;'; status = (status.indexOf('DD') > -1 ? status.replace(/DD/, dayNames[day]) : status.replace(/D/, dayNamesShort[day]));
var item = {};item.style = ((dow + firstDay + 6) % 7 >= 5 ? 'ui-dateselector-week-end-cell' : '');item.data  = (!changeFirstDay ? '<span' : '<a href="javascript:void(0);" onclick="jQuery.dateselector['+"'"+this._intInstanceId+"'"+']._changeFirstDay(' + this._id + ', ' + day + ');"') + '>' +dayNames[day] + (changeFirstDay ? '</a>' : '</span>');
array['header'].push( item );}array['content'] = [];var daysInMonth = this._getDaysInMonth( drawYear, drawMonth);if (drawYear == this._selectedYear && drawMonth == this._selectedMonth) {this._selectedDay = Math.min(this._selectedDay, daysInMonth);}
var leadDays = (this._getFirstDayOfMonth( drawYear, drawMonth ) - firstDay + 7) % 7;var currentDate = (!this._currentDay ? new Date(9999, 9, 9) :new Date(this._currentYear, this._currentMonth, this._currentDay));var endDate = this._endDay ? new Date(this._endYear, this._endMonth, this._endDay) : currentDate;var printDate = $.dateselector[this._intInstanceId].startOfWeek(new Date( drawYear, drawMonth , this._selectedDay));var numRows = 1;var beforeShowDay = this._get('beforeShowDay');var showOtherMonths = this._get('showOtherMonths');var calculateWeek 	= this._get('calculateWeek') || $.dateselector[this._intInstanceId].iso8601Week;var dateStatus	= this._get('statusForDate') || $.dateselector[this._intInstanceId].dateStatus;var week = [];var printWeek 	= calculateWeek(printDate);var isWeek 	= ( printWeek == this._drawWeek ) ? "selected" : "";if( showWeeks ) {week.push( { style: 'ui-dateselector-week-cell '+isWeek, data : printWeek } );}for (var dow = 0; dow < 7; dow++) {var day = { };var style = "";var script= "";var content= "";var daySettings = (beforeShowDay ? beforeShowDay.apply((this._input ? this._input[0] : null), [printDate]) : [true, '']);
var otherMonth = (printDate.getMonth() != drawMonth);var unselectable = otherMonth || !daySettings[0] ||(minDate && printDate < minDate) || (maxDate && printDate > maxDate);
style += 'ui-day-cell';style += ((dow + firstDay + 6) % 7 >= 5 ? ' ui-day-weekend-cell' : '');style += (otherMonth ? ' ui-otherMonth' : '');style += ( printDate.getTime() == selectedDate.getTime() && drawMonth == this._selectedMonth ?' ui-days-cell-over' : '');style += (otherMonth && !showOtherMonths ? '' : ' ' + daySettings[1] );style += ( printDate.getTime() >= currentDate.getTime() && printDate.getTime() <= endDate.getTime() ? ' ui-current-day' : '');style +=( printDate.getTime() == today.getTime() ? ' ui-today' : '');script += ' onmouseover="jQuery(this).addClass(\'ui-dateselector-days-cell-over\');"' +' onmouseout="jQuery(this).removeClass(\'ui-dateselector-days-cell-over\');"';script += (this._get('daysSelectable')) ? ' onclick="jQuery.dateselector['+"'"+this._intInstanceId+"'"+']._selectDay(' + this._id + ',' + drawMonth + ',' + drawYear + ', this);"' : "";
content +=	( this._get('daysSelectable') ) ? '<a href="javascript:void(0);">' + printDate.getDate() + '</a>' : printDate.getDate();day.style = style;day.script = script;day.data = content;day.date = $.dateselector[this._intInstanceId].formatDate( "yymmdd" , printDate );week.push( day );printDate.setDate(printDate.getDate() + 1);}
array['content'].push( week );return array;},_generateControls : function( today, selectedDate ) {var drawWeek= this._drawWeek;var drawMonth = this._drawMonth;var drawYear = this._drawYear;var minDate = this._getMinMaxDate('min', true);var maxDate = this._getMinMaxDate('max');var hideIfNoPrevNext= this._get('hideIfNoPrevNext');var stepMonths = this._get('stepMonths');var stepWeeks = this._get('stepWeeks');var toolBar	= this._get('toolBar');var prevDate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate()-7);
var nextDate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate()+7);var prev_from = $.dateselector[this._intInstanceId].formatDate(this._get('weekHeaderPrevLeft'), $.dateselector[this._intInstanceId].startOfWeek(prevDate));   
var prev_to = $.dateselector[this._intInstanceId].formatDate( this._get('weekHeaderPrevRight'), $.dateselector[this._intInstanceId].endOfWeek(prevDate));var next_from = $.dateselector[this._intInstanceId].formatDate(this._get('weekHeaderNextLeft'), $.dateselector[this._intInstanceId].startOfWeek(nextDate));var next_to = $.dateselector[this._intInstanceId].formatDate( this._get('weekHeaderNextRight'), $.dateselector[this._intInstanceId].endOfWeek(nextDate));var motion =  ( this._get("view") == "month") ? stepMonths + ", \'M\'": stepWeeks + ", \'W\'";var prevLink = '<a href="javascript:void(0);" onclick="jQuery.dateselector['+"'"+this._intInstanceId+"'"+']._adjustDate(' + this._id + ', -' + motion +');">' + prev_from + ' - '+ prev_to + '</a>';
var nextLink = '<a href="javascript:void(0);" onclick="jQuery.dateselector['+"'"+this._intInstanceId+"'"+']._adjustDate(' + this._id + ', +'+ motion +');">' + next_from + ' - '+ next_to + '</a>'	
var prev = '<div class="ui-dateselector-prev">'+prevLink+'</div>';var next = '<div class="ui-dateselector-next">'+nextLink+'</div>';var header = this._generateHeader( selectedDate );var html = '<div class="ui-dateselector-links">' + prev  + header + next + '</div>';
if(toolBar == null){return html;}else {$(toolBar).html(html);return "";}},_generateHeader : function( date ){if( this._get('view') == "month"){var header = $.dateselector[this._intInstanceId].formatDate(this._get('monthHeaderDefault'), $.dateselector[this._intInstanceId].startOfWeek(date));   
return '<div class="ui-dateselector-header"> '+header+' </div>';}else{var from = $.dateselector[this._intInstanceId].formatDate(this._get('weekHeaderDefaultLeft'), $.dateselector[this._intInstanceId].startOfWeek(date));   
var to = $.dateselector[this._intInstanceId].formatDate( this._get('weekHeaderDefaultRight'), $.dateselector[this._intInstanceId].endOfWeek(date));return '<div class="ui-dateselector-header"> '+from+' - '+to+' </div>';}},_generateMonthYearHeader: function( drawDay, drawMonth, drawYear, minDate, maxDate, selectedDate, secondary) {minDate = (this._rangeStart && minDate && selectedDate < minDate ? selectedDate : minDate);var html = '<div class="ui-dateselector-header">';var monthNames = this._get('monthNames');var inMinYear = (minDate && minDate.getFullYear() == drawYear);var inMaxYear = (maxDate && maxDate.getFullYear() == drawYear);html += '<select class="ui-dateselector-new-month" ' + 'onchange="jQuery.dateselector['+"'"+this._intInstanceId+"'"+']._selectWeekMonthYear(' + this._id + ', this, \'M\');" >';
for (var month = 0; month < 12; month++) {if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) {html += '<option value="' + month + '"' +(month == drawMonth ? ' selected="selected"' : '') +'>' + monthNames[month] + '</option>';}} html += '</select>';
var years = this._get('yearRange').split(':');var year = 0;var endYear = 0;if (years.length != 2) {year = drawYear - 10;endYear = drawYear + 10;} else if (years[0].charAt(0) == '+' || years[0].charAt(0) == '-') {
year = new Date().getFullYear() + parseInt(years[0], 10);endYear = new Date().getFullYear() + parseInt(years[1], 10);} else {year = parseInt(years[0], 10);endYear = parseInt(years[1], 10);}
year = (minDate ? Math.max(year, minDate.getFullYear()) : year);endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);html += '<select class="ui-dateselector-new-year" ' +'onchange="jQuery.dateselector['+"'"+this._intInstanceId+"'"+']._selectWeekMonthYear(' + this._id + ', this, \'Y\');" >';
for (; year <= endYear; year++) {html += '<option value="' + year + '"' +(year == drawYear ? ' selected="selected"' : '') +'>' + year + '</option>';}html += '</select>';html += '</div>';return html;},
_adjustDate: function( offset, period ) {var year = this._drawYear + (period == 'Y' ? offset : 0);var month = this._drawMonth + (period == 'M' ? offset : 0);var week = this._drawWeek + (period == 'W' ? offset : 0);var day = Math.min( this._selectedDay, this._getDaysInMonth(year, month) ) +(period == 'D' ? offset : 0);
if(period == "W"){ day = day + (offset*7);}var date = new Date( year, month, day );var minDate = this._getMinMaxDate('min', true);var maxDate = this._getMinMaxDate('max');this._selectedDay = date.getDate();this._drawWeek = $.dateselector[this._intInstanceId].iso8601Week( date );this._drawMonth = this._selectedMonth = date.getMonth();this._drawYear = this._selectedYear = date.getFullYear();},_getMinMaxDate: function(minMax, checkRange) {
var date = this._determineDate( minMax + 'Date', null);if (date) {date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0);}return date || (checkRange ? this._rangeStart : null);},_getDaysInMonth: function(year, month) {return 32 - new Date(year, month, 32).getDate();},_getFirstDayOfMonth: function(year, month) {
return new Date(year, month, 1).getDay();},_canAdjustMonth: function(offset, curYear, curMonth) {var date = new Date(curYear, curMonth + (offset < 0 ? offset : 1), 1);if (offset < 0){date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth()));}return this._isInRange(date);},
_isInRange: function(date) {var newMinDate = (!this._rangeStart ? null : new Date(this._selectedYear, this._selectedMonth, this._selectedDay));newMinDate = (newMinDate && this._rangeStart < newMinDate ? this._rangeStart : newMinDate);var minDate = newMinDate || this._getMinMaxDate('min');var maxDate = this._getMinMaxDate('max');return ((!minDate || date >= minDate) && (!maxDate || date <= maxDate));},
_getFormatConfig: function() {var shortYearCutoff = this._get('shortYearCutoff');shortYearCutoff = (typeof shortYearCutoff != 'string' ? shortYearCutoff :new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));
return {shortYearCutoff: shortYearCutoff,dayNamesShort: this._get('dayNamesShort'), dayNames: this._get('dayNames'),monthNamesShort: this._get('monthNamesShort'), monthNames: this._get('monthNames')};},
_formatDate: function(day, month, year) {if (!day) {this._currentDay = this._selectedDay;this._currentMonth = this._selectedMonth;this._currentYear = this._selectedYear;}var date = (day ? (typeof day == 'object' ? day : new Date(year, month, day)) :
new Date(this._currentYear, this._currentMonth, this._currentDay));return $.dateselector[this._intInstanceId].formatDate(this._get('dateFormat'), date, this._getFormatConfig());}});
function extendRemove(target, props) {$.extend(target, props);for (var name in props){if (props[name] == null){target[name] = null;}}return target;};
$.fn.formatDate = function( format, date ){return $.dateselector[this._intInstanceId].formatDate( format, date );}
$.fn.dateselector = function(options,intInstanceId){if (typeof options != 'string'){intInstanceId = options.id;}if(typeof $.dateselector[intInstanceId] != 'object'){$.dateselector[intInstanceId] = new DateSelector(intInstanceId);}
var otherArgs = Array.prototype.slice.call(arguments, 1);if (typeof options == 'string' && (options == 'isDisabled' || options == 'getDate')) {var result = $.dateselector[intInstanceId]['_' + options + 'DateSelector'].apply($.dateselector[intInstanceId], [this[0]].concat(otherArgs));
return result;}var result = this.each(function() {var temp = this;if(typeof options == 'string'){$.dateselector[intInstanceId]['_' + options + 'DateSelector'].apply($.dateselector[intInstanceId], [temp].concat(otherArgs))}
else{$.dateselector[intInstanceId]._attachDateSelector(temp, options);}});return result;};$.dateselector = {};
$(document).ready(function() {});})(jQuery);(function($) {function Week(intInstanceId) {this._intCalendarInstanceId = intInstanceId;this._nextId = 0;this._ele = null;this._inst = [];this.regional = [];this.regional[''] = {};this._defaults = {boundTo : null,xmlData : null};$.extend(this._defaults, this.regional['']);this._weekDiv = $('<div id="' + intInstanceId + '" class="ui-week-div ' + intInstanceId + '"></div>');}
$.extend(Week.prototype, {markerClassName: 'hasWeek',_register: function(inst) {var id = this._nextId++;this._inst[id] = inst;return id;},_getInst: function(id) {return this._inst[id] || id;},setDefaults: function(settings) {extendRemove(this._defaults, settings || {});return this;},_attachWeek: function(target, settings) {var nsSettings = null;for (attrName in this._defaults) {var attrValue = target.getAttribute('date:' + attrName);if (attrValue) {nsSettings = inlineSettings || {};try {nsSettings[attrName] = eval(attrValue);} catch (err) {nsSettings[attrName] = attrValue;}}}
var instSettings = ( nsSettings ?  $.extend(settings || {}, nsSettings || {}): settings );var inst = new WeekInstance(instSettings, true, settings.id);var temp = this;temp._createWeek(target, inst);$(inst._settings['boundTo']).dateselector("reset",settings.id);},_createWeek: function( target, inst ) {this._ele = $(target);if (this._ele.is('.' + this.markerClassName)){ return;}this._ele.addClass(this.markerClassName).empty().append( inst._weekDiv).bind("setData.week", function(event, key, value){inst._settings[key] = value;}).bind("getData.week", function(event, key){return inst._get(key);});
this._ele[0]._calId = inst._id;},_getBindWeek: function(target) {if (inst == this._getInst(target._calId)) {return inst._settings['boundTo'];}return null;},_daysBetween: function ( date1 , date2 ) {date1 = new Date( date1.substring(0,4), date1.substring(4,6)-1, date1.substring(6) );date2 = new Date( date2.substring(0,4), date2.substring(4,6)-1, date2.substring(6) );var ONE_DAY = 1000 * 60 * 60 * 24;var date1_ms = date1.getTime();var date2_ms = date2.getTime();var difference_ms = Math.abs( date1_ms - date2_ms );return Math.round(difference_ms/ONE_DAY)}});function WeekInstance(settings, inline, intCalendarInstanceId) {this._intCalendarInstanceId = intCalendarInstanceId;this._id = $.week[intCalendarInstanceId]._register(this);this._weekDiv = $.week[intCalendarInstanceId]._weekDiv;
this._weekHolder = null; this._contentHolder = null; this._currentDate 	= null; this._prevDate = null; this._boundId= null; this._data = null; this._rowArray= [ ];this._curPosition = -1;this._edgeDist= 0;this._contentBaseHeight = 0;this._currentDir= 1;this._accordionOpen	= false;this._changingWeek	= false;this._settings = extendRemove(settings || {});this._setMaxDate( );this._createContentHolders( );$(this._settings['boundTo']).bind( "onUpdate", { inst:this},  function( evt , id,  data,  to,  from ) {evt.data.inst._setData( id,  data,  to,  from );} );
$(this._settings['boundTo']).bind( "onDateSelection", { inst:this},  function( evt , date ) { });}$.extend(WeekInstance.prototype, {_get: function(name) {var setting = this._settings[name] !== undefined ? this._settings[name] : $.week[this._intCalendarInstanceId]._defaults[name];
if(!setting) setting = $(this._settings['boundTo']).data( name+'.dateselector' );return setting;},_setMaxDate : function( ){var xmlString = this._get('xmlData');var $dom = $.xmlDOM(xmlString, function(error) {alert('A parse error occurred! ' + error);});var maxDate = 0;var cMaxDate = 0;$dom.find('item').each(function() {cMaxDate = $(this).attr('to');if( cMaxDate > maxDate) maxDate = cMaxDate;});var date = new Date( maxDate.substring(0,4), (maxDate.substring(4,6))-1, maxDate.substring(6));$(this._get('boundTo')).data('maxDate.dateselector', date);},_createContentHolders : function(){$(this._weekDiv).append(  jQuery(document.createElement("div")).addClass('ui-week-holder') );this._weekHolder = '#'+ this._intCalendarInstanceId + ' > .ui-week-holder';$(this._weekDiv).append( jQuery(document.createElement("div")).addClass('ui-content-holder') );
this._contentHolder = '#'+ this._intCalendarInstanceId + ' > .ui-content-holder';},_setData : function ( id,  data ){this._data = data;this._selectorId = id;this._currentDate = data['formated_date'];if(this._currentDate != this._prevDate){this._updateWeekView( );this._prevDate = this._currentDate;}},_updateWeekView : function() {$(this._weekDiv).stop();this._stageWidth = $(this._weekDiv).width();this._curPosition++;this._edgeDist = $(this._weekHolder).width() - $(this._weekDiv).width();if( this._currentDate < this._prevDate ){$(this._weekDiv).css('left', (($(this._weekDiv).width() * -1 ) - this._edgeDist)+'px');$(this._weekHolder).prepend( this._generateWeek( ) );$(this._contentHolder).prepend( this._updateContent( ) );}else{$(this._weekHolder).append( this._generateWeek( ) );$(this._contentHolder).append( this._updateContent( ) );}var tempwidth = $(this._weekDiv).find('.ui-week-info').length;tempwidth = 100/tempwidth;$(this._contentHolder).find('.ui-week-info').css('width', tempwidth + '%');ellipsis( );var stripViewerWidth = $(this._weekHolder).find(".ui-week").width()*$(this._weekHolder).find(".ui-week").size();$(this._weekHolder).css( "width" , stripViewerWidth );$(this._contentHolder).css( "width" , stripViewerWidth );$(this._contentHolder).find('.ui-week-info').accordion({collapsible: true,active:	true,autoHeight: false,	header:'div.bar',change:function(event, ui) { var newHeight = ui.newHeader.parents().parents().height() + 150;$(this).parents().prev('.ui-week-holder').animate({ height: newHeight }, 300 );}});
$(this._contentHolder).find('.ui-week-info').bind('accordionchange', {inst:this}, function(event, ui) {if( event.data.inst._changingWeek && !ui.newContent.height() ){event.data.inst._changingWeek = false;event.data.inst._doWeekSlide( );}event.data.inst._accordionOpen = ui.newContent.height() ? true : false;});if(!this._prevDate){var content_height = $(this._contentHolder).height() + 100;this._contentBaseHeight = content_height;$(this._weekHolder).height(content_height);}this._currentDir = ( this._currentDate < this._prevDate) ? -1 : 1 ;if( !this._accordionOpen && this._prevDate != null ) {this._doWeekSlide( );} else if( this._prevDate ){this._changingWeek = true;$(this._contentHolder).find('.ui-week-info').accordion('activate', false);}},_doWeekSlide : function( ){var content_height = $(this._contentHolder).height() + 100;this._contentBaseHeight = content_height;$(this._weekHolder).animate({ height: content_height }, 300 );$(this._weekDiv).attr( "cdate", this._currentDate);var parent = this;var position;if(this._currentDir == -1){position = '0px';}else{position = ($(this._weekDiv).width() * -1) - this._edgeDist +'px';}$(this._weekDiv).width(($(this._weekDiv).width() * 2) + 'px');$(this._weekDiv).animate( { left: position + 'px'}, 1000 , null, function(){parent._resetDisplay.apply(parent, [this]) } );},_resetDisplay: function( target ){$(this._weekDiv).width(($(this._weekDiv).width() / 2) + 'px');
$(this._weekHolder).width(($(this._weekHolder).width() / 2) + 'px');this._curPosition = 0;var c_date = $(target).attr('cdate');$(this._weekDiv).find(".ui-week").each( function(){if( !$(this).hasClass(c_date)) $(this).remove();});
$(this._weekDiv).find(".ui-week-info").each( function(){if( !$(this).hasClass(c_date)) $(this).remove();});$(target).css('left', '0px' );this._edgeDist = $(this._weekHolder).width() - $(this._weekDiv).width();},_generateWeek: function( ){var today = new Date();today = new Date( today.getFullYear(), today.getMonth(), today.getDate());var html = '';var c_month = this._data;var c_header = c_month['header'];var c_content = c_month['content'];html += '\n<div class="ui-week '+this._data['formated_date']+'">';html += '<div class="ui-week-content" >';for (var w = 0; w < c_content.length; w++){var days = c_content[w];	for (var d = 0; d < days.length; d++){html += '<div class="'+days[d].style+'" '+( days[d].script ? days[d].script : '')+'>';html += '<div class="ui-week-weekname-cell '+c_header[d].style+'">';html += '<div class="ui-week-weekname-header-cell">'+c_header[d].data+' '+days[d].data+'</div>';html += '</div>';html += '</div>';	}
};html += '<div style="clear:both;"></div>';html += '</div>';html += '</div>';return html;},_updateContent : function( ele ) {var c_content = this._data['content'];var element = jQuery(document.createElement("div")).addClass('ui-week-info '+this._data['formated_date']);		
this._setContent( element, c_content[0][0].date, c_content[0][6].date );return element;},_setContent : function( ele,  bWeek , eWeek ) {var day_width = $('.ui-week-weekname-cell').width()+2;var xml = this._settings['xmlData'];var $dom = $.xmlDOM(xml, function(error) {alert('A parse error occurred! ' + error);});var week = this;$.intCurCalendarInstanceId = this._intCalendarInstanceId;$dom.find('item').each(function() {var from_date = $(this).attr('from');var to_date = $(this).attr('to');if( from_date <  bWeek && to_date >= bWeek  ){var t_days = $.week[$.intCurCalendarInstanceId]._daysBetween( bWeek, to_date) +1;var days = (t_days > 7 ) ? 7 : t_days;var html = '<div class="bar '+$(this).attr('styleclass')+'"><div class="mid ellipsis" style="padding-left:11px;width:'+(day_width * days - ((days == 7) ? 0 : 24) )+'px;" title="'+$(this).find('title').text()+'">'+$(this).find('title').text()+'</div>'+((days == 7) ? '' : '<div class="right"></div>')+'</div>';
html += '<div class="bar_content '+$(this).attr('styleclass')+'"><div class="inner">'+week._createContent( from_date, $(this) )+'</div></div>';var id = week._makeArray( $(this).attr("row") , ele, html);if(id) $(this).attr('row', id);}});$dom.find('item').each(function() {var from_date = $(this).attr('from');var to_date = $(this).attr('to');if( from_date >= bWeek && from_date <= eWeek ){var day_space = $.week[$.intCurCalendarInstanceId]._daysBetween( bWeek, from_date );var total_days = $.week[$.intCurCalendarInstanceId]._daysBetween( from_date, to_date) + 1;var days = (( total_days + day_space ) >= 7 ) ? (7 - day_space) : total_days;var html = '<div class="bar '+$(this).attr('styleclass')+'">';html += '<div style="float:left;width:'+(day_width * day_space)+'px;height:1px;"></div>';html += '<div class="left"></div>'; 
html += '<div class="mid ellipsis" style="width:'+( day_width * days - ((total_days + day_space > 7 ) ? 11 : 24))+'px;" title="'+$(this).find('title').text()+'">'; 	// set width
html += ''+$(this).find('title').text()+''; html +=	'</div>';	html += ( (total_days + day_space > 7) ? '' : '<div class="right"></div>');html += '<div class="clearfix"></div>';html += '</div>';html += '<div class="bar_content '+$(this).attr('styleclass')+'"><div class="inner">'+week._createContent( from_date, $(this) )+'</div></div>';
var id = week._makeArray( null, ele, html);if(id){$(this).attr('row', id);}}});this._createDisplay( ele );}, _createContent : function( from_date , node ){return node.find('content').text();},_createDisplay : function( element ) {for (var i = 0; i < this._rowArray.length; i++) {var item = this._rowArray[i];$(element).append( (item != null) ? item : jQuery(document.createElement("div")).addClass('bar-row spacer') );
};this._rowArray = [ ];},_makeArray : function ( row,  ele,  html ) {var n_bar = jQuery(document.createElement("div")).addClass('bar-row toast').append( html );if(row){for (var k=0; k < row; k++){if(!this._rowArray[k]){ this._rowArray[k] = null;}}this._rowArray[row] = n_bar;}else{for (var i=0; i < this._rowArray.length; i++) {if(this._rowArray[i] == null){	this._rowArray[i] = n_bar;return i;}};
this._rowArray.push(n_bar);return this._rowArray.length-1;}},_createGoogleCalEvent : function( xmlNode ){var link = "";link += 'http://www.google.com/calendar/event?';link += 'action=TEMPLATE';link += '&text='+escape(xmlNode.find('title').text());link += '&dates='+xmlNode.attr('from')+'T'+xmlNode.attr('from_time')+'Z'+'/'+xmlNode.attr('to')+'T'+xmlNode.attr('to_time')+'Z';
link += '&location='+escape(xmlNode.find('location').text());link += '&sprop=website:'+escape(xmlNode.find('link').text());link += '&sprop=name:'+escape(xmlNode.find('title').text());link += '&details='+escape(xmlNode.find('info').text());return link;},
_createYahooCalEvent : function( xmlNode ){var link = "";link += 'http://calendar.yahoo.com?v=60';link += '&VIEW=d';link += '&in_loc='+escape(xmlNode.find('location').text());link += '&in_csz='+escape(xmlNode.find('city').text());
link += '&type=20';link += '&TITLE='+escape(xmlNode.find('title').text());link += '&ST='+xmlNode.attr('from')+'T'+xmlNode.attr('from_time')+'Z';link += '&DUR='+xmlNode.find('duration').text();
link += '&URL='+escape(xmlNode.find('link').text());link += '&DESC='+escape(xmlNode.find('info').text());return link;}});function ellipsis( ) {$('.ellipsis').each(function(){var w = $(this).width();var t = $(this).text();$(this).html("<span>" + t + "</span>");
var e = $('span', this);while (t.length > 0 && e.width() >= w) {t = t.substr(0, t.length - 1);e.html(t + "...");}})}function extendRemove(target, props) {$.extend(target, props);for (var name in props){if (props[name] == null){target[name] = null;}}return target;};$.fn.week = function(options) {var intInstaceId = options.id;$.week[intInstaceId] = new Week(options.id);var otherArgs = Array.prototype.slice.call(arguments, 1);if (typeof options == 'string') {return $.week[intInstaceId]['_' + options + 'Week'].apply($.week[intInstaceId], [this[0]].concat(otherArgs));}
return this.each(function() {if(typeof options == 'string'){$.week[intInstaceId]['_' + options + 'Week'].apply($.week[intInstaceId], [this].concat(otherArgs));
}else{$.week[intInstaceId]._attachWeek(this,options);}});};$.week = {};$.intCurCalendarInstanceId;$(document).ready(function() {});})(jQuery);

var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textDecoration:function(G,F){if(!F){F=this.getStyle(G)}var C={underline:null,overline:null,"line-through":null};for(var B=G;B.parentNode&&B.parentNode.nodeType==1;){var E=true;for(var D in C){if(!k(C,D)||C[D]){continue}if(F.get("textDecoration").indexOf(D)!=-1){C[D]=F.get("color")}E=false}if(E){break}F=this.getStyle(B=B.parentNode)}return C},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var B={inline:1,"inline-block":1,"run-in":1};return function(E,C,D){if(B[C.get("display")]){return E}if(!D.previousSibling){E=E.replace(/^\s+/,"")}if(!D.nextSibling){E=E.replace(/\s+$/,"")}return E}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(C){var B=this.face=C.face;this.glyphs=C.glyphs;this.w=C.w;this.baseSize=parseInt(B["units-per-em"],10);this.family=B["font-family"].toLowerCase();this.weight=B["font-weight"];this.style=B["font-style"]||"normal";this.viewBox=(function(){var E=B.bbox.split(/\s+/);var D={minX:parseInt(E[0],10),minY:parseInt(E[1],10),maxX:parseInt(E[2],10),maxY:parseInt(E[3],10)};D.width=D.maxX-D.minX;D.height=D.maxY-D.minY;D.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return D})();this.ascent=-parseInt(B.ascent,10);this.descent=-parseInt(B.descent,10);this.height=-this.ascent+this.descent}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>I&&L>I)?M<L:M>L:(M<I&&L<I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this)}function E(F){C(this)}function C(F){setTimeout(function(){m.replace(F,d.get(F).options,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var B={},D,F;for(var E=0,C=arguments.length;D=arguments[E],E<C;++E){for(F in D){if(k(D,F)){B[F]=D[F]}}}return B}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(C,J){var B=n.getStyle(v(C,J)).extend(J);var D=c(C,B),E,H,G,F,I;for(E=C.firstChild;E;E=G){H=E.nodeType;G=E.nextSibling;if(H==3){if(F){F.appendData(E.data);C.removeChild(E)}else{F=E}if(G){continue}}if(F){C.replaceChild(o(D,n.whiteSpace(F.data,B,E),B,J,E,C),F);F=null}if(H==1&&E.firstChild){if(/cufon/.test(E.className)){z[J.engine](D,null,B,J,E,C)}else{arguments.callee(E,J)}}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={enableTextDecoration:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||(window.Ext&&Ext.query)||g),separate:"words",textShadow:"none"};var p={words:/[^\S\u00a0]+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.removeClass(x.root(),"cufon-loading")});e=true}if(C.hover){C.forceHitArea=true}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode((".cufon-canvas{text-indent:0;}@media screen,projection{.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}.cufon-canvas .cufon-alt{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?".cufon-canvas canvas{position:relative;}":".cufon-canvas canvas{position:absolute;}")+"}@media print{.cufon-canvas{padding:0;}.cufon-canvas canvas{display:none;}.cufon-canvas .cufon-alt{display:inline;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(ah,H,Z,D,L,ai){var n=(H===null);if(n){H=L.alt}var J=ah.viewBox;var p=Z.getSize("fontSize",ah.baseSize);var X=Z.get("letterSpacing");X=(X=="normal")?0:p.convertFrom(parseInt(X,10));var K=0,Y=0,W=0,F=0;var I=D.textShadow,U=[];if(I){for(var ag=I.length;ag--;){var O=I[ag];var T=p.convertFrom(parseFloat(O.offX));var R=p.convertFrom(parseFloat(O.offY));U[ag]=[T,R];if(R<K){K=R}if(T>Y){Y=T}if(R>W){W=R}if(T<F){F=T}}}var al=Cufon.CSS.textTransform(H,Z).split(""),B;var o=ah.glyphs,E,r,ac;var h=0,v,N=[];for(var ag=0,ae=0,ab=al.length;ag<ab;++ag){E=o[B=al[ag]]||ah.missingGlyph;if(!E){continue}if(r){h-=ac=r[B]||0;N[ae-1]-=ac}h+=v=N[ae++]=~~(E.w||ah.w)+X;r=E.k}if(v===undefined){return null}Y+=J.width-v;F+=J.minX;var C,q;if(n){C=L;q=L.firstChild}else{C=document.createElement("span");C.className="cufon cufon-canvas";C.alt=H;q=document.createElement("canvas");C.appendChild(q);if(D.printable){var ad=document.createElement("span");ad.className="cufon-alt";ad.appendChild(document.createTextNode(H));C.appendChild(ad)}}var am=C.style;var Q=q.style;var m=p.convert(J.height);var ak=Math.ceil(m);var V=ak/m;var P=V*Cufon.CSS.fontStretch(Z.get("fontStretch"));var S=h*P;var aa=Math.ceil(p.convert(S+Y-F));var t=Math.ceil(p.convert(J.height-K+W));q.width=aa;q.height=t;Q.width=aa+"px";Q.height=t+"px";K+=J.minY;Q.top=Math.round(p.convert(K-ah.ascent))+"px";Q.left=Math.round(p.convert(F))+"px";var A=Math.ceil(p.convert(S))+"px";if(a){am.width=A;am.height=p.convert(ah.height)+"px"}else{am.paddingLeft=A;am.paddingBottom=(p.convert(ah.height)-1)+"px"}var aj=q.getContext("2d"),M=m/J.height;aj.scale(M,M*V);aj.translate(-F,-K);aj.lineWidth=ah.face["underline-thickness"];aj.save();function s(i,g){aj.strokeStyle=g;aj.beginPath();aj.moveTo(0,i);aj.lineTo(h,i);aj.stroke()}var u=D.enableTextDecoration?Cufon.CSS.textDecoration(ai,Z):{};if(u.underline){s(-ah.face["underline-position"],u.underline)}if(u.overline){s(ah.ascent,u.overline)}function af(){aj.scale(P,1);for(var x=0,k=0,g=al.length;x<g;++x){var y=o[al[x]]||ah.missingGlyph;if(!y){continue}if(y.d){aj.beginPath();if(y.code){c(y.code,aj)}else{y.code=d("m"+y.d,aj)}aj.fill()}aj.translate(N[k++],0)}aj.restore()}if(I){for(var ag=I.length;ag--;){var O=I[ag];aj.save();aj.fillStyle=O.color;aj.translate.apply(aj,U[ag]);af()}}var z=D.textGradient;if(z){var G=z.stops,w=aj.createLinearGradient(0,J.minY,0,J.maxY);for(var ag=0,ab=G.length;ag<ab;++ag){w.addColorStop.apply(w,G[ag])}aj.fillStyle=w}else{aj.fillStyle=Z.get("color")}af();if(u["line-through"]){s(-ah.descent,u["line-through"])}return C}})());Cufon.registerEngine("vml",(function(){if(!document.namespaces){return}if(document.namespaces.cvml==null){document.namespaces.add("cvml","urn:schemas-microsoft-com:vml")}var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var f=(document.documentMode||0)<8;document.write(('<style type="text/css">.cufon-vml-canvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}.cufon-vml-canvas{position:absolute;text-align:left;}.cufon-vml{display:inline-block;position:relative;vertical-align:'+(f?"middle":"text-bottom")+";}.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px;}a .cufon-vml{cursor:pointer}}@media print{.cufon-vml *{display:none;}.cufon-vml .cufon-alt{display:inline;}}</style>").replace(/;/g,"!important;"));function c(g,h){return a(g,/(?:em|ex|%)$|^[a-z-]+$/i.test(h)?"1em":h)}function a(j,k){if(/px$/i.test(k)){return parseFloat(k)}var i=j.style.left,h=j.runtimeStyle.left;j.runtimeStyle.left=j.currentStyle.left;j.style.left=k.replace("%","em");var g=j.style.pixelLeft;j.style.left=i;j.runtimeStyle.left=h;return g}var e={};function d(n){var o=n.id;if(!e[o]){var l=n.stops,m=document.createElement("cvml:fill"),g=[];m.type="gradient";m.angle=180;m.focus="0";m.method="sigma";m.color=l[0][1];for(var i=1,h=l.length-1;i<h;++i){g.push(l[i][0]*100+"% "+l[i][1])}m.colors=g.join(",");m.color2=l[h][1];e[o]=m}return e[o]}return function(ai,J,ac,F,N,aj,aa){var n=(J===null);if(n){J=N.alt}var L=ai.viewBox;var p=ac.computedFontSize||(ac.computedFontSize=new Cufon.CSS.Size(c(aj,ac.get("fontSize"))+"px",ai.baseSize));var Z=ac.computedLSpacing;if(Z==undefined){Z=ac.get("letterSpacing");ac.computedLSpacing=Z=(Z=="normal")?0:~~p.convertFrom(a(aj,Z))}var B,q;if(n){B=N;q=N.firstChild}else{B=document.createElement("span");B.className="cufon cufon-vml";B.alt=J;q=document.createElement("span");q.className="cufon-vml-canvas";B.appendChild(q);if(F.printable){var af=document.createElement("span");af.className="cufon-alt";af.appendChild(document.createTextNode(J));B.appendChild(af)}if(!aa){B.appendChild(document.createElement("cvml:shape"))}}var ao=B.style;var U=q.style;var h=p.convert(L.height),al=Math.ceil(h);var Y=al/h;var S=Y*Cufon.CSS.fontStretch(ac.get("fontStretch"));var X=L.minX,W=L.minY;U.height=al;U.top=Math.round(p.convert(W-ai.ascent));U.left=Math.round(p.convert(X));ao.height=p.convert(ai.height)+"px";var u=F.enableTextDecoration?Cufon.CSS.textDecoration(aj,ac):{};var I=ac.get("color");var an=Cufon.CSS.textTransform(J,ac).split(""),A;var o=ai.glyphs,G,r,ae;var g=0,O=[],V=0,w;var y,K=F.textShadow;for(var ah=0,ag=0,ad=an.length;ah<ad;++ah){G=o[A=an[ah]]||ai.missingGlyph;if(!G){continue}if(r){g-=ae=r[A]||0;O[ag-1]-=ae}g+=w=O[ag++]=~~(G.w||ai.w)+Z;r=G.k}if(w===undefined){return null}var z=-X+g+(L.width-w);var am=p.convert(z*S),ab=Math.round(am);var R=z+","+L.height,m;var M="r"+R+"ns";var x=F.textGradient&&d(F.textGradient);for(ah=0,ag=0;ah<ad;++ah){G=o[an[ah]]||ai.missingGlyph;if(!G){continue}if(n){y=q.childNodes[ag];while(y.firstChild){y.removeChild(y.firstChild)}}else{y=document.createElement("cvml:shape");q.appendChild(y)}y.stroked="f";y.coordsize=R;y.coordorigin=m=(X-V)+","+W;y.path=(G.d?"m"+G.d+"xe":"")+"m"+m+M;y.fillcolor=I;if(x){y.appendChild(x.cloneNode(false))}var ak=y.style;ak.width=ab;ak.height=al;if(K){var t=K[0],s=K[1];var E=Cufon.CSS.color(t.color),C;var Q=document.createElement("cvml:shadow");Q.on="t";Q.color=E.color;Q.offset=t.offX+","+t.offY;if(s){C=Cufon.CSS.color(s.color);Q.type="double";Q.color2=C.color;Q.offset2=s.offX+","+s.offY}Q.opacity=E.opacity||(C&&C.opacity)||1;y.appendChild(Q)}V+=O[ag++]}var P=y.nextSibling,v,D;if(F.forceHitArea){if(!P){P=document.createElement("cvml:rect");P.stroked="f";P.className="cufon-vml-cover";v=document.createElement("cvml:fill");v.opacity=0;P.appendChild(v);q.appendChild(P)}D=P.style;D.width=ab;D.height=al}else{if(P){q.removeChild(P)}}ao.width=Math.max(Math.ceil(p.convert(g*S)),0);if(f){var T=ac.computedYAdjust;if(T===undefined){var H=ac.get("lineHeight");if(H=="normal"){H="1em"}else{if(!isNaN(H)){H+="em"}}ac.computedYAdjust=T=0.5*(a(aj,H)-parseFloat(ao.height))}if(T){ao.marginTop=Math.ceil(T)+"px";ao.marginBottom=T+"px"}}return B}})());
