
wl.Controls.Button=wl.Class(wl.Controls.Control,function(base)
{this.constructor=function()
{base.constructor.call(this);}
this.ongenerate=function()
{var c=wl.$(this.c_id);if(c.firstChild==null)c.appendChild(wl.$e("b"));if(c.firstChild.firstChild==null)c.firstChild.appendChild(wl.$e("b"));if(c.firstChild.firstChild.firstChild==null)c.firstChild.firstChild.appendChild(wl.$e("b"));c.onclick=this.click.bind(this);if(c.tagName=="BUTTON"&&wl.browser.ie&&wl.browser.v<=7&&c.form)
{var submit=c.form.onsubmit;c.form.onsubmit=function(){if(c.__allowSubmited)c.value=c.innerText;else c.disabled=true;if(typeof(submit)=="function")return submit();}}
preloadButtonImages(c);}
var returnTrue=function(){return true;}
this.setCssClass=function(cssClass)
{var c=wl.$(this.c_id);if(c){wl.Utils.setNew(c,"className","button "+cssClass);preloadButtonImages(c);}}
var bigbtn=false;var preloadButtonImages=function(c)
{var a=[];if(a.length)wl.Utils.preloadImages(null,a);}
this.setIcon=function(icon)
{var c_icon=getIconContainer(wl.$(this.c_id),true);c_icon.lastChild.className=icon;}
var getIconContainer=function(c,bCreate)
{var b=c.firstChild.firstChild.firstChild;var c_icon=b.firstChild;if(bCreate&&(!c_icon||c_icon.tagName!="SPAN"||!c_icon.lastChild||!c_icon.lastChild.tagName!="IMG"))
{c_icon=wl.$e("SPAN");c_icon.className="button-icon";c_icon.innerHTML="&nbsp;";var icon=wl.$e("IMG");icon.src=wl.pixel;c_icon.appendChild(icon);b.insertBefore(c_icon,b.firstChild);}
return c_icon&&c_icon.tagName=="SPAN"&&c_icon.lastChild&&c_icon.lastChild.tagName=="IMG"?c_icon:null;}
this.setText=function(text,title)
{var c=wl.$(this.c_id);if(c)
{if(typeof(title)=="number")title=wl.S(title);if(typeof(text)=="number")
{var b=c.firstChild.firstChild;if(b.attributes["localeID"]==null)
b.setAttribute("localeID",0);b.attributes["localeID"].nodeValue=text;text=wl.S(text);}
c.title=title||text;var c_icon=getIconContainer(c,false);var b=c.firstChild.firstChild.firstChild;wl.$t(text,b,true);if(c_icon)b.insertBefore(c_icon,b.firstChild);}}
this.click=function(e)
{var cancel=true;if(!this.isDisabled()&&!wl.fireEvent(this,"check").isFalse&&!wl.fireEvent(this,"click").isFalse)cancel=false;try
{var c=wl.$(this.c_id);if(c.href&&c.href.indexOf("#")>=0)cancel=true;c.blur();}catch(ex){}
if(cancel)return false;this.doPostBack();}
this.doPostBack=function(){var c=wl.$(this.c_id);if(c.tagName=="BUTTON"){c.__allowSubmited=true;var pb=this.doPostBack;this.doPostBack=empty;c.click();this.doPostBack=pb;}}
var empty=function(){}
this.ondisabled=function(state)
{}});