/* 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 DataChangeValidator.js */
var vNoDirtyCheckControlArray;

function IsNoDirtyCheckElement(elementId) 
{ 
	if ( vNoDirtyCheckControlArray == null ) 
	{ 
		return false; 
	} 
	
	for ( var i = 0; i < vNoDirtyCheckControlArray.length; i++ ) 
	{ 
		if ( elementId.indexOf(vNoDirtyCheckControlArray[i]) == 0 ) 
		{ 
			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()
{
	var hiddenElement = document.getElementsByName('dataChangeValidator_IsDirty')[0];
	
	if ( hiddenElement )
		hiddenElement.value = true;
}

function IsPageDirty() 
{
	var hiddenElement = document.getElementsByName('dataChangeValidator_IsDirty')[0];

	if (!hiddenElement)
		return false;

	var vDataChangeValidator_Changed = (hiddenElement.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(validateChangesMessage); 
	}
	
	
	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);

    var mask = textbox.getAttribute('maskOnZero');
    var intVal = parseInt(textbox.value);
    if (mask && ((intVal == 0) || isNaN(intVal)))
    	textbox.value = mask;
}

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_Focus(textbox)
{
	textbox.select();
}

function NumericTextbox_NumbersOnlyPlease(evt, clientMethod) {
	evt = (evt) ? evt : event;
	var code = evt.charCode || evt.keyCode;

	// tab and delete are okay
	if (code == 9 || code == 46)
	{
		return true;
	}

	// paste is okay
	if (evt.ctrlKey && (code == 86 || code == 118)) {
		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 */

/* Begin SfSilverlight.js */
function OnSilverlightError(sender, args) {
    var appSource = "";
    if (sender != null && sender != 0) {
        appSource = sender.getHost().Source;
    }

    var errorType = args.ErrorType;
    var iErrorCode = args.ErrorCode;

    if (errorType == "ImageError" ||
            errorType == "MediaError") {
        return;
    }

    var errMsg = "Unhandled Error in Silverlight Application "
            + appSource + "\n";

    errMsg += "Code: " + iErrorCode + "    \n";
    errMsg += "Category: " + errorType + "       \n";
    errMsg += "Message: " + args.ErrorMessage + "     \n";

    if (errorType == "ParserError") {
        errMsg += "File: " + args.xamlFile + "     \n";
        errMsg += "Line: " + args.lineNumber + "     \n";
        errMsg += "Position: " + args.charPosition + "     \n";
    }
    else if (errorType == "RuntimeError") {
        if (args.lineNumber != 0) {
            errMsg += "Line: " + args.lineNumber + "     \n";
            errMsg += "Position: " + args.charPosition +
                    "     \n";
        }
        errMsg += "MethodName: " + args.methodName + "     \n";
    }

    throw new Error(errMsg);
}
/* End SfSilverlight.js */

/* Start Fix to make webkit browsers uplevel */

Sys.Browser.WebKit = {}; //Safari 3 is considered WebKit
if (navigator.userAgent.indexOf('WebKit/') > -1)
{
    //alert("using webkit");
    Sys.Browser.agent = Sys.Browser.WebKit;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/WebKit\/(\d+(\.\d+)?)/)[1]);
    Sys.Browser.name = 'WebKit';
}

/* End Fix to make webkit browsers uplevel */