/*
	button.js
	MiWeb button support code.
*/

function setButtonState(id, cssclass, state)
{
	//debugger;
	// check to see if the browser supports document.getElementById
	if (document.getElementById)
	{
		var btn = document.getElementById(id);					// button outer div wrapper
		//var tags = btn.getElementsByTagName('span');						// all button div elements
		var tag;															// variable to hold tags
		var lp = 0;		
		var strCssclass
		var buttonStyleStandard = false;
		
		if (btn == null)
		{
			btn = document.getElementById(id);
			buttonStyleStandard = true;
		}
		
		if(cssclass == null)
		{
		    strCssclass = btn.className;
		    if ((strCssclass.length > 9)&&(strCssclass.substr(strCssclass.length - 9) == '_disabled'))
		    {
		        strCssclass = strCssclass.slice(0, strCssclass.length - 9);
		    }
		}
		else
		{
		    strCssclass = cssclass;
		}
		
															// loop variable
		if (state)
		{
			// enable button
			btn.removeAttribute('disabled');

			if (buttonStyleStandard	== false)
			{
				btn.className = strCssclass
				//
				//tag = btn.getElementsByTagName('a');
				//tag[0].removeAttribute('disabled');
				//

				tag = document.getElementById(id + '_state');
				if (tag)
				{
				    tag.setAttribute('value', 'enabled');
				}
				// set class on internal spans
				var spans = btn.getElementsByTagName('span');				// all button span elements
				for (lp = 0; lp < spans.length; lp++)
				{
					switch (spans[lp].className)
					{
						case strCssclass+'_disabled_buttonLeft':
							spans[lp].className = strCssclass+'_buttonLeft';
							break;
						case strCssclass+'_disabled_buttonRight':
							spans[lp].className = strCssclass+'_buttonRight';
							break;
					}
				}
				// set class on internal spans
				var divs = btn.getElementsByTagName('div');					// all button span elements
				for (lp = 0; lp < divs.length; lp++)
				{
					switch (divs[lp].className)
					{
						case strCssclass+'_disabled_button':
							divs[lp].className = strCssclass+'_button';
							break;
					}
				}
			}
		}
		else
		{
			btn.setAttribute('disabled', 'disabled');
			
			if (buttonStyleStandard	== false)
			{
				btn.className = strCssclass+'_disabled'
				//
				//tag = btn.getElementsByTagName('a');
				//tag[0].setAttribute('disabled', 'disabled');
				//
				//tag = btn.getElementsByTagName('input');
				//tag[0].setAttribute('value', 'disabled');
				tag = document.getElementById(id + '_state');
				if (tag)
				{
				    tag.setAttribute('value', 'enabled');
				}
				// set class on internal spans
				var spanTags = btn.getElementsByTagName('span');				// all button span elements
				for (lp = 0; lp < spanTags.length; lp++)
				{
					switch (spanTags[lp].className)
					{
						case strCssclass+'_buttonLeft':
							spanTags[lp].className = strCssclass+'_disabled_buttonLeft';
							break;
						case strCssclass+'_buttonRight':
							spanTags[lp].className = strCssclass+'_disabled_buttonRight';
							break;
					}
				}
				// set class on internal spans
				var divTags = btn.getElementsByTagName('div');					// all button span elements
				for (lp = 0; lp < divTags.length; lp++)
				{
					switch (divTags[lp].className)
					{
						case strCssclass+'_button':
							divTags[lp].className = strCssclass+'_disabled_button';
							break;
					}
				}
			}
		}
	}
};


function setButtonText(id, text)
{
	var btn = document.getElementById(id);
	if(btn)
	{
	    if (btn.firstChild.nextSibling)
	    {
	        //If using left right spans then.
	        btn.firstChild.nextSibling.innerHTML = text;
	    }
	    else
	    {
	        btn.firstChild.innerHTML = text;
	    }
	}		
};

function setButtonPostUrl(strUrl, eventTarget, eventArgument) {
	var objFrm = $('aspnetForm');
	if(objFrm && strUrl!='') { 
		objFrm.action = strUrl;

    }
    __doPostBack(eventTarget, eventArgument);	
}

function getButtonState(btn) {
    lDisabled = btn.getAttribute('disabled');
    if (lDisabled == null) {
        var strCssclass = btn.className;
        lDisabled = false;
        if ((strCssclass.length > 9) && (strCssclass.substr(strCssclass.length - 9) == '_disabled')) {
            lDisabled = true;
        }
    }

    return lDisabled;
}
