function nwaCalendar(A){this.calUrl="/nwaCalendar/NWACalendar";this.context="http://www.nwa.com/";this.calPositionCallBack=null;this.callBack=null;this.yearMonthRegex=null;this.inputRegEx=null;this.cals=null;this.calsState=null;this.currentCal=null;this.today=null;this.dateFields=null;this.clicked={ele:null,times:0};this.language=null;this.country=null;this.displayFormat=null;this.bgiframe=false;this.startDate=null;this.preLoad=false;this.keyPressed=false;this.daysInFutureToShow=352;if(typeof (A)=="object"){if(A.calURL!=null){this.calUrl=A.calURL}if(A.language!=null){this.language=A.language}if(A.country!=null){this.country=A.country}if(A.displayFormat!=null){this.displayFormat=A.displayFormat}if(A.context!=null){this.context=A.context}if(A.calPositionCallBack!=null){this.calPositionCallBack=A.calPositionCallBack}if(A.callBack!=null){this.callBack=A.callBack}if(A.bgiframe!=null){this.bgiframe=A.bgiframe}if(A.startDate!=null){this.startDate=A.startDate}if(A.preLoad!=null){this.preLoad=A.preLoad}if(A.daysInFutureToShow!=null){this.daysInFutureToShow=A.daysInFutureToShow}}this.init()}nwaCalendar.prototype.init=function(){if(this.cals==null){if(this.context.lastIndexOf("/")!=(this.context.length-1)){this.context+="/"}switch(this.displayFormat){case"dd/MM/yyyy":this.inputRegEx=/^(\d{2})\/(\d{2})\/(\d{4})$/;break;case"yy-MM-dd":this.inputRegEx=/^(\d{2})\-(\d{2})\-(\d{2})$/;break;case"yy/MM/dd":case"dd/MM/yy":case"MM/dd/yy":this.inputRegEx=/^(\d{2})\/(\d{2})\/(\d{2})$/;break;case"yyyy/MM/dd":this.inputRegEx=/^(\d{4})\/(\d{2})\/(\d{2})$/;break;case"yyyy/dd/MM":this.inputRegEx=/^(\d{4})\/(\d{2})\/(\d{2})$/;break;default:this.displayFormat="MM/dd/yyyy";this.inputRegEx=/^(\d{2})\/(\d{2})\/(\d{4})$/}this.yearMonthRegex=/^(\d{4})(\d{2})$/;this.cals=new Object();this.calsState=new Object();this.today=new Date();var C=this.getDateObject(this.startDate);if(C==null){C=this.today}var B=C.getMonth()+1;var A=C.getFullYear();if(this.preLoad==true){this.getCalendar(A+this.zeroPad(B),true)}if($.browser.msie&&this.bgiframe==true){$.getScript(this.context+"includes/js/jquery.bgiframe.js")}var D=this;$(window).bind("resize",function(){D.hideCal()})}};nwaCalendar.prototype.getCalendar=function(E,D){var C=this;if(C.cals[E]==null&&C.calsState[E]!="fetching"){var B=this.calUrl;var F=(D==true||D==false)?true:false;$.ajax({url:B,data:"date="+E+"&h=y&LANGUAGE_CODE="+C.language+"&COUNTRY_CODE="+C.country,async:F,nCals:C,beforeSend:function(G){C.calsState[E]="fetching"},success:function(G){C.cals[E]=G;C.calsState[E]="fetched"},error:function(I){var H=C.dateFields;if(H!=null){for(var J=0,G=H.length;J<G;J++){var K=H[J];if(typeof (K)=="string"){K=$("input[name="+K+"]")}K.unbind("click")}}}})}window.setTimeout(function(){if(D==true||D==null){var G=C.yearMonthRegex.exec(E);if(G!=null&&G.length==3){var J=parseInt(G[1],10);var I=parseInt(G[2],10);var K,H;switch(I){case 12:K=(J+1)+C.zeroPad(1);H=(J+1)+C.zeroPad(2);break;case 11:K=J+C.zeroPad((I+1));H=(J+1)+C.zeroPad(1);break;default:K=J+C.zeroPad((I+1));H=J+C.zeroPad((I+2))}if(D==null){if(C.currentCal==null&&E>C.currentCal){if(C.cals[K]==null){C.getCalendar(K,false)}if(C.cals[H]==null){C.getCalendar(H,false)}}}else{if(C.cals[K]==null){C.getCalendar(K,false)}if(C.cals[H]==null){C.getCalendar(H,false)}}}}},150);var A=this.cals[E];if(D==null){this.currentCal=E}return A};nwaCalendar.prototype.hasCal=function(A){return this.cals[A]==null?false:true};nwaCalendar.prototype.zeroPad=function(B){var A=new String(B);if(B<10&&A.length==1){B="0"+B}return""+B};nwaCalendar.prototype.observe=function(B){var E=this;for(var C=0,A=B.length;C<A;C++){var D=B[C];if(typeof (D)=="string"){D=$("input[name="+D+"]")}D.unbind("click").bind("click",function(L){var K=E.getCalContainer();E.keyPressed=false;if(K.get(0)!=null){if(this.select){this.select()}if(K.css("display")=="block"){if(E.clicked.ele==this){E.hideCal();return }}else{if(E.clicked.ele==null||this.name!=E.clicked.ele.name){E.clicked={ele:this,times:0}}}}var M=null;var J=null;var G=E.getDateObject(this.value);if(G!=null){var I=G.getMonth()+1;var F=G.getDate();var H=G.getFullYear();M=""+H+E.zeroPad(I);if(I==12){J=(H+1)+"01"}else{J=""+H+E.zeroPad(I+1)}}if(E.clicked.ele==null||this.name!=E.clicked.ele.name){E.clicked={ele:this,times:0}}E.showCal(M,J,L)});D.unbind("keydown").bind("keydown",function(H){var F=(H.charCode)?H.charCode:((H.keyCode)?H.keyCode:((H.which)?H.which:0));var G=E.getCalContainer();if(F==9||F==16){E.keyPressed=false;if(G.css("display")=="block"){this.focus();if(this.select){this.select()}H.preventDefault()}}else{if(F==27){E.keyPressed=false;if(G.css("display")=="block"){E.hideCal()}}else{E.keyPressed=true}}})}E.dateFields=B};nwaCalendar.prototype.createCalContainer=function(I,J,C){var A=this;var K=A.getCalContainer();var D=$("body");var G=false;if(A.keyPressed==true){return K}if(I!=null&&J!=null){if(K.get(0)==null){var B='<div id="cal_wrap"><div id="container1_inner" class="calbordered"><div class="title"><img class="close-icon" src="'+A.context+'images/home/calx.gif"><br/></div><div style="margin-right: 10px;" class="cal2up" id="container1_0"></div><div style="margin-right: 0px;" class="cal2up" id="container1_1"></div></div></div>';D.append(B);K=$("#container1_inner");G=true;window.setTimeout(function(){L.click(function(){A.clicked.times++;A.hideCal()});var M=$("img[class=close-icon]");M.hover(function(){$(this).css("cursor","pointer")},function(){$(this).css("cursor","default")})},5)}var H=A.clicked.ele;if(typeof (A.calPositionCallBack)=="function"){A.calPositionCallBack(C,H,K.get(0))}else{A.positionCal(C,H,K.get(0))}if($.browser.msie){if(typeof (K.bgIframe)=="function"){K.bgIframe()}}var F=$("#container1_0",K);var E=$("#container1_1",K);if(G){var L=$(".wrap, img[class=close-icon], #wrap");if($.browser.msie){L.parent().css("width",(K.width()+15)+"px")}F.append(I);E.append(J)}else{F.empty().append(I);E.empty().append(J)}if(!A.keyPressed){window.setTimeout(function(){K.css("display","block");F.show();E.show()},30)}}return K};nwaCalendar.prototype.positionCal=function(E,C,D){D=$(D);var A=E.pageY-$(C).height();var B=C.offsetLeft+C.offsetParent.offsetLeft-2;if(parseInt(D.css("top"),10)!=A){D.css({position:"absolute",top:A+"px",left:B+"px"})}};nwaCalendar.prototype.showCal=function(l,h,x){var I=this;var J=new Date();var T=J.getMonth()+1;var d=J.getFullYear();var S=J.getDate();var b=new Date();var Y=I.clicked.ele;var Z;var C;if(l==null||h==null){Z=d+I.zeroPad(T);if(T==12){C=(d+1)+I.zeroPad(1)}else{C=d+I.zeroPad((T+1))}}else{Z=l;C=h}var u=I.getCalendar(Z,I.hasCal(Z)?true:null);var U=I.getCalendar(C);this.createCalContainer(u,U,x);var a=$("#"+Z);a.addClass("calendar");var O=$("#"+C);O.addClass("calendar");var r=$("div[class=calheader]");for(var q=0;q<r.length;q++){var t=$(r[q]);if(q==0){var n=I.yearMonthRegex.exec(Z);var y=T;var G=d;if(n!=null&&n.length==3){var G=parseInt(n[1],10);var y=parseInt(n[2],10)}if(y>T||(G>d)){var w='<img class="calnavleft"  src="'+I.context+'images/home/callt.gif">';t.prepend(w);var K=$("img[class=calnavleft]",r);K.hover(function(){$(this).css("cursor","pointer")},function(){$(this).css("cursor","default")});K.one("click",function(){var c=I.yearMonthRegex.exec($("#container1_0 > table").attr("id"));if(c!=null&&c.length==3){var k=parseInt(c[1],10);var i=parseInt(c[2],10);var z,AA;switch(i){case 1:z=(k)+"01";AA=(k-1)+"12";break;default:z=(k)+I.zeroPad(i);AA=(k)+I.zeroPad(i-1)}I.showCal(AA,z,x)}return false})}}else{var D=new Boolean(I.daysInFutureToShow!=null).valueOf();var V=null;var M=null;var n=I.yearMonthRegex.exec($("#container1_1 > table").attr("id"));var G=0;var y=0;if(n!=null&&n.length==3){G=parseInt(n[1],10);y=parseInt(n[2],10)}else{continue}if(D){b.setDate(b.getDate()+I.daysInFutureToShow);V=b.getMonth()+1;M=b.getFullYear();if(D&&(G>=M&&y>=V)){continue}}var w='<img class="calnavright"  src="'+I.context+'images/home/calrt.gif">';t.append(w);var K=$("img[class=calnavright]",r);K.hover(function(){$(this).css("cursor","pointer")},function(){$(this).css("cursor","default")});K.one("click",function(){var c,i;switch(parseInt(y,10)){case 12:c=(G)+"12";i=(G+1)+"01";break;default:c=(G)+I.zeroPad(y);i=(G)+I.zeroPad(parseInt(y,10)+1)}I.showCal(c,i,x)})}}var L,A,H;var F=I.getDateObject(Y.value);if(F!=null){L=F.getMonth()+1;A=F.getDate();H=F.getFullYear()}for(var p=0;p<2;p++){var n,N;if(p==0){n=I.yearMonthRegex.exec(Z);N=a}else{n=I.yearMonthRegex.exec(C);N=O}if(n!=null&&n.length==3){var G=parseInt(n[1],10);var y=I.zeroPad(parseInt(n[2],10));var s=$("tbody > tr",N).children();var Q=parseInt(S,10);var E=0;if(s.length==28){E=0}else{for(var q=0;q<7;q++){var g=I.zeroPad(parseInt(s[q].innerHTML,10));if(g=="01"){E=q;break}}}var o=E+1;if(y==T){for(var q=E;q<s.length;q++){var g=I.zeroPad(parseInt(s[q].innerHTML,10));if(g==Q){o=q;break}}}var R=0;for(var q=o;q<s.length;q++){var f=I.zeroPad(parseInt(s[q].innerHTML,10));if(f==28||f==29||f==30||f==31){R=q;if(f==31||f==1){break}}}for(var q=0;q<s.length;q++){var P=I.zeroPad(parseInt(s[q].innerHTML,10));var e=parseInt(y,10);if(q<E){dateStr=I.getDateString((e==1?12:e-1),P,(e==1?G-1:G));s[q].className="oom calcell"}else{if(E<=q&&q<=R){dateStr=I.getDateString(e,P,G);var W=I.days_difference(dateStr,J);if(W<0||Math.floor(W)>I.daysInFutureToShow){s[q].className="previous calcell"}else{s[q].className="calcell"}}else{dateStr=I.getDateString((e==12?1:e+1),P,(e==12?G+1:G));s[q].className="oom calcell"}}s[q].setAttribute("title",dateStr);var j=I.days_difference(dateStr,J);var X;if(F!=null){var B=I.getDateString(I.zeroPad((F.getMonth()+1)),I.zeroPad(F.getDate()),F.getFullYear());X=I.days_difference(B,I.getDateObject(dateStr))}if(j>=0){if(Math.floor(j)<=I.daysInFutureToShow){I.makeClickable(s[q])}if(F!=null&&X>=0&&X<1){var v=I.zeroPad(I.getDateObject(dateStr).getMonth()+1);if(y==v){s[q].className="calcell selected";s[q].cellclasstype="calcell selected"}}if(j>=0&&j<1){s[q].className="calcell today";s[q].cellclasstype="calcell today";if(F!=null&&X>=0&&X<1){var v=dateStr.substring(3,5);if(y==v){s[q].className="calcell today selected";s[q].cellclasstype="calcell today selected"}}}}}}}};nwaCalendar.prototype.makeClickable=function(A){var B=this;A.onclick=function(){return B.doCalClick(this.getAttribute("title"),A)};A.onmouseover=function(){this.style.cursor="pointer";this.setAttribute("cellClassType",this.className);this.className="calcell calcellhover"};A.onmouseout=function(){this.className=this.getAttribute("cellClassType")}};nwaCalendar.prototype.days_difference=function(C,B){var G=1000*60*60*24;var F=this;var D=F.getDateObject(C);var A=D.getTime()-B.getTime();var E=A/G;return E};nwaCalendar.prototype.hideCal=function(){var A=this.getCalContainer();A.fadeOut("fast")};nwaCalendar.prototype.getCalContainer=function(){return $("#container1_inner")};nwaCalendar.prototype.getDateString=function(D,A,C){var E=null;D=this.zeroPad(D);A=this.zeroPad(A);var B=new String(C);switch(this.displayFormat){case"dd/MM/yyyy":E=""+A+"/"+D+"/"+C;break;case"dd/MM/yy":if(B.length==4){B=B.substring(2,4)}E=""+A+"/"+D+"/"+B;break;case"MM/dd/yy":if(B.length==4){B=B.substring(2,4)}E=""+D+"/"+A+"/"+B;break;case"yy-MM-dd":if(B.length==4){B=B.substring(2,4)}E=""+B+"-"+D+"-"+A;break;case"yy/MM/dd":if(B.length==4){B=B.substring(2,4)}E=""+B+"/"+D+"/"+A;break;case"yyyy/MM/dd":E=""+C+"/"+D+"/"+A;break;case"yyyy/dd/MM":E=""+C+"/"+A+"/"+D;break;default:E=""+D+"/"+A+"/"+C}return E};nwaCalendar.prototype.getDateObject=function(D){var C=new Date();var A;var H=false;try{switch(this.displayFormat){case"dd/MM/yyyy":A=this.inputRegEx.exec(D);if(A!=null&&A.length==4){var F=parseInt(A[2],10)-1;var B=parseInt(A[1],10);var E=parseInt(A[3],10);C.setFullYear(E,F,B);H=true}break;case"yy/MM/dd":A=this.inputRegEx.exec(D);if(A!=null&&A.length==4){var F=parseInt(A[2],10)-1;var B=parseInt(A[3],10);var E="20"+this.zeroPad(parseInt(A[1],10));C.setFullYear(E,F,B);H=true}break;case"yy-MM-dd":A=this.inputRegEx.exec(D);if(A!=null&&A.length==4){var F=parseInt(A[2],10)-1;var B=parseInt(A[3],10);var E="20"+this.zeroPad(parseInt(A[1],10));C.setFullYear(E,F,B);H=true}break;case"dd/MM/yy":A=this.inputRegEx.exec(D);if(A!=null&&A.length==4){var F=parseInt(A[2],10)-1;var B=parseInt(A[1],10);var E="20"+this.zeroPad(parseInt(A[3],10));C.setFullYear(E,F,B);H=true}break;case"MM/dd/yy":A=this.inputRegEx.exec(D);if(A!=null&&A.length==4){var F=parseInt(A[1],10)-1;var B=parseInt(A[2],10);var E="20"+this.zeroPad(parseInt(A[3],10));C.setFullYear(E,F,B);H=true}break;case"yyyy/MM/dd":A=this.inputRegEx.exec(D);if(A!=null&&A.length==4){var F=parseInt(A[2],10)-1;var B=parseInt(A[3],10);var E=parseInt(A[1],10);C.setFullYear(E,F,B);H=true}break;case"yyyy/dd/MM":A=this.inputRegEx.exec(D);if(A!=null&&A.length==4){var F=parseInt(A[3],10)-1;var B=parseInt(A[2],10);var E=parseInt(A[1],10);C.setFullYear(E,F,B);H=true}break;default:A=this.inputRegEx.exec(D);if(A!=null&&A.length==4){var F=parseInt(A[1],10)-1;var B=parseInt(A[2],10);var E=parseInt(A[3],10);C.setFullYear(E,F,B);H=true}}}catch(G){H=false}return H?C:null};nwaCalendar.prototype.doCalClick=function(C,B){var D=this;if(typeof (this.callBack)=="function"){var A=D.clicked.ele;window.setTimeout(function(){D.callBack(A,C)},15);D.hideCal()}return false};