﻿if (!window.ToyBox) ToyBox={}; ToyBox.__namespace=true; if (!ToyBox.Web) ToyBox.Web={}; ToyBox.Web.__namespace=true; if (!ToyBox.Web.UI) ToyBox.Web.UI={}; ToyBox.Web.UI.__namespace=true; if (!ToyBox.Web.UI.WebControls) ToyBox.Web.UI.WebControls={}; ToyBox.Web.UI.WebControls.__namespace=true;
var __Current=ToyBox.Web.UI.WebControls; __Current.RadioButton={}; __Current.RadioButton.Controls=[]; __Current.CheckBox={}; __Current.CheckBox.Controls=[]; __Current.CheckBoxList={};
if ((window.Sys)&&(Sys.Browser)) { Sys.Browser.WebKit={}; if (navigator.userAgent.indexOf("WebKit/")!=-1) { Sys.Browser.agent=Sys.Browser.WebKit; Sys.Browser.version=parseFloat(navigator.userAgent.match(/WebKit\/(\d+(\.\d+)?)/)[1]); Sys.Browser.name="WebKit"; } }
__Current.CheckBox.OnGroupInit=function(ClientID,UnselectedImageUrl,SelectedImageUrl,DisabledUnselectedImageUrl,DisabledSelectedImageUrl)
{
	var Control=document.getElementById(ClientID); if (Control!=null) {
		Control.UnselectedImageUrl=UnselectedImageUrl; Control.SelectedImageUrl=SelectedImageUrl; Control.DisabledUnselectedImageUrl=DisabledUnselectedImageUrl; Control.DisabledSelectedImageUrl=DisabledSelectedImageUrl; 
		Control.onclick=ToyBox.Web.UI.WebControls.CheckBoxList.OnClick; Control.itemsCount=0; Control=Control.getElementsByTagName("a"); document.getElementById(ClientID).itemsCount=Control.length;
		for (var Index=0; Index<Control.length; Index++) { if (Control[Index].id!="") {
			if (Control[Index].id.match(/_Control$/)=="_Control")
				ToyBox.Web.UI.WebControls.CheckBox.OnInit(Control[Index].id,UnselectedImageUrl,SelectedImageUrl,DisabledUnselectedImageUrl,DisabledSelectedImageUrl);
			Control[Index].isInitialized=true; } } }
};
__Current.CheckBox.OnInit=function(ClientID,UnselectedImageUrl,SelectedImageUrl,DisabledUnselectedImageUrl,DisabledSelectedImageUrl)
{
	var __Current=ToyBox.Web.UI.WebControls; var Control=document.getElementById(ClientID); if (Control!=null) {
		Control.Input=document.getElementById(ClientID.replace("_Control","")); Control.Input.Control=Control;
		Control.Images={ Unselected:UnselectedImageUrl, Selected:SelectedImageUrl, DisabledUnselected:DisabledUnselectedImageUrl, DisabledSelected:DisabledSelectedImageUrl };
		var Image=Control.appendChild(document.createElement("img")); Image.style.borderWidth="0px"; Image.name=Control.Input.name;
		if ((Control.onclick!=null)&&(Control.onclick!=__Current.CheckBox.OnClick)) Control.onclick_old=Control.onclick;
		Control.onclick=__Current.CheckBox.OnClick; Control.onkeydown=__Current.CheckBox.OnKeyDown;
		if (Control.Input.addEventListener) { Control.Input.addEventListener("DOMAttrModified",__Current.CheckBox.OnPropertyChange,false);
			if (Control.Input.type=="radio") { Control.Input.addEventListener("RadioStateChange",__Current.CheckBox.OnChange,false);
				if (window.devicePixelRatio) { var Inputs=document.getElementsByTagName("input"); for (var Index=0; Index<Inputs.length; Index++) {
						if ((Inputs[Index].type.toLowerCase()=="radio")&&(!Inputs[Index].Control)) {
							if ((Inputs[Index].onchange!=null)&&(Inputs[Index].onchange!=__Current.CheckBox.OnUnchange)) Inputs[Index].onchange_old=Inputs[Index].onchange;
							Inputs[Index].onchange=__Current.CheckBox.OnUnchange; } } } } } else Control.Input.onpropertychange=__Current.CheckBox.OnPropertyChange;
		Control.Input.onchange=__Current.CheckBox.OnChange; __Current.CheckBox.OnStateChange(Control); __Current[Control.Input.type=="radio"?"RadioButton":"CheckBox"].Controls.push(Control); }
};
__Current.CheckBox.OnUnchange=function(evt)
{
	if (evt.target.onchange_old) evt.target.onchange_old(evt); var Controls=ToyBox.Web.UI.WebControls.CheckBox.Controls; for (var Index=0; Index<Controls.length; Index++)
	{ Controls[Index].Input.checked=false; ToyBox.Web.UI.WebControls.CheckBox.OnStateChange(Controls[Index]); }
};
__Current.CheckBox.OnPropertyChange=function(evt)
{
	if (!evt) evt=window.event; if (!evt.propertyName) evt.propertyName=evt.attrName; var Control=(evt.target||evt.srcElement).Control;
	if (evt.propertyName=="checked") ToyBox.Web.UI.WebControls.CheckBox.OnStateChange(Control);
};
__Current.CheckBox.OnChange=function(evt) { if (!evt) evt=window.event; var Control=(evt.target||evt.srcElement).Control; ToyBox.Web.UI.WebControls.CheckBox.OnStateChange(Control); };
__Current.CheckBox.OnKeyDown=function(evt)
{
	if (!evt) evt=window.event; var Control=(evt.target||evt.srcElement); var KeyCode=(evt.keyCode||evt.which);
	if (Control.nodeName.toLowerCase()=="img") Control=Control.parentNode;
	if (KeyCode==32) Control.Input.checked=(Control.Input.type=="radio"?true:!Control.Input.checked);
	ToyBox.Web.UI.WebControls.CheckBox.OnStateChange(Control);
	evt.cancelBubble=true; evt.returnValue=false; return false;
};
__Current.CheckBox.OnClick=function(evt)
{
	if (!evt) evt=window.event; var Control=(evt.target||evt.srcElement); if (Control.nodeName.toLowerCase()=="img") Control=Control.parentNode;
	if (Control.Input.disabled==false) Control.Input.checked=(Control.Input.type=="radio"?true:!Control.Input.checked); ToyBox.Web.UI.WebControls.CheckBox.OnStateChange(Control);
	Control.Validators=Control.childNodes[0].Validators=Control.Input.Validators; ToyBox.Web.UI.WebControls.CheckBox.FireEvent(Control.Input,"onclick",evt);
	evt.cancelBubble=true; evt.returnValue=false; if (Control.onclick_old!=undefined) Control.onclick_old(evt); evt.cancelBubble=true; evt.returnValue=false; return false;
};
__Current.CheckBox.OnStateChange=function(Control,IsRecursiveSearch)
{
	if (IsRecursiveSearch==undefined) IsRecursiveSearch=true; Control.checked=Control.Input.checked;
	if (Control.childNodes.length>0) Control.childNodes[0].src=Control.Images[(Control.Input.disabled==true?"Disabled":"")+(Control.Input.checked==true?"S":"Uns")+"elected"];
	if ((Control.Input.checked==true)&&(Control.Input.type=="radio"))
	{
		var CheckedRadioButton=null; if (window.devicePixelRatio) { var Inputs=document.getElementsByTagName("input"); for (var Index=0; Index<Inputs.length; Index++)
			{ if ((Inputs[Index].type.toLowerCase()=="radio")&&(Inputs[Index].checked)&&(!Inputs[Index].Control)) { CheckedRadioButton=Inputs[Index]; break; } } }
		if (IsRecursiveSearch==true) { var Controls=ToyBox.Web.UI.WebControls[(Control.Input.type=="radio"?"RadioButton":"CheckBox")].Controls;
			for (var Index=0; Index<Controls.length; Index++)
			{ if (((Controls[Index]!=Control)&&(Controls[Index].Input.name==Control.Input.name))||(CheckedRadioButton!=null)) 
				{ Controls[Index].Input.checked=false; ToyBox.Web.UI.WebControls.CheckBox.OnStateChange(Controls[Index],false); } } }
	}
};
__Current.CheckBox.FireEvent=function(Control,EventName,Event)
{
      if ((Control[EventName]!=undefined)&&(Control[EventName]!=null)) { var NewEvent={}; for (var Property in Event) if ((Property=="srcElement")||(Property=="target"))
            NewEvent[Property]=Control; else NewEvent[Property]=Event[Property]; ToyBox.Web.UI.WebControls.CheckBox.Event=NewEvent;
            var Code=Control[EventName].toString().replace(new RegExp("^function\\s*("+EventName+"|anonymous)\\s*\\(","gi"),"function TEMPORARY_FUNCTION(");
            Code=Code.replace(/function TEMPORARY_FUNCTION\([^\)]+\)/g,"function TEMPORARY_FUNCTION()").replace(/(\(\)\{\}\s\t\r\n)*(window.event|event)/g,"$1ToyBox.Web.UI.WebControls.CheckBox.Event");
            Code=Code.replace(/^function\s*\(/gi,"function TEMPORARY_FUNCTION("); eval(Code+";TEMPORARY_FUNCTION(ToyBox.Web.UI.WebControls.CheckBox.Event); delete TEMPORARY_FUNCTION;"); }
};
__Current.CheckBox.CreateInstance=function(ControlContainer,InsertBefore,ID,Name,IsRadioButton,Checked,CssClass,TextCssClass,UnselectedImageUrl,SelectedImageUrl,DisabledUnselectedImageUrl,DisabledSelectedImageUrl)
{
	var __Current=ToyBox.Web.UI.WebControls.CheckBox; var Input=null;
	if ((__Current.IE>0.0)&&(__Current.IE<8.0)) Input=document.createElement("<input type=\""+(IsRadioButton==true?"radio":"checkbox")+"\" name=\""+Name+"\" id=\""+ID+"\""+(Checked==true?" checked=\"checked\"":"")+" />");
	else { Input=document.createElement("input"); Input.type=(IsRadioButton==true?"radio":"checkbox"); Input.name=Name; Input.id=ID; Input.checked=Checked; }
	var InputContainer=document.createElement("span"); InputContainer.style.display="none"; InputContainer.appendChild(Input); if (InsertBefore!=null) ControlContainer.insertBefore(Input,InsertBefore); else ControlContainer.appendChild(InputContainer);
	var Control=document.createElement("a"); Control.className=CssClass+((CssClass!=null)&&(CssClass!="")?" ":"")+"ToyBoxDefault"; Control.id=ID+"_Control"; Control.href="#";
	Control.style.fontSize="0"; if ((__Current.IE>0.0)&&(__Current<8.0)) { Control.style.display="block"; Control.style.zoom="1"; } else Control.style.display="inline-block";
	if (InsertBefore!=null) ControlContainer.insertBefore(Control,InsertBefore); else ControlContainer.appendChild(Control); __Current.OnInit(ID+"_Control",UnselectedImageUrl,SelectedImageUrl,DisabledUnselectedImageUrl,DisabledSelectedImageUrl);
};
__Current.CheckBoxList.OnClick=function(evt)
{
	if (!evt) evt=window.event; var Source=(evt.target||evt.srcElement); var Control=Source; while (!Control.itemsCount) Control=Control.parentNode; var Controls=Control.getElementsByTagName("a");
	for (var Index=0; Index<Controls.length; Index++) if ((!Controls[Index].isInitialized)||(typeof(Controls[Index].isInitialized)!="boolean")) { Control.itemsCount=0; break; } var SourceIndex=0;
	if (Control.itemsCount==Controls.length) return true; else { for (var Index=0; Index<Controls.length; Index++) {
			var CurrentControl=Controls[Index]; if (CurrentControl==Source.parentNode) SourceIndex=Index;
			CurrentControl.id=CurrentControl.id.substr(0,CurrentControl.id.replace(/_Control$/,"").lastIndexOf('_')+1)+Index.toString()+"_Control";
			while (CurrentControl.childNodes.length>0) CurrentControl.removeChild(CurrentControl.childNodes[0]); }
		ToyBox.Web.UI.WebControls.CheckBox.OnGroupInit(Control.id,Control.UnselectedImageUrl,Control.SelectedImageUrl,Control.DisabledUnselectedImageUrl,Control.DisabledSelectedImageUrl);
		var Event={}; for (var Item in evt) { if ((Item=="srcElement")||(Item=="target")) Event[Item]=Controls[SourceIndex].getElementsByTagName("img")[0]; else Event[Item]=evt[Item]; }
		(Event.srcElement||Event.target).parentNode.onclick(Event); evt.returnValue=false; evt.cancelBubble=true; return false; }
};