/* Begin DropDownListWithItemAttributes.cs */
function SfWeb_CheckForDisabled(dropDown) 
{
	if ( (dropDown != null) && dropDown.options[dropDown.selectedIndex].disabled) 
	{
		dropDown.selectedIndex = 0;
		return false;
	}
	
	return true;
}
/* End DropDownListWithItemAttributes.cs */

/* Begin CollapsePanel.js */
function ToggleDisplay(elementIdsToToggle, toggleControlId, stateId)
{
	var toggle = document.getElementById(toggleControlId);
	var state = document.getElementById(stateId);

	for ( var i = 0; i < elementIdsToToggle.length; i++ )
	{
		var element = document.getElementById(elementIdsToToggle[i]);
		
		if ( element.style.display == 'none' ) 
		{
			element.style.display = '';
			toggle.className = 'collapse_panel_close';
			state.value = false;
		} 
		else
		{
			element.style.display = 'none';
			toggle.className = 'collapse_panel_open';
			state.value = true;
		}
	}
}
/* End CollapsePanel.js */

/* Begin DataChangeValidator.js */
var vNoDirtyCheckControlArray;

function IsNoDirtyCheckElement(elementId) 
{ 
	if ( vNoDirtyCheckControlArray == null ) 
	{ 
		return false; 
	} 
	
	for ( var i = 0; i < vNoDirtyCheckControlArray.length; i++ ) 
	{ 
		if ( vNoDirtyCheckControlArray[i] == elementId ) 
		{ 
			return true; 
		} 
		
	} 
	
	return false; 
}

function trimString(str) 
{
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function DataChangeValidator_AddNoDirtyCheckControl(id)
{
	vNoDirtyCheckControlArray.push(id);
}

function SetPageDirty()
{
	document.getElementsByName('dataChangeValidator_IsDirty')[0].value = true;
}

function IsPageDirty() 
{
	var vDataChangeValidator_Changed = (document.getElementsByName('dataChangeValidator_IsDirty')[0].value == "true" ? true : false);
	
	var vSourceID = ''; 
	var vEventTarget = document.getElementById('__EVENTTARGET'); 
	
	if ( vEventTarget == null || typeof(vEventTarget) == 'undefined' || vEventTarget.value == '' ) 
	{ 
		if ( document.activeElement ) 
		{ 
			vSourceID = document.activeElement.id; 
		} 
	} 
	else 
	{ 
		vSourceID = vEventTarget.value; 
	} 
	
	var regex = new RegExp(':', 'g'); 
	vSourceID = vSourceID.replace(regex, '_');
	
	var elements = document.forms[0].elements;

	for ( var i=0; i < elements.length; i++ )
	{
		if ( IsNoDirtyCheckElement(elements[i].id) )
		{
			continue;
		}
		
		if ( elements[i].type == 'text' || elements[i].type == 'password' || elements[i].tagName == 'TEXTAREA' )
		{
			if ( trimString(elements[i].value) != trimString(elements[i].defaultValue) )
			{
				vDataChangeValidator_Changed = true;
			}
		}
		else if ( elements[i].type == 'checkbox' || elements[i].type == 'radio' )
		{
			if ( elements[i].checked != elements[i].defaultChecked )
			{
				vDataChangeValidator_Changed = true;
			}
		}
		else if ( elements[i].tagName == 'SELECT' )
		{
			var defaultIndex = 0;
			var selectedIndex = 0;

			for ( var index = 0; index < elements[i].length; index++ )
			{
				if ( elements[i].options[index].defaultSelected )
				{
					defaultIndex = index;
				}

				if ( elements[i].options[index].selected )
				{
					selectedIndex = index;
				}
				
				if ( defaultIndex != selectedIndex ) 
				{ 
					vDataChangeValidator_Changed = true; 
				}
			}
		}
	}

	document.getElementsByName('dataChangeValidator_IsDirty')[0].value = vDataChangeValidator_Changed;
	
	return vDataChangeValidator_Changed;
}

function ValidateChanges()
{
	var result = true;

	if ( IsPageDirty() ) 
	{ 
		result = window.confirm('You have unsaved changes. Navigating away from this page will result in the loss of those changes.\n\nAre you sure you want to navigate away from this page?'); 
	}
	
	
	return result;
}
/* End DataChangeValidator.js */

/* Begin MediasiteGridView.js */
function DataGrid_CheckAll(gridId, check)
{
	var elements = document.forms[0].elements;
	
	for ( var i = 0; i < elements.length; i++ )
	{
		if ( (elements[i].type == 'checkbox') && !elements[i].disabled && (elements[i].id.indexOf(gridId) != -1)  )
		{
			elements[i].checked = check;
		}
	}
}
/* End MediasiteGridView.js */

/* Begin NumericTextBox.js */
function NumericTextbox_HandleBlur(textbox) {
    if (textbox.value.length<1)
        textbox.value = textbox.getAttribute("minValue");
        
    NumericTextbox_AddLeadingZeros(textbox);
}

function NumericTextbox_AddLeadingZeros(textbox) {
    var diff = textbox.getAttribute("minLength") - textbox.value.length;
    for (var i=0; i<diff; i++) {
        textbox.value = "0" + textbox.value;
    }
}

function NumericTextbox_NumbersOnlyPlease(evt, clientMethod) {
	evt = (evt) ? evt : event;
	var code = evt.charCode || evt.keyCode;

	// tab is okay
	if (code == 9)
	{
		return true;
	}

	if (code == 13 && clientMethod != null)
	{
		return clientMethod();
	}

    if ((code != 8 && code != 37 && code != 39) && (code < 48 || code > 57)) 
    {
		if ( window.event )
		{
			window.event.returnValue = false;
		}
		
        return false;
    }
    
    return true;
}

function NumericTextbox_CheckLimits(evt) {
    var textbox = evt.target ? evt.target : evt.srcElement;
    var minValue = textbox.getAttribute("minValue");
    var maxValue = textbox.getAttribute("maxValue");
    
    if (parseInt(textbox.value) < minValue) {
        textbox.value = minValue;
    } else if (parseInt(textbox.value) > maxValue) {
        textbox.value = maxValue;
    }
}
/* End NumericTextBox.js */

/* Begin SfTextBox.js */
function AllowTabOnly(evt) 
{
    evt = (evt) ? evt : event;
    var code = evt.charCode || evt.keyCode;

    if (code == 9) 
    {
        return true;
    }

    return false;
}
/* End SfTextBox.js */