/**
 * doijs package
 * 
 * @author donna iwan setiawan
 * @version 1.1 
 * copyright - (c) 2007 - 2009 donna iwan setiawan
 * license - GPL version 3 or any later version <http://www.gnu.org/licenses/gpl-3.0.txt>
 */
doi.widget.dateBox=function(c){var e=[],d=[],b="doi-widget-datebox",a=arguments[1]||{};this.render=function(){if(!c){e=doi.dom.$("tag:input;title=doi-widget-datebox:true")}else{if(c.length){e=c}else{e=[c]}}if(!e||(e&&e.length==0)){return}for(var g=0;g<e.length;g++){var f=new doi.widget.dateBoxByElement(e[g],a);f.render();d.push(f)}};this.dateboxes=function(){return d}};doi.widget.register(doi.widget.dateBox);doi.widget.dateBoxByElement=function(e){var f=arguments[1]||{},h,a="",l=this,o=[],n,p,d=false,c=new Date(),k=true,j=null,m={d:0,m:0,y:0,h:0,i:0,s:0},b,i="doi-widget-datebox";this.data={day:["","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],month:["","January","February","March","April","May","June","July","August","September","October","November","December"]};this.render=function(){if(d){true}if(!e||!(e&&doi.dom.isElement(e))){var q=document.createElement("input");q.setAttribute("type","text");doi.dom.write(q);e=q;n=doi.widget.instance.save(this);p=(f.name)||n}else{n=doi.widget.instance.save(this,e.id);e.id=n;p=(e.name)||(f.name)||n}l.enabled(!e.disabled);var U={};U.className=(e.className)||i;U.attribute=doi.dom.parseAttribute(e.getAttribute("title"));if(doi.dom.isString(f.attribute)){f.attribute=doi.dom.parseAttribute(f.attribute)}f=doi.dom.merge(U,f);h=f.attribute||{};if(f.attribute.title){e.setAttribute("title",f.attribute.title)}else{e.setAttribute("title","")}h.zIndex=h.zIndex||doi.widget.zIndex();doi.dom.style(e,{visibility:"hidden",display:"none"});i=(e.className)||i;if(h.format){var w=h.format.match(/([d|m|y|h|i|s]+)/);if(w){var R=w[1];for(var W=0;W<R.length;W++){var N=R.substr(W,1);var Q=new doi.regexp.RegExp(N);if(a.match(Q)){continue}a+=N}}if(a.match(/(h|hi|his)/)&&!a.match(/(h|hi|his)$/)){a.replace(/(h|hi|his)/,"")}}if(a==""){a="dmy"}var L={from:c.getFullYear(),to:c.getFullYear()+10};if(h.year){var w=h.year.match(/(\d{4,})(\s{1,}\d{4,})*/);if(w){var z=w[1];if(z<1900){z=c.getFullYear()}var ae=doi.dom.parseInt(w[2]);if(ae<1900){ae=c.getFullYear()+10}L.from=z;L.to=ae}else{L.from=1900;L.to=c.getFullYear()+10}}h.year=L.from+" "+L.to;if(e.value){h.value=e.value}var Z=document.createElement("div");var H=document.createElement("table");var T=e.parentNode;T.insertBefore(Z,e);Z.appendChild(e);Z.appendChild(H);H.setAttribute("cellPadding",0);H.setAttribute("cellSpacing",0);H.setAttribute("border",0);var Y=document.createElement("tbody");var P=document.createElement("tr");H.appendChild(Y);Y.appendChild(P);j=new doi.widget.calendarByElement(false,{parent:Z,attribute:h,className:i+"-calendar"});j.render();doi.event.add(j,"cellclick",function(){l.value(arguments[1].datetime,false)});doi.event.add(j,"render",function(){if(l.frame()){l.frame().resize()}});if(h.value){m=j.value(h.value)}var af=document.createElement("table");af.setAttribute("cellPadding",0);af.setAttribute("cellSpacing",0);af.setAttribute("border",0);af.setAttribute("width","100%");bbody=document.createElement("tbody");btr=document.createElement("tr");btd1=document.createElement("td");btd1.innerHTML="Today";btd2=document.createElement("td");btd2.innerHTML="Clear";j.element().appendChild(af);af.appendChild(bbody);bbody.appendChild(btr);btr.appendChild(btd1);btr.appendChild(btd2);doi.dom.className([af,btd1,btd2],i+"-button");doi.dom.style([btd1,btd2],{"text-align":"center"});doi.event.add([btd1,btd2],"mouseover",function(){doi.dom.addClass(this,i+"-button-hover")});doi.event.add([btd1,btd2],"mouseout",function(){doi.dom.removeClass(this,i+"-button-hover")});doi.event.add(btd1,"click",function(){var r=new Date();var s={};s.d=r.getDate();s.m=r.getMonth()+1;s.y=r.getFullYear();s.h=r.getHours();s.i=r.getMinutes();s.s=r.getSeconds();l.value(s)});doi.event.add(btd2,"click",function(){m.d=0;m.m=0;m.y=0;m.h=0;m.i=0;m.s=0;l.value()});b=new doi.widget.layer(j.element(),{id:n+"-frame",position:"fixed",className:i+"-frame",zIndex:h.zIndex,visibility:"hidden",effect:h.effect});b.render();doi.event.add(document,"click",function(){l.hide()});var M=!!(a.match(/(d|m|y)/));if(/\[\]$/.test(e.name)){var u=e.name.replace(/\[\]$/,"");var E=u+"-dd[]";var C=u+"-mm[]";var A=u+"-yy[]";var aa=u+"-hh[]";var G=u+"-ii[]";var B=u+"-ss[]"}else{var E=e.name+"-dd";var C=e.name+"-mm";var A=e.name+"-yy";var aa=e.name+"-hh";var G=e.name+"-ii";var B=e.name+"-ss"}for(var W=0;W<a.length;W++){var ab=a.substr(W,1);var ac=document.createElement("td");var ag=document.createElement("td");if(ab=="d"){var S='<select id="'+n+'-dd" name="'+E+'">';for(var ad=0;ad<=31;ad++){var K=ad;if(ad==0){K=""}var F="";if(ad==m.d){F="selected"}S+='<option style="text-align:right" value="'+ad+'" '+F+">"+K+"</option>"}S+="</select>";ac.innerHTML=S;ac.childNodes[0]._type="d"}else{if(ab=="m"){var S='<select id="'+n+'-mm" name="'+C+'">';for(var V=0;V<l.data.month.length;V++){var K=l.data.month[V];var F="";if(V==m.m){F="selected"}S+='<option value="'+V+'" '+F+">"+K+"</option>"}S+="</select>";ac.innerHTML=S;ac.childNodes[0]._type="m"}else{if(ab=="y"){var S='<select id="'+n+'-yy" name="'+A+'">';S+='<option value="0"></option>';if(L.from>L.to){for(var J=L.from;J>=L.to;J--){var F="";if(J==m.y){F="selected"}S+='<option style="text-align:right" value="'+J+'" '+F+">"+J+"</option>"}}else{for(var J=L.from;J<=L.to;J++){var F="";if(J==m.y){F="selected"}S+='<option style="text-align:right" value="'+J+'" '+F+">"+J+"</option>"}}S+="</select>";ac.innerHTML=S;ac.childNodes[0]._type="y"}else{if(ab=="h"){ag.innerHTML="&nbsp;&nbsp;";var S='<select id="'+n+'-hh" name="'+aa+'">';for(var X=0;X<24;X++){var K=X;if(X==0){K=""}var F="";if(X==m.h){F="selected"}S+='<option style="text-align:right" value="'+X+'" '+F+">"+K+"</option>"}S+="</select>";ac.innerHTML=S;ac.childNodes[0]._type="h"}else{if(ab=="i"){ag.innerHTML="&nbsp;:&nbsp;";var S='<select id="'+n+'-ii" name="'+G+'">';for(var I=0;I<60;I++){var K=I;if(I==0){K=""}var F="";if(I==m.i){F="selected"}S+='<option style="text-align:right" value="'+I+'" '+F+">"+K+"</option>"}S+="</select>";ac.innerHTML=S;ac.childNodes[0]._type="i"}else{if(ab=="s"){ag.innerHTML="&nbsp;:&nbsp;";var S='<select id="'+n+'-ss" name="'+B+'">';for(var O=0;O<60;O++){var K=O;if(O==0){K=""}var F="";if(O==m.s){F="selected"}S+='<option style="text-align:right" value="'+O+'" '+F+">"+K+"</option>"}S+="</select>";ac.innerHTML=S;ac.childNodes[0]._type="s"}}}}}}ac.childNodes[0].disabled=!(k);if(ag.innerHTML!=""){P.appendChild(ag)}P.appendChild(ac);ac.childNodes[0].onchange=function(){var r={};r[this._type]=this.value;switch(this._type){case"h":case"i":case"s":l.value(r,false);break;default:l.value(r)}};doi.dom.style(ac,{padding:"0px"})}if(M){var v=document.createElement("td");var D=document.createElement("td");v.innerHTML="&nbsp;&nbsp;&nbsp;&#9660;&nbsp;&nbsp;&nbsp;";D.innerHTML="&nbsp;";P.appendChild(D);P.appendChild(v);doi.dom.style([v,D],{padding:"0px"});doi.dom.className(v,i+"-caller");v.id=n+"-caller";doi.event.add(v,"mouseover",function(){doi.dom.addClassName(this,i+"-caller-hover")});doi.event.add(v,"mouseout",function(){doi.dom.removeClassName(this,i+"-caller-hover")});doi.event.add(v,"click",function(r){if(l.frame().visible()){l.hide()}else{l.show()}});if(!k){doi.dom.style(v,{display:"none",visibility:"hidden"})}}doi.dom.style(Z,{position:"relative",textAlign:"left"});doi.event.add(window,"resize",function(){if(l.frame().visible()){l.show()}});doi.event.add(window,"scroll",function(){if(l.frame().visible()){l.show()}});d=true};this.show=function(){l.value(m);var s=l.frame().element().offsetHeight;var q=doi.dom.dimension.absolutePosition(l.element());var u=e.parentNode.offsetHeight+q.top;var r=q.left;if(q.top<s){if(doi.browser.msie){u+=5}}else{if(doi.dom.dimension.client().height+doi.dom.dimension.bodyScroll().scrollTop<q.top+l.element().offsetHeight+s){u-=s+l.element().offsetHeight;if(doi.browser.msie){u-=5}}else{if(doi.browser.msie){u+=5}}}l.frame().show({top:u,left:r})};this.hide=function(){l.frame().hide()};function g(s){var r=true;for(var q in s){if(s[q]>0){r=false;break}}return r}this.value=function(){var z=arguments[0];if(z){m=j.value(z,arguments[1])}if(d){var u=document.getElementById(n+"-dd");if(u){u.value=m.d}var q=document.getElementById(n+"-mm");if(q){q.value=m.m}var x=document.getElementById(n+"-yy");if(x){x.value=m.y}var t=document.getElementById(n+"-hh");if(t){if(doi.dom.isDefined(m.h)){t.value=m.h}m.h=t.value}var r=document.getElementById(n+"-ii");if(r){if(doi.dom.isDefined(m.i)){r.value=m.i}m.i=r.value}var B=document.getElementById(n+"-ss");if(B){if(doi.dom.isDefined(m.s)){B.value=m.s}m.s=B.value}if(e){var A="";if(/(d|m|y)/.test(a)){A=m.y+"-"+doi.dom.stringPad(m.m,2,"0")+"-"+doi.dom.stringPad(m.d,2,"0")}if(a.match(/h/)){A+=" "+doi.dom.stringPad(m.h,2,"0")}if(a.match(/i/)){A+=":"+doi.dom.stringPad(m.i,2,"0")}if(a.match(/s/)){A+=":"+doi.dom.stringPad(m.s,2,"0")}if(m.d==0&&m.m==0&&m.y==0&&m.h==0&&m.i==0&&m.s==0){A=""}var w=e.value;e.value=A;if(w!=A){doi.event.fire(e,"change")}}}return new doi.dom.clone(m)};this.frame=function(){return b};this.enabled=function(){var q=arguments[0];if(!doi.dom.isUndefined(q)){q=!!(q);if(d){if(k==q){return k}if(l.frame().visible()){l.hide()}var r=document.getElementById(n+"-dd");if(r){r.disabled=!(q)}r=document.getElementById(n+"-mm");if(r){r.disabled=!(q)}r=document.getElementById(n+"-yy");if(r){r.disabled=!(q)}r=document.getElementById(n+"-hh");if(r){r.disabled=!(q)}r=document.getElementById(n+"-ii");if(r){r.disabled=!(q)}r=document.getElementById(n+"-ss");if(r){r.disabled=!(q)}if(q){doi.dom.style(doi.dom.$("#"+n+"-caller"),{display:"block",visibility:"visible"})}else{doi.dom.style(doi.dom.$("#"+n+"-caller"),{display:"none",visibility:"hidden"})}}k=q}return k};this.element=function(){return e.parentNode}};