diff --git a/IISExpress/AppServer/applicationhost.config b/IISExpress/AppServer/applicationhost.config index 617c6762a..458aeedbb 100644 --- a/IISExpress/AppServer/applicationhost.config +++ b/IISExpress/AppServer/applicationhost.config @@ -145,7 +145,7 @@ - + diff --git a/NzbDrone.Core.Test/IndexerTests.cs b/NzbDrone.Core.Test/IndexerTests.cs index 30aea11b5..69670f5b2 100644 --- a/NzbDrone.Core.Test/IndexerTests.cs +++ b/NzbDrone.Core.Test/IndexerTests.cs @@ -21,7 +21,7 @@ namespace NzbDrone.Core.Test // ReSharper disable InconsistentNaming public class IndexerTests : TestBase { - + [TestCase("nzbsorg.xml", 0)] [TestCase("nzbsrus.xml", 6)] [TestCase("newzbin.xml", 1)] @@ -60,16 +60,20 @@ namespace NzbDrone.Core.Test public void newzbin_rss_fetch() { var mocker = new AutoMoqer(); - - mocker.GetMock() - .Setup(h => h.DownloadStream(It.IsAny(), It.IsAny())) - .Returns(File.OpenRead(".\\Files\\Rss\\newzbin.xml")); - + mocker.Resolve(); var fakeSettings = Builder.CreateNew().Build(); mocker.GetMock() .Setup(c => c.GetSettings(It.IsAny())) .Returns(fakeSettings); + mocker.GetMock() + .SetupGet(c => c.NewzbinUsername) + .Returns("nzbdrone"); + + mocker.GetMock() + .SetupGet(c => c.NewzbinPassword) + .Returns("smartar39865"); + var newzbinProvider = mocker.Resolve(); var parseResults = newzbinProvider.FetchRss(); @@ -84,11 +88,10 @@ namespace NzbDrone.Core.Test parseResults.Should().OnlyContain(s => s.Indexer == newzbinProvider.Name); parseResults.Should().OnlyContain(s => !String.IsNullOrEmpty(s.NzbTitle)); - - ExceptionVerification.ExcpectedWarns(1); + ExceptionVerification.IgnoreWarns(); } - + [TestCase("Adventure.Inc.S03E19.DVDRip.XviD-OSiTV", 3, 19, QualityTypes.DVD)] public void custome_parser_partial_success(string title, int season, int episode, QualityTypes quality) { @@ -179,8 +182,8 @@ namespace NzbDrone.Core.Test result.Should().OnlyContain(r => r.EpisodeNumbers.Contains(23)); } - [TestCase("simpsons",21,23)] - [TestCase("Hawaii Five-0", 1, 5)] + [TestCase("simpsons", 21, 23)] + [TestCase("Hawaii Five-0 2010", 1, 5)] public void newzbin_search_returns_valid_results(string title, int season, int episode) { var mocker = new AutoMoqer(); @@ -198,7 +201,7 @@ namespace NzbDrone.Core.Test var result = mocker.Resolve().FetchEpisode(title, season, episode); result.Should().NotBeEmpty(); - result.Should().OnlyContain(r => r.CleanTitle == title); + result.Should().OnlyContain(r => r.CleanTitle == Parser.NormalizeTitle(title)); result.Should().OnlyContain(r => r.SeasonNumber == season); result.Should().OnlyContain(r => r.EpisodeNumbers.Contains(episode)); } diff --git a/NzbDrone.Core.Test/RootDirProviderTest.cs b/NzbDrone.Core.Test/RootDirProviderTest.cs index b529b1fde..9d2efce7a 100644 --- a/NzbDrone.Core.Test/RootDirProviderTest.cs +++ b/NzbDrone.Core.Test/RootDirProviderTest.cs @@ -60,26 +60,6 @@ namespace NzbDrone.Core.Test } - [TestCase("D:\\TV Shows\\")] - [TestCase("//server//folder")] - public void UpdateRootDir(string newPath) - { - //Setup - var mocker = new AutoMoqer(); - mocker.SetConstant(MockLib.GetEmptyDatabase()); - - - //Act - var rootDirProvider = mocker.Resolve(); - rootDirProvider.Add(new RootDir { Path = @"C:\TV" }); - rootDirProvider.Update(new RootDir { Id = 1, Path = newPath }); - - //Assert - var rootDirs = rootDirProvider.GetAll(); - rootDirs.Should().HaveCount(1); - newPath.Should().Be(rootDirs.First().Path); - } - [Test] public void RemoveRootDir() { @@ -152,14 +132,5 @@ namespace NzbDrone.Core.Test mocker.Resolve().Add(new RootDir { Id = 0, Path = path }); } - [TestCase("")] - [TestCase(null)] - [TestCase("BAD PATH")] - [ExpectedException(typeof(ArgumentException))] - public void invalid_folder_path_throws_on_update(string path) - { - var mocker = new AutoMoqer(); - mocker.Resolve().Update(new RootDir { Id = 2, Path = path }); - } } } \ No newline at end of file diff --git a/NzbDrone.Core.Test/SeriesProviderTest.cs b/NzbDrone.Core.Test/SeriesProviderTest.cs index f04eae442..2e553989a 100644 --- a/NzbDrone.Core.Test/SeriesProviderTest.cs +++ b/NzbDrone.Core.Test/SeriesProviderTest.cs @@ -10,8 +10,6 @@ using NzbDrone.Core.Providers.Core; using NzbDrone.Core.Repository; using NzbDrone.Core.Repository.Quality; using NzbDrone.Core.Test.Framework; -using PetaPoco; -using TvdbLib.Data; // ReSharper disable InconsistentNaming namespace NzbDrone.Core.Test diff --git a/NzbDrone.Core.Test/TvDbProviderTest.cs b/NzbDrone.Core.Test/TvDbProviderTest.cs index 8b35335c4..8d5374482 100644 --- a/NzbDrone.Core.Test/TvDbProviderTest.cs +++ b/NzbDrone.Core.Test/TvDbProviderTest.cs @@ -85,16 +85,17 @@ namespace NzbDrone.Core.Test } //assert - seasonsNumbers.Should().HaveCount(8); + seasonsNumbers.Should().HaveCount(7); seasons[1].Should().HaveCount(23); seasons[2].Should().HaveCount(19); seasons[3].Should().HaveCount(16); seasons[4].Should().HaveCount(20); seasons[5].Should().HaveCount(18); + seasons[6].Should().HaveCount(19); foreach (var season in seasons) { - season.Value.Should().OnlyHaveUniqueItems(); + season.Value.Should().OnlyHaveUniqueItems("Season {0}", season.Key); } //Make sure no episode number is skipped diff --git a/NzbDrone.Core/Datastore/CustomeMapper.cs b/NzbDrone.Core/Datastore/CustomeMapper.cs index e938aabdb..14979cbe4 100644 --- a/NzbDrone.Core/Datastore/CustomeMapper.cs +++ b/NzbDrone.Core/Datastore/CustomeMapper.cs @@ -1,17 +1,18 @@ using System; +using System.Reflection; using PetaPoco; namespace NzbDrone.Core.Datastore { public class CustomeMapper : DefaultMapper { - public override Func GetFromDbConverter(DestinationInfo destinationInfo, Type sourceType) + public override Func GetFromDbConverter(Type destinationType, Type sourceType) { - if ((sourceType == typeof(Int32) || sourceType == typeof(Int64)) && destinationInfo.Type.IsGenericType && destinationInfo.Type.GetGenericTypeDefinition() == typeof(Nullable<>)) + if ((sourceType == typeof(Int32) || sourceType == typeof(Int64)) && destinationType.IsGenericType && destinationType.GetGenericTypeDefinition() == typeof(Nullable<>)) { // If it is NULLABLE, then get the underlying type. eg if "Nullable" then this will return just "int" - Type genericArgument = destinationInfo.Type.GetGenericArguments()[0]; + Type genericArgument = destinationType.GetGenericArguments()[0]; if (genericArgument == typeof(DayOfWeek)) { return delegate(object s) @@ -30,7 +31,14 @@ namespace NzbDrone.Core.Datastore }; } - return base.GetFromDbConverter(destinationInfo, sourceType); + return base.GetFromDbConverter(destinationType, sourceType); + } + + public override Func GetFromDbConverter(PropertyInfo propertyInfo, Type sourceType) + { + return GetFromDbConverter(propertyInfo.PropertyType, sourceType); } } + + } \ No newline at end of file diff --git a/NzbDrone.Core/Datastore/PetaPoco/PetaPoco.cs b/NzbDrone.Core/Datastore/PetaPoco/PetaPoco.cs index e193fdff4..0e00ac002 100644 --- a/NzbDrone.Core/Datastore/PetaPoco/PetaPoco.cs +++ b/NzbDrone.Core/Datastore/PetaPoco/PetaPoco.cs @@ -1,4 +1,4 @@ -/* PetaPoco v4.0.2 - A Tiny ORMish thing for your POCO's. +/* PetaPoco v4.0.3 - A Tiny ORMish thing for your POCO's. * Copyright © 2011 Topten Software. All Rights Reserved. * * Apache License 2.0 - http://www.toptensoftware.com/petapoco/license @@ -13,135 +13,139 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Configuration; -using System.Data; using System.Data.Common; -using System.Diagnostics; -using System.Linq; -using System.Linq.Expressions; +using System.Data; +using System.Text.RegularExpressions; using System.Reflection; using System.Reflection.Emit; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading; -using MvcMiniProfiler; +using System.Linq.Expressions; + namespace PetaPoco { - // Poco's marked [Explicit] require all column properties to be marked - [AttributeUsage(AttributeTargets.Class)] - public class ExplicitColumnsAttribute : Attribute - { - } - // For non-explicit pocos, causes a property to be ignored - [AttributeUsage(AttributeTargets.Property)] - public class IgnoreAttribute : Attribute - { - } - - // For explicit pocos, marks property as a column - [AttributeUsage(AttributeTargets.Property)] - public class ColumnAttribute : Attribute - { - public ColumnAttribute() { } - public ColumnAttribute(string name) { Name = name; } - public string Name { get; set; } - } - - // For explicit pocos, marks property as a column - [AttributeUsage(AttributeTargets.Property)] - public class ResultColumnAttribute : ColumnAttribute - { - public ResultColumnAttribute() { } - public ResultColumnAttribute(string name) : base(name) { } - } - - // Specify the table name of a poco - [AttributeUsage(AttributeTargets.Class)] - public class TableNameAttribute : Attribute - { - public TableNameAttribute(string tableName) - { - Value = tableName; - } - public string Value { get; private set; } - } - - // Specific the primary key of a poco class (and optional sequence name for Oracle) - [AttributeUsage(AttributeTargets.Class)] - public class PrimaryKeyAttribute : Attribute - { - public PrimaryKeyAttribute(string primaryKey) - { - Value = primaryKey; - autoIncrement = true; - } - - public string Value { get; private set; } - public string sequenceName { get; set; } - public bool autoIncrement { get; set; } - } - - [AttributeUsage(AttributeTargets.Property)] - public class AutoJoinAttribute : Attribute - { - public AutoJoinAttribute() { } - } + // Poco's marked [Explicit] require all column properties to be marked + [AttributeUsage(AttributeTargets.Class)] + public class ExplicitColumnsAttribute : Attribute + { + } + // For non-explicit pocos, causes a property to be ignored + [AttributeUsage(AttributeTargets.Property)] + public class IgnoreAttribute : Attribute + { + } + + // For explicit pocos, marks property as a column + [AttributeUsage(AttributeTargets.Property)] + public class ColumnAttribute : Attribute + { + public ColumnAttribute() { } + public ColumnAttribute(string name) { Name = name; } + public string Name { get; set; } + } + + // For explicit pocos, marks property as a column + [AttributeUsage(AttributeTargets.Property)] + public class ResultColumnAttribute : ColumnAttribute + { + public ResultColumnAttribute() { } + public ResultColumnAttribute(string name) : base(name) { } + } + + // Specify the table name of a poco + [AttributeUsage(AttributeTargets.Class)] + public class TableNameAttribute : Attribute + { + public TableNameAttribute(string tableName) + { + Value = tableName; + } + public string Value { get; private set; } + } + + // Specific the primary key of a poco class (and optional sequence name for Oracle) + [AttributeUsage(AttributeTargets.Class)] + public class PrimaryKeyAttribute : Attribute + { + public PrimaryKeyAttribute(string primaryKey) + { + Value = primaryKey; + autoIncrement = true; + } + + public string Value { get; private set; } + public string sequenceName { get; set; } + public bool autoIncrement { get; set; } + } + + [AttributeUsage(AttributeTargets.Property)] + public class AutoJoinAttribute : Attribute + { + public AutoJoinAttribute() { } + } [AttributeUsage(AttributeTargets.Property)] public class VersionColumnAttribute : ColumnAttribute { - public VersionColumnAttribute() { } + public VersionColumnAttribute() {} public VersionColumnAttribute(string name) : base(name) { } } - // Results from paged request - public class Page - { - public long CurrentPage { get; set; } - public long TotalPages { get; set; } - public long TotalItems { get; set; } - public long ItemsPerPage { get; set; } - public List Items { get; set; } - public object Context { get; set; } - } - - // Pass as parameter value to force to DBType.AnsiString - public class AnsiString - { - public AnsiString(string str) - { - Value = str; - } - public string Value { get; private set; } - } - - // Used by IMapper to override table bindings for an object - public class TableInfo - { - public string TableName { get; set; } - public string PrimaryKey { get; set; } - public bool AutoIncrement { get; set; } - public string SequenceName { get; set; } - } - - // Optionally provide and implementation of this to Database.Mapper - public interface IMapper + // Results from paged request + public class Page + { + public long CurrentPage { get; set; } + public long TotalPages { get; set; } + public long TotalItems { get; set; } + public long ItemsPerPage { get; set; } + public List Items { get; set; } + public object Context { get; set; } + } + + // Pass as parameter value to force to DBType.AnsiString + public class AnsiString + { + public AnsiString(string str) + { + Value = str; + } + public string Value { get; private set; } + } + + // Used by IMapper to override table bindings for an object + public class TableInfo + { + public string TableName { get; set; } + public string PrimaryKey { get; set; } + public bool AutoIncrement { get; set; } + public string SequenceName { get; set; } + } + + // Optionally provide an implementation of this to Database.Mapper + public interface IMapper + { + void GetTableInfo(Type t, TableInfo ti); + bool MapPropertyToColumn(PropertyInfo pi, ref string columnName, ref bool resultColumn); + Func GetFromDbConverter(PropertyInfo pi, Type sourceType); + Func GetToDbConverter(Type SourceType); + } + + // This will be merged with IMapper in the next major version + public interface IMapper2 : IMapper { - void GetTableInfo(Type t, TableInfo ti); - bool MapPropertyToColumn(PropertyInfo pi, ref string columnName, ref bool resultColumn); - Func GetFromDbConverter(DestinationInfo destinationInfo, Type SourceType); - Func GetToDbConverter(Type SourceType); + Func GetFromDbConverter(Type DestType, Type SourceType); } - public class DefaultMapper : IMapper + public class DefaultMapper : IMapper2 { public virtual void GetTableInfo(Type t, TableInfo ti) { } public virtual bool MapPropertyToColumn(PropertyInfo pi, ref string columnName, ref bool resultColumn) { return true; } - public virtual Func GetFromDbConverter(DestinationInfo destinationInfo, Type SourceType) + public virtual Func GetFromDbConverter(PropertyInfo pi, Type sourceType) { return null; } @@ -149,24 +153,28 @@ namespace PetaPoco { return null; } - } - - public class DestinationInfo - { - public DestinationInfo(Type type) + public virtual Func GetFromDbConverter(Type DestType, Type SourceType) { - Type = type; + return null; } + } - public DestinationInfo(PropertyInfo propertyInfo) - { - PropertyInfo = propertyInfo; - Type = propertyInfo.PropertyType; - } + //public class DestinationInfo + //{ + // public DestinationInfo(Type type) + // { + // Type = type; + // } - public PropertyInfo PropertyInfo { get; private set; } - public Type Type { get; private set; } - } + // public DestinationInfo(PropertyInfo propertyInfo) + // { + // PropertyInfo = propertyInfo; + // Type = propertyInfo.PropertyType; + // } + + // public PropertyInfo PropertyInfo { get; private set; } + // public Type Type { get; private set; } + //} public interface IDatabaseQuery { @@ -240,6 +248,10 @@ namespace PetaPoco object Insert(object poco); int Update(string tableName, string primaryKeyName, object poco, object primaryKeyValue); int Update(string tableName, string primaryKeyName, object poco); + int Update(string tableName, string primaryKeyName, object poco, object primaryKeyValue, IEnumerable columns); + int Update(string tableName, string primaryKeyName, object poco, IEnumerable columns); + int Update(object poco, IEnumerable columns); + int Update(object poco, object primaryKeyValue, IEnumerable columns); int Update(object poco); int Update(object poco, object primaryKeyValue); int Update(string sql, params object[] args); @@ -262,224 +274,225 @@ namespace PetaPoco { public const string MsSqlClientProvider = "System.Data.SqlClient"; - public Database(IDbConnection connection) - { - _sharedConnection = connection; - _connectionString = connection.ConnectionString; - _sharedConnectionDepth = 2; // Prevent closing external connection - CommonConstruct(); - } - - public Database(string connectionString, string providerName) - { - _connectionString = connectionString; - _providerName = providerName; - CommonConstruct(); - } - - public Database(string connectionString, DbProviderFactory provider) - { - _connectionString = connectionString; - _factory = provider; - CommonConstruct(); - } - - public Database(string connectionStringName) - { - // Use first? - if (connectionStringName == "") - connectionStringName = ConfigurationManager.ConnectionStrings[0].Name; - - // Work out connection string and provider name - var providerName = "System.Data.SqlClient"; - if (ConfigurationManager.ConnectionStrings[connectionStringName] != null) - { - if (!string.IsNullOrEmpty(ConfigurationManager.ConnectionStrings[connectionStringName].ProviderName)) - providerName = ConfigurationManager.ConnectionStrings[connectionStringName].ProviderName; - } - else - { - throw new InvalidOperationException("Can't find a connection string with the name '" + connectionStringName + "'"); - } - - // Store factory and connection string - _connectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString; - _providerName = providerName; - CommonConstruct(); - } + public Database(IDbConnection connection) + { + _sharedConnection = connection; + _connectionString = connection.ConnectionString; + _sharedConnectionDepth = 2; // Prevent closing external connection + CommonConstruct(); + } + + public Database(string connectionString, string providerName) + { + _connectionString = connectionString; + _providerName = providerName; + CommonConstruct(); + } + + public Database(string connectionString, DbProviderFactory provider) + { + _connectionString = connectionString; + _factory = provider; + CommonConstruct(); + } + + public Database(string connectionStringName) + { + // Use first? + if (connectionStringName == "") + connectionStringName = ConfigurationManager.ConnectionStrings[0].Name; + + // Work out connection string and provider name + var providerName = "System.Data.SqlClient"; + if (ConfigurationManager.ConnectionStrings[connectionStringName] != null) + { + if (!string.IsNullOrEmpty(ConfigurationManager.ConnectionStrings[connectionStringName].ProviderName)) + providerName = ConfigurationManager.ConnectionStrings[connectionStringName].ProviderName; + } + else + { + throw new InvalidOperationException("Can't find a connection string with the name '" + connectionStringName + "'"); + } - enum DBType - { - SqlServer, - SqlServerCE, - MySql, - PostgreSQL, - Oracle, + // Store factory and connection string + _connectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString; + _providerName = providerName; + CommonConstruct(); + } + + enum DBType + { + SqlServer, + SqlServerCE, + MySql, + PostgreSQL, + Oracle, SQLite - } - DBType _dbType = DBType.SqlServerCE; + } + DBType _dbType = DBType.SqlServerCE; - // Common initialization - private void CommonConstruct() - { + // Common initialization + private void CommonConstruct() + { _transactionDepth = 0; ForceDateTimesToUtc = true; EnableAutoSelect = true; - if (_providerName != null) - _factory = DbProviderFactories.GetFactory(_providerName); + if (_providerName != null) + _factory = DbProviderFactories.GetFactory(_providerName); - string dbtype = (_factory == null ? _sharedConnection.GetType() : _factory.GetType()).Name; - if (dbtype.StartsWith("MySql")) _dbType = DBType.MySql; - else if (dbtype.StartsWith("SqlCe")) _dbType = DBType.SqlServerCE; - else if (dbtype.StartsWith("Npgsql")) _dbType = DBType.PostgreSQL; - else if (dbtype.StartsWith("Oracle")) _dbType = DBType.Oracle; + string dbtype = (_factory==null ? _sharedConnection.GetType() : _factory.GetType()).Name; + if (dbtype.StartsWith("MySql")) _dbType = DBType.MySql; + else if (dbtype.StartsWith("SqlCe")) _dbType = DBType.SqlServerCE; + else if (dbtype.StartsWith("Npgsql")) _dbType = DBType.PostgreSQL; + else if (dbtype.StartsWith("Oracle")) _dbType = DBType.Oracle; else if (dbtype.StartsWith("SQLite")) _dbType = DBType.SQLite; - if (_dbType == DBType.MySql && _connectionString != null && _connectionString.IndexOf("Allow User Variables=true") >= 0) - _paramPrefix = "?"; - if (_dbType == DBType.Oracle) - _paramPrefix = ":"; + if (_dbType == DBType.MySql && _connectionString != null && _connectionString.IndexOf("Allow User Variables=true") >= 0) + _paramPrefix = "?"; + if (_dbType == DBType.Oracle) + _paramPrefix = ":"; } - // Automatically close one open shared connection - public void Dispose() - { - // Automatically close one open connection reference - // (Works with KeepConnectionAlive and manually opening a shared connection) - CloseSharedConnection(); + // Automatically close one open shared connection + public void Dispose() + { + // Automatically close one open connection reference + // (Works with KeepConnectionAlive and manually opening a shared connection) + CloseSharedConnection(); } - // Set to true to keep the first opened connection alive until this object is disposed - public bool KeepConnectionAlive { get; set; } + // Set to true to keep the first opened connection alive until this object is disposed + public bool KeepConnectionAlive { get; set; } - // Open a connection (can be nested) + // Open a connection (can be nested) public void OpenSharedConnection() - { - using (MvcMiniProfiler.MiniProfiler.StepStatic("OpenSharedConnection")) - { - if (_sharedConnectionDepth == 0) - { - _sharedConnection = _factory.CreateConnection(); - _sharedConnection.ConnectionString = _connectionString; - _sharedConnection.Open(); + { + if (_sharedConnectionDepth == 0) + { + _sharedConnection = _factory.CreateConnection(); + _sharedConnection.ConnectionString = _connectionString; + _sharedConnection.Open(); - if (KeepConnectionAlive) - _sharedConnectionDepth++; // Make sure you call Dispose - } - _sharedConnectionDepth++; - } - } + _sharedConnection = OnConnectionOpened(_sharedConnection); - /// + if (KeepConnectionAlive) + _sharedConnectionDepth++; // Make sure you call Dispose + } + _sharedConnectionDepth++; + } + + /// /// Close a previously opened connection /// + // Close a previously opened connection public void CloseSharedConnection() - { - if (_sharedConnectionDepth > 0) - { - _sharedConnectionDepth--; - if (_sharedConnectionDepth == 0) - { - _sharedConnection.Dispose(); - _sharedConnection = null; - } - } - } - - // Access to our shared connection - public IDbConnection Connection - { - get { return _sharedConnection; } - } - - // Helper to create a transaction scope - public ITransaction GetTransaction() - { - return new Transaction(this); - } - - // Use by derived repo generated by T4 templates - public virtual void OnBeginTransaction() { } - public virtual void OnEndTransaction() { } - - // Start a new transaction, can be nested, every call must be - // matched by a call to AbortTransaction or CompleteTransaction - // Use `using (var scope=db.Transaction) { scope.Complete(); }` to ensure correct semantics - public void BeginTransaction() - { - _transactionDepth++; - - if (_transactionDepth == 1) - { - OpenSharedConnection(); - _transaction = _sharedConnection.BeginTransaction(); - _transactionCancelled = false; - OnBeginTransaction(); - } - - } + { + if (_sharedConnectionDepth > 0) + { + _sharedConnectionDepth--; + if (_sharedConnectionDepth == 0) + { + OnConnectionClosing(_sharedConnection); + _sharedConnection.Dispose(); + _sharedConnection = null; + } + } + } + + // Access to our shared connection + public IDbConnection Connection + { + get { return _sharedConnection; } + } + + // Helper to create a transaction scope + public ITransaction GetTransaction() + { + return new Transaction(this); + } + + // Use by derived repo generated by T4 templates + public virtual void OnBeginTransaction() { } + public virtual void OnEndTransaction() { } + + // Start a new transaction, can be nested, every call must be + // matched by a call to AbortTransaction or CompleteTransaction + // Use `using (var scope=db.Transaction) { scope.Complete(); }` to ensure correct semantics + public void BeginTransaction() + { + _transactionDepth++; + + if (_transactionDepth == 1) + { + OpenSharedConnection(); + _transaction = _sharedConnection.BeginTransaction(); + _transactionCancelled = false; + OnBeginTransaction(); + } - // Internal helper to cleanup transaction stuff - void CleanupTransaction() - { - OnEndTransaction(); + } - if (_transactionCancelled) - _transaction.Rollback(); - else - _transaction.Commit(); + // Internal helper to cleanup transaction stuff + void CleanupTransaction() + { + OnEndTransaction(); - _transaction.Dispose(); - _transaction = null; + if (_transactionCancelled) + _transaction.Rollback(); + else + _transaction.Commit(); - CloseSharedConnection(); - } + _transaction.Dispose(); + _transaction = null; - // Abort the entire outer most transaction scope - public void AbortTransaction() - { - _transactionCancelled = true; - if ((--_transactionDepth) == 0) - CleanupTransaction(); - } + CloseSharedConnection(); + } - // Complete the transaction - public void CompleteTransaction() - { - if ((--_transactionDepth) == 0) - CleanupTransaction(); - } + // Abort the entire outer most transaction scope + public void AbortTransaction() + { + _transactionCancelled = true; + if ((--_transactionDepth) == 0) + CleanupTransaction(); + } - // Helper to handle named parameters from object properties - static Regex rxParams = new Regex(@"(? args_dest) - { - return rxParams.Replace(_sql, m => - { - string param = m.Value.Substring(1); + // Complete the transaction + public void CompleteTransaction() + { + if ((--_transactionDepth) == 0) + CleanupTransaction(); + } + + // Helper to handle named parameters from object properties + static Regex rxParams = new Regex(@"(? args_dest) + { + return rxParams.Replace(_sql, m => + { + string param = m.Value.Substring(1); - object arg_val; + object arg_val; - int paramIndex; + int paramIndex; if (int.TryParse(param, out paramIndex)) { // Numbered parameter if (paramIndex < 0 || paramIndex >= args_src.Length) throw new ArgumentOutOfRangeException(string.Format("Parameter '@{0}' specified but only {1} parameters supplied (in `{2}`)", paramIndex, args_src.Length, _sql)); - arg_val = args_src[paramIndex]; + arg_val = args_src[paramIndex]; } else { // Look for a property on one of the arguments with this name bool found = false; - arg_val = null; + arg_val = null; foreach (var o in args_src) { var pi = o.GetType().GetProperty(param); if (pi != null) { - arg_val = pi.GetValue(o, null); + arg_val = pi.GetValue(o, null); found = true; break; } @@ -489,241 +502,252 @@ namespace PetaPoco throw new ArgumentException(string.Format("Parameter '@{0}' specified but none of the passed arguments have a property with this name (in '{1}')", param, _sql)); } - // Expand collections to parameter lists - if ((arg_val as IEnumerable) != null && - (arg_val as string) == null && - (arg_val as byte[]) == null) - { - var sb = new StringBuilder(); - foreach (var i in arg_val as IEnumerable) + // Expand collections to parameter lists + if ((arg_val as System.Collections.IEnumerable) != null && + (arg_val as string) == null && + (arg_val as byte[]) == null) + { + var sb = new StringBuilder(); + foreach (var i in arg_val as System.Collections.IEnumerable) { - sb.Append((sb.Length == 0 ? "@" : ",@") + args_dest.Count.ToString()); - args_dest.Add(i); + var indexOfExistingValue = args_dest.IndexOf(i); + if (indexOfExistingValue >= 0) + { + sb.Append((sb.Length == 0 ? "@" : ",@") + indexOfExistingValue); + } + else + { + sb.Append((sb.Length == 0 ? "@" : ",@") + args_dest.Count); + args_dest.Add(i); + } } - return sb.ToString(); - } - else - { - args_dest.Add(arg_val); - return "@" + (args_dest.Count - 1).ToString(); - } - } - ); - } - - // Add a parameter to a DB command - void AddParam(IDbCommand cmd, object item, string ParameterPrefix) - { - // Convert value to from poco type to db type - if (Mapper != null && item != null) - { - var fn = Mapper.GetToDbConverter(item.GetType()); - if (fn != null) - item = fn(item); - } + return sb.ToString(); + } + else + { + var indexOfExistingValue = args_dest.IndexOf(arg_val); + if (indexOfExistingValue >= 0) + return "@" + indexOfExistingValue; - // Support passed in parameters - var idbParam = item as IDbDataParameter; - if (idbParam != null) - { - idbParam.ParameterName = string.Format("{0}{1}", ParameterPrefix, cmd.Parameters.Count); - cmd.Parameters.Add(idbParam); - return; - } - var p = cmd.CreateParameter(); - p.ParameterName = string.Format("{0}{1}", ParameterPrefix, cmd.Parameters.Count); + args_dest.Add(arg_val); + return "@" + (args_dest.Count - 1).ToString(); + } + } + ); + } + + // Add a parameter to a DB command + void AddParam(IDbCommand cmd, object item, string ParameterPrefix) + { + // Convert value to from poco type to db type + if (Database.Mapper != null && item!=null) + { + var fn = Database.Mapper.GetToDbConverter(item.GetType()); + if (fn!=null) + item = fn(item); + } - if (item == null) - { - p.Value = DBNull.Value; - } - else - { - var t = item.GetType(); - if (t.IsEnum) // PostgreSQL .NET driver wont cast enum to int - { - p.Value = (int)item; - } - else if (t == typeof(Guid)) - { - p.Value = item.ToString(); - p.DbType = DbType.String; - p.Size = 40; - } - else if (t == typeof(string)) - { - p.Size = Math.Max((item as string).Length + 1, 4000); // Help query plan caching by using common size - p.Value = item; - } - else if (t == typeof(AnsiString)) - { - // Thanks @DataChomp for pointing out the SQL Server indexing performance hit of using wrong string type on varchar - p.Size = Math.Max((item as AnsiString).Value.Length + 1, 4000); - p.Value = (item as AnsiString).Value; - p.DbType = DbType.AnsiString; - } - else if (t == typeof(bool) && _dbType != DBType.PostgreSQL) - { - p.Value = ((bool)item) ? 1 : 0; - } - else if (item.GetType().Name == "SqlGeography") //SqlGeography is a CLR Type - { - p.GetType().GetProperty("UdtTypeName").SetValue(p, "geography", null); //geography is the equivalent SQL Server Type - p.Value = item; - } + // Support passed in parameters + var idbParam = item as IDbDataParameter; + if (idbParam != null) + { + idbParam.ParameterName = string.Format("{0}{1}", ParameterPrefix, cmd.Parameters.Count); + cmd.Parameters.Add(idbParam); + return; + } + var p = cmd.CreateParameter(); + p.ParameterName = string.Format("{0}{1}", ParameterPrefix, cmd.Parameters.Count); - else if (item.GetType().Name == "SqlGeometry") //SqlGeometry is a CLR Type - { - p.GetType().GetProperty("UdtTypeName").SetValue(p, "geometry", null); //geography is the equivalent SQL Server Type - p.Value = item; - } - else - { + if (item == null) + { + p.Value = DBNull.Value; + } + else + { + var t = item.GetType(); + if (t.IsEnum) // PostgreSQL .NET driver wont cast enum to int + { + p.Value = (int)item; + } + else if (t == typeof(Guid)) + { + p.Value = item.ToString(); + p.DbType = DbType.String; + p.Size = 40; + } + else if (t == typeof(string)) + { + p.Size = Math.Max((item as string).Length + 1, 4000); // Help query plan caching by using common size p.Value = item; - } - } + } + else if (t == typeof(AnsiString)) + { + // Thanks @DataChomp for pointing out the SQL Server indexing performance hit of using wrong string type on varchar + p.Size = Math.Max((item as AnsiString).Value.Length + 1, 4000); + p.Value = (item as AnsiString).Value; + p.DbType = DbType.AnsiString; + } + else if (t == typeof(bool) && _dbType != DBType.PostgreSQL) + { + p.Value = ((bool)item) ? 1 : 0; + } + else if (item.GetType().Name == "SqlGeography") //SqlGeography is a CLR Type + { + p.GetType().GetProperty("UdtTypeName").SetValue(p, "geography", null); //geography is the equivalent SQL Server Type + p.Value = item; + } - cmd.Parameters.Add(p); - } + else if (item.GetType().Name == "SqlGeometry") //SqlGeometry is a CLR Type + { + p.GetType().GetProperty("UdtTypeName").SetValue(p, "geometry", null); //geography is the equivalent SQL Server Type + p.Value = item; + } + else + { + p.Value = item; + } + } - // Create a command - static Regex rxParamsPrefix = new Regex(@"(? _paramPrefix + m.Value.Substring(1)); - sql = sql.Replace("@@", "@"); // <- double @@ escapes a single @ + // Create a command + static Regex rxParamsPrefix = new Regex(@"(? _paramPrefix + m.Value.Substring(1)); + sql = sql.Replace("@@", "@"); // <- double @@ escapes a single @ // Create the command and add parameters - IDbCommand cmd = _factory == null ? connection.CreateCommand() : _factory.CreateCommand(); - cmd.Connection = connection; + IDbCommand cmd = connection.CreateCommand(); + cmd.Connection = connection; cmd.CommandText = sql; - cmd.Transaction = _transaction; - - foreach (var item in args) - { - AddParam(cmd, item, _paramPrefix); - } - - if (_dbType == DBType.Oracle) - { - cmd.GetType().GetProperty("BindByName").SetValue(cmd, true, null); - } - - if (!String.IsNullOrEmpty(sql)) - DoPreExecute(cmd); - - return cmd; - } - - // Create a command - IDbCommand CreateCommand(IDbConnection connection, string sql, params object[] args) - { - var sqlStatement = new Sql(sql, args); - return CreateCommand(connection, sqlStatement); - } + cmd.Transaction = _transaction; - // Override this to log/capture exceptions - public virtual void OnException(Exception x) - { - Debug.WriteLine(x.ToString()); - Debug.WriteLine(LastCommand); - } + foreach (var item in args) + { + AddParam(cmd, item, _paramPrefix); + } - // Override this to log commands, or modify command before execution - public virtual void OnExecutingCommand(IDbCommand cmd) { } - public virtual void OnExecutedCommand(IDbCommand cmd) { } + if (_dbType == DBType.Oracle) + { + cmd.GetType().GetProperty("BindByName").SetValue(cmd, true, null); + } - // Execute a non-query command - public int Execute(string sql, params object[] args) - { + if (!String.IsNullOrEmpty(sql)) + DoPreExecute(cmd); + + return cmd; + } + + // Create a command + //IDbCommand CreateCommand(IDbConnection connection, string sql, params object[] args) + //{ + // var sqlStatement = new Sql(sql, args); + // return CreateCommand(connection, sqlStatement); + //} + + // Override this to log/capture exceptions + public virtual void OnException(Exception x) + { + System.Diagnostics.Debug.WriteLine(x.ToString()); + System.Diagnostics.Debug.WriteLine(LastCommand); + } + + // Override this to log commands, or modify command before execution + public virtual IDbConnection OnConnectionOpened(IDbConnection conn) { return conn; } + public virtual void OnConnectionClosing(IDbConnection conn) { } + public virtual void OnExecutingCommand(IDbCommand cmd) { } + public virtual void OnExecutedCommand(IDbCommand cmd) { } + + // Execute a non-query command + public int Execute(string sql, params object[] args) + { return Execute(new Sql(sql, args)); - } + } - public int Execute(Sql sql) - { - using (MiniProfiler.StepStatic("Peta Execute SQL")) + public int Execute(Sql Sql) + { + var sql = Sql.SQL; + var args = Sql.Arguments; + + try { + OpenSharedConnection(); try { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql)) - { - var result = cmd.ExecuteNonQuery(); - OnExecutedCommand(cmd); - return result; - } - } - finally + using (var cmd = CreateCommand(_sharedConnection, sql, args)) { - CloseSharedConnection(); + var result = cmd.ExecuteNonQuery(); + OnExecutedCommand(cmd); + return result; } } - catch (Exception x) + finally { - OnException(x); - throw; + CloseSharedConnection(); } } - } + catch (Exception x) + { + OnException(x); + throw; + } + } - // Execute and cast a scalar property - public T ExecuteScalar(string sql, params object[] args) - { + // Execute and cast a scalar property + public T ExecuteScalar(string sql, params object[] args) + { return ExecuteScalar(new Sql(sql, args)); - } + } - public T ExecuteScalar(Sql sql) - { - using (MiniProfiler.StepStatic("Peta ExecuteScalar")) + public T ExecuteScalar(Sql Sql) + { + var sql = Sql.SQL; + var args = Sql.Arguments; + + try { + OpenSharedConnection(); try { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql)) - { - object val = cmd.ExecuteScalar(); - OnExecutedCommand(cmd); - return (T)Convert.ChangeType(val, typeof(T)); - } - } - finally + using (var cmd = CreateCommand(_sharedConnection, sql, args)) { - CloseSharedConnection(); + object val = cmd.ExecuteScalar(); + OnExecutedCommand(cmd); + return (T)Convert.ChangeType(val, typeof(T)); } } - catch (Exception x) + finally { - OnException(x); - throw; + CloseSharedConnection(); } } - } - - Regex rxSelect = new Regex(@"\A\s*(SELECT|EXECUTE|CALL)\s", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Multiline); - Regex rxFrom = new Regex(@"\A\s*FROM\s", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Multiline); + catch (Exception x) + { + OnException(x); + throw; + } + } + + static Regex rxSelect = new Regex(@"\A\s*(SELECT|EXECUTE|CALL)\s", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Multiline); + static Regex rxFrom = new Regex(@"\A\s*FROM\s", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Multiline); string AddSelectClause(string sql) { - if (sql.StartsWith(";")) - return sql.Substring(1); + if (sql.StartsWith(";")) + return sql.Substring(1); if (!rxSelect.IsMatch(sql)) { var pd = PocoData.ForType(typeof(T)); - var tableName = EscapeTableName(pd.TableInfo.TableName); - string cols = string.Join(", ", (from c in pd.QueryColumns select EscapeSqlIdentifier(c)).ToArray()); + var tableName = EscapeTableName(pd.TableInfo.TableName); + string cols = string.Join(", ", (from c in pd.QueryColumns select EscapeSqlIdentifier(c)).ToArray()); if (!rxFrom.IsMatch(sql)) - sql = string.Format("SELECT {0} FROM {1} {2}", cols, tableName, sql); + sql = string.Format("SELECT {0} FROM {1} {2}", cols, tableName, sql); else - sql = string.Format("SELECT {0} {1}", cols, sql); + sql = string.Format("SELECT {0} {1}", cols, sql); } return sql; } @@ -731,40 +755,26 @@ namespace PetaPoco public bool ForceDateTimesToUtc { get; set; } public bool EnableAutoSelect { get; set; } - // Return a typed list of pocos - public List Fetch(string sql, params object[] args) + // Return a typed list of pocos + public List Fetch(string sql, params object[] args) + { + return Fetch(new Sql(sql, args)); + } + + public List Fetch(Sql sql) { - if (EnableAutoSelect) - sql = AddSelectClause(sql); - - return Fetch(new Sql(sql, args)); - } - - public List Fetch(Sql sql) - { - return Query(sql).ToList(); - } - - public List Fetch(long page, long itemsPerPage, string sql, params object[] args) - { - string sqlCount, sqlPage; - BuildPageQueries(page, itemsPerPage, sql, ref args, out sqlCount, out sqlPage); - return Fetch(sqlPage, args); - } - - public List Fetch(long page, long itemsPerPage, Sql sql) - { - return Fetch(page, itemsPerPage, sql.SQL, sql.Arguments); - } + return Query(sql).ToList(); + } public List Fetch() { - return Fetch(AddSelectClause("")); + return Fetch(""); } - static Regex rxColumns = new Regex(@"\A\s*SELECT\s+((?:\((?>\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|.)*?)(?\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|[\w\(\)\.])+(?:\s+(?:ASC|DESC))?(?:\s*,\s*(?:\((?>\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|[\w\(\)\.])+(?:\s+(?:ASC|DESC))?)*", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.Compiled); - public static bool SplitSqlForPaging(string sql, out string sqlCount, out string sqlSelectRemoved, out string sqlOrderBy) + static Regex rxColumns = new Regex(@"\A\s*SELECT\s+((?:\((?>\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|.)*?)(?\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|[\w\(\)\.])+(?:\s+(?:ASC|DESC))?(?:\s*,\s*(?:\((?>\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|[\w\(\)\.])+(?:\s+(?:ASC|DESC))?)*", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.Compiled); + static Regex rxDistinct = new Regex(@"\ADISTINCT\s", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.Compiled); + public static bool SplitSqlForPaging(string sql, out string sqlCount, out string sqlSelectRemoved, out string sqlOrderBy) { sqlSelectRemoved = null; sqlCount = null; @@ -777,490 +787,490 @@ namespace PetaPoco // Save column list and replace with COUNT(*) Group g = m.Groups[1]; - sqlCount = sql.Substring(0, g.Index) + "COUNT(*) " + sql.Substring(g.Index + g.Length); sqlSelectRemoved = sql.Substring(g.Index); - // Look for an "ORDER BY " clause or primarykey from pocodata - var data = PocoData.ForType(typeof(T)); - - m = rxOrderBy.Match(sqlCount); - if (!m.Success - && (string.IsNullOrEmpty(data.TableInfo.PrimaryKey) || - (!data.TableInfo.PrimaryKey.Split(',').All(x => data.Columns.Values.Any(y => y.ColumnName.Equals(x, StringComparison.OrdinalIgnoreCase)))))) - { - return false; - } - - g = m.Groups[0]; - sqlOrderBy = m.Success ? g.ToString() : "ORDER BY " + data.TableInfo.PrimaryKey; - sqlCount = sqlCount.Substring(0, g.Index) + sqlCount.Substring(g.Index + g.Length); + if (rxDistinct.IsMatch(sqlSelectRemoved)) + sqlCount = sql.Substring(0, g.Index) + "COUNT(" + m.Groups[1].ToString().Trim() + ") " + sql.Substring(g.Index + g.Length); + else + sqlCount = sql.Substring(0, g.Index) + "COUNT(*) " + sql.Substring(g.Index + g.Length); - return true; - } - private void BuildPageQueries(long skip, long take, string sql, ref object[] args, out string sqlCount, out string sqlPage) - { - // Add auto select clause - sql = AddSelectClause(sql); - - // Split the SQL into the bits we need - string sqlSelectRemoved, sqlOrderBy; - if (!SplitSqlForPaging(sql, out sqlCount, out sqlSelectRemoved, out sqlOrderBy)) - throw new Exception("Unable to parse SQL statement for paged query"); - if (_dbType == DBType.Oracle && sqlSelectRemoved.StartsWith("*")) + // Look for an "ORDER BY " clause + m = rxOrderBy.Match(sqlCount); + if (m.Success) + { + g = m.Groups[0]; + sqlOrderBy = g.ToString(); + sqlCount = sqlCount.Substring(0, g.Index) + sqlCount.Substring(g.Index + g.Length); + } + + return true; + } + + public void BuildPageQueries(long skip, long take, string sql, ref object[] args, out string sqlCount, out string sqlPage) + { + // Add auto select clause + sql=AddSelectClause(sql); + + // Split the SQL into the bits we need + string sqlSelectRemoved, sqlOrderBy; + if (!SplitSqlForPaging(sql, out sqlCount, out sqlSelectRemoved, out sqlOrderBy)) + throw new Exception("Unable to parse SQL statement for paged query"); + if (_dbType == DBType.Oracle && sqlSelectRemoved.StartsWith("*")) throw new Exception("Query must alias '*' when performing a paged query.\neg. select t.* from table t order by t.id"); - // Build the SQL for the actual final result + // Build the SQL for the actual final result if (_dbType == DBType.SqlServer || _dbType == DBType.Oracle) { - var fromIndex = sqlSelectRemoved.IndexOf("from", StringComparison.OrdinalIgnoreCase); sqlSelectRemoved = rxOrderBy.Replace(sqlSelectRemoved, ""); - sqlPage = string.Format("SELECT * FROM (SELECT {2}, ROW_NUMBER() OVER ({0}) peta_rn {1}) peta_paged WHERE peta_rn>@{3} AND peta_rn<=@{4}", - sqlOrderBy, sqlSelectRemoved.Substring(fromIndex), sqlSelectRemoved.Substring(0, fromIndex - 1), args.Length, args.Length + 1); - args = args.Concat(new object[] { skip, skip + take }).ToArray(); + if (rxDistinct.IsMatch(sqlSelectRemoved)) + { + sqlSelectRemoved = "peta_inner.* FROM (SELECT " + sqlSelectRemoved + ") peta_inner"; + } + sqlPage = string.Format("SELECT * FROM (SELECT ROW_NUMBER() OVER ({0}) peta_rn, {1}) peta_paged WHERE peta_rn>@{2} AND peta_rn<=@{3}", + sqlOrderBy==null ? "ORDER BY (SELECT NULL)" : sqlOrderBy, sqlSelectRemoved, args.Length, args.Length + 1); + args = args.Concat(new object[] { skip, skip+take }).ToArray(); } else if (_dbType == DBType.SqlServerCE) { sqlPage = string.Format("{0}\nOFFSET @{1} ROWS FETCH NEXT @{2} ROWS ONLY", sql, args.Length, args.Length + 1); - args = args.Concat(new object[] { skip, take }).ToArray(); + args = args.Concat(new object[] { skip, take }).ToArray(); } else { sqlPage = string.Format("{0}\nLIMIT @{1} OFFSET @{2}", sql, args.Length, args.Length + 1); - args = args.Concat(new object[] { take, skip }).ToArray(); + args = args.Concat(new object[] { take, skip }).ToArray(); } + + } - } - - // Fetch a page - public Page Page(long page, long itemsPerPage, string sql, params object[] args) - { - string sqlCount, sqlPage; + // Fetch a page + public Page Page(long page, long itemsPerPage, string sql, params object[] args) + { + string sqlCount, sqlPage; + BuildPageQueries((page-1)*itemsPerPage, itemsPerPage, sql, ref args, out sqlCount, out sqlPage); - long skip = (page - 1) * itemsPerPage; - long take = itemsPerPage; + // Save the one-time command time out and use it for both queries + int saveTimeout = OneTimeCommandTimeout; - BuildPageQueries(skip, take, sql, ref args, out sqlCount, out sqlPage); + // Setup the paged result + var result = new Page(); + result.CurrentPage = page; + result.ItemsPerPage = itemsPerPage; + result.TotalItems = ExecuteScalar(sqlCount, args); + result.TotalPages = result.TotalItems / itemsPerPage; + if ((result.TotalItems % itemsPerPage) != 0) + result.TotalPages++; - // Save the one-time command time out and use it for both queries - int saveTimeout = OneTimeCommandTimeout; + OneTimeCommandTimeout = saveTimeout; - // Setup the paged result - var result = new Page(); - result.CurrentPage = page; - result.ItemsPerPage = itemsPerPage; - result.TotalItems = ExecuteScalar(sqlCount, args); - result.TotalPages = result.TotalItems / itemsPerPage; - if ((result.TotalItems % itemsPerPage) != 0) - result.TotalPages++; + // Get the records + result.Items = Fetch(sqlPage, args); - OneTimeCommandTimeout = saveTimeout; + // Done + return result; + } - // Get the records - result.Items = Fetch(sqlPage, args); + public Page Page(long page, long itemsPerPage, Sql sql) + { + return Page(page, itemsPerPage, sql.SQL, sql.Arguments); + } - // Done - return result; + public List Fetch(long page, long itemsPerPage, string sql, params object[] args) + { + return SkipTake((page - 1) * itemsPerPage, itemsPerPage, sql, args); } - public Page Page(long page, long itemsPerPage, Sql sql) + public List Fetch(long page, long itemsPerPage, Sql sql) { - return Page(page, itemsPerPage, sql.SQL, sql.Arguments); + return SkipTake((page - 1) * itemsPerPage, itemsPerPage, sql.SQL, sql.Arguments); } - public List SkipTake(long skip, long take, string sql, params object[] args) - { + public List SkipTake(long skip, long take, string sql, params object[] args) + { string sqlCount, sqlPage; - - BuildPageQueries(skip, take, sql, ref args, out sqlCount, out sqlPage); - - var result = Fetch(sqlPage, args); - return result; + BuildPageQueries(skip, take, sql, ref args, out sqlCount, out sqlPage); + return Fetch(sqlPage, args); } - public List SkipTake(long skip, long take, Sql sql) + public List SkipTake(long skip, long take, Sql sql) { - return SkipTake(skip, take, sql.SQL, sql.Arguments); + return SkipTake(skip, take, sql.SQL, sql.Arguments); } // Return an enumerable collection of pocos public IEnumerable Query(string sql, params object[] args) { - if (EnableAutoSelect) - sql = AddSelectClause(sql); - return Query(new Sql(sql, args)); } - public IEnumerable Query(Sql sql) - { - using (MiniProfiler.StepStatic("Peta Query SQL")) - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql)) - { - IDataReader r; - var pd = PocoData.ForType(typeof(T)); - try - { - r = cmd.ExecuteReader(); - OnExecutedCommand(cmd); - } - catch (Exception x) - { - OnException(x); - throw; - } - - using (r) - { - var factory = - pd.GetFactory(cmd.CommandText, _sharedConnection.ConnectionString, ForceDateTimesToUtc, 0, r.FieldCount, r) - as Func; - while (true) - { - T poco; - try - { - if (!r.Read()) - yield break; - poco = factory(r); - } - catch (Exception x) - { - OnException(x); - throw; - } - - yield return poco; - } - } - } - } - finally - { - CloseSharedConnection(); - } - } - } - - // Multi Fetch - public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } - public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } - public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } - - // Multi Query - public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2) }, cb, sql, args); } - public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, cb, sql, args); } - public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, cb, sql, args); } - - // Multi Fetch (SQL builder) - public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } - - // Multi Query (SQL builder) - public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2) }, cb, sql.SQL, sql.Arguments); } - public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, cb, sql.SQL, sql.Arguments); } - public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, cb, sql.SQL, sql.Arguments); } - - // Multi Fetch (Simple) - public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } - public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } - public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } - - // Multi Query (Simple) - public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2) }, null, sql, args); } - public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, null, sql, args); } - public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, null, sql, args); } - - // Multi Fetch (Simple) (SQL builder) - public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } - - // Multi Query (Simple) (SQL builder) - public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2) }, null, sql.SQL, sql.Arguments); } - public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, null, sql.SQL, sql.Arguments); } - public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, null, sql.SQL, sql.Arguments); } - - // Automagically guess the property relationships between various POCOs and create a delegate that will set them up - object GetAutoMapper(Type[] types) - { - // Build a key - var kb = new StringBuilder(); - foreach (var t in types) - { - kb.Append(t.ToString()); - kb.Append(":"); - } - var key = kb.ToString(); + public IEnumerable Query(Sql Sql) + { + var sql = Sql.SQL; + var args = Sql.Arguments; - // Check cache - RWLock.EnterReadLock(); - try - { - object mapper; - if (AutoMappers.TryGetValue(key, out mapper)) - return mapper; - } - finally - { - RWLock.ExitReadLock(); - } + if (EnableAutoSelect) + sql = AddSelectClause(sql); - // Create it - RWLock.EnterWriteLock(); + OpenSharedConnection(); try { - // Try again - object mapper; - if (AutoMappers.TryGetValue(key, out mapper)) - return mapper; - - // Create a method - var m = new DynamicMethod("petapoco_automapper", types[0], types, true); - var il = m.GetILGenerator(); - - for (int i = 1; i < types.Length; i++) + using (var cmd = CreateCommand(_sharedConnection, sql, args)) { - bool handled = false; - for (int j = i - 1; j >= 0; j--) + IDataReader r; + var pd = PocoData.ForType(typeof(T)); + try { - // Find the property - var candidates = from p in types[j].GetProperties() where p.PropertyType == types[i] select p; - if (candidates.Count() == 0) - continue; - if (candidates.Count() > 1) - throw new InvalidOperationException(string.Format("Can't auto join {0} as {1} has more than one property of type {0}", types[i], types[j])); - - // Generate code - il.Emit(OpCodes.Ldarg_S, j); - il.Emit(OpCodes.Ldarg_S, i); - il.Emit(OpCodes.Callvirt, candidates.First().GetSetMethod(true)); - handled = true; + r = cmd.ExecuteReader(); + OnExecutedCommand(cmd); } + catch (Exception x) + { + OnException(x); + throw; + } + + using (r) + { + var factory = pd.GetFactory(cmd.CommandText, _sharedConnection.ConnectionString, ForceDateTimesToUtc, 0, r.FieldCount, r) as Func; + while (true) + { + T poco; + try + { + if (!r.Read()) + yield break; + poco = factory(r); + } + catch (Exception x) + { + OnException(x); + throw; + } - if (!handled) - throw new InvalidOperationException(string.Format("Can't auto join {0}", types[i])); + yield return poco; + } + } } - - il.Emit(OpCodes.Ldarg_0); - il.Emit(OpCodes.Ret); - - // Cache it - var del = m.CreateDelegate(Expression.GetFuncType(types.Concat(types.Take(1)).ToArray())); - AutoMappers.Add(key, del); - return del; } finally { - RWLock.ExitWriteLock(); - } - } - - // Find the split point in a result set for two different pocos and return the poco factory for the first - Delegate FindSplitPoint(Type typeThis, Type typeNext, string sql, IDataReader r, ref int pos) - { - // Last? - if (typeNext == null) - return PocoData.ForType(typeThis).GetFactory(sql, _sharedConnection.ConnectionString, ForceDateTimesToUtc, pos, r.FieldCount - pos, r); - - // Get PocoData for the two types - PocoData pdThis = PocoData.ForType(typeThis); - PocoData pdNext = PocoData.ForType(typeNext); - - // Find split point - int firstColumn = pos; - var usedColumns = new Dictionary(); - for (; pos < r.FieldCount; pos++) - { - // Split if field name has already been used, or if the field doesn't exist in current poco but does in the next - string fieldName = r.GetName(pos); - if (usedColumns.ContainsKey(fieldName) || (!pdThis.Columns.ContainsKey(fieldName) && pdNext.Columns.ContainsKey(fieldName))) - { - return pdThis.GetFactory(sql, _sharedConnection.ConnectionString, ForceDateTimesToUtc, firstColumn, pos - firstColumn, r); - } - usedColumns.Add(fieldName, true); - } - - throw new InvalidOperationException(string.Format("Couldn't find split point between {0} and {1}", typeThis, typeNext)); - } + CloseSharedConnection(); + } + } + + // Multi Fetch + public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } + public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } + public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } + + // Multi Query + public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2) }, cb, sql, args); } + public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3)}, cb, sql, args); } + public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4)}, cb, sql, args); } + + // Multi Fetch (SQL builder) + public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } + public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } + public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } + + // Multi Query (SQL builder) + public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2) }, cb, sql.SQL, sql.Arguments); } + public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, cb, sql.SQL, sql.Arguments); } + public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, cb, sql.SQL, sql.Arguments); } + + // Multi Fetch (Simple) + public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } + public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } + public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } + + // Multi Query (Simple) + public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2) }, null, sql, args); } + public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, null, sql, args); } + public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, null, sql, args); } + + // Multi Fetch (Simple) (SQL builder) + public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } + public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } + public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } + + // Multi Query (Simple) (SQL builder) + public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2) }, null, sql.SQL, sql.Arguments); } + public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, null, sql.SQL, sql.Arguments); } + public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, null, sql.SQL, sql.Arguments); } + + // Automagically guess the property relationships between various POCOs and create a delegate that will set them up + object GetAutoMapper(Type[] types) + { + // Build a key + var kb = new StringBuilder(); + foreach (var t in types) + { + kb.Append(t.ToString()); + kb.Append(":"); + } + var key = kb.ToString(); - // Instance data used by the Multipoco factory delegate - essentially a list of the nested poco factories to call - class MultiPocoFactory - { - public List m_Delegates; - public Delegate GetItem(int index) { return m_Delegates[index]; } - } + // Check cache + RWLock.EnterReadLock(); + try + { + object mapper; + if (AutoMappers.TryGetValue(key, out mapper)) + return mapper; + } + finally + { + RWLock.ExitReadLock(); + } - // Create a multi-poco factory - Func CreateMultiPocoFactory(Type[] types, string sql, IDataReader r) - { - var m = new DynamicMethod("petapoco_multipoco_factory", typeof(TRet), new Type[] { typeof(MultiPocoFactory), typeof(IDataReader), typeof(object) }, typeof(MultiPocoFactory)); - var il = m.GetILGenerator(); + // Create it + RWLock.EnterWriteLock(); + try + { + // Try again + object mapper; + if (AutoMappers.TryGetValue(key, out mapper)) + return mapper; - // Load the callback - il.Emit(OpCodes.Ldarg_2); + // Create a method + var m = new DynamicMethod("petapoco_automapper", types[0], types, true); + var il = m.GetILGenerator(); - // Call each delegate - var dels = new List(); - int pos = 0; - for (int i = 0; i < types.Length; i++) - { - // Add to list of delegates to call - var del = FindSplitPoint(types[i], i + 1 < types.Length ? types[i + 1] : null, sql, r, ref pos); - dels.Add(del); - - // Get the delegate - il.Emit(OpCodes.Ldarg_0); // callback,this - il.Emit(OpCodes.Ldc_I4, i); // callback,this,Index - il.Emit(OpCodes.Callvirt, typeof(MultiPocoFactory).GetMethod("GetItem")); // callback,Delegate - il.Emit(OpCodes.Ldarg_1); // callback,delegate, datareader - - // Call Invoke - var tDelInvoke = del.GetType().GetMethod("Invoke"); - il.Emit(OpCodes.Callvirt, tDelInvoke); // Poco left on stack - } + for (int i = 1; i < types.Length; i++) + { + bool handled = false; + for (int j = i - 1; j >= 0; j--) + { + // Find the property + var candidates = from p in types[j].GetProperties() where p.PropertyType == types[i] select p; + if (candidates.Count() == 0) + continue; + if (candidates.Count() > 1) + throw new InvalidOperationException(string.Format("Can't auto join {0} as {1} has more than one property of type {0}", types[i], types[j])); + + // Generate code + il.Emit(OpCodes.Ldarg_S, j); + il.Emit(OpCodes.Ldarg_S, i); + il.Emit(OpCodes.Callvirt, candidates.First().GetSetMethod(true)); + handled = true; + } - // By now we should have the callback and the N pocos all on the stack. Call the callback and we're done - il.Emit(OpCodes.Callvirt, Expression.GetFuncType(types.Concat(new Type[] { typeof(TRet) }).ToArray()).GetMethod("Invoke")); - il.Emit(OpCodes.Ret); + if (!handled) + throw new InvalidOperationException(string.Format("Can't auto join {0}", types[i])); + } - // Finish up - return (Func)m.CreateDelegate(typeof(Func), new MultiPocoFactory() { m_Delegates = dels }); - } + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Ret); - // Various cached stuff - static Dictionary MultiPocoFactories = new Dictionary(); - static Dictionary AutoMappers = new Dictionary(); - static ReaderWriterLockSlim RWLock = new ReaderWriterLockSlim(); + // Cache it + var del = m.CreateDelegate(Expression.GetFuncType(types.Concat(types.Take(1)).ToArray())); + AutoMappers.Add(key, del); + return del; + } + finally + { + RWLock.ExitWriteLock(); + } + } + + // Find the split point in a result set for two different pocos and return the poco factory for the first + Delegate FindSplitPoint(Type typeThis, Type typeNext, string sql, IDataReader r, ref int pos) + { + // Last? + if (typeNext == null) + return PocoData.ForType(typeThis).GetFactory(sql, _sharedConnection.ConnectionString, ForceDateTimesToUtc, pos, r.FieldCount - pos, r); + + // Get PocoData for the two types + PocoData pdThis = PocoData.ForType(typeThis); + PocoData pdNext = PocoData.ForType(typeNext); + + // Find split point + int firstColumn = pos; + var usedColumns = new Dictionary(); + for (; pos < r.FieldCount; pos++) + { + // Split if field name has already been used, or if the field doesn't exist in current poco but does in the next + string fieldName = r.GetName(pos); + if (usedColumns.ContainsKey(fieldName) || (!pdThis.Columns.ContainsKey(fieldName) && pdNext.Columns.ContainsKey(fieldName))) + { + return pdThis.GetFactory(sql, _sharedConnection.ConnectionString, ForceDateTimesToUtc, firstColumn, pos - firstColumn, r); + } + usedColumns.Add(fieldName, true); + } - // Get (or create) the multi-poco factory for a query - Func GetMultiPocoFactory(Type[] types, string sql, IDataReader r) - { - // Build a key string (this is crap, should address this at some point) - var kb = new StringBuilder(); - kb.Append(typeof(TRet).ToString()); - kb.Append(":"); - foreach (var t in types) - { - kb.Append(":"); - kb.Append(t.ToString()); - } - kb.Append(":"); kb.Append(_sharedConnection.ConnectionString); - kb.Append(":"); kb.Append(ForceDateTimesToUtc); - kb.Append(":"); kb.Append(sql); - string key = kb.ToString(); + throw new InvalidOperationException(string.Format("Couldn't find split point between {0} and {1}", typeThis, typeNext)); + } + + // Instance data used by the Multipoco factory delegate - essentially a list of the nested poco factories to call + class MultiPocoFactory + { + public List m_Delegates; + public Delegate GetItem(int index) { return m_Delegates[index]; } + } + + // Create a multi-poco factory + Func CreateMultiPocoFactory(Type[] types, string sql, IDataReader r) + { + var m = new DynamicMethod("petapoco_multipoco_factory", typeof(TRet), new Type[] { typeof(MultiPocoFactory), typeof(IDataReader), typeof(object) }, typeof(MultiPocoFactory)); + var il = m.GetILGenerator(); + + // Load the callback + il.Emit(OpCodes.Ldarg_2); + + // Call each delegate + var dels = new List(); + int pos = 0; + for (int i=0; i)oFactory; - } - finally - { - RWLock.ExitReadLock(); - } + // By now we should have the callback and the N pocos all on the stack. Call the callback and we're done + il.Emit(OpCodes.Callvirt, Expression.GetFuncType(types.Concat(new Type[] { typeof(TRet) }).ToArray()).GetMethod("Invoke")); + il.Emit(OpCodes.Ret); + + // Finish up + return (Func)m.CreateDelegate(typeof(Func), new MultiPocoFactory() { m_Delegates = dels }); + } + + // Various cached stuff + static Dictionary MultiPocoFactories = new Dictionary(); + static Dictionary AutoMappers = new Dictionary(); + static System.Threading.ReaderWriterLockSlim RWLock = new System.Threading.ReaderWriterLockSlim(); + + // Get (or create) the multi-poco factory for a query + Func GetMultiPocoFactory(Type[] types, string sql, IDataReader r) + { + // Build a key string (this is crap, should address this at some point) + var kb = new StringBuilder(); + kb.Append(typeof(TRet).ToString()); + kb.Append(":"); + foreach (var t in types) + { + kb.Append(":"); + kb.Append(t.ToString()); + } + kb.Append(":"); kb.Append(_sharedConnection.ConnectionString); + kb.Append(":"); kb.Append(ForceDateTimesToUtc); + kb.Append(":"); kb.Append(sql); + string key = kb.ToString(); + + // Check cache + RWLock.EnterReadLock(); + try + { + object oFactory; + if (MultiPocoFactories.TryGetValue(key, out oFactory)) + return (Func)oFactory; + } + finally + { + RWLock.ExitReadLock(); + } - // Cache it - RWLock.EnterWriteLock(); - try - { - // Check again - object oFactory; - if (MultiPocoFactories.TryGetValue(key, out oFactory)) - return (Func)oFactory; + // Cache it + RWLock.EnterWriteLock(); + try + { + // Check again + object oFactory; + if (MultiPocoFactories.TryGetValue(key, out oFactory)) + return (Func)oFactory; - // Create the factory - var Factory = CreateMultiPocoFactory(types, sql, r); + // Create the factory + var Factory = CreateMultiPocoFactory(types, sql, r); - MultiPocoFactories.Add(key, Factory); - return Factory; - } - finally - { - RWLock.ExitWriteLock(); - } + MultiPocoFactories.Add(key, Factory); + return Factory; + } + finally + { + RWLock.ExitWriteLock(); + } - } + } - // Actual implementation of the multi-poco query - public IEnumerable Query(Type[] types, object cb, string sql, params object[] args) - { - using (MiniProfiler.StepStatic("Peta Query Type[]")) - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql, args)) - { - IDataReader r; - try - { - r = cmd.ExecuteReader(); - OnExecutedCommand(cmd); - } - catch (Exception x) - { - OnException(x); - throw; - } - var factory = GetMultiPocoFactory(types, sql, r); - if (cb == null) - cb = GetAutoMapper(types.ToArray()); - bool bNeedTerminator = false; - using (r) - { - while (true) - { - TRet poco; - try - { - if (!r.Read()) - break; - poco = factory(r, cb); - } - catch (Exception x) - { - OnException(x); - throw; - } + // Actual implementation of the multi-poco query + public IEnumerable Query(Type[] types, object cb, string sql, params object[] args) + { + OpenSharedConnection(); + try + { + using (var cmd = CreateCommand(_sharedConnection, sql, args)) + { + IDataReader r; + try + { + r = cmd.ExecuteReader(); + OnExecutedCommand(cmd); + } + catch (Exception x) + { + OnException(x); + throw; + } + var factory = GetMultiPocoFactory(types, sql, r); + if (cb == null) + cb = GetAutoMapper(types.ToArray()); + bool bNeedTerminator=false; + using (r) + { + while (true) + { + TRet poco; + try + { + if (!r.Read()) + break; + poco = factory(r, cb); + } + catch (Exception x) + { + OnException(x); + throw; + } - if (poco != null) - yield return poco; - else - bNeedTerminator = true; - } - if (bNeedTerminator) - { - var poco = (TRet)(cb as Delegate).DynamicInvoke(new object[types.Length]); - if (poco != null) - yield return poco; - else - yield break; - } - } - } - } - finally - { - CloseSharedConnection(); - } - } - } + if (poco != null) + yield return poco; + else + bNeedTerminator = true; + } + if (bNeedTerminator) + { + var poco = (TRet)(cb as Delegate).DynamicInvoke(new object[types.Length]); + if (poco != null) + yield return poco; + else + yield break; + } + } + } + } + finally + { + CloseSharedConnection(); + } + } - public bool Exists(object primaryKey) - { + public bool Exists(object primaryKey) + { var index = 0; var primaryKeyValuePairs = GetPrimaryKeyValues(PocoData.ForType(typeof(T)).TableInfo.PrimaryKey, primaryKey); return FirstOrDefault(string.Format("WHERE {0}", BuildPrimaryKeySql(primaryKeyValuePairs, ref index)), primaryKeyValuePairs.Select(x => x.Value).ToArray()) != null; - } + } public bool Exists(string sql, params object[] args) @@ -1293,143 +1303,145 @@ namespace PetaPoco return ExecuteScalar(string.Format(existsTemplate, poco.TableName, sql), args) != 0; } - public T Single(object primaryKey) - { + public T Single(object primaryKey) + { var index = 0; var primaryKeyValuePairs = GetPrimaryKeyValues(PocoData.ForType(typeof(T)).TableInfo.PrimaryKey, primaryKey); return Single(string.Format("WHERE {0}", BuildPrimaryKeySql(primaryKeyValuePairs, ref index)), primaryKeyValuePairs.Select(x => x.Value).ToArray()); - } - public T SingleOrDefault(object primaryKey) - { - var index = 0; + } + public T SingleOrDefault(object primaryKey) + { + var index = 0; var primaryKeyValuePairs = GetPrimaryKeyValues(PocoData.ForType(typeof(T)).TableInfo.PrimaryKey, primaryKey); return SingleOrDefault(string.Format("WHERE {0}", BuildPrimaryKeySql(primaryKeyValuePairs, ref index)), primaryKeyValuePairs.Select(x => x.Value).ToArray()); - } - public T Single(string sql, params object[] args) - { - return Query(sql, args).Single(); - } - public T SingleOrDefault(string sql, params object[] args) - { - return Query(sql, args).SingleOrDefault(); - } - public T First(string sql, params object[] args) - { - return Query(sql, args).First(); - } - public T FirstOrDefault(string sql, params object[] args) - { - return Query(sql, args).FirstOrDefault(); - } - public T Single(Sql sql) - { + } + public T Single(string sql, params object[] args) + { + return Query(sql, args).Single(); + } + public T SingleOrDefault(string sql, params object[] args) + { + return Query(sql, args).SingleOrDefault(); + } + public T First(string sql, params object[] args) + { + return Query(sql, args).First(); + } + public T FirstOrDefault(string sql, params object[] args) + { + return Query(sql, args).FirstOrDefault(); + } + public T Single(Sql sql) + { return Query(sql).Single(); - } - public T SingleOrDefault(Sql sql) - { - return Query(sql).SingleOrDefault(); - } - public T First(Sql sql) - { - return Query(sql).First(); - } - public T FirstOrDefault(Sql sql) - { - return Query(sql).FirstOrDefault(); - } - - public string EscapeTableName(string str) - { - // Assume table names with "dot", or opening sq is already escaped - return str.IndexOf('.') >= 0 ? str : EscapeSqlIdentifier(str); - } - - public string EscapeSqlIdentifier(string str) - { - switch (_dbType) - { - case DBType.MySql: - return string.Format("`{0}`", str); - - case DBType.PostgreSQL: - case DBType.Oracle: - return string.Format("\"{0}\"", str); + } + public T SingleOrDefault(Sql sql) + { + return Query(sql).SingleOrDefault(); + } + public T First(Sql sql) + { + return Query(sql).First(); + } + public T FirstOrDefault(Sql sql) + { + return Query(sql).FirstOrDefault(); + } + + public string EscapeTableName(string str) + { + // Assume table names with "dot" are already escaped + return str.IndexOf('.') >= 0 ? str : EscapeSqlIdentifier(str); + } + + public string EscapeSqlIdentifier(string str) + { + switch (_dbType) + { + case DBType.MySql: + return string.Format("`{0}`", str); - default: - return string.Format("[{0}]", str); - } - } + case DBType.PostgreSQL: + return string.Format("\"{0}\"", str); - public object Insert(string tableName, string primaryKeyName, object poco) - { - return Insert(tableName, primaryKeyName, true, poco); - } + case DBType.Oracle: + return string.Format("\"{0}\"", str.ToUpperInvariant()); - // Insert a poco into a table. If the poco has a property with the same name - // as the primary key the id of the new record is assigned to it. Either way, - // the new id is returned. - public object Insert(string tableName, string primaryKeyName, bool autoIncrement, object poco) - { - using (MiniProfiler.StepStatic("Peta Insert " + tableName)) - { + default: + return string.Format("[{0}]", str); + } + } + + public object Insert(string tableName, string primaryKeyName, object poco) + { + return Insert(tableName, primaryKeyName, true, poco); + } + + // Insert a poco into a table. If the poco has a property with the same name + // as the primary key the id of the new record is assigned to it. Either way, + // the new id is returned. + public object Insert(string tableName, string primaryKeyName, bool autoIncrement, object poco) + { + try + { + OpenSharedConnection(); try { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, "")) - { - var pd = PocoData.ForObject(poco, primaryKeyName); - var names = new List(); - var values = new List(); - var index = 0; - var versionName = ""; - - foreach (var i in pd.Columns) - { - // Don't insert result columns - if (i.Value.ResultColumn) - continue; + using (var cmd = CreateCommand(_sharedConnection, "")) + { + var pd = PocoData.ForObject(poco, primaryKeyName); + var names = new List(); + var values = new List(); + var index = 0; + var versionName = ""; - // Don't insert the primary key (except under oracle where we need bring in the next sequence value) - if (autoIncrement && primaryKeyName != null && string.Compare(i.Key, primaryKeyName, true) == 0) - { - if (_dbType == DBType.Oracle && !string.IsNullOrEmpty(pd.TableInfo.SequenceName)) - { - names.Add(i.Key); - values.Add(string.Format("{0}.nextval", pd.TableInfo.SequenceName)); - } - continue; - } + foreach (var i in pd.Columns) + { + // Don't insert result columns + if (i.Value.ResultColumn) + continue; - names.Add(EscapeSqlIdentifier(i.Key)); - values.Add(string.Format("{0}{1}", _paramPrefix, index++)); + // Don't insert the primary key (except under oracle where we need bring in the next sequence value) + if (autoIncrement && primaryKeyName != null && string.Compare(i.Key, primaryKeyName, true)==0) + { + if (_dbType == DBType.Oracle && !string.IsNullOrEmpty(pd.TableInfo.SequenceName)) + { + names.Add(i.Key); + values.Add(string.Format("{0}.nextval", pd.TableInfo.SequenceName)); + } + continue; + } - object val = i.Value.GetValue(poco); - if (i.Value.VersionColumn) - { - val = 1; - versionName = i.Key; - } + names.Add(EscapeSqlIdentifier(i.Key)); + values.Add(string.Format("{0}{1}", _paramPrefix, index++)); - AddParam(cmd, val, _paramPrefix); + object val = i.Value.GetValue(poco); + if (i.Value.VersionColumn) + { + val = 1; + versionName = i.Key; } - cmd.CommandText = string.Format("INSERT INTO {0} ({1}) VALUES ({2})", - EscapeTableName(tableName), - string.Join(",", names.ToArray()), - string.Join(",", values.ToArray()) - ); + AddParam(cmd, val, _paramPrefix); + } - if (!autoIncrement) - { - DoPreExecute(cmd); - cmd.ExecuteNonQuery(); - OnExecutedCommand(cmd); - return true; - } + cmd.CommandText = string.Format("INSERT INTO {0} ({1}) VALUES ({2})", + EscapeTableName(tableName), + string.Join(",", names.ToArray()), + string.Join(",", values.ToArray()) + ); + + object id; - object id; + if (!autoIncrement) + { + DoPreExecute(cmd); + cmd.ExecuteNonQuery(); + OnExecutedCommand(cmd); + id = true; + } + else + { switch (_dbType) { @@ -1514,39 +1526,39 @@ namespace PetaPoco pc.SetValue(poco, pc.ChangeType(id)); } } + } - // Assign the Version column - if (!string.IsNullOrEmpty(versionName)) + // Assign the Version column + if (!string.IsNullOrEmpty(versionName)) + { + PocoColumn pc; + if (pd.Columns.TryGetValue(versionName, out pc)) { - PocoColumn pc; - if (pd.Columns.TryGetValue(versionName, out pc)) - { - pc.SetValue(poco, pc.ChangeType(1)); - } + pc.SetValue(poco, pc.ChangeType(1)); } - - return id; } - } - finally - { - CloseSharedConnection(); - } - } - catch (Exception x) + + return id; + } + } + finally { - OnException(x); - throw; + CloseSharedConnection(); } - } - } + } + catch (Exception x) + { + OnException(x); + throw; + } + } - // Insert an annotated poco object - public object Insert(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - return Insert(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, pd.TableInfo.AutoIncrement, poco); - } + // Insert an annotated poco object + public object Insert(object poco) + { + var pd = PocoData.ForType(poco.GetType()); + return Insert(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, pd.TableInfo.AutoIncrement, poco); + } public void InsertMany(IEnumerable pocoList) { @@ -1561,106 +1573,108 @@ namespace PetaPoco } } - // Update a record with values from a poco. primary key value can be either supplied or read from the poco - public int Update(string tableName, string primaryKeyName, object poco, object primaryKeyValue) - { - using (MiniProfiler.StepStatic("Peta Update " + tableName)) - { + public int Update(string tableName, string primaryKeyName, object poco, object primaryKeyValue) + { + return Update(tableName, primaryKeyName, poco, primaryKeyValue, null); + } + + + // Update a record with values from a poco. primary key value can be either supplied or read from the poco + public int Update(string tableName, string primaryKeyName, object poco, object primaryKeyValue, IEnumerable columns) + { + try + { + OpenSharedConnection(); try { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, "")) - { - var sb = new StringBuilder(); - var index = 0; - var pd = PocoData.ForObject(poco, primaryKeyName); - string versionName = null; - object versionValue = null; + using (var cmd = CreateCommand(_sharedConnection, "")) + { + var sb = new StringBuilder(); + var index = 0; + var pd = PocoData.ForObject(poco,primaryKeyName); + string versionName = null; + object versionValue = null; - var primaryKeyValuePairs = GetPrimaryKeyValues(primaryKeyName, primaryKeyValue); + var primaryKeyValuePairs = GetPrimaryKeyValues(primaryKeyName, primaryKeyValue); - foreach (var i in pd.Columns) + foreach (var i in pd.Columns) + { + // Don't update the primary key, but grab the value if we don't have it + if (primaryKeyValue == null && primaryKeyValuePairs.ContainsKey(i.Key)) { - // Don't update the primary key, but grab the value if we don't have it - if (primaryKeyValue == null && primaryKeyValuePairs.ContainsKey(i.Key)) - { - primaryKeyValuePairs[i.Key] = i.Value.PropertyInfo.GetValue(poco, null); - continue; - } + primaryKeyValuePairs[i.Key] = i.Value.PropertyInfo.GetValue(poco, null); + continue; + } - // Dont update result only columns - if (i.Value.ResultColumn) - continue; + // Dont update result only columns + if (i.Value.ResultColumn) + continue; - object value = i.Value.PropertyInfo.GetValue(poco, null); + if (!i.Value.VersionColumn && columns != null && !columns.Contains(i.Value.ColumnName, StringComparer.OrdinalIgnoreCase)) + continue; + + object value = i.Value.PropertyInfo.GetValue(poco, null); - if (i.Value.VersionColumn) - { - versionName = i.Key; - versionValue = value; - value = Convert.ToInt64(value) + 1; - } + if (i.Value.VersionColumn) + { + versionName = i.Key; + versionValue = value; + value = Convert.ToInt64(value) + 1; + } - // Build the sql - if (index > 0) - sb.Append(", "); - sb.AppendFormat("{0} = {1}{2}", EscapeSqlIdentifier(i.Key), _paramPrefix, index++); + // Build the sql + if (index > 0) + sb.Append(", "); + sb.AppendFormat("{0} = {1}{2}", EscapeSqlIdentifier(i.Key), _paramPrefix, index++); - // Store the parameter in the command - AddParam(cmd, value, _paramPrefix); - } + // Store the parameter in the command + AddParam(cmd, value, _paramPrefix); + } + - cmd.CommandText = string.Format("UPDATE {0} SET {1} WHERE {2}", - EscapeSqlIdentifier(tableName), sb.ToString(), - BuildPrimaryKeySql(primaryKeyValuePairs, ref index)); + cmd.CommandText = string.Format("UPDATE {0} SET {1} WHERE {2}", + EscapeTableName(tableName), sb.ToString(), BuildPrimaryKeySql(primaryKeyValuePairs, ref index)); - foreach (var keyValue in primaryKeyValuePairs) - { - AddParam(cmd, keyValue.Value, _paramPrefix); - } + foreach (var keyValue in primaryKeyValuePairs) + { + AddParam(cmd, keyValue.Value, _paramPrefix); + } - if (!string.IsNullOrEmpty(versionName)) - { - cmd.CommandText += string.Format(" AND {0} = {1}{2}", EscapeSqlIdentifier(versionName), _paramPrefix, - index++); - AddParam(cmd, versionValue, _paramPrefix); - } + if (!string.IsNullOrEmpty(versionName)) + { + cmd.CommandText += string.Format(" AND {0} = {1}{2}", EscapeSqlIdentifier(versionName), _paramPrefix, index++); + AddParam(cmd, versionValue, _paramPrefix); + } - DoPreExecute(cmd); + DoPreExecute(cmd); - // Do it - var result = cmd.ExecuteNonQuery(); - OnExecutedCommand(cmd); + // Do it + var result = cmd.ExecuteNonQuery(); + OnExecutedCommand(cmd); - // Set Version - if (!string.IsNullOrEmpty(versionName)) + // Set Version + if (!string.IsNullOrEmpty(versionName)) { + PocoColumn pc; + if (pd.Columns.TryGetValue(versionName, out pc)) { - PocoColumn pc; - if (pd.Columns.TryGetValue(versionName, out pc)) - { - pc.PropertyInfo.SetValue(poco, - Convert.ChangeType(Convert.ToInt64(versionValue) + 1, - pc.PropertyInfo.PropertyType), null); - } + pc.PropertyInfo.SetValue(poco, Convert.ChangeType(Convert.ToInt64(versionValue)+1, pc.PropertyInfo.PropertyType), null); } - - return result; } - } - finally - { - CloseSharedConnection(); - } - } - catch (Exception x) + + return result; + } + } + finally { - OnException(x); - throw; + CloseSharedConnection(); } - } - } + } + catch (Exception x) + { + OnException(x); + throw; + } + } private string BuildPrimaryKeySql(Dictionary primaryKeyValuePair, ref int index) { @@ -1669,7 +1683,7 @@ namespace PetaPoco return string.Join(" AND ", primaryKeyValuePair.Select((x, i) => string.Format("{0} = {1}{2}", EscapeSqlIdentifier(x.Key), _paramPrefix, tempIndex + i)).ToArray()); } - private Dictionary GetPrimaryKeyValues(string primaryKeyName, object primaryKeyValue) + private Dictionary GetPrimaryKeyValues(string primaryKeyName, object primaryKeyValue) { Dictionary primaryKeyValues; @@ -1692,56 +1706,70 @@ namespace PetaPoco } public int Update(string tableName, string primaryKeyName, object poco) - { - return Update(tableName, primaryKeyName, poco, null); - } - - public int Update(object poco) - { - return Update(poco, null); - } - - public int Update(object poco, object primaryKeyValue) - { - var pd = PocoData.ForType(poco.GetType()); - return Update(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco, primaryKeyValue); - } - - public int Update(string sql, params object[] args) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(string.Format("UPDATE {0} {1}", EscapeTableName(pd.TableInfo.TableName), sql), args); - } - - public int Update(Sql sql) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(new Sql(string.Format("UPDATE {0}", EscapeTableName(pd.TableInfo.TableName))).Append(sql)); - } + { + return Update(tableName, primaryKeyName, poco, null); + } + + public int Update(string tableName, string primaryKeyName, object poco, IEnumerable columns) + { + return Update(tableName, primaryKeyName, poco, null, columns); + } + + public int Update(object poco, IEnumerable columns) + { + return Update(poco, null, columns); + } + + public int Update(object poco) + { + return Update(poco, null, null); + } + + public int Update(object poco, object primaryKeyValue) + { + return Update(poco, primaryKeyValue, null); + } + public int Update(object poco, object primaryKeyValue, IEnumerable columns) + { + var pd = PocoData.ForType(poco.GetType()); + return Update(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco, primaryKeyValue, columns); + } + + public int Update(string sql, params object[] args) + { + var pd = PocoData.ForType(typeof(T)); + return Execute(string.Format("UPDATE {0} {1}", EscapeTableName(pd.TableInfo.TableName), sql), args); + } + + public int Update(Sql sql) + { + var pd = PocoData.ForType(typeof(T)); + return Execute(new Sql(string.Format("UPDATE {0}", EscapeTableName(pd.TableInfo.TableName))).Append(sql)); + } public void UpdateMany(IEnumerable pocoList) { - using (var tran = GetTransaction()) + using (var tran = GetTransaction()) { foreach (var poco in pocoList) { Update(poco); } - tran.Complete(); + tran.Complete(); } } public int Delete(string tableName, string primaryKeyName, object poco) - { - return Delete(tableName, primaryKeyName, poco, null); - } + { + return Delete(tableName, primaryKeyName, poco, null); + } - public int Delete(string tableName, string primaryKeyName, object poco, object primaryKeyValue) - { + public int Delete(string tableName, string primaryKeyName, object poco, object primaryKeyValue) + { var primaryKeyValuePairs = GetPrimaryKeyValues(primaryKeyName, primaryKeyValue); - // If primary key value not specified, pick it up from the object + // If primary key value not specified, pick it up from the object if (primaryKeyValue == null) { var pd = PocoData.ForObject(poco, primaryKeyName); @@ -1750,219 +1778,219 @@ namespace PetaPoco if (primaryKeyValuePairs.ContainsKey(i.Key)) { primaryKeyValuePairs[i.Key] = i.Value.PropertyInfo.GetValue(poco, null); - } - } - } - - // Do it - var index = 0; - var sql = string.Format("DELETE FROM {0} WHERE {1}", tableName, BuildPrimaryKeySql(primaryKeyValuePairs, ref index)); - return Execute(sql, primaryKeyValuePairs.Select(x => x.Value).ToArray()); - } - - public int Delete(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - return Delete(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco); - } - - public int Delete(object pocoOrPrimaryKey) - { - if (pocoOrPrimaryKey.GetType() == typeof(T)) - return Delete(pocoOrPrimaryKey); - var pd = PocoData.ForType(typeof(T)); - return Delete(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, null, pocoOrPrimaryKey); - } - - public int Delete(string sql, params object[] args) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(string.Format("DELETE FROM {0} {1}", EscapeTableName(pd.TableInfo.TableName), sql), args); - } - - public int Delete(Sql sql) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(new Sql(string.Format("DELETE FROM {0}", EscapeTableName(pd.TableInfo.TableName))).Append(sql)); - } + } + } + } + + // Do it + var index = 0; + var sql = string.Format("DELETE FROM {0} WHERE {1}", tableName, BuildPrimaryKeySql(primaryKeyValuePairs, ref index)); + return Execute(sql, primaryKeyValuePairs.Select(x=>x.Value).ToArray()); + } + + public int Delete(object poco) + { + var pd = PocoData.ForType(poco.GetType()); + return Delete(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco); + } + + public int Delete(object pocoOrPrimaryKey) + { + if (pocoOrPrimaryKey.GetType() == typeof(T)) + return Delete(pocoOrPrimaryKey); + var pd = PocoData.ForType(typeof(T)); + return Delete(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, null, pocoOrPrimaryKey); + } + + public int Delete(string sql, params object[] args) + { + var pd = PocoData.ForType(typeof(T)); + return Execute(string.Format("DELETE FROM {0} {1}", EscapeTableName(pd.TableInfo.TableName), sql), args); + } + + public int Delete(Sql sql) + { + var pd = PocoData.ForType(typeof(T)); + return Execute(new Sql(string.Format("DELETE FROM {0}", EscapeTableName(pd.TableInfo.TableName))).Append(sql)); + } // Check if a poco represents a new record - public bool IsNew(string primaryKeyName, object poco) - { - var pd = PocoData.ForObject(poco, primaryKeyName); - object pk; - PocoColumn pc; - if (pd.Columns.TryGetValue(primaryKeyName, out pc)) - { - pk = pc.GetValue(poco); - } + public bool IsNew(string primaryKeyName, object poco) + { + var pd = PocoData.ForObject(poco, primaryKeyName); + object pk; + PocoColumn pc; + if (pd.Columns.TryGetValue(primaryKeyName, out pc)) + { + pk = pc.GetValue(poco); + } #if !PETAPOCO_NO_DYNAMIC else if (poco.GetType() == typeof(System.Dynamic.ExpandoObject)) { return true; } #endif - else - { - var pi = poco.GetType().GetProperty(primaryKeyName); - if (pi == null) - throw new ArgumentException(string.Format("The object doesn't have a property matching the primary key column name '{0}'", primaryKeyName)); - pk = pi.GetValue(poco, null); - } - - if (pk == null) - return true; - - var type = pk.GetType(); - - if (type.IsValueType) - { - // Common primary key types - if (type == typeof(long)) - return (long)pk == 0; - else if (type == typeof(ulong)) - return (ulong)pk == 0; - else if (type == typeof(int)) - return (int)pk == 0; - else if (type == typeof(uint)) - return (uint)pk == 0; - - // Create a default instance and compare - return pk == Activator.CreateInstance(pk.GetType()); - } - else - { - return pk == null; - } - } - - public bool IsNew(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - if (!pd.TableInfo.AutoIncrement) - throw new InvalidOperationException("IsNew() and Save() are only supported on tables with auto-increment/identity primary key columns"); - return IsNew(pd.TableInfo.PrimaryKey, poco); - } - - // Insert new record or Update existing record - public void Save(string tableName, string primaryKeyName, object poco) - { - if (IsNew(primaryKeyName, poco)) - { - Insert(tableName, primaryKeyName, true, poco); - } - else - { - Update(tableName, primaryKeyName, poco); - } - } - - public void Save(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - Save(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco); - } - - public void SaveMany(IEnumerable pocoList) - { - using (var tran = GetTransaction()) - { - foreach (var poco in pocoList) - { - Save(poco); - } - - tran.Complete(); - } - } - - public int CommandTimeout { get; set; } - public int OneTimeCommandTimeout { get; set; } - - void DoPreExecute(IDbCommand cmd) - { - // Setup command timeout - if (OneTimeCommandTimeout != 0) - { - cmd.CommandTimeout = OneTimeCommandTimeout; - OneTimeCommandTimeout = 0; - } - else if (CommandTimeout != 0) - { - cmd.CommandTimeout = CommandTimeout; - } + else + { + var pi = poco.GetType().GetProperty(primaryKeyName); + if (pi == null) + throw new ArgumentException(string.Format("The object doesn't have a property matching the primary key column name '{0}'", primaryKeyName)); + pk = pi.GetValue(poco, null); + } - // Call hook - OnExecutingCommand(cmd); + if (pk == null) + return true; - // Save it - _lastSql = cmd.CommandText; - _lastArgs = (from IDataParameter parameter in cmd.Parameters select parameter.Value).ToArray(); - } + var type = pk.GetType(); - public string LastSQL { get { return _lastSql; } } - public object[] LastArgs { get { return _lastArgs; } } - public string LastCommand - { - get { return FormatCommand(_lastSql, _lastArgs); } - } + if (type.IsValueType) + { + // Common primary key types + if (type == typeof(long)) + return (long)pk == 0; + else if (type == typeof(ulong)) + return (ulong)pk == 0; + else if (type == typeof(int)) + return (int)pk == 0; + else if (type == typeof(uint)) + return (uint)pk == 0; + + // Create a default instance and compare + return pk == Activator.CreateInstance(pk.GetType()); + } + else + { + return pk == null; + } + } + + public bool IsNew(object poco) + { + var pd = PocoData.ForType(poco.GetType()); + if (!pd.TableInfo.AutoIncrement) + throw new InvalidOperationException("IsNew() and Save() are only supported on tables with auto-increment/identity primary key columns"); + return IsNew(pd.TableInfo.PrimaryKey, poco); + } + + // Insert new record or Update existing record + public void Save(string tableName, string primaryKeyName, object poco) + { + if (IsNew(primaryKeyName, poco)) + { + Insert(tableName, primaryKeyName, true, poco); + } + else + { + Update(tableName, primaryKeyName, poco); + } + } - public string FormatCommand(IDbCommand cmd) - { - return FormatCommand(cmd.CommandText, (from IDataParameter parameter in cmd.Parameters select parameter.Value).ToArray()); - } + public void Save(object poco) + { + var pd = PocoData.ForType(poco.GetType()); + Save(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco); + } - public string FormatCommand(string sql, object[] args) + public void SaveMany(IEnumerable pocoList) { - var sb = new StringBuilder(); - if (sql == null) - return ""; - sb.Append(sql); - if (args != null && args.Length > 0) + using (var tran = GetTransaction()) { - sb.Append("\n"); - for (int i = 0; i < args.Length; i++) + foreach (var poco in pocoList) { - sb.AppendFormat("\t -> {0}{1} [{2}] = \"{3}\"\n", _paramPrefix, i, args[i].GetType().Name, args[i]); + Save(poco); } - sb.Remove(sb.Length - 1, 1); + + tran.Complete(); } - return sb.ToString(); } + public int CommandTimeout { get; set; } + public int OneTimeCommandTimeout { get; set; } - public static IMapper Mapper - { - get; - set; - } - - public class PocoColumn - { - public string ColumnName; - public PropertyInfo PropertyInfo; - public bool ResultColumn; - public bool VersionColumn; - public virtual void SetValue(object target, object val) { PropertyInfo.SetValue(target, val, null); } - public virtual object GetValue(object target) { return PropertyInfo.GetValue(target, null); } - public virtual object ChangeType(object val) { return Convert.ChangeType(val, PropertyInfo.PropertyType); } - } - internal class ExpandoColumn : PocoColumn - { - public override void SetValue(object target, object val) { (target as IDictionary)[ColumnName] = val; } - public override object GetValue(object target) - { - object val = null; - (target as IDictionary).TryGetValue(ColumnName, out val); - return val; - } - public override object ChangeType(object val) { return val; } - } - internal class PocoData + void DoPreExecute(IDbCommand cmd) + { + // Setup command timeout + if (OneTimeCommandTimeout != 0) + { + cmd.CommandTimeout = OneTimeCommandTimeout; + OneTimeCommandTimeout = 0; + } + else if (CommandTimeout!=0) + { + cmd.CommandTimeout = CommandTimeout; + } + + // Call hook + OnExecutingCommand(cmd); + + // Save it + _lastSql = cmd.CommandText; + _lastArgs = (from IDataParameter parameter in cmd.Parameters select parameter.Value).ToArray(); + } + + public string LastSQL { get { return _lastSql; } } + public object[] LastArgs { get { return _lastArgs; } } + public string LastCommand + { + get { return FormatCommand(_lastSql, _lastArgs); } + } + + public string FormatCommand(IDbCommand cmd) + { + return FormatCommand(cmd.CommandText, (from IDataParameter parameter in cmd.Parameters select parameter.Value).ToArray()); + } + + public string FormatCommand(string sql, object[] args) + { + var sb = new StringBuilder(); + if (sql == null) + return ""; + sb.Append(sql); + if (args != null && args.Length > 0) + { + sb.Append("\n"); + for (int i = 0; i < args.Length; i++) + { + sb.AppendFormat("\t -> {0}{1} [{2}] = \"{3}\"\n", _paramPrefix, i, args[i].GetType().Name, args[i]); + } + sb.Remove(sb.Length - 1, 1); + } + return sb.ToString(); + } + + + public static IMapper Mapper + { + get; + set; + } + + public class PocoColumn + { + public string ColumnName; + public PropertyInfo PropertyInfo; + public bool ResultColumn; + public bool VersionColumn; + public virtual void SetValue(object target, object val) { PropertyInfo.SetValue(target, val, null); } + public virtual object GetValue(object target) { return PropertyInfo.GetValue(target, null); } + public virtual object ChangeType(object val) { return Convert.ChangeType(val, PropertyInfo.PropertyType); } + } + public class ExpandoColumn : PocoColumn + { + public override void SetValue(object target, object val) { (target as IDictionary)[ColumnName]=val; } + public override object GetValue(object target) + { + object val=null; + (target as IDictionary).TryGetValue(ColumnName, out val); + return val; + } + public override object ChangeType(object val) { return val; } + } + public class PocoData { - public static PocoData ForObject(object o, string primaryKeyName) - { - var t = o.GetType(); + public static PocoData ForObject(object o, string primaryKeyName) + { + var t = o.GetType(); #if !PETAPOCO_NO_DYNAMIC if (t == typeof(System.Dynamic.ExpandoObject)) { @@ -1981,74 +2009,74 @@ namespace PetaPoco } else #endif - return ForType(t); - } - static ReaderWriterLockSlim RWLock = new ReaderWriterLockSlim(); + return ForType(t); + } + static System.Threading.ReaderWriterLockSlim RWLock = new System.Threading.ReaderWriterLockSlim(); public static PocoData ForType(Type t) { #if !PETAPOCO_NO_DYNAMIC if (t == typeof(System.Dynamic.ExpandoObject)) throw new InvalidOperationException("Can't use dynamic types with this method"); #endif - // Check cache - RWLock.EnterReadLock(); + // Check cache + RWLock.EnterReadLock(); PocoData pd; - try - { - if (m_PocoDatas.TryGetValue(t, out pd)) - return pd; - } - finally + try { - RWLock.ExitReadLock(); - } - + if (m_PocoDatas.TryGetValue(t, out pd)) + return pd; + } + finally + { + RWLock.ExitReadLock(); + } - // Cache it - RWLock.EnterWriteLock(); - try - { - // Check again - if (m_PocoDatas.TryGetValue(t, out pd)) - return pd; + + // Cache it + RWLock.EnterWriteLock(); + try + { + // Check again + if (m_PocoDatas.TryGetValue(t, out pd)) + return pd; - // Create it - pd = new PocoData(t); + // Create it + pd = new PocoData(t); m_PocoDatas.Add(t, pd); - } + } finally - { - RWLock.ExitWriteLock(); - } - - return pd; - } - - public PocoData() - { - } - - public PocoData(Type t) - { - type = t; - TableInfo = new TableInfo(); + { + RWLock.ExitWriteLock(); + } - // Get the table name - var a = t.GetCustomAttributes(typeof(TableNameAttribute), true); - TableInfo.TableName = a.Length == 0 ? t.Name : (a[0] as TableNameAttribute).Value; + return pd; + } - // Get the primary key - a = t.GetCustomAttributes(typeof(PrimaryKeyAttribute), true); - TableInfo.PrimaryKey = a.Length == 0 ? "ID" : (a[0] as PrimaryKeyAttribute).Value; - TableInfo.SequenceName = a.Length == 0 ? null : (a[0] as PrimaryKeyAttribute).sequenceName; - TableInfo.AutoIncrement = a.Length == 0 ? false : (a[0] as PrimaryKeyAttribute).autoIncrement; + public PocoData() + { + } + public PocoData(Type t) + { + type = t; + TableInfo=new TableInfo(); + + // Get the table name + var a = t.GetCustomAttributes(typeof(TableNameAttribute), true); + TableInfo.TableName = a.Length == 0 ? t.Name : (a[0] as TableNameAttribute).Value; + + // Get the primary key + a = t.GetCustomAttributes(typeof(PrimaryKeyAttribute), true); + TableInfo.PrimaryKey = a.Length == 0 ? "ID" : (a[0] as PrimaryKeyAttribute).Value; + TableInfo.SequenceName = a.Length == 0 ? null : (a[0] as PrimaryKeyAttribute).sequenceName; + TableInfo.AutoIncrement = a.Length == 0 ? false : (a[0] as PrimaryKeyAttribute).autoIncrement; + // Set autoincrement false if primary key has multiple columns TableInfo.AutoIncrement = TableInfo.AutoIncrement ? !TableInfo.PrimaryKey.Contains(',') : TableInfo.AutoIncrement; - // Call column mapper - if (Mapper != null) - Mapper.GetTableInfo(t, TableInfo); + // Call column mapper + if (Database.Mapper != null) + Database.Mapper.GetTableInfo(t, TableInfo); // Work out bound properties bool ExplicitColumns = t.GetCustomAttributes(typeof(ExplicitColumnsAttribute), true).Length > 0; @@ -2084,57 +2112,57 @@ namespace PetaPoco if (pc.ColumnName == null) { pc.ColumnName = pi.Name; - if (Mapper != null && !Mapper.MapPropertyToColumn(pi, ref pc.ColumnName, ref pc.ResultColumn)) + if (Database.Mapper != null && !Database.Mapper.MapPropertyToColumn(pi, ref pc.ColumnName, ref pc.ResultColumn)) continue; } - + // Store it Columns.Add(pc.ColumnName, pc); } // Build column list for automatic select - QueryColumns = (from c in Columns where !c.Value.ResultColumn select c.Key).ToArray(); + QueryColumns = (from c in Columns where !c.Value.ResultColumn select c.Key).ToArray(); } - static bool IsIntegralType(Type t) + static bool IsIntegralType(Type t) { - var tc = Type.GetTypeCode(t); + var tc = Type.GetTypeCode(t); return tc >= TypeCode.SByte && tc <= TypeCode.UInt64; } // Create factory function that can convert a IDataReader record into a POCO - public Delegate GetFactory(string sql, string connString, bool ForceDateTimesToUtc, int firstColumn, int countColumns, IDataReader r) + public Delegate GetFactory(string sql, string connString, bool ForceDateTimesToUtc, int firstColumn, int countColumns, IDataReader r) { - // Check cache - var key = string.Format("{0}:{1}:{2}:{3}:{4}", sql, connString, ForceDateTimesToUtc, firstColumn, countColumns); - RWLock.EnterReadLock(); - try + // Check cache + var key = string.Format("{0}:{1}:{2}:{3}:{4}", sql, connString, ForceDateTimesToUtc, firstColumn, countColumns); + RWLock.EnterReadLock(); + try { // Have we already created it? - Delegate factory; + Delegate factory; if (PocoFactories.TryGetValue(key, out factory)) - return factory; - } - finally - { - RWLock.ExitReadLock(); - } + return factory; + } + finally + { + RWLock.ExitReadLock(); + } - // Take the writer lock - RWLock.EnterWriteLock(); + // Take the writer lock + RWLock.EnterWriteLock(); - try + try { - // Check again, just in case - Delegate factory; - if (PocoFactories.TryGetValue(key, out factory)) - return factory; - + // Check again, just in case + Delegate factory; + if (PocoFactories.TryGetValue(key, out factory)) + return factory; + // Create the method var m = new DynamicMethod("petapoco_factory_" + PocoFactories.Count.ToString(), type, new Type[] { typeof(IDataReader) }, true); - var il = m.GetILGenerator(); + var il = m.GetILGenerator(); #if !PETAPOCO_NO_DYNAMIC if (type == typeof(object)) @@ -2160,7 +2188,7 @@ namespace PetaPoco converter = delegate(object src) { return new DateTime(((DateTime)src).Ticks, DateTimeKind.Utc); }; // Setup stack for call to converter - AddConverterToStack(il, converter); + AddConverterToStack(il, converter); // r[i] il.Emit(OpCodes.Ldarg_0); // obj, obj, fieldname, converter?, rdr @@ -2194,210 +2222,240 @@ namespace PetaPoco } else #endif - if (type.IsValueType || type == typeof(string) || type == typeof(byte[])) - { - // Do we need to install a converter? - var srcType = r.GetFieldType(0); - var converter = GetConverter(ForceDateTimesToUtc, null, srcType, type); - - // "if (!rdr.IsDBNull(i))" - il.Emit(OpCodes.Ldarg_0); // rdr - il.Emit(OpCodes.Ldc_I4_0); // rdr,0 - il.Emit(OpCodes.Callvirt, fnIsDBNull); // bool - var lblCont = il.DefineLabel(); - il.Emit(OpCodes.Brfalse_S, lblCont); - il.Emit(OpCodes.Ldnull); // null - var lblFin = il.DefineLabel(); - il.Emit(OpCodes.Br_S, lblFin); - - il.MarkLabel(lblCont); - - // Setup stack for call to converter - AddConverterToStack(il, converter); - - il.Emit(OpCodes.Ldarg_0); // rdr - il.Emit(OpCodes.Ldc_I4_0); // rdr,0 - il.Emit(OpCodes.Callvirt, fnGetValue); // value - - // Call the converter - if (converter != null) - il.Emit(OpCodes.Callvirt, fnInvoke); - - il.MarkLabel(lblFin); - il.Emit(OpCodes.Unbox_Any, type); // value converted - } - else - { - // var poco=new T() - il.Emit(OpCodes.Newobj, type.GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, new Type[0], null)); - - // Enumerate all fields generating a set assignment for the column - for (int i = firstColumn; i < firstColumn + countColumns; i++) - { - // Get the PocoColumn for this db column, ignore if not known - PocoColumn pc; - if (!Columns.TryGetValue(r.GetName(i), out pc)) - continue; - - // Get the source type for this column - var srcType = r.GetFieldType(i); - var dstType = pc.PropertyInfo.PropertyType; + if (type.IsValueType || type == typeof(string) || type == typeof(byte[])) + { + // Do we need to install a converter? + var srcType = r.GetFieldType(0); + var converter = GetConverter(ForceDateTimesToUtc, null, srcType, type); // "if (!rdr.IsDBNull(i))" - il.Emit(OpCodes.Ldarg_0); // poco,rdr - il.Emit(OpCodes.Ldc_I4, i); // poco,rdr,i - il.Emit(OpCodes.Callvirt, fnIsDBNull); // poco,bool - var lblNext = il.DefineLabel(); - il.Emit(OpCodes.Brtrue_S, lblNext); // poco + il.Emit(OpCodes.Ldarg_0); // rdr + il.Emit(OpCodes.Ldc_I4_0); // rdr,0 + il.Emit(OpCodes.Callvirt, fnIsDBNull); // bool + var lblCont = il.DefineLabel(); + il.Emit(OpCodes.Brfalse_S, lblCont); + il.Emit(OpCodes.Ldnull); // null + var lblFin = il.DefineLabel(); + il.Emit(OpCodes.Br_S, lblFin); + + il.MarkLabel(lblCont); + + // Setup stack for call to converter + AddConverterToStack(il, converter); + + il.Emit(OpCodes.Ldarg_0); // rdr + il.Emit(OpCodes.Ldc_I4_0); // rdr,0 + il.Emit(OpCodes.Callvirt, fnGetValue); // value + + // Call the converter + if (converter != null) + il.Emit(OpCodes.Callvirt, fnInvoke); + + il.MarkLabel(lblFin); + il.Emit(OpCodes.Unbox_Any, type); // value converted + } + else + { + // var poco=new T() + il.Emit(OpCodes.Newobj, type.GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, new Type[0], null)); - il.Emit(OpCodes.Dup); // poco,poco + // Enumerate all fields generating a set assignment for the column + for (int i = firstColumn; i < firstColumn + countColumns; i++) + { + // Get the PocoColumn for this db column, ignore if not known + PocoColumn pc; + if (!Columns.TryGetValue(r.GetName(i), out pc) && !Columns.TryGetValue(r.GetName(i).Replace("_", ""), out pc)) + { + continue; + } + + // Get the source type for this column + var srcType = r.GetFieldType(i); + var dstType = pc.PropertyInfo.PropertyType; - // Do we need to install a converter? - var converter = GetConverter(ForceDateTimesToUtc, pc, srcType, dstType); + // "if (!rdr.IsDBNull(i))" + il.Emit(OpCodes.Ldarg_0); // poco,rdr + il.Emit(OpCodes.Ldc_I4, i); // poco,rdr,i + il.Emit(OpCodes.Callvirt, fnIsDBNull); // poco,bool + var lblNext = il.DefineLabel(); + il.Emit(OpCodes.Brtrue_S, lblNext); // poco - // Fast - bool Handled = false; - if (converter == null) - { - var valuegetter = typeof(IDataRecord).GetMethod("Get" + srcType.Name, new Type[] { typeof(int) }); - if (valuegetter != null - && valuegetter.ReturnType == srcType - && (valuegetter.ReturnType == dstType || valuegetter.ReturnType == Nullable.GetUnderlyingType(dstType))) - { - il.Emit(OpCodes.Ldarg_0); // *,rdr - il.Emit(OpCodes.Ldc_I4, i); // *,rdr,i - il.Emit(OpCodes.Callvirt, valuegetter); // *,value + il.Emit(OpCodes.Dup); // poco,poco - // Convert to Nullable - if (Nullable.GetUnderlyingType(dstType) != null) - { - il.Emit(OpCodes.Newobj, dstType.GetConstructor(new Type[] { Nullable.GetUnderlyingType(dstType) })); - } + // Do we need to install a converter? + var converter = GetConverter(ForceDateTimesToUtc, pc, srcType, dstType); - il.Emit(OpCodes.Callvirt, pc.PropertyInfo.GetSetMethod(true)); // poco - Handled = true; - } - } + // Fast + bool Handled = false; + if (converter == null) + { + var valuegetter = typeof(IDataRecord).GetMethod("Get" + srcType.Name, new Type[] { typeof(int) }); + if (valuegetter != null + && valuegetter.ReturnType == srcType + && (valuegetter.ReturnType == dstType || valuegetter.ReturnType == Nullable.GetUnderlyingType(dstType))) + { + il.Emit(OpCodes.Ldarg_0); // *,rdr + il.Emit(OpCodes.Ldc_I4, i); // *,rdr,i + il.Emit(OpCodes.Callvirt, valuegetter); // *,value + + // Convert to Nullable + if (Nullable.GetUnderlyingType(dstType) != null) + { + il.Emit(OpCodes.Newobj, dstType.GetConstructor(new Type[] { Nullable.GetUnderlyingType(dstType) })); + } + + il.Emit(OpCodes.Callvirt, pc.PropertyInfo.GetSetMethod(true)); // poco + Handled = true; + } + } - // Not so fast - if (!Handled) - { - // Setup stack for call to converter - AddConverterToStack(il, converter); + // Not so fast + if (!Handled) + { + // Setup stack for call to converter + AddConverterToStack(il, converter); - // "value = rdr.GetValue(i)" - il.Emit(OpCodes.Ldarg_0); // *,rdr - il.Emit(OpCodes.Ldc_I4, i); // *,rdr,i - il.Emit(OpCodes.Callvirt, fnGetValue); // *,value + // "value = rdr.GetValue(i)" + il.Emit(OpCodes.Ldarg_0); // *,rdr + il.Emit(OpCodes.Ldc_I4, i); // *,rdr,i + il.Emit(OpCodes.Callvirt, fnGetValue); // *,value - // Call the converter - if (converter != null) - il.Emit(OpCodes.Callvirt, fnInvoke); + // Call the converter + if (converter != null) + il.Emit(OpCodes.Callvirt, fnInvoke); - // Assign it - il.Emit(OpCodes.Unbox_Any, pc.PropertyInfo.PropertyType); // poco,poco,value - il.Emit(OpCodes.Callvirt, pc.PropertyInfo.GetSetMethod(true)); // poco - } + // Assign it + il.Emit(OpCodes.Unbox_Any, pc.PropertyInfo.PropertyType); // poco,poco,value + il.Emit(OpCodes.Callvirt, pc.PropertyInfo.GetSetMethod(true)); // poco + } - il.MarkLabel(lblNext); - } - } + il.MarkLabel(lblNext); + } + + var fnOnLoaded = RecurseInheritedTypes(type, (x) => x.GetMethod("OnLoaded", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, new Type[0], null)); + if (fnOnLoaded != null) + { + il.Emit(OpCodes.Dup); + il.Emit(OpCodes.Callvirt, fnOnLoaded); + } + } - il.Emit(OpCodes.Ret); + il.Emit(OpCodes.Ret); - // Cache it, return it + // Cache it, return it var del = m.CreateDelegate(Expression.GetFuncType(typeof(IDataReader), type)); PocoFactories.Add(key, del); return del; } - finally - { - RWLock.ExitWriteLock(); + finally + { + RWLock.ExitWriteLock(); } } - private static void AddConverterToStack(ILGenerator il, Func converter) - { - if (converter != null) - { - // Add the converter - int converterIndex = m_Converters.Count; - m_Converters.Add(converter); - - // Generate IL to push the converter onto the stack - il.Emit(OpCodes.Ldsfld, fldConverters); - il.Emit(OpCodes.Ldc_I4, converterIndex); - il.Emit(OpCodes.Callvirt, fnListGetItem); // Converter - } - } + private static void AddConverterToStack(ILGenerator il, Func converter) + { + if (converter != null) + { + // Add the converter + int converterIndex = m_Converters.Count; + m_Converters.Add(converter); + + // Generate IL to push the converter onto the stack + il.Emit(OpCodes.Ldsfld, fldConverters); + il.Emit(OpCodes.Ldc_I4, converterIndex); + il.Emit(OpCodes.Callvirt, fnListGetItem); // Converter + } + } - private static Func GetConverter(bool forceDateTimesToUtc, PocoColumn pc, Type srcType, Type dstType) - { - Func converter = null; + private static Func GetConverter(bool forceDateTimesToUtc, PocoColumn pc, Type srcType, Type dstType) + { + Func converter = null; - // Get converter from the mapper - if (Mapper != null) - { - DestinationInfo destinationInfo = pc != null - ? new DestinationInfo(pc.PropertyInfo) - : new DestinationInfo(dstType); - converter = Mapper.GetFromDbConverter(destinationInfo, srcType); - } + // Get converter from the mapper + if (Database.Mapper != null) + { + if (pc != null) + { + converter = Database.Mapper.GetFromDbConverter(pc.PropertyInfo, srcType); + } + else + { + var m2 = Database.Mapper as IMapper2; + if (m2 != null) + { + converter = m2.GetFromDbConverter(dstType, srcType); + } + } + } - // Standard DateTime->Utc mapper - if (forceDateTimesToUtc && converter == null && srcType == typeof(DateTime) && (dstType == typeof(DateTime) || dstType == typeof(DateTime?))) - { - converter = delegate(object src) { return new DateTime(((DateTime)src).Ticks, DateTimeKind.Utc); }; - } + // Standard DateTime->Utc mapper + if (forceDateTimesToUtc && converter == null && srcType == typeof(DateTime) && (dstType == typeof(DateTime) || dstType == typeof(DateTime?))) + { + converter = delegate(object src) { return new DateTime(((DateTime)src).Ticks, DateTimeKind.Utc); }; + } - // Forced type conversion including integral types -> enum - if (converter == null) - { - if (dstType.IsEnum && IsIntegralType(srcType)) - { - if (srcType != typeof(int)) - { - converter = delegate(object src) { return Convert.ChangeType(src, typeof(int), null); }; - } - } - else if (!dstType.IsAssignableFrom(srcType)) - { - converter = delegate(object src) { return Convert.ChangeType(src, dstType, null); }; - } - } - return converter; - } + // Forced type conversion including integral types -> enum + if (converter == null) + { + if (dstType.IsEnum && IsIntegralType(srcType)) + { + if (srcType != typeof(int)) + { + converter = delegate(object src) { return Convert.ChangeType(src, typeof(int), null); }; + } + } + else if (!dstType.IsAssignableFrom(srcType)) + { + converter = delegate(object src) { return Convert.ChangeType(src, dstType, null); }; + } + } + return converter; + } - static Dictionary m_PocoDatas = new Dictionary(); - static List> m_Converters = new List>(); - static MethodInfo fnGetValue = typeof(IDataRecord).GetMethod("GetValue", new Type[] { typeof(int) }); - static MethodInfo fnIsDBNull = typeof(IDataRecord).GetMethod("IsDBNull"); - static FieldInfo fldConverters = typeof(PocoData).GetField("m_Converters", BindingFlags.Static | BindingFlags.GetField | BindingFlags.NonPublic); - static MethodInfo fnListGetItem = typeof(List>).GetProperty("Item").GetGetMethod(); - static MethodInfo fnInvoke = typeof(Func).GetMethod("Invoke"); - public Type type; - public string[] QueryColumns { get; private set; } - public TableInfo TableInfo { get; private set; } - public Dictionary Columns { get; private set; } - Dictionary PocoFactories = new Dictionary(); - } + static T RecurseInheritedTypes(Type t, Func cb) + { + while (t != null) + { + T info = cb(t); + if (info != null) + return info; + t = t.BaseType; + } + return default(T); + } - // Member variables - string _connectionString; - string _providerName; - DbProviderFactory _factory; - IDbConnection _sharedConnection; - IDbTransaction _transaction; - int _sharedConnectionDepth; - int _transactionDepth; - bool _transactionCancelled; - string _lastSql; - object[] _lastArgs; - string _paramPrefix = "@"; - } - // Transaction object helps maintain transaction depth counts + static Dictionary m_PocoDatas = new Dictionary(); + static List> m_Converters = new List>(); + static MethodInfo fnGetValue = typeof(IDataRecord).GetMethod("GetValue", new Type[] { typeof(int) }); + static MethodInfo fnIsDBNull = typeof(IDataRecord).GetMethod("IsDBNull"); + static FieldInfo fldConverters = typeof(PocoData).GetField("m_Converters", BindingFlags.Static | BindingFlags.GetField | BindingFlags.NonPublic); + static MethodInfo fnListGetItem = typeof(List>).GetProperty("Item").GetGetMethod(); + static MethodInfo fnInvoke = typeof(Func).GetMethod("Invoke"); + public Type type; + public string[] QueryColumns { get; private set; } + public TableInfo TableInfo { get; private set; } + public Dictionary Columns { get; private set; } + Dictionary PocoFactories = new Dictionary(); + } + + // Member variables + string _connectionString; + string _providerName; + DbProviderFactory _factory; + IDbConnection _sharedConnection; + IDbTransaction _transaction; + int _sharedConnectionDepth; + int _transactionDepth; + bool _transactionCancelled; + string _lastSql; + object[] _lastArgs; + string _paramPrefix = "@"; + } + + // Transaction object helps maintain transaction depth counts public interface ITransaction : IDisposable { void Complete(); @@ -2405,175 +2463,175 @@ namespace PetaPoco public class Transaction : ITransaction { - public Transaction(Database db) - { - _db = db; - _db.BeginTransaction(); - } - - public void Complete() - { - _db.CompleteTransaction(); - _db = null; - } - - public void Dispose() - { - if (_db != null) - _db.AbortTransaction(); - } - - Database _db; - } - - // Simple helper class for building SQL statments - public class Sql - { - public Sql() - { - } - - public Sql(string sql, params object[] args) - { - _sql = sql; - _args = args; - } - - public static Sql Builder - { - get { return new Sql(); } - } - - string _sql; - object[] _args; - Sql _rhs; - string _sqlFinal; - object[] _argsFinal; - - private void Build() - { - // already built? - if (_sqlFinal != null) - return; - - // Build it - var sb = new StringBuilder(); - var args = new List(); - Build(sb, args, null); - _sqlFinal = sb.ToString(); - _argsFinal = args.ToArray(); - } - - public string SQL - { - get - { - Build(); - return _sqlFinal; - } - } - - public object[] Arguments - { - get - { - Build(); - return _argsFinal; - } - } - - public Sql Append(Sql sql) - { - if (_rhs != null) - _rhs.Append(sql); - else - _rhs = sql; - - return this; - } - - public Sql Append(string sql, params object[] args) - { - return Append(new Sql(sql, args)); - } - - static bool Is(Sql sql, string sqltype) - { - return sql != null && sql._sql != null && sql._sql.StartsWith(sqltype, StringComparison.InvariantCultureIgnoreCase); - } - - private void Build(StringBuilder sb, List args, Sql lhs) - { - if (!String.IsNullOrEmpty(_sql)) - { - // Add SQL to the string - if (sb.Length > 0) - { - sb.Append("\n"); - } - - var sql = Database.ProcessParams(_sql, _args, args); - - if (Is(lhs, "WHERE ") && Is(this, "WHERE ")) - sql = "AND " + sql.Substring(6); - if (Is(lhs, "ORDER BY ") && Is(this, "ORDER BY ")) - sql = ", " + sql.Substring(9); - - sb.Append(sql); - } - - // Now do rhs - if (_rhs != null) - _rhs.Build(sb, args, this); - } - - public Sql Where(string sql, params object[] args) - { - return Append(new Sql("WHERE (" + sql + ")", args)); - } - - public Sql OrderBy(params object[] columns) - { - return Append(new Sql("ORDER BY " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); - } - - public Sql Select(params object[] columns) - { - return Append(new Sql("SELECT " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); - } - - public Sql From(params object[] tables) - { - return Append(new Sql("FROM " + String.Join(", ", (from x in tables select x.ToString()).ToArray()))); - } + public Transaction(Database db) + { + _db = db; + _db.BeginTransaction(); + } + + public virtual void Complete() + { + _db.CompleteTransaction(); + _db = null; + } + + public void Dispose() + { + if (_db != null) + _db.AbortTransaction(); + } + + Database _db; + } + + // Simple helper class for building SQL statments + public class Sql + { + public Sql() + { + } + + public Sql(string sql, params object[] args) + { + _sql = sql; + _args = args; + } + + public static Sql Builder + { + get { return new Sql(); } + } + + string _sql; + object[] _args; + Sql _rhs; + string _sqlFinal; + object[] _argsFinal; + + private void Build() + { + // already built? + if (_sqlFinal != null) + return; + + // Build it + var sb = new StringBuilder(); + var args = new List(); + Build(sb, args, null); + _sqlFinal = sb.ToString(); + _argsFinal = args.ToArray(); + } + + public string SQL + { + get + { + Build(); + return _sqlFinal; + } + } - public Sql GroupBy(params object[] columns) - { - return Append(new Sql("GROUP BY " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); - } + public object[] Arguments + { + get + { + Build(); + return _argsFinal; + } + } + + public Sql Append(Sql sql) + { + if (_rhs != null) + _rhs.Append(sql); + else + _rhs = sql; + + return this; + } + + public Sql Append(string sql, params object[] args) + { + return Append(new Sql(sql, args)); + } + + static bool Is(Sql sql, string sqltype) + { + return sql != null && sql._sql != null && sql._sql.StartsWith(sqltype, StringComparison.InvariantCultureIgnoreCase); + } + + private void Build(StringBuilder sb, List args, Sql lhs) + { + if (!String.IsNullOrEmpty(_sql)) + { + // Add SQL to the string + if (sb.Length > 0) + { + sb.Append("\n"); + } - private SqlJoinClause Join(string JoinType, string table) - { - return new SqlJoinClause(Append(new Sql(JoinType + table))); - } + var sql = Database.ProcessParams(_sql, _args, args); - public SqlJoinClause InnerJoin(string table) { return Join("INNER JOIN ", table); } - public SqlJoinClause LeftJoin(string table) { return Join("LEFT JOIN ", table); } + if (Is(lhs, "WHERE ") && Is(this, "WHERE ")) + sql = "AND " + sql.Substring(6); + if (Is(lhs, "ORDER BY ") && Is(this, "ORDER BY ")) + sql = ", " + sql.Substring(9); - public class SqlJoinClause - { - private readonly Sql _sql; + sb.Append(sql); + } - public SqlJoinClause(Sql sql) - { - _sql = sql; - } + // Now do rhs + if (_rhs != null) + _rhs.Build(sb, args, this); + } + + public Sql Where(string sql, params object[] args) + { + return Append(new Sql("WHERE (" + sql + ")", args)); + } + + public Sql OrderBy(params object[] columns) + { + return Append(new Sql("ORDER BY " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); + } + + public Sql Select(params object[] columns) + { + return Append(new Sql("SELECT " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); + } + + public Sql From(params object[] tables) + { + return Append(new Sql("FROM " + String.Join(", ", (from x in tables select x.ToString()).ToArray()))); + } + + public Sql GroupBy(params object[] columns) + { + return Append(new Sql("GROUP BY " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); + } + + private SqlJoinClause Join(string JoinType, string table) + { + return new SqlJoinClause(Append(new Sql(JoinType + table))); + } + + public SqlJoinClause InnerJoin(string table) { return Join("INNER JOIN ", table); } + public SqlJoinClause LeftJoin(string table) { return Join("LEFT JOIN ", table); } + + public class SqlJoinClause + { + private readonly Sql _sql; + + public SqlJoinClause(Sql sql) + { + _sql = sql; + } - public Sql On(string onClause, params object[] args) - { - return _sql.Append("ON " + onClause, args); - } - } - } + public Sql On(string onClause, params object[] args) + { + return _sql.Append("ON " + onClause, args); + } + } + } } \ No newline at end of file diff --git a/NzbDrone.Core/Model/Notification/ProgressNotification.cs b/NzbDrone.Core/Model/Notification/ProgressNotification.cs index a95aa9610..80e8bc64a 100644 --- a/NzbDrone.Core/Model/Notification/ProgressNotification.cs +++ b/NzbDrone.Core/Model/Notification/ProgressNotification.cs @@ -27,7 +27,7 @@ namespace NzbDrone.Core.Model.Notification /// Gets or sets the title for this notification. /// /// The title. - public String Title { get; set; } + public String Title { get; private set; } /// /// Gets or sets the current status of this task. this field could be use to show the currently processing item in a long running task. diff --git a/NzbDrone.Core/Providers/DiskScanProvider.cs b/NzbDrone.Core/Providers/DiskScanProvider.cs index ed0170f4b..7885a3ba0 100644 --- a/NzbDrone.Core/Providers/DiskScanProvider.cs +++ b/NzbDrone.Core/Providers/DiskScanProvider.cs @@ -13,7 +13,7 @@ namespace NzbDrone.Core.Providers public class DiskScanProvider { private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - private static readonly string[] MediaExtentions = new[] { ".mkv", ".avi", ".wmv", ".mp4" }; + private static readonly string[] MediaExtentions = new[] { ".mkv", ".avi", ".wmv", ".mp4", ".mpg", ".mpeg", ".xvid", ".flv", ".mov", ".vob", ".ts", ".rm", ".rmvb", ".xvid", ".dvr-ms" }; private readonly DiskProvider _diskProvider; private readonly EpisodeProvider _episodeProvider; private readonly MediaFileProvider _mediaFileProvider; diff --git a/NzbDrone.Core/Providers/Indexer/Newzbin.cs b/NzbDrone.Core/Providers/Indexer/Newzbin.cs index 53075271b..51f539894 100644 --- a/NzbDrone.Core/Providers/Indexer/Newzbin.cs +++ b/NzbDrone.Core/Providers/Indexer/Newzbin.cs @@ -10,19 +10,21 @@ namespace NzbDrone.Core.Providers.Indexer { public class Newzbin : IndexerBase { - [Inject] + [Inject] public Newzbin(HttpProvider httpProvider, ConfigProvider configProvider) : base(httpProvider, configProvider) { } + private const string UrlParams = "feed=rss&hauth=1&ps_rb_language=4096"; + protected override string[] Urls { get { return new[] { - "http://www.newzbin.com/browse/category/p/tv?feed=rss&hauth=1" + "http://www.newzbin.com/browse/category/p/tv?" + UrlParams }; } } @@ -38,7 +40,7 @@ namespace NzbDrone.Core.Providers.Indexer protected override IList GetSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber) { - return new List { String.Format(@"http://www.newzbin.com/search/query/?q={0}+{1}x{2:00}&fpn=p&searchaction=Go&category=8&feed=rss&hauth=1", GetQueryTitle(seriesTitle), seasonNumber, episodeNumber) }; + return new List { String.Format(@"http://www.newzbin.com/search/query/?q={0}+{1}x{2:00}&fpn=p&searchaction=Go&category=8&{3}", GetQueryTitle(seriesTitle), seasonNumber, episodeNumber, UrlParams) }; } public override string Name diff --git a/NzbDrone.Core/Providers/Jobs/EpisodeSearchJob.cs b/NzbDrone.Core/Providers/Jobs/EpisodeSearchJob.cs index 45330756a..d011acc28 100644 --- a/NzbDrone.Core/Providers/Jobs/EpisodeSearchJob.cs +++ b/NzbDrone.Core/Providers/Jobs/EpisodeSearchJob.cs @@ -51,6 +51,8 @@ namespace NzbDrone.Core.Providers.Jobs Logger.Error("Unable to find an episode {0} in database", targetId); return; } + notification.CurrentMessage = "Searching for " + episode; + var series = episode.Series; diff --git a/NzbDrone.Core/Providers/NotificationProvider.cs b/NzbDrone.Core/Providers/NotificationProvider.cs index aebd6b114..85b32f22d 100644 --- a/NzbDrone.Core/Providers/NotificationProvider.cs +++ b/NzbDrone.Core/Providers/NotificationProvider.cs @@ -20,32 +20,44 @@ namespace NzbDrone.Core.Providers get { return new List(_basicNotifications.Values); } } - public virtual List GetProgressNotifications + public virtual List ProgressNotifications { get { + lock (_lock) + { + var activeNotification = + _progressNotification.Values.Where(p => p.Status == ProgressNotificationStatus.InProgress). + ToList(); - var activeNotification = _progressNotification.Values.Where(p => p.Status == ProgressNotificationStatus.InProgress).ToList(); + if (activeNotification.Count == 0) + { + //Get notifications that were recently done + activeNotification = + _progressNotification.Values.Where(p => p.CompletedTime >= DateTime.Now.AddSeconds(-3)). + OrderByDescending(c => c.CompletedTime).ToList(); - if (activeNotification.Count == 0) - { - //Get notifications that were recently done - activeNotification = _progressNotification.Values.Where(p => p.CompletedTime >= DateTime.Now.AddSeconds(-3)).OrderByDescending(c => c.CompletedTime).ToList(); + } + return activeNotification.ToList(); } - - return activeNotification.ToList(); } } public virtual void Register(ProgressNotification notification) { - _progressNotification.Add(notification.Id, notification); + lock (_lock) + { + _progressNotification.Add(notification.Id, notification); + } } public virtual void Register(BasicNotification notification) { - _basicNotifications.Add(notification.Id, notification); + lock (_lock) + { + _basicNotifications.Add(notification.Id, notification); + } } public virtual void Dismiss(Guid notificationId) diff --git a/NzbDrone.Core/Providers/RootDirProvider.cs b/NzbDrone.Core/Providers/RootDirProvider.cs index 408033174..fcd574f05 100644 --- a/NzbDrone.Core/Providers/RootDirProvider.cs +++ b/NzbDrone.Core/Providers/RootDirProvider.cs @@ -42,13 +42,6 @@ namespace NzbDrone.Core.Providers _database.Delete(rootDirId); } - public virtual void Update(RootDir rootDir) - { - ValidatePath(rootDir); - - _database.Update(rootDir); - } - private static void ValidatePath(RootDir rootDir) { if (String.IsNullOrWhiteSpace(rootDir.Path) || !Path.IsPathRooted(rootDir.Path)) diff --git a/NzbDrone.Core/Providers/TvDbProvider.cs b/NzbDrone.Core/Providers/TvDbProvider.cs index 0b9d121df..b9c6e555f 100644 --- a/NzbDrone.Core/Providers/TvDbProvider.cs +++ b/NzbDrone.Core/Providers/TvDbProvider.cs @@ -14,9 +14,6 @@ namespace NzbDrone.Core.Providers private const string TVDB_APIKEY = "5D2D188E86E07F4F"; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - private static readonly Regex CleanUpRegex = new Regex(@"((\s|^)the(\s|$))|((\s|^)and(\s|$))|[^a-z]", - RegexOptions.IgnoreCase | RegexOptions.Compiled); - private readonly TvdbHandler _handler; public TvDbProvider() @@ -48,6 +45,8 @@ namespace NzbDrone.Core.Providers //Fix American Dad's scene gongshow if (result != null && result.Id == 73141) { + result.Episodes = result.Episodes.Where(e => e.SeasonNumber == 0 || e.EpisodeNumber > 0).ToList(); + var seasonOneEpisodeCount = result.Episodes.Where(e => e.SeasonNumber == 1).Count(); var seasonOneId = result.Episodes.Where(e => e.SeasonNumber == 1).First().SeasonId; diff --git a/NzbDrone.Web/Content/2011.1.414/Black/editor.png b/NzbDrone.Web/Content/2011.1.414/Black/editor.png deleted file mode 100644 index 456f9c518..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Black/imagebrowser.png deleted file mode 100644 index 4b723a2f4..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/loading.gif b/NzbDrone.Web/Content/2011.1.414/Black/loading.gif deleted file mode 100644 index 1079b7a96..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-h-both.gif deleted file mode 100644 index 232f90be8..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-h-bottom.gif deleted file mode 100644 index ee02b418a..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-h-top.gif deleted file mode 100644 index 4de0f2760..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-hs-both.gif deleted file mode 100644 index 515720536..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-hs-bottom.gif deleted file mode 100644 index 4813fd384..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-hs-top.gif deleted file mode 100644 index 7f584111b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-v-both.gif deleted file mode 100644 index e9d26688b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-v-left.gif deleted file mode 100644 index 303b45a47..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-v-right.gif deleted file mode 100644 index 347349384..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-vs-both.gif deleted file mode 100644 index 20d90e193..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-vs-left.gif deleted file mode 100644 index ba4966bf7..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Black/slider-vs-right.gif deleted file mode 100644 index 88bf21c0b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Black/sprite-vertical.png deleted file mode 100644 index 6754eee18..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/sprite.png b/NzbDrone.Web/Content/2011.1.414/Black/sprite.png deleted file mode 100644 index 824376232..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Black/treeview-line.png deleted file mode 100644 index 631eb5594..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Black/treeview-nodes-rtl.png deleted file mode 100644 index 5f249c633..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Black/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Black/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Black/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/editor.png b/NzbDrone.Web/Content/2011.1.414/Default/editor.png deleted file mode 100644 index 311414557..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Default/imagebrowser.png deleted file mode 100644 index 11252f2d0..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/loading.gif b/NzbDrone.Web/Content/2011.1.414/Default/loading.gif deleted file mode 100644 index 67065a630..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-h-both.gif deleted file mode 100644 index 6bf978630..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-h-bottom.gif deleted file mode 100644 index e46ce524e..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-h-top.gif deleted file mode 100644 index ef76ca58d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-hs-both.gif deleted file mode 100644 index ff85fa71d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-hs-bottom.gif deleted file mode 100644 index 4ed265846..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-hs-top.gif deleted file mode 100644 index 7d8dbde5e..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-v-both.gif deleted file mode 100644 index e955d4f2b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-v-left.gif deleted file mode 100644 index 0ff99d3d8..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-v-right.gif deleted file mode 100644 index 6fea0636f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-vs-both.gif deleted file mode 100644 index cfb829dc0..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-vs-left.gif deleted file mode 100644 index b091822f5..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Default/slider-vs-right.gif deleted file mode 100644 index b8196da33..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Default/sprite-vertical.png deleted file mode 100644 index 122af8061..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/sprite.png b/NzbDrone.Web/Content/2011.1.414/Default/sprite.png deleted file mode 100644 index 2da960445..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Default/treeview-line.png deleted file mode 100644 index 0c03dc128..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Default/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Default/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Default/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Default/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/editor.png b/NzbDrone.Web/Content/2011.1.414/Forest/editor.png deleted file mode 100644 index a4bf2d17e..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Forest/imagebrowser.png deleted file mode 100644 index 34a8470b5..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/loading.gif b/NzbDrone.Web/Content/2011.1.414/Forest/loading.gif deleted file mode 100644 index b8453f0e9..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-h-both.gif deleted file mode 100644 index 7cc8e478e..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-h-bottom.gif deleted file mode 100644 index 229b17cbe..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-h-top.gif deleted file mode 100644 index bf144da03..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-hs-both.gif deleted file mode 100644 index bdd5cd3ff..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-hs-bottom.gif deleted file mode 100644 index 55070b65f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-hs-top.gif deleted file mode 100644 index 1c8edf4fd..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-v-both.gif deleted file mode 100644 index 024c90f2d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-v-left.gif deleted file mode 100644 index 5164a27c2..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-v-right.gif deleted file mode 100644 index bb5b43c4f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-vs-both.gif deleted file mode 100644 index 88668cca6..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-vs-left.gif deleted file mode 100644 index 991aa9df4..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Forest/slider-vs-right.gif deleted file mode 100644 index 34bee5711..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Forest/sprite-vertical.png deleted file mode 100644 index 5d3ec8033..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/sprite.png b/NzbDrone.Web/Content/2011.1.414/Forest/sprite.png deleted file mode 100644 index 5a3277917..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Forest/treeview-line.png deleted file mode 100644 index 0c03dc128..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Forest/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Forest/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Forest/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Forest/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/editor.png b/NzbDrone.Web/Content/2011.1.414/Hay/editor.png deleted file mode 100644 index 0af0168e9..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Hay/imagebrowser.png deleted file mode 100644 index 73e5c8c4b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/loading.gif b/NzbDrone.Web/Content/2011.1.414/Hay/loading.gif deleted file mode 100644 index f316fdcda..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-h-both.gif deleted file mode 100644 index 159ad706f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-h-bottom.gif deleted file mode 100644 index fe017fea0..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-h-top.gif deleted file mode 100644 index ce4da95bd..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-hs-both.gif deleted file mode 100644 index 01344b63e..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-hs-bottom.gif deleted file mode 100644 index 512c26179..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-hs-top.gif deleted file mode 100644 index 10fb36363..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-v-both.gif deleted file mode 100644 index d293ca856..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-v-left.gif deleted file mode 100644 index 2ab7af7fb..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-v-right.gif deleted file mode 100644 index 69d04a907..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-vs-both.gif deleted file mode 100644 index afb7963bf..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-vs-left.gif deleted file mode 100644 index 48bfb199d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Hay/slider-vs-right.gif deleted file mode 100644 index a19b1b9fe..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Hay/sprite-vertical.png deleted file mode 100644 index 6f83f17fb..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/sprite.png b/NzbDrone.Web/Content/2011.1.414/Hay/sprite.png deleted file mode 100644 index 504abdca6..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Hay/treeview-line.png deleted file mode 100644 index 0c03dc128..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Hay/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Hay/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Hay/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Hay/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/editor.png b/NzbDrone.Web/Content/2011.1.414/Office2007/editor.png deleted file mode 100644 index 3bb258c4f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Office2007/imagebrowser.png deleted file mode 100644 index f6dc921b4..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/loading.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/loading.gif deleted file mode 100644 index daec89e00..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-h-both.gif deleted file mode 100644 index 0f9e07aa9..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-h-bottom.gif deleted file mode 100644 index 2f5a254bf..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-h-top.gif deleted file mode 100644 index 92d55a3c2..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-hs-both.gif deleted file mode 100644 index 813ce8007..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-hs-bottom.gif deleted file mode 100644 index 9cb545c3f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-hs-top.gif deleted file mode 100644 index 846db8558..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-v-both.gif deleted file mode 100644 index a9ddf6890..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-v-left.gif deleted file mode 100644 index 7c4fbcc7b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-v-right.gif deleted file mode 100644 index 5bb2c46aa..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-vs-both.gif deleted file mode 100644 index 965a705c6..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-vs-left.gif deleted file mode 100644 index d082a8048..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Office2007/slider-vs-right.gif deleted file mode 100644 index 8be02c7ce..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Office2007/sprite-vertical.png deleted file mode 100644 index 8387e7720..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/sprite.png b/NzbDrone.Web/Content/2011.1.414/Office2007/sprite.png deleted file mode 100644 index 94c141a37..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Office2007/treeview-line.png deleted file mode 100644 index 0c03dc128..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Office2007/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2007/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Office2007/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2007/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/editor.png b/NzbDrone.Web/Content/2011.1.414/Office2010Black/editor.png deleted file mode 100644 index 5b5eff047..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Office2010Black/imagebrowser.png deleted file mode 100644 index 21c5123da..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/loading.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/loading.gif deleted file mode 100644 index daec89e00..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-h-both.gif deleted file mode 100644 index 90c9da6fa..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-h-bottom.gif deleted file mode 100644 index cc3fe0c92..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-h-top.gif deleted file mode 100644 index 083766154..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-hs-both.gif deleted file mode 100644 index f8309beac..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-hs-bottom.gif deleted file mode 100644 index 59525fa55..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-hs-top.gif deleted file mode 100644 index d9d7590a9..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-v-both.gif deleted file mode 100644 index cd455705c..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-v-left.gif deleted file mode 100644 index f633df233..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-v-right.gif deleted file mode 100644 index f2bcb6a2c..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-vs-both.gif deleted file mode 100644 index 1b253a2bb..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-vs-left.gif deleted file mode 100644 index 53469b465..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-vs-right.gif deleted file mode 100644 index b7eeafb9a..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Office2010Black/sprite-vertical.png deleted file mode 100644 index f95314d33..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/sprite.png b/NzbDrone.Web/Content/2011.1.414/Office2010Black/sprite.png deleted file mode 100644 index 9675b848c..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Office2010Black/treeview-line.png deleted file mode 100644 index 0c03dc128..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Office2010Black/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Office2010Black/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Office2010Black/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Office2010Black/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/editor.png b/NzbDrone.Web/Content/2011.1.414/Outlook/editor.png deleted file mode 100644 index 2f88b4a47..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Outlook/imagebrowser.png deleted file mode 100644 index a6ada8c8c..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/loading.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/loading.gif deleted file mode 100644 index daec89e00..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-h-both.gif deleted file mode 100644 index 239457d62..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-h-bottom.gif deleted file mode 100644 index 28efd8818..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-h-top.gif deleted file mode 100644 index c366f7995..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-hs-both.gif deleted file mode 100644 index db1646d4b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-hs-bottom.gif deleted file mode 100644 index 4a517d845..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-hs-top.gif deleted file mode 100644 index 0a2c03acb..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-v-both.gif deleted file mode 100644 index 5152a607b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-v-left.gif deleted file mode 100644 index cf44e307d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-v-right.gif deleted file mode 100644 index f08d556ae..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-vs-both.gif deleted file mode 100644 index 2701a731b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-vs-left.gif deleted file mode 100644 index 37f502900..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Outlook/slider-vs-right.gif deleted file mode 100644 index c4ad20ee2..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Outlook/sprite-vertical.png deleted file mode 100644 index 78a4605cc..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/sprite.png b/NzbDrone.Web/Content/2011.1.414/Outlook/sprite.png deleted file mode 100644 index 2bc5203d1..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Outlook/treeview-line.png deleted file mode 100644 index 0c03dc128..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Outlook/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Outlook/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Outlook/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Outlook/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/editor.png b/NzbDrone.Web/Content/2011.1.414/Simple/editor.png deleted file mode 100644 index bea6d33a0..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Simple/imagebrowser.png deleted file mode 100644 index 02ba545e6..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/loading.gif b/NzbDrone.Web/Content/2011.1.414/Simple/loading.gif deleted file mode 100644 index daec89e00..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-h-both.gif deleted file mode 100644 index d35e8214a..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-h-bottom.gif deleted file mode 100644 index ecbd4e5e7..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-h-top.gif deleted file mode 100644 index ae27de364..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-hs-both.gif deleted file mode 100644 index db1646d4b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-hs-bottom.gif deleted file mode 100644 index 4a517d845..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-hs-top.gif deleted file mode 100644 index 0a2c03acb..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-v-both.gif deleted file mode 100644 index ec1b6588d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-v-left.gif deleted file mode 100644 index d71cc4da0..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-v-right.gif deleted file mode 100644 index ee99d7a50..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-vs-both.gif deleted file mode 100644 index 2701a731b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-vs-left.gif deleted file mode 100644 index 37f502900..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Simple/slider-vs-right.gif deleted file mode 100644 index c4ad20ee2..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Simple/sprite-vertical.png deleted file mode 100644 index 8141effe0..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/sprite.png b/NzbDrone.Web/Content/2011.1.414/Simple/sprite.png deleted file mode 100644 index d41c7873f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Simple/treeview-line.png deleted file mode 100644 index 0c03dc128..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Simple/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Simple/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Simple/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Simple/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/editor.png b/NzbDrone.Web/Content/2011.1.414/Sitefinity/editor.png deleted file mode 100644 index 57a0ca917..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Sitefinity/imagebrowser.png deleted file mode 100644 index 02ba545e6..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/loading.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/loading.gif deleted file mode 100644 index 3c4d61eb1..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-h-both.gif deleted file mode 100644 index 3bbe4057c..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-h-bottom.gif deleted file mode 100644 index ff879a498..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-h-top.gif deleted file mode 100644 index c8c8c910d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-hs-both.gif deleted file mode 100644 index 61021f3b5..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-hs-bottom.gif deleted file mode 100644 index ff93f91c6..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-hs-top.gif deleted file mode 100644 index fe8a3c1be..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-v-both.gif deleted file mode 100644 index 3a4e57ba5..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-v-left.gif deleted file mode 100644 index 335fcfc77..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-v-right.gif deleted file mode 100644 index 810e4fc29..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-vs-both.gif deleted file mode 100644 index e8a38dd68..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-vs-left.gif deleted file mode 100644 index 731e96960..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-vs-right.gif deleted file mode 100644 index a21bf27f5..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Sitefinity/sprite-vertical.png deleted file mode 100644 index 2bfcefd4a..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/sprite.png b/NzbDrone.Web/Content/2011.1.414/Sitefinity/sprite.png deleted file mode 100644 index fbd6fc0cb..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Sitefinity/treeview-line.png deleted file mode 100644 index 0c03dc128..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Sitefinity/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sitefinity/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Sitefinity/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sitefinity/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/editor.png b/NzbDrone.Web/Content/2011.1.414/Sunset/editor.png deleted file mode 100644 index 3bdf9d607..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Sunset/imagebrowser.png deleted file mode 100644 index 73a42339b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/loading.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/loading.gif deleted file mode 100644 index f5c95b787..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-h-both.gif deleted file mode 100644 index bc921d1e3..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-h-bottom.gif deleted file mode 100644 index 94b44b95d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-h-top.gif deleted file mode 100644 index 9faebc90b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-hs-both.gif deleted file mode 100644 index e5506a95f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-hs-bottom.gif deleted file mode 100644 index 995dd62e5..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-hs-top.gif deleted file mode 100644 index 8b24a97f9..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-v-both.gif deleted file mode 100644 index 6c1587a07..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-v-left.gif deleted file mode 100644 index 58ed32ba5..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-v-right.gif deleted file mode 100644 index 86db7da6f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-vs-both.gif deleted file mode 100644 index ab59acd62..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-vs-left.gif deleted file mode 100644 index d68aa9d76..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Sunset/slider-vs-right.gif deleted file mode 100644 index 211fedb13..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Sunset/sprite-vertical.png deleted file mode 100644 index 21638be5c..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/sprite.png b/NzbDrone.Web/Content/2011.1.414/Sunset/sprite.png deleted file mode 100644 index 527b17ac7..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Sunset/treeview-line.png deleted file mode 100644 index 0c03dc128..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Sunset/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Sunset/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Sunset/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Sunset/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/editor.png b/NzbDrone.Web/Content/2011.1.414/Telerik/editor.png deleted file mode 100644 index 239e092e6..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Telerik/imagebrowser.png deleted file mode 100644 index e13cb4621..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/loading.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/loading.gif deleted file mode 100644 index 23580e300..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-h-both.gif deleted file mode 100644 index ec62f09f4..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-h-bottom.gif deleted file mode 100644 index e0ebc0086..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-h-top.gif deleted file mode 100644 index acff97812..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-hs-both.gif deleted file mode 100644 index 20f39b825..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-hs-bottom.gif deleted file mode 100644 index d69c80110..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-hs-top.gif deleted file mode 100644 index d11c7779d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-v-both.gif deleted file mode 100644 index 921c7982c..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-v-left.gif deleted file mode 100644 index 9ea9523e3..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-v-right.gif deleted file mode 100644 index af280582a..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-vs-both.gif deleted file mode 100644 index aefe3468e..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-vs-left.gif deleted file mode 100644 index e5e9554e2..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Telerik/slider-vs-right.gif deleted file mode 100644 index ede293b30..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Telerik/sprite-vertical.png deleted file mode 100644 index c67746b01..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/sprite.png b/NzbDrone.Web/Content/2011.1.414/Telerik/sprite.png deleted file mode 100644 index 7accb77c0..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Telerik/treeview-line.png deleted file mode 100644 index 0c03dc128..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Telerik/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Telerik/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Telerik/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Telerik/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/editor.png b/NzbDrone.Web/Content/2011.1.414/Vista/editor.png deleted file mode 100644 index c66c631ff..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Vista/imagebrowser.png deleted file mode 100644 index 700fc0f2f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/loading.gif b/NzbDrone.Web/Content/2011.1.414/Vista/loading.gif deleted file mode 100644 index 0bf1b7d04..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-h-both.gif deleted file mode 100644 index ec62f09f4..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-h-bottom.gif deleted file mode 100644 index e0ebc0086..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-h-top.gif deleted file mode 100644 index acff97812..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-hs-both.gif deleted file mode 100644 index 20f39b825..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-hs-bottom.gif deleted file mode 100644 index d69c80110..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-hs-top.gif deleted file mode 100644 index d11c7779d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-v-both.gif deleted file mode 100644 index 921c7982c..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-v-left.gif deleted file mode 100644 index 9ea9523e3..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-v-right.gif deleted file mode 100644 index af280582a..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-vs-both.gif deleted file mode 100644 index aefe3468e..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-vs-left.gif deleted file mode 100644 index e5e9554e2..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Vista/slider-vs-right.gif deleted file mode 100644 index ede293b30..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Vista/sprite-vertical.png deleted file mode 100644 index cf27f54a6..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Vista/sprite.png b/NzbDrone.Web/Content/2011.1.414/Vista/sprite.png deleted file mode 100644 index f1172d75d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Vista/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/editor.png b/NzbDrone.Web/Content/2011.1.414/Web20/editor.png deleted file mode 100644 index 23d13e030..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Web20/imagebrowser.png deleted file mode 100644 index 05056e6ac..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/loading.gif b/NzbDrone.Web/Content/2011.1.414/Web20/loading.gif deleted file mode 100644 index 070505732..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-h-both.gif deleted file mode 100644 index b9a27e9d1..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-h-bottom.gif deleted file mode 100644 index 5637f32b0..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-h-top.gif deleted file mode 100644 index 123346eb9..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-hs-both.gif deleted file mode 100644 index 665815bfd..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-hs-bottom.gif deleted file mode 100644 index 028d077c3..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-hs-top.gif deleted file mode 100644 index 39f034e25..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-v-both.gif deleted file mode 100644 index 7ca305277..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-v-left.gif deleted file mode 100644 index 1f372d91f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-v-right.gif deleted file mode 100644 index ccef0062d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-vs-both.gif deleted file mode 100644 index 959904222..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-vs-left.gif deleted file mode 100644 index 127ac2ecd..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Web20/slider-vs-right.gif deleted file mode 100644 index 4c4cf1702..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Web20/sprite-vertical.png deleted file mode 100644 index f1c9ad0ad..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/sprite.png b/NzbDrone.Web/Content/2011.1.414/Web20/sprite.png deleted file mode 100644 index 35c32b88d..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/Web20/treeview-line.png deleted file mode 100644 index 0c03dc128..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/Web20/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Web20/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/Web20/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Web20/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/editor.png b/NzbDrone.Web/Content/2011.1.414/WebBlue/editor.png deleted file mode 100644 index fdc2239eb..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/WebBlue/imagebrowser.png deleted file mode 100644 index 02ab51d9b..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/loading.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/loading.gif deleted file mode 100644 index 9ed7d0c53..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-h-both.gif deleted file mode 100644 index bfff5398c..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-h-bottom.gif deleted file mode 100644 index ef225da1c..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-h-top.gif deleted file mode 100644 index 55ac91b64..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-hs-both.gif deleted file mode 100644 index 4cded41db..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-hs-bottom.gif deleted file mode 100644 index b824e6e06..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-hs-top.gif deleted file mode 100644 index 78cf21887..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-v-both.gif deleted file mode 100644 index 7538b4727..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-v-left.gif deleted file mode 100644 index 06c702f30..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-v-right.gif deleted file mode 100644 index 119c3c072..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-vs-both.gif deleted file mode 100644 index bbe0f3260..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-vs-left.gif deleted file mode 100644 index 3ced62c71..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-vs-right.gif deleted file mode 100644 index 42c87e07f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/WebBlue/sprite-vertical.png deleted file mode 100644 index ee03f9a2f..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/sprite.png b/NzbDrone.Web/Content/2011.1.414/WebBlue/sprite.png deleted file mode 100644 index daa8432d0..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/treeview-line.png b/NzbDrone.Web/Content/2011.1.414/WebBlue/treeview-line.png deleted file mode 100644 index 631eb5594..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/treeview-line.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/treeview-nodes-rtl.png b/NzbDrone.Web/Content/2011.1.414/WebBlue/treeview-nodes-rtl.png deleted file mode 100644 index 594e4a208..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/treeview-nodes-rtl.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/WebBlue/treeview-nodes.png b/NzbDrone.Web/Content/2011.1.414/WebBlue/treeview-nodes.png deleted file mode 100644 index f49805663..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/WebBlue/treeview-nodes.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/editor.png b/NzbDrone.Web/Content/2011.1.414/Windows7/editor.png deleted file mode 100644 index 18f9f0dce..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/editor.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/imagebrowser.png b/NzbDrone.Web/Content/2011.1.414/Windows7/imagebrowser.png deleted file mode 100644 index ca9a253be..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/imagebrowser.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/loading.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/loading.gif deleted file mode 100644 index c5463250e..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/loading.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-h-both.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-h-both.gif deleted file mode 100644 index 3bb602495..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-h-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-h-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-h-bottom.gif deleted file mode 100644 index 0985bbcd5..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-h-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-h-top.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-h-top.gif deleted file mode 100644 index 4c1b103eb..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-h-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-hs-both.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-hs-both.gif deleted file mode 100644 index 0cc2381dc..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-hs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-hs-bottom.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-hs-bottom.gif deleted file mode 100644 index c55ebd016..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-hs-bottom.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-hs-top.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-hs-top.gif deleted file mode 100644 index a89c03bd8..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-hs-top.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-v-both.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-v-both.gif deleted file mode 100644 index 19fbfaab4..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-v-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-v-left.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-v-left.gif deleted file mode 100644 index 5f9ba6afd..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-v-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-v-right.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-v-right.gif deleted file mode 100644 index b8dfb0219..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-v-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-vs-both.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-vs-both.gif deleted file mode 100644 index 0f7196f15..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-vs-both.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-vs-left.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-vs-left.gif deleted file mode 100644 index 5d908113c..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-vs-left.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-vs-right.gif b/NzbDrone.Web/Content/2011.1.414/Windows7/slider-vs-right.gif deleted file mode 100644 index e68a3237e..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/slider-vs-right.gif and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/sprite-vertical.png b/NzbDrone.Web/Content/2011.1.414/Windows7/sprite-vertical.png deleted file mode 100644 index 696e97d76..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/sprite-vertical.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/Windows7/sprite.png b/NzbDrone.Web/Content/2011.1.414/Windows7/sprite.png deleted file mode 100644 index 0a96b1364..000000000 Binary files a/NzbDrone.Web/Content/2011.1.414/Windows7/sprite.png and /dev/null differ diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.black.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.black.min.css deleted file mode 100644 index a79520896..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.black.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#080808;background-color:#4f4f4f;}.t-header,.t-grid-header{border-color:#080808;background:#050505 url('Black/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Black/sprite.png');}.t-editor .t-tool-icon{background-image:url('Black/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-32px -162px;}.t-numerictextbox .t-arrow-down{background-position:-32px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Black/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#fff;}.t-other-month .t-link{color:#6f6f6f;}.t-group,.t-content,.t-editable-area{border-color:#080808;background-color:#4f4f4f;}.t-colorpicker .t-arrow-down{border-color:#080808;}.t-separator{border-color:#323232;background-color:#080808;}.t-alt{background-color:#494949;}.t-state-default{border-color:#080808;}.t-active-filter{background-color:#363636;}.t-state-hover,.t-state-hover .t-link{color:#9eda29;}.t-state-hover,.t-state-hover:hover{background-color:#2c2c2c;border-color:#080808;}.t-state-active{background-color:#4f4f4f;border-color:#080808;}.t-state-selected{background:#1c1c1c;border-color:#000;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#080808;color:#fff;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#050505 url('Black/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#131313;color:#9eda29;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#787878;}.t-header .t-state-disabled{border-color:#4f4f4f;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#080808;background-color:#2c2c2c;}.t-grid td{border-color:#454545;border-right:1px solid #454545;}.t-grouping-row td{background:#4f4f4f url('Black/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#2e2e2e;border-color:#080808 #2e2e2e;}.t-group-footer td{background-color:#2e2e2e;border-color:#080808;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#2e2e2e;border-color:#080808;}.t-grouping-header .t-group-indicator{color:#333;border-color:#666;}.t-grouping-dropclue{background:url('Black/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#4f4f4f;}.t-drag-clue{color:#fff;}.t-treeview .t-drop-clue{background-image:url('Black/sprite.png');background-position:0 -358px;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#000;}.t-filter-options,.t-menu .t-group{-moz-box-shadow:2px 2px 2px #333;-webkit-box-shadow:2px 2px 2px #333;box-shadow:2px 2px 2px #333;}.t-calendar th{background-color:#383838;border-color:#202020;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Black/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Black/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Black/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-window{-moz-box-shadow:0 0 5px 2px #222;-webkit-box-shadow:0 0 5px 2px #222;box-shadow:0 0 5px 2px #222;}.t-editor-button .t-state-hover{border-color:#565656 #111 #111 #565656;background-color:#232323;}.t-editor-button .t-state-active{border-color:#030303 #1f1f1f #1f1f1f #030303;background-color:#050505;}.t-slider .t-draghandle{background-image:url('Black/sprite.png');color:#080808;}.t-slider-track{border-color:#4a4a4a;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Black/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Black/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Black/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Black/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Black/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Black/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Black/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Black/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Black/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Black/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Black/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Black/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Black/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Black/slider-v-right.gif');}.t-tooltip{background:#050505 0 -560px repeat-x url('Black/sprite.png');}.t-callout{background-image:url('Black/sprite.png');}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#262628;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Black/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Black/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#080808;}.t-dropzone-hovered,.t-upload-files{background-color:#2c2c2c;}.t-dropzone em{color:#848484;}.t-progress,.t-progress-status{background-image:url('Black/sprite.png');}.t-progress{background-position:0 -465px;border-color:#4a4a4a #474747;}.t-progress-status{background-position:0 -472px;border-color:#9eda29 transparent #456408;}.t-imagebrowser .t-content{background:#3d3d3d;}.t-breadcrumbs .t-link{color:#000;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label,.t-tiles-arrange{color:#a1a1a1;}.t-tiles-toolbar{border-color:#080808;}.t-tiles-toolbar .t-upload .t-button,.t-tiles-arrange a{color:#fff;}.t-tiles{border-color:#222;background:#4f4f4f;}.t-tile{border-color:#4f4f4f;background:0 100px repeat-x url('Black/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#080808;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#080808;background-position:0 -100px;}.t-tiles-toolbar,.t-tile .t-folder{background-image:url('Black/imagebrowser.png');}.t-tile em,.t-tile .t-filesize,.t-tile-empty strong{color:#7d7d7d;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.common.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.common.min.css deleted file mode 100644 index 16e247505..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.common.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-reset{margin:0;padding:0;border:0;outline:0;text-decoration:none;font-size:100%;list-style:none;}.t-floatwrap:after{content:"";display:block;clear:both;visibility:hidden;height:0;overflow:hidden;}.t-floatwrap{display:inline-block;}.t-floatwrap{display:block;}.t-widget,.t-widget .t-input,.t-widget .text-box,.t-button{font-size:100%;}.t-widget{border-width:1px;border-style:solid;}.t-link{cursor:pointer;outline:none;}html body .t-button{text-decoration:none;}.t-button{display:inline-block;margin:0;padding:2px 6px;border-width:1px;border-style:solid;font-family:inherit;font-size:100%;line-height:1.435;text-align:center;cursor:pointer;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}*+html .t-button{display:inline;zoom:1;}* html .t-button{display:inline;zoom:1;}*+html .t-button{overflow:visible;margin-right:4px;}* html .t-button{overflow:visible;margin-right:4px;}*+html .t-button-expand{margin-right:0;}* html .t-button-expand{margin-right:0;}*+html a.t-button{line-height:1.6;padding-left:7px;padding-right:7px;}* html a.t-button{line-height:1.6;padding-left:7px;padding-right:7px;}.t-button-icontext{line-height:1.453;}a.t-button{-moz-padding-start:9px;-moz-padding-end:9px;}a.t-button-expand{display:block;}button.t-button-expand{width:100%;}body .t-button-icon{padding-left:4px;padding-right:4px;}button.t-button-icon{-moz-padding-start:1px;-moz-padding-end:1px;}*+html a.t-button-icon{padding-left:5px;padding-right:5px;}* html a.t-button-icon{padding-left:5px;padding-right:5px;}.t-button-icontext{padding-right:8px;overflow:visible;}a.t-button-icontext{-moz-padding-end:11px;}.t-button-icontext .t-icon{margin:0 3px 0 -3px;vertical-align:top;}*+html .t-button-icontext .t-icon{margin-right:4px;}* html .t-button-icontext .t-icon{margin-right:4px;}html body .t-button-bare{background:none!important;border-width:0;}.t-icon,.t-editor-button .t-tool-icon{background-color:transparent;background-repeat:no-repeat;}.t-header .t-link{text-decoration:none;}.t-state-disabled,.t-state-disabled .t-link{cursor:default;outline:none;}.t-icon,.t-sprite,.t-editor-button .t-tool-icon{display:inline-block;width:16px;height:16px;overflow:hidden;font-size:0;line-height:0;text-indent:-3333px;text-align:center;vertical-align:middle;}* html .t-icon,* html .t-sprite,* html .t-editor-button .t-tool-icon{display:inline;zoom:1;}* html .t-icon,.t-sprite{text-indent:0;}*+html .t-icon,.t-sprite{text-indent:0;}.t-image{border:0;}.t-state-empty{font-style:italic;}div.t-window{display:inline-block;*display:inline;zoom:1;z-index:10001;position:absolute;border-width:0;border-width:5px\9;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:0 0 5px 2px #aaa;-webkit-box-shadow:0 0 5px 2px #aaa;box-shadow:0 0 5px 2px #aaa;}:root .t-window{border-width:0;}.t-window-titlebar{padding:.4em 0;font-size:1.2em;line-height:1.2em;white-space:nowrap;border-bottom-width:1px;border-bottom-style:solid;-moz-border-radius-topleft:5px;-moz-border-radius-topright:5px;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;}.t-window-title{cursor:default;position:absolute;text-overflow:ellipsis;overflow:hidden;left:.5em;right:.5em;}.t-window-title .t-image{margin:0 5px 0 0;vertical-align:middle;}div.t-window-content{padding:.4em .5em;overflow:auto;position:relative;-moz-border-radius-bottomleft:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-left-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;}.t-window-titlebar .t-window-actions{position:absolute;right:.5em;top:0;padding-top:.3em;white-space:nowrap;}.t-window-titlebar .t-window-action{width:16px;height:16px;padding:2px;text-decoration:none;vertical-align:middle;display:inline-block;*display:inline;zoom:1;opacity:.7;filter:alpha(opacity=70);}.t-window-titlebar .t-state-hover{border-width:1px;border-style:solid;padding:1px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;opacity:1;filter:alpha(opacity=100);}.t-window-action .t-icon{margin:0;vertical-align:top;}.t-window .t-resize-handle{position:absolute;z-index:1;background-color:#fff;opacity:0;filter:alpha(opacity=0);zoom:1;line-height:6px;font-size:0;}.t-resize-n{top:-3px;left:0;width:100%;height:6px;cursor:n-resize;}.t-resize-e{top:0;right:-3px;width:6px;height:100%;cursor:e-resize;}.t-resize-s{bottom:-3px;left:0;width:100%;height:6px;cursor:s-resize;}.t-resize-w{top:0;left:-3px;width:6px;height:100%;cursor:w-resize;}.t-resize-se{bottom:-3px;right:-3px;width:16px;height:16px;cursor:se-resize;}.t-resize-sw{bottom:-3px;left:-3px;width:6px;height:6px;cursor:sw-resize;}.t-resize-ne{top:-3px;right:-3px;width:6px;height:6px;cursor:ne-resize;}.t-resize-nw{top:-3px;left:-3px;width:6px;height:6px;cursor:nw-resize;}.t-overlay{width:100%;height:100%;position:fixed;top:0;left:0;background-color:#000;filter:alpha(opacity=50);opacity:.5;z-index:10000;}.t-window .t-overlay{background-color:#fff;opacity:0;filter:alpha(opacity=0);position:absolute;width:100%;height:100%;}.t-window .t-widget{z-index:10002;}.t-tabstrip{margin:0;padding:0;zoom:1;}.t-tabstrip .t-tabstrip-items{padding:0 .3em;}.t-tabstrip-items .t-item,.t-panelbar .t-tabstrip-items .t-item{list-style-type:none;vertical-align:top;display:inline-block;*display:inline;zoom:1;border-width:1px 1px 0;border-style:solid;margin:.1em .3em 0 0;padding:0;position:relative;-moz-border-radius-topleft:5px;-moz-border-radius-topright:5px;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;}.t-tabstrip-items .t-state-active,.t-panelbar .t-tabstrip-items .t-state-active{padding-bottom:1px;margin-bottom:-1px;}.t-tabstrip-items .t-link,.t-panelbar .t-tabstrip-items .t-link{padding:.3em .9em;display:inline-block;*display:inline;zoom:1;border-bottom-width:0;outline:0;}.t-tabstrip-items .t-icon,.t-panelbar .t-tabstrip-items .t-icon{margin:-1px 4px 0 -3px;vertical-align:top;}.t-tabstrip-items .t-item .t-image,.t-tabstrip-items .t-item .t-sprite,.t-panelbar .t-tabstrip-items .t-item .t-image,.t-panelbar .t-tabstrip-items .t-item .t-sprite{vertical-align:middle;margin:-3px 3px 0 -6px;}* html .t-tabstrip-items .t-item .t-image,* html .t-tabstrip-items .t-item .t-sprite{vertical-align:top;margin-top:-1px;}*+html .t-tabstrip-items .t-item .t-image,*+html .t-tabstrip-items .t-item .t-sprite{vertical-align:top;margin-top:-1px;}.t-tabstrip .t-content,.t-panelbar .t-tabstrip .t-content{border-width:1px;border-style:solid;margin:0 .3em .3em;padding:.3em 1em;display:none;position:static;zoom:1;}.t-panelbar{zoom:1;}.t-panelbar .t-item{list-style-type:none;display:block;zoom:1;margin:0;top:0;border-width:0;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;}.t-panelbar .t-image,.t-panelbar .t-sprite{vertical-align:middle;margin-right:5px;margin-top:4px;float:left;}.t-panelbar .t-group .t-image,.t-panelbar .t-group .t-sprite{margin-top:1px;}.t-panelbar .t-link{line-height:2.05em;padding:0 1em;border-bottom:1px solid;display:block;position:relative;text-decoration:none;zoom:1;}.t-panelbar-expand,.t-panelbar-collapse{position:absolute;top:5px;right:2px;}.t-panelbar .t-group,.t-panelbar .t-content{position:relative;zoom:1;padding:0;margin:0;border-bottom-width:1px;border-bottom-style:solid;}.t-panelbar .t-group .t-link{line-height:1.7em;border-bottom:0;font-size:.95em;}.t-panelbar .t-group .t-arrow-up,.t-panelbar .t-group .t-arrow-down{top:2px;}.t-panelbar .t-group .t-group .t-link{padding-left:2em;}.t-panelbar .t-last .t-link{border-bottom:0;}.t-panelbar .t-group .t-group{border-bottom:0;}.t-tabstrip .t-panelbar .t-content{display:block;}.t-menu{cursor:default;}.t-menu,.t-menu .t-group{list-style:none;padding:0;margin:0;zoom:1;}.t-menu .t-group .t-link{padding-right:2em;}.t-menu .t-item{position:relative;display:inline-block;*display:inline;zoom:1;border-width:0 1px 0 0;border-style:solid;vertical-align:top;}.t-menu-vertical .t-item{display:block;border-width:0;}.t-menu .t-image,.t-menu .t-sprite{margin:0 4px 0 -4px;vertical-align:top;}.t-menu .t-link{text-decoration:none;padding:.25em .97em;display:block;}.t-menu .t-group{display:none;white-space:nowrap;border-style:solid;border-width:1px;overflow:visible;-moz-box-shadow:2px 2px 2px #aaa;-webkit-box-shadow:2px 2px 2px #aaa;box-shadow:2px 2px 2px #aaa;}.t-menu .t-group .t-item{display:block;border-width:0;}.t-menu .t-group .t-link{zoom:1;}.t-menu .t-arrow-down{margin-left:2px;margin-right:-10px;vertical-align:top;}.t-menu .t-arrow-next{position:absolute;right:0;top:3px;}.t-menu .t-animation-container,.t-menu .t-group{left:-1px;position:absolute;}.t-menu .t-animation-container .t-animation-container,.t-menu .t-group .t-group{left:100%;top:-1px;}.t-menu-vertical .t-animation-container,.t-menu-vertical .t-group{left:100%;top:-1px;}.t-menu .t-animation-container .t-group{left:auto;top:auto;}.t-grid{position:relative;zoom:1;}.t-grid table{width:100%;border-collapse:separate;empty-cells:show;border:0;}.t-grid-header .t-header{text-align:left;}.t-grid-header .t-header,.t-grid-header .t-last-header{padding:.3em .6em;border-width:0 1px 1px 0;border-style:solid;font-weight:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.t-grid-header .t-last-header{border-right-width:0;}.t-grid-header .t-header .t-link{line-height:18px;height:18px;display:block;margin:-.3em -.6em;padding:.3em 2.4em .3em .6em;border:0;}.t-grid-header .t-header .t-icon{position:static;}.t-grid .t-state-hover{cursor:pointer;}.t-grid td{padding:.25em .6em;border:0;vertical-align:middle;line-height:1.6em;overflow:hidden;text-overflow:ellipsis;}.t-grid .t-last{border-right-width:0;border-bottom-width:0;}.t-grid-header-wrap,.t-grid-footer-wrap{position:relative;overflow:hidden;width:100%;zoom:1;}div.t-grid-header,div.t-grid-footer{padding-right:17px;zoom:1;border-bottom-width:1px;border-bottom-style:solid;}div.t-grid-header .t-header,div.t-grid-header .t-last-header{border-bottom-width:0;}div.t-grid-header .t-last-header{border-right-width:1px;}.t-grid-content{position:relative;overflow:auto;overflow-x:auto;overflow-y:scroll;width:100%;zoom:1;}.t-grid-header table,.t-grid-content table,.t-grid-footer table{table-layout:fixed;}* html .t-grid-content table{width:auto;}*+html .t-grid-content table{width:auto;}.t-grid-pager{padding:.2em .6em;line-height:1.8em;overflow:auto;}.t-grid-top{border-width:0 0 1px;border-style:solid;}.t-grid-bottom{border-width:1px 0 0;border-style:solid;}* html .t-grid-pager input{vertical-align:middle;}*+html .t-grid-pager input{vertical-align:middle;}.t-grid .t-pager,.t-grid .t-status,.t-grid .t-status-text,.t-pager .t-numeric,.t-pager .t-page-i-of-n,.t-pager .t-link,.t-pager span,.t-pager input,.t-pager .t-page-size,.t-grouping-row p{display:inline-block;*display:inline;zoom:1;vertical-align:middle;}.t-pager .t-page-size{line-height:1.2em;}.t-footer-template td{border-width:1px 1px 0 0;border-style:solid;}.t-group-footer td,.t-group-footer .t-last{border-width:1px 0;border-style:solid;}.t-grid-footer{border-style:solid;border-width:1px 0 0;}.t-grid-footer td{border-top-width:0;}.t-grid .t-status{float:left;margin:-.2em .6em -.2em -.6em;padding:.2em .6em;height:1.85em;border-right-width:1px;border-right-style:solid;}.t-grid .t-pager{float:left;cursor:default;}.t-grid .t-status-text{float:right;margin-right:.2em;}.t-pager .t-link{text-decoration:none;padding:1px;margin-top:.2em;border:0;line-height:16px;}.t-pager .t-state-active,.t-pager .t-state-hover{padding:0;border-width:1px;border-style:solid;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}.t-pager span,.t-pager .t-link{vertical-align:top;}.t-pager .t-numeric,.t-pager .t-page-i-of-n{margin:0 7px;vertical-align:top;}.t-numeric .t-link,.t-numeric .t-state-active{margin-top:0;padding:0 5px;line-height:22px;vertical-align:top;}.t-numeric .t-state-active,.t-numeric .t-state-hover{padding:0 4px;line-height:20px;}.t-page-i-of-n input{width:2em;vertical-align:baseline;font-size:1em;}.t-grid-pager .t-status .t-icon{vertical-align:top;margin-top:3px;}.t-grid-filter{float:right;height:18px;padding:.3em .2em;position:relative;display:inline-block;*display:inline;zoom:1;margin:-1.8em -.6em -.3em 3px;margin-top:-.3em\9;}.t-link+.t-grid-filter{margin-top:-1.8em\9;}*+html .t-grid .t-grid-filter{margin-top:-1.8em;}.t-grid-filter .t-icon{vertical-align:top;}.t-grid .t-animation-container{position:absolute;}.t-filter-options{position:absolute;border-width:1px;border-style:solid;padding:3px;width:148px;-moz-box-shadow:2px 2px 2px #aaa;-webkit-box-shadow:2px 2px 2px #aaa;box-shadow:2px 2px 2px #aaa;}.t-filter-options .t-filter-help-text,.t-filter-options select,.t-filter-options input,.t-filter-options .t-button,.t-filter-options .t-datepicker{display:block;margin-bottom:4px;}.t-filter-options .t-button{width:145px;}.t-filter-options select{width:148px;}.t-filter-options input{width:142px;}.t-filter-options .t-datepicker{width:100%;}.t-filter-options .t-filter-button{margin-bottom:0;}.t-grouping-row .t-icon{margin:0 4px;}.t-grouping-row p{padding:0 .6em;margin-left:-.6em;}.t-grid td.t-group-cell,.t-grid td.t-hierarchy-cell{border-right:0;}.t-grid .t-group-col,.t-grid .t-hierarchy-col{width:30px;}.t-grouping-header,.t-grouping-dropclue{height:24px;line-height:24px;}.t-grouping-dropclue{position:absolute;width:6px;}.t-grouping-header .t-group-indicator{display:inline-block;*display:inline;zoom:1;border-width:1px;border-style:solid;line-height:1.5em;padding:.15em .15em .15em .4em;margin:0 3px;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.t-grouping-header .t-link{text-decoration:none;display:inline-block;*display:inline;zoom:1;line-height:normal;padding:0;border-style:none;}.t-grouping-header .t-button{padding:0;border:0;background:transparent;line-height:1;}.t-grouping-header .t-link .t-icon{margin:0 0 0 -3px;}.t-grouping-header .t-button .t-icon{margin:0 0 0 3px;}.t-grouping-header a,.t-grouping-header .t-button{display:inline-block;*display:inline;zoom:1;vertical-align:middle;}.t-dirty{width:0;height:0;vertical-align:top;position:absolute;padding:0;margin:-0.45em 0 0 -0.6em;overflow:hidden;border-width:3px;border-style:solid;border-color:#f00 transparent transparent #f00;}* html .t-dirty{border-color:#f00 pink pink #f00;filter:chroma(color=pink);}.t-grouping-header,.t-grid-toolbar{cursor:default;margin:0;padding:.25em;}.t-grouping-header{border-bottom-width:1px;border-bottom-style:solid;}.t-grid .t-edit-container{padding:0;border-right:0;}.t-edit-form{padding:0;margin:0;}.t-edit-form td{border-top:0;border-bottom:0;}.t-grid-edit-row .text-box,.t-grid-edit-row .t-numerictextbox,.t-grid-edit-row .t-datepicker{vertical-align:middle;width:5em;max-width:90%;min-width:90%;margin:-.4em -.3em -.15em;}.t-grid-edit-row .t-dropdown,.t-grid-edit-row .t-combobox{width:5em;max-width:90%;min-width:90%;line-height:normal;margin:-.1em -.3em -.45em;}* html .t-grid .text-box{width:90%;}.t-edit-form-container{position:relative;}.t-grid .field-validation-error{display:block;}.t-grid .input-validation-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-grid-toolbar .t-button{vertical-align:middle;}.t-grid-actions{display:inline-block;}* html .t-grid-actions{display:inline;zoom:1;vertical-align:bottom;}*+html .t-grid-actions{display:inline;zoom:1;vertical-align:bottom;}.t-grid .t-button,.t-edit-form .t-button{margin:0 .2em;}.t-grid tbody .t-button{min-width:64px;}.t-grid tbody button.t-button,#ie8#skips{min-width:78px;}*+html .t-grid tbody a.t-button{min-width:62px;}.t-grid tbody a.t-button{-moz-padding-start:6px;-moz-padding-end:6px;}.t-grid tbody a.t-button-icon{-moz-padding-start:4px;-moz-padding-end:4px;}html body .t-grid tbody .t-button-icon{min-width:0;width:auto;}.t-detail-row{position:relative;}.t-grid .t-detail-cell{overflow:visible;}.t-grid-resize-indicator{position:absolute;width:2px;background-color:#aaa;}.t-grid .t-resize-handle{cursor:col-resize;position:absolute;height:25px;}.t-autocomplete{background-position:100% 50%!important;}.t-combobox,.t-dropdown,.t-selectbox{display:inline-block;*display:inline;zoom:1;position:relative;overflow:hidden;white-space:nowrap;width:150px;border-width:0;}*+html .t-combobox{overflow:visible;}* html .t-combobox{overflow:visible;}.t-dropdown-wrap,.t-picker-wrap{position:relative;display:block;cursor:default;}.t-picker-wrap{padding:0 25px 0 0;}.t-dropdown-wrap{padding-right:16px;border-width:1px;border-style:solid;}.t-combobox>.t-dropdown-wrap{padding-right:22px;}* html .t-combobox .t-dropdown-wrap{height:20px;}* html .t-picker-wrap{height:20px;padding-right:20px;}.t-picker-wrap .t-input,.t-combobox .t-input{vertical-align:top;width:100%;}.t-combobox .t-input{outline:0;border:0;}*+html .t-combobox .t-input{margin:-1px 0;}* html .t-combobox .t-input{margin:-1px 0;}* html{position:absolute;top:0;}.t-picker-wrap .t-select,.t-dropdown-wrap .t-select{text-decoration:none;vertical-align:top;display:inline-block;*display:inline;zoom:1;cursor:default;position:absolute;top:0;right:0;}* html .t-picker-wrap .t-select,* html .t-dropdown-wrap .t-select{top:1px;right:1px;}.t-combobox .t-select{border-width:0 0 0 1px;border-style:solid;border-color:inherit;}.t-combobox .t-icon{margin-top:1px;}.t-dropdown .t-select,.t-selectbox .t-select{border:0;text-decoration:none;font:inherit;color:inherit;overflow:hidden;cursor:default;}.t-dropdown .t-input,.t-selectbox .t-input{overflow:hidden;display:block;text-overflow:ellipsis;padding:.2em 0 .2em 3px;}.t-picker-wrap .t-select,.t-dropdown-wrap .t-select{position:absolute;right:0;top:0;}.t-picker-wrap .t-icon,.t-dropdown-wrap .t-icon{vertical-align:top;margin-top:2px;}.t-combobox .t-input{height:18px;line-height:18px;padding:1px 3px;border:0;margin:0;}.t-picker-wrap .t-select,.t-dropdown-wrap .t-select{height:20px;line-height:20px;}.t-popup{border-width:1px;border-style:solid;}.t-popup .t-item{padding:1px 5px 1px 3px;cursor:default;}.t-calendar{display:inline-block;*display:inline;zoom:1;width:203px;position:relative;overflow:hidden;}.t-calendar .t-link{text-decoration:none;}.t-calendar .t-action-link{text-decoration:underline;}.t-calendar .t-header{padding:.4em 0;text-align:center;position:relative;zoom:1;}.t-calendar .t-nav-prev,.t-calendar .t-nav-next{position:absolute;top:.3em;}.t-calendar .t-nav-prev{left:1%;}.t-calendar .t-nav-next{right:1%;}.t-calendar .t-content{text-align:right;display:table;width:100%;height:169px;table-layout:fixed;border-style:none;margin:0;padding:0;}*+html .t-calendar .t-content{display:block;}* html .t-calendar .t-content{display:block;}.t-calendar .t-animation-container .t-content{height:100%;}.t-calendar .t-nav-fast{display:inline-block;*display:inline;zoom:1;width:75%;}.t-calendar .t-nav-fast .t-icon{vertical-align:top;}.t-calendar th{border-bottom-style:solid;border-bottom-width:1px;font-weight:normal;cursor:default;}.t-calendar td{cursor:pointer;padding:1px;}.t-calendar .t-state-focus{border-width:1px;border-style:dotted;padding:0;}.t-calendar .t-content .t-link{display:block;overflow:hidden;position:relative;}.t-calendar th,.t-calendar .t-content .t-link{padding:.25em .45em .3em .1em;}.t-calendar .t-meta-view .t-link{padding:.25em 0 .3em;text-align:center;}.t-timepicker,.t-datetimepicker,.t-datepicker{border:0;white-space:nowrap;width:8.5em;}.t-datetimepicker{width:13em;}div.t-timepicker,div.t-datetimepicker,div.t-datepicker{background-color:transparent;}.t-datetimepicker .t-picker-wrap{padding-right:44px;}* html .t-datetimepicker .t-picker-wrap{padding-right:40px;}.t-datetimepicker .t-icon-calendar{margin-right:3px;}.t-picker-wrap .t-icon{cursor:pointer;}.t-state-disabled .t-picker-wrap .t-icon{cursor:default;}.t-timepicker,.t-datepicker,.t-datetimepicker{display:inline-block;*display:inline;zoom:1;vertical-align:top;}.t-picker-wrap .t-input{margin:0;}.t-time-popup,.t-datepicker-calendar{-moz-box-shadow:2px 2px 2px #aaa;-webkit-box-shadow:2px 2px 2px #aaa;box-shadow:2px 2px 2px #aaa;}.t-iframe-overlay{position:absolute;width:100%;border:0;top:0;left:0;filter:alpha(opacity=0);}.t-time-popup .t-item{padding:1px 3px;}div.t-treeview{border-width:0;background:none;white-space:nowrap;overflow:auto;}.t-treeview .t-item{padding:0 0 0 16px;margin:0;border-width:0;position:static;top:auto;display:block;}.t-treeview .t-group,.t-treeview .t-content{list-style-type:none;background:none;margin:0;padding:0;}.t-treeview .t-animation-container{height:auto!important;}.t-treeview .t-icon,.t-treeview .t-image,.t-treeview .t-sprite,.t-treeview .t-in{display:inline-block;*display:inline;zoom:1;vertical-align:top;}.t-treeview .t-plus,.t-treeview .t-minus,.t-treeview .t-plus-disabled,.t-treeview .t-minus-disabled{margin-left:-16px;margin-top:2px;float:left;*float:none;}.t-treeview .t-plus,.t-treeview .t-minus{cursor:pointer;}.t-treeview .t-plus-disabled,.t-treeview .t-minus-disabled{cursor:default;}.t-treeview .t-sprite,.t-treeview .t-image{margin-right:3px;}.t-treeview .t-in{margin:1px 0;padding:2px 4px 2px 3px;text-decoration:none;line-height:16px;margin-left:2px;}.t-treeview span.t-in{cursor:default;}.t-treeview .t-state-hover,.t-treeview .t-state-selected{padding:1px 3px 1px 2px;border-width:1px;border-style:solid;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.t-treeview .t-drop-clue{width:80px;visibility:hidden;height:5px;position:absolute;margin-top:-3px;z-index:10000;background-color:transparent;background-repeat:no-repeat;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-repeat:no-repeat;margin-left:-16px;padding-left:16px;}.t-treeview-lines .t-top{background-position:-91px 0;}.t-treeview-lines .t-bot{background-position:-69px -22px;}.t-treeview-lines .t-mid{background-position:-47px -44px;}.t-treeview-lines .t-last .t-top{background-position:-25px -66px;}.t-treeview-lines .t-group .t-last .t-bot{background-position:-69px -22px;}.t-treeview-lines .t-item{background-repeat:no-repeat;}.t-treeview-lines .t-first{background-repeat:no-repeat;background-position:0 16px;}div.t-numerictextbox{display:inline-block;*display:inline;zoom:1;vertical-align:middle;white-space:nowrap;border:0;background:transparent;}.t-numerictextbox .t-input{margin:0;}.t-formatted-value{position:absolute;padding:3px 4px 2px 3px;}.t-numerictextbox .t-icon{margin-left:-16px;}.t-numerictextbox .t-link{border-style:none;display:inline-block;*display:inline;zoom:1;}.t-numerictextbox .t-arrow-up{vertical-align:top;margin-top:1px;height:10px;}.t-numerictextbox .t-arrow-down{vertical-align:bottom;margin-bottom:1px;height:11px;}.t-colorpicker{display:inline-block;*display:inline;zoom:1;vertical-align:middle;}.t-colorpicker .t-tool-icon{display:inline-block;*display:inline;zoom:1;vertical-align:top;padding:2px 3px;font-size:0;line-height:0;}.t-colorpicker .t-selected-color{display:block;height:16px;width:16px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;}.t-colorpicker .t-icon{vertical-align:middle;margin-top:2px;}.t-colorpicker-popup{line-height:0;width:136px;}.t-colorpicker-popup .t-reset{padding:.25em;margin:0;display:inline-block;*display:inline;zoom:1;}.t-colorpicker-popup .t-item{float:left;display:block;overflow:hidden;width:12px;height:12px;font-size:0;padding:0;margin:0 1px 1px 0;}.t-editor{border-width:1px;border-style:solid;border-collapse:separate;height:250px;font-size:100%;table-layout:fixed;vertical-align:top;width:100%;}.t-editor .t-editor-toolbar-wrap{border:0;padding:0;}.t-editor-toolbar{margin:0;padding:.1em 0;list-style-type:none;cursor:default;line-height:1.3em;}.t-editor-toolbar li{display:inline;vertical-align:middle;}.t-editor-toolbar .t-editor-dropdown,.t-editor-toolbar .t-editor-combobox,.t-editor-toolbar .t-editor-selectbox,.t-editor-toolbar .t-editor-colorpicker{margin-right:2px;}.t-editor-toolbar .t-separator{border-width:0 1px 0 0;border-style:solid;padding:0 0 0 1px;font-size:1.3em;margin:0 .15em;position:relative;top:1px;}.t-editor-toolbar .t-break{display:block;height:1px;line-height:0;font-size:0;}.t-editor-toolbar .t-dropdown,.t-editor-toolbar .t-combobox,.t-editor-toolbar .t-selectbox,.t-editor-toolbar .t-colorpicker{vertical-align:middle;}.t-editor-button .t-tool-icon{vertical-align:middle;width:22px;height:22px;margin:1px;}.t-editor-colorpicker .t-tool-icon{padding:17px 3px 2px;}.t-editor-colorpicker .t-icon{border-style:solid;border-color:#ccc;border-width:0 0 0 1px;}.t-editor-colorpicker .t-selected-color{height:3px;}.t-editor-combobox .t-input{height:20px;line-height:20px;}.t-editor-combobox .t-select{height:22px;line-height:22px;}.t-bold{background-position:-22px 0;}.t-italic{background-position:-44px 0;}.t-underline{background-position:-66px 0;}.t-strikethrough{background-position:-88px 0;}.t-justifyLeft{background-position:-110px 0;}.t-justifyCenter{background-position:-132px 0;}.t-justifyRight{background-position:-154px 0;}.t-justifyFull{background-position:-176px 0;}.t-insertOrderedList{background-position:-198px 0;}.t-insertUnorderedList{background-position:-220px 0;}.t-createLink{background-position:-242px 0;}.t-unlink{background-position:-264px 0;}.t-insertImage{background-position:-286px 0;}.t-foreColor .t-tool-icon{background-position:-308px -2px;}.t-backColor .t-tool-icon{background-position:-330px -2px;}.t-indent{background-position:-352px 0;}.t-outdent{background-position:-374px 0;}.t-fontName{width:110px;}.t-fontSize{width:124px;}.t-formatBlock{width:147px;}.t-editor-button .t-state-hover,.t-editor-button .t-state-active{vertical-align:middle;border-width:1px;border-style:solid;margin:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}.t-editor-button .t-state-disabled{opacity:.3;filter:alpha(opacity=30);}.t-editor .t-editable-area{outline:none;height:100%;width:100%;border-width:1px;border-style:solid;}.t-editor .t-content{height:100%;width:100%;display:block;padding:0;margin:0;border:0;}.t-editor .t-raw-content{border:0;margin:0;padding:0;font-size:inherit;font-family:Consolas,"Courier New",monospace;}.t-editor-dialog{padding:1em;}.t-editor-dialog ol{margin:0;padding:0;list-style:none;}.t-form-text-row,.t-form-checkbox-row{padding-bottom:1em;}.t-form-text-row label{display:inline-block;*display:inline;zoom:1;width:7em;text-align:right;padding-right:.5em;}.t-form-checkbox-row input{margin-left:7em;font-size:inherit;padding:0;}.t-form-checkbox-row label{padding-left:.3em;}.t-form-checkbox-row input,.t-form-checkbox-row label,.t-form-text-row label .t-form-text-row input,.t-form-text-row select{vertical-align:middle;}.t-form-text-row input,.t-form-text-row select{width:20em;}.t-editor-dialog .t-button-wrapper{padding-top:.5em;text-align:right;}.t-editor-dialog .t-button{display:inline-block;*display:inline;zoom:1;}.t-drag-clue{border-width:1px;border-style:solid;font-size:.9em;padding:.05em .15em;position:absolute;z-index:10003;white-space:nowrap;cursor:default;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.t-drag-status{margin-right:4px;vertical-align:top;margin-top:-1px;}.t-reorder-cue{position:absolute;width:1px;overflow:visible;}.t-reorder-cue .t-icon{width:8px;height:4px;position:absolute;left:-4px;}.t-reorder-cue .t-arrow-down{top:-4px;background-position:-20px -182px;}.t-reorder-cue .t-arrow-up{bottom:-4px;background-position:-20px -166px;}div.t-slider{position:relative;border-width:0;background-color:transparent;-khtml-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;}.t-slider-vertical{width:22px;height:200px;}.t-slider-horizontal{display:inline-block;height:22px;width:200px;}*+html .t-slider-horizontal{display:inline;zoom:1;}* html .t-slider-horizontal{display:inline;zoom:1;}.t-slider-wrap{width:100%;height:100%;}.t-slider .t-button,.t-grid .t-slider .t-button{position:absolute;top:0;min-width:0;width:20px;height:20px;margin:0;padding:0;outline:none;}.t-state-disabled .t-button,.t-state-disabled .t-draghandle{cursor:default;}.t-state-disabled .t-slider-track{opacity:.6;filter:alpha(opacity=60);}.t-slider .t-button-decrease{left:0;}.t-slider-vertical .t-button-decrease,.t-grid .t-slider-vertical .t-button-decrease{top:auto;bottom:0;}.t-slider .t-button-increase{right:0;}.t-slider .t-icon{cursor:pointer;}.t-state-disabled .t-slider-wrap .t-icon,.t-state-disabled .t-slider .t-icon{cursor:default;}*+html .t-slider .t-icon{margin-top:2px;}* html .t-slider .t-icon{margin-top:2px;}.t-slider-track,.t-slider-selection{position:absolute;margin:0;padding:0;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{height:6px;top:50%;left:0;margin-top:-3px;background-repeat:repeat-x;}.t-slider-horizontal .t-slider-track{border-width:0 1px;border-style:solid;background-position:0 -464px;}.t-slider-horizontal .t-slider-selection{background-position:0 -470px;}.t-slider-horizontal .t-slider-buttons .t-slider-track{left:27px;}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{width:6px;left:50%;bottom:0;margin-left:-3px;background-repeat:repeat-y;}.t-slider-vertical .t-slider-track{border-width:1px 0;border-style:solid;background-position:0 0;}.t-slider-vertical .t-slider-selection{background-position:-6px 0;}.t-slider-vertical .t-slider-buttons .t-slider-track{bottom:27px;}.t-draghandle{position:absolute;background-repeat:no-repeat;background-color:transparent;text-indent:-3333px;text-decoration:none;text-align:center;overflow:hidden;cursor:pointer;}.t-slider-horizontal .t-draghandle{top:-7px;width:11px;height:20px;}.t-slider-vertical .t-draghandle{left:-7px;width:20px;height:11px;}.t-slider-horizontal .t-draghandle,.t-state-disabled.t-slider-horizontal a.t-draghandle,.t-state-disabled .t-slider-horizontal a.t-draghandle{background-position:0 -368px;}.t-slider-horizontal .t-draghandle:hover,.t-slider-horizontal .t-draghandle:focus{background-position:0 -400px;}.t-slider-horizontal a.t-draghandle.t-state-active{background-position:0 -432px;}.t-slider-vertical .t-draghandle,.t-state-disabled.t-slider-vertical a.t-draghandle,.t-state-disabled .t-slider-vertical a.t-draghandle{background-position:-32px -368px;}.t-slider-vertical .t-draghandle:hover,.t-slider-vertical .t-draghandle:focus{background-position:-32px -400px;}.t-slider-vertical a.t-draghandle.t-state-active{background-position:-32px -432px;}.t-slider-items{display:inline-block;}.t-slider-items{display:block;}.t-slider-buttons .t-slider-items{margin-left:27px;}.t-slider-horizontal .t-slider-items{height:100%;}.t-slider-vertical .t-slider-items{padding-top:1px;}.t-slider-vertical .t-slider-buttons .t-slider-items{padding-top:0;}.t-slider-vertical .t-slider-buttons .t-slider-items{margin:0;padding-top:28px;}.t-slider-items:after{content:"";display:block;clear:both;height:0;visibility:hidden;}.t-slider .t-tick{position:relative;margin:0;padding:0;background-color:transparent;background-repeat:no-repeat;background-position:center center;cursor:default;}.t-slider-horizontal .t-tick{float:left;text-align:center;height:100%;}*+html .t-slider-vertical .t-tick{float:left;clear:left;width:100%;}* html .t-slider-vertical .t-tick{float:left;clear:left;width:100%;}.t-slider-horizontal .t-first{background-position:0 center;}.t-slider-horizontal .t-last{background-position:100% center;}.t-slider-vertical .t-tick{text-align:right;}.t-slider-vertical .t-slider-topleft .t-tick{text-align:left;}.t-slider-vertical .t-first{background-position:center 100%;}.t-slider-vertical .t-last{background-position:center 0;}.t-slider .t-label{position:absolute;}.t-slider-horizontal .t-label{left:0;width:100%;}.t-slider-horizontal .t-first .t-label{left:-50%;}.t-slider-horizontal .t-last .t-label{left:auto;right:-50%;}.t-slider-horizontal .t-label{bottom:-1.2em;}.t-slider-horizontal .t-slider-topleft .t-label{top:-1.2em;}.t-slider-vertical .t-label{left:120%;display:block;text-align:left;}.t-slider-vertical .t-last .t-label{top:-0.5em;}.t-slider-vertical .t-first .t-label{bottom:-0.5em;}.t-slider-vertical .t-slider-topleft .t-label{left:auto;right:120%;}.t-tooltip{position:absolute;border-width:1px;border-style:solid;padding:4px 5px;background-repeat:repeat-x;z-index:10002;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;min-width:10px;text-align:center;}.t-callout{position:absolute;}.t-callout-n,.t-callout-s{width:9px;height:6px;}.t-callout-w,.t-callout-e{width:6px;height:9px;}.t-callout-n{top:-6px;left:50%;margin-left:-4px;background-position:-64px -368px;}.t-callout-w{left:-6px;top:50%;margin-top:-4px;background-position:-64px -384px;}.t-callout-s{top:100%;left:50%;margin-left:-4px;background-position:-64px -400px;}.t-callout-e{left:100%;top:50%;margin-top:-4px;background-position:-64px -416px;}.t-splitter{position:relative;height:300px;}.t-splitter .t-pane{overflow:hidden;}.t-splitter .t-scrollable{overflow:auto;}.t-splitter .t-pane-loading{position:absolute;left:50%;top:50%;margin:-8px 0 0 -8px;}.t-ghost-splitbar,.t-splitbar{position:absolute;border-style:solid;font-size:0;}.t-splitter .t-ghost-splitbar-horizontal,.t-splitter .t-splitbar-horizontal{top:0;width:5px;border-width:0 1px;background-repeat:repeat-y;}.t-ghost-splitbar-vertical,.t-splitbar-vertical{left:0;height:5px;border-width:1px 0;background-repeat:repeat-x;}.t-splitbar-draggable-horizontal{cursor:w-resize;}.t-splitbar-draggable-vertical{cursor:n-resize;}.t-splitbar .t-resize-handle{display:none;}.t-restricted-size-horizontal,.t-restricted-size-vertical{background-color:#f00;}.t-splitbar-horizontal .t-icon{width:5px;height:21px;position:absolute;top:50%;margin-top:-10px;}.t-collapse-prev,.t-collapse-next,.t-expand-prev,.t-expand-next{cursor:pointer;}.t-splitbar-horizontal .t-collapse-prev{margin-top:-31px;}.t-splitbar-horizontal .t-collapse-next{margin-top:11px;}.t-splitbar-vertical .t-icon{height:5px;width:21px;position:absolute;left:50%;margin-left:-10px;}.t-splitbar-vertical .t-collapse-prev{margin-left:-31px;}.t-splitbar-vertical .t-collapse-next{margin-left:11px;}.t-splitbar-draggable-vertical .t-resize-handle,.t-splitbar-draggable-horizontal .t-resize-handle{display:inline-block;*display:inline;zoom:1;}.t-splitbar-horizontal{background-position:5px 0;}.t-splitbar-horizontal-hover{background-position:-12px 0;}.t-splitbar-horizontal-active,.t-ghost-splitbar-horizontal{background-position:-17px 0;}.t-restricted-size-horizontal{background-position:-22px 0;}.t-splitbar-horizontal .t-resize-handle{background-position:-10px -496px;}.t-splitbar-horizontal-hover .t-resize-handle{background-position:-10px -517px;}.t-splitbar-horizontal .t-collapse-prev,.t-splitbar-horizontal .t-expand-next{background-position:0 -496px;}.t-splitbar-horizontal-hover .t-collapse-prev,.t-splitbar-horizontal-hover .t-expand-next{background-position:0 -517px;}.t-splitbar-horizontal .t-collapse-next,.t-splitbar-horizontal .t-expand-prev{background-position:-5px -496px;}.t-splitbar-horizontal-hover .t-collapse-next,.t-splitbar-horizontal-hover .t-expand-prev{background-position:-5px -517px;}.t-splitbar-vertical{background-position:0 5px;}.t-splitbar-vertical-hover{background-position:0 -476px;}.t-splitbar-vertical-active,.t-ghost-splitbar-vertical{background-position:0 -481px;}.t-restricted-size-vertical{background-position:0 -486px;}.t-splitbar-vertical .t-resize-handle{background-position:-16px -496px;}.t-splitbar-vertical-hover .t-resize-handle{background-position:-16px -501px;}.t-splitbar-vertical .t-collapse-prev,.t-splitbar-vertical .t-expand-next{background-position:-16px -506px;}.t-splitbar-vertical-hover .t-collapse-prev,.t-splitbar-vertical-hover .t-expand-next{background-position:-16px -517px;}.t-splitbar-vertical .t-collapse-next,.t-splitbar-vertical .t-expand-prev{background-position:-16px -511px;}.t-splitbar-vertical-hover .t-collapse-next,.t-splitbar-vertical-hover .t-expand-prev{background-position:-16px -522px;}html .t-upload{position:relative;border-width:0;background:none;}.t-dropzone,.t-upload-files{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.t-dropzone em,.t-upload-button{vertical-align:middle;}*+html .t-dropzone em,*+html .t-upload-button{vertical-align:baseline;}* html .t-dropzone em,* html .t-upload-button{vertical-align:baseline;}.t-dropzone{border-style:solid;border-width:0;padding:4px;background-color:transparent;}.t-dropzone em{margin-left:.6em;visibility:hidden;}.t-dropzone-active{border-width:1px;padding:3px;}.t-dropzone-active em{visibility:visible;}.t-upload-button{width:86px;position:relative;direction:ltr;overflow:hidden!important;/*!important required by IE7*/;}.t-upload-button input{font:500px monospace!important;opacity:0;filter:alpha(opacity=0);position:absolute;padding:0;margin:0;cursor:pointer;right:0;top:0;z-index:1;}.t-state-disabled .t-upload-button input{cursor:default;}.t-upload-files{border-style:solid;border-width:1px;margin:.2em 0 0;padding:.3em .7em .5em;line-height:1.9em;}.t-upload-files .t-button{position:relative;top:1px;margin-left:8px;padding-top:0;padding-bottom:0;font-size:84%;}*+html .t-upload-files .t-button{line-height:1;}* html .t-upload-files .t-button{line-height:1;}.t-upload .t-delete,.t-upload .t-cancel,.t-upload .t-retry{height:8px;vertical-align:baseline;}.t-upload .t-delete,.t-upload .t-cancel{width:7px;background-position:-5px -292px;}.t-retry{background-position:-66px -228px;width:11px;}.t-success{background-position:-64px -240px;}.t-fail{background-position:-64px -256px;}.t-filename{position:relative;display:inline-block;min-width:120px;vertical-align:middle;}.t-progress,.t-progress-status{position:absolute;bottom:-2px;left:0;width:118px;height:2px;border-style:solid;border-width:1px;background-repeat:repeat-x;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;}.t-progress-status{left:-1px;bottom:-1px;width:50%;}.t-upload-selected{min-width:86px;box-sizing:content-box;-moz-box-sizing:content-box;-ms-box-sizing:content-box;margin:3px 0 0;}*+html .t-upload-selected{min-width:100px;}.t-tiles-buttons .t-dropzone em,.t-tiles-buttons .t-upload-files{display:none;}.t-tiles-buttons .t-dropzone{border:0;padding:0;background-color:transparent;}.t-search-wrap{float:right;width:auto;position:relative;padding:0;}.t-search-wrap label{position:absolute;top:0;left:4px;line-height:20px;font-style:italic;}.t-search-wrap input.t-input{width:158px;padding-left:0;padding-right:0;}.t-search{background-position:-64px -176px;}.t-search-wrap .t-search{position:absolute;top:1px;right:2px;}.t-breadcrumbs{float:left;position:relative;width:560px;}.t-breadcrumbs-wrap{position:absolute;z-index:1;top:0;left:0;padding-left:5px;line-height:18px;}html input.t-breadcrumbs-input{width:100%;padding-left:2px;font-family:inherit;}.t-breadcrumbs .t-link,.t-breadcrumbs-wrap .t-icon{text-decoration:none;vertical-align:middle;margin-top:0;}.t-breadcrumbs .t-link:hover{text-decoration:underline;}.t-imagebrowser .t-breadcrumbs .t-first{text-decoration:none;cursor:default;}.t-tiles-toolbar{clear:both;border-style:solid;border-width:1px;margin:8px 0 0;padding:2px 0 3px;background-repeat:repeat-x;line-height:23px;white-space:nowrap;}.t-imagebrowser .t-upload{float:left;}.t-imagebrowser .t-upload-button{width:auto;vertical-align:top;}.t-imagebrowser .t-upload .t-icon{vertical-align:bottom;}*+html .t-imagebrowser .t-upload-button,*+html .t-imagebrowser .t-upload .t-icon{vertical-align:baseline;position:relative;top:1px;}* html .t-imagebrowser .t-upload-button,* html .t-imagebrowser .t-upload .t-icon{vertical-align:baseline;position:relative;top:1px;}*+html .t-imagebrowser .t-upload .t-icon{top:2px;}* html .t-imagebrowser .t-upload .t-icon{top:2px;}*+html .t-tiles-toolbar .t-button-icon{vertical-align:middle;}* html .t-tiles-toolbar .t-button-icon{vertical-align:middle;}.t-addfolder{background-position:-64px -192px;}.t-goup{background-position:-64px -208px;}.t-tiles-toolbar .t-state-disabled{opacity:.5;filter:alpha(opacity=50);}.t-tiles-buttons{float:left;}.t-tiles-arrange{float:right;}* html .t-tiles-arrange{margin:3px 0 0;}.t-tiles-arrange .t-arrow-down{margin:0 2px 0 3px;}.t-tiles-arrange a{text-decoration:none;}.t-tiles{clear:both;height:390px;border-style:solid;border-width:1px;border-top-width:0;margin:0 0 1.4em;padding:9px;overflow:auto;line-height:1.2;}.t-tile{width:223px;height:88px;overflow:hidden;float:left;border-width:1px;border-style:solid;margin:1px;padding:0 0 4px;cursor:pointer;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.t-imagebrowser .t-thumb{float:left;display:inline;width:86px;height:86px;margin:4px 10px 0 4px;-khtml-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;}.t-imagebrowser .t-image{margin:2px 0 0 2px;-moz-box-shadow:1px 1px 3px #aaa;-webkit-box-shadow:1px 1px 3px #aaa;box-shadow:1px 1px 3px #aaa;}.t-imagebrowser .t-folder{width:80px;height:80px;background-position:0 -200px;background-repeat:no-repeat;}.t-goback{background-position:-64px -224px;}.t-imagebrowser .t-loading{margin:35px 0 0 33px;}.t-tile strong,.t-tile input{margin:10px 0 4px;font-weight:normal;}.t-tile strong{float:left;width:120px;overflow:hidden;text-overflow:ellipsis;}.t-tile input{width:100px;}.t-tile em,.t-tile .t-filesize{clear:left;font-weight:normal;font-style:normal;}.t-tile strong,.t-tile input,.t-tile em,.t-tile .t-filesize{display:block;}.t-imagebrowser .t-form-text-row input{width:628px;}.t-tile-empty{margin:160px 0 0;}.t-tile-empty .t-dialog-upload{font-weight:bold;font-size:120%;}.t-tile-empty strong{display:block;margin:0 0 .2em;font-size:3em;font-weight:normal;}.t-tile-empty,.t-tile-empty .t-button-wrapper{text-align:center;}.t-touch-scrollbar{position:absolute;display:none;z-index:200000;height:8px;width:8px;border:1px solid #8a8a8a;background-color:#858585;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}@media only screen and(-webkit-min-device-pixel-ratio:2){.t-touch-scrollbar{height:12px;width:12px;-webkit-border-radius:7px;}} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.default.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.default.min.css deleted file mode 100644 index 5ad3bdbdb..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.default.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#989898;background-color:#fff;}.t-header,.t-grid-header{border-color:#989898;background:#adadad url('Default/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Default/sprite.png');}.t-editor .t-tool-icon{background-image:url('Default/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Default/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#828282;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#989898;}.t-separator{border-color:#d8d8d8;background-color:#999;}.t-alt{background-color:#f7f7f7;}.t-state-default{border-color:#828282;}.t-active-filter{background-color:#cdcdcd;}.t-state-hover,.t-state-hover:hover{background-color:#e9e9e9;border-color:#828282;}.t-header .t-state-hover{background-color:#dcdada;}.t-state-active,.t-header .t-state-active{background-color:#fff;border-color:#828282;}.t-state-selected{background-color:#ddd;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#828282;color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#adadad url('Default/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#c9c9c9;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#888;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#aaa;background-color:#eee;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grouping-row td{background:#fff url('Default/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#eee;border-color:#828282 #eee #fff;}.t-group-footer td{background-color:#eee;border-color:#828282;}.t-grid-footer{background-color:#eee;border-color:#080808;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Default/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Default/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#838383;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#aaa;}.t-calendar th{border-color:#c5c5c5;}.t-other-month .t-link{color:#898989;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Default/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Default/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Default/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#e2e2e2 #878787 #878787 #e2e2e2;background-color:#c6c6c6;}.t-editor-button .t-state-active{border-color:#767676 #d0d0d0 #d0d0d0 #767676;background-color:#9e9e9e;}.t-slider .t-draghandle{background-image:url('Default/sprite.png');color:#333;}.t-slider-track{border-color:#a5a5a5;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Default/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Default/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Default/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Default/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Default/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Default/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Default/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Default/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Default/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Default/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Default/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Default/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Default/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Default/slider-v-right.gif');}.t-tooltip{background:#adadad 0 -624px repeat-x url('Default/sprite.png');}.t-callout{background-image:url('Default/sprite.png');}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Default/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Default/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#828282;}.t-dropzone-hovered,.t-upload-files{background-color:#e2e2e2;}.t-dropzone em{color:#828282;}.t-progress,.t-progress-status{background-image:url('Default/sprite.png');}.t-progress{background-position:0 -465px;border-color:#a1a1a1 #b3b3b3 #c8c8c8;}.t-progress-status{background-position:0 -472px;border-color:#989898 transparent #6b6b6b;}.t-imagebrowser .t-content{background:#f1f1f1;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#9f9f9f;}.t-tiles-toolbar{border-color:#aaa;}.t-tiles{border-color:#e2e3ea;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Default/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#989898;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#989898;background-position:0 -100px;}.t-tiles-toolbar,.t-tile .t-folder{background-image:url('Default/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#666;}.t-tile-empty strong{color:#aaa;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.forest.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.forest.min.css deleted file mode 100644 index 39ed509d8..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.forest.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#486b23;background-color:#d1deb6;}.t-header,.t-grid-header{border-color:#486b23;color:#fff;background:#4c7822 url('Forest/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Forest/sprite.png');}.t-editor .t-tool-icon{background-image:url('Forest/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Forest/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#2b2c20;}.t-header,.t-header .t-link{color:#fff;}.t-content,.t-content .t-link,.t-group .t-link{color:#2b2c20;}.t-group,.t-content,.t-editable-area{border-color:#486b23;background-color:#d1deb6;}.t-colorpicker .t-arrow-down{border-color:#486b23;}.t-separator{border-color:#719652;background-color:#4c6d3b;}.t-alt{background-color:#c7d6a7;}.t-state-default{border-color:#486b23;}.t-active-filter{background-color:#60963e;}.t-state-hover,.t-state-hover .t-link,.t-state-selected,.t-state-selected .t-link{color:#fff;}.t-state-hover,.t-state-hover:hover{background-color:#6c9f4f;border-color:#486b23;}.t-state-selected,.t-state-selected .t-state-hover{background-color:#3a5621;border-color:#486b23;}.t-state-active{background-color:#d1deb6;border-color:#486b23;}.t-tabstrip .t-state-active .t-link{color:#2b2c20;}.t-group .t-state-hover,.t-group .t-state-selected{color:#fff;background-image:none;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#486b23;color:#fff;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#486c24 url('Forest/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#4d7924;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#2a4b17;border-color:#486b23;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#486b23;background-color:#a7bc75;}.t-editor-button .t-state-active{background-color:#527c30;}.t-grid td{border-color:#bdcb9e;border-right:1px solid #bdcb9e;}.t-grouping-row td{background:#d1deb6 url('Forest/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#b1c67f;border-color:#3c6716 #b1c67f #b1c67f;}.t-group-footer td{background-color:#b1c67f;border-color:#3c6716;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#b1c67f;border-color:#3c6716;}.t-grouping-header .t-group-indicator{color:#333;border-color:#486B23;}.t-grouping-dropclue{background:url('Forest/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#d1deb6;}.t-treeview .t-drop-clue{background-image:url('Forest/sprite.png');background-position:0 -358px;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#486b23;}.t-calendar th{background-color:#a6bb74;border-color:#9cb16a;}.t-other-month .t-link{color:#88914b;}.t-state-hover .t-link{color:#fff;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Forest/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Forest/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Forest/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-window{-moz-box-shadow:0 0 5px 2px #6f855a;-webkit-box-shadow:0 0 5px 2px #6f855a;box-shadow:0 0 5px 2px #6f855a;}.t-editor-button .t-state-hover{border-color:#88ab72 #416926 #416926 #88ab72;background-color:#548231;}.t-editor-button .t-state-active{border-color:#2a4b17 #7f9c6d #7f9c6d #2a4b17;background-color:#446e29;}.t-slider .t-draghandle{background-image:url('Forest/sprite.png');color:#486b23;}.t-slider-track{border-color:#658843;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Forest/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Forest/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Forest/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Forest/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Forest/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Forest/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Forest/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Forest/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Forest/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Forest/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Forest/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Forest/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Forest/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Forest/slider-v-right.gif');}.t-tooltip{background:#486c24 0 -625px repeat-x url('Forest/sprite.png');color:#fff;}.t-callout{background-image:url('Forest/sprite.png');}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#527f2c;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Forest/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Forest/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#8aaf64;}.t-dropzone-hovered,.t-upload-files{background-color:#d1deb6;}.t-dropzone em{color:#6b715f;}.t-progress,.t-progress-status{background-image:url('Forest/sprite.png');}.t-progress{background-position:0 -466px;border-color:#52752e #6c8c49 #83a564;}.t-progress-status{background-position:0 -472px;border-color:#4f722b transparent #193809;}.t-imagebrowser .t-content{background:#d3e0c2;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#6b715f;}.t-tiles-toolbar{border-color:#8aaf64;}.t-tiles-toolbar .t-upload .t-button{color:#2b2c20;}.t-tiles-arrange{color:#6b715f;}.t-tiles{border-color:#8aaf64;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Forest/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#76ad3b;background-position:0 0;color:#2b2c20;}.t-tiles li.t-state-selected{border-color:#8aaf64;background-position:0 -100px;color:#2b2c20;}.t-tiles-toolbar,.t-tile .t-folder{background-image:url('Forest/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#6b715f;}.t-tile-empty strong{color:#8d947f;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.hay.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.hay.min.css deleted file mode 100644 index d11e90c19..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.hay.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#7d7c6f;background-color:#ececd8;}.t-header,.t-grid-header{border-color:#378909;background:#4eb106 url('Hay/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Hay/sprite.png');}.t-editor .t-tool-icon{background-image:url('Hay/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-header .t-arrow-up,.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-header .t-arrow-down,.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-header .t-arrow-first,.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-header .t-arrow-prev,.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-header .t-arrow-next,.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-header .t-arrow-last,.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Hay/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#333;}.t-header,.t-header .t-link{color:#fff;}.t-header .t-group,.t-group .t-link{color:#333;}.t-group,.t-content,.t-editable-area{border-color:#bbb99d;background-color:#ececd8;}.t-colorpicker .t-arrow-down{border-color:#378909;}.t-separator{border-color:#73c335;background-color:#378909;}.t-alt{background-color:#fff;}.t-state-default{border-color:#378909;}.t-active-filter{background-color:#51b200;}.t-state-hover,.t-state-hover .t-link,.t-group .t-state-hover{color:#fff;}.t-state-hover,.t-state-hover:hover{background-color:#6cc41a;border-color:#378909;}.t-state-active{background-color:#ececd8;border-color:#378909;}.t-state-active,.t-state-active .t-link{color:#333;}.t-state-active .t-header,.t-state-active .t-state-hover{color:#fff;}.t-state-selected{background:#4e8e13;}.t-state-selected,.t-state-selected .t-header,.t-state-selected .t-state-hover,.t-state-selected .t-link{color:#fff;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#898772;color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#e0e2cb url('Hay/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#bbbe94;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;}.t-header .t-state-disabled,.t-header .t-state-disabled .t-link{color:#d2d2d2;border-color:#5ca136;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#bbb99d;background-color:#dee0c8;}.t-panelbar .t-link{border-color:#333;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grid tr.t-state-hover td{border-color:#6CC41A;}.t-grid tr.t-state-selected td{border-color:#378909;}.t-grouping-row td{background:#fff url('Hay/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#dee0c8;border-color:#bbb99d #dee0c8 #fff;}.t-group-footer td{background-color:#dee0c8;border-color:#bbb99d;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#dee0c8;border-color:#bbb99d;}.t-grouping-header .t-group-indicator{color:#333;border-color:#aaa;}.t-grouping-dropclue{background:url('Hay/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Hay/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#2C8406;}.t-calendar th{border-color:#cac8ab;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Hay/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Hay/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Hay/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#73cd26 #38910a #38910a #73cd26;background-color:#63c215;}.t-editor-button .t-state-active{border-color:#257802 #60ba1d #60ba1d #257802;background-color:#47a605;}.t-slider .t-draghandle{background-image:url('Hay/sprite.png');color:#7d7c6f;}.t-slider-track{border-color:#b6b499;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Hay/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Hay/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Hay/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Hay/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Hay/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Hay/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Hay/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Hay/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Hay/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Hay/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Hay/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Hay/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Hay/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Hay/slider-v-right.gif');}.t-tooltip{border-color:#cccab0;background:#e0e2cb 0 -560px repeat-x url('Hay/sprite.png');}.t-callout{background-image:url('Hay/sprite.png');}.t-splitter{border-color:#cac8ab;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#ececd8;border-color:#cac8ab;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Hay/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Hay/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#bbb99d;}.t-dropzone-hovered,.t-upload-files{background-color:#f5f5e6;}.t-dropzone em{color:#787878;}.t-progress,.t-progress-status{background-image:url('Hay/sprite.png');}.t-progress{background-position:0 -467px;border-color:#9a9881 #b6b49b #cdccb7;}.t-progress-status{background-position:0 -472px;border-color:#74cd23 transparent #3a8e09;}.t-imagebrowser .t-content{background:#f5f5e6;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label,.t-tiles-arrange{color:#787878;}.t-tiles-toolbar{border-color:#bbb99d;background:#e0e2cb url('Hay/sprite.png') repeat-x 0 -560px;}.t-tiles{border-color:#bbb99d;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Hay/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#46a700;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#bbb99d;background-position:0 -100px;color:#000;}.t-tile .t-folder{background-image:url('Hay/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#525252;}.t-tile-empty strong{color:#bbb99d;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.office2007.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.office2007.min.css deleted file mode 100644 index ee4b02353..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.office2007.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#688caf;background-color:#fff;}.t-header,.t-grid-header{border-color:#688caf;background:#c3d8f1 url('Office2007/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Office2007/sprite.png');}.t-editor .t-tool-icon{background-image:url('Office2007/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Office2007/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#688caf;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#688caf;}.t-separator{border-color:#ebf1f9;background-color:#a0b2c7;}.t-alt{background-color:#fff;}.t-state-default{border-color:#688caf;}.t-active-filter{background-color:#c0d9ef;}.t-state-hover,.t-state-hover:hover{background-color:#d6e5f3;border-color:#688caf;}.t-state-active{background-color:#fff;border-color:#688caf;}.t-state-selected{background-color:#ffd176;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{border-color:#688caf;background:#e5effb url('Office2007/sprite.png') repeat-x 0 -560px;}.t-button:hover{border-color:#d8ca95 #b9a073 #c6b99c;background-position:0 -624px;background-color:#ffdf84;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#82a6d7;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#5d8cc9;background-color:#d6e5f3;}.t-grid td{border-color:#ddd;border-right:1px solid #d6e5f3;}.t-grouping-row td{background:#fff url('Office2007/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#d6e5f3;border-color:#567db0 #d6e5f3 #fff;}.t-group-footer td{background-color:#d6e5f3;border-color:#567db0;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#d6e5f3;border-color:#567db0;}.t-grouping-header .t-group-indicator{color:#333;border-color:#aaa;}.t-grouping-dropclue{background:url('Office2007/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Office2007/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#a79d87;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#5d8cc9;}.t-calendar th{border-color:#9ebfdb;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Office2007/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Office2007/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Office2007/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#e8f0fa #98b2d0 #98b2d0 #e8f0fa;background-color:#d4e3f5;}.t-editor-button .t-state-active{border-color:#88a4c5 #d0dcea #d0dcea #88a4c5;background-color:#9fbad9;}.t-slider .t-draghandle{background-image:url('Office2007/sprite.png');color:#688caf;}.t-slider-track{border-color:#6b89b2;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Office2007/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Office2007/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Office2007/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Office2007/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Office2007/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Office2007/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Office2007/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Office2007/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Office2007/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Office2007/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Office2007/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Office2007/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Office2007/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Office2007/slider-v-right.gif');}.t-tooltip{border-color:#767676;background:#cad9ef 0 -96px repeat-x url('Office2007/sprite.png');color:#333;}.t-callout{background-image:url('Office2007/sprite.png');}.t-splitter{border-color:#9eb6ce;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#d7e6f7;border-color:#9eb6ce;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Office2007/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Office2007/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#688caf;}.t-dropzone-hovered,.t-upload-files{background-color:#d6e5f3;}.t-dropzone em{color:#3e7ecf;}.t-progress,.t-progress-status{background-image:url('Office2007/sprite.png');}.t-progress{background-position:0 -465px;border-color:#82a6d7 #8aacda #82a6d7;}.t-progress-status{background-position:0 -472px;border-color:#6b89b2 transparent;}.t-imagebrowser .t-content{background:#dde8f5;}.t-breadcrumbs .t-link{color:#3e7ecf;}.t-breadcrumbs .t-link:hover{color:#00156e;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#8bb2e2;}.t-tiles-toolbar{border-color:#8bb2e2;background:#c3d8f1 url('Office2007/sprite.png') repeat-x 0 -752px;}.t-tiles-arrange{color:#3e7ecf;}.t-tiles-toolbar .t-upload .t-button,.t-tiles-arrange .t-link{color:#00156e;}.t-tiles{border-color:#8bb2e2;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Office2007/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#c5af7f;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#c0a776;background-position:0 -100px;}.t-tile .t-folder{background-image:url('Office2007/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#636363;}.t-tile-empty strong{color:#8bb2e2;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.office2010black.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.office2010black.min.css deleted file mode 100644 index f1cd83314..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.office2010black.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#2c2c2c;background-color:#6f6f6f;}.t-header,.t-grid-header{border-color:#444;background:#6b6b6b url('Office2010Black/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Office2010Black/sprite.png');}.t-editor .t-tool-icon{background-image:url('Office2010Black/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Office2010Black/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup,.t-grid .t-header{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#828282;background-color:#f6f6f6;}.t-colorpicker .t-arrow-down{border-color:#606060;}.t-separator{border-color:#606060;background-color:#adadad;}.t-alt{background-color:#646464;}.t-state-default{border-color:#848484;}.t-active-filter{background-color:#f9d04c;}.t-state-hover,.t-state-hover:hover{background-color:#ffe175;border-color:#f7c840;}.t-header .t-state-hover{background-color:#ffe175;}.t-state-active,.t-header .t-state-active{background-color:#ffcb36;border-color:#c28b31 #c29a42 #c2a34c;}.t-state-selected{background-color:#ffcb36;}.t-state-hover,.t-state-selected{color:#000;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#262626;color:#000;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#6f6f6f url('Office2010Black/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#fff3c9;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#5e5e5e;}.t-autocomplete{background-color:#b6b6b6;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-group-footer td,.t-grid-footer,.t-footer-template td,.t-widget .t-status{border-color:#444;background-color:#777;}.t-grid{color:#fff;}.t-grid-pager .t-link{color:#fff;}.t-grid-pager .t-state-hover,.t-grid-pager .t-state-active{color:#000;}.t-grid td{border-color:#454545;border-right:1px solid #454545;}.t-grouping-row td{background:url('Office2010Black/sprite.png') repeat-x 0 -48px;}.t-grouping-header .t-group-indicator{border-color:#444;background:#6f6f6f url('Office2010Black/sprite.png') repeat-x 0 -560px;}.t-grouping-dropclue{background:url('Office2010Black/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#6f6f6f;}.t-treeview .t-drop-clue{background-image:url('Office2010Black/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#4f4f4f;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#4f4f4f;}.t-filter-options,.t-menu .t-group{-moz-box-shadow:2px 2px 2px #4f4f4f;-webkit-box-shadow:2px 2px 2px #4f4f4f;box-shadow:2px 2px 2px #4f4f4f;}.t-calendar th{border-color:#c5c5c5;}.t-other-month .t-link{color:#898989;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Office2010Black/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Office2010Black/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Office2010Black/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#f7c840;background-color:#ffe175;}.t-editor-button .t-state-active{border-color:#c28b31 #c29b43 #c2a34c;background-color:#feed76;}.t-slider .t-draghandle{background-image:url('Office2010Black/sprite.png');color:#666;}.t-slider-track{border-color:#2c2c2c;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Office2010Black/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Office2010Black/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Office2010Black/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Office2010Black/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Office2010Black/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Office2010Black/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Office2010Black/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Office2010Black/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Office2010Black/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Office2010Black/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Office2010Black/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Office2010Black/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Office2010Black/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Office2010Black/slider-v-right.gif');}.t-tooltip{border-color:#767676;background:#e9e9f2 0 -96px repeat-x url('Office2010Black/sprite.png');}.t-callout{background-image:url('Office2010Black/sprite.png');}.t-splitbar{border-color:#2c2c2c;background-color:#4b4b4b;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Office2010Black/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Office2010Black/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#2c2c2c;}.t-dropzone-active{background-color:#6f6f6f;}.t-dropzone-hovered,.t-upload-files{background-color:#4b4b4b;}.t-dropzone em{color:#e2e2e2;}.t-progress,.t-progress-status{background-image:url('Office2010Black/sprite.png');}.t-progress{background-position:0 -464px;border-color:#2c2c2c;}.t-progress-status{background-position:0 -472px;border-color:#ffe37c transparent #f9cd4c;}.t-imagebrowser .t-content{background:#9e9e9e;}.t-tiles-toolbar{border-color:#848484;background:#6b6b6b url('Office2010Black/sprite.png') repeat-x 0 -752px;}.t-tiles{border-color:#848484;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Office2010Black/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#ffd14b;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#c28a30 #c29b43 #c2a44d;background-position:0 -100px;}.t-tile .t-folder{background-image:url('Office2010Black/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#464646;}.t-tile-empty strong{color:#aaa;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.outlook.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.outlook.min.css deleted file mode 100644 index ee629007d..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.outlook.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#5d8cc9;background-color:#fff;}.t-header,.t-grid-header{border-color:#5d8cc9;background:#7da5e0 url('Outlook/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Outlook/sprite.png');}.t-editor .t-tool-icon{background-image:url('Outlook/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Outlook/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#5d8cc9;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#5d8cc9;}.t-separator{border-color:#cfdef4;background-color:#7e98bc;}.t-alt{background-color:#f7f7f7;}.t-state-default{border-color:#5d8cc9;}.t-active-filter{background-color:#b6cef2;}.t-state-hover,.t-state-hover:hover{background-color:#d6e5f3;border-color:#5d8cc9;}.t-state-active{background-color:#fff;border-color:#5d8cc9;}.t-state-selected{background-color:#bcd3f3;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#5d8cc9;color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#ebe8e2 url('Outlook/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#f2f2f2;color:#000;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;}.t-header .t-state-disabled,.t-header .t-state-disabled .t-link{color:#577aac;border-color:#7da5e0;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#5d8cc9;background-color:#d6e5f3;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grid tr.t-state-hover td{border-color:#d6e5f3;}.t-grid tr.t-state-selected td{border-color:#bcd3f3;}.t-grouping-row td{background:#fff url('Outlook/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#d6e5f3;border-color:#567db0 #d6e5f3 #fff;}.t-group-footer td{background-color:#d6e5f3;border-color:#567db0;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#d6e5f3;border-color:#567db0;}.t-grouping-header .t-group-indicator{color:#333;border-color:#aaa;}.t-grouping-dropclue{background:url('Outlook/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Outlook/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#002d96;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#5d8cc9;}.t-calendar th{border-color:#89aee5;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Outlook/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Outlook/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Outlook/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#dae8fa #668dcf #668dcf #dae8fa;background-color:#93b5e7;}.t-editor-button .t-state-active{border-color:#5781c9 #a3c1ea #a3c1ea #5781c9;background-color:#7da5e0;}.t-slider .t-draghandle{background-image:url('Outlook/sprite.png');color:#5d8cc9;}.t-slider-track{border-color:#7b9ecc;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Outlook/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Outlook/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Outlook/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Outlook/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Outlook/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Outlook/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Outlook/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Outlook/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Outlook/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Outlook/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Outlook/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Outlook/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Outlook/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Outlook/slider-v-right.gif');}.t-tooltip{border-color:#000;background:#ffffe1;}.t-callout{background-image:url('Outlook/sprite.png');}.t-splitter{border-color:#89aee5;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#bcd3f3;border-color:#89aee5;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Outlook/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Outlook/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#7f9eba;}.t-dropzone-hovered,.t-upload-files{background-color:#d6e5f3;}.t-dropzone em{color:#6c7a8c;}.t-progress,.t-progress-status{background-image:url('Outlook/sprite.png');}.t-progress{background-position:0 -466px;border-color:#7699c5 #83a4ce #81a5d6;}.t-progress-status{background-position:0 -472px;border-color:#99bbea transparent #40689e;}.t-imagebrowser .t-content{background:#c3dafa;}.t-breadcrumbs .t-link:hover{color:#003db2;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#6c7a8c;}.t-tiles-toolbar{border-color:#828282;background:#7da5e0 url('Outlook/sprite.png') repeat-x 0 -752px;}.t-tiles{border-color:#7f9eba;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Outlook/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#e0b224;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#df8b13;background-position:0 -100px;}.t-tile .t-folder{background-image:url('Outlook/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#6c7a8c;}.t-tile-empty strong{color:#8bb2e2;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.rtl.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.rtl.min.css deleted file mode 100644 index 850b18e68..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.rtl.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-rtl{direction:rtl;zoom:1;}.t-rtl .t-button-icontext .t-icon{margin:0 -3px 0 3px;}.t-rtl .t-window-actions{right:auto;left:.5em;}.t-rtl .t-window-title .t-image{margin:0 0 0 5px;}.t-rtl .t-tabstrip-items .t-item,.t-rtl .t-panelbar .t-tabstrip-items .t-item{margin:.1em 0 0 .3em;}.t-rtl .t-tabstrip-items .t-item .t-icon,.t-rtl .t-panelbar .t-tabstrip-items .t-item .t-icon{margin:-1px -3px 0 4px;}.t-rtl .t-tabstrip-items .t-item .t-image,.t-rtl .t-tabstrip-items .t-item .t-sprite,.t-rtl .t-panelbar .t-tabstrip-items .t-item .t-image,.t-rtl .t-panelbar .t-tabstrip-items .t-item .t-sprite{margin:-4px -3px 0 3px;}.t-rtl .t-tabstrip-items .t-state-active,.t-rtl .t-panelbar .t-tabstrip-items .t-state-active{padding-bottom:1px;margin-bottom:-1px;}.t-rtl .t-panelbar .t-item{zoom:normal;}.t-rtl .t-panelbar .t-image,.t-rtl .t-panelbar .t-sprite{margin-right:0;margin-left:5px;float:right;}.t-rtl .t-panelbar .t-arrow-up,.t-rtl .t-panelbar .t-arrow-down{right:auto;left:2px;}.t-rtl .t-panelbar .t-group .t-group .t-link{padding-left:0;padding-right:2em;}.t-rtl .t-menu .t-group .t-link{padding-left:2em;padding-right:.97em;}.t-rtl .t-menu .t-item{border-width:0 0 0 1px;}.t-rtl .t-menu .t-image,.t-rtl .t-menu .t-sprite{margin:0 -4px 0 4px;}.t-rtl .t-menu .t-arrow-down{margin-left:-10px;margin-right:2px;}.t-rtl .t-menu .t-arrow-next{right:auto;left:0;}.t-rtl .t-menu .t-animation-container,.t-rtl .t-menu .t-group{left:auto;right:-1px;}.t-rtl .t-menu .t-animation-container .t-animation-container,.t-rtl .t-menu .t-group .t-group{right:100%;left:auto;}.t-rtl .t-menu-vertical .t-animation-container,.t-rtl .t-menu-vertical .t-group{right:100%;left:auto;}.t-rtl .t-menu .t-animation-container .t-group{right:auto;}.t-rtl .t-grid div.t-grid-header,.t-rtl .t-grid .t-grid-content,.t-rtl .t-grid .t-grid-footer,.t-rtl .t-grid .t-grouping-header,.t-rtl .t-grid .t-grid-toolbar,.t-rtl .t-grid .t-filter-options,.t-rtl .t-grid tbody{zoom:1;direction:rtl;}.t-rtl .t-grid table{border-collapse:separate;}.t-rtl .t-grid div.t-grid-header{padding-right:0\9;padding-left:17px\9;text-align:right;}.t-rtl .t-grid .t-header{text-align:right;border-width:0 0 1px 1px\9;}.t-rtl .t-grid .t-header .t-link{padding:.3em .6em .3em 2.4em;}.t-rtl .t-grid .t-grid-filter{float:left;margin:-1.8em 3px -.3em -.6em;}.t-rtl .t-grid .t-pager{direction:ltr;float:right;}.t-rtl .t-grid .t-status{float:right;border-right-width:0;border-left-style:solid;border-left-width:1px;margin:-.2em -.6em -.2em .6em;}.t-rtl .t-grid .t-status-text{float:left;}.t-rtl .t-grid .t-grouping-row p{margin-right:-0.6em;margin-left:0;padding-right:.6em;padding-left:0;}.t-rtl .t-grid .t-button .t-icon{margin-left:3px;margin-right:-3px;}.t-rtl .t-grid .t-last{border-left-width:0;border-right-width:1px;}.t-rtl .t-grouping-header .t-button .t-icon{margin:0 3px 0 0;}.t-rtl .t-autocomplete{background-position:0 50%!important;}.t-rtl .t-dropdown-wrap{padding-right:0;padding-left:16px;zoom:1;}* html .t-rtl .t-combobox .t-dropdown-wrap{padding-right:0;padding-left:16px;}* html .t-rtl .t-picker-wrap{padding-right:0;padding-left:25px;}.t-rtl .t-picker-wrap .t-select,.t-rtl .t-dropdown-wrap .t-select{right:auto;left:0;zoom:1;}* html .t-rtl .t-picker-wrap .t-select,* html .t-rtl .t-dropdown-wrap .t-select{right:auto;left:1px;}.t-rtl .t-combobox .t-select{border-width:0 1px 0 0;}.t-rtl .t-dropdown .t-input,.t-rtl .t-selectbox .t-input{padding:.2em 3px .2em 0;}.t-rtl .t-picker-wrap .t-icon-calendar,.t-rtl .t-picker-wrap .t-icon-clock{margin:3px 3px 0 0;}.t-rtl .t-picker-wrap{padding:0 0 0 25px;}.t-rtl .t-datetimepicker .t-picker-wrap{padding:0 0 0 44px;}.t-rtl .t-treeview .t-item{padding:0 16px 0 0;}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{margin-left:0;margin-right:-16px;padding-left:0;padding-right:20px;}.t-rtl .t-treeview .t-plus,.t-rtl .t-treeview .t-minus,.t-rtl .t-treeview .t-plus-disabled,.t-rtl .t-treeview .t-minus-disabled{margin-left:0;margin-right:-20px;float:right;*float:none;}.t-rtl .t-treeview .t-image{margin-right:0;margin-left:3px;}.t-rtl .t-treeview-lines .t-top{background-position:100% 0;}.t-rtl .t-treeview-lines .t-bot{background-position:100% -22px;}.t-rtl .t-treeview-lines .t-mid{background-position:100% -44px;}.t-rtl .t-treeview-lines .t-last .t-top{background-position:100% -66px;}.t-rtl .t-treeview-lines .t-group .t-last .t-bot{background-position:100% -22px;}.t-rtl .t-treeview-lines .t-item{background-position:100% 0;}.t-rtl .t-treeview-lines .t-first{background-position:100% 16px;}.t-rtl .t-numerictextbox .t-icon{margin-left:0;margin-right:-16px;}.t-rtl .t-editor-colorpicker .t-icon{border-width:0 1px 0 0;}.t-rtl .t-header .t-tabstrip-items .t-link{padding:.3em .9em;}.t-rtl .t-breadcrumbs{float:right;margin:0 -1px 0 0;}.t-rtl .t-breadcrumbs-wrap{left:auto;right:0;padding-left:0;padding-right:5px;}.t-rtl .t-breadcrumbs-input{padding-left:0;padding-right:2px;}.t-rtl .t-search-wrap{float:left;}.t-rtl .t-search-wrap label{left:auto;right:7px;}.t-rtl .t-search-wrap .t-search{right:auto;left:2px;}.t-rtl .t-tile{float:right;}.t-rtl .t-imagebrowser .t-thumb{float:right;margin:4px 4px 0 10px;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.simple.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.simple.min.css deleted file mode 100644 index 56629b96e..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.simple.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#828282;background-color:#fff;}.t-header,.t-grid-header{border-color:#828282;background:#e6e6e6;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Simple/sprite.png');}.t-editor .t-tool-icon{background-image:url('Simple/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Simple/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#828282;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#828282;}.t-separator{border-color:#fff;background-color:#999;}.t-alt{background-color:#f7f7f7;}.t-state-default{border-color:#828282;}.t-active-filter{background-color:#d8d8d8;}.t-state-hover,.t-state-hover:hover{background-color:#ffe79c;border-color:#c98400;}.t-state-active{background-color:#fff;border-color:#828282;}.t-state-selected{background-color:#ffa517;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{border-color:#828282;background:#e8e8e8;}.t-button:hover{background:#ffe79c;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#aaa;background-color:#eee;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grid tr.t-state-selected td{border-color:#ffa517;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Simple/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row td,.t-grouping-row p{background:#fff;}.t-footer-template td{background-color:#e4e4e4;border-color:#999 #e4e4e4 #fff;}.t-group-footer td{background-color:#e4e4e4;border-color:#999;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#e4e4e4;border-color:#999;}.t-treeview .t-drop-clue{background-image:url('Simple/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#ffa517;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#aaa;}.t-calendar th{border-color:#999;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Simple/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Simple/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Simple/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#f1f1f1 #8a8a8a #8a8a8a #f1f1f1;background-color:#e6e6e6;}.t-editor-button .t-state-active{border-color:#a4a4a4 #e0e0e0 #e0e0e0 #a4a4a4;background-color:#c8c8c8;}.t-slider .t-draghandle{border-width:1px;border-style:solid;color:#606060;}.t-slider-horizontal .t-draghandle{width:7px;height:18px;top:-8px;}.t-slider-vertical .t-draghandle{width:18px;height:7px;left:-8px;}.t-slider .t-draghandle,.t-state-disabled.t-slider a.t-draghandle,.t-state-disabled .t-slider a.t-draghandle{border-color:#828282;background-color:#e8e8e8;}.t-slider .t-draghandle:hover,.t-slider .t-draghandle:focus{border-color:#c98400;background-color:#ffe79c;}.t-slider .t-draghandle:active{border-color:#c98400;background-color:#ffa517;}.t-slider .t-slider-track{background:#e1e1e1 none;border:1px solid #acacac;}.t-slider .t-slider-selection{background:#ffa517 none;border:1px solid #ca4b0c;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{height:4px;}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{width:4px;}.t-slider-horizontal .t-tick{background-image:url('Simple/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Simple/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Simple/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Simple/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Simple/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Simple/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Simple/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Simple/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Simple/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Simple/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Simple/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Simple/slider-v-right.gif');}.t-tooltip{border-color:#ffa517;background:#ffe79c;}.t-callout{background-image:url('Simple/sprite.png');}.t-splitter{border-color:#828282;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#e6e6e6;border-color:#828282;}.t-splitbar-vertical-hover,.t-splitbar-horizontal-hover{background-color:#ffe79c;}.t-splitbar-horizontal-active,.t-splitbar-vertical-active,.t-ghost-splitbar-horizontal,.t-ghost-splitbar-vertical{background-color:#ffa517;}.t-restricted-size-horizontal,.t-restricted-size-vertical{background-color:#f00;}.t-dropzone-active,.t-upload-files{border-color:#9b9b9b;}.t-dropzone-hovered,.t-upload-files{background-color:#e8e8e8;}.t-dropzone em{color:#9b9b9b;}.t-progress{background-color:#e1e1e1;border-color:#b4b4b4 #adadad #9e9e9e;}.t-progress-status{background-color:#ffa517;border-color:#ca4b0c;}.t-imagebrowser .t-content{background:#e8e8e8;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#9b9b9b;}.t-tiles-toolbar{border-color:#828282;}.t-tiles{border-color:#9b9b9b;background:#fff;}.t-tile{border-color:#fff;}.t-tiles li.t-state-hover{border-color:#c98400;background-color:#ffe79c;}.t-tiles li.t-state-selected{border-color:#c98400;background-color:#ffa517;}.t-tile .t-folder{background-image:url('Simple/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#6e6659;}.t-tile-empty strong{color:#9e9e9e;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.sitefinity.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.sitefinity.min.css deleted file mode 100644 index 2eeed4be7..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.sitefinity.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-width:0;border-color:#ccc;background:none;}.t-autocomplete{border-width:1px;border-style:solid;}.t-header,.t-grid-header{border-color:#ccc;background:#fff;}.t-icon{background-image:url('Sitefinity/sprite.png');}.t-editor .t-tool-icon{background-image:url('Sitefinity/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:-16px -272px;}.t-minus,.t-minus-disabled{background-position:0 -272px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:-32px -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-1px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-grid .t-header .t-link .t-arrow-down{background-position:0 -256px;}.t-grid .t-header .t-link .t-arrow-up{background-position:-16px -256px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-loading,.t-widget .t-loading{background:transparent url('Sitefinity/loading.gif') no-repeat 0 0;}.t-widget{color:#000;}.t-link,.t-popup{color:#105cd6;}.t-group,.t-content,.t-editable-area{border-color:#ccc #666 #666 #ccc;background-color:#fff;border-width:1px 2px 2px 1px;}.t-colorpicker .t-arrow-down{border-color:#ccc;}.t-separator{border-color:#fff;background-color:#999;}.t-alt{background:none;}.t-state-default{border-color:#eee;}.t-active-filter{background-color:#e5e5e5;}.t-state-hover{border-color:#dee2e7;}.t-state-active{background-color:#fff;border-color:#ccc;}.t-state-selected{background-color:#ffffe1;}.t-state-error{border-color:#e50000;}.t-button{border-width:1px 2px 2px 1px;border-color:#ccc #666 #666 #ccc;color:#333;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#f1f1f1;}.t-button:hover{background:#fff;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#afaeae;border-color:#ccc;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#ccc;background-color:transparent;}.t-widget .t-status{border:0;}.t-autocomplete{border-width:1px;border-style:solid;}.t-combobox .t-state-default,.t-dropdown .t-state-default{border-color:#ccc;}.t-grid .t-header,.t-grid .t-header .t-link{letter-spacing:1px;text-transform:uppercase;font-size:.866em;line-height:2.6em;color:#666;background:none;}.t-grid .t-header,.t-grid td{border-bottom:1px solid #eee;border-color:#eee;}.t-grid .t-grid-filter{border-left:0;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Sitefinity/sprite.png') no-repeat -48px -288px;}.t-treeview .t-drop-clue{background-image:url('Sitefinity/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#999;}.t-group-footer td,.t-footer-template td,.t-grid-footer{border-color:#eee #fff;}.t-grid-pager .t-state-hover{border-color:#ccc;color:#002bb8;background:#f0f0f0;}.t-menu .t-state-hover,.t-panelbar .t-state-hover,.t-tabstrip .t-state-hover{color:#002bb8;}.t-tabstrip{border:1px solid #ccc;}.t-tabstrip .t-state-default,.t-tabstrip .t-state-disabled{border-bottom-color:#ccc;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#aaa;}.t-calendar th{border-color:#ddd;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Sitefinity/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Sitefinity/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Sitefinity/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-window,.t-drag-clue{background-color:#fff;}.t-slider .t-draghandle{background-image:url('Sitefinity/sprite.png');color:#000;}.t-slider-track{border-color:#e8e9ea;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Sitefinity/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Sitefinity/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Sitefinity/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Sitefinity/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Sitefinity/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Sitefinity/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Sitefinity/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Sitefinity/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Sitefinity/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Sitefinity/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Sitefinity/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Sitefinity/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Sitefinity/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Sitefinity/slider-v-right.gif');}.t-tooltip{border-width:1px;background:#f1f1f1;color:#333;}.t-callout{background-image:url('Sitefinity/sprite.png');}div.t-splitter{border:1px solid #ccc;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#f1f1f1;border-color:#ccc;}.t-splitbar-vertical-hover,.t-splitbar-horizontal-hover{background-color:#ddd;}.t-splitbar-horizontal-active,.t-splitbar-vertical-active,.t-ghost-splitbar-horizontal,.t-ghost-splitbar-vertical{background-color:#ccc;}.t-restricted-size-horizontal,.t-restricted-size-vertical{background-color:#f00;}.t-dropzone-active{border-color:#aaa;}.t-dropzone-hovered{background-color:#efefef;}.t-dropzone em{color:#999;}.t-upload-files{border-width:0;}.t-progress,.t-progress-status{background-image:url('Sitefinity/sprite.png');}.t-progress{background-position:0 -465px;border-color:#f8f8f8 transparent #cacaca;}.t-progress-status{background-position:0 -471px;border-color:#62962a transparent #4e8315;}.t-imagebrowser .t-content{background:#efefef;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#999;}.t-tiles-toolbar{border-color:#ccc;}.t-tiles-arrange a{color:#000;}.t-tiles{border-color:#ccc;background:#fff;}.t-tile{border-color:#fff;}.t-tiles li.t-state-hover{border-color:#abadb3;}.t-tiles li.t-state-selected{border-color:#abadb3;background-color:#999;color:#fff;}.t-tile .t-folder{background-image:url('Telerik/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#999;}.t-tiles li.t-state-selected em,.t-tiles li.t-state-selected .t-filesize{color:#d2d2d2;}.t-tile-empty strong{color:#9b9b9b;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.sunset.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.sunset.min.css deleted file mode 100644 index 2814ceabf..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.sunset.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#714734;background-color:#ececd8;}.t-header,.t-grid-header{border-color:#854324;background:#90330a url('Sunset/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Sunset/sprite.png');}.t-editor .t-tool-icon{background-image:url('Sunset/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Sunset/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#333;}.t-header,.t-header .t-link{color:#fbfbc7;}.t-header .t-group,.t-group .t-link{color:#333;}.t-group,.t-content,.t-editable-area{border-color:#bbb99d;background-color:#ececd8;}.t-colorpicker .t-arrow-down{border-color:#714734;}.t-separator{border-color:#a85835;background-color:#7c2f0c;}.t-alt{background-color:#fff;}.t-state-default{border-color:#854324;}.t-active-filter{background-color:#d25e21;}.t-state-hover,.t-state-hover .t-link,.t-group .t-state-hover{color:#fff;}.t-state-hover,.t-state-hover:hover{background-color:#c5551c;border-color:#854324;}.t-state-active{background-color:#ececd8;border-color:#854324;}.t-state-active,.t-state-active .t-link{color:#333;}.t-state-active .t-header,.t-state-active .t-state-hover{color:#fff;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#d1711a;color:#2d0e06;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#d1711a url('Sunset/sprite.png') repeat-x 0 -560px;}.t-button:hover{border-color:#e7941e;background-position:0 -624px;background-color:#e8961e;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link,.t-state-disabled .t-button{border-color:#666;color:#bf9e8f;}a.t-button.t-state-disabled,button.t-button.t-state-disabled,.t-state-disabled .t-button{color:#b83b01;border-color:#d1711a;}.t-header .t-state-disabled,.t-header .t-state-disabled .t-link{border-color:#a04a23;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#bbb99d;background-color:#dee0c8;}.t-panelbar .t-link{border-color:#714734;}.t-editor-button .t-state-active{background-color:#d3751a;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grid tr.t-state-selected{background-color:#ea9959;}.t-grouping-row td{background:#fff url('Sunset/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#dee0c8;border-color:#cabaab #dee0c8 #f1e9dc;}.t-group-footer td{background-color:#dee0c8;border-color:#cabaab;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#dee0c8;border-color:#cabaab;}.t-grouping-header .t-group-indicator{color:#333;border-color:#999;}.t-grouping-dropclue{background:url('Sunset/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Sunset/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#904C23;background-color:#ea9959;}.t-calendar th{border-color:#d2c7b4;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Sunset/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Sunset/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Sunset/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#ca734b #722205 #722205 #ca734b;background-color:#a13606;}.t-editor-button .t-state-active{border-color:#a24b0f #e09d5c #e09d5c #a24b0f;background-color:#d3751a;}.t-slider .t-draghandle{background-image:url('Sunset/sprite.png');color:#714734;}.t-slider-track{border-color:#c6c0a8;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Sunset/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Sunset/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Sunset/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Sunset/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Sunset/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Sunset/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Sunset/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Sunset/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Sunset/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Sunset/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Sunset/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Sunset/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Sunset/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Sunset/slider-v-right.gif');}.t-tooltip{border-color:#c0bca2;background:#d6ceba 0 -96px repeat-x url('Sunset/sprite.png');color:#2d0e06;}.t-callout{background-image:url('Sunset/sprite.png');}.t-splitter{border-color:#cac8ab;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#ececd8;border-color:#cac8ab;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Sunset/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Sunset/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#bbb99d;}.t-dropzone-hovered,.t-upload-files{background-color:#f5f5e6;}.t-dropzone em{color:#714734;}.t-progress,.t-progress-status{background-image:url('Sunset/sprite.png');}.t-progress{background-position:0 -465px;border-color:#cfc5b1 #cbc6af #c2bda4;}.t-progress-status{background-position:0 -472px;border-color:#2b140d transparent #593324;}.t-imagebrowser .t-content{background:#dee0c8;}.t-breadcrumbs .t-link{color:#2d0e06;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#714734;}.t-tiles-toolbar{border-color:#bbb99d;background:#d6ceba 0 -96px repeat-x url('Sunset/sprite.png');}.t-tiles-arrange{color:#714734;}.t-tiles-arrange a{color:#2d0e06;}.t-tiles{border-color:#bbb99d;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Sunset/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#e7941e;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#854324;background-position:0 -100px;color:#fff;}.t-tile .t-folder{background-image:url('Sunset/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#986011;}.t-tiles li.t-state-selected em,.t-tiles li.t-state-selected .t-filesize{color:#dbaa93;}.t-tile-empty strong{color:#ae9b87;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.telerik.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.telerik.min.css deleted file mode 100644 index f93ec18b1..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.telerik.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#828282;background-color:#fff;}.t-header,.t-grid-header{border-color:#828282;background:#f6f6f6 url('Telerik/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Telerik/sprite.png');}.t-editor .t-tool-icon{background-image:url('Telerik/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Telerik/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#828282;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#828282;}.t-separator{border-color:#f3f3f3;background-color:#bdbdbd;}.t-alt{background-color:#f7f7f7;}.t-state-default{border-color:#828282;}.t-active-filter{background-color:#dfdfdf;}.t-state-hover,.t-state-hover:hover{background-color:#b6f0a3;border-color:#28a900;}.t-state-active{background-color:#fff;border-color:#28a900;}.t-state-selected{background-color:#8cc569;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#828282;color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#f6f6f6 url('Telerik/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#a2ea8b;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#aaa;background-color:#eee;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grouping-row td{background:#fff url('Telerik/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#eee;border-color:#828282 #eee #fff;}.t-group-footer td{background-color:#eee;border-color:#828282;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#eee;border-color:#828282;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Telerik/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Telerik/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#1c7600;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#aaa;}.t-calendar th{border-color:#c5c5c5;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Telerik/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Telerik/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Telerik/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#d6f1cd #809a77 #809a77 #d6f1cd;background-color:#c0e9b3;}.t-editor-button .t-state-active{border-color:#8c8c8c #d8d8d8 #d8d8d8 #8c8c8c;background-color:#c4c4c4;}.t-slider .t-draghandle{background-image:url('Telerik/sprite.png');color:#828282;}.t-slider-track{border-color:#a5a5a5;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Telerik/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Telerik/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Telerik/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Telerik/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Telerik/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Telerik/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Telerik/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Telerik/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Telerik/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Telerik/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Telerik/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Telerik/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Telerik/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Telerik/slider-v-right.gif');}.t-tooltip{border-color:#cccab0;background:#f6f6f6 0 -557px repeat-x url('Telerik/sprite.png');}.t-callout{background-image:url('Telerik/sprite.png');}.t-splitter{border-color:#aaa;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#eee;border-color:#aaa;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Telerik/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Telerik/sprite-vertical.png');}.t-restricted-size-horizontal,.t-restricted-size-vertical{background-color:#f00;}.t-dropzone-active,.t-upload-files{border-color:#abadb3;}.t-dropzone-hovered,.t-upload-files{background-color:#f1f1f1;}.t-dropzone em{color:#999;}.t-progress,.t-progress-status{background-image:url('Telerik/sprite.png');}.t-progress{background-position:0 -465px;border-color:#b4b4b4 #cbc6af #c2bda4;}.t-progress-status{background-position:0 -472px;border-color:#9bcc76 transparent #63af3a;}.t-imagebrowser .t-content{background:#f1f1f1;}.t-breadcrumbs .t-link{color:#666;}.t-breadcrumbs .t-link:hover{color:#000;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#999;}.t-tiles-toolbar{border-color:#e2e3ea;}.t-tiles-arrange{color:#666;}.t-tiles-arrange a{color:#000;}.t-tiles{border-color:#e2e3ea;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Telerik/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#abadb3;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#abadb3;background-position:0 -100px;}.t-tiles-toolbar,.t-tile .t-folder{background-image:url('Telerik/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#666;}.t-tile-empty strong{color:#9e9e9e;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.vista.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.vista.min.css deleted file mode 100644 index c46cca584..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.vista.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#a7bac5;background-color:#fff;}.t-widget,.t-widget button,.t-widget input,.t-widget select,.t-button,.t-formatted-value{font-family:"Segoe UI",Arial,sans-serif;}.t-header,.t-grid-header{border-color:#a7bac5;background:#a6d9f4 url('Vista/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Vista/sprite.png');}.t-editor .t-tool-icon{background-image:url('Vista/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied,.t-cancel{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Vista/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#a7bac5;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#a7bac5;}.t-separator{border-color:#eaf6fd;background-color:#a7bac5;}.t-alt{background-color:#f7f7f7;}.t-state-default{border-color:#a7bac5;}.t-active-filter{background-color:#ceeefd;}.t-state-hover,.t-state-hover:hover{background-color:#e3f4fc;border-color:#a7bac5;}.t-state-active{background-color:#fff;border-color:#a7bac5;}.t-state-selected{background-color:#c8e8f8;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#a7bac5;color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#d1d1d1 url('Vista/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#a7daf4;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;border-color:#bbb;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#bbb;background-color:#eff7fc;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grouping-row td{background:#fff url('Vista/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#e0e5f5;border-color:#aec5d1 #e0e5f5 #fff;}.t-group-footer td{background-color:#e0e5f5;border-color:#aec5d1;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#e0e5f5;border-color:#aec5d1;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Vista/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-grouping-row p{margin-left:-.6em;padding-left:.6em;}.t-treeview .t-drop-clue{background-image:url('Vista/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#99defd;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#aaa;}.t-calendar th{border-color:#e0e0e0;}.t-other-month .t-link{color:#777;}.t-editor-button .t-state-hover{border-color:#ebf6fd #88a1af #88a1af #ebf6fd;background-color:#c9e8fa;}.t-editor-button .t-state-active{border-color:#809eae #bae1f5 #bae1f5 #809eae;background-color:#95cfec;}.t-slider .t-draghandle{background-image:url('Vista/sprite.png');color:#333;}.t-slider-track{border-color:#d3dce2;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Vista/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Vista/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Vista/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Vista/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Vista/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Vista/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Vista/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Vista/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Vista/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Vista/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Vista/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Vista/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Vista/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Vista/slider-v-right.gif');}.t-tooltip{border-color:#767676;background:#e4e5f0 0 -96px repeat-x url('Vista/sprite.png');}.t-callout{background-image:url('Vista/sprite.png');}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Vista/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Vista/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#d2dfe6;}.t-dropzone-hovered,.t-upload-files{background-color:#eff7fc;}.t-dropzone em{color:#a7bac5;}.t-progress,.t-progress-status{background-image:url('Vista/sprite.png');}.t-progress{background-position:0 -467px;border-color:#bfd0da #c4d4dd;}.t-progress-status{background-position:0 -471px;border-color:#1db2ee transparent #0067c2;}.t-imagebrowser .t-content{background:#f1f1f1;}.t-breadcrumbs .t-link{color:#666;}.t-breadcrumbs .t-link:hover{color:#06c;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#777d81;}.t-tiles-toolbar{border-color:#a7bac5;}.t-tiles{border-color:#a7bac5;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Vista/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#99defd;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#9bd3f0;background-position:0 -100px;}.t-tiles-toolbar,.t-tile .t-folder{background-image:url('Vista/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#767d80;}.t-tile-empty strong{color:#a7bac5;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.web20.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.web20.min.css deleted file mode 100644 index 58bc7dfe1..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.web20.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#4e75b3;background-color:#fff;}.t-header,.t-grid-header{border-color:#4a70ae;background:#7fa5d7 url('Web20/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Web20/sprite.png');}.t-editor .t-tool-icon{background-image:url('Web20/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-48px -160px;}.t-arrow-down{background-position:-48px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -224px;}.t-arrow-prev{background-position:-16px -224px;}.t-arrow-next{background-position:-32px -224px;}.t-arrow-last{background-position:-48px -224px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Web20/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#333;}.t-header,.t-header .t-link{color:#fff;}.t-header .t-group,.t-group .t-link{color:#333;}.t-group,.t-content,.t-editable-area{border-color:#4a70ae;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#4e75b3;}.t-separator{border-color:#93b2dc;background-color:#688bbb;}.t-alt{background-color:#fff;}.t-state-default{border-color:#4a70ae;}.t-active-filter{background-color:#87a6d4;}.t-state-hover,.t-state-hover .t-link,.t-header .t-state-hover,.t-group .t-state-hover{color:#333;}.t-state-hover,.t-state-hover:hover{background-color:#a4c2f1;border-color:#4a70ae;}.t-state-active{background-color:#fff;border-color:#4a70ae;}.t-state-active,.t-state-active .t-link,.t-state-active .t-header .t-state-active,.t-state-active .t-header .t-state-active .t-link{color:#333;}.t-state-active .t-header,.t-state-active .t-header .t-link{color:#fff;}.t-state-active .t-state-hover,.t-state-active .t-header .t-state-hover .t-link{color:#333;}.t-state-selected{background-color:#d4ffbc;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#4a70ae;color:#fff;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#607fc5 url('Web20/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#c1d5ef;color:#0f3789;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#abb9de;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#829cbf;background-color:#e3eeff;}.t-panelbar .t-link{border-color:#333;}.t-grid td,.t-grid .t-last{border-bottom:1px solid #cfd9e7;border-right:1px solid #829cbf;}.t-grouping-row td{background:#fff url('Web20/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#e3eeff;border-color:#829cbf #e3eeff #fff;}.t-group-footer td{background-color:#e3eeff;border-color:#829cbf;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#e3eeff;border-color:#829cbf;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Web20/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Web20/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#85c843;}.t-editor-button .t-state-active{background-color:#4567ba;}.t-calendar th{background-color:#ecf4ff;border-color:#bcd2f1;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Web20/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Web20/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Web20/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-drag-clue{color:#fff;}.t-editor-button .t-state-hover{border-color:#8ea9d1 #385b9d #385b9d #8ea9d1;background-color:#7fa5d7;}.t-editor-button .t-state-active{border-color:#3a5c9d #89a2cc #89a2cc #3a5c9d;background-color:#567cb8;}.t-slider .t-draghandle{background-image:url('Web20/sprite.png');color:#4e75b3;}.t-slider-track{border-color:#7794c3;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Web20/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Web20/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Web20/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Web20/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Web20/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Web20/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Web20/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Web20/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Web20/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Web20/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Web20/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Web20/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Web20/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Web20/slider-v-right.gif');}.t-tooltip{border-color:#b2c5e4;background:#bed4f6 0 -96px repeat-x url('Web20/sprite.png');color:#0f3789;}.t-callout{background-image:url('Web20/sprite.png');}.t-splitter{border-color:#829cbf;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#93add4;border-color:#829cbf;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Web20/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Web20/sprite-vertical.png');}.t-restricted-size-horizontal,.t-restricted-size-vertical{background-color:#f00;}.t-dropzone-active,.t-upload-files{border-color:#829cbf;}.t-dropzone-hovered,.t-upload-files{background-color:#cedcef;}.t-dropzone em{color:#747886;}.t-progress,.t-progress-status{background-image:url('Web20/sprite.png');}.t-progress{background-position:0 -465px;border-color:#7996c6 #819dca #7996c6;}.t-progress-status{background-position:0 -472px;border-color:#e1ff86 transparent #82eb30;}.t-imagebrowser .t-content{background:#c1d5ef;}.t-tiles-toolbar .t-upload .t-button,.t-breadcrumbs .t-link,.t-tiles-arrange,.t-tiles-arrange a{color:#102152;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#747886;}.t-tiles-toolbar{border-color:#829cbf;background:#bed4f6 repeat-x 0 -96px url('Web20/sprite.png');}.t-tiles{border-color:#829cbf;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Web20/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#4a70ae;background-position:0 0;color:#fff;}.t-tiles li.t-state-selected{border-color:#29448b;background-position:0 -100px;color:#fff;}.t-tile .t-folder{background-image:url('Web20/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#747886;}.t-tiles li.t-state-hover em,.t-tiles li.t-state-hover .t-filesize .t-tiles li.t-state-selected em,.t-tiles li.t-state-selected .t-filesize{color:#b3c4ef;}.t-tile-empty strong{color:#a5bce0;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.webblue.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.webblue.min.css deleted file mode 100644 index 0a95f5437..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.webblue.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#768ca5;background-color:#fff;}.t-header,.t-grid-header{border-color:#426682;background:#718ca1 url('WebBlue/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('WebBlue/sprite.png');}.t-editor .t-tool-icon{background-image:url('WebBlue/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-header .t-arrow-up,.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-header .t-arrow-down,.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-header .t-arrow-first,.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-header .t-arrow-prev,.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-header .t-arrow-next,.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-header .t-arrow-last,.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('WebBlue/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#333;}.t-header,.t-header .t-link{color:#fff;}.t-header .t-group,.t-group .t-link{color:#333;}.t-group,.t-content,.t-editable-area{border-color:#426682;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#768ca5;}.t-separator{border-color:#8aa0b1;background-color:#516273;}.t-alt{background-color:#dae2e8;}.t-state-default{border-color:#426682;}.t-active-filter{background-color:#8dc1d7;}.t-state-hover,.t-state-hover .t-link,.t-header .t-state-hover,.t-group .t-state-hover{color:#333;}.t-state-hover,.t-state-hover:hover{background-color:#acd4e3;border-color:#5d9fb7;}.t-state-active{background-color:#fff;border-color:#426682;}.t-state-active,.t-state-active .t-link{color:#333;}.t-state-active .t-header{color:#fff;}.t-state-active .t-state-hover{color:#333;}.t-state-selected{background-color:#3e94b4;color:#fff;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#426682;color:#0d202b;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#d6e1e7 url('WebBlue/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#bee3f6;color:#0e3d4f;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link{color:#bbb;}.t-button.t-state-disabled,.t-button.t-state-disabled:hover,.t-state-disabled .t-button{color:#657c8c;}.t-header .t-state-disabled,.t-header .t-state-disabled .t-link{color:#abc0d3;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#a2b3c7;background-color:#dae2e8;}.t-panelbar .t-link{border-color:#333;}.t-grid td{border-right:1px solid #dae2e8;}.t-grouping-row td{background:#fff url('WebBlue/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#dae2e8;border-color:#a2b3c7 #dae2e8 #fff;}.t-group-footer td{background-color:#dae2e8;border-color:#a2b3c7;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#dae2e8;border-color:#a2b3c7;}.t-grouping-header .t-group-indicator{color:#333;border-color:#aaa;}.t-grouping-dropclue{background:url('WebBlue/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('WebBlue/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#133C44;}.t-editor-button .t-state-active{background-color:#a2b9c9;}.t-calendar th{background-color:#dfeeff;border-color:#a7c0df;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('WebBlue/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('WebBlue/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('WebBlue/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#5f7c95 #3b576f #3b576f #5f7c95;background-color:#5f7c95;}.t-editor-button .t-state-active{border-color:#5b758e #97b5c7 #97b5c7 #5b758e;background-color:#8ca5b8;}.t-slider .t-draghandle{background-image:url('WebBlue/sprite.png');color:#768ca5;}.t-slider-track{border-color:#c1cbd6;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('WebBlue/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('WebBlue/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('WebBlue/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('WebBlue/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('WebBlue/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('WebBlue/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('WebBlue/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('WebBlue/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('WebBlue/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('WebBlue/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('WebBlue/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('WebBlue/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('WebBlue/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('WebBlue/slider-v-right.gif');}.t-tooltip{border-color:#a7c0df;background:#c4d4dd 0 -96px repeat-x url('WebBlue/sprite.png');color:#0d202b;}.t-callout{background-image:url('WebBlue/sprite.png');}.t-splitter{border-color:#a2b3c7;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#b4c5d9;border-color:#a2b3c7;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('WebBlue/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('WebBlue/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#a2b3c7;}.t-dropzone-hovered,.t-upload-files{background-color:#dae2e8;}.t-dropzone em{color:#8a98a8;}.t-progress,.t-progress-status{background-image:url('WebBlue/sprite.png');}.t-progress{background-position:0 -465px;border-color:#92a4b8 #adbac9 #a2b3c7;}.t-progress-status{background-position:0 -472px;border-color:#a4ff91 transparent #5aff62;}.t-imagebrowser .t-content{background:#dae2e8;}.t-tiles-toolbar .t-upload .t-button,.t-breadcrumbs .t-link,.t-tiles-arrange,.t-tiles-arrange a{color:#0e3d4f;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#8a98a8;}.t-tiles-toolbar{border-color:#a2b3c7;background:#c4d4dd repeat-x 0 -96px url('WebBlue/sprite.png');}.t-tiles{border-color:#a2b3c7;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('WebBlue/imagebrowser.png');color:#0e3d4f;}.t-tiles li.t-state-hover{border-color:#4a70ae;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#768ca5;background-position:0 -100px;color:#fff;}.t-tile .t-folder{background-image:url('WebBlue/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#8a98a8;}.t-tiles li.t-state-selected em,.t-tiles li.t-state-selected .t-filesize{color:#b2c5d2;}.t-tile-empty strong{color:#b3c6d3;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/2011.1.414/telerik.windows7.min.css b/NzbDrone.Web/Content/2011.1.414/telerik.windows7.min.css deleted file mode 100644 index 9df915c44..000000000 --- a/NzbDrone.Web/Content/2011.1.414/telerik.windows7.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-widget{border-color:#a5b3c5;background-color:#fcfcfc;}.t-header,.t-grid-header{border-color:#a5b3c5;background:#f1f5fb;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Windows7/sprite.png');}.t-editor .t-tool-icon{background-image:url('Windows7/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-header .t-arrow-up,.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-header .t-arrow-down,.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-header .t-arrow-first,.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-header .t-arrow-prev,.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-header .t-arrow-next,.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-header .t-arrow-last,.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied,.t-cancel{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Windows7/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#000;}.t-header,.t-header .t-link{color:#4c607a;}.t-header .t-group,.t-group .t-link{color:#333;}.t-group,.t-content,.t-editable-area{border-color:#a5b3c5;background-color:#fcfcfc;}.t-colorpicker .t-arrow-down{border-color:#a5b3c5;}.t-separator{border-color:#fff;background-color:#c2cedb;}.t-alt{background-color:#ebeff3;}.t-state-default{border-color:#a5b3c5;}.t-active-filter{background-color:#c3dcfa;}.t-state-hover,.t-state-hover .t-link,.t-header .t-state-hover,.t-group .t-state-hover{color:#000;}.t-state-hover,.t-state-hover:hover{background-color:#d1e4fc;border-color:#8daed5;}.t-state-active{background-color:#fff;border-color:#426682;}.t-state-selected{background-color:#deecfe;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{color:#0d202b;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{border-color:#c2cedb;background:#e7ecf5 url('Windows7/sprite.png') repeat-x 0 -560px;}.t-button:hover{border-color:#9bc9ff;background-position:0 -624px;background-color:#dde8f6;color:#0e3d4f;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#aec5d1;background-color:#f1f5fb;}.t-panelbar .t-link{border-color:#a5b3c5;}.t-tabstrip .t-item{border-bottom-color:#426682;}.t-grid td{border-right:1px solid #dae2e8;}.t-grouping-row td{background:#fff url('Windows7/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#e2eaf4;border-color:#aec5d1 #e2eaf4;}.t-group-footer td{background-color:#e2eaf4;border-color:#aec5d1;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#e2eaf4;border-color:#aec5d1;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Windows7/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Windows7/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#8fb0d6;}.t-calendar th{border-color:#d4dbe5;}.t-other-month .t-link{color:#a7a7a7;}.t-editor-button .t-state-hover{border-color:#e5f0fd #8ba6c4 #8ba6c4 #e5f0fd;background-color:#d1e4fc;}.t-editor-button .t-state-active{border-color:#aec1d6 #e3ebf5 #e3ebf5 #aec1d6;background-color:#ccdbed;}.t-slider .t-draghandle{background-image:url('Windows7/sprite.png');color:#4c607a;}.t-slider-track{border-color:#a6abc3;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Windows7/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Windows7/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Windows7/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Windows7/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Windows7/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Windows7/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Windows7/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Windows7/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Windows7/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Windows7/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Windows7/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Windows7/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Windows7/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Windows7/slider-v-right.gif');}.t-tooltip{background:#e7ecf5 0 -560px repeat-x url('Windows7/sprite.png');color:#0e3d4f;}.t-callout{background-image:url('Windows7/sprite.png');}.t-splitter{border-color:#dae2e8;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#f1f5fb;border-color:#dae2e8;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Windows7/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Windows7/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#c2cedb;}.t-dropzone-hovered,.t-upload-files{background-color:#f1f5fb;}.t-dropzone em{color:#a7a7a7;}.t-progress,.t-progress-status{background-image:url('Windows7/sprite.png');}.t-progress{background-position:0 -465px;border-color:#c2cedb #c2cedb;}.t-progress-status{background-position:0 -472px;border-color:#1db2ee transparent #3186db;}.t-imagebrowser .t-content{background:#f1f5fb;}.t-breadcrumbs .t-link,.t-tiles-arrange,.t-tiles-arrange a{color:#1e395b;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#a7a7a7;}.t-tiles-toolbar{border-color:#7da2ce;background:#dcebfc;}.t-tiles{border-color:#c2cedb;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Windows7/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#b8d6fb;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#7da2ce;background-position:0 -100px;}.t-tile .t-folder{background-image:url('Windows7/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#a7a7a7;}.t-tiles li.t-state-selected em,.t-tiles li.t-state-selected .t-filesize{color:#7da2ce;}.t-tile-empty strong{color:#c2cedb;} \ No newline at end of file diff --git a/NzbDrone.Web/Content/Site.css b/NzbDrone.Web/Content/NzbDrone.css similarity index 100% rename from NzbDrone.Web/Content/Site.css rename to NzbDrone.Web/Content/NzbDrone.css diff --git a/NzbDrone.Web/Content/Settings.css b/NzbDrone.Web/Content/Settings.css index bbbe6ada0..2169714bf 100644 --- a/NzbDrone.Web/Content/Settings.css +++ b/NzbDrone.Web/Content/Settings.css @@ -82,7 +82,7 @@ p, h1, form, button{border:0; margin:0; padding:0;} margin-bottom: 10px; width:125px; height:31px; - background:#666666 url(img/button.png) no-repeat; + background:#666666; text-align:center; line-height:31px; color:#FFFFFF; diff --git a/NzbDrone.Web/Content/ie.css b/NzbDrone.Web/Content/ie.css deleted file mode 100644 index eb4b13d1d..000000000 --- a/NzbDrone.Web/Content/ie.css +++ /dev/null @@ -1,12 +0,0 @@ -/* -Name: jQuery Simple Drop Down Plugin Stylesheet -Author: Etienne Fardet -Version: 1.2 --- Fixes for IE -- -*/ - -¨* {zoom:1;} - -.drop ul, .drop ul li {width:134px;} -.drop ul li a, .drop ul li a:hover {padding:8px;} -.drop ul li a:hover {background-color:#06f;} diff --git a/NzbDrone.Web/Content/jQueryUI/images/ui-bg_diagonals-thick_30_0b58a2_40x40.png b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_diagonals-thick_30_0b58a2_40x40.png new file mode 100644 index 000000000..6b73385d7 Binary files /dev/null and b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_diagonals-thick_30_0b58a2_40x40.png differ diff --git a/NzbDrone.Web/Content/jQueryUI/images/ui-bg_diagonals-thick_30_a32d00_40x40.png b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_diagonals-thick_30_a32d00_40x40.png new file mode 100644 index 000000000..263c7568b Binary files /dev/null and b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_diagonals-thick_30_a32d00_40x40.png differ diff --git a/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_0_0b3e6f_40x100.png b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_0_0b3e6f_40x100.png new file mode 100644 index 000000000..ec0da7e93 Binary files /dev/null and b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_0_0b3e6f_40x100.png differ diff --git a/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_0_aaaaaa_40x100.png b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 000000000..5b5dab2ab Binary files /dev/null and b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_0_aaaaaa_40x100.png differ diff --git a/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_20_111111_40x100.png b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_20_111111_40x100.png new file mode 100644 index 000000000..2e9365e9b Binary files /dev/null and b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_20_111111_40x100.png differ diff --git a/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_20_333333_40x100.png b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_20_333333_40x100.png new file mode 100644 index 000000000..2f2c7a45b Binary files /dev/null and b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_20_333333_40x100.png differ diff --git a/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_40_00498f_40x100.png b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_40_00498f_40x100.png new file mode 100644 index 000000000..9a14f866d Binary files /dev/null and b/NzbDrone.Web/Content/jQueryUI/images/ui-bg_flat_40_00498f_40x100.png differ diff --git a/NzbDrone.Web/Content/jQueryUI/images/ui-icons_98d2fb_256x240.png b/NzbDrone.Web/Content/jQueryUI/images/ui-icons_98d2fb_256x240.png new file mode 100644 index 000000000..782df8f97 Binary files /dev/null and b/NzbDrone.Web/Content/jQueryUI/images/ui-icons_98d2fb_256x240.png differ diff --git a/NzbDrone.Web/Content/jQueryUI/images/ui-icons_9ccdfc_256x240.png b/NzbDrone.Web/Content/jQueryUI/images/ui-icons_9ccdfc_256x240.png new file mode 100644 index 000000000..1d8ac1ac9 Binary files /dev/null and b/NzbDrone.Web/Content/jQueryUI/images/ui-icons_9ccdfc_256x240.png differ diff --git a/NzbDrone.Web/Content/jQueryUI/images/ui-icons_ffffff_256x240.png b/NzbDrone.Web/Content/jQueryUI/images/ui-icons_ffffff_256x240.png new file mode 100644 index 000000000..42f8f992c Binary files /dev/null and b/NzbDrone.Web/Content/jQueryUI/images/ui-icons_ffffff_256x240.png differ diff --git a/NzbDrone.Web/Content/jquery-ui-1.8.8.custom.css b/NzbDrone.Web/Content/jQueryUI/jquery-ui-1.8.14.nzbdrone.css similarity index 81% rename from NzbDrone.Web/Content/jquery-ui-1.8.8.custom.css rename to NzbDrone.Web/Content/jQueryUI/jquery-ui-1.8.14.nzbdrone.css index ef0d93dbc..6c9f2b7ab 100644 --- a/NzbDrone.Web/Content/jquery-ui-1.8.8.custom.css +++ b/NzbDrone.Web/Content/jQueryUI/jquery-ui-1.8.14.nzbdrone.css @@ -1,7 +1,7 @@ /* - * jQuery UI CSS Framework 1.8.8 + * jQuery UI CSS Framework 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * @@ -42,43 +42,43 @@ /* - * jQuery UI CSS Framework 1.8.8 + * jQuery UI CSS Framework 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://docs.jquery.com/UI/Theming/API * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=&fwDefault=normal&fsDefault=&cornerRadius=0px&bgColorHeader=0b3e6f&bgTextureHeader=01_flat.png&bgImgOpacityHeader=0&borderColorHeader=0b3e6f&fcHeader=f6f6f6&iconColorHeader=98d2fb&bgColorContent=111111&bgTextureContent=01_flat.png&bgImgOpacityContent=20&borderColorContent=000000&fcContent=d9d9d9&iconColorContent=9ccdfc&bgColorDefault=333333&bgTextureDefault=01_flat.png&bgImgOpacityDefault=20&borderColorDefault=333333&fcDefault=ffffff&iconColorDefault=9ccdfc&bgColorHover=00498f&bgTextureHover=01_flat.png&bgImgOpacityHover=40&borderColorHover=222222&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=00498f&bgTextureActive=01_flat.png&bgImgOpacityActive=40&borderColorActive=222222&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=0b58a2&bgTextureHighlight=08_diagonals_thick.png&bgImgOpacityHighlight=30&borderColorHighlight=052f57&fcHighlight=ffffff&iconColorHighlight=ffffff&bgColorError=a32d00&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=30&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffffff&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px */ /* Component containers ----------------------------------*/ -.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } +.ui-widget { font-family: ; font-size: ; } .ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } -.ui-widget-content a { color: #333333; } -.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } -.ui-widget-header a { color: #ffffff; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: ; font-size: 1em; } +.ui-widget-content { border: 1px solid #000000; background: #111111 url(images/ui-bg_flat_20_111111_40x100.png) 50% 50% repeat-x; color: #d9d9d9; } +.ui-widget-content a { color: #d9d9d9; } +.ui-widget-header { border: 1px solid #0b3e6f; background: #0b3e6f url(images/ui-bg_flat_0_0b3e6f_40x100.png) 50% 50% repeat-x; color: #f6f6f6; font-weight: bold; } +.ui-widget-header a { color: #f6f6f6; } /* Interaction states ----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } -.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #333333; background: #333333 url(images/ui-bg_flat_20_333333_40x100.png) 50% 50% repeat-x; font-weight: normal; color: #ffffff; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #ffffff; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #222222; background: #00498f url(images/ui-bg_flat_40_00498f_40x100.png) 50% 50% repeat-x; font-weight: normal; color: #ffffff; } +.ui-state-hover a, .ui-state-hover a:hover { color: #ffffff; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #222222; background: #00498f url(images/ui-bg_flat_40_00498f_40x100.png) 50% 50% repeat-x; font-weight: normal; color: #ffffff; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #ffffff; text-decoration: none; } .ui-widget :active { outline: none; } /* Interaction Cues ----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #052f57; background: #0b58a2 url(images/ui-bg_diagonals-thick_30_0b58a2_40x40.png) 50% 50% repeat; color: #ffffff; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #ffffff; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #a32d00 url(images/ui-bg_diagonals-thick_30_a32d00_40x40.png) 50% 50% repeat; color: #ffffff; } .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } @@ -89,14 +89,14 @@ ----------------------------------*/ /* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); } +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_9ccdfc_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_9ccdfc_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_98d2fb_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_9ccdfc_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } /* positioning */ .ui-icon-carat-1-n { background-position: 0 0; } @@ -280,29 +280,24 @@ ----------------------------------*/ /* Corner radius */ -.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; } -.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; } -.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } -.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } -.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; } -.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } -.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } -.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } -.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; } +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 0px; -webkit-border-top-left-radius: 0px; -khtml-border-top-left-radius: 0px; border-top-left-radius: 0px; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 0px; -webkit-border-top-right-radius: 0px; -khtml-border-top-right-radius: 0px; border-top-right-radius: 0px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 0px; -webkit-border-bottom-left-radius: 0px; -khtml-border-bottom-left-radius: 0px; border-bottom-left-radius: 0px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 0px; -webkit-border-bottom-right-radius: 0px; -khtml-border-bottom-right-radius: 0px; border-bottom-right-radius: 0px; } /* Overlays */ -.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } -.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* - * jQuery UI Resizable 1.8.8 +.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* + * jQuery UI Resizable 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://docs.jquery.com/UI/Resizable#theming */ .ui-resizable { position: relative;} -.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } @@ -312,9 +307,9 @@ .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* - * jQuery UI Selectable 1.8.8 + * jQuery UI Selectable 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * @@ -322,9 +317,9 @@ */ .ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } /* - * jQuery UI Accordion 1.8.8 + * jQuery UI Accordion 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * @@ -339,10 +334,11 @@ .ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } -.ui-accordion .ui-accordion-content-active { display: block; }/* - * jQuery UI Autocomplete 1.8.8 +.ui-accordion .ui-accordion-content-active { display: block; } +/* + * jQuery UI Autocomplete 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * @@ -354,7 +350,7 @@ * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ /* - * jQuery UI Menu 1.8.8 + * jQuery UI Menu 1.8.14 * * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -393,9 +389,9 @@ margin: -1px; } /* - * jQuery UI Button 1.8.8 + * jQuery UI Button 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * @@ -431,9 +427,9 @@ input.ui-button { padding: .4em 1em; } /* workarounds */ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ /* - * jQuery UI Dialog 1.8.8 + * jQuery UI Dialog 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * @@ -452,9 +448,9 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } .ui-draggable .ui-dialog-titlebar { cursor: move; } /* - * jQuery UI Slider 1.8.8 + * jQuery UI Slider 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * @@ -475,9 +471,9 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } .ui-slider-vertical .ui-slider-range-min { bottom: 0; } .ui-slider-vertical .ui-slider-range-max { top: 0; }/* - * jQuery UI Tabs 1.8.8 + * jQuery UI Tabs 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * @@ -493,9 +489,9 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } .ui-tabs .ui-tabs-hide { display: none !important; } /* - * jQuery UI Datepicker 1.8.8 + * jQuery UI Datepicker 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * @@ -533,7 +529,7 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } -.ui-datepicker-row-break { clear:both; width:100%; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } /* RTL support */ .ui-datepicker-rtl { direction: rtl; } @@ -560,9 +556,9 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad width: 200px; /*must have*/ height: 200px; /*must have*/ }/* - * jQuery UI Progressbar 1.8.8 + * jQuery UI Progressbar 1.8.14 * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * diff --git a/NzbDrone.Web/Content/jquery-simpledropdown.css b/NzbDrone.Web/Content/jquery-simpledropdown.css deleted file mode 100644 index a55d488a8..000000000 --- a/NzbDrone.Web/Content/jquery-simpledropdown.css +++ /dev/null @@ -1,34 +0,0 @@ -/* -Name: jQuery Simple Drop Down Plugin Stylesheet -Author: Etienne Fardet -Version: 1.2 -*/ - -/* Demo common styles - Not needed to make the plugin work */ -/* -body {font-family:Verdana, Geneva, sans-serif; font-size:14px;width:40%;margin:0 auto;} -a {text-decoration:none;color:#039;} -h3 {clear:both;color: #039;} -pre {border:1px solid black; padding:8px;width:700px; margin:20px;} -strong {color: #093;} -.requirements {list-style:square;} -.author {color: #003;font-size: 12px;font-weight: bold;font-style: italic;} -*/ - -/* Demo divs - Lists need to be placed in a div with an assigned ID that will be called within the page as a parameter for the main plugin function */ -/* -#dropdown1 {position:relative;z-index:2;} -#dropdown2 {position:relative;z-index:1;} -#dropdown3 {position:relative;z-index:0;margin-left:170px;} -*/ - -/* Necessary Styles to make the demo work - Change background colors and colors to match your needs */ -.dropdown {background:url(./images/arrow.png) no-repeat 10px 8px #D9D6D5;color:#D9D6D5;-khtml-border-radius:8px;border-radius:8px;-moz-border-radius:8px;-webkit-border-radius:8px;cursor:pointer;margin:0;padding:0;position:absolute;} -.dropdown a {text-decoration:none; color:#000;} -.dropdown {list-style-type:none;margin:0;padding:0;width:120;margin:0 auto;} -.drop ul {list-style-type:none;margin:0;padding:0;} -.drop ul li:first-child {border-top:1px solid #D9D6D5;} -.drop ul li {display:none; -moz-border-radius:0;-webkit-border-radius:0;background-color:#D9D6D5;padding:0px; padding-left:4px; padding-right:4px} -.drop ul li:last-child {display:none;-khtml-border-radius:0 0 8px 8px;border-radius:0 0 8px 8px;-moz-border-radius:0 0 8px 8px;-webkit-border-radius:0 0 8px 8px;} -.selected {padding:4px;color:#000;} -.drop ul li:hover {background-color:#06f;} diff --git a/NzbDrone.Web/Content/jquery-ui.css b/NzbDrone.Web/Content/jquery-ui.css deleted file mode 100644 index ccbf186f0..000000000 --- a/NzbDrone.Web/Content/jquery-ui.css +++ /dev/null @@ -1,405 +0,0 @@ -/* -* jQuery UI CSS Framework -* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) -* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. -*/ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } -.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ -.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { cursor: default !important; } - - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } - - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } - -/* -* jQuery UI CSS Framework -* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) -* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. -* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=3px&bgColorHeader=e7eef3&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=100&borderColorHeader=b2c7d7&fcHeader=222222&iconColorHeader=72a7cf&bgColorContent=f9f9f9&bgTextureContent=04_highlight_hard.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=362b36&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=80&borderColorDefault=cccccc&fcDefault=444444&iconColorDefault=888888&bgColorHover=f0f0f0&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=b2c7d7&fcHover=0b5b98&iconColorHover=2694e8&bgColorActive=99c2ff&bgTextureActive=02_glass.png&bgImgOpacityActive=50&borderColorActive=2694e8&fcActive=000000&iconColorActive=ffffff&bgColorHighlight=fbf5d0&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=f9dd34&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=444444&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=15&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=07_diagonals_small.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=0px&offsetTopShadow=4px&offsetLeftShadow=4px&cornerRadiusShadow=4px -*/ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #dddddd; background: #f9f9f9 url(images/ui-bg_highlight-hard_100_f9f9f9_1x100.png) 50% top repeat-x; color: #362b36; } -.ui-widget-content a { color: #362b36; } -.ui-widget-header { border: 1px solid #b2c7d7; background: #e7eef3 url(images/ui-bg_highlight-soft_100_e7eef3_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; } -.ui-widget-header a { color: #222222; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #cccccc; background: #e6e6e6 url(images/ui-bg_glass_80_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #444444; outline: none; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #444444; text-decoration: none; outline: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #b2c7d7; background: #f0f0f0 url(images/ui-bg_glass_100_f0f0f0_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #0b5b98; outline: none; } -.ui-state-hover a, .ui-state-hover a:hover { color: #0b5b98; text-decoration: none; outline: none; } -.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #2694e8; background: #99c2ff url(images/ui-bg_glass_50_99c2ff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #000000; outline: none; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #000000; outline: none; text-decoration: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #f9dd34; background: #fbf5d0 url(images/ui-bg_glass_55_fbf5d0_1x400.png) 50% 50% repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; } -.ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd0a0a; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_72a7cf_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_2694e8_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); } - -/* positioning */ -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-off { background-position: -96px -144px; } -.ui-icon-radio-on { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-tl { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; } -.ui-corner-tr { -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; } -.ui-corner-bl { -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; } -.ui-corner-br { -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; } -.ui-corner-top { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; } -.ui-corner-bottom { -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; } -.ui-corner-right { -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; } -.ui-corner-left { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; } -.ui-corner-all { -moz-border-radius: 3px; -webkit-border-radius: 3px; } - -/* Overlays */ -.ui-widget-overlay { background: #444444 url(images/ui-bg_diagonals-thick_15_444444_40x40.png) 50% 50% repeat; opacity: .30;filter:Alpha(Opacity=30); } -.ui-widget-shadow { margin: 4px 0 0 4px; padding: 0px; background: #aaaaaa url(images/ui-bg_diagonals-small_0_aaaaaa_40x40.png) 50% 50% repeat; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 4px; -webkit-border-radius: 4px; }/* Resizable -----------------------------------*/ -.ui-resizable { position: relative;} -.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} -.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } -.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; } -.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; } -.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; } -.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; } -.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } -.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } -.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } -.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Accordion -----------------------------------*/ -.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } -.ui-accordion .ui-accordion-li-fix { display: inline; } -.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } -.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; } -.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } -.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; } -.ui-accordion .ui-accordion-content-active { display: block; }/* Dialog -----------------------------------*/ -.ui-dialog { position: relative; padding: .2em; width: 300px; } -.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; } -.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; } -.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } -.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } -.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } -.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } -.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } -.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; } -.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } -.ui-draggable .ui-dialog-titlebar { cursor: move; } -/* Slider -----------------------------------*/ -.ui-slider { position: relative; text-align: left; } -.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } -.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; } - -.ui-slider-horizontal { height: .8em; } -.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } -.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } -.ui-slider-horizontal .ui-slider-range-min { left: 0; } -.ui-slider-horizontal .ui-slider-range-max { right: 0; } - -.ui-slider-vertical { width: .8em; height: 100px; } -.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } -.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } -.ui-slider-vertical .ui-slider-range-min { bottom: 0; } -.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs -----------------------------------*/ -.ui-tabs { padding: .2em; zoom: 1; } -.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; } -.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; } -.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } -.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ -.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; } -.ui-tabs .ui-tabs-hide { display: none !important; } -/* Datepicker -----------------------------------*/ -.ui-datepicker { width: 17em; padding: .2em .2em 0; } -.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } -.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } -.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } -.ui-datepicker .ui-datepicker-prev { left:2px; } -.ui-datepicker .ui-datepicker-next { right:2px; } -.ui-datepicker .ui-datepicker-prev-hover { left:1px; } -.ui-datepicker .ui-datepicker-next-hover { right:1px; } -.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } -.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } -.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; } -.ui-datepicker select.ui-datepicker-month-year {width: 100%;} -.ui-datepicker select.ui-datepicker-month, -.ui-datepicker select.ui-datepicker-year { width: 49%;} -.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; } -.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } -.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } -.ui-datepicker td { border: 0; padding: 1px; } -.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } -.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } -.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } -.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } - -/* with multiple calendars */ -.ui-datepicker.ui-datepicker-multi { width:auto; } -.ui-datepicker-multi .ui-datepicker-group { float:left; } -.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } -.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } -.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } -.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } -.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } -.ui-datepicker-row-break { clear:both; width:100%; } - -/* RTL support */ -.ui-datepicker-rtl { direction: rtl; } -.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } -.ui-datepicker-rtl .ui-datepicker-group { float:right; } -.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } -.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } - -/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ -.ui-datepicker-cover { - display: none; /*sorry for IE5*/ - display/**/: block; /*sorry for IE5*/ - position: absolute; /*must have*/ - z-index: -1; /*must have*/ - filter: mask(); /*must have*/ - top: -4px; /*must have*/ - left: -4px; /*must have*/ - width: 200px; /*must have*/ - height: 200px; /*must have*/ -}/* Progressbar -----------------------------------*/ -.ui-progressbar { height:2em; text-align: left; } -.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/NzbDrone.Web/Content/jquery-ui.custom.css b/NzbDrone.Web/Content/jquery-ui.custom.css deleted file mode 100644 index 6201a1cdd..000000000 --- a/NzbDrone.Web/Content/jquery-ui.custom.css +++ /dev/null @@ -1,53 +0,0 @@ -/* Customisation of jQuery-ui classes */ - -.ui-state-error -{ - padding: 3px; - padding-left : 10px; -} - -.ui-state-highlight { - padding: 3px; - padding-left : 10px; -} - -.ui-icon -{ - margin-top: 2px; -} - -.ui-autocomplete { position: absolute; cursor: default; } - -/* workarounds */ -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ - -.ui-menu { - list-style:none; - padding: 2px; - margin: 0; - display:block; - float: left; -} -.ui-menu .ui-menu { - margin-top: -3px; -} -.ui-menu .ui-menu-item { - margin:0; - padding: 0; - zoom: 1; - float: left; - clear: left; - width: 100%; -} -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; -} -.ui-menu .ui-menu-item a.ui-state-hover, -.ui-menu .ui-menu-item a.ui-state-active { - font-weight: normal; - margin: -1px; -} \ No newline at end of file diff --git a/NzbDrone.Web/Controllers/NotificationController.cs b/NzbDrone.Web/Controllers/NotificationController.cs index 25d9cac2a..c1796cac0 100644 --- a/NzbDrone.Web/Controllers/NotificationController.cs +++ b/NzbDrone.Web/Controllers/NotificationController.cs @@ -1,4 +1,7 @@ -using System.Web.Mvc; +using System; +using System.Diagnostics; +using System.Threading; +using System.Web.Mvc; using MvcMiniProfiler; using NzbDrone.Core.Providers; @@ -32,8 +35,8 @@ namespace NzbDrone.Web.Controllers else { - if (_notifications.GetProgressNotifications.Count != 0) - message = _notifications.GetProgressNotifications[0].CurrentMessage; + if (_notifications.ProgressNotifications.Count != 0) + message = _notifications.ProgressNotifications[0].CurrentMessage; } @@ -44,5 +47,31 @@ namespace NzbDrone.Web.Controllers return Json(message, JsonRequestBehavior.AllowGet); } + + + [HttpGet] + public JsonResult Comet(string message) + { + MiniProfiler.Stop(true); + + var currentMessage = GetCurrentMessage(); + + while (message == currentMessage) + { + Thread.Sleep(250); + currentMessage = GetCurrentMessage(); + } + + return Json(currentMessage, JsonRequestBehavior.AllowGet); + } + + private string GetCurrentMessage() + { + if (_notifications.ProgressNotifications.Count != 0) + return _notifications.ProgressNotifications[0].CurrentMessage; + + + return string.Empty; + } } } \ No newline at end of file diff --git a/NzbDrone.Web/Controllers/SettingsController.cs b/NzbDrone.Web/Controllers/SettingsController.cs index c5d627648..74a7a8d21 100644 --- a/NzbDrone.Web/Controllers/SettingsController.cs +++ b/NzbDrone.Web/Controllers/SettingsController.cs @@ -269,37 +269,7 @@ namespace NzbDrone.Web.Controllers } } - [HttpPost] - public ActionResult SaveGeneral(SettingsModel data) - { - var basicNotification = new BasicNotification(); - basicNotification.Type = BasicNotificationType.Info; - basicNotification.AutoDismiss = true; - - try - { - foreach (var dir in data.Directories) - { - _rootDirProvider.Update(dir); - } - } - catch (Exception ex) - { - Logger.Debug("Failed to save Root Dirs"); - Logger.DebugException(ex.Message, ex); - - basicNotification.Title = SETTINGS_FAILED; - _notificationProvider.Register(basicNotification); - return Content(SETTINGS_FAILED); - } - - - basicNotification.Title = SETTINGS_SAVED; - _notificationProvider.Register(basicNotification); - - return Content(SETTINGS_SAVED); - } - + [HttpPost] public ActionResult SaveIndexers(IndexerSettingsModel data) { diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 4c33c6c64..cdc7f718a 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -179,325 +179,24 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - @@ -541,59 +240,21 @@ - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - + + + + @@ -607,21 +268,6 @@ Web.config - - - - - - - - - - - - - - - diff --git a/NzbDrone.Web/Scripts/2011.1.414/jquery-1.5.1.min.js b/NzbDrone.Web/Scripts/2011.1.414/jquery-1.5.1.min.js deleted file mode 100644 index 6437874c6..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/jquery-1.5.1.min.js +++ /dev/null @@ -1,16 +0,0 @@ -/*! - * jQuery JavaScript Library v1.5.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Wed Feb 23 13:55:29 2011 -0500 - */ -(function(a,b){function cg(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cd(a){if(!bZ[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bZ[a]=c}return bZ[a]}function cc(a,b){var c={};d.each(cb.concat.apply([],cb.slice(0,b)),function(){c[this]=a});return c}function bY(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bX(){try{return new a.XMLHttpRequest}catch(b){}}function bW(){d(a).unload(function(){for(var a in bU)bU[a](0,1)})}function bQ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(r,"`").replace(s,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,q=[],r=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function w(){return!0}function v(){return!1}function g(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1){var f=E.call(arguments,0),g=b,h=function(a){return function(b){f[a]=arguments.length>1?E.call(arguments,0):b,--g||c.resolveWith(e,f)}};while(b--)a=f[b],a&&d.isFunction(a.promise)?a.promise().then(h(b),c.reject):--g;g||c.resolveWith(e,f)}else c!==a&&c.resolve(a);return e},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="
a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e),b=e=f=null}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!g(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,h=b.nodeType,i=h?d.cache:b,j=h?b[d.expando]:d.expando;if(!i[j])return;if(c){var k=e?i[j][f]:i[j];if(k){delete k[c];if(!g(k))return}}if(e){delete i[j][f];if(!g(i[j]))return}var l=i[j][f];d.support.deleteExpando||i!=a?delete i[j]:i[j]=null,l?(i[j]={},h||(i[j].toJSON=d.noop),i[j][f]=l):h&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var k=i?f:0,l=i?f+1:h.length;k=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=k.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&l.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:m.test(a.nodeName)||n.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var p=/\.(.*)$/,q=/^(?:textarea|input|select)$/i,r=/\./g,s=/ /g,t=/[^\w\s.|`]/g,u=function(a){return a.replace(t,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=v;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),u).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(p,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(q.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return q.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return q.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.getAttribute("type")},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(d||!l.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return k(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="
";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div
","
"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){$(a,e),f=_(a),g=_(e);for(h=0;f[h];++h)$(f[h],g[h])}if(b){Z(a,e);if(c){f=_(a),g=_(e);for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bb=/alpha\([^)]*\)/i,bc=/opacity=([^)]*)/,bd=/-([a-z])/ig,be=/([A-Z])/g,bf=/^-?\d+(?:px)?$/i,bg=/^-?\d/,bh={position:"absolute",visibility:"hidden",display:"block"},bi=["Left","Right"],bj=["Top","Bottom"],bk,bl,bm,bn=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bk(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bk)return bk(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bd,bn)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bo(a,b,e):d.swap(a,bh,function(){f=bo(a,b,e)});if(f<=0){f=bk(a,b,b),f==="0px"&&bm&&(f=bm(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bf.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bb.test(f)?f.replace(bb,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bl=function(a,c,e){var f,g,h;e=e.replace(be,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bm=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bf.test(d)&&bg.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bk=bl||bm,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bp=/%20/g,bq=/\[\]$/,br=/\r?\n/g,bs=/#.*$/,bt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bu=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bv=/(?:^file|^widget|\-extension):$/,bw=/^(?:GET|HEAD)$/,bx=/^\/\//,by=/\?/,bz=/)<[^<]*)*<\/script>/gi,bA=/^(?:select|textarea)/i,bB=/\s+/,bC=/([?&])_=[^&]*/,bD=/(^|\-)([a-z])/g,bE=function(a,b,c){return b+c.toUpperCase()},bF=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,bG=d.fn.load,bH={},bI={},bJ,bK;try{bJ=c.location.href}catch(bL){bJ=c.createElement("a"),bJ.href="",bJ=bJ.href}bK=bF.exec(bJ.toLowerCase()),d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bG)return bG.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("
").append(c.replace(bz,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bA.test(this.nodeName)||bu.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(br,"\r\n")}}):{name:b.name,value:c.replace(br,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bJ,isLocal:bv.test(bK[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bM(bH),ajaxTransport:bM(bI),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bP(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bQ(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bD,bE)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bt.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bs,"").replace(bx,bK[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bB),e.crossDomain||(q=bF.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bK[1]||q[2]!=bK[2]||(q[3]||(q[1]==="http:"?80:443))!=(bK[3]||(bK[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bN(bH,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!bw.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(by.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bC,"$1_="+w);e.url=x+(x===e.url?(by.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bN(bI,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bO(g,a[g],c,f);return e.join("&").replace(bp,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bR=d.now(),bS=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bR++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bS.test(b.url)||f&&bS.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bS,l),b.url===j&&(f&&(k=k.replace(bS,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bT=d.now(),bU,bV;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bX()||bY()}:bX,bV=d.ajaxSettings.xhr(),d.support.ajax=!!bV,d.support.cors=bV&&"withCredentials"in bV,bV=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),(!a.crossDomain||a.hasContent)&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bU[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bU||(bU={},bW()),h=bT++,g.onreadystatechange=bU[h]=c):c()},abort:function(){c&&c(0,1)}}}});var bZ={},b$=/^(?:toggle|show|hide)$/,b_=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ca,cb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(cc("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:cc("show",1),slideUp:cc("hide",1),slideToggle:cc("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!ca&&(ca=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=cf.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!cf.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=cg(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=cg(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/jquery.validate.min.js b/NzbDrone.Web/Scripts/2011.1.414/jquery.validate.min.js deleted file mode 100644 index 7ab1d85b2..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/jquery.validate.min.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * jQuery Validation Plugin 1.8.0 - * - * http://bassistance.de/jquery-plugins/jquery-plugin-validation/ - * http://docs.jquery.com/Plugins/Validation - * - * Copyright (c) 2006 - 2011 Jörn Zaefferer - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ -(function(c){c.extend(c.fn,{validate:function(a){if(this.length){var b=c.data(this[0],"validator");if(b)return b;b=new c.validator(a,this[0]);c.data(this[0],"validator",b);if(b.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){b.cancelSubmit=true});b.settings.submitHandler&&this.find("input, button").filter(":submit").click(function(){b.submitButton=this});this.submit(function(d){function e(){if(b.settings.submitHandler){if(b.submitButton)var f=c("").attr("name", -b.submitButton.name).val(b.submitButton.value).appendTo(b.currentForm);b.settings.submitHandler.call(b,b.currentForm);b.submitButton&&f.remove();return false}return true}b.settings.debug&&d.preventDefault();if(b.cancelSubmit){b.cancelSubmit=false;return e()}if(b.form()){if(b.pendingRequest){b.formSubmitted=true;return false}return e()}else{b.focusInvalid();return false}})}return b}else a&&a.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing")},valid:function(){if(c(this[0]).is("form"))return this.validate().form(); -else{var a=true,b=c(this[0].form).validate();this.each(function(){a&=b.element(this)});return a}},removeAttrs:function(a){var b={},d=this;c.each(a.split(/\s/),function(e,f){b[f]=d.attr(f);d.removeAttr(f)});return b},rules:function(a,b){var d=this[0];if(a){var e=c.data(d.form,"validator").settings,f=e.rules,g=c.validator.staticRules(d);switch(a){case "add":c.extend(g,c.validator.normalizeRule(b));f[d.name]=g;if(b.messages)e.messages[d.name]=c.extend(e.messages[d.name],b.messages);break;case "remove":if(!b){delete f[d.name]; -return g}var h={};c.each(b.split(/\s/),function(j,i){h[i]=g[i];delete g[i]});return h}}d=c.validator.normalizeRules(c.extend({},c.validator.metadataRules(d),c.validator.classRules(d),c.validator.attributeRules(d),c.validator.staticRules(d)),d);if(d.required){e=d.required;delete d.required;d=c.extend({required:e},d)}return d}});c.extend(c.expr[":"],{blank:function(a){return!c.trim(""+a.value)},filled:function(a){return!!c.trim(""+a.value)},unchecked:function(a){return!a.checked}});c.validator=function(a, -b){this.settings=c.extend(true,{},c.validator.defaults,a);this.currentForm=b;this.init()};c.validator.format=function(a,b){if(arguments.length==1)return function(){var d=c.makeArray(arguments);d.unshift(a);return c.validator.format.apply(this,d)};if(arguments.length>2&&b.constructor!=Array)b=c.makeArray(arguments).slice(1);if(b.constructor!=Array)b=[b];c.each(b,function(d,e){a=a.replace(RegExp("\\{"+d+"\\}","g"),e)});return a};c.extend(c.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error", -validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:c([]),errorLabelContainer:c([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(a){this.lastActive=a;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass);this.addWrapper(this.errorsFor(a)).hide()}},onfocusout:function(a){if(!this.checkable(a)&&(a.name in this.submitted||!this.optional(a)))this.element(a)}, -onkeyup:function(a){if(a.name in this.submitted||a==this.lastElement)this.element(a)},onclick:function(a){if(a.name in this.submitted)this.element(a);else a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(a,b,d){c(a).addClass(b).removeClass(d)},unhighlight:function(a,b,d){c(a).removeClass(b).addClass(d)}},setDefaults:function(a){c.extend(c.validator.defaults,a)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.", -url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:c.validator.format("Please enter no more than {0} characters."),minlength:c.validator.format("Please enter at least {0} characters."),rangelength:c.validator.format("Please enter a value between {0} and {1} characters long."), -range:c.validator.format("Please enter a value between {0} and {1}."),max:c.validator.format("Please enter a value less than or equal to {0}."),min:c.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){function a(e){var f=c.data(this[0].form,"validator");e="on"+e.type.replace(/^validate/,"");f.settings[e]&&f.settings[e].call(f,this[0])}this.labelContainer=c(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&& -this.labelContainer||c(this.currentForm);this.containers=c(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var b=this.groups={};c.each(this.settings.groups,function(e,f){c.each(f.split(/\s/),function(g,h){b[h]=e})});var d=this.settings.rules;c.each(d,function(e,f){d[e]=c.validator.normalizeRule(f)});c(this.currentForm).validateDelegate(":text, :password, :file, select, textarea", -"focusin focusout keyup",a).validateDelegate(":radio, :checkbox, select, option","click",a);this.settings.invalidHandler&&c(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){this.checkForm();c.extend(this.submitted,this.errorMap);this.invalid=c.extend({},this.errorMap);this.valid()||c(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]); -return this.valid()},element:function(a){this.lastElement=a=this.clean(a);this.prepareElement(a);this.currentElements=c(a);var b=this.check(a);if(b)delete this.invalid[a.name];else this.invalid[a.name]=true;if(!this.numberOfInvalids())this.toHide=this.toHide.add(this.containers);this.showErrors();return b},showErrors:function(a){if(a){c.extend(this.errorMap,a);this.errorList=[];for(var b in a)this.errorList.push({message:a[b],element:this.findByName(b)[0]});this.successList=c.grep(this.successList, -function(d){return!(d.name in a)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){c.fn.resetForm&&c(this.currentForm).resetForm();this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b=0,d;for(d in a)b++;return b},hideErrors:function(){this.addWrapper(this.toHide).hide()}, -valid:function(){return this.size()==0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{c(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(a){}},findLastActive:function(){var a=this.lastActive;return a&&c.grep(this.errorList,function(b){return b.element.name==a.name}).length==1&&a},elements:function(){var a=this,b={};return c([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&& -a.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in b||!a.objectLength(c(this).rules()))return false;return b[this.name]=true})},clean:function(a){return c(a)[0]},errors:function(){return c(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=c([]);this.toHide=c([]);this.currentElements=c([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)}, -prepareElement:function(a){this.reset();this.toHide=this.errorsFor(a)},check:function(a){a=this.clean(a);if(this.checkable(a))a=this.findByName(a.name).not(this.settings.ignore)[0];var b=c(a).rules(),d=false,e;for(e in b){var f={method:e,parameters:b[e]};try{var g=c.validator.methods[e].call(this,a.value.replace(/\r/g,""),a,f.parameters);if(g=="dependency-mismatch")d=true;else{d=false;if(g=="pending"){this.toHide=this.toHide.not(this.errorsFor(a));return}if(!g){this.formatAndAdd(a,f);return false}}}catch(h){this.settings.debug&& -window.console&&console.log("exception occured when checking element "+a.id+", check the '"+f.method+"' method",h);throw h;}}if(!d){this.objectLength(b)&&this.successList.push(a);return true}},customMetaMessage:function(a,b){if(c.metadata){var d=this.settings.meta?c(a).metadata()[this.settings.meta]:c(a).metadata();return d&&d.messages&&d.messages[b]}},customMessage:function(a,b){var d=this.settings.messages[a];return d&&(d.constructor==String?d:d[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+a.name+"")},formatAndAdd:function(a,b){var d=this.defaultMessage(a,b.method),e=/\$?\{(\d+)\}/g;if(typeof d=="function")d=d.call(this,b.parameters,a);else if(e.test(d))d=jQuery.format(d.replace(e,"{$1}"),b.parameters);this.errorList.push({message:d, -element:a});this.errorMap[a.name]=d;this.submitted[a.name]=d},addWrapper:function(a){if(this.settings.wrapper)a=a.add(a.parent(this.settings.wrapper));return a},defaultShowErrors:function(){for(var a=0;this.errorList[a];a++){var b=this.errorList[a];this.settings.highlight&&this.settings.highlight.call(this,b.element,this.settings.errorClass,this.settings.validClass);this.showLabel(b.element,b.message)}if(this.errorList.length)this.toShow=this.toShow.add(this.containers);if(this.settings.success)for(a= -0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight){a=0;for(b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass)}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return c(this.errorList).map(function(){return this.element})},showLabel:function(a, -b){var d=this.errorsFor(a);if(d.length){d.removeClass().addClass(this.settings.errorClass);d.attr("generated")&&d.html(b)}else{d=c("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(a),generated:true}).addClass(this.settings.errorClass).html(b||"");if(this.settings.wrapper)d=d.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();this.labelContainer.append(d).length||(this.settings.errorPlacement?this.settings.errorPlacement(d,c(a)):d.insertAfter(a))}if(!b&&this.settings.success){d.text(""); -typeof this.settings.success=="string"?d.addClass(this.settings.success):this.settings.success(d)}this.toShow=this.toShow.add(d)},errorsFor:function(a){var b=this.idOrName(a);return this.errors().filter(function(){return c(this).attr("for")==b})},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(a){var b=this.currentForm;return c(document.getElementsByName(a)).map(function(d,e){return e.form== -b&&e.name==a&&e||null})},getLength:function(a,b){switch(b.nodeName.toLowerCase()){case "select":return c("option:selected",b).length;case "input":if(this.checkable(b))return this.findByName(b.name).filter(":checked").length}return a.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):true},dependTypes:{"boolean":function(a){return a},string:function(a,b){return!!c(a,b.form).length},"function":function(a,b){return a(b)}},optional:function(a){return!c.validator.methods.required.call(this, -c.trim(a.value),a)&&"dependency-mismatch"},startRequest:function(a){if(!this.pending[a.name]){this.pendingRequest++;this.pending[a.name]=true}},stopRequest:function(a,b){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[a.name];if(b&&this.pendingRequest==0&&this.formSubmitted&&this.form()){c(this.currentForm).submit();this.formSubmitted=false}else if(!b&&this.pendingRequest==0&&this.formSubmitted){c(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted= -false}},previousValue:function(a){return c.data(a,"previousValue")||c.data(a,"previousValue",{old:null,valid:true,message:this.defaultMessage(a,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(a,b){a.constructor==String?this.classRuleSettings[a]=b:c.extend(this.classRuleSettings, -a)},classRules:function(a){var b={};(a=c(a).attr("class"))&&c.each(a.split(" "),function(){this in c.validator.classRuleSettings&&c.extend(b,c.validator.classRuleSettings[this])});return b},attributeRules:function(a){var b={};a=c(a);for(var d in c.validator.methods){var e=a.attr(d);if(e)b[d]=e}b.maxlength&&/-1|2147483647|524288/.test(b.maxlength)&&delete b.maxlength;return b},metadataRules:function(a){if(!c.metadata)return{};var b=c.data(a.form,"validator").settings.meta;return b?c(a).metadata()[b]: -c(a).metadata()},staticRules:function(a){var b={},d=c.data(a.form,"validator");if(d.settings.rules)b=c.validator.normalizeRule(d.settings.rules[a.name])||{};return b},normalizeRules:function(a,b){c.each(a,function(d,e){if(e===false)delete a[d];else if(e.param||e.depends){var f=true;switch(typeof e.depends){case "string":f=!!c(e.depends,b.form).length;break;case "function":f=e.depends.call(b,b)}if(f)a[d]=e.param!==undefined?e.param:true;else delete a[d]}});c.each(a,function(d,e){a[d]=c.isFunction(e)? -e(b):e});c.each(["minlength","maxlength","min","max"],function(){if(a[this])a[this]=Number(a[this])});c.each(["rangelength","range"],function(){if(a[this])a[this]=[Number(a[this][0]),Number(a[this][1])]});if(c.validator.autoCreateRanges){if(a.min&&a.max){a.range=[a.min,a.max];delete a.min;delete a.max}if(a.minlength&&a.maxlength){a.rangelength=[a.minlength,a.maxlength];delete a.minlength;delete a.maxlength}}a.messages&&delete a.messages;return a},normalizeRule:function(a){if(typeof a=="string"){var b= -{};c.each(a.split(/\s/),function(){b[this]=true});a=b}return a},addMethod:function(a,b,d){c.validator.methods[a]=b;c.validator.messages[a]=d!=undefined?d:c.validator.messages[a];b.length<3&&c.validator.addClassRules(a,c.validator.normalizeRule(a))},methods:{required:function(a,b,d){if(!this.depend(d,b))return"dependency-mismatch";switch(b.nodeName.toLowerCase()){case "select":return(a=c(b).val())&&a.length>0;case "input":if(this.checkable(b))return this.getLength(a,b)>0;default:return c.trim(a).length> -0}},remote:function(a,b,d){if(this.optional(b))return"dependency-mismatch";var e=this.previousValue(b);this.settings.messages[b.name]||(this.settings.messages[b.name]={});e.originalMessage=this.settings.messages[b.name].remote;this.settings.messages[b.name].remote=e.message;d=typeof d=="string"&&{url:d}||d;if(this.pending[b.name])return"pending";if(e.old===a)return e.valid;e.old=a;var f=this;this.startRequest(b);var g={};g[b.name]=a;c.ajax(c.extend(true,{url:d,mode:"abort",port:"validate"+b.name, -dataType:"json",data:g,success:function(h){f.settings.messages[b.name].remote=e.originalMessage;var j=h===true;if(j){var i=f.formSubmitted;f.prepareElement(b);f.formSubmitted=i;f.successList.push(b);f.showErrors()}else{i={};h=h||f.defaultMessage(b,"remote");i[b.name]=e.message=c.isFunction(h)?h(a):h;f.showErrors(i)}e.valid=j;f.stopRequest(b,j)}},d));return"pending"},minlength:function(a,b,d){return this.optional(b)||this.getLength(c.trim(a),b)>=d},maxlength:function(a,b,d){return this.optional(b)|| -this.getLength(c.trim(a),b)<=d},rangelength:function(a,b,d){a=this.getLength(c.trim(a),b);return this.optional(b)||a>=d[0]&&a<=d[1]},min:function(a,b,d){return this.optional(b)||a>=d},max:function(a,b,d){return this.optional(b)||a<=d},range:function(a,b,d){return this.optional(b)||a>=d[0]&&a<=d[1]},email:function(a,b){return this.optional(b)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(a)}, -url:function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)}, -date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a))},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9-]+/.test(a))return false;var d=0,e=0,f=false;a=a.replace(/\D/g,"");for(var g=a.length-1;g>= -0;g--){e=a.charAt(g);e=parseInt(e,10);if(f)if((e*=2)>9)e-=9;d+=e;f=!f}return d%10==0},accept:function(a,b,d){d=typeof d=="string"?d.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(b)||a.match(RegExp(".("+d+")$","i"))},equalTo:function(a,b,d){d=c(d).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){c(b).valid()});return a==d.val()}}});c.format=c.validator.format})(jQuery); -(function(c){var a={};if(c.ajaxPrefilter)c.ajaxPrefilter(function(d,e,f){e=d.port;if(d.mode=="abort"){a[e]&&a[e].abort();a[e]=f}});else{var b=c.ajax;c.ajax=function(d){var e=("port"in d?d:c.ajaxSettings).port;if(("mode"in d?d:c.ajaxSettings).mode=="abort"){a[e]&&a[e].abort();return a[e]=b.apply(this,arguments)}return b.apply(this,arguments)}}})(jQuery); -(function(c){!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.handle.call(this,e)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)},handler:function(e){arguments[0]=c.event.fix(e);arguments[0].type=b;return c.event.handle.apply(this,arguments)}}});c.extend(c.fn,{validateDelegate:function(a, -b,d){return this.bind(b,function(e){var f=c(e.target);if(f.is(a))return d.apply(f,arguments)})}})})(jQuery); diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.autocomplete.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.autocomplete.min.js deleted file mode 100644 index c6f30a123..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.autocomplete.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(a){var b=a.telerik;b.autocomplete=function(c,d){a.extend(this,d);var e=this.$element=a(c).addClass("t-widget t-autocomplete t-input").attr("autocomplete","off").bind("paste",a.proxy(function(i){g(this)},this));this.$text=e;this.element=c;this.trigger=new b.list.trigger(this);this.trigger.change=function(){var j=this.component.text();var i=this.component.previousValue;if(i==undefined||j!=i){b.trigger(this.component.element,"valueChange",{value:j})}this.component.previousValue=j};this.loader=new b.list.loader(this);this.loader.showBusy=function(){this.busyTimeout=setTimeout(a.proxy(function(){this.component.$element.addClass("t-loading")},this),100)};this.loader.hideBusy=function(){clearTimeout(this.busyTimeout);this.component.$element.removeClass("t-loading")};this.filtering=new b.list.filtering(this);this.filtering.autoFill=function(r,n){if(r.autoFill&&(r.lastKeyCode!=8&&r.lastKeyCode!=46)){var u=r.$text[0],i=u.value,s=r.separator,o=b.caretPos(u),v=r.multiple;var k=v&&s?b.lastIndexOf(i.substring(0,o),s):-1;var p=k!=-1?k+s.length:0;var l=i.substring(p,o);var t=n.toLowerCase().indexOf(l.toLowerCase());if(t!=-1){var q=n.substring(t+l.length);if(v){var m=i.split(s),j=f(u,s);m[j]=l+q;u.value=m.join(s)+(r.multiple&&j!=0&&j==m.length-1?s:"")}else{u.value=l+q}b.list.selection(u,o,o+q.length)}}};this.enable=function(){e.removeClass("t-state-disabled").removeAttr("disabled")};this.disable=function(){e.addClass("t-state-disabled").attr("disabled","disabled")};this.filtering.multiple=a.proxy(function(i){if(this.multiple){i=i.split(this.separator);i=i[f(this.$text[0],this.separator)]}return i},this);this.dropDown=new b.dropDown({attr:this.dropDownAttr,effects:this.effects,onClick:a.proxy(function(i){this.select(i.item);this.trigger.change();this.trigger.close()},this)});this.dropDown.$element.css("direction",e.closest(".t-rtl").length?"rtl":"");this.fill=function(j){function i(r){var q=r.highlightFirst?n.$items.first():null;if(q){q.addClass("t-state-selected")}}var o=this.loader;var n=this.dropDown;var k=this.minChars;var m=this.text();var p=m.length;if(!n.$items&&!o.ajaxError){if(o.isAjax()&&p>=k){var l={};l[this.queryString.text]=m;o.ajaxRequest(function(q){this.dataBind(q,true);i(this);b.trigger(this.element,"dataBound");this.trigger.change();if(j){j()}},{data:l})}else{this.dataBind(this.data,true);i(this);if(j){j()}}}};this.text=function(){if(arguments.length>0){this.previousValue=arguments[0]}return this.$text.val.apply(this.$text,arguments)};this.value=function(){return this.text.apply(this,arguments)};this.select=function(q){var p=this.highlight(q);if(p==-1){return p}var j=this.filteredDataIndexes;var l=(j&&j.length)>0?j[p]:p;var q=this.data[l];var n=q.Text?q.Text:q;var i=n;if(this.multiple){var k=this.$element;var o=this.separator;var m=f(k[0],o);i=k.val().split(o);i[m]=n;i=i.join(o)+(m==i.length-1?o:"")}this.$text.val(i)};b.list.common.call(this);b.list.filters.call(this);b.list.initialize.call(this);this.dataBind=function(l,j){this.data=l=(l||[]);var m=!!this.loader.isAjax();if(this.encoded&&m){for(var k=0,n=l.length;k36&&n<41&&n!=37&&n!=39){r.preventDefault();if(j.isOpened()){if(!j.$items){this.fill()}var k=j.$items;var o=k.filter(".t-state-selected:first");var i=[];if(n==38){var s=o.prev();i=s.length?s:k.last()}else{if(n==40){var p=o.next();i=p.length?p:k.first()}}if(i.length){var t=i[0];this.highlight(t);j.scrollTo(t);this.filtering.autoFill(this,i.text())}}}if(n==8||n==46){var l=this.$element;if(l.val()!=""){g(this)}setTimeout(a.proxy(function(){if(l.val()==""){m.close()}},this),0)}if(n==13){if(j.isOpened()){r.preventDefault()}if(j.$items){var q=j.$items.filter(".t-state-selected:first");if(q.length>0){this.select(q[0])}}m.change();m.close();b.list.moveToEnd(this.element)}if(n==27||n==9){clearTimeout(this.timeout);m.change();m.close()}}};a.fn.tAutoComplete=function(c){return b.create(this,{name:"tAutoComplete",init:function(d,e){return new b.autocomplete(d,e)},options:c})};a.fn.tAutoComplete.defaults={encoded:true,effects:b.fx.slide.defaults(),filter:1,delay:200,minChars:1,cache:true,autoFill:false,highlightFirst:false,queryString:{text:"text"},multiple:false,separator:", "}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.calendar.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.calendar.min.js deleted file mode 100644 index a3b502cb8..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.calendar.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e){var b=e.telerik,c=/{0:?/,d=/{0:?(\S|\s)*}/;function a(i,h,f){var g=new b.datetime();if(i){g=new b.datetime(i)}if(h>g.value){g=new b.datetime(h)}else{if(f').cat('').cat(this.currentView.title(this.viewedMonth)).cat("").cat('=0).cat('">');e(".t-header",this.element).html(j.string());e(".t-nav-next:not(.t-state-disabled)",h).live("click",e.proxy(this.navigateToFuture,this));e(".t-nav-prev:not(.t-state-disabled)",h).live("click",e.proxy(this.navigateToPast,this));e(".t-nav-fast:not(.t-state-disabled)",h).live("click",e.proxy(this.navigateUp,this));e(".t-link.t-state-disabled",h).live("click",b.preventDefault);e("td:not(.t-state-disabled):has(.t-link)",h).live("mouseenter",b.hover).live("mouseleave",b.leave).live("click",e.proxy(this.navigateDown,this));b.bind(this,{change:this.onChange,load:this.onLoad})}});b.calendar.prototype={stopAnimation:false,updateSelection:function(){var i=b.datetime.firstDayOfMonth(this.viewedMonth).toDate();var h=new b.datetime(i).date(32).date(0).toDate();if(this.selectedDate===null||!b.calendar.isInRange(this.selectedDate,i,h)){var g=a(this.selectedDate,this.minDate,this.maxDate);this.goToView(0,g)}var f=this;var j=e(".t-content td:not(.t-other-month)",this.element).removeClass("t-state-selected");if(this.selectedDate!==null){j.filter(function(){return(parseInt(e(this).text(),10)==f.selectedDate.getDate())}).addClass("t-state-selected")}},value:function(){if(arguments.length==0){return this.selectedDate}if(arguments.length==1){this.selectedDate=arguments[0]===null?null:new Date(arguments[0].value?arguments[0].value:arguments[0])}else{if(arguments.length>1){this.selectedDate=new Date(arguments[0],arguments[1],arguments[2])}}this.updateSelection();return this},overlay:function(f){if(!f){return e(".t-overlay",this.element).remove()}e("
").addClass("t-overlay").css({opacity:0,width:this.element.offsetWidth,height:this.element.offsetHeight,position:"absolute",top:0,left:0,zIndex:3,backgroundColor:"#fff"}).appendTo(this.element)},goToView:function(h,g){if(h<0||b.calendar.views.length<=h){return}var f=new b.datetime(this.minDate);var i=new b.datetime(this.maxDate);if(typeof g!="undefined"){g=g.value?g:new b.datetime(g);this.viewedMonth=b.datetime.firstDayOfMonth(g)}this.currentView=b.calendar.views[h];e(".t-nav-prev",this.element).toggleClass("t-state-disabled",this.currentView.compare(g,f,false)<=0);e(".t-nav-next",this.element).toggleClass("t-state-disabled",this.currentView.compare(g,i,true)>=0);e(".t-nav-fast",this.element).html(this.currentView.title(g)).toggleClass("t-state-disabled",h==b.calendar.views.length-1);e(".t-content",this.element).html(this.currentView.body(g,f,i,this.selectedDate?new b.datetime(this.selectedDate):null,this.urlFormat,this.dates)).toggleClass("t-meta-view",h==1||h==2);return this},navigateVertically:function(g,i,k,t){i=new b.datetime(i);this.viewedMonth=b.datetime.firstDayOfMonth(i);this.currentView=b.calendar.views[g];this.overlay(true);var r=new b.datetime(this.minDate);var q=new b.datetime(this.maxDate);var s=e(".t-content",this.element);var h=s.outerWidth();var v=s.outerHeight();var l=s.css("font-size");var u=s.css("line-height");if(u==="normal"){u=parseInt(l)*1.5}s.find("td").removeClass("t-state-hover");e(".t-nav-fast",this.element).html(this.currentView.title(i)).toggleClass("t-state-disabled",g==b.calendar.views.length-1);e(".t-nav-prev",this.element).toggleClass("t-state-disabled",this.currentView.compare(this.viewedMonth,r,false)<=0);e(".t-nav-next",this.element).toggleClass("t-state-disabled",this.currentView.compare(this.viewedMonth,q,true)>=0);var j=e('
').html(this.currentView.body(i,r,q,this.selectedDate?new b.datetime(this.selectedDate):null,this.urlFormat,this.dates)).toggleClass("t-meta-view",g==1||g==2);var f=this;var p={fontSize:l,lineHeight:u,top:0,left:0,width:h,height:v,opacity:1};var o;if(k){o=b.fx._wrap(s).css({overflow:"hidden",position:"relative"});j.wrap(e("
").addClass("t-animation-container").css(e.extend({position:"absolute",zIndex:1,fontSize:1,lineHeight:1,width:t.outerWidth(),height:t.outerHeight(),opacity:0},t.position()))).parent().insertAfter(s);if(!this.stopAnimation){j.parent().animate({fontSize:l,lineHeight:u,top:0,left:0,width:h,height:v,opacity:1},"normal",function(){j.appendTo(f.element);o.remove();f.overlay(false)})}else{s.remove();j.appendTo(f.element);o.remove();f.overlay(false)}}else{j.insertBefore(s);o=b.fx._wrap(j).css({overflow:"hidden",position:"relative"});var n;if(g!=0){n=b.calendar.views[g].verticalDate(this.viewedMonth)}var m={top:(Math.floor(n/4)*v)/3,left:((n%4)*h)/4};s.wrap(e("
").addClass("t-animation-container").css(e.extend({position:"absolute"},p))).parent().insertAfter(j);if(!this.stopAnimation){s.parent().animate(e.extend({fontSize:1,lineHeight:1,width:48,height:54,opacity:0},m),"normal",function(){j.appendTo(f.element);o.remove();f.overlay(false)})}else{s.remove();j.appendTo(f.element);o.remove();f.overlay(false)}}b.trigger(this.element,"navigate",{direction:k})},navigateHorizontally:function(f,j,l){j=new b.datetime(j);var g=new b.datetime(this.minDate);var k=new b.datetime(this.maxDate);this.viewedMonth=b.datetime.firstDayOfMonth(b.calendar.fitDateToRange(j,g,k));this.currentView=b.calendar.views[f];e(".t-nav-fast",this.element).html(this.currentView.title(j)).toggleClass("t-state-disabled",f==b.calendar.views.length-1);e(".t-nav-prev",this.element).toggleClass("t-state-disabled",this.currentView.compare(this.viewedMonth,g,false)<=0);e(".t-nav-next",this.element).toggleClass("t-state-disabled",this.currentView.compare(this.viewedMonth,k,true)>=0);this.overlay(true);var i=e('
').html(this.currentView.body(j,g,k,this.selectedDate?new b.datetime(this.selectedDate):null,this.urlFormat,this.dates)).toggleClass("t-meta-view",f==1||f==2);var h=e(".t-content",this.element);var o=h.outerWidth();h.add(i).css({width:o,"float":"left"});var n=b.fx._wrap(h).css({position:"relative",width:o*2,"float":"left",left:(l?0:-200)});i[l?"insertAfter":"insertBefore"](h);var m=this;if(!this.stopAnimation){n.animate({left:(l?-200:0)},"normal",function(){i.appendTo(m.element);n.remove();m.overlay(false)})}else{h.remove();i.appendTo(m.element);n.remove();m.overlay(false)}b.trigger(this.element,"navigate",{direction:l})},navigateUp:function(g){if(g){g.preventDefault()}var f=this.currentView.index;this.navigateVertically(f+1,this.viewedMonth.toDate(),false)},navigateDown:function(n,l,f){var h=e(e(n.target).hasClass("t-input")?l:n.target);var o=h.text();var m=f||this.currentView.index;var g=h.attr("href");if(g&&(g.charAt(g.length-1)=="#")){n.preventDefault()}if(m==0){var k=parseInt(o,10);var j=this.viewedMonth.month();if(h.parent().hasClass("t-other-month")){j+=(k<15?1:-1)}var i=new Date(this.viewedMonth.year(),j,k);if(!this.selectedDate||(this.selectedDate>i||i>this.selectedDate)){if(b.trigger(this.element,"change",{previousDate:this.selectedDate,date:i})){return this}this.selectedDate=i}this.updateSelection()}else{if(m!=0){b.calendar.views[m].verticalDate(this.viewedMonth,o)}this.viewedMonth=b.calendar.fitDateToRange(this.viewedMonth,new b.datetime(this.minDate),new b.datetime(this.maxDate));this.navigateVertically(m-1,this.viewedMonth.toDate(),true,h.add(h.parent()).filter("td"))}},navigateToPast:function(g){if(g){g.preventDefault()}var f=this.currentView.index;if(f==0){this.viewedMonth.date(1).date(-1)}else{this.viewedMonth.addYear(-Math.pow(10,f-1))}this.navigateHorizontally(f,this.viewedMonth.toDate(),false)},navigateToFuture:function(g){if(g){g.preventDefault()}var f=this.currentView.index;if(f==0){this.viewedMonth.date(32).date(1)}else{this.viewedMonth.addYear(Math.pow(10,f-1))}this.navigateHorizontally(f,this.viewedMonth.toDate(),true)}};e.fn.tCalendar=function(f){return b.create(this,{name:"tCalendar",init:function(g,h){return new b.calendar(g,h)},options:f})};e.fn.tCalendar.defaults={selectedDate:null,minDate:new Date(1899,11,31),maxDate:new Date(2100,0,1)};e.extend(b.calendar,{views:[{index:0,title:function(f){return new b.stringBuilder().cat(b.cultureInfo.months[f.month()]).cat(" ").cat(f.year()).string()},body:function(j,m,p,o,n,r){var y=(new b.stringBuilder()).cat('');var l=b.cultureInfo.firstDayOfWeek,h=b.cultureInfo.days,x=b.cultureInfo.abbrDays,s=b.cultureInfo.shortestDays;h=h.slice(l).concat(h.slice(0,l));x=x.slice(l).concat(x.slice(0,l));s=s.slice(l).concat(s.slice(0,l));for(var k=0;k<7;k++){y.cat('').cat(s[k]).cat("")}y.cat("");var t=b.datetime.firstVisibleDay(j);var f=j.month();var v=o===null?false:j.year()==o.year();var w;for(var u=0;u<6;u++){y.cat("");for(var g=0;g<7;g++){w=t.month()!=f?"t-other-month":(v&&t.month()==o.month()&&t.date()==o.date())?" t-state-selected":"";y.cat("");if(b.calendar.isInRange(t.toDate(),m.toDate(),p.toDate())){y.cat('').cat(t.date()).cat("")}else{y.cat(" ")}y.cat("");b.datetime.modify(t,b.datetime.msPerDay)}y.cat("")}y.cat("");return y.string()},compare:function(g,f){var i;var l=g.month();var h=g.year();var k=f.month();var j=f.year();if(h>j){i=1}else{if(hk?1:-1}}return i},firstLastDay:function(h,f,g){return f?b.datetime.firstDayOfMonth(h):new b.datetime(h.year(),h.month()+1,0)},navCheck:function(g,f,h){if(h){return new b.datetime(f.year(),f.month()+1,f.date()).value-g.value<=0}else{return this.compare(g,f)===-1}}},{index:1,title:function(f){return f.year()},body:function(g,f,h){return b.calendar.metaView(true,g,function(){var j=[];var m=0;var l=11;if(f.year()==h.year()){m=f.month();l=h.month()}else{if(g.year()==f.year()){m=f.month()}else{if(g.year()==h.year()){l=h.month()}}}for(var k=0;k<12;k++){if(k>=m&&k<=l){j.push(b.cultureInfo.abbrMonths[k])}else{j.push(" ")}}return j})},compare:function(f,g){return f.year()>g.year()?1:f.year()=j&&l+n<=m?l+n:" ")}return k})},compare:function(g,f,i){var j=g.year();var h=(j-j%10);var k=(j-j%10+9);return b.calendar.check(h,k,f,i)},verticalDate:function(f,g){if(!g){return f.year()%10+1}f.year(g)},firstLastDay:function(f,g){return new b.datetime(f.year()-f.year()%10+(g?0:9),0,1)},navCheck:function(h,f,i){var g=this.compare(f,h,i);return i?g==-1:g==1}},{index:3,title:function(g){var f=g.year()-g.year()%100;return f+"-"+(f+99)},body:function(g,f,h){return b.calendar.metaView(false,g,function(){var l=g.year()-g.year()%100;var j=[];for(var m=-1;m<11;m++){var k=l+m*10;if((k+10)>=f.year()&&k<=h.year()){j.push(k+"-
"+(k+9)+" ")}else{j.push(" 
 ")}}return j})},compare:function(g,f,h){var i=g.year();var k=(i-i%100);var j=(i-i%100+99);return b.calendar.check(k,j,f,h)},verticalDate:function(f,g){if(!g){return Math.ceil(f.year()/10)%10+1}f.year(g.substring(0,g.indexOf("-")))},firstLastDay:function(f,g){return g?new b.datetime(f.year()-(f.year()%100),0,1):new b.datetime(f.year()-(f.year()%100)+99,0,1)},navCheck:function(h,f,i){var g=this.compare(f,h,i);return i?g==-1:g==1}}],check:function(i,j,f,g){var h=function(k){return kf.year()?1:0};return g?h(j):h(i)},html:function(i,g,f,j,k,h){i=i||new b.datetime();f=f||new b.datetime(e.fn.tCalendar.defaults.minDate);j=j||new b.datetime(e.fn.tCalendar.defaults.maxDate);return new b.stringBuilder().cat('
').cat('").cat('').cat(b.calendar.views[0].body(i,f,j,g,k,h)).cat("
").string()},metaView:function(k,m,g){var h=new b.stringBuilder();var l=g();h.cat("");for(var f=0,j=l.length;f",f>0&&f%4==0).cat("");if(l[f]!==" "&&l[f]!==" 
 "){h.cat('').cat(l[f]).cat("")}else{h.cat(l[f])}h.cat("")}h.cat("");return h.string()},isInRange:function(g,f,h){if(!g){return false}var i=new Date(g.getFullYear(),g.getMonth(),g.getDate());var j=new Date(f.getFullYear(),f.getMonth(),f.getDate());var k=new Date(h.getFullYear(),h.getMonth(),h.getDate());return j-i<=0&&k-i>=0},fitDateToRange:function(h,f,g){if(h.valueg.value){h=new b.datetime(g.value)}return h},isInCollection:function(i,f){var g=f[i.year()];if(g){var h=g[i.month()];if(h&&e.inArray(i.date(),h)!=-1){return true}}return false},findTarget:function(k,n,m,i){k=k.value?k:new b.datetime(k);var f=function(o,p){return e.grep(o,function(q){return e(q).children().eq(0).text().indexOf(p)>-1})[0]};var g=i?"last":"first";var l=e(".t-content:"+g+" td:has(> .t-link)",m).removeClass("t-state-focus");var h;if(n==0){h=e(f(l.filter(":not(.t-other-month)"),k.date()))}else{if(n==1){h=e(f(l,b.cultureInfo.abbrMonths[k.month()]))}else{if(n==2||n==3){var j=k.year();h=e(f(l,n==2?j:j-(j%10)));if(h.length==0&&n==3){h=e(f(l,j-(j%10)+99))}}}}return h},focusDate:function(i,f,h,g){b.calendar.findTarget(i,f,h,g).addClass("t-state-focus")},formatUrl:function(f,i){var h=f.match(d);if(h){h=h[0];var g=h==="{0}"?b.cultureInfo.generalDateTime:h.replace(c,"").replace("}","");return f.replace(h,b.datetime.format(i.toDate(),g))}return f}})})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.combobox.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.combobox.min.js deleted file mode 100644 index 94c4bc77e..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.combobox.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(c){var a=c.telerik;a.combobox=function(f,o){c.extend(this,o);var d=f.nodeName.toLowerCase()=="input"&&f.type.toLowerCase()=="text";var p=f.nodeName.toLowerCase()=="select";if((d||p)&&!c(f).parent().hasClass("t-combobox")){if(p&&!this.data){this.data=a.list.retrieveData(f)}var j=new a.list.htmlBuilder(f,"t-combobox",p);j.text=function(r){var s=r.builder;s.buffer=[];return c(s.cat('").string())};j.render();if(p){f=f.previousSibling}}this.element=f;var n=this.$element=c(f);this.loader=new a.list.loader(this);this.trigger=new a.list.trigger(this);var g=this.$wrapper=n.closest(".t-combobox");var e=this.$wrapper.find(".t-select");var i=this.$text=this.$wrapper.find("> .t-dropdown-wrap > .t-input").attr("autocomplete","off").bind("paste",c.proxy(function(r){setTimeout(c.proxy(function(){var s=r.target.value;if(this.encoded){s=a.encode(s)}this.$element.val(s);m(this)},this),0)},this));var l=function(t){var r="class",s=n.attr(r);if(s!=i.attr(r)){i.attr(r,s).addClass("t-input")}};if(c.browser.msie){f.attachEvent("onpropertychange",l)}else{n.bind("DOMAttrModified",l)}if(!n.attr("disabled")){e.bind("click",c.proxy(h,this))}this.filtering=new a.list.filtering(this);this.filtering.autoFill=function(r,s){if(r.autoFill&&(r.lastKeyCode!=8&&r.lastKeyCode!=46)){var t=r.$text[0];var x=a.caretPos(t);var w=t.value.substring(0,x);var v=s.toLowerCase().indexOf(w.toLowerCase());if(v!=-1){var u=s.substring(v+w.length);t.value=w+u;a.list.selection(t,x,x+u.length)}}};this.dropDown=new a.dropDown({attr:this.dropDownAttr,effects:this.effects,onOpen:c.proxy(function(){var s=this.data;var r=this.dropDown;if(s.length==0){return}var u=this.$text.val();var t=this.selectedIndex;if(t!=-1&&this.isFiltered){if(u==s[t].Text){this.filteredDataIndexes=[];r.onItemCreate=null;r.dataBind(this.data);this.select(r.$items[t])}else{this.filters[this.filter](this,this.data,u)}this.isFiltered=false}},this),onClick:c.proxy(function(r){this.select(r.item);this.trigger.change();this.trigger.close();i.focus()},this)});this.dropDown.$element.css("direction",g.closest(".t-rtl").length?"rtl":"");this.enable=function(){g.removeClass("t-state-disabled");i.removeAttr("disabled");e.bind("click",c.proxy(h,this))};this.disable=function(){g.addClass("t-state-disabled");i.attr("disabled","disabled");e.unbind("click")};this.fill=function(s){function u(A){var z=A.selectedValue||A.value();if(z){A.value(z);return}var B=r.$items;var D=A.index;var C=B.filter(".t-state-selected");var E=C.length;var F=D!=-1&&D0?C[E-1]:null;if(F){A.select(F)}else{A.selectedIndex=-1;if(A.highlightFirst){A.highlight(B[0])}}}var v=this.loader;var r=this.dropDown;var x=this.minChars;var w=this.text();var t=w.length;if(!r.$items&&!v.ajaxError){if(v.isAjax()&&t>=x){var y={};y[this.queryString.text]=w;v.ajaxRequest(function(z){this.dataBind(z,true);u(this);a.trigger(this.element,"dataBound");this.trigger.change();if(s){s()}},{data:y})}else{this.dataBind(this.data,true);u(this);if(s){s()}}}};this.reload=function(){this.dropDown.$items=null;this.fill()};this.select=function(x){var v=this.highlight(x);if(v==-1){return v}var r=this.filteredDataIndexes;this.selectedIndex=(r&&r.length)>0?r[v]:v;var t="@@__@@",s=this.data[this.selectedIndex],u=s.Text.replace(/\s/g,t),w=c("

").html(u).text().replace(new RegExp(t,"g")," ");a.list.updateTextAndValue(this,w,s.Value)};this.text=function(){return this.$text.val.apply(this.$text,arguments)};this.value=function(){if(arguments.length){var s=arguments[0];var r=this.select(function(t){return s==(t.Value||t.Text)});if(r==-1){this.selectedIndex=r;this.$element.val(s);this.text(s)}this.previousValue=this.$element.val()}else{return this.$element.val()}};a.list.common.call(this);a.list.filters.call(this);a.list.initialize.call(this);c(document.documentElement).bind("mousedown",c.proxy(function(u){var r=this.dropDown.$element;var s=r&&r.parent().length>0;if(c.contains(this.$wrapper[0],u.target)||(s&&c.contains(r.parent()[0],u.target))){return}if(this._textChanged){this._textChanged=false;var t=b(this.data,this.$text.val());if(t){this.text(t.Text);this.$element.val(t.Value||t.Text)}}this.trigger.change();this.trigger.close()},this));this.$text.bind({change:c.proxy(function(r){r.stopPropagation()},this),keydown:c.proxy(k,this),keypress:c.proxy(q,this),focus:c.proxy(function(u){if(this.openOnFocus){var s=this.trigger;var r=this.dropDown;if(!r.$items){this.fill(s.open)}else{s.open()}}var t=this.$text;a.list.selection(t[0],0,t.val().length)},this)});function h(t){var r=this.dropDown,s=this.trigger;this.loader.ajaxError=false;if(!r.isOpened()){if(!r.$items){this.fill(s.open)}else{s.open()}i[0].focus()}else{s.close()}}function m(r){clearTimeout(r.timeout);r.timeout=setTimeout(function(){r.filtering.filter(r)},r.delay)}function k(A){var v=this.trigger;var s=this.dropDown;var x=A.keyCode||A.which;this.lastKeyCode=x;if(A.altKey&&x==38){v.close();return}if(A.altKey&&x==40){v.open();return}if(!A.shiftKey&&(x==38||x==40)){A.preventDefault();if(!s.$items){this.fill();return}var t=s.$items;var y=t.filter(".t-state-selected:first");var r=y.length==0||t.length==1?t.first():(x==38)?y.prev():(x==40)?y.next():[];if(r.length){var B=r[0];this.select(B);s.scrollTo(B);if(!s.isOpened()){v.change()}}}if(x==8||x==46){var w=this.$text;if(w.val()!=""){m(this)}setTimeout(c.proxy(function(){if(w.val()==""){this.selectedIndex=-1;this.$element.val("")}else{this.$element.val(this.$text.val())}},this),0)}if(x==13){if(s.isOpened()){A.preventDefault()}var z=s.$items.filter(".t-state-selected:first");if(z.length>0){this.select(z[0])}else{this.$element.val(this.$text.val())}v.change();v.close();a.list.moveToEnd(this.$text[0])}if(x==27||x==9){clearTimeout(this.timeout);var u=b(this.data,this.$text.val());if(u){this.text(u.Text);this.$element.val(u.Value||u.Text)}v.change();v.close();if(x==27){this.$text.blur()}}}function q(s){this._textChanged=true;var r=s.keyCode||s.charCode;if(!s.shiftKey&&(r==0||c.inArray(r,a.list.keycodes)!=-1||s.ctrlKey)){return true}setTimeout(c.proxy(function(){this.$element.val(this.$text.val())},this),0);m(this)}};function b(f,h){if(!h){return}h=h.toLowerCase();if(f){for(var d=0,g=f.length;d=180&&k<=191;var s=/d{1,4}|M{1,4}|yy(?:yy)?|([Hhmstf])\1*|"[^"]*"|'[^']*'/g;var n=i.telerik={create:function(e,t){var v=t.name;var u=i.extend({},i.fn[v].defaults,t.options);return e.each(function(){var w=i(this);u=i.meta?i.extend({},u,w.data()):u;if(!w.data(v)){var x=t.init(this,u);w.data(v,x);n.trigger(this,"load");if(t.success){t.success(x)}}})},toJson:function(e){function t(v){return"["+i.map(v,u).join(",")+"]"}function u(x){var w=[];for(var y in x){var v=x[y];if(i.isArray(v)){w.push('"'+y+'":'+t(v))}else{if(typeof v!="object"){w.push('"'+y+'":"'+(v==null?"":v)+'"')}else{w.push('"'+y+'":'+u(v))}}}return"{"+w.join(",")+"}"}if(i.isArray(e)){return t(e)}else{return u(e)}},delegate:function(t,e){return function(u){e.apply(t,[u,this])}},stop:function(e,t){return function(u){u.stopPropagation();e.apply(t||this,arguments)}},stopAll:function(e,t){return function(u){u.preventDefault();u.stopPropagation();e.apply(t||this,arguments)}},bind:function(e,t){var u=i(e.element?e.element:e);i.each(t,function(v){if(i.isFunction(this)){u.bind(v,this)}})},preventDefault:function(t){t.preventDefault()},hover:function(){i(this).addClass("t-state-hover")},leave:function(){i(this).removeClass("t-state-hover")},buttonHover:function(){i(this).addClass("t-button-hover")},buttonLeave:function(){i(this).removeClass("t-button-hover")},stringBuilder:function(){this.buffer=[]},ajaxError:function(v,u,e,w){var t=this.trigger(v,u,{XMLHttpRequest:e,textStatus:w});if(!t){if(w=="error"&&e.status!="0"){alert("Error! The requested URL returned "+e.status+" - "+e.statusText)}if(w=="timeout"){alert("Error! Server timeout.")}}return t},trigger:function(u,t,v){v=i.extend(v||{},new i.Event(t));v.stopPropagation();i(u).trigger(v);return v.isDefaultPrevented()},getType:function(e){if(e instanceof Date){return"date"}if(!isNaN(e)){return"number"}return"object"},formatString:function(){var w=arguments[0];for(var e=0,t=arguments.length-1;e-1;v--){if(e.substr(v,u)==t){return v}}return -1},caretPos:function(e){var t=-1;if(document.selection){t=Math.abs(e.document.selection.createRange().moveStart("character",-e.value.length))}else{if(e.selectionStart!==undefined){t=e.selectionStart}}return t},encode:function(e){return e.replace(/&/g,"&").replace(//g,">").replace(/\u00a0/g," ").replace(/'/g,"'")},formatters:{},fx:{},cultureInfo:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbrDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],shortestDays:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],abbrMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longTime:"h:mm:ss tt",longDate:"dddd, MMMM dd, yyyy",shortDate:"M/d/yyyy",shortTime:"h:mm tt",fullDateTime:"dddd, MMMM dd, yyyy h:mm:ss tt",generalDateShortTime:"M/d/yyyy h:mm tt",generalDateTime:"M/d/yyyy h:mm:ss tt",sortableDateTime:"yyyy'-'MM'-'ddTHH':'mm':'ss",universalSortableDateTime:"yyyy'-'MM'-'dd HH':'mm':'ss'Z'",monthYear:"MMMM, yyyy",monthDay:"MMMM dd",today:"today",tomorrow:"tomorrow",yesterday:"yesterday",next:"next",last:"last",year:"year",month:"month",week:"week",day:"day",am:"AM",pm:"PM",dateSeparator:"/",timeSeparator:":",firstDayOfWeek:0}};var a,o;if(Array.prototype.filter!==undefined){a=function(e,t){return e.filter(t)}}else{a=function(x,u){var w=[],v=x.length;for(var t=0;tv?1:(uv?-1:0)}))},concat:function(e){return r(this.data.concat(e.data))},count:function(){return this.data.length},any:function(e){if(i.isFunction(e)){for(var t=0,u=this.data.length;t
    ').string()).addClass("t-popup t-group").hide()};n.dropDown.prototype={_html:function(w){var u=new n.stringBuilder();if(w){for(var t=0,x=w.length;t').cat(z.html).cat("")}}return u.string()},open:function(e){if(this.onOpen){this.onOpen()}if(this.isOpened()||!this.$items){return}var w=this.$element,u=".t-reset > .t-item";w.appendTo(document.body);var t;if(w[0].style.width==""){t=e.outerWidth?e.outerWidth-2:0}else{t=parseInt(this.attr?i("
    ")[0].style.width:w[0].style.width)}w.css("overflowY","auto").css("width",t);w.delegate(u,"mouseenter",n.hover).delegate(u,"mouseleave",n.leave).delegate(u,"click",i.proxy(function(x){if(this.onClick){this.onClick(i.extend(x,{item:i(x.target).closest(".t-item")[0]}))}},this));var v=e.offset;v.top+=e.outerHeight;n.fx._wrap(w).css(i.extend({position:"absolute",zIndex:e.zIndex},v));if(d){w.css("overflow","hidden")}n.fx.play(this.effects,w,{direction:"bottom"},i.proxy(function(){if(d){w.css("overflow","auto")}var x=this.$items.filter(".t-state-selected");if(x.length){this.scrollTo(x[0])}},this))},close:function(){if(!this.isOpened()){return}var e=this.$element;if(d){e.css("overflow","hidden")}n.fx.rewind(this.effects,e,{direction:"bottom"},function(){if(d){e.css("overflow","auto")}e.parent().remove()})},dataBind:function(t){t=t||[];var w=this.$element;var v=w[0].style.height;var u=v&&v!="auto"?w[0].style.height:"200px";var e=this.$items=i(this._html(t));w.find("> ul").html(e);w.css("height",e.length>10?u:"auto")},highlight:function(e){return i(e).addClass("t-state-selected").siblings().removeClass("t-state-selected").end().index()},isOpened:function(){return this.$element.is(":visible")},scrollTo:function(y){if(!y){return}var e=y.offsetTop;var w=y.offsetHeight;var t=this.$element[0];var u=t.scrollTop;var x=t.clientHeight;var v=e+w;t.scrollTop=u>e?e:v>(u+x)?v-x:u}};n.datetime=function(){if(arguments.length==0){this.value=new Date()}else{if(arguments.length==1){this.value=new Date(arguments[0])}else{if(arguments.length==3){this.value=new Date(arguments[0],arguments[1],arguments[2])}else{if(arguments.length==6){this.value=new Date(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])}else{this.value=new Date(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6])}}}}return this};i.extend(n.datetime,{msPerMinute:60000,msPerDay:86400000,add:function(w,t){var u=w.timeOffset();var v=new n.datetime(w.time()+t);var e=v.timeOffset()-u;return new n.datetime(v.time()+e*n.datetime.msPerMinute)},subtract:function(v,u){u=new n.datetime(u).toDate();var e=v.time()-u;var t=v.timeOffset()-u.timeOffset();return e-(t*n.datetime.msPerMinute)},firstDayOfMonth:function(e){return new n.datetime(0).hours(e.hours()).minutes(e.minutes()).seconds(e.seconds()).milliseconds(e.milliseconds()).year(e.year(),e.month(),1)},firstVisibleDay:function(u){var e=n.cultureInfo.firstDayOfWeek;var t=new n.datetime(u.year(),u.month(),0,u.hours(),u.minutes(),u.seconds(),u.milliseconds());while(t.day()!=e){n.datetime.modify(t,-1*n.datetime.msPerDay)}return t},modify:function(w,e){var u=w.timeOffset();var t=new n.datetime(w.time()+e);var v=t.timeOffset()-u;w.time(t.time()+v*n.datetime.msPerMinute)},pad:function(e){if(e<10){return"0"+e}return e},standardFormat:function(e){var t=n.cultureInfo;var u={d:t.shortDate,D:t.longDate,F:t.fullDateTime,g:t.generalDateShortTime,G:t.generalDateTime,m:t.monthDay,M:t.monthDay,s:t.sortableDateTime,t:t.shortTime,T:t.longTime,u:t.universalSortableDateTime,y:t.monthYear,Y:t.monthYear};return u[e]},format:function(E,e){var z=n.cultureInfo;var C=E.getDate();var t=E.getDay();var B=E.getMonth();var u=E.getFullYear();var x=E.getHours();var w=E.getMinutes();var v=E.getSeconds();var D=E.getMilliseconds();var A=n.datetime.pad;var F={d:C,dd:A(C),ddd:z.abbrDays[t],dddd:z.days[t],M:B+1,MM:A(B+1),MMM:z.abbrMonths[B],MMMM:z.months[B],yy:A(u%100),yyyy:u,h:x%12||12,hh:A(x%12||12),H:x,HH:A(x),m:w,mm:A(w),s:v,ss:A(v),f:Math.floor(D/100),ff:Math.floor(D/10),fff:D,tt:x<12?z.am:z.pm};e=e||"G";e=n.datetime.standardFormat(e)?n.datetime.standardFormat(e):e;return e.replace(s,function(y){return y in F?F[y]:y.slice(1,y.length-1)})},parse:function(u){var e=u.value;var t=u.format;if(e&&e.value){return e}t=n.datetime.standardFormat(t)?n.datetime.standardFormat(t):t;if(q.test(e)){return n.datetime.parseMachineDate({value:e,format:t,shortYearCutOff:u.shortYearCutOff,baseDate:u.baseDate,AM:n.cultureInfo.am,PM:n.cultureInfo.pm})}return n.datetime.parseByToken?n.datetime.parseByToken(e,u.today):null},parseMachineDate:function(H){var V=H.AM,O=H.PM,v=H.value,y=H.format,e=H.baseDate,R=H.shortYearCutOff||30,C=-1,L=-1,D=-1,u=0,B=0,F=0,E=0,T,P,z=false,I=function(W){return(G+10?V:"a";O=N>0?O:"p";var x=v.substr(M).toLowerCase();T=x.indexOf(V.toLowerCase())!=-1;P=x.indexOf(O.toLowerCase())!=-1;M+=P?O.length:T?V.length:0;break;case"'":Q();z=true;break;default:Q()}}}var K=new n.datetime();if(C!=-1&&C<100){C+=K.year()-K.year()%100+(C<=R?0:-100)}u=(P&&u<12)?u+12:u==12&&T?0:u;if(e==undefined){if(C==-1){C=K.year()}K=new n.datetime(C,L-1,D,u,B,F,E);if(K.year()!=C||K.month()!=(L-1)||K.date()!=D){return null}}else{K=e.year(C!=-1?C:e.year()).month(L!=-1?L-1:e.month()).date(D!=-1?D:e.date()).hours(u).minutes(B).seconds(F).milliseconds(E);if((C!=-1&&K.year()!=C)||(L!=-1&&K.month()!=(L-1))||(D!=-1&&K.date()!=D)||(u!=-1&&K.hours()!=u)||(B!=-1&&K.minutes()!=B)||(F!=-1&&K.seconds()!=F)||(E!=-1&&K.milliseconds()!=E)){return null}}return K}});n.datetime.prototype={year:function(){if(arguments.length==0){return this.value.getFullYear()}else{if(arguments.length==1){this.value.setFullYear(arguments[0])}else{this.value.setFullYear(arguments[0],arguments[1],arguments[2])}}return this},timeOffset:function(){return this.value.getTimezoneOffset()},day:function(){return this.value.getDay()},toDate:function(){return this.value},addMonth:function(e){this.month(this.month()+e)},addYear:function(e){this.year(this.year()+e)}};i.each(["Month","Date","Hours","Minutes","Seconds","Milliseconds","Time"],function(e,t){n.datetime.prototype[t.toLowerCase()]=function(){if(arguments.length==1){this.value["set"+t](arguments[0])}else{return this.value["get"+t]()}return this}});i.extend(n.formatters,{date:n.datetime.format});n.stringBuilder.prototype={cat:function(e){this.buffer.push(e);return this},rep:function(t,e){for(var u=0;u');this._verticalScrollbar=this._horizontalScrollbar.clone();this._scrollbars=this._horizontalScrollbar.add(this._verticalScrollbar);this._startProxy=i.proxy(this._start,this);this._stopProxy=i.proxy(this._stop,this);this._dragProxy=i.proxy(this._drag,this);this._create()}function c(u){var t=u.originalEvent.changedTouches;if(t&&t.length<2){return{x:t[0].pageX,y:t[0].pageY}}return{x:u.pageX,y:u.pageY}}g.prototype={_create:function(){this.wrapper.css("overflow","hidden").bind(b,i.proxy(this._wait,this))},_wait:function(u){var t=c(u);this.start={x:t.x+this.wrapper.scrollLeft(),y:t.y+this.wrapper.scrollTop()};i(document).bind(m,this._startProxy).bind(p,this._stopProxy)},_start:function(w){w.preventDefault();var t=c(w);if(this.start.x-t.x>10||this.start.y-t.y>10){i(document).unbind(m,this._startProxy).bind(m,this._dragProxy);var u=this.wrapper.innerWidth(),v=this.wrapper.innerHeight();offset=this.wrapper.offset(),scrollWidth=this.wrapper.attr("scrollWidth"),scrollHeight=this.wrapper.attr("scrollHeight");if(scrollWidth>u){this._horizontalScrollbar.appendTo(document.body).css({width:Math.floor((u/scrollWidth)*u),left:this.wrapper.scrollLeft()+offset.left+parseInt(this.wrapper.css("borderLeftWidth")),top:offset.top+this.wrapper.innerHeight()+parseInt(this.wrapper.css("borderTopWidth"))-this._horizontalScrollbar.outerHeight()})}if(scrollHeight>v){this._verticalScrollbar.appendTo(document.body).css({height:Math.floor((v/scrollHeight)*v),top:this.wrapper.scrollTop()+offset.top+parseInt(this.wrapper.css("borderTopWidth")),left:offset.left+this.wrapper.innerWidth()+parseInt(this.wrapper.css("borderLeftWidth"))-this._verticalScrollbar.outerWidth()})}this._scrollbars.stop().fadeTo(200,0.5)}},_drag:function(A){A.preventDefault();var B=c(A),y=this.wrapper.offset(),v=y.left+parseInt(this.wrapper.css("borderLeftWidth")),w=y.top+parseInt(this.wrapper.css("borderTopWidth")),u=this.start.x-B.x,t=this.start.y-B.y,x=Math.max(v,v+u),z=Math.max(w,w+t);x=Math.min(v+this.wrapper.innerWidth()-this._horizontalScrollbar.outerWidth()-this._horizontalScrollbar.outerHeight(),x);z=Math.min(w+this.wrapper.innerHeight()-this._verticalScrollbar.outerHeight()-this._verticalScrollbar.outerWidth(),z);this._horizontalScrollbar.css("left",x);this._verticalScrollbar.css("top",z);this.wrapper.scrollLeft(u).scrollTop(t)},_stop:function(t){i(document).unbind(m,this._startProxy).unbind(m,this._dragProxy).unbind(p,this._stopProxy);this._scrollbars.stop().fadeTo(400,0)}};var j=function(u,e,t){if(e.length==0&&t){t();return null}var v=u.list.length;return function(){if(--v==0&&t){t()}}};i.extend(n.fx,{_wrap:function(e){if(!e.parent().hasClass("t-animation-container")){e.wrap(i("
    ").addClass("t-animation-container").css({width:e.outerWidth(),height:e.outerHeight()}))}return e.parent()},play:function(w,x,u,e){var z=j(w,x,e);if(z===null){return}x.stop(false,true);for(var t=0,y=w.list.length;t=0;t--){var v=x.data("effect-"+t)||new n.fx[w.list[t].name](x);v.rewind(i.extend(w.list[t],{openDuration:w.openDuration,closeDuration:w.closeDuration},u),y);x.data("effect-"+t,null)}}});n.fx.toggle=function(e){this.element=e.stop(false,true)};n.fx.toggle.prototype={play:function(e,t){this.element.show();if(t){t()}},rewind:function(e,t){this.element.hide();if(t){t()}}};n.fx.toggle.defaults=function(){return{list:[{name:"toggle"}]}};n.fx.slide=function(e){this.element=e;this.animationContainer=n.fx._wrap(e)};n.fx.slide.prototype={play:function(t,x){var e=this.animationContainer;this.element.css("display","block").stop();e.css({display:"block",overflow:"hidden"});var u=this.element.outerWidth();var z=this.element.outerHeight();var y=t.direction=="bottom"?"marginTop":"marginLeft";var v=t.direction=="bottom"?-z:-u;e.css({width:u,height:z});var w={};w[y]=0;this.element.css("width",this.element.width()).each(function(){this.style.cssText=this.style.cssText}).css(y,v).animate(w,{queue:false,duration:t.openDuration,easing:"linear",complete:function(){e.css("overflow","");if(x){x()}}})},rewind:function(u,t){var v=this.animationContainer;this.element.stop();v.css({overflow:"hidden"});var e;switch(u.direction){case"bottom":e={marginTop:-this.element.outerHeight()};break;case"right":e={marginLeft:-this.element.outerWidth()};break}this.element.animate(e,{queue:false,duration:u.closeDuration,easing:"linear",complete:function(){v.css({display:"none",overflow:""});if(t){t()}}})}};n.fx.slide.defaults=function(){return{list:[{name:"slide"}],openDuration:"fast",closeDuration:"fast"}};n.fx.property=function(e){this.element=e};n.fx.property.prototype={_animate:function(w,v,t,e){var x={overflow:"hidden"},y={},u=this.element;i.each(w,function(A,B){var z;switch(B){case"height":case"width":z=u[B]();break;case"opacity":z=1;break;default:z=u.css(B);break}x[B]=t?z:0;y[B]=t?0:z});u.css(x).show().animate(y,{queue:false,duration:v,easing:"linear",complete:function(){if(t){u.hide()}i.each(y,function(z){y[z]=""});u.css(i.extend({overflow:""},y));if(e){e()}}})},play:function(t,e){this._animate(t.properties,t.openDuration,false,e)},rewind:function(t,e){this._animate(t.properties,t.closeDuration,true,e)}};n.fx.property.defaults=function(){return{list:[{name:"property",properties:arguments}],openDuration:"fast",closeDuration:"fast"}};i(document).ready(function(){if(i.browser.msie&&typeof(Sys)!="undefined"&&typeof(Sys.Mvc)!="undefined"&&typeof(Sys.Mvc.FormContext)!="undefined"){var e=function(u,t){return i.grep(u.getElementsByTagName("*"),function(v){return v.name==t})};if(Sys.Mvc.FormContext){Sys.Mvc.FormContext.$F=Sys.Mvc.FormContext._getFormElementsWithName=e}}})})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.datepicker.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.datepicker.min.js deleted file mode 100644 index 564abff59..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.datepicker.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(d){var b=d.telerik;var a=null;b.datetime.parseByToken=function(g,i){if(g===null||g===""){return null}i=i||new b.datetime();var e=null;var m=null;var k=null;var n=0;var f=function(o){var p=null;if(o&&g.substring(n,n+o.length).toLowerCase()==o.toLowerCase()){p=o}return p};var j=function(){var o=null;d.each(["days","abbrDays","months","abbrMonths"],function(q,p){if(o!==null){return}d.each(b.cultureInfo[p],function(s,r){if(o!==null){return}o=f(r)});k=p});return o};var h=function(){var o;var p=function(r,s){i[s?"date":"month"](i[s?"date":"month"]()+(o!=0?((o+((o>0?1:-1)*r))%r):0)+(m?(e==b.cultureInfo.next?1:-1)*r:0))};var q=d.inArray(m||e,b.cultureInfo[k]);if(k.toLowerCase().indexOf("day")>-1){o=(q==0?7:q)-i.day();p(7,true)}else{o=q-i.month();p(12,false)}};var l=function(){var p=function(q){var r;switch(m){case"year":r=q==1?1:0;break;case"month":r=q==2?1:0;break;case"week":r=q==3?7:0;break;case"day":r=q==3?1:0;break}return r};var o=(e==b.cultureInfo.next?1:-1);i.year(i.year()+p(1)*o,i.month()+p(2)*o,i.date()+p(3)*o)};d.each(["today","tomorrow","yesterday","next","last"],function(p,o){if(e!==null){return}e=f(b.cultureInfo[o])});if(e!==null){n+=e.length;if(/[^\s\d]\s+[^\s\d]/i.test(g)){n++;d.each(["year","month","week","day"],function(p,o){if(m!==null){return}m=f(b.cultureInfo[o])});k=null;if(m===null){m=j()}if(m===null){return null}}else{switch(e){case b.cultureInfo.today:break;case b.cultureInfo.tomorrow:i.date(i.date()+1);break;case b.cultureInfo.yesterday:i.date(i.date()-1);break;default:i=null;break}return i}}else{e=j();if(e!=null){h();return i}else{return null}}if(k!==null){h()}else{l()}return i};function c(h,g,f,e){if(g){h=new Date(g)}if(f>h){h=new Date(f)}else{if(e').prependTo(a).height(a.height())}}return a},_getCalendar:function(){return a.data("tCalendar")},_reassignSharedCalendar:function(){var e=this._getCalendar();if(a.data("associatedDateView")!=this){a.stop(true,true);this.focusedValue=c(this.focusedValue,this.selectedValue,this.minValue,this.maxValue);e.minDate=this.minValue;e.maxDate=this.maxValue;e.selectedValue=this.selectedValue;e.goToView(0,this.focusedValue);a.unbind("change").bind("change",d.proxy(function(h){var g=this.selectedValue;var f=new b.datetime(h.date);if(g!==null){f.hours(g.getHours()).minutes(g.getMinutes()).seconds(g.getSeconds()).milliseconds(g.getMilliseconds())}this.onChange(f.toDate())},this)).unbind("navigate").bind("navigate",d.proxy(function(i){var h=this.focusedValue;var f=e.viewedMonth;var g=e.currentView.index;h.setFullYear(f.year(),f.month(),h.getDate());b.calendar.focusDate(h,g,a,i.direction)},this)).data("associatedDateView",this);if(this.selectedValue){e.value(this.selectedValue)}b.calendar.focusDate(this.focusedValue,e.currentView.index,a)}},open:function(e){if(this.isOpened()){return}this._reassignSharedCalendar();var i=this.isRtl;var h=this.$calendar;elementPosition=e.offset;elementPosition.top+=e.outerHeight;if(i){elementPosition.left-=(a.outerWidth()||a.parent().outerWidth())-e.outerWidth}b.fx._wrap(a).css(d.extend({position:"absolute",direction:i?"rtl":"",display:a.is(":visible")?"":"none"},elementPosition));var f=this._getCalendar();var g=f.currentView.index;if(!a.is(":visible")&&f.viewedMonth.value-this.focusedValue!=0){f.goToView(g,this.focusedValue).value(this.selectedValue)}b.calendar.focusDate(this.focusedValue,f.currentView.index,a);b.fx._wrap(h).css("zIndex",e.zIndex).show();b.fx.play(this.effects,h,{direction:"bottom"})},close:function(){if(this.isOpened()){b.fx.rewind(this.effects,this.$calendar,{direction:"bottom"},function(){if(a){b.fx._wrap(a).hide()}})}},isOpened:function(){return a&&a.data("associatedDateView")==this&&a.is(":visible")},value:function(e){if(e===undefined){return this.selectedValue}var g=e===null;var f=this._getCalendar();if(!g){e=e.value?new Date(e.value):e}f.value(e);this.selectedValue=e;if(g){e=new Date()}this.focusedValue=new Date(e);b.calendar.focusDate(e,f.currentView.index,a)},navigate:function(p){if(this.isOpened()&&d(".t-overlay",a).length>0){return}var m;var k=false;var o=this.$calendar;var l=this._getCalendar();var n=l.viewedMonth;var h=l.currentView;var f=h.index;var q=new b.datetime(this.focusedValue);var r=function(e,t,s){if(!d(e,o).hasClass("t-state-disabled")){if("navigateUp"==t){f+=1}m=s||false;l[t]();return true}else{return false}};var g=function(){var e=b.calendar.findTarget(q,f,o,false)[0];l.navigateDown(p,e,f);f=f==0?0:f-1;m=true};var i=function(e,u,s){var t=!s?-1:1;if(!r(e,u,s)){return false}if(f==0){q.addMonth(t)}else{q.addYear(t*(f==1?1:f==2?10:100))}return true};var j=b.datepicker.adjustDate;if(o.is(":visible")&&!p.shiftKey){k=true;switch(p.keyCode){case 37:if(p.ctrlKey){if(!i(".t-nav-prev","navigateToPast")){return}}else{j(f,q,-1,-1);if(h.navCheck(q,n,false)){if(!r(".t-nav-prev","navigateToPast")){return}}}break;case 38:if(p.ctrlKey){r(".t-nav-fast","navigateUp")}else{j(f,q,-7,-4);if(h.navCheck(q,n,false)){if(!r(".t-nav-prev","navigateToPast")){return}}}break;case 39:if(p.ctrlKey){if(!i(".t-nav-next","navigateToFuture",true)){return}}else{j(f,q,1,1);if(h.navCheck(q,n,true)){if(!r(".t-nav-next","navigateToFuture",true)){return}}}break;case 40:if(p.ctrlKey){g()}else{j(f,q,7,4);if(h.navCheck(q,n,true)){if(!r(".t-nav-next","navigateToFuture",true)){return}}}break;case 33:if(!i(".t-nav-prev","navigateToPast")){return}break;case 34:if(!i(".t-nav-next","navigateToFuture",true)){return}break;case 35:q=b.calendar.views[f].firstLastDay(q,false,l);break;case 36:q=b.calendar.views[f].firstLastDay(q,true,l);break;case 13:p.stopPropagation();if(f==0){this.onChange(this.focusedValue)}else{g()}break;default:k=false;break}}if(k){p.preventDefault();q=b.calendar.fitDateToRange(q,new b.datetime(this.minValue),new b.datetime(this.maxValue));b.calendar.focusDate(q.toDate(),f,o,m);this.focusedValue=q.toDate()}}};d.each(["min","max"],d.proxy(function(f,e){b.dateView.prototype[e]=function(h){var g=e+"Value";if(h===undefined){return this[g]}this[g]=new Date(h.value?h.value:h);a.data("associatedDateView",null);this._reassignSharedCalendar()}},this));b.datepicker=function(f,g){d.extend(this,g);if(f.nodeName.toLowerCase()!=="input"&&f.type.toLowerCase()!=="text"){throw"Target element is not a INPUT"}this.element=f;var h=this.$element=d(f).addClass("t-input").attr("autocomplete","off").bind({keydown:d.proxy(this._keydown,this),focus:d.proxy(function(l){if(this.openOnFocus){this._open()}this.$element.removeClass("t-state-error")},this)});if(!h.parent().hasClass("t-picker-wrap")){h.wrap('
    ');if(g.showButton){var k=new b.stringBuilder(),i=g.buttonTitle;d(k.cat('').cat('').string()).insertAfter(h)}}this.dateView=new b.dateView({selectedValue:this.selectedValue,minValue:this.minValue,maxValue:this.maxValue,effects:this.effects,isRtl:h.closest(".t-rtl").length,onChange:d.proxy(function(l){this._update(l);this._close()},this)});this.inputValue=h.val();var e=this.selectedValue||this.inputValue;if(e){this._value(this.parse(e))}var j=this.enabled?d.proxy(this._togglePopup,this):b.preventDefault;this.$wrapper=h.closest(".t-datepicker").find(".t-icon").bind("click",j).end();d(document.documentElement).bind("mousedown",d.proxy(function(n){var l=this.$element.val();if(l!=this.inputValue){this._update(l)}if(!a){return}var m=a.data("associatedDateView");if(!m||m!=this.dateView){return}if(!d.contains(this.$wrapper[0],n.target)&&!d.contains(a[0],n.target)){this._close()}},this));b.bind(this,{open:this.onOpen,close:this.onClose,valueChange:this.onChange,load:this.onLoad})};b.datepicker.prototype={_togglePopup:function(){if(this.dateView.isOpened()){this._close()}else{this.element.focus();this._open()}},_close:function(){if(!a.is(":animated")&&this.dateView.isOpened()){this._trigger("close")}},_open:function(){if(!this.dateView.isOpened()){this._trigger("open")}},_trigger:function(e){if(!b.trigger(this.element,e)){this[e]()}},_update:function(f){f=this.parse(f);if(f!=null){if(f-this.minValue<=0){f=this.minValue}else{if(f-this.maxValue>=0){f=this.maxValue}}}var e=this.selectedValue,i=e?b.datetime.format(e,this.format):"",h=f?b.datetime.format(f,this.format):"";this._value(f);if(h!=i){var g={previousValue:e,value:f,previousDate:e,date:f};if(b.trigger(this.element,"valueChange",g)){this._value(e)}}},_keydown:function(g){var f=g.keyCode;if(f==9||(f==13&&this.inputValue!=this.$element.val())){this._update(this.$element.val());this._close()}else{if(f==27){this._close()}else{if(g.altKey){if(f==40){this._open()}else{if(f==38){this._close()}}}else{this.dateView.navigate(g)}}}},enable:function(){this.$element.attr("disabled",false);this.$wrapper.removeClass("t-state-disabled").find(".t-icon").unbind("click").bind("click",d.proxy(this._togglePopup,this))},disable:function(f){this.$element.attr("disabled",true);this.$wrapper.addClass("t-state-disabled").find(".t-icon").unbind("click").bind("click",b.preventDefault)},_value:function(e){var g=this.$element.val();var f=e===null;this.selectedValue=e;this.dateView.value(e);if(!f){g=b.datetime.format(e,this.format)}this.inputValue=g;this.$element.toggleClass("t-state-error",f&&g!="").val(g)},value:function(e){if(e===undefined){return this.selectedValue}var f=this.parse(e);f=b.datepicker.isInRange(f,this.minValue,this.maxValue)?f:null;if(f===null){this.$element.removeClass("t-state-error").val("")}this._value(f);return this},showPopup:function(){this.open()},hidePopup:function(){this.close()},open:function(){var e=this.$element;this.dateView.open({offset:e.offset(),outerHeight:e.outerHeight(),outerWidth:e.outerWidth(),zIndex:b.getElementZIndex(e[0])})},close:function(){this.dateView.close()},parse:function(e,g){if(e===null||e.getDate){return e}var f=b.datetime.parse({value:e,format:g||this.format,shortYearCutOff:this.shortYearCutOff});return f!=null?f.toDate():null}};d.each(["min","max"],d.proxy(function(f,e){b.datepicker.prototype[e]=function(g){var i=e+"Value";if(g===undefined){return this[i]}var j=this.parse(g);if(j!==null){var h=this[i];this[i]=j;if(this.minValue>this.maxValue){this[i]=h;return}this.dateView[e](j);if(!b.datepicker.isInRange(this.selectedValue,this.minValue,this.maxValue)){this.value(j)}}}},this));d.extend(b.datepicker,{adjustDate:function(e,h,g,f){if(e==0){b.datetime.modify(h,b.datetime.msPerDay*g)}else{if(e==1){h.addMonth(f)}else{h.addYear((e==2?f:10*f))}}},isInRange:function(g,e,f){if(!g){return false}return e-g<=0&&f-g>=0}});d.fn.tDatePicker=function(e){return b.create(this,{name:"tDatePicker",init:function(f,g){return new b.datepicker(f,g)},options:e})};d.fn.tDatePicker.defaults={effects:b.fx.slide.defaults(),selectedValue:null,format:b.cultureInfo.shortDate,minValue:new Date(1899,11,31),maxValue:new Date(2100,0,1),shortYearCutOff:30,showButton:true,buttonTitle:"Open the calendar",enabled:true,openOnFocus:false}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.datetimepicker.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.datetimepicker.min.js deleted file mode 100644 index 90e32369d..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.datetimepicker.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(c){var b=c.telerik;function a(e,f){var d=new b.stringBuilder();return d.cat('').string()}b.datetimepicker=function(f,g){c.extend(this,g);if(f.nodeName.toLowerCase()!=="input"&&f.type.toLowerCase()!=="text"){throw"Target element is not a INPUT"}this.element=f;var h=this.$element=c(f).addClass("t-input").attr("autocomplete","off").bind({keydown:c.proxy(this._keydown,this),focus:c.proxy(function(i){this.$element.removeClass("t-state-error")},this)});if(!h.parent().hasClass("t-picker-wrap")){h.wrap('
    ');if(g.showCalendarButton||g.showTimeButton){c(new b.stringBuilder().cat('').catIf(a("calendar",g.calendarButtonTitle),g.showCalendarButton).cat(a("clock",g.timeButtonTitle),g.showTimeButton).cat("").string()).insertAfter(h)}}this.$wrapper=h.closest(".t-datetimepicker").find(".t-icon-clock").bind("click",this.enabled?c.proxy(this._toggleTimeView,this):b.preventDefault).end().find(".t-icon-calendar").bind("click",this.enabled?c.proxy(this._toggleDateView,this):b.preventDefault).end();this.timeView=new b.timeView({effects:this.effects,dropDownAttr:this.dropDownAttr,format:this.timeFormat,interval:this.interval,isRtl:h.closest(".t-rtl").length,minValue:this.startTimeValue,maxValue:this.endTimeValue,onNavigateWithOpenPopup:c.proxy(function(j){var i=this.parse(j,this.timeFormat);this.$element.val(b.datetime.format(i,this.format))},this),onChange:c.proxy(function(i){this._update(this.parse(i,this.timeFormat));this._close("time")},this)});this.dateView=new b.dateView({selectedValue:this.selectedValue,minValue:this.minValue,maxValue:this.maxValue,effects:this.effects,isRtl:h.closest(".t-rtl").length,onChange:c.proxy(function(i){this._update(i);this._close("date")},this)});this.inputValue=h.val();var d=this.selectedValue||this.inputValue;if(d){var e=this.parse(d);this.dateView.selectedValue=e;this._value(this.parse(d))}c(document.documentElement).bind("mousedown",c.proxy(function(n){var l=this.$element.val();if(l!=this.inputValue){this._update(l)}var i=this.dateView.$calendar;if(!i){return}var m=this.timeView.dropDown.$element;var j=m&&m.parent().length>0;var o=i.data("associatedDateView");var k=n.target;if(c.contains(this.$wrapper[0],k)||(o&&o==this.dateView&&c.contains(i[0],k))||(j&&c.contains(m.parent()[0],k))){return}this._close("date");this._close("time")},this));b.bind(this,{open:this.onOpen,close:this.onClose,valueChange:this.onChange,load:this.onLoad})};b.datetimepicker.prototype={_update:function(e){e=this.parse(e);if(e!=null){if(e-this.minValue<=0){e=this.minValue}else{if(e-this.maxValue>=0){e=this.maxValue}}}var d=this.selectedValue,h=d?b.datetime.format(d,this.format):"",g=e?b.datetime.format(e,this.format):"";this._value(e);if(g!=h){var f={previousValue:d,value:e};if(b.trigger(this.element,"valueChange",f)){this._value(d)}}},_value:function(d){var h=this.$element.val();var g=d===null;var e=this.dateView;var f=e.$calendar.data("associatedDateView");this.selectedValue=d;this.timeView.value(g?null:b.datetime.format(d,this.timeFormat));if(f&&f==e){e.value(d)}if(!g){h=b.datetime.format(d,this.format)}this.inputValue=h;this.$element.toggleClass("t-state-error",g&&h!="").val(h)},_open:function(d){if(!this[d=="time"?"timeView":"dateView"].isOpened()){this._trigger(d,"open")}},_close:function(f){var d=this.dateView;var e=this.timeView.dropDown;if((f=="time"&&!e.$element.is(":animated")&&e.isOpened())||(!d.$calendar.is(":animated")&&d.isOpened())){this._trigger(f,"close")}},_trigger:function(d,e){if(!b.trigger(this.element,e,{popup:d})){this[e](d)}},_keydown:function(g){var f=g.keyCode,d=this.dateView.isOpened();if(f==9||f==27||(f==13&&this.inputValue!=this.$element.val())){this._update(this.$element.val());this._close("date");this._close("time");return}if(g.altKey){if(f==40){this._close(d?"date":"time");this._open(d?"time":"date")}else{if(f==38){this._close(d?"date":"time")}}return}if(d){this.dateView.navigate(g);return}if(this.timeView.isOpened()&&(f===38||f===40)){this.timeView.navigate(g);return}},_toggleDateView:function(){if(this.dateView.isOpened()){this._close("date")}else{this.element.focus();this._open("date");this._close("time")}},_toggleTimeView:function(){if(this.timeView.isOpened()){this._close("time")}else{this.element.focus();this._open("time");this._close("date")}},enable:function(){this.$element.attr("disabled",false);this.$wrapper.removeClass("t-state-disabled").find(".t-icon-clock").unbind("click").bind("click",c.proxy(this._toggleTimeView,this)).end().find(".t-icon-calendar").unbind("click").bind("click",c.proxy(this._toggleDateView,this))},disable:function(d){this.$element.attr("disabled",true);this.$wrapper.addClass("t-state-disabled").find(".t-icon").unbind("click").bind("click",b.preventDefault)},open:function(e){var f=this.$element;var d={offset:f.offset(),outerHeight:f.outerHeight(),outerWidth:f.outerWidth(),zIndex:b.getElementZIndex(f[0])};this[e=="time"?"timeView":"dateView"].open(d)},close:function(d){this[d=="time"?"timeView":"dateView"].close()},value:function(d){if(d===undefined){return this.selectedValue}var e=this.parse(d);e=b.datepicker.isInRange(e,this.minValue,this.maxValue)?e:null;if(e===null){this.$element.removeClass("t-state-error").val("")}this._value(e);return this},parse:function(d,f){if(d===null||d.getDate){return d}f=f||this.format;var e=b.datetime.parse({AM:b.cultureInfo.AM,PM:b.cultureInfo.PM,value:d,format:f,baseDate:this.selectedValue?new b.datetime(this.selectedValue):new b.datetime()});return e!=null?e.toDate():null}};c.each(["min","max"],c.proxy(function(e,d){b.datetimepicker.prototype[d]=function(f){var h=d+"Value";if(f===undefined){return this[h]}var i=this.parse(f);if(i!==null){var g=this[h];this[h]=i;if(this.minValue>this.maxValue){this[h]=g;return}this.dateView[d](i);if(!b.datepicker.isInRange(this.selectedValue,this.minValue,this.maxValue)){this.value(i)}}}},this));c.each(["startTime","endTime"],c.proxy(function(e,d){b.datetimepicker.prototype[d]=function(f){var g=d+"Value";if(f===undefined){return this[g]}var h=this.parse(f,b.cultureInfo.shortTime);if(h!==null){this[g]=h;d=="startTime"?this.timeView.min(h):this.timeView.max(h);if(!b.timeView.isInRange(this.selectedValue,this.minValue,this.maxValue)){this.value(h)}}}},this));c.fn.tDateTimePicker=function(d){c.fn.tDateTimePicker.defaults.timeFormat=b.cultureInfo.shortTime;return b.create(this,{name:"tDateTimePicker",init:function(e,f){return new b.datetimepicker(e,f)},options:d})};c.fn.tDateTimePicker.defaults={effects:b.fx.slide.defaults(),selectedValue:null,format:b.cultureInfo.generalDateShortTime,focusedDate:new b.datetime(),minValue:new Date(1899,11,31),maxValue:new Date(2100,0,1),startTimeValue:new b.datetime().hours(0).minutes(0).seconds(0).toDate(),endTimeValue:new b.datetime().hours(0).minutes(0).seconds(0).toDate(),calendarButtonTitle:"Open the calendar",timeButtonTitle:"Open the time view",showCalendarButton:true,showTimeButton:true,shortYearCutOff:30,enabled:true,interval:30}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.draganddrop.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.draganddrop.min.js deleted file mode 100644 index c4174cc9d..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.draganddrop.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(d){var g=d.telerik,b=function(){},c={},a={},f={scope:"default",drop:b,over:b,out:b,owner:document.body},e={distance:5,cursorAt:{left:10,top:10},scope:"default",start:b,drag:b,stop:b,destroy:b,owner:document.body,cue:function(){return d("")}};g.droppable=function(h){d.extend(this,f,h);d(this.owner).delegate(this.selector,"mouseenter",d.proxy(this._over,this)).delegate(this.selector,"mouseup",d.proxy(this._drop,this)).delegate(this.selector,"mouseleave",d.proxy(this._out,this))};g.droppable.prototype={_over:function(h){this._raise(h,this.over)},_out:function(h){this._raise(h,this.out)},_drop:function(h){this._raise(h,d.proxy(function(i){this.drop(i);i.destroy(i)},this))},_raise:function(j,i){var h=c[this.scope];if(h){i(d.extend(j,h,{$droppable:d(j.currentTarget)}))}}};g.dragCue=function(h){return d('
    ').html(h).prepend('').appendTo(document.body)};g.dragCueStatus=function(h,i){h.find(".t-drag-status").attr("className","t-icon t-drag-status").addClass(i)};g.draggable=function(h){d.extend(this,e,h);d(this.owner).delegate(this.selector,"mousedown",d.proxy(this._wait,this)).delegate(this.selector,"dragstart",g.preventDefault);this._startProxy=d.proxy(this._start,this);this._destroyProxy=d.proxy(this._destroy,this);this._stopProxy=d.proxy(this._stop,this);this._dragProxy=d.proxy(this._drag,this)};g.draggable.get=function(h){return c[h]};g.draggable.prototype={_raise:function(j,i){var h=c[this.scope];if(h){return i(d.extend(j,h))}},_wait:function(h){this.$target=d(h.currentTarget);this._startPosition={x:h.pageX,y:h.pageY};d(document).bind({mousemove:this._startProxy,mouseup:this._destroyProxy});d(document.documentElement).trigger("mousedown",h);return false},_start:function(l){var k=this._startPosition.x-l.pageX,j=this._startPosition.y-l.pageY;var i=Math.sqrt((k*k)+(j*j));if(i>=this.distance){var h=a[this.selector];if(!h){h=a[this.selector]=this.cue({$draggable:this.$target});d(document).unbind("mousemove",this._startProxy).unbind("mouseup",this._destroyProxy).bind({"mouseup keydown":this._stopProxy,mousemove:this._dragProxy,selectstart:false})}c[this.scope]={$cue:h.css({position:"absolute",left:l.pageX+this.cursorAt.left,top:l.pageY+this.cursorAt.top}),$draggable:this.$target,destroy:this._destroyProxy};if(this._raise(l,this.start)===false){this._destroy(l)}}},_drag:function(h){this._raise(h,this.drag);c[this.scope].$cue.css({left:h.pageX+this.cursorAt.left,top:h.pageY+this.cursorAt.top})},_stop:function(h){if(h.type=="mouseup"||h.keyCode==27){if(this._raise(h,this.stop)===false){this._destroy(h)}else{var i=c[this.scope];i.$cue.animate(i.$draggable.offset(),"fast",this._destroyProxy)}}},_destroy:function(h){d(document).unbind("mouseup keydown",this._stopProxy).unbind("mousemove",this._dragProxy).unbind("mousemove",this._startProxy).unbind("selectstart",false);this._raise(h,this.destroy);c[this.scope]=null;a[this.selector]=null}}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.editor.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.editor.min.js deleted file mode 100644 index f6a0e9775..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.editor.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(s){var ar=s.telerik;function G(a3){var a2={};for(var a1=0;a18){g=function(a2){if(a2.nodeType==1&&a2.firstChild){var a1=a2.firstChild,a3=a1;while(a3=a3.nextSibling){if(a3.nodeType==3&&a1.nodeType==3){a3.nodeValue=a1.nodeValue+a3.nodeValue;D.remove(a1)}a1=a3}}}}function p(a1){var a2=0;while(a1=a1.previousSibling){a2++}return a2}function af(a1){return a1&&a1.nodeValue!==null&&a1.data!==null}function k(a1,a2){try{return !af(a1)&&(s.contains(a1,af(a2)?a2.parentNode:a2)||a2.parentNode==a1)}catch(a3){return false}}function z(a2,a1){return k(a2,a1)||a2==a1}function aB(a2,a1){if(k(a2,a1)){while(a1&&a1.parentNode!=a2){a1=a1.parentNode}}return a1}function aG(a1){return af(a1)?a1.length:a1.childNodes.length}function av(a1,a3){var a2=a1.cloneNode(false);a1.deleteData(a3,a1.length);a2.deleteData(0,a3);D.insertAfter(a2,a1)}function B(a2,a3){for(var a4 in a3){var a1=a2[a4];if(a4=="float"){a1=a2[s.support.cssFloat?"cssFloat":"styleFloat"]}if(typeof a1=="object"){if(!B(a1,a3[a4])){return false}}else{if(a1!=a3[a4]){return false}}}return true}var aD=/^\s+$/;var e=/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i;var ah=("color,padding-left,padding-right,padding-top,padding-bottom,background-color,background-attachment,background-image,background-position,background-repeat,border-top-style,border-top-width,border-top-color,border-bottom-style,border-bottom-width,border-bottom-color,border-left-style,border-left-width,border-left-color,border-right-style,border-right-width,border-right-color,font-family,font-size,font-style,font-variant,font-weight,line-height").split(",");var D={blockParentOrBody:function(a1){return D.parentOfType(a1,H)||a1.ownerDocument.body},normalize:g,toHex:function(a1){var a2=e.exec(a1);if(!a2){return a1}return"#"+s.map(a2.slice(1),function(a3){return a3=parseInt(a3).toString(16),a3.length>1?a3:"0"+a3}).join("")},encode:function(a1){return a1.replace(/&/g,"&").replace(//g,">").replace(/\u00a0/g," ")},name:function(a1){return a1.nodeName.toLowerCase()},significantChildNodes:function(a1){return s.grep(a1.childNodes,function(a2){return a2.nodeType!=3||!D.isWhitespace(a2)})},lastTextNode:function(a2){if(a2.nodeType==3){return a2}var a1=null;for(var a3=a2.lastChild;a3;a3=a3.previousSibling){if(a1=D.lastTextNode(a3)){return a1}}return a1},is:function(a1,a2){return D.name(a1)==a2},isMarker:function(a1){return a1.className=="t-marker"},isWhitespace:function(a1){return aD.test(a1.nodeValue)},isBlock:function(a1){return N[D.name(a1)]},isEmpty:function(a1){return aM[D.name(a1)]},isInline:function(a1){return aU[D.name(a1)]},scrollTo:function(a1){a1.ownerDocument.body.scrollTop=s(af(a1)?a1.parentNode:a1).offset().top},insertAt:function(a2,a1,a3){a2.insertBefore(a1,a2.childNodes[a3]||null)},insertBefore:function(a1,a2){if(a2.parentNode){return a2.parentNode.insertBefore(a1,a2)}else{return a2}},insertAfter:function(a1,a2){return a2.parentNode.insertBefore(a1,a2.nextSibling)},remove:function(a1){a1.parentNode.removeChild(a1)},trim:function(a2){for(var a1=a2.childNodes.length-1;a1>=0;a1--){var a3=a2.childNodes[a1];if(af(a3)){if(a3.nodeValue.replace(/\ufeff/g,"").length==0){D.remove(a3)}if(D.isWhitespace(a3)){D.insertBefore(a3,a2)}}else{if(a3.className!="t-marker"){D.trim(a3);if(a3.childNodes.length==0&&!D.isEmpty(a3)){D.remove(a3)}}}}return a2},parentOfType:function(a1,a2){do{a1=a1.parentNode}while(a1&&!(D.ofType(a1,a2)));return a1},ofType:function(a1,a2){return s.inArray(D.name(a1),a2)>=0},changeTag:function(a5,a2){var a4=D.create(a5.ownerDocument,a2);var a8=a5.attributes;for(var a3=0;a3")},end:function(){a6.push("")}},b:{start:function(){a6.push("")},end:function(){a6.push("")}},i:{start:function(){a6.push("")},end:function(){a6.push("")}},u:{start:function(){a6.push('')},end:function(){a6.push("")}},font:{start:function(a9){a6.push('')},end:function(a7){a6.push("")}}};function a2(a8){var bf=[],bn=a8.attributes,bk=s.trim;if(D.is(a8,"img")){var bq=a8.style.width,bg=a8.style.height,be=s(a8);if(bq){be.attr("width",parseInt(bq));D.unstyle(a8,{width:undefined})}if(bg){be.attr("height",parseInt(bg));D.unstyle(a8,{height:undefined})}}for(var bd=0,bi=bn.length;bdbs.nodeName?1:br.nodeName=0){a7=D.toHex(a7)}if(a9.indexOf("font-family")>=0){a7=a7.replace(K,"'")}a6.push(a9);a6.push(":");a6.push(a7);a6.push(";")}}}else{if(bp=="src"||bp=="href"){a6.push(a8.getAttribute(bp,2))}else{a6.push(M[bp]?bp:bj)}}a6.push('"')}}function a1(a7,a8){for(var a9=a7.firstChild;a9;a9=a9.nextSibling){a4(a9,a8)}}function a4(ba,bb){var be=ba.nodeType;if(be==1){if(ba.attributes._moz_dirty&&D.is(ba,"br")){return}var a8=D.name(ba);var bc=a5[a8];if(bc){bc.start(ba);a1(ba);bc.end(ba);return}a6.push("<");a6.push(a8);a2(ba);if(aM[a8]){a6.push(" />")}else{a6.push(">");a1(ba,bb||D.is(ba,"pre"));a6.push("")}}else{if(be==3){var a7=ba.nodeValue;if(!bb&&s.support.leadingWhitespace){var bd=ba.parentNode;var a9=(D.isInline(bd)?bd:ba).previousSibling;if(!a9||a9.innerHTML==""||D.isBlock(a9)){a7=a7.replace(/^[\r\n\v\f\t ]+/,"")}a7=a7.replace(/ +/," ")}a6.push(D.encode(a7))}else{if(be==4){a6.push("")}else{if(be==8){if(ba.data.indexOf("[CDATA[")<0){a6.push("")}else{a6.push("")}}}}}}a1(a3);return a6.join("")}var v=0,aq=1,a=2,T=3;function q(a2){var a1=a2.startContainer;return a1.nodeType==9?a1:a1.ownerDocument}function E(a1){if(s.browser.msie){return new aw(a1.document)}return a1.getSelection()}function al(a2){var a1=q(a2);return aZ(a1)}function aZ(a1){return E(az(a1))}function az(a1){return a1.defaultView||a1.parentWindow}function am(a1,a2,a4){function a3(a7){var a5=a1.cloneRange();a5.collapse(a7);a5[a7?"setStartBefore":"setEndAfter"](a2);var a6=a5.extractContents();if(a4){a6=D.trim(a6)}D[a7?"insertBefore":"insertAfter"](a6,a2)}a3(true);a3(false)}function O(a2){var a3=U.image(a2);if(a3){a2.setStartAfter(a3);a2.setEndAfter(a3)}var a1=al(a2);a1.removeAllRanges();a1.addRange(a2)}function L(a1){s.extend(this,{ownerDocument:a1,startContainer:a1,endContainer:a1,commonAncestorContainer:a1,startOffset:0,endOffset:0,collapsed:true})}L.prototype={setStart:function(a1,a2){this.startContainer=a1;this.startOffset=a2;w(this);u(this,true)},setEnd:function(a1,a2){this.endContainer=a1;this.endOffset=a2;w(this);u(this,false)},setStartBefore:function(a1){this.setStart(a1.parentNode,p(a1))},setStartAfter:function(a1){this.setStart(a1.parentNode,p(a1)+1)},setEndBefore:function(a1){this.setEnd(a1.parentNode,p(a1))},setEndAfter:function(a1){this.setEnd(a1.parentNode,p(a1)+1)},selectNode:function(a1){this.setStartBefore(a1);this.setEndAfter(a1)},selectNodeContents:function(a1){this.setStart(a1,0);this.setEnd(a1,a1[a1.nodeType===1?"childNodes":"nodeValue"].length)},collapse:function(a1){if(a1){this.setEnd(this.startContainer,this.startOffset)}else{this.setStart(this.endContainer,this.endOffset)}},deleteContents:function(){var a2=this.cloneRange();if(this.startContainer!=this.commonAncestorContainer){this.setStartAfter(aB(this.commonAncestorContainer,this.startContainer))}this.collapse(true);(function a1(a3){while(a3.next()){a3.hasPartialSubtree()?a1(a3.getSubtreeIterator()):a3.remove()}})(new l(a2))},cloneContents:function(){var a1=q(this);return(function a2(a5){for(var a4,a3=a1.createDocumentFragment();a4=a5.next();){a4=a4.cloneNode(!a5.hasPartialSubtree());if(a5.hasPartialSubtree()){a4.appendChild(a2(a5.getSubtreeIterator()))}a3.appendChild(a4)}return a3})(new l(this))},extractContents:function(){var a2=this.cloneRange();if(this.startContainer!=this.commonAncestorContainer){this.setStartAfter(aB(this.commonAncestorContainer,this.startContainer))}this.collapse(true);var a3=this;var a1=q(this);return(function a4(a7){for(var a6,a5=a1.createDocumentFragment();a6=a7.next();){a7.hasPartialSubtree()?a6=a6.cloneNode(false):a7.remove(a3.originalRange);if(a7.hasPartialSubtree()){a6.appendChild(a4(a7.getSubtreeIterator()))}a5.appendChild(a6)}return a5})(new l(a2))},insertNode:function(a1){if(af(this.startContainer)){if(this.startOffset!=this.startContainer.nodeValue.length){av(this.startContainer,this.startOffset)}D.insertAfter(a1,this.startContainer)}else{D.insertAt(this.startContainer,a1,this.startOffset)}this.setStart(this.startContainer,this.startOffset)},cloneRange:function(){return s.extend(new L(this.ownerDocument),{startContainer:this.startContainer,endContainer:this.endContainer,commonAncestorContainer:this.commonAncestorContainer,startOffset:this.startOffset,endOffset:this.endOffset,collapsed:this.collapsed,originalRange:this})},toString:function(){var a2=this.startContainer.nodeName,a1=this.endContainer.nodeName;return[a2=="#text"?this.startContainer.nodeValue:a2,"(",this.startOffset,") : ",a1=="#text"?this.endContainer.nodeValue:a1,"(",this.endOffset,")"].join("")}};function m(a3,a1,a8,a5){if(a3==a1){return a5-a8}var a7=a1;while(a7&&a7.parentNode!=a3){a7=a7.parentNode}if(a7){return p(a7)-a8}a7=a3;while(a7&&a7.parentNode!=a1){a7=a7.parentNode}if(a7){return a5-p(a7)-1}var a6=D.commonAncestor(a3,a1);var a4=a3;while(a4&&a4.parentNode!=a6){a4=a4.parentNode}if(!a4){a4=a6}var a2=a1;while(a2&&a2.parentNode!=a6){a2=a2.parentNode}if(!a2){a2=a6}if(a4==a2){return 0}return p(a2)-p(a4)}function u(a2,a3){function a1(a5){try{return m(a5.startContainer,a5.endContainer,a5.startOffset,a5.endOffset)<0}catch(a4){return true}}if(a1(a2)){if(a3){a2.commonAncestorContainer=a2.endContainer=a2.startContainer;a2.endOffset=a2.startOffset}else{a2.commonAncestorContainer=a2.startContainer=a2.endContainer;a2.startOffset=a2.endOffset}a2.collapsed=true}}function w(a2){a2.collapsed=a2.startContainer==a2.endContainer&&a2.startOffset==a2.endOffset;var a1=a2.startContainer;while(a1&&a1!=a2.endContainer&&!k(a1,a2.endContainer)){a1=a1.parentNode}a2.commonAncestorContainer=a1}function aQ(a1){if(s.browser.msie){return new L(a1)}return a1.createRange()}function l(a2){s.extend(this,{range:a2,_current:null,_next:null,_end:null});if(a2.collapsed){return}var a1=a2.commonAncestorContainer;this._next=a2.startContainer==a1&&!af(a2.startContainer)?a2.startContainer.childNodes[a2.startOffset]:aB(a1,a2.startContainer);this._end=a2.endContainer==a1&&!af(a2.endContainer)?a2.endContainer.childNodes[a2.endOffset]:aB(a1,a2.endContainer).nextSibling}l.prototype={hasNext:function(){return !!this._next},next:function(){var a1=this._current=this._next;this._next=this._current&&this._current.nextSibling!=this._end?this._current.nextSibling:null;if(af(this._current)){if(this.range.endContainer==this._current){(a1=a1.cloneNode(true)).deleteData(this.range.endOffset,a1.length-this.range.endOffset)}if(this.range.startContainer==this._current){(a1=a1.cloneNode(true)).deleteData(0,this.range.startOffset)}}return a1},traverse:function(a2){function a1(){this._current=this._next;this._next=this._current&&this._current.nextSibling!=this._end?this._current.nextSibling:null;return this._current}var a3;while(a3=a1.call(this)){if(this.hasPartialSubtree()){this.getSubtreeIterator().traverse(a2)}else{a2(a3)}}return a3},remove:function(a6){var a5=this.range.startContainer==this._current;var a3=this.range.endContainer==this._current;if(af(this._current)&&(a5||a3)){var a2=a5?this.range.startOffset:0;var a1=a3?this.range.endOffset:this._current.length;var a8=a1-a2;if(a6&&(a5||a3)){if(this._current==a6.startContainer&&a2<=a6.startOffset){a6.startOffset-=a8}if(this._current==a6.endContainer&&a1<=a6.endOffset){a6.endOffset-=a8}}this._current.deleteData(a2,a8)}else{var a7=this._current.parentNode;if(a6&&(this.range.startContainer==a7||this.range.endContainer==a7)){var a4=p(this._current);if(a7==a6.startContainer&&a4<=a6.startOffset){a6.startOffset-=1}if(a7==a6.endContainer&&a40&&a4.previousSibling);a7.setEndPoint(a1?"EndToStart":"EndToEnd",a6);var a5=a4.nextSibling;if(!a5){a5=a4.previousSibling;if(a5&&af(a5)){a2.setEnd(a5,a5.nodeValue.length);D.remove(a4)}else{a2.selectNodeContents(a3);D.remove(a4);a2.endOffset-=1}return}D.remove(a4);if(af(a5)){a2[a1?"setStart":"setEnd"](a5,a7.text.length)}else{a2[a1?"setStartBefore":"setEndBefore"](a5)}}function aj(a1){this.enumerate=function(){var a3=[];function a2(a4){if(D.is(a4,"img")||(a4.nodeType==3&&!D.isWhitespace(a4))){a3.push(a4)}else{a4=a4.firstChild;while(a4){a2(a4);a4=a4.nextSibling}}}new l(a1).traverse(a2);return a3}}function j(a1){return new aj(a1).enumerate()}function Z(a5){var a1=[];for(var a2=0,a4=a5.length;a2'}a3.selectNodeContents(a7)}}a3.collapse(true)};this.add=function(a2,a4){if(a4&&a2.collapsed){this.addCaret(a2);a2=U.expand(a2)}var a3=a2.cloneRange();a3.collapse(false);this.end=D.create(q(a2),"span",{className:"t-marker"});a3.insertNode(this.end);a3=a2.cloneRange();a3.collapse(true);this.start=this.end.cloneNode(true);a3.insertNode(this.start);a2.setStartBefore(this.start);a2.setEndAfter(this.end);g(a2.commonAncestorContainer);return a2};this.remove=function(a9){var a2=this.start,be=this.end;g(a9.commonAncestorContainer);while(!a2.nextSibling&&a2.parentNode){a2=a2.parentNode}while(!be.previousSibling&&be.parentNode){be=be.parentNode}var a4=(a2.previousSibling&&a2.previousSibling.nodeType==3)&&(a2.nextSibling&&a2.nextSibling.nodeType==3);var ba=(be.previousSibling&&be.previousSibling.nodeType==3)&&(be.nextSibling&&be.nextSibling.nodeType==3);a2=a2.nextSibling;be=be.previousSibling;var bd=false;var a7=false;if(a2==this.end){a7=!!this.start.previousSibling;a2=be=this.start.previousSibling||this.end.nextSibling;bd=true}D.remove(this.start);D.remove(this.end);if(a2==null||be==null){a9.selectNodeContents(a9.commonAncestorContainer);a9.collapse(true);return}var bc=bd?af(a2)?a2.nodeValue.length:a2.childNodes.length:0;var a5=af(be)?be.nodeValue.length:be.childNodes.length;if(a2.nodeType==3){while(a2.previousSibling&&a2.previousSibling.nodeType==3){a2=a2.previousSibling;bc+=a2.nodeValue.length}}if(be.nodeType==3){while(be.previousSibling&&be.previousSibling.nodeType==3){be=be.previousSibling;a5+=be.nodeValue.length}}var a8=p(a2),bb=a2.parentNode;var a6=p(be),a3=be.parentNode;for(var bg=a2;bg.previousSibling;bg=bg.previousSibling){if(bg.nodeType==3&&bg.previousSibling.nodeType==3){a8--}}for(var bf=be;bf.previousSibling;bf=bf.previousSibling){if(bf.nodeType==3&&bf.previousSibling.nodeType==3){a6--}}g(bb);if(a2.nodeType==3){a2=bb.childNodes[a8]}g(a3);if(be.nodeType==3){be=a3.childNodes[a6]}if(bd){if(a2.nodeType==3){a9.setStart(a2,bc)}else{a9[a7?"setStartAfter":"setStartBefore"](a2)}a9.collapse(true)}else{if(a2.nodeType==3){a9.setStart(a2,bc)}else{a9.setStartBefore(a2)}if(be.nodeType==3){a9.setEnd(be,a5)}else{a9.setEndAfter(be)}}if(a1){this.removeCaret(a9)}}}var at=/[\u0009-\u000d]|\u0020|\u00a0|\ufeff|\.|,|;|:|!|\(|\)|\?/;var U={nodes:function(a2){var a1=j(a2);if(!a1.length){a2.selectNodeContents(a2.commonAncestorContainer);a1=j(a2);if(!a1.length){a1=D.significantChildNodes(a2.commonAncestorContainer)}}return a1},image:function(a2){var a1=[];new l(a2).traverse(function(a3){if(D.is(a3,"img")){a1.push(a3)}});if(a1.length==1){return a1[0]}},expand:function(a2){var a3=a2.cloneRange();var a6=a3.startContainer.childNodes[a3.startOffset==0?0:a3.startOffset-1];var a7=a3.endContainer.childNodes[a3.endOffset];if(!af(a6)||!af(a7)){return a3}var a4=a6.nodeValue;var a5=a7.nodeValue;if(a4==""||a5==""){return a3}var a1=a4.split("").reverse().join("").search(at);var a8=a5.search(at);if(a1==0||a8==0){return a3}a8=a8==-1?a5.length:a8;a1=a1==-1?0:a4.length-a1;a3.setStart(a6,a1);a3.setEnd(a7,a8);return a3},isExpandable:function(a2){var a7=a2.startContainer;var a6=q(a2);if(a7==a6||a7==a6.body){return false}var a3=a2.cloneRange();var a1=a7.nodeValue;if(!a1){return false}var a4=a1.substring(0,a3.startOffset);var a5=a1.substring(a3.startOffset);var a8=0,a9=0;if(a4!=""){a8=a4.split("").reverse().join("").search(at)}if(a5!=""){a9=a5.search(at)}return a8!=0&&a9!=0}};function c(a2){var a3=new an(a2.range);var a1=new ac();this.formatter=a2.formatter;this.getRange=function(){return a3.toRange()};this.lockRange=function(a4){return a1.add(this.getRange(),a4)};this.releaseRange=function(a4){a1.remove(a4);O(a4)};this.undo=function(){a3.body.innerHTML=a3.html;O(a3.toRange())};this.redo=function(){this.exec()};this.exec=function(){var a4=this.lockRange(true);this.formatter.editor=this.editor;this.formatter.toggle(a4);this.releaseRange(a4)}}function aW(a3,a2){var a1=a3.body;this.redo=function(){a1.innerHTML=a2.html;O(a2.toRange())};this.undo=function(){a1.innerHTML=a3.html;O(a3.toRange())}}function t(a1){c.call(this,a1);this.managesUndoRedo=true;this.exec=function(){var a3=this.editor;var a2=a3.getRange();var a4=new an(a2);a3.clipboard.paste(a1.value||"");a3.undoRedoStack.push(new aW(a4,new an(a3.getRange())));a3.focus()}}function x(){X.call(this);this.command=function(a1){return new t(a1)};this.update=function(a1,a2){a1.data("tSelectBox").close()};this.init=function(a3,a1){var a2=a1.editor;a3.tSelectBox({data:a2.insertHtml,onItemCreate:function(a4){a4.html=''+a4.dataItem.Text+""},onChange:function(a4){X.exec(a2,"insertHtml",a4.value)},highlightFirst:false}).find(".t-input").html(a2.localization.insertHtml)}}function R(){var a2=[],a1=-1;this.push=function(a3){a2=a2.slice(0,a1+1);a1=a2.push(a3)-1};this.undo=function(){if(this.canUndo()){a2[a1--].undo()}};this.redo=function(){if(this.canRedo()){a2[++a1].redo()}};this.canUndo=function(){return a1>=0};this.canRedo=function(){return a1!=a2.length-1}}function aR(a1){this.keydown=function(a5){var a4=a1.keyboard;var a2=a4.isTypingKey(a5);if(a2&&!a4.typingInProgress()){var a3=a1.getRange();this.startRestorePoint=new an(a3);a4.startTyping(s.proxy(function(){a1.selectionRestorePoint=this.endRestorePoint=new an(a1.getRange());a1.undoRedoStack.push(new aW(this.startRestorePoint,this.endRestorePoint))},this));return true}return false};this.keyup=function(a2){var a3=a1.keyboard;if(a3.typingInProgress()){a3.endTyping();return true}return false}}function A(a2){var a1=false;this.createUndoCommand=function(){this.endRestorePoint=new an(a2.getRange());a2.undoRedoStack.push(new aW(this.startRestorePoint,this.endRestorePoint));this.startRestorePoint=this.endRestorePoint};this.changed=function(){if(this.startRestorePoint){return this.startRestorePoint.html!=a2.body.innerHTML}return false};this.keydown=function(a3){var a4=a2.keyboard;if(a4.isModifierKey(a3)){if(a4.typingInProgress()){a4.endTyping(true)}this.startRestorePoint=new an(a2.getRange());return true}if(a4.isSystem(a3)){a1=true;if(this.changed()){a1=false;this.createUndoCommand()}return true}return false};this.keyup=function(a3){if(a1&&this.changed()){a1=false;this.createUndoCommand(a3);return true}return false}}function aH(a2){var a4=false;var a7;var a3;function a1(a8){return(a8>=48&&a8<=90)||(a8>=96&&a8<=111)||(a8>=186&&a8<=192)||(a8>=219&&a8<=222)}this.toolFromShortcut=function(ba,bc){var a9=String.fromCharCode(bc.keyCode);for(var bb in ba){var a8=ba[bb];if((a8.key==a9||a8.key==bc.keyCode)&&!!a8.ctrl==bc.ctrlKey&&!!a8.alt==bc.altKey&&!!a8.shift==bc.shiftKey){return bb}}};this.isTypingKey=function(a9){var a8=a9.keyCode;return(a1(a8)&&!a9.ctrlKey&&!a9.altKey)||a8==32||a8==13||a8==8||(a8==46&&!a9.shiftKey&&!a9.ctrlKey&&!a9.altKey)};this.isModifierKey=function(a9){var a8=a9.keyCode;return(a8==17&&!a9.shiftKey&&!a9.altKey)||(a8==16&&!a9.ctrlKey&&!a9.altKey)||(a8==18&&!a9.ctrlKey&&!a9.shiftKey)};this.isSystem=function(a8){return a8.keyCode==46&&a8.ctrlKey&&!a8.altKey&&!a8.shiftKey};this.startTyping=function(a8){a3=a8;a4=true};function a5(){a4=false;a3()}this.endTyping=function(a8){this.clearTimeout();if(a8){a5()}else{a7=window.setTimeout(a5,1000)}};this.typingInProgress=function(){return a4};this.clearTimeout=function(){window.clearTimeout(a7)};function a6(ba,a9){for(var a8=0;a8$/g,"li>");var a7=a1(ba);var a9=a5.getRange();a9.deleteContents();if(a9.startContainer==a5.document){a9.selectNodeContents(a5.body)}var bc=new ac();var bf=bc.addCaret(a9);var be=a3(a7,bf);var bd=false;if(!/body|td/.test(D.name(be))&&(a7||D.isInline(be))){a9.selectNode(bf);am(a9,be,true);bd=true}var bg=a2(ba);if(bg.firstChild&&bg.firstChild.className==="t-paste-container"){var bb=[];for(a6=0,a8=bg.childNodes.length;a6"))}a9.insertNode(bg);be=a3(a7,bf);if(bd){while(bf.parentNode!=be){D.unwrap(bf.parentNode)}D.unwrap(bf.parentNode)}g(a9.commonAncestorContainer);bf.style.display="inline";D.scrollTo(bf);bc.removeCaret(a9);O(a9)}}function f(){var a1=[//g,"",/mso-[^;"]*;?/ig,"",/<\/?(meta|link|style|o:|v:)[^>]*>((?:.|\n)*?<\/(meta|link|style|o:|v:)[^>]*>)?/ig,""];this.applicable=function(a4){return/class="?Mso|style="[^"]*mso-/i.test(a4)};function a2(a4){if(/^[\u2022\u00b7\u00a7\u00d8o\-]\u00a0+/.test(a4)){return"ul"}if(/^\s*\w+[\.\)]\u00a0{2,}/.test(a4)){return"ol"}}function a3(bh){var a9=D.create(document,"div",{innerHTML:bh});var bg=s(H.join(","),a9);var bb=-1,a6,bf={ul:{},ol:{}},a4=a9;for(var bc=0;bc]*>/g,"").replace(/ /g,"\u00a0");var ba=a2(bh);if(!ba||D.name(a7)!="p"){if(a7.innerHTML==""){D.remove(a7)}else{bf={ul:{},ol:{}};a4=a9;bb=-1}continue}var bd=parseFloat(a7.style.marginLeft||0);var be=bf[ba][bd];if(bd>bb||!be){be=D.create(document,ba);if(a4==a9){D.insertBefore(be,a7)}else{a4.appendChild(be)}bf[ba][bd]=be}if(a6!=ba){for(var a8 in bf){for(var a5 in bf[a8]){if(s.contains(be,bf[a8][a5])){delete bf[a8][a5]}}}}D.remove(a7.firstChild);a4=D.create(document,"li",{innerHTML:a7.innerHTML});be.appendChild(a4);D.remove(a7);bb=bd;a6=ba}return a9.innerHTML}this.clean=function(a5){for(var a4=0,a6=a1.length;a4]*"?/ig,"");return a5}}function i(a1){function a2(a5){var a3=0;for(var a4=a5.parentNode.firstChild;a4;a4=a4.nextSibling){if(a4!=a5&&a4.className!="t-marker"&&a4.nodeType==1){a3++}}return a3}this.findSuitable=function(a4,a3){if(!a3&&a2(a4)>0){return null}return D.parentOfType(a4,a1[0].tags)};this.findFormat=function(a7){for(var a3=0;a30){this.activate(a7,a6)}};this.apply=function(a9){var a8=[];for(var a6=0,a7=a9.length;a60){for(var a6=0,a9=ba.length;a61){var a6=a8.pop();var a7=a8[a8.length-1];if(a6.previousSibling&&a6.previousSibling.className=="t-marker"){a7.appendChild(a6.previousSibling)}if(a6.previousSibling==a7&&a6.style.cssText==a7.style.cssText){while(a6.firstChild){a7.appendChild(a6.firstChild)}D.remove(a6)}}}}function a0(a2,a1){i.call(this,a2);function a3(a7){var bi=a7.attributes,bf=s.trim;if(!bi){return}for(var a6=0,bd=bi.length;a6=0?D.toHex(a5):a5}}}}return}function a4(a9){var ba=s(af(a9)?a9.parentNode:a9);var a8=ba.parents().andSelf();for(var a6=0,a7=a8.length;a6'+a9.dataItem.Text+""}}}function aY(a3){X.call(this,a3);var a2=[{tags:["span"]}],a1=new a0(a2,a3.cssAttr);this.update=function(a4){a4.data("tColorPicker").close()};this.command=function(a4){return new aJ(s.extend(a4,{formatter:function(){var a5={};a5[a3.domAttr]=a4.value;return new F(a2,{style:a5},a3.cssAttr)}}))};this.willDelayExecution=ad;this.init=function(a6,a4){var a5=a4.editor;a6.tColorPicker({selectedColor:"#000000",onChange:function(a7){X.exec(a5,a3.name,a7.value)}})}}function ab(){X.call(this);var a2=[{tags:["span"]}],a1=new a0(a2,"className");this.command=function(a3){return new aJ(s.extend(a3,{formatter:function(){return new F(a2,{className:a3.value})}}))};this.update=function(a3,a5){var a4=a3.data("tSelectBox");a4.close();a4.value(a1.getFormat(a5))};this.init=function(a5,a3){var a4=a3.editor;a5.tSelectBox({data:a4.style,title:a4.localization.style,onItemCreate:function(a6){var a7=D.inlineStyle(a4.document,"span",{className:a6.dataItem.Value});a6.html=''+a6.html+""},onChange:function(a6){X.exec(a4,"style",a6.value)}})}}function y(a2){function a1(a5,a6){for(var a3=0;a3'+a6.dataItem.Text+""},onChange:function(a5){X.exec(a3,"formatBlock",a5.value)},highlightFirst:false})}}function aS(a1){c.call(this,a1);this.exec=function(){var a4=this.getRange(),be=q(a4),a7,bc=s.browser.msie?"":'
    ';var a6="p,h1,h2,h3,h4,h5,h6".split(","),bf=D.parentOfType(a4.startContainer,a6),a2=D.parentOfType(a4.endContainer,a6),a3=(bf&&!a2)||(!bf&&a2);a4.deleteContents();var bd=D.create(be,"a");a4.insertNode(bd);g(bd.parentNode);var a5=D.parentOfType(bd,["li"]),bg=D.parentOfType(bd,"h1,h2,h3,h4,h5,h6".split(","));if(a5){var a9=a4.cloneRange();a9.selectNode(a5);if(j(a9).length==0){var bh=D.create(be,"p");if(a5.nextSibling){am(a9,a5.parentNode)}D.insertAfter(bh,a5.parentNode);D.remove(a5.parentNode.childNodes.length==1?a5.parentNode:a5);bh.innerHTML=bc;a7=bh}}else{if(bg&&!bd.nextSibling){var bh=D.create(be,"p");D.insertAfter(bh,bg);bh.innerHTML=bc;D.remove(bd);a7=bh}}if(!a7){if(!(a5||bg)){new W([{tags:["p"]}]).apply([bd])}a4.selectNode(bd);var a8=D.parentOfType(bd,[a5?"li":bg?D.name(bg):"p"]);am(a4,a8,a3);var ba=a8.previousSibling;if(D.is(ba,"li")&&ba.firstChild&&!D.is(ba.firstChild,"br")){ba=ba.firstChild}a7=a8.nextSibling;if(D.is(a7,"li")&&a7.firstChild&&!D.is(a7.firstChild,"br")){a7=a7.firstChild}D.remove(a8);function bb(bi){if(bi.firstChild&&D.is(bi.firstChild,"br")){D.remove(bi.firstChild)}if(af(bi)&&bi.nodeValue==""){bi=bi.parentNode}if(bi&&!D.is(bi,"img")&&bi.innerHTML==""){bi.innerHTML=bc}}bb(ba);bb(a7);g(ba)}g(a7);if(!D.is(a7,"img")){a4.selectNodeContents(a7)}else{a4.setStartBefore(a7)}a4.collapse(true);D.scrollTo(a7);O(a4)}}function d(a1){c.call(this,a1);this.exec=function(){var a3=this.getRange();a3.deleteContents();var a2=D.create(q(a3),"br");a3.insertNode(a2);g(a2.parentNode);if(!s.browser.msie&&(!a2.nextSibling||D.isWhitespace(a2.nextSibling))){var a4=a2.cloneNode(true);a4.setAttribute("_moz_dirty","");D.insertAfter(a4,a2)}a3.setStartAfter(a2);a3.collapse(true);O(a3)}}function ap(a2){var a1=[a2=="ul"?"ol":"ul",a2];y.call(this,[{tags:a1}]);this.isFormatted=function(a6){var a3=[],a4;for(var a5=0;a51){D.insertAfter(a4[a4.length-1],a5);D.insertAfter(a4[1],a5);D[a3.length>0?"insertBefore":"insertAfter"](a4[0],a5)}}else{var a6=new b([{tags:["a"]}],a7);a6.finder=this.finder;a6.apply(a3)}}}function ao(a1){a1.formatter={toggle:function(a2){new b([{tags:["a"]}]).remove(j(a2))}};c.call(this,a1)}function aa(a2){c.call(this,a2);var a1;this.async=true;var a3=new aX();this.exec=function(){var a8=this.getRange();var a6=a8.collapsed;a8=this.lockRange(true);var bb=j(a8);var ba=null;var a5=this;function bc(bi){var bh=s("#t-editor-link-url",a9.element).val();if(bh&&bh!="http://"){a1={href:bh};var be=s("#t-editor-link-title",a9.element).val();if(be){a1.title=be}var bf=s("#t-editor-link-text",a9.element).val();if(bf!==ba){a1.innerHTML=bf}var bg=s("#t-editor-link-target",a9.element).is(":checked");if(bg){a1.target="_blank"}a3.apply(a8,a1)}a7(bi);if(a5.change){a5.change()}}function a7(be){be.preventDefault();a9.destroy();az(q(a8)).focus();a5.releaseRange(a8)}var bd=bb.length?a3.finder.findSuitable(bb[0]):null;var a4=bb.length<=1||(bb.length==2&&a6);var a9=ar.window.create(s.extend({},this.editor.dialogOptions,{title:"Insert link",html:new s.telerik.stringBuilder().cat('
    ').cat("
      ").cat('
    1. ').catIf('
    2. ',a4).cat('
    3. ').cat('
    4. ').cat("
    ").cat('
    ').cat('').cat(" or ").cat('Close').cat("
    ").cat("
    ").string(),onClose:a7})).hide().find(".t-dialog-insert").click(bc).end().find(".t-dialog-close").click(a7).end().find(".t-form-text-row input").keydown(function(be){if(be.keyCode==13){bc(be)}else{if(be.keyCode==27){a7(be)}}}).end().find("#t-editor-link-url").val(bd?bd.getAttribute("href",2):"http://").end().find("#t-editor-link-text").val(bb.length>0?(bb.length==1?bb[0].nodeValue:bb[0].nodeValue+bb[1].nodeValue):"").end().find("#t-editor-link-title").val(bd?bd.title:"").end().find("#t-editor-link-target").attr("checked",bd?bd.target=="_blank":false).end().show().data("tWindow").center();if(a4&&bb.length>0){ba=s("#t-editor-link-text",a9.element).val()}s("#t-editor-link-url",a9.element).focus().select()},this.redo=function(){var a4=this.lockRange(true);a3.apply(a4,a1);this.releaseRange(a4)}}function aT(a2){X.call(this,s.extend(a2,{command:ao}));var a1=new i([{tags:["a"]}]);this.init=function(a3){a3.attr("unselectable","on").addClass("t-state-disabled")};this.update=function(a3,a4){a3.toggleClass("t-state-disabled",!a1.isFormatted(a4)).removeClass("t-state-hover")}}function aO(a2){c.call(this,a2);this.async=true;var a1;function a3(a4,a5){if(a1.src&&a1.src!="http://"){if(!a4){a4=D.create(q(a5),"img",a1);a4.onload=a4.onerror=function(){a4.removeAttribute("complete");a4.removeAttribute("width");a4.removeAttribute("height")};a5.deleteContents();a5.insertNode(a4);a5.setStartAfter(a4);a5.setEndAfter(a4);O(a5);return true}else{D.attr(a4,a1)}}return false}this.redo=function(){var a4=this.lockRange();if(!a3(U.image(a4),a4)){this.releaseRange(a4)}};this.exec=function(){var a7=this.lockRange();var a4=false;var ba=U.image(a7);var a5=this;function bb(be){a1={src:s("#t-editor-image-url",a8.element).val(),alt:s("#t-editor-image-title",a8.element).val()};a4=a3(ba,a7);a6(be);if(a5.change){a5.change()}}function a6(be){be.preventDefault();a8.destroy();az(q(a7)).focus();if(!a4){a5.releaseRange(a7)}}var a9=this.editor.fileBrowser;var bc=a9&&a9.selectUrl!==undefined;function bd(){if(bc){new ar.imageBrowser(s(this).find(".t-image-browser"),s.extend(a9,{apply:bb,element:a5.editor.element,localization:a5.editor.localization}))}}var a8=ar.window.create(s.extend({width:750},this.editor.dialogOptions,{title:"Insert image",html:new s.telerik.stringBuilder().cat('
    ').catIf('
    ',bc).cat("
      ").cat('
    1. ').cat('
    2. ').cat("
    ").cat('
    ').cat('').cat(" or ").cat('Close').cat("
    ").cat("
    ").string(),onClose:a6,onActivate:bd})).hide().find(".t-dialog-insert").click(bb).end().find(".t-dialog-close").click(a6).end().find(".t-form-text-row input").keydown(function(be){if(be.keyCode==13){bb(be)}else{if(be.keyCode==27){a6(be)}}}).end().toggleClass("t-imagebrowser",bc).find("#t-editor-image-url").val(ba?ba.getAttribute("src",2):"http://").end().find("#t-editor-image-title").val(ba?ba.alt:"").end().show().data("tWindow").center();s("#t-editor-image-url",a8.element).focus().select()}}ar.selectbox=function(a1,a2){var a9;var a3=s(a1);var a5=a3.find(".t-input");var a6=this.dropDown=new ar.dropDown({effects:ar.fx.slide.defaults(),onItemCreate:a2.onItemCreate,onClick:function(ba){a8(a2.data[s(ba.item).index()].Value);a2.onChange({value:a9})}});function a4(){if(!a6.$items){a6.dataBind(a2.data)}}function a7(ba){a5.html(ba?ba:" ")}function a8(bc){a4();var bb=-1;for(var ba=0,bd=a2.data.length;ba0?"rtl":"");s(document.documentElement).bind("mousedown",s.proxy(function(bc){var ba=a6.$element;var bb=ba&&ba.parent().length>0;if(bb&&!s.contains(a1,bc.target)&&!s.contains(ba.parent()[0],bc.target)){a6.close()}},this))};s.fn.tSelectBox=function(a1){return ar.create(this,{name:"tSelectBox",init:function(a2,a3){return new ar.selectbox(a2,a3)},options:a1})};s.fn.tSelectBox.defaults={effects:ar.fx.slide.defaults()};ar.colorpicker=function(a1,a2){this.element=a1;var a3=s(a1);s.extend(this,a2);a3.bind("click",s.proxy(this.click,this)).find("*").attr("unselectable","on");if(this.selectedColor){a3.find(".t-selected-color").css("background-color",this.selectedColor)}s(a1.ownerDocument.documentElement).bind("mousedown",s.proxy(function(a4){if(!s(a4.target).closest(".t-colorpicker-popup").length){this.close()}},this));ar.bind(this,{change:this.onChange,load:this.onLoad})};ar.colorpicker.prototype={select:function(a1){if(a1){a1=D.toHex(a1);if(!ar.trigger(this.element,"change",{value:a1})){this.value(a1);this.close()}}else{ar.trigger(this.element,"change",{value:this.selectedColor})}},open:function(){var a1=this.popup();var a4=s(this.element);var a3=a4.offset();a3.top+=a4.outerHeight();if(a4.closest(".t-rtl").length){a3.left-=a1.outerWidth()-a4.outerWidth()}var a2="auto";a4.parents().andSelf().each(function(){a2=s(this).css("zIndex");if(Number(a2)){a2=Number(a2)+1;return false}});ar.fx._wrap(a1).css(s.extend({position:"absolute",zIndex:a2},a3));a1.find(".t-item").bind("click",s.proxy(function(a6){var a5=s(a6.target,a6.target.ownerDocument).css("background-color");this.select(a5)},this));ar.fx.play(this.effects,a1,{direction:"bottom"})},close:function(){if(!this.$popup){return}ar.fx.rewind(this.effects,this.$popup,{direction:"bottom"},s.proxy(function(){D.remove(this.$popup[0].parentNode);this.$popup=null},this))},toggle:function(){if(!this.$popup||!this.$popup.is(":visible")){this.open()}else{this.close()}},click:function(a1){if(s(a1.target).closest(".t-tool-icon").length>0){this.select()}else{this.toggle()}},value:function(a1){if(!a1){return this.selectedColor}a1=D.toHex(a1);this.selectedColor=a1;s(".t-selected-color",this.element).css("background-color",a1)},popup:function(){if(!this.$popup){this.$popup=s(ar.colorpicker.buildPopup(this)).hide().appendTo(document.body).find("*").attr("unselectable","on").end()}return this.$popup}};s.extend(ar.colorpicker,{buildPopup:function(a1){var a4=new ar.stringBuilder();a4.cat('
    ').cat('
      ');var a6=a1.data;var a3=(a1.value()||"").substring(1);for(var a2=0,a5=a6.length;a2')}a4.cat("
    ");return a4.string()}});s.fn.tColorPicker=function(a1){return ar.create(this,{name:"tColorPicker",init:function(a2,a3){return new ar.colorpicker(a2,a3)},options:a1})};s.fn.tColorPicker.defaults={data:"000000,7f7f7f,880015,ed1c24,ff7f27,fff200,22b14c,00a2e8,3f48cc,a349a4,ffffff,c3c3c3,b97a57,ffaec9,ffc90e,efe4b0,b5e61d,99d9ea,7092be,c8bfe7".split(","),selectedColor:null,effects:ar.fx.slide.defaults()};function aV(){var a2=new y([{tags:H}]);function a1(a3){return a3.style.marginLeft||0}this.apply=function(a8){var a6=a2.findSuitable(a8);if(a6.length){var a5=[];for(var a4=0;a4ul")[0];if(!bb){bb=D.create(a9.ownerDocument,D.name(bc));a7.append(bb)}while(a9&&a9.parentNode==bc){bb.appendChild(a9);a9=a5.shift()}}else{var a3=parseInt(a1(a9))+30;D.style(a9,{marginLeft:a3})}}}else{var ba=new W([{tags:H}],{style:{marginLeft:30}});ba.apply(a8)}};this.remove=function(a5){var a7=a2.findSuitable(a5);for(var a3=0;a31)||(D.ofType(a4[a3],["ul","ol"])&&a7>0)}if(a5){a2.removeClass("t-state-disabled");return}}a2.addClass("t-state-disabled").removeClass("t-state-hover")}}function aE(a1){this.editor=a1;this.formats=[]}aE.prototype={apply:function(a5){if(!this.hasPending()){return}var a4=new ac();a4.addCaret(a5);var a1=a5.startContainer.childNodes[a5.startOffset];var a7=a1.previousSibling;if(!a7.nodeValue){a7=a7.previousSibling}a5.setStart(a7,a7.nodeValue.length-1);a4.add(a5);if(j(a5).length==0){a4.remove(a5);a5.collapse(true);this.editor.selectRange(a5);return}var a3=a4.end.previousSibling.previousSibling;var a9,a6=this.formats;for(var a2=0;a20},isPending:function(a1){return !!this.getPending(a1)},getPending:function(a2){var a3=this.formats;for(var a1=0;a1",{src:'javascript:""',frameBorder:"0",className:"t-content"}).css("display","").insertBefore(a1)[0];var a2=a5.contentWindow||a5;var a4=a2.document||a5.contentDocument;var a3=a1.val().replace(/(<\/?img[^>]*>)[\r\n\v\f\t ]+/ig,"$1");if(!a3.length&&s.browser.mozilla){a3='
    '}a4.designMode="On";a4.open();a4.write(new ar.stringBuilder().cat("").cat('').cat('").cat(s.map(a6,function(a7){return[''].join("")}).join("")).cat('').cat(a3).cat("").string());a4.close();return a2}function V(a1){ar.trigger(a1.element,"selectionChange")}function aI(a2){var a1=true;a2.window=ax(s(a2.textarea),a2.stylesheets);a2.document=a2.window.contentDocument||a2.window.document;a2.body=a2.document.body;s(a2.document).bind({keydown:function(a5){var a3=a2.keyboard.toolFromShortcut(a2.tools,a5);if(a3){a5.preventDefault();a2.exec(a3);return false}if(a2.keyboard.isTypingKey(a5)&&a2.pendingFormats.hasPending()){if(a1){a1=false}else{var a4=a2.getRange();a2.pendingFormats.apply(a4);a2.selectRange(a4)}}a2.keyboard.clearTimeout();a2.keyboard.keydown(a5)},keyup:function(a5){var a4=[8,9,33,34,35,36,37,38,39,40,40,45,46];if(s.browser.mozilla&&a5.keyCode==8){aK(a2,a5)}if(s.inArray(a5.keyCode,a4)>-1||(a5.keyCode==65&&a5.ctrlKey&&!a5.altKey&&!a5.shiftKey)){a2.pendingFormats.clear();V(a2)}if(a2.keyboard.isTypingKey(a5)){if(a2.pendingFormats.hasPending()){var a3=a2.getRange();a2.pendingFormats.apply(a3);a2.selectRange(a3)}}else{a1=true}a2.keyboard.keyup(a5)},mousedown:function(a3){a2.pendingFormats.clear();var a4=s(a3.target);if(!s.browser.gecko&&a3.which==2&&a4.is("a[href]")){window.open(a4.attr("href"),"_new")}},mouseup:function(){V(a2)}});s(a2.window).bind("blur",function(){var a3=a2.textarea.value,a4=a2.encodedValue();a2.update(a4);if(a4!=a3){ar.trigger(a2.element,"change")}});s(a2.body).bind("cut paste",function(a3){a2.clipboard["on"+a3.type](a3)})}ar.editor=function(a1,a2){if(/Mobile.*Safari/.test(navigator.userAgent)){return}var a3=this;this.element=a1;var a4=s(a1);a4.closest("form").bind("submit",function(){a3.update()});s.extend(this,a2);ar.bind(this,{load:this.onLoad,selectionChange:this.onSelectionChange,change:this.onChange,execute:this.onExecute,error:this.onError});for(var a7 in this.tools){this.tools[a7].name=a7.toLowerCase()}this.textarea=a4.find("textarea").attr("autocomplete","off")[0];aI(this);this.keyboard=new aH([new aR(this),new A(this)]);this.clipboard=new aA(this);this.pendingFormats=new aE(this);this.undoRedoStack=new R();function bb(bc){var bd=s.grep(bc.className.split(" "),function(be){return !/^t-(widget|tool-icon|state-hover|header|combobox|dropdown|selectbox|colorpicker)$/i.test(be)});return bd[0]?bd[0].substring(2):"custom"}function a8(bd,bc){if(!bc.key){return bd}return new ar.stringBuilder().cat(bd).cat(" (").catIf("Ctrl + ",bc.ctrl).catIf("Shift + ",bc.shift).catIf("Alt + ",bc.alt).cat(bc.key).cat(")").string()}var a6=".t-editor-toolbar > li > *",a5=".t-editor-button .t-tool-icon",a9=a5+":not(.t-state-disabled)",ba=a5+".t-state-disabled";a4.delegate(a9,"mouseenter",ar.hover).delegate(a9,"mouseleave",ar.leave).delegate(a5,"mousedown",ar.preventDefault).delegate(a9,"click",ar.stopAll(function(bc){a3.exec(bb(this))})).delegate(ba,"click",function(bc){bc.preventDefault()}).find(a6).each(function(){var bg=bb(this),bd=a3.tools[bg],bf=a3.localization[bg],be=s(this);if(!bd){return}if(bg=="fontSize"||bg=="fontName"){var bc=a3.localization[bg+"Inherit"]||aP[bg+"Inherit"];a3[bg][0].Text=bc;be.find("input").val(bc).end().find("span.t-input").text(bc).end()}bd.init(be,{title:a8(bf,bd),editor:a3})}).end().bind("selectionChange",function(){var bd=a3.getRange();a3.selectionRestorePoint=new an(bd);var bc=j(bd);if(!bc.length){bc=[bd.startContainer]}a4.find(a6).each(function(){var be=a3.tools[bb(this)];if(be){be.update(s(this),bc,a3.pendingFormats)}})});s(document).bind("DOMNodeInserted",function(bc){if(s.contains(bc.target,a3.element)||a3.element==bc.target){s(a3.element).find("iframe").remove();aI(a3)}}).bind("mousedown",function(bc){try{if(a3.keyboard.typingInProgress()){a3.keyboard.endTyping(true)}if(!a3.selectionRestorePoint){a3.selectionRestorePoint=new an(a3.getRange())}}catch(bc){}})};function aK(a1,a4){var a2=a1.getRange(),a5=a2.startContainer;if(a5==a1.body.firstChild||!D.isBlock(a5)||(a5.childNodes.length>0&&!(a5.childNodes.length==1&&D.is(a5.firstChild,"br")))){return}var a7=a5.previousSibling;while(a7&&!D.isBlock(a7)){a7=a7.previousSibling}if(!a7){return}var a6=a1.document.createTreeWalker(a7,NodeFilter.SHOW_TEXT,null,false);var a3;while(a3=a6.nextNode()){a7=a3}a2.setStart(a7,af(a7)?a7.nodeValue.length:0);a2.collapse(true);O(a2);D.remove(a5);a4.preventDefault()}s.extend(ar.editor,{BlockFormatFinder:y,BlockFormatter:W,Dom:D,FormatCommand:aJ,GenericCommand:aW,GreedyBlockFormatter:au,GreedyInlineFormatFinder:a0,GreedyInlineFormatter:F,ImageCommand:aO,IndentCommand:o,IndentFormatter:aV,InlineFormatFinder:i,InlineFormatter:b,InsertHtmlCommand:t,Keyboard:aH,LinkCommand:aa,LinkFormatFinder:I,LinkFormatter:aX,ListCommand:ay,ListFormatFinder:ap,ListFormatter:J,MSWordFormatCleaner:f,Marker:ac,NewLineCommand:d,OutdentCommand:S,ParagraphCommand:aS,PendingFormats:aE,RangeEnumerator:aj,RangeUtils:U,RestorePoint:an,SystemHandler:A,TypingHandler:aR,UndoRedoStack:R,UnlinkCommand:ao});ar.editor.prototype={value:function(a3){var a1=this.body;if(a3===undefined){return C(a1)}this.pendingFormats.clear();a3=a3.replace(//g,"");a3=a3.replace(/]*)>(.*)?<\/script>/ig,"$2");if(s.browser.mozilla){a3=a3.replace(/]*)>(\s*)?<\/p>/ig,'


    ')}if(s.browser.msie&&parseInt(s.browser.version)<9){a3="
    "+a3;var a4="originalsrc",a2="originalhref";a3=a3.replace(/href\s*=\s*(?:'|")?([^'">\s]*)(?:'|")?/,a2+'="$1"');a3=a3.replace(/src\s*=\s*(?:'|")?([^'">\s]*)(?:'|")?/,a4+'="$1"');a1.innerHTML=a3;D.remove(a1.firstChild);s(a1).find("telerik\\:script,script,link,img,a").each(function(){var a5=this;if(a5[a2]){a5.setAttribute("href",a5[a2]);a5.removeAttribute(a2)}if(a5[a4]){a5.setAttribute("src",a5[a4]);a5.removeAttribute(a4)}})}else{a1.innerHTML=a3;if(s.browser.msie){g(a1)}}this.selectionRestorePoint=null;this.update()},focus:function(){this.window.focus()},update:function(a1){this.textarea.value=a1||this.encoded?this.encodedValue():this.value()},encodedValue:function(){return D.encode(this.value())},createRange:function(a1){return aQ(a1||this.document)},getSelection:function(){return aZ(this.document)},selectRange:function(a2){this.focus();var a1=this.getSelection();a1.removeAllRanges();a1.addRange(a2)},getRange:function(){var a2=this.getSelection();var a1=a2.rangeCount>0?a2.getRangeAt(0):this.createRange();if(a1.startContainer==this.document&&a1.endContainer==this.document&&a1.startOffset==0&&a1.endOffset==0){a1.setStart(this.body,0);a1.collapse(true)}return a1},selectedHtml:function(){return C(this.getRange().cloneContents())},paste:function(a1){this.clipboard.paste(a1)},exec:function(a4,a1){if(!this.keyboard.typingInProgress()){this.focus();if(this.selectionRestorePoint){this.selectRange(this.selectionRestorePoint.toRange());this.selectionRestorePoint=null}}a4=a4.toLowerCase();var a6="";for(var a3 in this.tools){if(a3.toLowerCase()==a4){a6=this.tools[a3];break}}if(a6){var a2=this.getRange();if(!/undo|redo/i.test(a4)&&a6.willDelayExecution(a2)){this.pendingFormats.toggle({name:a4,params:a1,command:a6.command});V(this);return}var a5=a6.command?a6.command(s.extend({range:a2},a1)):null;ar.trigger(this.element,"execute",{name:a4,command:a5});if(/undo|redo/i.test(a4)){this.undoRedoStack[a4]()}else{if(a5){if(!a5.managesUndoRedo){this.undoRedoStack.push(a5)}a5.editor=this;a5.exec();if(a5.async){a5.change=s.proxy(function(){V(this)},this);return}}}V(this)}}};s.fn.tEditor=function(a1){return ar.create(this,{name:"tEditor",init:function(a2,a3){return new ar.editor(a2,a3)},options:a1})};var ak={bold:[{tags:["strong"]},{tags:["span"],attr:{style:{fontWeight:"bold"}}}],italic:[{tags:["em"]},{tags:["span"],attr:{style:{fontStyle:"italic"}}}],underline:[{tags:["span"],attr:{style:{textDecoration:"underline"}}}],strikethrough:[{tags:["del"]},{tags:["span"],attr:{style:{textDecoration:"line-through"}}}],justifyLeft:[{tags:H,attr:{style:{textAlign:"left"}}},{tags:["img"],attr:{style:{"float":"left"}}}],justifyCenter:[{tags:H,attr:{style:{textAlign:"center"}}},{tags:["img"],attr:{style:{display:"block",marginLeft:"auto",marginRight:"auto"}}}],justifyRight:[{tags:H,attr:{style:{textAlign:"right"}}},{tags:["img"],attr:{style:{"float":"right"}}}],justifyFull:[{tags:H,attr:{style:{textAlign:"justify"}}}]};function ae(a3,a2){for(var a1=0;a1=0){return a2[a1]}}}function X(a1){s.extend(this,a1);this.init=function(a2,a3){a2.attr({unselectable:"on",title:a3.title})};this.command=function(a2){return new a1.command(a2)};this.update=function(){};this.willDelayExecution=function(){return false}}X.exec=function(a2,a3,a1){a2.exec(a3,{value:a1})};function ai(a1){X.call(this,a1);this.command=function(a2){return new aJ(s.extend(a2,{formatter:a1.formatter}))};this.update=function(a2,a6,a4){var a3=a4.isPending(this.name),a5=a1.finder.isFormatted(a6),a7=a3?!a5:a5;a2.toggleClass("t-state-active",a7)}}var Q=function(){return{isFormatted:function(){return false}}};var aP={bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",justifyCenter:"Center text",justifyLeft:"Align text left",justifyRight:"Align text right",justifyFull:"Justify",insertUnorderedList:"Insert unordered list",insertOrderedList:"Insert ordered list",indent:"Indent",outdent:"Outdent",createLink:"Insert hyperlink",unlink:"Remove hyperlink",insertImage:"Insert image",insertHtml:"Insert HTML",fontName:"Select font family",fontNameInherit:"(inherited font)",fontSize:"Select font size",fontSizeInherit:"(inherited size)",formatBlock:"Format",style:"Styles",emptyFolder:"Empty Folder",uploadFile:"Upload",orderBy:"Arrange by:",orderBySize:"Size",orderByName:"Name",invalidFileType:'The selected file "{0}" is not valid. Supported file types are {1}.',deleteFile:'Are you sure you want to delete "{0}"?',overwriteFile:'A file with name "{0}" already exists in the current directory. Do you want to overwrite it?',directoryNotFound:"A directory with this name was not found."};s.fn.tEditor.defaults={localization:aP,formats:ak,encoded:true,stylesheets:[],dialogOptions:{modal:true,resizable:false,draggable:true,effects:{list:[{name:"toggle"}]}},fontName:[{Text:aP.fontNameInherit,Value:"inherit"},{Text:"Arial",Value:"Arial,Helvetica,sans-serif"},{Text:"Courier New",Value:"'Courier New',Courier,monospace"},{Text:"Georgia",Value:"Georgia,serif"},{Text:"Impact",Value:"Impact,Charcoal,sans-serif"},{Text:"Lucida Console",Value:"'Lucida Console',Monaco,monospace"},{Text:"Tahoma",Value:"Tahoma,Geneva,sans-serif"},{Text:"Times New Roman",Value:"'Times New Roman',Times,serif"},{Text:"Trebuchet MS",Value:"'Trebuchet MS',Helvetica,sans-serif"},{Text:"Verdana",Value:"Verdana,Geneva,sans-serif"}],fontSize:[{Text:aP.fontSizeInherit,Value:"inherit"},{Text:"1 (8pt)",Value:"xx-small"},{Text:"2 (10pt)",Value:"x-small"},{Text:"3 (12pt)",Value:"small"},{Text:"4 (14pt)",Value:"medium"},{Text:"5 (18pt)",Value:"large"},{Text:"6 (24pt)",Value:"x-large"},{Text:"7 (36pt)",Value:"xx-large"}],formatBlock:[{Text:"Paragraph",Value:"p"},{Text:"Quotation",Value:"blockquote"},{Text:"Heading 1",Value:"h1"},{Text:"Heading 2",Value:"h2"},{Text:"Heading 3",Value:"h3"},{Text:"Heading 4",Value:"h4"},{Text:"Heading 5",Value:"h5"},{Text:"Heading 6",Value:"h6"}],tools:{bold:new Y({key:"B",ctrl:true,format:ak.bold}),italic:new Y({key:"I",ctrl:true,format:ak.italic}),underline:new Y({key:"U",ctrl:true,format:ak.underline}),strikethrough:new Y({format:ak.strikethrough}),undo:{key:"Z",ctrl:true},redo:{key:"Y",ctrl:true},insertLineBreak:new X({key:13,shift:true,command:d}),insertParagraph:new X({key:13,command:aS}),justifyCenter:new P({format:ak.justifyCenter}),justifyLeft:new P({format:ak.justifyLeft}),justifyRight:new P({format:ak.justifyRight}),justifyFull:new P({format:ak.justifyFull}),insertUnorderedList:new aN({tag:"ul"}),insertOrderedList:new aN({tag:"ol"}),createLink:new X({key:"K",ctrl:true,command:aa}),unlink:new aT({key:"K",ctrl:true,shift:true}),insertImage:new X({command:aO}),indent:new X({command:o}),outdent:new ag(),insertHtml:new x(),style:new ab(),fontName:new aC({cssAttr:"font-family",domAttr:"fontFamily",name:"fontName"}),fontSize:new aC({cssAttr:"font-size",domAttr:"fontSize",name:"fontSize"}),formatBlock:new n(),foreColor:new aY({cssAttr:"color",domAttr:"color",name:"foreColor"}),backColor:new aY({cssAttr:"background-color",domAttr:"backgroundColor",name:"backColor"})}}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.editing.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.editing.min.js deleted file mode 100644 index 89beda8c0..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.editing.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(h){var c=h.telerik,j=/^\/Date\((.*?)\)\/$/;var g=function(l){this.formId=l;this._isBuild=false;var n="tUnobtrusiveValidation";var m="tUnobtrusiveContainer";var k=this.unobtrusive={adapters:[],parseElement:function(o,r){var p=h(o),q=p.parents("form")[0],t,s,u;if(!q){return}t=k.validationInfo(q);t.options.rules[o.name]=s={};t.options.messages[o.name]=u={};h.each(this.adapters,function(){var v="data-val-"+this.name,w=p.attr(v),x={};if(w!==undefined){v+="-";h.each(this.params,function(){x[this]=p.attr(v+this)});this.adapt({element:o,form:q,message:w,params:x,rules:s,messages:u})}});if(!r){t.attachValidation()}},parse:function(o){h(o).find(":input[data-val=true]").each(function(){k.parseElement(this,true)});h("form").each(function(){var p=k.validationInfo(this);if(p){p.attachValidation()}})},onError:function(o,r){var q=h(this).find("[data-valmsg-for='"+r[0].name+"']"),p=h.parseJSON(q.attr("data-valmsg-replace"))!==false;q.removeClass("field-validation-valid").addClass("field-validation-error");o.data(m,q);if(p){q.empty();o.removeClass("input-validation-error").appendTo(q)}else{o.hide()}},onErrors:function(o,r){var q=h(this).find("[data-valmsg-summary=true]"),p=q.find("ul");if(p&&p.length&&r.errorList.length){p.empty();q.addClass("validation-summary-errors").removeClass("validation-summary-valid");h.each(r.errorList,function(){h("
  • ").html(this.message).appendTo(p)})}},onSuccess:function(o){var q=o.data(m),p=h.parseJSON(q.attr("data-valmsg-replace"));if(q){q.addClass("field-valiion-valid").removeClass("field-validation-error");o.removeData(m);if(p){q.empty()}}},validationInfo:function(o){var q=h(o),p=q.data(n);if(!p){p={options:{errorClass:"input-validation-error",errorElement:"span",errorPlacement:h.proxy(k.onError,o),invalidHandler:h.proxy(k.onErrors,o),messages:{},rules:{},success:h.proxy(k.onSuccess,o)},attachValidation:function(){q.validate(this.options)},validate:function(){q.validate();return q.valid()}};q.data(n,p)}return p}}};g.prototype={build:function(){if(this._isBuild){return}this._isBuild=true;var o=[];function m(r,q,p){r.rules[q]=p;if(r.message){r.messages[q]=r.message}}function n(p){return p.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function l(p){return p.substr(0,p.lastIndexOf(".")+1)}function k(q,p){if(q.indexOf("*.")===0){q=q.replace("*.",p)}return q}o=this.unobtrusive.adapters;o.add=function(r,q,p){if(!p){p=q;q=[]}this.push({name:r,params:q,adapt:p});return this};o.addBool=function(q,p){return this.add(q,function(r){m(r,p||q,true)})};o.addMinMax=function(s,q,u,p,r,t){return this.add(s,[r||"min",t||"max"],function(x){var v=x.params.min,w=x.params.max;if(v&&w){m(x,p,[v,w])}else{if(v){m(x,q,v)}else{if(w){m(x,u,w)}}}})};o.addSingleVal=function(q,r,p){return this.add(q,[r||"val"],function(s){m(s,p||q,s.params[r])})};o.addSingleVal("accept","exts").addSingleVal("regex","pattern");o.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");o.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range");o.add("equalto",["other"],function(q){var p=h(q.form).find(":input[name="+q.params.other+"]")[0];m(q,"equalTo",p)});o.add("required",function(p){if(p.element.tagName.toUpperCase()!=="INPUT"||p.element.type.toUpperCase()!=="CHECKBOX"){m(p,"required",true)}});o.add("remote",["url","type","additionalfields"],function(r){var p={url:r.params.url,type:r.params.type||"GET",data:{}},q=l(r.element.name);h.each(n(r.params.additionalfields||r.element.name),function(s,u){var t=k(u,q);p.data[t]=function(){return h(r.form).find(":input[name='"+t+"']").val()}});m(r,"remote",p)});if(h.validator.unobtrusive&&h.validator.unobtrusive.adapters){h.extend(o,h.validator.unobtrusive.adapters)}h.validator.addMethod("regex",function(p,r,q){if(this.optional(r)){return true}var s=new RegExp(q).exec(p);return s&&s.index==0&&s[0].length==p.length});h.validator.addMethod("number",function(p,s){var q=c.cultureInfo.numericgroupsize;var r=new c.stringBuilder();r.cat("^-?(?:\\d+|\\d{1,").cat(q).cat("}(?:").cat(c.cultureInfo.numericgroupseparator).cat("\\d{").cat(q).cat("})+)(?:\\").cat(c.cultureInfo.numericdecimalseparator).cat("\\d+)?$");return this.optional(s)||new RegExp(r.string()).test(p)})},parse:function(){this.build();this.unobtrusive.parse(this.formId)}};var f=function(k){this.validationMetaData=k};f.prototype={build:function(o){h.validator.addMethod("regex",function(A,C,B){if(this.optional(C)){return true}var D=new RegExp(B).exec(A);return D&&D.index==0&&D[0].length==A.length});h.validator.addMethod("number",function(A,D){var B=c.cultureInfo.numericgroupsize;var C=new c.stringBuilder();C.cat("^-?(?:\\d+|\\d{1,").cat(B).cat("}(?:").cat(c.cultureInfo.numericgroupseparator).cat("\\d{").cat(B).cat("})+)(?:\\").cat(c.cultureInfo.numericdecimalseparator).cat("\\d+)?$");return this.optional(D)||new RegExp(C.string()).test(A)});function t(B,A,C){B.range=[A,C]}function p(A,B){A.regex=B}function z(A){A.required=true}function v(A,B){A.maxlength=B}function m(A,B,C){A[B]=C}function x(D){var A={};for(var C=0;C-1){var m=o.substring(0,n);var l=k[m]||{};l[o.substring(n+1)]=k[o];k[m]=i(l);delete k[o]}}return k}function d(l){var m,k,n;for(m in l){k=l[m];if(typeof k==="string"){n=j.exec(k);if(n){l[m]=new Date(parseInt(n[1]))}}else{if(h.isPlainObject(k)){d(k)}}}}c.editing.initialize=function(l){h.extend(l,this.implementation);var k=h(l.element);l.modelBinder=new c.grid.ModelBinder();l.formViewBinder=new c.grid.FormViewBinder({date:function(v,s){var u=l.columnFromMember(v);var t=u?u.format:"";return c.formatString(t||"{0:G}",s)}});if(l.isAjax()){if(l.editing.mode=="InCell"){d(l.editing.defaultDataItem||{});l.changeLog=new c.grid.ChangeLog(l.pageSize||(l.data&&l.data.length)||0);h(l.element).bind("dataBound",function(){l.changeLog.clear()});l.cellEditor=new c.grid.CellEditor({columns:l.columns,cellIndex:function(s){return l.cellIndex(s)},id:l.formId(),bind:h.proxy(l.formViewBinder.bind,l.formViewBinder),validate:h.proxy(l.validation,l)});k.delegate(".t-grid-save-changes:not(.t-state-disabled)","click",c.stopAll(function(s){l.submitChanges()}));k.delegate(".t-grid-cancel-changes","click",c.stopAll(function(s){l.cancelChanges()}));l.hasChanges=function(){return l.changeLog.dirty()};l.submitChanges=function(){if(l.changeLog.dirty()){var s=l.changeLog.inserted;var u=h.grep(l.changeLog.updated,function(w){return w!=undefined});var t=h.grep(l.changeLog.deleted,function(w){return w!=undefined});if(c.trigger(l.element,"submitChanges",{inserted:s,updated:u,deleted:t})){return}var v=l.ws?{inserted:h.map(s,function(w){return l._convert(w)}),updated:h.map(u,function(w){return l._convert(w)}),deleted:h.map(t,function(w){return l._convert(w)})}:l.changeLog.serialize(s,u,t);l.sendValues(v,"updateUrl")}};l.cancelChanges=function(){l.changeLog.clear();l.dataBind(l.data.slice(0));l.valid=true};l.cellIndex=function(s){return h(s).parent().find("td:not(.t-group-cell,.t-hierarchy-cell)").index(s)};l.rowIndex=function(s){return h(s).parent().find("tr:not(.t-detail-row,.t-grouping-row)").index(s)};var p;l.valid=true;l.editCell=function(v){var s=l.columns[l.cellIndex(v)];if(l.valid&&(s&&!s.readonly)){l.td=v;v=h(v);var u=v.parent();var w=l.rowIndex(u);var t=l.changeLog.get(w)||l.dataItem(u);p=v.find(".t-dirty");l.cellEditor.edit(v,t);c.trigger(l.element,"edit",{mode:u.hasClass("t-grid-new-row")?"insert":"edit",form:l.form()[0],dataItem:t,cell:v[0]})}};l.saveCell=function(v){l.valid=l.validate();if(l.valid){v=h(v);var u=v.parent();var t=l.dataItem(u);var w=i(l.modelBinder.bind(v));var s=false;if(c.trigger(l.element,"save",{mode:u.hasClass("t-grid-new-row")?"insert":"edit",dataItem:t,values:w,form:l.form()[0],cell:v[0]})){return}if(u.hasClass("t-grid-new-row")){l.changeLog.insert(l.rowIndex(u),w)}else{s=l.changeLog.update(l.rowIndex(u),t,w)}l.cellEditor.display(v,w);if(s||u.hasClass("t-grid-new-row")){p=h('')}if(p&&p.length){p.prependTo(l.td)}l.td=null}};l.td=null;l.$tbody.delegate("tr:not(.t-grouping-row) > td:not(.t-detail-cell,.t-grid-edit-cell,.t-group-cell,.t-hierarchy-cell)",l.editing.beginEdit||"click",function(s){if(h(this).closest("tbody")[0]==l.$tbody[0]){l.editCell(this)}});h(document).mousedown(function(s){if(l.td&&!h.contains(l.td,s.target)&&l.td!=s.target&&!h(s.target).closest(".t-animation-container").length){l.saveCell(l.td)}})}else{if(l.editing.beginEdit){l.$tbody.delegate("tr:not(.t-detail-row,.t-grouping-row,.t-grid-edit-row,.t-group-footer)",l.editing.beginEdit,function(s){if(!h(s.target).is(":button,a,:input,a>.t-icon")){l.editRow(h(this))}})}}k.delegate(".t-grid-edit","click",c.stopAll(function(s){l.editRow(h(this).closest("tr"))})).delegate(".t-grid-delete","click",c.stopAll(function(s){l.deleteRow(h(this).closest("tr"))})).delegate(".t-grid-add","click",c.stopAll(function(s){l.addRow()}))}else{k.delegate(".t-grid-delete","click",c.stop(function(s){if(l.editing.confirmDelete!==false&&!confirm(l.localization.deleteConfirmation)){s.preventDefault()}}));l.validation()}l.errorView=new c.grid.ErrorView();var r=new c.grid.DataCellBuilder({columns:l.columns});var m=h.grep(l.columns,function(s){return s.commands&&h.grep(s.commands,function(t){return t.name=="edit"})[0]})[0];if(!m){m={commands:[{name:"edit",buttonType:"Text"}]};m.insert=l.insertFor(m);m.edit=l.editFor(m)}var n=new c.grid.FormContainerBuilder({html:function(){return unescape(l.editing.editor)},insert:function(){return m.insert()},edit:function(){return m.edit()}});var q=l.editing.mode;var o=function(){return(l.groups||[]).length};if(q=="InLine"){l.rowEditor=new c.grid.Editor({id:l.formId(),cancel:r.display,edit:r.edit,insert:r.insert,groups:o,details:l.detail})}else{if(q=="InForm"){l.rowEditor=new c.grid.Editor({id:l.formId(),cancel:r.display,groups:o,details:l.detail,edit:function(){return''+n.edit()+""},insert:function(){return''+n.insert()+""}})}else{if(q=="PopUp"){l.rowEditor=new c.grid.PopUpEditor({id:l.formId(),edit:n.edit,container:l.element,settings:l.editing.popup,insert:n.insert,editTitle:l.localization.edit,insertTitle:l.localization.insert})}else{r=new c.grid.CellBuilder({columns:l.columns});l.rowEditor=new c.grid.Editor({id:l.formId(),cancel:r.display,edit:r.edit,insert:r.insert})}}}k.delegate(":input:not(.t-button):not(textarea)","keydown",function(t){if(t.keyCode==13||t.keyCode==27){t.preventDefault();var s={13:".t-grid-update, .t-grid-insert",27:".t-grid-cancel"};h(this).closest("tr").find(s[t.keyCode]).click()}})};c.editing.implementation={editFor:function(l){var m=this.localization;if(l.commands){var o=h.grep(l.commands,function(q){return q.name=="edit"})[0];if(o){var p=c.grid.ButtonBuilder.create(h.extend({text:m.update},o,{name:"update"}));var n=c.grid.ButtonBuilder.create(h.extend({text:m.cancel},o,{name:"cancel"}));var k=p.build()+n.build();return function(){return k}}else{return function(){return""}}}else{if(!l.readonly&&l.editor){return function(){return unescape(l.editor)}}}return this.displayFor(l)},insertFor:function(l){var m=this.localization;if(l.commands){var o=h.grep(l.commands,function(q){return q.name=="edit"})[0];if(o){var p=c.grid.ButtonBuilder.create(h.extend({text:m.insert},o,{name:"insert"}));var n=c.grid.ButtonBuilder.create(h.extend({text:m.cancel},o,{name:"cancel"}));var k=p.build()+n.build();return function(){return k}}else{return function(){return""}}}else{return this.editFor(l)}},insertRow:function(k){if(this.validate()){var l=this.extractValues(k);if(c.trigger(this.element,"save",{mode:"insert",values:l,form:this.form()[0]})){return}this.sendValues(l,"insertUrl")}},updateRow:function(k){if(this.validate()){var l=this.dataItem(k.data("tr")||k);var m=this.extractValues(k,(this.editing.mode!="InCell"||!this.ws));if(c.trigger(this.element,"save",{mode:"edit",dataItem:l,values:m,form:this.form()[0]})){return}if(this.editing.mode=="InCell"){m=h.extend(l,m)}d(m);this.sendValues(m,"updateUrl")}},deleteRow:function(k){var l=this.dataItem(k);if(this.editing.mode!="InCell"){if(c.trigger(this.element,"delete",{dataItem:l})){return}if(this.editing.confirmDelete===false||confirm(this.localization.deleteConfirmation)){this.sendValues(this.extractValues(k,true),"deleteUrl")}}else{if(this.editing.confirmDelete===false||confirm(this.localization.deleteConfirmation)){this.changeLog.erase(this.rowIndex(k),l);this.td=null;this.cancelRow(k);k.hide()}}},editRow:function(k){var m=this.dataItem(k);if(this.editing.mode!="InCell"){b();var n=this.rowEditor.edit(k,m);var l=this.form();l.undelegate(".t-grid-update").delegate(".t-grid-update","click",c.stopAll(h.proxy(function(){this.updateRow(n)},this))).undelegate(".t-grid-cancel").delegate(".t-grid-cancel","click",c.stopAll(h.proxy(function(){this.cancelRow(k)},this)));this.formViewBinder.bind(n,m);c.trigger(this.element,"edit",{mode:"edit",form:l[0],dataItem:m});this.validation()}else{if(this.valid){this.rowEditor.edit(k,m);this.td=row.find(":input:visible:first").focus().closest("td")[0];this.validation()}}},form:function(){return h("#"+this.formId())},addRow:function(){var n=h.extend(true,{},this.editing.defaultDataItem);if(this.editing.mode!="InCell"){b();var p=this.rowEditor.insert(this.$tbody,n);var l=this.form();l.undelegate(".t-grid-insert").delegate(".t-grid-insert","click",c.stopAll(h.proxy(function(){this.insertRow(p)},this))).undelegate(".t-grid-cancel").delegate(".t-grid-cancel","click",c.stopAll(h.proxy(function(){this.cancelRow(p)},this)));c.trigger(this.element,"edit",{mode:"insert",form:l[0]});this.validation()}else{if(this.valid){var m=this.rowEditor.insert(this.$tbody,n);this.changeLog.insert(n);this.td=m.find(":input:enabled:visible:first").focus().closest("td")[0];for(var k=this.columns.length-1;k>=0;k--){if(!this.columns[k].readonly){var o=m.children().eq(k);if(o[0]!=this.td){o.prepend('')}}}this.validation()}}},extractValues:function(p,m){var n=this.modelBinder.bind(p);if(m){var o=this.dataItem(p.data("tr")||p);for(var l in this.dataKeys){var k=this.valueFor({member:l})(o);if(k instanceof Date){k=c.formatString("{0:G}",k)}n[this.ws?l:this.dataKeys[l]]=k}}return n},cancelRow:function(k){if(!k.length){return}var l=this.dataItem(k);this.rowEditor.cancel(k,l);if(k.is(".t-grid-new-row")){return}c.trigger(this.element,"rowDataBound",{row:k[0],dataItem:l})},validate:function(){var k=this.form();if(k.length){var m=k.validate();var l=m.form();if(m.pendingRequest){m.formSubmitted=true;return false}return l}return true},cancel:function(){this.cancelRow(this.$tbody.find(">.t-grid-edit-row"))},_convert:function(o){for(var l in o){var k=o[l];if(k instanceof Date){var n=this.columnFromMember(l);var m="{0:G}";if(n&&n.format){m=n.format}o[l]=this.ws?"\\/Date("+k.getTime()+")\\/":c.formatString(m,k)}if(k==undefined){delete o[l]}if(h.isPlainObject(k)){this._convert(k)}}return o},sendValues:function(n,k){if(this.editing.mode!="InCell"||!this.ws){this._convert(n);for(var l in this.dataKeys){var m=this.valueFor({member:l})(n);if(m!=undefined){n[this.ws?l:this.dataKeys[l]]=m}}}h.ajax(this.ajaxOptions({data:this.ws?(this.editing.mode=="InCell"?n:{value:n}):n,url:this.url(k),hasErrors:h.proxy(this.hasErrors,this),displayErrors:h.proxy(this.displayErrors,this)}))},displayErrors:function(k){this.errorView.bind(h("#"+this.formId()),k.modelState)},hasErrors:function(k){var l=k.modelState;var m=false;if(l){h.each(l,function(n,o){if("errors" in o){m=true;return false}})}return m},formId:function(){return h(this.element).attr("id")+"form"},validation:function(){this.validator().parse()},validator:function(){if(this.validationMetadata){return new f(this.validationMetadata)}else{return new g(h("#"+this.formId()))}}};c.grid.ModelBinder=function(){this.binders={":input.t-autocomplete":function(){return h(this).val()},".t-numerictextbox :input":function(){return h(this).val()},":input:not(.t-input):not(:radio),:radio:checked":function(){return h(this).val()},":checkbox":function(){return h(this).is(":checked")},".t-datepicker :input":function(){return h(this).data("tDatePicker").value()},".t-timepicker :input":function(){return h(this).data("tTimePicker").value()},".t-datetimepicker :input":function(){return h(this).data("tDateTimePicker").value()},".t-editor textarea:hidden":function(){var k=h(this).closest(".t-editor").data("tEditor");if(k.encoded){return k.encodedValue()}return k.value()}};this.bind=function(k){var l={};h.each(this.binders,function(m,n){k.find(m).each(function(){if(!this.disabled){l[this.name]=n.call(this)}})});return l}};c.grid.FormViewBinder=function(m){this.converters=m||{};this.binders={":input:not(:radio)":function(n){if(typeof n=="boolean"){n=n+""}h(this).val(n)},":checkbox":function(n){h(this).attr("checked",n==true)},":radio":function(o){var n=h(this).val();if(typeof o=="boolean"){n=n.toLowerCase()}if(n==o.toString()){h(this).attr("checked",true)}}};function l(n){return function(o){h(this).data(n).value(o)}}function k(){return function(n){h(this).closest(".t-editor").data("tEditor").value(n)}}this.binders[".t-numerictextbox :input"]=l("tTextBox");this.binders[".t-dropdown :input:hidden"]=l("tDropDownList");this.binders[".t-datepicker :input"]=l("tDatePicker");this.binders[".t-datetimepicker :input"]=l("tDateTimePicker");this.binders[".t-combobox :input:hidden"]=l("tComboBox");this.binders[".t-editor textarea:hidden"]=k();this.evaluate=function(o,r){if(r!=null){var n=o,p=false,t=r.split(".");while(t.length){var u=t.shift();if(n!=null&&typeof(n[u])!="undefined"){n=n[u];p=true}else{if(p){p=false;break}}}if(p&&!h.isPlainObject(n)){var q=j.exec(n);if(q){n=new Date(parseInt(q[1]))}var s=c.getType(n);if(s in this.converters){n=this.converters[s](r,n)}return n}}};this.bind=function(p,o){var n;h.each(this.binders,h.proxy(function(q,r){p.find(q).each(h.proxy(function(t,u){var s=this.evaluate(o,u.name);if(s!=n){r.call(u,s)}},this))},this))}};c.grid.CellBuilder=function(k){function l(n,m){return h.map(k.columns,function(p,o){return"':">")+p[o==0?m:"display"](n)+""}).join("")}this.edit=function(m){return l(m,"edit")};this.insert=function(m){return l(m,"insert")};this.display=function(m){return l(m,"display")}};c.grid.DataCellBuilder=function(k){function l(n,m){return h.map(k.columns,function(p,o){return"':">")+p[m](n)+""}).join("")}this.edit=function(m){return l(m,"edit")};this.insert=function(m){return l(m,"insert")};this.display=function(m){return l(m,"display")}};c.grid.FormContainerBuilder=function(k){function l(m){return'
    '+k.html()+k[m]()+"
    "}this.edit=function(){return l("edit")};this.insert=function(){return l("insert")}};function e(k){return h("
    ",{className:"t-edit-form",id:k}).submit(c.preventDefault)}c.grid.PopUpEditor=function(m){var l;function k(){var o=l.data("tWindow");o&&o.close();l.remove()}function n(p,o){l=h("
    ",{id:m.container.id+"PopUp"}).appendTo(m.container).css({top:0,left:"50%",marginLeft:-90}).tWindow(m.settings).find(".t-window-content").append(m[o](p)).wrapInner(e(m.id)).end();h(m.container).one("dataBound",k);l.find("t-close").bind("close",c.stopAll(k)).end().data("tWindow").open().title(m[o+"Title"]);return l}this.edit=function(o,p){o.addClass("t-grid-edit-row");return n(p,"edit").data("tr",o)};this.insert=function(o,p){return n(p,"insert")};this.cancel=function(o){o.removeClass("t-grid-edit-row");k()}};c.grid.Editor=function(m){var l=m.groups||function(){return 0};function k(n,o,p){var q=n.find(".t-group-cell,.t-hierarchy-cell");n.addClass("t-grid-edit-row").empty().append(q).append(m[p](o)).closest("table").wrap(function(){if(!h(this).parent().is("form")){return e(m.id)}})}this.cancel=function(n,o){if(n.is(".t-grid-new-row")){n.remove()}else{k(n,o,"cancel");n.removeClass("t-grid-edit-row")}};this.insert=function(p,o){var q=''+new Array(l()+1).join('')+((m.details)?'':"")+"";var n=h(q);p.prepend(n);k(n,o,"insert");return n};this.edit=function(n,o){k(n,o,"edit");return n}};c.grid.CellEditor=function(k){this.edit=function(n,m){var l=k.columns[k.cellIndex(n)];if(!l.readonly){n.parent().addClass("t-grid-edit-row").end().empty().html(l.edit(m)).closest("table").wrap(function(){if(!h(this).parent().is("form")){return e(k.id)}});k.bind(n,m);k.validate();n.find(":input:visible:first").trigger("focusin").focus();n.addClass("t-grid-edit-cell")}return !l.readonly};this.display=function(n,m){var l=k.columns[k.cellIndex(n)];n.removeClass("t-grid-edit-cell").empty().html(l.display(m)).parent().removeClass("t-grid-edit-row")}};c.grid.ChangeLog=function(l){this.insert=function(m,o){if(o==undefined){o=m;this.inserted.splice(0,0,o)}else{var n=this.inserted[m];if(n===undefined){this.inserted.splice(0,0,o)}else{h.extend(n,o)}}};this.get=function(n){var m=this.inserted[n];if(this.inserted[n]){return m}return this.updated[n-this.inserted.length]};this.update=function(s,p,o){s=s-this.inserted.length;var t=this.updated[s]||p||{};var r=false;for(var m in o){var q=t[m],n=o[m];if(q instanceof Date){if(n.getTime()!==q.getTime()){r=true}}else{if(n!==q){r=true}}}if(r){this.updated[s]=h.extend({},t,o)}return r};this.erase=function(n,p){var m=this.inserted[n];if(m){this.inserted.splice(n,1)}else{n=n-this.inserted.length;var o=this.updated[n];if(o){delete this.updated[n]}this.deleted[n]=p}};this.clear=function(){this.updated=new Array(l);this.deleted=new Array(l);this.inserted=[]};function k(n,r,t){var u={};for(var s=0,o=0;s .t-grid-content",g.element).bind("scroll",function(){g.hideFilter()});c(document).click(function(h){if(h.which!=3){g.hideFilter()}});g.$header.find(".t-grid-filter").click(c.proxy(g.showFilter,g)).hover(function(){c(this).toggleClass("t-state-hover")})};b.filtering.implementation={createFilterCommands:function(h,g){var i={};c.each(this.localization,function(m,j){var k="filter"+g.type;var l=m.indexOf(k);if(l>-1){i[m.substring(l+k.length).toLowerCase()]=j}});h.cat('")},createTypeSpecificInput:function(j,g,h,i){if(g.type=="Date"){j.cat('
    ').cat('').cat('
    ')}else{if(g.type=="Boolean"){j.cat('
    ').cat('
    ")}else{if(g.type=="Enum"){j.cat("
    ")}else{if(g.type=="Number"){j.cat('
    ').cat('').cat("
    ")}else{j.cat('')}}}}},createFilterMenu:function(g){var j=new b.stringBuilder();j.cat('
    ");var i=c(j.string());c.each(g.filters||[],function(k){i.find(".t-filter-operator:eq("+k+")").val(this.operator).end().find(":text:eq("+k+"),select:not(.t-filter-operator):eq("+k+")").val(a(g,this.value));if(g.type=="Boolean"){i.find(":radio[id$="+this.value+"]").attr("checked",true)}});return i.find(".t-datepicker .t-input").each(function(){c(this).tDatePicker({format:f(g)})}).end().find(".t-numerictextbox .t-input").each(function(){c(this).tTextBox({type:"numeric",minValue:null,maxValue:null,numFormat:"",groupSeparator:""})}).end().appendTo(this.element)},showFilter:function(m){m.stopPropagation();var g=c(m.target).closest(".t-grid-filter");this.hideFilter(function(){return this.parentNode!=g[0]});var k=g.data("filter");if(!k){var h=this.columns[this.$columns().index(g.parent())];k=this.createFilterMenu(h).data("column",h).click(function(p){p.stopPropagation();if(c(p.target).parents(".t-datepicker").length==0){c(".t-datepicker .t-input",this).each(function(){c(this).data("tDatePicker").hidePopup()})}}).find(".t-filter-button").click(c.proxy(this.filterClick,this)).end().find(".t-clear-button").click(c.proxy(this.clearClick,this)).end().find("input[type=text]").keyup(c.proxy(function(p){if(p.keyCode==13){this.filterClick(p)}},this)).end();g.data("filter",k)}var l=0;c(this.element).find("> .t-grouping-header, > .t-grid-toolbar").add(this.$header).each(function(){l+=this.offsetHeight});var i={top:l};var n=-this.$headerWrap.scrollLeft()-1;g.parent().add(g.parent().prevAll("th")).each(function(){if(c(this).css("display")!="none"){n+=this.offsetWidth}});var j=n-g.outerWidth();var o=k.outerWidth()||k.find(".t-group").outerWidth();if(j+o>this.$header.outerWidth()){j=n-o+1}if(c(this.element).closest(".t-rtl").length){i.right=j+(c.browser.mozilla||c.browser.safari?18:0)}else{i.left=j}k.css(i);b.fx[k.find(".t-filter-options").is(":visible")?"rewind":"play"](d,k.find(".t-filter-options"),{direction:"bottom"})},hideFilter:function(g){g=g||function(){return true};c(".t-grid .t-animation-container").find(".t-datepicker .t-input").each(function(){c(this).data("tDatePicker").hidePopup()}).end().find(".t-filter-options").filter(g).each(function(){b.fx.rewind(d,c(this),{direction:"bottom"})})},clearClick:function(i){i.preventDefault();var h=c(i.target);var g=h.closest(".t-animation-container").data("column");g.filters=null;h.parent().find("input").removeAttr("checked").removeClass("t-state-error").not(":radio").val("").end().end().find("select").removeClass("t-state-error").find("option:first").attr("selected","selected");this.filter(this.filterExpr())},filterClick:function(j){j.preventDefault();var i=c(j.target);var g=i.closest(".t-animation-container").data("column");g.filters=[];var h=false;i.closest(".t-filter-options").find("input[type=text]:visible,select:not(.t-filter-operator)").each(c.proxy(function(p,n){var l=c(n);var k=c.trim(l.val());if(!k){l.removeClass("t-state-error");return true}var m=this.isValidFilterValue(g,k);l.toggleClass("t-state-error",!m);if(!m){h=true;return true}var o=l.prev("select").val()||l.parent().prev("select").val()||l.parent().parent().prev("select").val();if(k!=this.localization.filterSelectValue){g.filters.push({operator:o,value:k})}},this));i.parent().find("input:checked").each(c.proxy(function(m,l){var n=c(l);var k=c(l).attr("value");g.filters.push({operator:"eq",value:k})},this));if(!h){if(g.filters.length>0){this.filter(this.filterExpr())}this.hideFilter()}},isValidFilterValue:function(g,h){if(g.type=="Number"){return !isNaN(h)}else{if(g.type=="Date"){var i;if(h.indexOf("Date(")>-1){i=new Date(parseInt(h.replace(/^\/Date\((.*?)\)\/$/,"$1")))}else{i=b.datetime.parse({value:h,format:f(g)})}return i!=undefined}}return true},encodeFilterValue:function(g,h){switch(g.type){case"String":return"'"+h.replace(e,"''")+"'";case"Date":var i;if(h.indexOf("Date(")>-1){i=new Date(parseInt(h.replace(/^\/Date\((.*?)\)\/$/,"$1")))}else{i=b.datetime.parse({value:h,format:f(g)}).toDate()}return"datetime'"+b.formatString("{0:yyyy-MM-ddTHH-mm-ss}",i)+"'"}return h},filterExpr:function(){var h=[];for(var g=0;g');f.$groupHeader=d("> .t-grouping-header",f.element);function h(){var k=d.map(f.$groupHeader.find(".t-group-indicator"),function(l){var m=d(l);var n=m.offset().left;var o=m.outerWidth();return{left:n,right:n+o,width:o,$group:m}});return{first:k[0],all:k,last:k[k.length-1]}}function g(u){var l=u.$cue.text();if(!d.contains(f.element,u.target)||!d(u.target).closest(".t-grouping-header").length||(f.groupFromTitle(l)&&u.$draggable.closest(".t-header").length)){f.$groupDropCue.remove();return}var w=d(f.element),o=w.find("> .t-grid-toolbar"),m=o.outerHeight()+c,q=h(),p=w.closest(".t-rtl").length;if(!q.all.length){var r=p?o.width()-a:a;f.$groupDropCue.css({top:m,left:r}).appendTo(f.$groupHeader);return}var v=q.first;var t=q.last;var k=parseInt(v.$group.css("marginLeft"));var s=parseInt(v.$group.css("marginRight"));var n=d.grep(q.all,function(x){return u.pageX>=x.left-k-s&&u.pageX<=x.right})[0];if(!n&&v){if(!p&&u.pageX=0){f.groups.splice(d.inArray(m,f.groups),1);f.groups.splice(o,0,m)}f.groupBy=d.map(f.groups,function(q){return q.member+"-"+q.order}).join("~");if(this.isAjax()){var p=this.$groupHeader.find('div:contains("'+l+'")');if(p.length==0){var k=new d.telerik.stringBuilder().cat('").string();p=d(k).appendTo(this.$groupHeader)}if(this.$groupDropCue.is(":visible")){p.insertBefore(this.$groupDropCue)}p.find(".t-link .t-icon").toggleClass("t-arrow-up-small",m.order=="asc").toggleClass("t-arrow-down-small",m.order=="desc").html("("+(m.order=="asc"?f.localization.sortedAsc:f.localization.sortedDesc)+")");this.ajaxRequest()}else{this.serverRequest()}};f.unGroup=function(l){var k=f.groupFromTitle(l);f.groups.splice(d.inArray(k,f.groups),1);if(f.groups.length==0){f.$groupHeader.html(f.localization.groupHint)}f.groupBy=d.map(f.groups,function(m){return m.member+"-"+m.order}).join("~");if(f.isAjax()){f.$groupHeader.find('div:contains("'+k.title+'")').remove();f.ajaxRequest()}else{f.serverRequest()}},f.normalizeColumns=function(n){var o=f.groups.length;var m=n-f.$tbody.parent().find(" > colgroup > col").length;if(m==0){return}var p=f.$tbody.parent().add(f.$headerWrap.find("table")).add(f.$footer.find("table"));if(d.browser.msie){if(m>0){d(new b.stringBuilder().rep('',m).string()).prependTo(p.find("colgroup"));d(new b.stringBuilder().rep(' ',m).string()).insertBefore(p.find("th.t-header:first"));d(new b.stringBuilder().rep(' ',m).string()).insertBefore(p.find("tr.t-footer-template > td:first"))}else{p.find("th:lt("+Math.abs(m)+"), tr.t-footer-template > td:lt("+Math.abs(m)+")").remove().end().find("col:lt("+Math.abs(m)+")").remove()}var k=[];var l=0;d("table, .t-grid-bottom",f.element).each(function(){k.push(this.parentNode)}).appendTo(d("
    ")).each(function(){k[l++].appendChild(this)})}else{p.find("col.t-group-col").remove();d(new b.stringBuilder().rep('',o).string()).prependTo(p.find("colgroup"));p.find("th.t-group-cell").remove();p.find("tr.t-footer-template > td.t-group-cell").remove();d(new b.stringBuilder().rep(' ',o).string()).insertBefore(p.find("th.t-header:first"));d(new b.stringBuilder().rep(' ',o).string()).insertBefore(p.find("tr.t-footer-template > td:first"))}},f.bindGroup=function(n,r,q,p){var o=f.groups[p];var t=n.Key;var m=d.grep(f.columns,function(l){return o.member==l.member})[0];if(m&&(m.format||m.type=="Date")){t=b.formatString(m.format||"{0:G}",t)}q.cat('').rep('',p).cat('

    ');if(m){q.cat(m.groupHeader(d.extend({Title:o.title,Key:t},n.Aggregates[m.member])))}else{q.cat(o.title+": "+t)}q.cat("

    ");if(n.HasSubgroups){for(var k=0,s=n.Items.length;k').rep('',f.groups.length);d.each(f.columns,function(){q.cat("");if(this.groupFooter){q.cat(this.groupFooter(n.Aggregates[this.member]))}q.cat("")});q.cat("")}}}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.min.js deleted file mode 100644 index e6ebd531e..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(c){var g=c.telerik;var a=/"\\\/Date\((.*?)\)\\\/"/g;function d(h){return new Function("data",("var p=[];with(data){p.push('"+unescape(h).replace(/[\r\t\n]/g," ").replace(/'(?=[^#]*#>)/g,"\t").split("'").join("\\'").split("\t").join("'").replace(/<#=(.+?)#>/g,"',$1,'").split("<#").join("');").split("#>").join("p.push('")+"');}return p.join('');"))}function f(h){return(h!=null?h+"":"").replace(/&/g,"&").replace(//g,">")}g.grid=function(h,j){this.element=h;this.groups=[];this.editing={};this.filterBy="";this.groupBy="";this.orderBy="";c.extend(this,j);this.sorted=c.grep(this.columns,function(i){return i.order});this.$tbody=c("> .t-grid-content > table > tbody",h);this.scrollable=this.$tbody.length>0;if(!this.scrollable){this.$tbody=c("> table > tbody",h);this.$header=c("> table > thead tr",h);this.$footer=c("> table > tfoot",h)}else{c("> .t-grid-content",h).tScrollable();this.$header=c("> .t-grid-header tr",h);this.$footer=c("> .t-grid-footer",h)}this.$headerWrap=c("> .t-grid-header > .t-grid-header-wrap",h);this.$footerWrap=c("> .t-grid-footer > .t-grid-footer-wrap",h);var o=this.$headerWrap.add(this.$footerWrap);c("> .t-grid-content",h).bind("scroll",function(){o.scrollLeft(this.scrollLeft)});this.$tbody.delegate(".t-hierarchy-cell .t-plus, .t-hierarchy-cell .t-minus","click",g.stopAll(function(t){var r=c(t.target);var q=r.hasClass("t-plus");r.toggleClass("t-minus",q).toggleClass("t-plus",!q);var i=r.closest("tr.t-master-row");if(this.detail&&!i.next().hasClass("t-detail-row")){var s=0;c.each(this.columns,function(){if(!this.hidden){s++}});c(new g.stringBuilder().cat('').rep('',i.find(".t-group-cell").length).cat('').cat('').cat(this.displayDetails(this.dataItem(i))).cat("").string()).insertAfter(i)}g.trigger(this.element,q?"detailViewExpand":"detailViewCollapse",{masterRow:i[0],detailRow:i.next(".t-detail-row")[0]});i.next().toggle(q)},this));this.$pager=c("> .t-grid-pager .t-pager",h);var n=new g.dropDown({effects:g.fx.slide.defaults(),onClick:c.proxy(function(i){this.changePageSize(c(i.item).text());n.close()},this)});n.dataBind(j.pageSizesInDropDown||[]);c(document.documentElement).bind("mousedown",function(q){var i=n.$element[0];if(!c.contains(i,q.target)){n.close()}});this.$pager.delegate(".t-state-disabled","click",g.preventDefault).delegate(".t-link:not(.t-state-disabled)","mouseenter",g.hover).delegate(".t-link:not(.t-state-disabled)","mouseleave",g.leave).delegate("input[type=text]","keydown",c.proxy(this.pagerKeyDown,this)).delegate(".t-page-size .t-dropdown-wrap","click",function(){var i=c(this);n.open({offset:i.offset(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth(),zIndex:g.getElementZIndex(this)})});c("> .t-grid-pager",h).delegate(".t-refresh","click",c.proxy(this.refreshClick,this));c(h).delegate(".t-button","hover",g.preventDefault);if(this.sort){this.$header.delegate(".t-link","hover",function(){c(this).toggleClass("t-state-hover")})}var p="tr:not(.t-grouping-row,.t-detail-row,.t-no-data,:has(>.t-edit-container))";if(this.selectable){var m=this.$tbody[0];var l=this;this.$tbody.delegate(p,"click",function(i){if(this.parentNode==m){l.rowClick(i)}}).delegate(p,"hover",function(){if(this.parentNode==m){c(this).toggleClass("t-state-hover")}})}if(this.isAjax()){this.$pager.delegate(".t-link:not(.t-state-disabled)","click",g.stop(this.pagerClick,this));if(this.sort){this.$header.delegate(".t-link","click",g.stop(this.headerClick,this))}}for(var k=0;k.t-icon")){j.stopPropagation();var h=i.closest("tr").addClass("t-state-selected").siblings().removeClass("t-state-selected").end();g.trigger(this.element,"rowSelect",{row:h[0]})}},$rows:function(){return this.$tbody.find("> tr:not(.t-grouping-row,.t-detail-row)")},expandRow:function(h){c(h).find("> td .t-plus, > td .t-expand").click()},collapseRow:function(h){c(h).find("> td .t-minus, > td .t-collapse").click()},headerClick:function(h){h.preventDefault();this.toggleOrder(this.$columns().index(c(h.target).closest("th")));this.sort(this.sortExpr())},refreshClick:function(i,h){if(c(h).is(".t-loading")){return}if(this.isAjax()){i.preventDefault();this.ajaxRequest(true)}},sort:function(h){this.orderBy=h;this.ajaxRequest()},columnFromTitle:function(i){i=c.trim(i);var h=c.grep(this.$columns(),function(j){return c.trim(c(j).text())==i})[0];if(h){return this.columns[this.$columns().index(h)]}return c.grep(this.columns,function(j){return j.title==i})[0]},columnFromMember:function(h){var i=c.grep(this.columns,function(j){return j.member==h})[0];if(!i){i=c.grep(this.columns,function(k){var j="."+k.member;return h.substr(h.length-j.length)==j})[0]}return i},toggleOrder:function(h){h=typeof h=="number"?this.columns[h]:h;var j="asc";if(h.order=="asc"){j="desc"}else{if(h.order=="desc"){j=null}}h.order=j;var i=c.inArray(h,this.sorted);if(this.sortMode=="single"&&i<0){c.each(this.sorted,function(){this.order=null});this.sorted=[]}if(i<0&&j){this.sorted.push(h)}if(!j){this.sorted.splice(i,1)}},sortExpr:function(){return c.map(this.sorted,function(h){return h.member+"-"+h.order}).join("~")},pagerKeyDown:function(h){if(h.keyCode==13){var i=this.sanitizePage(c(h.target).val());if(i!=this.currentPage){this.pageTo(i)}else{c(h.target).val(i)}}},isAjax:function(){return this.ajax||this.ws||this.onDataBinding},url:function(h){return(this.ajax||this.ws)[h]},pagerClick:function(m){m.preventDefault();var i=c(m.target).closest(".t-link");var j=this.currentPage;var k=i.find(".t-icon");if(k.hasClass("t-arrow-next")){j++}else{if(k.hasClass("t-arrow-last")){j=this.totalPages()}else{if(k.hasClass("t-arrow-prev")){j--}else{if(k.hasClass("t-arrow-first")){j=1}else{var h=i.text();if(h=="..."){var l=i.parent().children().index(i);if(l==0){j=parseInt(i.next().text())-1}else{j=parseInt(i.prev().text())+1}}else{j=parseInt(h)}}}}}this.pageTo(isFinite(j)?j:this.currentPage)},changePageSize:function(i){var h=parseInt(i,10);if(isNaN(h)||h<1){return this.pageSize}h=Math.max(h,1);this.pageSize=h;if(this.isAjax()){this.ajaxRequest()}else{this.serverRequest()}},pageTo:function(h){this.currentPage=h;if(this.isAjax()){this.ajaxRequest()}else{this.serverRequest()}},ajaxOptions:function(i){var h={type:"POST",dataType:"text",dataFilter:function(k,l){return k.replace(a,"new Date($1)")},error:c.proxy(function(l,k){if(g.ajaxError(this.element,"error",l,k)){return}},this),complete:c.proxy(this.hideBusy,this),success:c.proxy(function(l,m,k){try{l=eval("("+l+")")}catch(n){if(!g.ajaxError(this.element,"error",k,"parseeror")){alert("Error! The requested URL did not return JSON.")}return}l=l.d||l;if(i.hasErrors&&i.hasErrors(l)){if(!g.trigger(this.element,"error",{XMLHttpRequest:k,textStatus:"modelstateerror",modelState:l.modelState})){i.displayErrors(l)}return}this.total=l.total||l.Total||0;this.aggregates=l.aggregates||{};this.dataBind(l.data||l.Data)},this)};c.extend(h,i);var j=this.ws?h.data.state={}:h.data;j[this.queryString.page]=this.currentPage;j[this.queryString.size]=this.pageSize;j[this.queryString.orderBy]=this.orderBy||"";j[this.queryString.groupBy]=this.groupBy;j[this.queryString.filter]=(this.filterBy||"").replace(/\"/g,'\\"');j[this.queryString.aggregates]=c.map(this.columns,function(k){if(k.aggregates){return k.member+"-"+k.aggregates.join("-")}}).join("~");if(this.ws){h.data=g.toJson(h.data);h.contentType="application/json; charset=utf-8"}return h},showBusy:function(){this.busyTimeout=setTimeout(c.proxy(function(){c("> .t-grid-pager .t-status .t-icon",this.element).addClass("t-loading")},this),100)},hideBusy:function(){clearTimeout(this.busyTimeout);c("> .t-grid-pager .t-status .t-icon",this.element).removeClass("t-loading")},serverRequest:function(){location.href=g.formatString(unescape(this.urlFormat),this.currentPage,this.orderBy||"~",this.groupBy||"~",encodeURIComponent(this.filterBy)||"~",this.pageSize||"~")},ajaxRequest:function(i){var h={page:this.currentPage,sortedColumns:this.sorted,filteredColumns:c.grep(this.columns,function(j){return j.filters})};if(g.trigger(this.element,"dataBinding",h)){return}if(!this.ajax&&!this.ws){return}this.showBusy();c.ajax(this.ajaxOptions({data:c.extend({},h.data,i),url:this.url("selectUrl")}))},valueFor:function(h){if(h.type=="Date"){return new Function("data","var value = data."+h.member+'; if (!value) return null; return value instanceof Date? value : new Date(parseInt(value.replace(/\\/Date\\((.*?)\\)\\//, "$1")));')}return new Function("data","return data"+(h.member?"."+h.member:"")+";")},displayFor:function(h){var j=this.localization;if(h.commands){var k=c.map(h.commands,function(l){var m=g.grid.ButtonBuilder.create(c.extend({text:j[l.name]},l));return m.build()}).join("");return function(){return k}}if(!h.template){var i=h.value||function(){return""};if(h.format||h.type=="Date"){i=function(l){var m=h.value(l);return m==null?"":g.formatString(h.format||"{0:G}",m)}}return h.encoded===false?i:function(l){return f(i(l))}}return d(h.template)},insertFor:function(h){return this.displayFor(h)},editFor:function(h){return this.displayFor(h)},initializeColumns:function(){c.each(this.columns,c.proxy(function(j,k){if(k.member!==undefined){k.value=this.valueFor(k)}else{k.readonly=true}k.insert=this.insertFor(k);k.edit=this.editFor(k);k.display=this.displayFor(k);if(k.footerTemplate){k.footer=d(k.footerTemplate)}if(k.groupFooterTemplate){this.showGroupFooter=true;k.groupFooter=d(k.groupFooterTemplate)}k.groupHeader=d("<#= Title #>: <#= Key #>");if(k.groupHeaderTemplate){k.groupHeader=d(k.groupHeaderTemplate)}},this));var i=this.columns.length-1;while(i>=0){var h=this.columns[i];if(h.hidden){i--;continue}if(!h.attr){h.attr=' class="t-last"';break}else{if(h.attr.indexOf("class")==-1){h.attr+=' class="t-last"';break}else{h.attr=h.attr.replace('class="','class="t-last ');break}}i--}if(this.detail){this.displayDetails=d(this.detail.template)}},bindData:function(j,l,n){Array.prototype.push.apply(this.data,j);var p=Math.min(this.pageSize,j.length);p=this.pageSize?p:j.length;if(c.browser.msie){c(this.element).find(".t-grid-content colgroup:first col").css("display","")}for(var q=0;q')}else{l.cat("")}l.rep('',n).catIf('',this.detail);for(var k=0,m=this.columns.length;k").cat(o.display(j[q]));l.cat("")}l.cat("")}},normalizeColumns:function(){},dataItem:function(h){return this.data[this.$tbody.find("> tr:not(.t-grouping-row,.t-detail-row,.t-grid-new-row)").index(c(h))]},bindTo:function(n){var k=new g.stringBuilder();var m=this.groups.length+this.columns.length+(this.detail?1:0);if(n&&n.length){this.normalizeColumns(m);if(typeof n[0].HasSubgroups!="undefined"){for(var h=0,j=n.length;h").cat("").cat(this.noRecordsTemplate?this.noRecordsTemplate:this.localization.noRecords).cat("")}this.$tbody.html(k.string());if(this.onRowDataBound){var o=jQuery.grep(this.$tbody[0].rows,function(i){return !c(i).hasClass("t-grouping-row")});for(var h=0,j=this.data.length;h=h).removeClass("t-state-hover");this.$pager.find(".t-arrow-prev").parent().add(this.$pager.find(".t-arrow-first").parent()).toggleClass("t-state-disabled",j==1).removeClass("t-state-hover");var i=this.localization;this.$pager.find(".t-page-i-of-n").each(function(){this.innerHTML=new g.stringBuilder().cat(i.page).cat(' ').cat(g.formatString(i.pageOf,h)).string()});this.$pager.find(".t-page-size").each(function(){var l='
    '+k+'select
    ';this.innerHTML=l});this.$pager.find(".t-numeric").each(c.proxy(function(m,l){this.numericPager(l,j,h)},this));this.$pager.parent().find(".t-status-text").text(g.formatString(i.displayingItems,this.firstItemInPage(),this.lastItemInPage(),this.total))},numericPager:function(i,o,p){var m=10;var k=1;if(o>m){var h=(o%m);k=(h==0)?(o-m)+1:(o-h)+1}var l=(k+m)-1;l=Math.min(l,p);var j=new g.stringBuilder();if(k>1){j.cat('
    ...')}for(var n=k;n<=l;n++){if(n==o){j.cat('').cat(n).cat("")}else{j.cat('').cat(n).cat("")}}if(l...')}i.innerHTML=j.string()},$columns:function(){return this.$header.find("th:not(.t-hierarchy-cell,.t-group-cell)")},updateSorting:function(){this.sorted=[];c.each(this.orderBy.split("~"),c.proxy(function(i,h){var j=h.split("-");var k=this.columnFromMember(j[0]);if(k){k.order=j[1];this.sorted.push(k)}},this));this.$columns().each(c.proxy(function(j,m){var k=this.columns[j].order;var h=c(m).children(".t-link");var l=h.children(".t-icon");if(!k){l.hide()}else{if(l.length==0){l=c('').appendTo(h)}l.toggleClass("t-arrow-up",k=="asc").toggleClass("t-arrow-down",k=="desc").html("("+(k=="asc"?this.localization.sortedAsc:this.localization.sortedDesc)+")").show()}},this))},sanitizePage:function(i){var h=parseInt(i,10);if(isNaN(h)||h<1){return this.currentPage}return Math.min(h,this.totalPages())},totalPages:function(){return Math.ceil(this.total/this.pageSize)},firstItemInPage:function(){return this.total>0?(this.currentPage-1)*this.pageSize+1:0},lastItemInPage:function(){return Math.min(this.currentPage*this.pageSize,this.total)},dataBind:function(h){this.data=[];this.bindTo(h);this.bindFooter();this.updatePager();this.updateSorting();g.trigger(this.element,"dataBound");g.trigger(this.element,"repaint")},bindFooter:function(){var i=this.$footer.find("td:not(.t-group-cell,.t-hierarchy-cell)");var h=this.aggregates;c.each(this.columns,function(j){if(this.footer){i.eq(j).html(this.footer(h[this.member]||{}))}})},rebind:function(h){this.sorted=[];this.orderBy="";this.filterBy="";this.currentPage=1;c.each(this.columns,function(){this.order=null;this.filters=null});c(".t-filter-options",this.element).find('input[type="text"], select').val("").removeClass("t-state-error").end().find("div.t-formatted-value").html("");c(".t-grid-filter",this.element).removeClass("t-active-filter");this.ajaxRequest(h)}};g.grid.ButtonBuilder=function(h){this.classNames=["t-button","t-grid-"+h.name];this.content=function(){return h.text};this.build=function(){return'"+this.content()+""}};g.grid.ButtonBuilder.create=function(h){return new (e[h.buttonType])(h)};function b(i,h){return'"}g.grid.ImageButtonBuilder=function(h){g.grid.ButtonBuilder.call(this,h);this.classNames.push("t-button-icon");this.content=function(){return b(h.name,h.imageAttr)}};g.grid.ImageTextButtonBuilder=function(h){g.grid.ButtonBuilder.call(this,h);this.classNames.push("t-button-icontext");this.content=function(){return'"+h.text}};g.grid.BareImageButtonBuilder=function(h,i){g.grid.ImageButtonBuilder.call(this,h,i);this.classNames.push("t-button-icon","t-button-bare")};var e={Text:g.grid.ButtonBuilder,ImageAndText:g.grid.ImageTextButtonBuilder,Image:g.grid.ImageButtonBuilder,BareImage:g.grid.BareImageButtonBuilder};c.fn.tGrid=function(h){return g.create(this,{name:"tGrid",init:function(i,j){return new g.grid(i,j)},options:h,success:function(i){if(i.$tbody.find("tr.t-no-data").length){i.ajaxRequest()}}})};c.fn.tGrid.defaults={columns:[],plugins:[],currentPage:1,pageSize:10,localization:{addNew:"Add new record","delete":"Delete",cancel:"Cancel",insert:"Insert",update:"Update",select:"Select",pageOf:"of {0}",displayingItems:"Displaying items {0} - {1} of {2}",edit:"Edit",noRecords:"No records to display.",page:"Page ",filter:"Filter",filterClear:"Clear Filter",filterShowRows:"Show rows with value that",filterAnd:"And",filterStringEq:"Is equal to",filterStringNe:"Is not equal to",filterStringStartsWith:"Starts with",filterStringSubstringOf:"Contains",filterStringEndsWith:"Ends with",filterNumberEq:"Is equal to",filterNumberNe:"Is not equal to",filterNumberLt:"Is less than",filterNumberLe:"Is less than or equal to",filterNumberGt:"Is greater than",filterNumberGe:"Is greater than or equal to",filterDateEq:"Is equal to",filterDateNe:"Is not equal to",filterDateLt:"Is before",filterDateLe:"Is before or equal to",filterDateGt:"Is after",filterDateGe:"Is after or equal to",filterEnumEq:"Is equal to",filterEnumNe:"Is not equal to",filterBoolIsTrue:"is true",filterBoolIsFalse:"is false",filterSelectValue:"-Select value-",filterOpenPopupHint:"Open the calendar popup",groupHint:"Drag a column header and drop it here to group by that column",deleteConfirmation:"Are you sure you want to delete this record?",sortedAsc:"sorted ascending",sortedDesc:"sorted descending",ungroup:"ungroup"},queryString:{page:"page",size:"size",orderBy:"orderBy",groupBy:"groupBy",filter:"filter",aggregates:"aggregates"}}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.reordering.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.reordering.min.js deleted file mode 100644 index ebd306594..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.reordering.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(a){var b=a.telerik;b.reordering={};b.reordering.initialize=function(d){d.$reorderDropCue=a('
    ');var c=d.$header.children("th").length-1;var e=function(i,l){var k=a.inArray(l,d.columns);d.columns.splice(k,1);d.columns.splice(i,0,l);h(d.$columns(),k,i);h(d.$tbody.parent().find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);h(d.$headerWrap.find("table").find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);var j=d.$footer.find("table");h(j.find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);h(j.find("> tbody > tr.t-footer-template > td:not(.t-group-cell,.t-hierarchy-cell)").add(d.$footer.find("tr.t-footer-template > td:not(.t-group-cell,.t-hierarchy-cell)")),k,i);a.each(d.$tbody.children(),function(){h(a(this).find(" > td:not(.t-group-cell, .t-hierarchy-cell, .t-detail-cell)"),k,i)})};d.reorderColumn=e;function f(i,k,l,j){g(i,k,l,j,"th","t-last-header");g(i,k,l,j,"td","t-last")}function g(j,l,k,m,i,n){if(k.is(i)&&m==c){j.addClass(n);k.removeClass(n)}if(j.is(i)&&l==c){j.removeClass(n).prev(i).addClass(n)}}function h(j,k,i){var l=j.eq(k);var m=j.eq(i);f(l,k,m,i);l[k>i?"insertBefore":"insertAfter"](m)}new b.draggable({owner:d.$header,selector:".t-header:not(.t-group-cell,.t-hierarchy-cell)",scope:d.element.id+"-reodering",cue:function(i){return b.dragCue(i.$draggable.text())},destroy:function(i){i.$cue.remove()}});new b.droppable({owner:d.$header,scope:d.element.id+"-reodering",selector:".t-header:not(.t-group-cell,.t-hierarchy-cell)",over:function(k){var i=a.trim(k.$draggable.text())==a.trim(k.$droppable.text());b.dragCueStatus(k.$cue,i?"t-denied":"t-add");var j=0;a("> .t-grid-top, > .t-grouping-header",d.element).each(function(){j+=a(this).outerHeight()});if(!i){d.$reorderDropCue.css({height:k.$droppable.outerHeight(),top:j,left:function(){return k.$droppable.position().left+((k.$droppable.index()>k.$draggable.index())?k.$droppable.outerWidth():0)}}).appendTo(d.element)}},out:function(i){d.$reorderDropCue.remove();b.dragCueStatus(i.$cue,"t-denied")},drop:function(k){d.$reorderDropCue.remove();if(k.$cue.find(".t-drag-status").is(".t-add")){var i=d.columnFromTitle(a.trim(k.$draggable.text()));var j=d.$columns().index(k.$droppable);b.trigger(d.element,"columnReorder",{column:i,oldIndex:a.inArray(i,d.columns),newIndex:j});e(j,i);b.trigger(d.element,"repaint")}}})}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.resizing.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.resizing.min.js deleted file mode 100644 index c0f72e29e..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.grid.resizing.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(a){var b=a.telerik;b.resizing={};b.resizing.initialize=function(p){var c,o=a('
    '),i,d,h,l=3;function m(q,r){a("th, th .t-grid-filter, th .t-link",q).add(document.body).css("cursor",r)}function k(q){var r=0;a("> .t-grouping-header, > .t-grid-top",q).each(function(){r+=this.offsetHeight});return r}function e(t){var r=0;a(".t-resize-handle",p.element).each(function(){r+=a(this).data("th").outerWidth();a(this).css("left",r-l)});r=-p.$tbody.closest(".t-grid-content").scrollLeft();t.prevAll("th").add(t).each(function(){r+=this.offsetWidth});var q=p.scrollable?a(".t-grid-content",p.element):a("tbody",p.element);var s=q.attr(p.scrollable?"clientWidth":"offsetWidth");if(r>=s){o.remove()}else{o.css({left:r,top:k(p.element),height:t.outerHeight()+q.attr(p.scrollable?"clientHeight":"offsetHeight")});if(!o.parent().length){o.appendTo(p.element)}}}function j(r){var q=r.$draggable.data("th");c=a("colgroup",p.element).find("col:eq("+q.index()+")");h=r.pageX;d=q.outerWidth();i=p.$tbody.outerWidth()}function g(q){var r=d+q.pageX-h;if(r>10){c.css("width",r);if(p.scrollable){p.$tbody.parent().add(p.$headerWrap.find("table")).add(p.$footer.find("table")).css("width",i+q.pageX-h)}e(q.$draggable.data("th"))}}function f(s){o.remove();m(p.element,"");var r=s.$draggable.data("th");var q=r.outerWidth();if(p.onColumnResize&&q!=d){b.trigger(p.element,"columnResize",{column:p.columns[p.$columns().index(r)],oldWidth:d,newWidth:q})}return false}function n(){var r=0,q=p.element.id+"-column-resizing";var s=b.draggable.get(q);if(s){s._destroy()}p.$headerWrap.add(p.element).find("> .t-resize-handle").remove();p.$header.find(".t-header:visible:not(.t-group-cell)").each(function(){r+=this.offsetWidth;var t=a(this);a('
    ').css({left:r-l,top:p.scrollable?0:k(p.element),width:l*2}).appendTo(p.scrollable?p.$headerWrap:p.element).data("th",t).mousedown(function(){e(t);m(p.element,a(this).css("cursor"))}).mouseup(function(){m(p.element,"")})});new b.draggable({owner:p.element,selector:".t-resize-handle",scope:q,distance:0,start:j,drag:g,stop:f})}n();a(p.element).one("mouseenter",n).bind("repaint",n)}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.imagebrowser.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.imagebrowser.min.js deleted file mode 100644 index bba132ec0..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.imagebrowser.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(i,o){var n=i.telerik,e=i.telerik.query;n.imageBrowser=function(q,r){this.element=q;this.wrapper=i(q);var t=r.filter||"*.png,*.gif,*.jpg,*.jpeg";var s=r.localization;this.wrapper.append('
    select
    ').append(k(s,r.uploadUrl,r.createDirectoryUrl,r.deleteFileUrl||r.deleteDirectoryUrl)).append('
      ');var u=this.wrapper.find(".t-breadcrumbs");var y=this.wrapper.find(".t-tiles");var v=this.wrapper.find(".t-search-wrap");if(r.uploadUrl){this.wrapper.find(".t-upload input").tUpload({async:{saveUrl:r.uploadUrl,autoUpload:true},multiple:false,onUpload:function(B){var C=new RegExp(("("+t.split(",").join(")|(")+")").replace(/\*\./g,".*."),"i");var A=B.files[0].name;if(C.test(A)){B.data={path:u.val()};y.trigger("t:upload",[{name:A},function(){B.preventDefault()}])}else{B.preventDefault();alert(n.formatString(s.invalidFileType,A,t))}},onError:function(A){A.preventDefault();y.trigger("t:error",[A.files[0]]);var B=A.XMLHttpRequest;if(n.ajaxError(r.element,"error",B,B.statusText)){return}},onSuccess:function(A){y.trigger("t:completeFile",[i.extend(A.response,{path:u.val()})])}})}new n.searchBox(v[0]);new n.fileListView(y[0],{thumbnailUrl:r.thumbUrl,localization:s});var w=new n.dropDown({effects:n.fx.slide.defaults(),onClick:function(A){i(q).find(".t-tiles-arrange a span:first").html(i(A.item).text());w.close();u.trigger("t:change")}});var z=[{Text:s.orderByName,Value:"name"},{Text:s.orderBySize,Value:"size"}];w.dataBind(z);this.wrapper.find(".t-tiles-arrange a").click(function(B){B.preventDefault();var A=i(this);w.open({offset:A.offset(),outerHeight:A.outerHeight(),outerWidth:A.outerWidth(),zIndex:n.getElementZIndex(this)})}).end().delegate(".t-button:not(.t-state-disabled):has(.t-delete)","click",function(){var A=y.find(".t-state-selected");if(A.length&&confirm(n.formatString(s.deleteFile,A.find("strong").text()))){i.ajax({type:"POST",url:A.data("kind")=="f"?r.deleteFileUrl:r.deleteDirectoryUrl,data:{path:A.data("url")},error:function(C,B){if(n.ajaxError(r.element,"error",C,B)){return}},success:function(){y.trigger("t:delete");i(q).find(".t-delete").parent().addClass("t-state-disabled")}})}}).delegate(".t-button:not(.t-state-disabled):has(.t-addfolder)","click",function(){y.trigger("t:createDirectory",[function(A){i.ajax({type:"POST",url:r.createDirectoryUrl,data:{path:u.val(),name:A},error:function(C,B){y.trigger("t:errorDirectory",{name:A});if(n.ajaxError(r.element,"error",C,B)){return}},success:function(){y.trigger("t:completeDirectory",{path:u.val(),name:A})}})}])});i(document.documentElement).bind("mousedown",function(B){var A=w.$element[0];if(!i.contains(A,B.target)){w.close()}});var x=new n.dataSource({error:function(A,C){var B=n.trigger(r.element,"error",{XMLHttpRequest:A,textStatus:C});if(!B){if(C=="error"){if(A.status=="404"){alert(r.localization.directoryNotFound)}else{if(A.status!="0"){alert("Error! The requested URL returned "+A.status+" - "+A.statusText)}}}else{if(C=="timeout"){alert("Error! Server timeout.")}}}},url:r.selectUrl,callback:function(B){i(q).find(".t-delete").parent().addClass("t-state-disabled");if(!u.val()){new n.breadcrumbs(u[0],{path:B.Path,roots:B.ContentPaths})}u.val(B.Path).trigger("t:refresh");var C=i(q).find(".t-tiles-arrange a span:first").text();var A=i.map(z,function(E){if(E.Text==C){return E.Value}})[0];var D=v.val();y.trigger("t:refresh",[B,A,D])}});v.bind("t:change",function(){u.trigger("t:change")});x.get({path:""});y.bind("t:select",function(A){if(A.kind=="d"){x.get({path:A.url})}else{r.apply(A)}}).bind("t:change",function(B){var C=i(q).find(".t-delete").parent().addClass("t-state-disabled");if(B.kind=="f"){var A=B.url;if(r.imageUrl){A=r.imageUrl+"?path="+A}i(q).parent().find("#t-editor-image-url").val(A)}if((B.kind=="f"&&r.deleteFileUrl)||(B.kind=="d"&&r.deleteDirectoryUrl)){C.removeClass("t-state-disabled")}});u.bind("t:change",function(){var A=i(this).val();if(!A.match(/\/$/)){A=A+"/"}x.get({path:A})})};function k(r,s,t,q){var v=!s?"":'
      '+r.uploadFile+'
      ',u=!t?"":'',w=!q?"":' ';return'
      '+v+u+w+'
      '+r.orderBy+' '+r.orderByName+'
      '}n.fileInfoReader=function(q){this._thumbnailUrl=q.thumbnailUrl||""};n.fileInfoReader.prototype={read:function(q,r){return r[q]||r[(q.charAt(0).toUpperCase()+q.substring(1))]},directories:function(q){return this.read("directories",q)},files:function(q){return this.read("files",q)},thumbUrl:function(q,r){return this._thumbnailUrl+"/?path="+q+r},size:function(s){var q=this.read("size",s);if(!q){return""}var r=" bytes";if(q>=1073741824){r=" GB";q/=1073741824}else{if(q>=1048576){r=" MB";q/=1048576}else{if(q>=1024){r=" KB";q/=1024}}}return Math.round(q*100)/100+r},name:function(q){return this.read("name",q)},path:function(q){return this.read("path",q)},concatPaths:function(q,r){if(q===o||!q.match(/\/$/)){q=(q||"")+"/"}return q+r}};n.fileListView=function(q,r){this.element=q;this.wrapper=i(q);this._localization=r.localization;this._reader=r.reader||new n.fileInfoReader({thumbnailUrl:r.thumbnailUrl});this._pageSize=r.pageSize||20;this.wrapper.bind({"t:refresh":i.proxy(this._refresh,this),"t:upload":i.proxy(this._upload,this),"t:completeFile":i.proxy(this._completeFile,this),"t:completeDirectory":i.proxy(this._completeDirectory,this),"t:delete":i.proxy(this._delete,this),"t:errorFile":i.proxy(this._errorFile,this),"t:errorDirectory":i.proxy(this._errorDirectory,this),"t:createDirectory":i.proxy(this._createDirectory,this),scroll:i.proxy(this._scroll,this)}).delegate("li[data-url]:not(.t-tile-empty)","click",i.proxy(this._click,this)).delegate("li[data-url]:not(.t-tile-empty)","dblclick",i.proxy(this._dblclick,this))};function d(q){return'
    • '+q.name+"
    • "}function m(q){return'
    • '+q+"
    • "}function h(q){return'
    • '+q.name+''+q.size+"";"
    • "}function l(q){return'
    • '+q.name+"
    • "}function p(q){return'
    • '}function b(r){var s=i(r);var q=i("",{src:s.data("thumbUrl"),alt:s.data("filename")}).hide().bind("load",function(){i(this).prev().remove().end().fadeIn()});s.find(".t-loading").after(q);r.loaded=true}if(i.browser.msie&&parseFloat(i.browser.version)<8){var a=function(q){return q.offsetTop}}else{var a=function(q){return q.offsetTop-i(q).height()}}var f=/(\:|\^|\$|\/|\.|\+|\||\(|\)|\[|\]|\{|\}|\\)/g,j=/\*/g,c=/\?/g;function g(q){return new RegExp(q.replace(f,"\\$1").replace(j,".*").replace(c,".?"),"ig")}n.fileListView.prototype={bindTo:function(r,t,s){this._filter=s;var x=this._reader;this.wrapper.empty();var q=e(this._reader.directories(r)||[]);var v=e(this._reader.files(r)||[]);if(s){var w=function(z){return g(s).test(x.name(z))};q=q.where(w);v=v.where(w)}var y=function(z){return x[t](z)};this._data=this._process(this._reader.path(r),q.orderBy(y),v.orderBy(y));var u=this._data.select(function(z){return z.kind=="f"?h(z):l(z)}).toArray().join("");this.wrapper.append(u);this._tiles=this.wrapper.find("li[data-kind=f]");this._scroll();this._asEmpty()},_asEmpty:function(){if(!this._data.any()&&!this._filter){this.wrapper.append(m(this._localization.emptyFolder))}},_completeFile:function(u,r){var t=this._reader.name(r);var q=this._reader.path(r);var s=i(h({kind:"f",thumbUrl:this._reader.thumbUrl(q,t),url:this._reader.concatPaths(q,t),name:t,size:this._reader.size(r)}));this.wrapper.find("li").eq(this.fileIndex(t)).replaceWith(s);b(s[0]);s.click()},_completeDirectory:function(u,r){var t=this._reader.name(r);var q=this._reader.path(r);var s=i(l({kind:"d",url:this._reader.concatPaths(q,t),name:t}));this.wrapper.find("li").eq(this.directoryIndex(t)).replaceWith(s)},_delete:function(){var q=this.wrapper.find(".t-state-selected");if(q.length){var r=this._data.toArray();r.splice(q.index(),1);this._data=e(r);q.remove();this._scroll();this._asEmpty()}},_scroll:function(q){clearTimeout(this._timeout);this._timeout=setTimeout(i.proxy(function(){var r=this.wrapper.outerHeight();var t=this.wrapper.scrollTop();var s=t+r;this._tiles.each(function(){var v=a(this);var u=v+this.offsetHeight;if((v>=t&&v=t&&us){return false}});this._tiles=this._tiles.filter(function(){return !this.loaded})},this),250)},_upload:function(u,q,v){var s=this.fileIndex(q.name);if(s>-1&&!confirm(n.formatString(this._localization.overwriteFile,q.name))){v()}else{this.wrapper.find(".t-tile-empty").remove();var w=i(d(q));if(s>-1){w.data("existing",true);this.wrapper.find("li").eq(s).replaceWith(w)}else{var t=this.wrapper.find("li[data-kind=f]:first");if(t.length){t.before(w)}else{this.wrapper.append(w)}var r=this._data.toArray();r.splice(w.index(),0,{name:q.name,kind:"f"})}this.wrapper.scrollTop(w.attr("offsetTop")-this.element.offsetHeight)}},_nameDirectory:function(){var t="New folder";var s=this._data.where(function(u){return u.kind=="d"&&u.name.indexOf(t)>-1}).select(function(u){return u.name}).toArray();if(i.inArray(t,s)>-1){var r=2;do{var q=t+" ("+r+")";r++}while(i.inArray(q,s)>-1);t=q}return t},_createDirectory:function(u,r){var t=this._nameDirectory();var w=i(p(t));var v=this.wrapper.find("li[data-kind=f]:first");if(v.length){v.before(w)}else{this.wrapper.append(w)}var q=this._data.toArray();var s=w.addClass("t-state-selected").siblings().removeClass("t-state-selected").end().find("input").keydown(function(x){if(x.keyCode==13){this.blur()}}).blur(i.proxy(function(x){var y=i.trim(x.target.value);if(!y||this._data.any(function(z){return z.kind=="d"&&z.name.toLowerCase()==y.toLowerCase()})){y=this._nameDirectory()}q.splice(w.index(),0,{name:y,kind:"d"});i(x.target).replaceWith(""+y+"");r(y)},this));setTimeout(function(){s.select()});this.wrapper.find(".t-tile-empty").remove();this.wrapper.scrollTop(w.attr("offsetTop")-this.element.offsetHeight)},_errorFile:function(u,s){var q=this.fileIndex(s.name);if(q>-1){var r=this.wrapper.find("li").eq(q);if(r.data("existing")){var t=i(h(this._data.toArray()[q]));r.replaceWith(t);b(t[0])}else{r.remove();this._data.toArray().splice(q,1)}this._asEmpty()}},_errorDirectory:function(s,r){var q=this.directoryIndex(r.name);if(q>-1){this.wrapper.find("li").eq(q).remove();this._data.toArray().splice(q,1);this._asEmpty()}},fileIndex:function(q){return this._index("f",q)},directoryIndex:function(q){return this._index("d",q)},_index:function(s,t){var q=-1,r=this._data?this._data.toArray():[];t=t.toLowerCase();i.each(r,function(u,v){if(v.kind==s&&v.name.toLowerCase()==t){q=u;return false}});return q},_raise:function(s,q){var r=i(s.currentTarget);n.trigger(this.wrapper,q,{kind:r.data("kind"),url:r.data("url")})},_click:function(q){i(q.currentTarget).addClass("t-state-selected").siblings().removeClass("t-state-selected");this._raise(q,"t:change")},_dblclick:function(q){if(document.selection&&document.selection.empty){document.selection.empty()}this._raise(q,"t:select")},_refresh:function(t,q,s,r){this.bindTo(q,s,r)},_process:function(s,q,r){var t=this._reader;var q=q.select(function(u){return{url:t.concatPaths(s,t.name(u)),name:t.name(u),kind:"d"}});var r=r.select(function(u){var v=t.name(u);return{url:t.concatPaths(s,v),name:v,kind:"f",thumbUrl:t.thumbUrl(s,v),size:t.size(u)}});return q.concat(r)}};n.dataSource=function(q){this._url=q.url;this._callback=q.callback;this._error=q.error};n.dataSource.prototype={_complete:function(q){if(this._callback){this._callback(q)}},get:function(q){i.ajax({type:"POST",url:this._url,data:q,success:i.proxy(this._complete,this),error:this._error})}};n.breadcrumbs=function(r,s){this.element=r;this.wrapper=i(r);this._gap=s.gap||50;this._initPaths(s.path);var q=new n.dropDown({effects:n.fx.slide.defaults(),onClick:i.proxy(function(t){var u=i(t.item).text();q.close();this._initPaths(u);i(r).val(u).trigger("t:change")},this)});q.dataBind(s.roots);this.wrapper.delegate("input","focus",i.proxy(this._focus,this)).delegate("input","blur",i.proxy(this._blur,this)).delegate("input","keydown",i.proxy(function(t){if(t.keyCode==13){this._blur()}},this)).delegate("a:not(.t-first)","click",n.stopAll(this._click,this)).delegate(".t-select","click",function(){var t=i(r);q.open({offset:t.offset(),outerHeight:t.outerHeight(),outerWidth:t.outerWidth(),zIndex:n.getElementZIndex(this)})}).bind("t:refresh",i.proxy(this.refresh,this));i(document.documentElement).bind("mousedown",function(u){var t=q.$element[0];if(!i.contains(t,u.target)){q.close()}});this.value(s.path)};n.breadcrumbs.prototype={_initPaths:function(q){this._basePath=(q||"").replace(/\/{2,}/g,"/").replace(/\/$/,"");q=this._basePath.split("/");q.pop();this._root=q.join("/")},_html:function(){var r=this._basePath.split("/").length-1;var q=this.value();if(q===o||!q.match(/^\//)){q="/"+(q||"")}return'
      '+i.map(q.split("/"),function(t,s){if(t&&s>=r){return''+t+""}}).join('>')+'
      select
      '},_path:function(q){return this._root+"/"+i.map(q,function(r){return i(r).text()}).join("/")},_update:function(q){q=q.charAt(0)==="/"?q:"/"+q;var r=this.value()!=q;this.value(q);if(r){this.wrapper.trigger("t:change")}},value:function(q){if(q!==o){this.wrapper.val(q.replace(/\/{2,}/g,"/"));this.refresh()}else{return this.wrapper.val()}},_click:function(q){this._update(this._path(i(q.target).prevAll("a").andSelf()))},refresh:function(){this.wrapper.empty().append(this._html());var r=this.wrapper.width()-this._gap;var q=this.wrapper.find("a");q.each(function(t){var s=i(this);if(s.parent().width()>r){if(t==q.length-1){s.width(r)}else{s.prev().andSelf().hide()}}})},_focus:function(){var q=this.wrapper.find(".t-breadcrumbs-wrap").hide().end().find("input").val(this.value());setTimeout(function(){q.select()})},_blur:function(){var q=this.wrapper.find("input").val().replace(/\/{2,}/g,"/");if(!q||q.toLowerCase().indexOf(this._basePath.toLowerCase())<0){q=this._basePath}this._update(q)}};n.searchBox=function(q){this.element=q;this.wrapper=i(q);this.wrapper.delegate("input","focus",i.proxy(this._focus,this)).delegate("input","blur",i.proxy(this._blur,this)).delegate("input","keydown",i.proxy(function(r){if(r.keyCode==13){this._blur()}},this)).delegate("a","click",n.stopAll(this._click,this));this._render()};n.searchBox.prototype={_render:function(){var q='search';this.wrapper.empty().append(i(q))},_focus:function(){this.wrapper.find("label").hide()},_blur:function(){this._update(this.wrapper.find("input").val());if(this.value()==""){this.wrapper.find("label").show()}},_update:function(q){var r=this.value()!=q;this.value(q);if(r){this.wrapper.trigger("t:change")}},value:function(q){if(q!==o){this.wrapper.val(q)}else{return this.wrapper.val()}},_click:function(){this._blur()}}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.list.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.list.min.js deleted file mode 100644 index 741fb2c60..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.list.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e){var a=e.telerik;var b=/\s+/;a.list={htmlBuilder:function(g,f,h){var k,n,l=g.id,m=g.name,o=new a.stringBuilder(),i=e(g);if(h){n=i.find("option:selected").text();k=i.val()}else{n=g.value}function j(){return e(['
      '].join(" "))}this.render=function(){i.wrap(j()).hide();var p=e('
      ').insertBefore(i);this.text({builder:o,text:n,id:l,name:m}).appendTo(p);e('select').appendTo(p);if(h){o.buffer=[];e(o.cat('").string()).insertAfter(p)}};this.text=function(p){return e(['',p.text||" ",""].join(""))}},initialize:function(){this.previousValue=this.value();a.bind(this,{dataBinding:this.onDataBinding,dataBound:this.onDataBound,error:this.onError,open:this.onOpen,close:this.onClose,valueChange:this.onChange,load:this.onLoad})},common:function(){this.open=function(){if(!this.loader.isAjax()&&(!this.data||this.data.length==0)){return}var g=this.$wrapper||this.$element,f=this.dropDown;var h={offset:g.offset(),outerHeight:g.outerHeight(),outerWidth:g.outerWidth(),zIndex:a.getElementZIndex(g[0])};if(f.$items){f.open(h)}else{this.fill(function(){f.open(h)})}};this.close=function(){this.dropDown.close()};this.dataBind=function(h,f){this.data=h=(h||[]);var l=-1,j=!!this.loader.isAjax();for(var g=0,k=h.length;g-1&&j0){m.filters[k](m,f,j);var g=m.filteredDataIndexes;if((g&&g.length>0)||(k==0&&m.selectedIndex!=-1)){s=false}}if(s){var p={};p[m.queryString.text]=j;m.loader.ajaxRequest(function(w){var v=m.trigger;var x=m.dropDown;if(w&&w.length==0){x.close();x.dataBind();return}if(m.encoded&&!m.onDataBinding){for(var t=0,y=w.length;t0){if(!x.isOpened()){v.open()}m.filtering.autoFill(m,u.first().text())}else{v.close()}},{data:p})}}else{s=false;m.filters[k](m,m.data,j)}if(!s){var r=l.$items;if(!r){return}var h=r.length,i=m.selectedIndex;var n=k==0?i!=-1?r[i].innerText||r[i].textContent:"":r.length>0?r.first().text():"";this.autoFill(m,n);if(h==0){o.close()}else{if(!l.isOpened()){o.open()}}}};this.multiple=function(f){return f}},filters:function(){this.filters=[function f(g,k,n){if(!k||k.length==0){return}var l=g.dropDown;var j=l.$items;if(!j||j.length==0||g.loader.isAjax()){l.dataBind(k);j=l.$items}for(var h=0,m=k.length;h .t-dropdown-wrap .t-icon").addClass("t-loading")},this),100)},this.hideBusy=function(){clearTimeout(this.busyTimeout);this.component.$wrapper.find("> .t-dropdown-wrap .t-icon").removeClass("t-loading")}},trigger:function(f){this.component=f;this.change=function(){var g=f.previousValue;var h=f.value();if(g==undefined||h!=g){a.trigger(f.element,"valueChange",{value:h})}f.previousValue=h};this.open=function(){var g=f.dropDown;if((g.$items&&g.$items.length>0)&&!g.isOpened()&&!a.trigger(f.element,"open")){f.open()}};this.close=function(){if(!f.dropDown.$element.is(":animated")&&f.dropDown.isOpened()&&!a.trigger(f.element,"close")){f.close()}}},retrieveData:function(l){var k=[];var h=e(l).find("option");for(var f=0,g=h.length;f]*)("+l.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)",f?"ig":"i");h.filteredDataIndexes=j;h.selectedIndex=-1;h.dropDown.onItemCreate=function(n){if(l){n.html=n.html.replace(m,"$1")}};h.dropDown.dataBind(e.map(j,function(o,n){return k[o]}));var i=h.dropDown.$items;i.removeClass("t-state-selected");a.list.highlightFirstOnFilter(h,i)}}function c(f,h,k){if(!f||!h){return null}var l=k.length;k=k.toLowerCase();for(var g=0,j=f.length;g .t-dropdown-wrap > .t-input");if(!this.$wrapper.attr("tabIndex")){this.$wrapper.attr("tabIndex",0)}this.dropDown=new a.dropDown({attr:this.dropDownAttr,effects:this.effects,onClick:e.proxy(function(n){this.select(n.item);this.trigger.change();this.trigger.close();this.$wrapper.focus()},this)});this.dropDown.$element.css("direction",this.$wrapper.closest(".t-rtl").length?"rtl":"");this.fill=function(q){function p(s){var r,u=s.selectedValue||s.value();if(u){r=function(x){return u==(x.Value||x.Text)}}else{var t=s.dropDown.$items,v=s.index,w=t.filter(".t-state-selected").length;r=v!=-1&&v0?w-1:0}s.select(r)}var n=this.dropDown,o=this.loader;if(!n.$items&&!o.ajaxError){if(o.isAjax()){o.ajaxRequest(function(r){this.dataBind(r);p(this);a.trigger(this.element,"dataBound");this.trigger.change();if(q){q()}})}else{this.dataBind(this.data);p(this);if(q){q()}}}};this.enable=function(){this.$wrapper.removeClass("t-state-disabled").bind({keydown:e.proxy(k,this),keypress:e.proxy(l,this),click:e.proxy(function(p){var o=this.trigger;var n=this.dropDown;this.$wrapper.focus();if(n.isOpened()){o.close()}else{if(!n.$items){this.fill(o.open)}else{o.open()}}},this)})};this.disable=function(){this.$wrapper.addClass("t-state-disabled").unbind()};this.reload=function(){this.dropDown.$items=null;this.fill()};this.select=function(o){var n=this.highlight(o);if(n==-1){return n}this.selectedIndex=n;a.list.updateTextAndValue(this,this.data[n].Text,this.data[n].Value)};this.text=function(n){if(n!==undefined){this.$text.html(n&&n.replace(b,"")?n:"  ")}else{return this.$text.html()}};this.value=function(o){if(o!==undefined){var n=this.select(function(p){return o==p.Value});if(n==-1){n=this.select(function(p){return o==p.Text})}if(n!=-1){this.previousValue=o}}else{return this.$element.val()}};a.list.common.call(this);a.list.initialize.call(this);e(document.documentElement).bind("mousedown",e.proxy(function(p){var n=this.dropDown.$element;var o=n&&n.parent().length>0;if(e.contains(this.$wrapper[0],p.target)||(o&&e.contains(n.parent()[0],p.target))){return}this.trigger.change();this.trigger.close()},this));this[this.enabled?"enable":"disable"]();function j(){clearTimeout(this.timeout);this.timeout=setTimeout(e.proxy(function(){i=""},this),1000)}function k(t){var q=this.trigger;var o=this.dropDown;var r=t.keyCode||t.which;if(t.altKey&&r==38){q.close();return}if(t.altKey&&r==40){q.open();return}if(r>34&&r<41){t.preventDefault();if(!o.$items){this.fill();return}var p=o.$items,s=e(p[this.selectedIndex]);var n=(r==35)?p.last():(r==36)?p.first():(r==37||r==38)?s.prev():(r==39||r==40)?s.next():[];if(n.length){var u=n[0];this.select(u);o.scrollTo(u);if(!o.isOpened()){q.change()}}}if(r==8){j();t.preventDefault();i=i.slice(0,-1)}if(r==9||r==13||r==27){q.change();q.close()}}function l(r){var n=this.dropDown;var o=r.keyCode||r.charCode;if(o==0||e.inArray(o,a.list.keycodes)!=-1||r.ctrlKey||r.altKey||r.shiftKey){return}if(!n.$items){this.fill();return}var p=i;p+=String.fromCharCode(o);if(p){var q=c(this.data,n.$items,p);if(q){this.select(q);n.scrollTo(q)}i=p}j()}};e.fn.tDropDownList=function(f){return a.create(this,{name:"tDropDownList",init:function(g,h){return new a.dropDownList(g,h)},options:f})};e.fn.tDropDownList.defaults={effects:a.fx.slide.defaults(),accessible:false,index:0,enabled:true,encoded:true}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.menu.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.menu.min.js deleted file mode 100644 index 745beba2c..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.menu.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(d){var a=d.telerik;a.menu=function(e,f){this.element=e;this.nextItemZIndex=100;d.extend(this,f);d(".t-item:not(.t-state-disabled)",e).live("mouseenter",a.delegate(this,this.mouseenter),true).live("mouseleave",a.delegate(this,this.mouseleave),true).live("click",a.delegate(this,this.click));d(".t-item").live("click",a.delegate(this,this.click));d(".t-item:not(.t-state-disabled) > .t-link",e).live("mouseenter",a.hover).live("mouseleave",a.leave);d(document).click(a.delegate(this,this.documentClick));a.bind(this,{select:this.onSelect,open:this.onOpen,close:this.onClose,load:this.onLoad})};function b(e){var f=e.parent();return{direction:f.hasClass("t-menu")?f.hasClass("t-menu-vertical")?"right":"bottom":"right"}}function c(f,g){try{return d.contains(f,g)}catch(h){return false}}a.menu.prototype={toggle:function(f,e){d(f).each(function(){d(this).toggleClass("t-state-default",e).toggleClass("t-state-disabled",!e)})},enable:function(e){this.toggle(e,true)},disable:function(e){this.toggle(e,false)},open:function(f){var e=this;d(f).each(function(){var g=d(this);clearTimeout(g.data("timer"));g.data("timer",setTimeout(function(){var h=g.find(".t-group:first");if(h.length){a.fx.play(e.effects,h,b(g));g.css("z-index",e.nextItemZIndex++)}},100))})},close:function(f){var e=this;d(f).each(function(h,i){var g=d(i);clearTimeout(g.data("timer"));g.data("timer",setTimeout(function(){var j=g.find(".t-group:first");if(j.length){a.fx.rewind(e.effects,j,b(g),function(){g.css("zIndex","");if(d(e.element).find(".t-group:visible").length==0){e.nextItemZIndex=100}});j.find(".t-group").stop(false,true)}},100))})},mouseenter:function(i,h){var g=d(h);if(!this.openOnClick||this.clicked){if(!c(h,i.relatedTarget)){this.triggerEvent("open",g);this.open(g);var f=g.parent().closest(".t-item")[0];if(f&&!c(f,i.relatedTarget)){this.mouseenter(i,f)}}}if(this.openOnClick&&this.clicked){this.triggerEvent("close",g);g.siblings().each(d.proxy(function(j,e){this.close(d(e))},this))}},mouseleave:function(i,h){if(!this.openOnClick&&!c(h,i.relatedTarget)){var g=d(h);this.triggerEvent("close",g);this.close(g);var f=g.parent().closest(".t-item")[0];if(f&&!c(f,i.relatedTarget)){this.mouseleave(i,f)}}},click:function(h,g){h.stopPropagation();var f=d(g);if(f.hasClass("t-state-disabled")){h.preventDefault();return}a.trigger(this.element,"select",{item:f[0]});if(!f.parent().hasClass("t-menu")||!this.openOnClick){return}h.preventDefault();this.clicked=true;this.triggerEvent("open",f);this.open(f)},documentClick:function(g,f){if(d.contains(this.element,g.target)){return}if(this.clicked){this.clicked=false;d(this.element).children(".t-item").each(d.proxy(function(e,h){this.close(d(h))},this))}},hasChildren:function(e){return e.find(".t-group:first").length},triggerEvent:function(e,f){if(this.hasChildren(f)){a.trigger(this.element,e,{item:f[0]})}}};d.fn.tMenu=function(e){return a.create(this,{name:"tMenu",init:function(f,g){return new a.menu(f,g)},options:e})};d.fn.tMenu.defaults={orientation:"horizontal",effects:a.fx.slide.defaults(),openOnClick:false}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.panelbar.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.panelbar.min.js deleted file mode 100644 index 641357aec..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.panelbar.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(c){var a=c.telerik,b={single:0,multi:1};c.extend(a,{panelbar:function(f,g){this.element=f;c.extend(this,g);var h=c(f),e=h.find("li.t-state-active > .t-content"),d=".t-item:not(.t-state-disabled) > .t-link";h.delegate(d,"click",c.proxy(this._click,this)).delegate(d,"mouseenter",a.hover).delegate(d,"mouseleave",a.leave).delegate(".t-item.t-state-disabled > .t-link","click",a.preventDefault);a.bind(this,{expand:this.onExpand,collapse:this.onCollapse,select:c.proxy(function(i){if(i.target==this.element&&this.onSelect){this.onSelect(i)}},this),error:this.onError,load:this.onLoad});if(this.contentUrls){h.find("> .t-item").each(c.proxy(function(i,j){c(j).find(".t-link").data("ContentUrl",this.contentUrls[i])},this))}if(e.length>0&&e.is(":empty")){this.expand(e.parent())}}});a.panelbar.prototype={expand:function(d){c(d).each(c.proxy(function(f,g){var e=c(g);if(!e.hasClass(".t-state-disabled")&&e.find("> .t-group, > .t-content").length>0){if(this.expandMode==b.single&&this._collapseAllExpanded(e)){return}this._toggleItem(e,false,null)}},this))},collapse:function(d){c(d).each(c.proxy(function(f,g){var e=c(g);if(!e.hasClass(".t-state-disabled")&&e.find("> .t-group, > .t-content").is(":visible")){this._toggleItem(e,true,null)}},this))},toggle:function(e,d){c(e).each(function(){c(this).toggleClass("t-state-default",d).toggleClass("t-state-disabled",!d)})},enable:function(d){this.toggle(d,true)},disable:function(d){this.toggle(d,false)},_click:function(m){var f=c(m.target),g=this.element;if(f.closest(".t-widget")[0]!=g){return}var d=f.closest(".t-link"),j=d.closest(".t-item");c(".t-state-selected",g).removeClass("t-state-selected");d.addClass("t-state-selected");if(a.trigger(g,"select",{item:j[0]})){m.preventDefault()}var l=j.find("> .t-content, > .t-group"),h=d.attr("href"),k=d.data("ContentUrl")||(h&&(h.charAt(h.length-1)=="#"||h.indexOf("#"+g.id+"-")!=-1));if(k||l.length>0){m.preventDefault()}else{return}if(this.expandMode==b.single){if(this._collapseAllExpanded(j)){return}}if(l.length!=0){var i=l.is(":visible");if(!a.trigger(g,!i?"expand":"collapse",{item:j[0]})){this._toggleItem(j,i,m)}}},_toggleItem:function(f,h,i){var j=f.find("> .t-group");if(j.length){this._toggleGroup(j,h);if(i!=null){i.preventDefault()}}else{var g=f.parent().children().index(f),d=f.find("> .t-content");if(d.length){if(i!=null){i.preventDefault()}if(!d.is(":empty")){this._toggleGroup(d,h)}else{this._ajaxRequest(f,d,h)}}}},_toggleGroup:function(d,e){if(d.data("animating")){return}d.data("animating",true).parent().toggleClass("t-state-default",e).toggleClass("t-state-active",!e).find("> .t-link > .t-icon").toggleClass("t-arrow-up",!e).toggleClass("t-panelbar-collapse",!e).toggleClass("t-arrow-down",e).toggleClass("t-panelbar-expand",e);a.fx[!e?"play":"rewind"](this.effects,d,null,function(){d.data("animating",false)})},_collapseAllExpanded:function(d){if(d.find("> .t-link").hasClass("t-header")){if(d.find("> .t-content, > .t-group").is(":visible")||d.find("> .t-content, > .t-group").length==0){return true}else{c(this.element).children().find("> .t-content, > .t-group").filter(function(){return c(this).is(":visible")}).each(c.proxy(function(f,e){this._toggleGroup(c(e),true)},this))}}},_ajaxRequest:function(f,d,h){var i=f.find(".t-panelbar-collapse, .t-panelbar-expand"),e=f.find(".t-link"),g=setTimeout(function(){i.addClass("t-loading")},100),j={};c.ajax({type:"GET",cache:false,url:e.data("ContentUrl")||e.attr("href"),dataType:"html",data:j,error:c.proxy(function(l,k){if(a.ajaxError(this.element,"error",l,k)){return}},this),complete:function(){clearTimeout(g);i.removeClass("t-loading")},success:c.proxy(function(k,l){d.html(k);this._toggleGroup(d,h)},this)})}};c.fn.tPanelBar=function(d){return a.create(this,{name:"tPanelBar",init:function(e,f){return new a.panelbar(e,f)},options:d})};c.fn.tPanelBar.defaults={effects:a.fx.property.defaults("height")}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.slider.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.slider.min.js deleted file mode 100644 index 740e8343d..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.slider.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(f){var k=f.telerik;k.slider=function(n,o){var p=f(n);this.element=n;o.distance=o.maxValue-o.minValue;f.extend(this,o);o.position=this.orientation=="horizontal"?"left":"bottom";o.size=this.orientation=="horizontal"?"width":"height";o.orientation=this.orientation;j(n,o);this.wrapper=p.closest(".t-slider");this.trackDiv=this.wrapper.find(".t-slider-track");k.slider.setTrackDivWidth(this.wrapper,o);this.maxSelection=this.trackDiv[o.size]();var l=this.maxSelection/((this.maxValue-this.minValue)/this.smallStep);if(o.tickPlacement!="none"&&l>=2){this.trackDiv.before(a(o));k.slider.setItemsWidth(this.wrapper,this.trackDiv,o);k.slider.setItemsTitle(this.wrapper,o);k.slider.setItemsLargeTick(this.wrapper,o)}else{this.pixelStepsArray=k.slider.getPixelSteps(this.trackDiv,o)}var m={element:n,dragHandle:this.wrapper.find(".t-draghandle"),orientation:o.orientation,size:o.size,position:o.position,owner:this};this._setValueInRange(o.val);this[o.enabled?"enable":"disable"]();new k.slider.Selection(m);new k.slider.Drag(m);this.keyMap={37:g(o.smallStep),40:g(o.smallStep),39:h(o.smallStep),38:h(o.smallStep),35:d(o.maxValue),36:d(o.minValue),33:h(o.largeStep),34:g(o.largeStep)};k.bind(this,{slide:this.onSlide,change:this.onChange,load:this.onLoad})};f.extend(k.slider,{setTrackDivWidth:function(n,o){var m=n.find(".t-slider-track");var l=parseFloat(m.css(o.position),10)*2;m[o.size]((n[o.size]()-2)-l)},setItemsWidth:function(t,p,m){var l=Math.floor(m.distance/m.smallStep),r=t.find(".t-tick"),q=0,s=p[m.size]();var o=this.calculateItemsWidth(t,m,l);if(m.orientation=="horizontal"){for(var n=0;n=0;l--){f(p[l]).attr("title",k.formatString(o.tooltip.format||"{0}",parseFloat(m.toFixed(3),10)));m+=o.smallStep}}},setItemsLargeTick:function(q,n){if((1000*n.largeStep)%(1000*n.smallStep)==0){var p=q.find(".t-tick"),o={},l=parseFloat((n.largeStep/n.smallStep).toFixed(3),10);if(n.orientation=="horizontal"){for(var m=0;m").html(o.attr("title")))}}else{for(var m=p.length-1;m>=0;m=parseFloat((m-l).toFixed(3),10)){o=f(p[m]);o.addClass("t-tick-large").html(f("").html(o.attr("title")));if(m!=0&&m!=p.length-1){o.css("line-height",o[n.size]()+"px")}}}}},calculateItemsWidth:function(s,n,m){var r=parseFloat(s.find(".t-slider-track").css(n.size))+1,o=r/n.distance;if((n.distance/n.smallStep)-Math.floor(n.distance/n.smallStep)>0){r-=((n.distance%n.smallStep)*o)}var l=r/m,q=new Array();for(var p=0;p=r){while(p>l){p-=l;m+=q.smallStep}}return parseFloat((q.minValue+m).toFixed(3))},getDragableArea:function(m,n,l){var p=m.offset().left,o=m.offset().top;return{startPoint:l=="horizontal"?p:o+n,endPoint:l=="horizontal"?p+n:o}},fixDragHandlePosition:function(q,r,m){var o=q-m.owner.minValue,n=0;if(q==m.owner.minValue||q==m.owner.maxValue){if(q==m.owner.maxValue){n=m.owner.maxSelection}}else{var p=parseInt(((m.orientation=="horizontal"?o:m.owner.maxValue-q)/m.owner.smallStep).toFixed(3)),u=f(r.find(".t-tick")[p]),s=u[m.size]()/2,t=u.offset(),l=k.slider.getDragableArea(m.owner.trackDiv,m.owner.maxSelection,m.orientation);if(m.orientation=="horizontal"){n=t.left-l.startPoint+s}else{n=(l.startPoint-(t.top+s))+1;if(!f.browser.mozilla){n+=(n-Math.floor(n))>0?1:0}}}return n}});function h(l){return function(m){return m+l}}function g(l){return function(m){return m-l}}function d(l){return function(){return l}}k.slider.prototype={enable:function(){this.wrapper.removeAttr("disabled").removeClass("t-state-disabled").addClass("t-state-default");var l=f.proxy(function(p){var o=this.orientation=="horizontal"?p.pageX:p.pageY,n=k.slider.getDragableArea(this.trackDiv,this.maxSelection,this.orientation);this._update(k.slider.getValueFromPosition(o,n,this))},this);this.wrapper.find(".t-tick").bind("click",l).end().find(".t-slider-track").bind("click",l);if(this.showButtons){var m=f.proxy(function(n,o){if(n.which==1){this._setValueInRange(this.val+(o*this.smallStep));this.timeout=setTimeout(f.proxy(function(){this.timer=setInterval(f.proxy(function(){this._setValueInRange(this.val+(o*this.smallStep))},this),60)},this),200)}},this);this.wrapper.find(".t-button").unbind("mousedown").unbind("mouseup").bind("mouseup",f.proxy(function(n){this._clearTimer()},this)).unbind("mouseover").bind("mouseover",function(n){f(n.currentTarget).addClass("t-state-hover")}).unbind("mouseout").bind("mouseout",f.proxy(function(n){f(n.currentTarget).removeClass("t-state-hover");this._clearTimer()},this)).eq(0).bind("mousedown",f.proxy(function(n){m(n,1)},this)).end().eq(1).bind("mousedown",f.proxy(function(n){m(n,-1)},this))}this.wrapper.find(".t-draghandle").bind({keydown:f.proxy(this._keydown,this)});this.enabled=true},disable:function(){this.wrapper.attr("disabled","disabled").removeClass("t-state-default").addClass("t-state-disabled");var l=k.preventDefault;this.wrapper.find(".t-button").unbind("mousedown").bind("mousedown",l).unbind("mouseup").bind("mouseup",l).unbind("mouseleave").bind("mouseleave",l).unbind("mouseover").bind("mouseover",l);this.wrapper.find(".t-tick").unbind("click").end().find(".t-slider-track").unbind("click");this.wrapper.find(".t-draghandle").unbind("keydown").bind("keydown",l);this.enabled=false},_update:function(l){var m=this.value()!=l;this.value(l);if(m){k.trigger(this.element,"change",{value:this.val})}},value:function(l){l=parseFloat(parseFloat(l,10).toFixed(3),10);if(isNaN(l)){return this.val}if(l>=this.minValue&&l<=this.maxValue){if(this.val!=l){f(this.element).val(l);this.val=l;this.refresh()}}},refresh:function(){k.trigger(this.element,"t:moveSelection",{value:this.val})},_clearTimer:function(l){clearTimeout(this.timeout);clearInterval(this.timer)},_keydown:function(l){if(l.keyCode in this.keyMap){this._setValueInRange(this.keyMap[l.keyCode](this.val));l.preventDefault()}},_setValueInRange:function(l){l=parseFloat(parseFloat(l,10).toFixed(3),10);if(isNaN(l)){this._update(this.minValue);return}l=Math.max(l,this.minValue);l=Math.min(l,this.maxValue);this._update(l)}};k.slider.Selection=function(n){var o=f(n.element);function m(s){var r=s-n.owner.minValue,t=n.owner.wrapper.find(".t-slider-items"),p=0,q=0;if(t.length!=0){q=k.slider.fixDragHandlePosition(s,t,n)}else{if(n.owner.pixelStepsArray.length==0){q=0}else{while(r>0){r=parseFloat((r-n.owner.smallStep).toFixed(5),10);q+=n.owner.pixelStepsArray[p];p++}}}var v=n.owner.trackDiv.find(".t-slider-selection"),u=parseInt(n.dragHandle[n.size]()/2,10)+1;v[n.size](q);n.dragHandle.css(n.position,q-u)}m(parseFloat(o.val(),10));var l=function(p){m(parseFloat(p.value,10))};o.bind({change:l,slide:l,"t:moveSelection":l})};k.slider.Drag=function(m){m.dragHandleSize=m.dragHandle[m.size]();f.extend(this,m);var l="";switch(m.type){case"leftHandle":l=".t-draghandle:first";break;case"rightHandle":l=".t-draghandle:last";break;default:l=".t-draghandle";break}new k.draggable({distance:0,owner:m.owner.wrapper[0],selector:l,scope:m.element.id,start:f.proxy(this.start,this),drag:f.proxy(this.drag,this),stop:f.proxy(this.stop,this)})};k.slider.Drag.prototype={start:function(o){if(!this.owner.enabled){return false}f(this.element).unbind("mouseover");this.val=parseFloat(f(this.element).val());this.dragableArea=k.slider.getDragableArea(this.owner.trackDiv,this.owner.maxSelection,this.orientation);this.step=Math.max(this.owner.smallStep*(this.owner.maxSelection/this.owner.distance),0);this.selectionStart=this.owner.selectionStart;this.selectionEnd=this.owner.selectionEnd;this.oldVal=this.val;this.format=this.owner.tooltip.format||"{0}";if(this.type){this.owner._setZIndex(this.type)}if(this.owner.tooltip.enabled){this.tooltipDiv=f("
      ").appendTo(document.body);if(this.type){var m=k.formatString(this.format,this.selectionStart),l=k.formatString(this.format,this.selectionEnd);this.tooltipDiv.html(m+" - "+l)}else{var n="t-callout-";if(this.orientation=="horizontal"){if(this.owner.tickPlacement=="topLeft"){n+="n"}else{n+="s"}}else{if(this.owner.tickPlacement=="topLeft"){n+="w"}else{n+="e"}}this.tooltipInnerDiv="
      ";this.tooltipDiv.html(k.formatString(this.owner.tooltip.format||"{0}",this.val)+this.tooltipInnerDiv)}this.moveTooltip(this.tooltipDiv)}},drag:function(n){if(this.orientation=="horizontal"){this.val=this.horizontalDrag(n)}else{this.val=this.verticalDrag(n)}if(this.oldVal!=this.val){this.oldVal=this.val;if(this.type){if(this.type=="leftHandle"){if(this.valthis.selectionStart){this.selectionEnd=this.val}else{this.selectionStart=this.selectionEnd=this.val}}k.trigger(this.element,"slide",{values:[this.selectionStart,this.selectionEnd]});if(this.owner.tooltip.enabled){var m=k.formatString(this.format,this.selectionStart),l=k.formatString(this.format,this.selectionEnd);this.tooltipDiv.html(m+" - "+l)}}else{k.trigger(this.element,"slide",{value:this.val});if(this.owner.tooltip.enabled){this.tooltipDiv.html(k.formatString(this.format,this.val)+this.tooltipInnerDiv)}}if(this.owner.tooltip.enabled){this.moveTooltip(this.tooltipDiv)}}},stop:function(l){if(l.keyCode==27){this.owner.refresh()}else{if(this.type){this.owner._update(this.selectionStart,this.selectionEnd)}else{this.owner._update(this.val)}}if(this.owner.tooltip.enabled){this.tooltipDiv.remove()}f(this.element).bind("mouseover");return false},moveTooltip:function(r){var q=0,o=0;if(this.type){var n=this.owner.wrapper.find(".t-draghandle"),m=n.eq(0).offset(),s=n.eq(1).offset();if(this.orientation=="horizontal"){q=s.top;o=m.left+((s.left-m.left)/2)}else{q=m.top+((s.top-m.top)/2);o=s.left}}else{var p=this.dragHandle.offset();q=p.top;o=p.left}var l=r[this.size]()/2;if(this.orientation=="horizontal"){o-=l;if(this.owner.tickPlacement!="topLeft"){q-=35}else{q+=33}}else{q-=l;if(this.owner.tickPlacement!="topLeft"){o-=r.width()+23}else{o+=31}}r.css({top:q,left:o})},horizontalDrag:function(l){var m=0;if(this.dragableArea.startPoint=this.dragableArea.endPoint){m=this.owner.maxValue}else{m=this.owner.minValue}}return m},verticalDrag:function(l){var m=0;if(this.dragableArea.startPoint>l.pageY&&l.pageY>this.dragableArea.endPoint){m=k.slider.getValueFromPosition(l.pageY,this.dragableArea,this.owner)}else{if(l.pageY<=this.dragableArea.endPoint){m=this.owner.maxValue}else{m=this.owner.minValue}}return m}};function b(m,l){var n=f(l),q=m.orientation=="horizontal"?" t-slider-horizontal":" t-slider-vertical",o;if(m.tickPlacement=="bottomRight"){o=" t-slider-bottomright"}else{if(m.tickPlacement=="topLeft"){o=" t-slider-topleft"}}var p=m.style?m.style:n.attr("style");return new k.stringBuilder().cat("
      ").cat("
      ").string()}function c(o,n){var m,l=o.orientation=="horizontal";if(n=="increase"){m=l?"t-arrow-next":"t-arrow-up"}else{m=l?"t-arrow-prev":"t-arrow-down"}return new k.stringBuilder().cat("").cat(o[n+"ButtonTitle"]).cat("").string()}function a(l){return new k.stringBuilder().cat("
        ").rep("
      •  
      • ",(Math.floor((l.distance/l.smallStep).toFixed(3),10)+1)).cat("
      ").string()}function e(l){var m=l.is("input")?1:2;return new k.stringBuilder().cat("
      ").cat("
      ").cat("Drag").catIf("Drag",m>1).cat("
      ").string()}function j(l,m){var n=f(l);n.val(m.val);n.wrap(b(m,l)).hide();if(m.showButtons){n.before(c(m,"increase")).before(c(m,"decrease"))}n.before(e(n))}f.fn.tSlider=function(l){return k.create(this,{name:"tSlider",init:function(m,n){return new k.slider(m,n)},options:l})};f.fn.tSlider.defaults={enabled:true,minValue:0,maxValue:10,val:0,smallStep:1,largeStep:5,showButtons:true,increaseButtonTitle:"Increase",decreaseButtonTitle:"Decrease",orientation:"horizontal",tickPlacement:"both",tooltip:{enabled:true,format:"{0}"}};k.rangeSlider=function(l,m){var n=f(l);this.element=l;m.distance=m.maxValue-m.minValue;f.extend(this,m);m.position=this.orientation=="horizontal"?"left":"bottom";m.size=this.orientation=="horizontal"?"width":"height";j(l,m);this.wrapper=n.closest(".t-slider");this.trackDiv=this.wrapper.find(".t-slider-track");k.slider.setTrackDivWidth(this.wrapper,m);this.maxSelection=this.trackDiv[m.size]();var o=this.maxSelection/((this.maxValue-this.minValue)/this.smallStep);if(m.tickPlacement!="none"&&o>=2){this.trackDiv.before(a(m));k.slider.setItemsWidth(this.wrapper,this.trackDiv,m);k.slider.setItemsTitle(this.wrapper,m);k.slider.setItemsLargeTick(this.wrapper,m)}else{this.pixelStepsArray=k.slider.getPixelSteps(this.trackDiv,m)}this._correctValues(this.selectionStart,this.selectionEnd);var q={element:l,type:"leftHandle",dragHandle:this.wrapper.find(".t-draghandle:first"),orientation:m.orientation,size:m.size,position:m.position,owner:this};new k.slider.Drag(q);new k.rangeSlider.Selection(q);var p={element:l,type:"rightHandle",dragHandle:this.wrapper.find(".t-draghandle:last"),orientation:m.orientation,size:m.size,position:m.position,owner:this};new k.slider.Drag(p);this[m.enabled?"enable":"disable"]();this.keyMap={37:g(m.smallStep),40:g(m.smallStep),39:h(m.smallStep),38:h(m.smallStep),35:d(m.maxValue),36:d(m.minValue),33:h(m.largeStep),34:g(m.largeStep)};k.bind(this,{slide:this.onSlide,change:this.onChange,load:this.onLoad})};k.rangeSlider.prototype={enable:function(){this.wrapper.removeAttr("disabled").removeClass("t-state-disabled").addClass("t-state-default");var l=f.proxy(function(p){var n=this.orientation=="horizontal"?p.pageX:p.pageY,m=k.slider.getDragableArea(this.trackDiv,this.maxSelection,this.orientation),o=k.slider.getValueFromPosition(n,m,this);if(othis.selectionEnd){this._setValueInRange(this.selectionStart,o)}else{if(o-this.selectionStart<=this.selectionEnd-o){this._setValueInRange(o,this.selectionEnd)}else{this._setValueInRange(this.selectionStart,o)}}}},this);this.wrapper.find(".t-tick").bind("click",l).end().find(".t-slider-track").bind("click",l);this.wrapper.find(".t-draghandle").eq(0).bind({keydown:f.proxy(function(m){this._keydown(m,true)},this)}).end().eq(1).bind({keydown:f.proxy(function(m){this._keydown(m,false)},this)});this.enabled=true},disable:function(){this.wrapper.attr("disabled","disabled").removeClass("t-state-default").addClass("t-state-disabled");this.wrapper.find(".t-tick").unbind("click").end().find(".t-slider-track").unbind("click");this.wrapper.find(".t-draghandle").unbind("keydown").bind("keydown",k.preventDefault);this.enabled=false},_keydown:function(o,l){var n=this.selectionStart,m=this.selectionEnd;if(o.keyCode in this.keyMap){if(l){n=this.keyMap[o.keyCode](n);if(n>m){m=n}}else{m=this.keyMap[o.keyCode](m);if(m=this.minValue&&m<=this.maxValue&&l>=this.minValue&&l<=this.maxValue&&m<=l){if(this.selectionStart!=m||this.selectionEnd!=l){f(this.element).find("input").eq(0).val(m).end().eq(1).val(l);this.selectionStart=m;this.selectionEnd=l;this.refresh()}}},refresh:function(){k.trigger(this.element,"t:moveSelection",{values:[this.selectionStart,this.selectionEnd]});if(this.selectionStart==this.maxValue&&this.slectionEnd==this.maxValue){this._setZIndex("leftHandle")}},_setValueInRange:function(l,m){l=Math.max(l,this.minValue);l=Math.min(l,this.maxValue);m=Math.max(m,this.minValue);m=Math.min(m,this.maxValue);if(this.selectionStart==this.maxValue&&this.slectionEnd==this.maxValue){this._setZIndex("leftHandle")}this._update(l,m)},_correctValues:function(m,l){if(m>=l){this._setValueInRange(l,m)}else{this._setValueInRange(m,l)}},_setZIndex:function(n){var p=this.wrapper.find(".t-draghandle"),l=p.eq(0),o=p.eq(1),m="z-index";if(n=="leftHandle"){l.css(m,"1");o.css(m,"")}else{l.css(m,"");o.css(m,"1")}}};k.rangeSlider.Selection=function(p){function o(s){var x=s[0]-p.owner.minValue,w=s[1]-p.owner.minValue,u=p.owner.wrapper.find(".t-slider-items"),t=0,v=0,r=0;if(u.length!=0){t=k.slider.fixDragHandlePosition(s[0],u,p);v=k.slider.fixDragHandlePosition(s[1],u,p)}else{while(x>0){x=parseFloat((x-p.owner.smallStep).toFixed(5),10);t+=p.owner.pixelStepsArray[r];r++}r=0;while(w>0){w=parseFloat((w-p.owner.smallStep).toFixed(5),10);v+=p.owner.pixelStepsArray[r];r++}}var q=p.owner.wrapper.find(".t-draghandle");var y=parseInt(q.eq(0)[p.size]()/2,10)+1;q.eq(0).css(p.position,t-y).end().eq(1).css(p.position,v-y);m(t,v)}function m(t,r){var s=0,u=0;if(t");f.ajax(this.ajaxOptions(k,{url:j||l.contentUrl}))}},resize:function(){var v=this.$element,C=v.children(":not(.t-splitbar)"),k=this.orientation=="horizontal",q=v.children(".t-splitbar").length,z=k?"width":"height",D=v[z]();if(q===0){q=C.length-1;for(var l=0;l")}return this};t.cat("
      ").catIconIf("t-collapse-prev",n.collapsible&&!n.collapsed).catIconIf("t-expand-prev",n.collapsible&&n.collapsed).catIconIf("t-resize-handle",s).catIconIf("t-collapse-next",o.collapsible&&!o.collapsed).catIconIf("t-expand-next",o.collapsible&&o.collapsed).cat("
      ");j.after(t.string())}}D-=h*q;var y=0,x=0,p=f();C.css({position:"absolute",top:0})[z](function(){var E=f(this).data("pane"),F;if(E.collapsed){F=0}else{if(c(E.size)){p=p.add(this);return}else{F=parseInt(E.size,10);if(b(E.size)){F=Math.floor(F*D/100)}}}x++;y+=F;return F});D-=y;var u=p.length,B=Math.floor(D/u);p.slice(0,u-1).css(z,B).end().eq(u-1).css(z,D-(u-1)*B);var w=0,r=k?"height":"width",m=k?"left":"top",A=k?"offsetWidth":"offsetHeight";v.children().css(r,v[r]()).each(function(E,F){F.style[m]=Math.floor(w)+"px";w+=F[A]})}};i.splitter.PaneResizing=function(j){this.owner=j;new i.draggable({distance:0,owner:j.element,selector:".t-splitbar-draggable-horizontal, .t-splitbar-draggable-vertical",scope:j.element.id,start:f.proxy(this.start,this),drag:f.proxy(this.drag,this),stop:f.proxy(this.stop,this)})};i.splitter.PaneResizing.prototype={start:function(x){var l=x.$draggable,o=l.prev(),p=l.next(),m=o.data("pane"),q=p.data("pane"),u=this.owner.orientation==="horizontal",y=u?"width":"height",z=u?"offsetWidth":"offsetHeight",s=u?"height":"width";this.positioningProperty=u?"left":"top";this.mousePositioningProperty=u?"pageX":"pageY";this.previousPane=o;this.nextPane=p;this.initialSplitBarPosition=parseInt(l[0].style[this.positioningProperty]);this.initialMousePosition=x[this.mousePositioningProperty];this.ghostSplitBar=f("
      ").css(s,x.$draggable[s]()).css(this.positioningProperty,this.initialSplitBarPosition).appendTo(this.owner.element);var A=parseInt(o[0].style[this.positioningProperty]),n=parseInt(p[0].style[this.positioningProperty])+p[0][z]-h,w=this.owner.$element.css(y),t=function(C){var B=parseInt(C,10);return(g(C)?B:(w*B)/100)||0},v=t(m.minSize),k=t(m.maxSize)||n-A,j=t(q.minSize),r=t(q.maxSize)||n-A;this.maxSize=Math.min(n-j,A+k);this.minSize=Math.max(A+v,n-r);f(document.body).css("cursor",l.css("cursor"))},drag:function(k){var j=Math.min(this.maxSize,Math.max(this.minSize,this.initialSplitBarPosition+(k[this.mousePositioningProperty]-this.initialMousePosition)));this.ghostSplitBar.toggleClass("t-restricted-size-"+this.owner.orientation,j==this.maxSize||j==this.minSize)[0].style[this.positioningProperty]=j+"px"},stop:function(r){if(r.keyCode!==27){var n=parseInt(this.ghostSplitBar[0].style[this.positioningProperty]),j=this.owner.orientation==="horizontal",p=j?"width":"height",o=j?"offsetWidth":"offsetHeight",k=this.previousPane.data("pane"),q=this.nextPane.data("pane"),l=n-parseInt(this.previousPane[0].style[this.positioningProperty]),t=parseInt(this.nextPane[0].style[this.positioningProperty])+this.nextPane[0][o]-n-h,m=this.owner.$element[p]();m-=h*this.owner.$element.children(".t-splitbar").length;var s=this.owner.$element.children(".t-pane").filter(function(){return c(f(this).data("pane").size)}).length;if(!c(k.size)||s>1){if(c(k.size)){s--}k.size=l+"px"}if(!c(q.size)||s>1){q.size=t+"px"}}this.ghostSplitBar.remove();if(r.keyCode!==27){this.owner.$element.trigger("resize")}f(document.body).css("cursor","");return false}};f.fn.tSplitter=function(j){return i.create(this,{name:"tSplitter",init:function(k,l){return new i.splitter(k,l)},options:j})};f.fn.tSplitter.defaults={orientation:"horizontal"}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.tabstrip.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.tabstrip.min.js deleted file mode 100644 index d6406d7a8..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.tabstrip.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(a){var b=a.telerik;b.tabstrip=function(c,d){this.element=c;var f=a(c);this.$contentElements=f.find("> .t-content");a.extend(this,d);if(this.contentUrls){f.find(".t-tabstrip-items > .t-item").each(a.proxy(function(i,j){a(j).find(".t-link").data("ContentUrl",this.contentUrls[i])},this))}var h=".t-tabstrip-items > .t-item:not(.t-state-disabled)";f.delegate(h,"mouseenter",b.hover).delegate(h,"mouseleave",b.leave).delegate(h,d.activateEvent,b.delegate(this,this._click)).delegate(".t-tabstrip-items > .t-state-disabled .t-link","click",b.preventDefault);b.bind(this,{select:a.proxy(function(i){if(i.target==this.element&&this.onSelect){this.onSelect(i)}},this),contentLoad:this.onContentLoad,error:this.onError,load:this.onLoad});var g=f.find("li.t-state-active"),e=a(this.getContentElement(g.parent().children().index(g)));if(e.length>0&&e[0].childNodes.length==0){this.activateTab(g.eq(0))}};a.extend(b.tabstrip.prototype,{select:function(c){a(c).each(a.proxy(function(e,f){var d=a(f);if(d.is(".t-state-disabled,.t-state-active")){return}this.activateTab(d)},this))},enable:function(c){a(c).addClass("t-state-default").removeClass("t-state-disabled")},disable:function(c){a(c).removeClass("t-state-default").removeClass("t-state-active").addClass("t-state-disabled")},reload:function(d){var c=this;a(d).each(function(){var f=a(this),e=f.find(".t-link").data("ContentUrl");if(e){c.ajaxRequest(f,a(c.getContentElement(f.index())),null,e)}})},_click:function(j,f){var h=a(f),c=h.find(".t-link"),d=c.attr("href"),g=a(this.getContentElement(h.index()));if(h.is(".t-state-disabled,.t-state-active")){j.preventDefault();return}if(b.trigger(this.element,"select",{item:h[0],contentElement:g[0]})){j.preventDefault()}var i=c.data("ContentUrl")||(d&&(d.charAt(d.length-1)=="#"||d.indexOf("#"+this.element.id+"-")!=-1));if(!d||i||(g.length>0&&g[0].childNodes.length==0)){j.preventDefault()}else{return}if(this.activateTab(h)){j.preventDefault()}},activateTab:function(d){var f=d.parent().children().removeClass("t-state-active").addClass("t-state-default").index(d);d.removeClass("t-state-default").addClass("t-state-active");var g=this.$contentElements;if(g.length==0){return false}var j=g.filter(".t-state-active");var e=a(this.getContentElement(f));var h=this;if(e.length==0){j.removeClass("t-state-active");b.fx.rewind(h.effects,j,{});return false}var c=e.is(":empty"),i=function(){e.addClass("t-state-active");b.fx.play(h.effects,e,{})};j.removeClass("t-state-active").stop(false,true);b.fx.rewind(h.effects,j,{},function(){if(d.hasClass("t-state-active")){if(!c){i()}else{h.ajaxRequest(d,e,function(){if(d.hasClass("t-state-active")){i()}})}}});return true},getSelectedTabIndex:function(){return a(this.element).find("li.t-state-active").index()},getContentElement:function(g){if(isNaN(g-0)){return}var c=this.$contentElements,e=new RegExp("-"+(g+1)+"$");for(var d=0,f=c.length;d').prependTo(d)},100);a.ajax({type:"GET",cache:false,url:g||d.data("ContentUrl")||d.attr("href"),dataType:"html",data:c,error:a.proxy(function(l,k){if(b.ajaxError(this.element,"error",l,k)){return}},this),complete:function(){clearTimeout(h);if(i!==null){i.remove()}},success:a.proxy(function(k,l){e.html(k);if(j){j.call(this,e)}b.trigger(this.element,"contentLoad",{item:f[0],contentElement:e[0]})},this)})}});a.fn.tTabStrip=function(c){return b.create(this,{name:"tTabStrip",init:function(d,e){return new b.tabstrip(d,e)},options:c})};a.fn.tTabStrip.defaults={activateEvent:"click",effects:b.fx.toggle.defaults()}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.textbox.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.textbox.min.js deleted file mode 100644 index a93462bb6..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.textbox.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e){var j=e.telerik,a=[8,9,37,38,39,40,46,35,36,44],b=["font-family","font-size","font-stretch","font-style","font-weight","letter-spacing","line-height","color","text-align","text-decoration","text-transform"];function g(m){var p={};for(var l=0,o=b.length;l
      '));if(this.showIncreaseButton){p.cat('Increment')}if(this.showDecreaseButton){p.cat('Decrement')}if(p.buffer.length>0){e(p.string()).insertAfter(m)}}this.$wrapper=m.closest(".t-numerictextbox").find(".t-arrow-up, .t-arrow-down").bind({click:j.preventDefault,dragstart:j.preventDefault}).end().bind({focusin:e.proxy(this._focus,this),focusout:e.proxy(this._blur,this)});this.enabled=!m.is("[disabled]");p.buffer=[];p.cat("[ |").cat(this.groupSeparator).catIf("|"+this.symbol,this.symbol).cat("]");this.replaceRegExp=new RegExp(p.string(),"g");var n=m.attr("value"),o=m.attr("class").replace("t-input","");p.buffer=[];p.cat('
      ').cat(n||(this.enabled?this.text:"")).cat("
      ");this.$text=e(p.string()).insertBefore(m).css(g(m)).click(function(q){k.focus()});this._blur();this[this.enabled?"enable":"disable"]();this.numFormat=this.numFormat===undefined?this.type.charAt(0):this.numFormat;this.step=this.parse(this.step);this.val=this.parse(this.val);this.minValue=this.parse(this.minValue);this.maxValue=this.parse(this.maxValue);this.decimals={"190":".","188":",","110":this.separator};this.value(n||this.val);j.bind(this,{load:this.onLoad,valueChange:this.onChange})};j.textbox.prototype={_paste:function(o){var m=this.$element.val();if(e.browser.msie){var l=this.element.document.selection.createRange().text;var k=window.clipboardData.getData("Text");if(l&&l.length>0){m=m.replace(l,k)}else{m+=k}}if(m=="-"){return true}var n=this.parse(m);if(n||n==0){this._update(n)}},_keydown:function(q){var n=q.keyCode,l=this.$element,p=this.separator,k=l.val();setTimeout(e.proxy(function(){l.toggleClass("t-state-error",!this.inRange(this.parse(l.val()),this.minValue,this.maxValue))},this));var m=this.decimals[n];if(m){if(m==p&&this.digits>0&&k.indexOf(p)==-1){return true}else{q.preventDefault()}}if(n==8||n==46){setTimeout(e.proxy(function(){this._update(this.parse(l.val()))},this));return true}if(n==38||n==40){var o=n==38?1:-1;this._modify(o*this.step);return true}if(n==222){q.preventDefault()}},_keypress:function(m){var l=e(m.target),k=m.keyCode||m.which;if(m.shiftKey&&k!=45){return false}if(k==0||e.inArray(k,a)!=-1||m.ctrlKey||(m.shiftKey&&k==45)){return true}if(((this.minValue!==null?this.minValue<0:true)&&String.fromCharCode(k)=="-"&&j.caretPos(l[0])==0&&l.val().indexOf("-")==-1)||this.inRange(k,48,57)){setTimeout(e.proxy(function(){var n=this.val,o=this.parse(l.val());if(o!=null&&this.digits){o=h(o,this.digits)}if(n!=o){this._value(o);if(j.trigger(this.element,"valueChange",{oldValue:n,newValue:o})){this._value(n)}}},this));return true}m.preventDefault()},_focus:function(){this.$element.css("text-indent","0").css("color",this.$text.css("color"));this.$text.hide()},_blur:function(){this.$element.css("color",this.$element.css("background-color")).removeClass("t-state-error");if(this.enabled){this.$text.show();if(!e.browser.msie){this.$element.css("text-indent","-4444px")}}var k=this.minValue,m=this.maxValue,l=this.parse(this.$element.val());if(l!=null){if(k!=null&&lm){l=m}}l=parseFloat(l.toFixed(this.digits))}this._update(l)},_clearTimer:function(k){clearTimeout(this.timeout);clearInterval(this.timer);clearInterval(this.acceleration)},_stepper:function(m,k){if(m.which==1){var l=this.step;this._modify(k*l);this.timeout=setTimeout(e.proxy(function(){this.timer=setInterval(e.proxy(function(){this._modify(k*l)},this),80);this.acceleration=setInterval(function(){l+=1},1000)},this),200)}},_modify:function(n){var k=this.parse(this.element.value),l=this.minValue,m=this.maxValue;k=k?k+n:n;if(l!==null&&km){k=m}}this._update(parseFloat(k.toFixed(this.digits)))},_update:function(k){var l=this.val;this._value(k);if(l!=k){if(j.trigger(this.element,"valueChange",{oldValue:l,newValue:k})){this._value(l)}}},_value:function(k){var m=(typeof k==="number")?k:this.parse(k),n=this.enabled?this.text:"",l=m===null;if(m!=null){m=parseFloat(m.toFixed(this.digits))}this.val=m;this.$element.val(l?"":this.formatEdit(m));this.$text.html(l?n:this.format(m));if(l){this.$text.addClass("t-state-empty")}else{this.$text.removeClass("t-state-empty")}},enable:function(){var k=this.$wrapper.find(".t-arrow-up, .t-arrow-down"),l=e.proxy(this._clearTimer,this);this.enabled=true;this.$element.removeAttr("disabled");if(!this.val&&this.val!=0){this.$text.addClass("t-state-empty").html(this.text)}else{if(true==e.browser.msie){this.$text.show()}else{this.$element.css("text-indent","-4444px").css("color",this.$element.css("background-color"))}}this.$wrapper.removeClass("t-state-disabled");k.unbind("mouseup").unbind("mouseout").unbind("dblclick").bind({mouseup:l,mouseout:l,dblclick:l});var m="mousedown";k.eq(0).unbind(m).bind(m,e.proxy(function(n){this._stepper(n,1)},this));k.eq(1).unbind(m).bind(m,e.proxy(function(n){this._stepper(n,-1)},this))},disable:function(){this.enabled=false;this.$wrapper.addClass("t-state-disabled").find(".t-icon").unbind("mousedown").bind("mousedown",j.preventDefault);this.$element.attr("disabled","disabled");if(!this.val&&this.val!=0){this.$text.html("")}else{if(true==e.browser.msie){this.$text.hide()}else{this.$element.css("text-indent","-4444px").css("color",this.$element.css("background-color"))}}},value:function(l){if(l===undefined){return this.val}var k=(typeof l==="number")?l:this.parse(l);if(!this.inRange(k,this.minValue,this.maxValue)){k=null}this._value(k)},formatEdit:function(l){var k=this.separator;if(l&&k!="."){l=l.toString().replace(".",k)}return l},format:function(k){return j.textbox.formatNumber(k,this.numFormat,this.digits,this.separator,this.groupSeparator,this.groupSize,this.positive,this.negative,this.symbol,true)},inRange:function(m,k,l){return m===null||((k!==null?m>=k:true)&&(l!==null?m<=l:true))},parse:function(k){var l=null,m=this.separator;if(k||k=="0"){if(typeof k==typeof 1){return k}k=k.replace(this.replaceRegExp,"");if(m&&m!="."){k=k.replace(m,".")}var o=e.fn.tTextBox.patterns[this.type].negative[this.negative].replace(/(\(|\))/g,"\\$1").replace("*","").replace("n","([\\d|\\.]*)"),n=new RegExp(o);if(n.test(k)){l=-parseFloat(n.exec(k)[1])}else{l=parseFloat(k)}}return isNaN(l)?null:l}};e.fn.tTextBox=function(m){var l="numeric";if(m&&m.type){l=m.type}var k=e.fn.tTextBox.defaults[l];k.digits=j.cultureInfo[l+"decimaldigits"];k.separator=j.cultureInfo[l+"decimalseparator"];k.groupSeparator=j.cultureInfo[l+"groupseparator"];k.groupSize=j.cultureInfo[l+"groupsize"];k.positive=j.cultureInfo[l+"positive"];k.negative=j.cultureInfo[l+"negative"];k.symbol=j.cultureInfo[l+"symbol"];m=e.extend({},k,m);m.type=l;return this.each(function(){var n=e(this);m=e.meta?e.extend({},m,n.data()):m;if(!n.data("tTextBox")){n.data("tTextBox",new j.textbox(this,m));j.trigger(this,"load")}})};var d={val:null,text:"",step:1,inputAttributes:"",increaseButtonTitle:"Increase value",decreaseButtonTitle:"Decrease value",showIncreaseButton:true,showDecreaseButton:true};e.fn.tTextBox.defaults={numeric:e.extend(d,{minValue:-100,maxValue:100}),currency:e.extend(d,{minValue:0,maxValue:1000}),percent:e.extend(d,{minValue:0,maxValue:100})};e.fn.tTextBox.patterns={numeric:{negative:["(n)","-n","- n","n-","n -"]},currency:{positive:["*n","n*","* n","n *"],negative:["(*n)","-*n","*-n","*n-","(n*)","-n*","n-*","n*-","-n *","-* n","n *-","* n-","* -n","n- *","(* n)","(n *)"]},percent:{positive:["n *","n*","*n"],negative:["-n *","-n*","-*n"]}};if(!j.cultureInfo.numericnegative){e.extend(j.cultureInfo,{currencydecimaldigits:2,currencydecimalseparator:".",currencygroupseparator:",",currencygroupsize:3,currencynegative:0,currencypositive:0,currencysymbol:"$",numericdecimaldigits:2,numericdecimalseparator:".",numericgroupseparator:",",numericgroupsize:3,numericnegative:1,percentdecimaldigits:2,percentdecimalseparator:".",percentgroupseparator:",",percentgroupsize:3,percentnegative:0,percentpositive:0,percentsymbol:"%"})}var i=/[0#?]/;function h(k,m){var l=Math.pow(10,m||0);return Math.round(k*l)/l}function c(k){return k.split("").reverse().join("")}function f(o,k,r){var l=0,m=0,q=k.length,s=o.length,v=new j.stringBuilder();while(l=0){if(k.charAt(l).match(i)){v.cat(o.charAt(m++))}else{v.cat(k.charAt(l))}l++}v.catIf(o.substring(m),m-1){t=u.indexOf("0")}if(t>-1){var n=u.slice(0,t),p=u.slice(t,u.length);u=n.replace(/#/g,"")+p.replace(/#/g,"0")}else{u=u.replace(/#/g,"")}if(u.indexOf(",")==0){u=u.replace(/,/g,"")}return r?u:c(u)}j.textbox.formatNumber=function(M,q,v,x,l,S,r,t,O,H){if(!q){return M}var R,I,N,p,L=M<0;q=q.split(":");q=q.length>1?q[1].replace("}",""):q[0];var o=q.search(i)!=-1;if(o){q=q.split(";");I=q[0];N=q[1];p=q[2];q=(L&&N?N:I).indexOf("%")!=-1?"p":"n"}switch(q.toLowerCase()){case"d":return Math.round(M).toString();case"c":R="currency";break;case"n":R="numeric";break;case"p":R="percent";if(!H){M=Math.abs(M)*100}break;default:return M.toString()}var C=function(V,T,U){for(var W=V.length;W1?E[1]:"",k=j.lastIndexOf(D,"0"),A=j.lastIndexOf(D,"#");v=(A>k?A:k)+1}var P=h(M,v);M=isFinite(P)?P:M;var y=M.toString().split(/e/i);B=y.length>1?parseInt(y[1]):0;y=y[0].split(".");m=y[0];m=L?m.replace("-",""):m;u=y.length>1?y[1]:"";if(B){if(!L){u=C(u,B,false);m+=u.slice(0,B);u=u.substr(B)}else{m=C(m,B+1,true);u=m.slice(B,m.length)+u;m=m.slice(0,B)}}var Q=u.length;if(v<1||(o&&k==-1&&Q===0)){u=""}else{u=Q>v?u.slice(0,v):C(u,v,false)}var n;if(o){if(m==0){m=""}m=f(c(m),c(z),true);m=z.indexOf(",")!=-1?K(m,l,S):m;u=u&&D?f(u,D):"";n=M===0&&p?p:(L&&!N?"-":"")+m+(u.length>0?x+u:"")}else{m=K(m,l,S);J=J[R];var w=L?J.negative[t]:O?J.positive[r]:null;var s=m+(u.length>0?x+u:"");n=w?w.replace("n",s).replace("*",O):s}return n};e.extend(j.formatters,{number:j.textbox.formatNumber})})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/2011.1.414/telerik.timepicker.min.js b/NzbDrone.Web/Scripts/2011.1.414/telerik.timepicker.min.js deleted file mode 100644 index 5a20c36f3..000000000 --- a/NzbDrone.Web/Scripts/2011.1.414/telerik.timepicker.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(a){var b=a.telerik;b.timeView=function(c){a.extend(this,c);var d=this.dropDown=new b.dropDown({attr:this.dropDownAttr,effects:this.effects,onClick:function(f){var g=f.item;c.onChange(g.innerText||g.textContent)}});d.$element.addClass("t-time-popup").css("direction",this.isRtl?"rtl":"")};b.timeView.prototype={_ensureItems:function(){if(!this.dropDown.$items){this.bind()}},open:function(c){this._ensureItems();this.dropDown.open(c)},close:function(){this.dropDown.close()},bind:function(){var j=b.timeView.getTimeMilliseconds;var g=[];var c=this.format;var n=this.interval;var p=new b.datetime(this.minValue);var d=j(p);var f=j(this.maxValue);var l=n*b.datetime.msPerMinute;var k=parseInt(b.datetime.msPerDay/(n*b.datetime.msPerMinute));if(d!=f){var o=di?i+d:i;h=e>h?h+d:h;return e-h==0||i>=e&&i<=h},getTimeMilliseconds:function(c){c=c.value?c:new b.datetime(c);return((c.hours()*60)+c.minutes())*b.datetime.msPerMinute+c.seconds()*1000+c.milliseconds()}});b.timepicker=function(d,e){a.extend(this,e);if(d.nodeName.toLowerCase()!=="input"&&d.type.toLowerCase()!=="text"){throw"Target element is not a INPUT"}this.element=d;var f=this.$element=a(d).addClass("t-input").attr("autocomplete","off").bind({keydown:a.proxy(this._keydown,this),focus:a.proxy(function(j){if(this.openOnFocus){this._open()}this.$element.removeClass("t-state-error")},this)});if(!f.parent().hasClass("t-picker-wrap")){f.wrap('
      ');if(e.showButton){var i=new b.stringBuilder(),g=e.buttonTitle;a(i.cat('').cat('').string()).insertAfter(f)}}this.timeView=new b.timeView({effects:this.effects,dropDownAttr:this.dropDownAttr,format:this.format,interval:this.interval,isRtl:f.closest(".t-rtl").length,minValue:this.minValue,maxValue:this.maxValue,onNavigateWithOpenPopup:a.proxy(function(j){this.$element.val(j)},this),onChange:a.proxy(function(j){if(j!=this.inputValue){this._update(j)}this._close()},this)});this.inputValue=f.val();var c=this.selectedValue||this.inputValue;if(c){this._value(this.parse(c))}var h=this.enabled?a.proxy(this._togglePopup,this):b.preventDefault;this.$wrapper=f.closest(".t-timepicker").find(".t-icon").bind("click",h).end();a(document.documentElement).bind("mousedown",a.proxy(function(m){var l=this.$element.val();if(l!=this.inputValue){this._update(l)}var j=this.timeView.dropDown.$element;var k=j&&j.parent().length>0;if(!k||a.contains(this.$wrapper[0],m.target)||a.contains(j.parent()[0],m.target)){return}this._close()},this));b.bind(this,{open:this.onOpen,close:this.onClose,valueChange:this.onChange,load:this.onLoad})};b.timepicker.prototype={_close:function(){var c=this.timeView.dropDown;if(!c.$element.is(":animated")&&c.isOpened()){this._trigger("close")}},_open:function(){if(!this.timeView.isOpened()){this._trigger("open")}},_trigger:function(c){if(!b.trigger(this.element,c)){this[c]()}},_togglePopup:function(){if(this.timeView.isOpened()){this._close()}else{this.element.focus();this._open()}},_update:function(f){var k=this.minValue,c=this.maxValue,f=this.parse(f),d=this.selectedValue;if(f!=null&&!b.timeView.isInRange(f,k,c)){var e=b.timeView.getTimeMilliseconds,i=e(f),j=Math.abs(e(k)-i),l=Math.abs(e(c)-i);f=new Date(j0)})}b.treeview=function(f,g){this.element=f;var h=c(f);c.extend(this,g);var d=".t-in:not(.t-state-selected,.t-state-disabled)";c(".t-in.t-state-selected",f).live("mouseenter",b.preventDefault);h.delegate(d,"mouseenter",b.hover).delegate(d,"mouseleave",b.leave).delegate(d,"click",b.delegate(this,this.nodeSelect)).delegate("div:not(.t-state-disabled) .t-in","dblclick",b.delegate(this,this.nodeClick)).delegate(":checkbox","click",b.delegate(this,this.checkboxClick)).delegate(".t-plus, .t-minus","click",b.delegate(this,this.nodeClick));if(this.isAjax()){a(h)}if(this.dragAndDrop){b.bind(this,{nodeDragStart:this.onNodeDragStart,nodeDragging:this.onNodeDragging,nodeDragCancelled:this.onNodeDragCancelled,nodeDrop:this.onNodeDrop,nodeDropped:this.onNodeDropped});(function(k){var i=c('
      ');var n;function j(o){if(b.trigger(k.element,"nodeDragStart",{item:o.$draggable.closest(".t-item")[0]})){return false}i.appendTo(k.element)}function l(w){var r;n=c(w.target);b.trigger(k.element,"nodeDragging",{pageY:w.pageY,pageX:w.pageX,dropTarget:w.target,setStatusClass:function(z){r=z},item:w.$draggable.closest(".t-item")[0]});if(r){i.css("visibility","hidden");b.dragCueStatus(w.$cue,r);return}r="t-insert-middle";if(k.dragAndDrop.dropTargets&&c(w.target).closest(k.dragAndDrop.dropTargets).length>0){b.dragCueStatus(w.$cue,"t-add");return}if(!c.contains(k.element,w.target)){i.css("visibility","hidden");return}else{if(c.contains(w.$draggable.closest(".t-item")[0],w.target)){i.css("visibility","hidden");b.dragCueStatus(w.$cue,"t-denied");return}}i.css("visibility","visible");var q=n.closest(".t-top,.t-mid,.t-bot");if(q.length>0){var v=q.outerHeight();var t=q.offset().top;var y=n.closest(".t-in");var x=v/(y.length>0?4:2);var u=w.pageY<(t+x);var o=(t+v-x)0&&!u&&!o;y.toggleClass("t-state-hover",p);i.css("visibility",p?"hidden":"visible");if(p){r="t-add"}else{var s=q.position();s.top+=u?0:v;i.css(s)[u?"prependTo":"appendTo"](n.closest(".t-item").find("> div:first"));r="t-insert-middle";if(u&&q.hasClass("t-top")){r="t-insert-top"}if(o&&q.hasClass("t-bot")){r="t-insert-bottom"}}}b.dragCueStatus(w.$cue,r)}function m(v){if(v.keyCode==27){b.trigger(k.element,"nodeDragCancelled",{item:v.$draggable.closest(".t-item")[0]})}else{var q="over",p;if(i.css("visibility")=="visible"){q=i.prevAll(".t-in").length>0?"after":"before";p=i.closest(".t-item").find("> div")}else{if(n){p=n.closest(".t-top,.t-mid,.t-bot")}}var r=b.trigger(k.element,"nodeDrop",{isValid:!v.$cue.find(".t-drag-status").hasClass("t-denied"),dropTarget:v.target,destinationItem:p.parent()[0],dropPosition:q,item:v.$draggable.closest(".t-item")[0]});if(r||!c.contains(k.element,v.target)){return !r}var t=v.$draggable.closest(".t-top,.t-mid,.t-bot");var u=t.parent();var x=t.closest(".t-group");if(c.contains(u[0],v.target)){return false}if(u.hasClass("t-last")){u.removeClass("t-last").prev().addClass("t-last").find("> div").removeClass("t-top t-mid").addClass("t-bot")}if(i.css("visibility")=="visible"){p.parent()[q](u)}else{var o=p.next(".t-group");if(o.length===0){o=c('
        ').appendTo(p.parent());if(!k.isAjax()){p.prepend('')}else{o.hide();k.nodeToggle(null,p.parent(),true);o.show()}}o.append(u);if(p.find("> .t-icon").hasClass("t-plus")){k.nodeToggle(null,p.parent(),true)}}var s=u.parents(".t-group").length;function w(z){var A=z.prev().length===0;var y=z.next().length===0;z.toggleClass("t-first",A&&s===1).toggleClass("t-last",y).find("> div").toggleClass("t-top",A&&!y).toggleClass("t-mid",!A&&!y).toggleClass("t-bot",y)}w(u);w(u.prev());w(u.next());if(x.children().length===0){x.prev("div").find(".t-plus,.t-minus").remove();x.remove()}b.trigger(k.element,"nodeDropped",{destinationItem:p.closest(".t-item")[0],dropPosition:q,item:t.parent(".t-item")[0]});return false}}new b.draggable({owner:k.element,selector:"div:not(.t-state-disabled) .t-in",scope:k.element.id,cue:function(o){return b.dragCue(o.$draggable.text())},start:j,drag:l,stop:m,destroy:function(o){i.remove();o.$cue.remove()}})})(this)}var e=h.find(".t-item > .t-content");if(e.length>0&&c(e[0]).children().length==0){h.find(".t-icon").hide()}b.bind(this,{expand:this.onExpand,collapse:this.onCollapse,select:c.proxy(function(i){if(i.target==this.element&&this.onSelect){this.onSelect(i)}},this),checked:this.onChecked,error:this.onError,load:this.onLoad,dataBinding:this.onDataBinding,dataBound:this.onDataBound})};b.treeview.prototype={expand:function(d){c(d,this.element).each(c.proxy(function(g,h){var f=c(h);var e=f.find("> .t-group, > .t-content");if((e.length>0&&!e.is(":visible"))||this.isAjax()){this.nodeToggle(null,f)}},this))},collapse:function(d){c(d,this.element).each(c.proxy(function(g,h){var f=c(h),e=f.find("> .t-group, > .t-content");if(e.length>0&&e.is(":visible")){this.nodeToggle(null,f)}},this))},enable:function(d){this.toggle(d,true)},disable:function(d){this.toggle(d,false)},toggle:function(e,d){c(e,this.element).each(c.proxy(function(g,h){var f=c(h),i=!f.find("> .t-group, > .t-content").is(":visible");if(!d){this.collapse(f);i=true}f.find("> div > .t-in").toggleClass("t-state-default",d).toggleClass("t-state-disabled",!d).end().find("> div > .t-checkbox > :checkbox").attr("disabled",d?"":"disabled").end().find("> div > .t-icon").toggleClass("t-plus",i&&d).toggleClass("t-plus-disabled",i&&!d).toggleClass("t-minus",!i&&d).toggleClass("t-minus-disabled",!i&&!d)},this))},reload:function(e){var d=this;c(e).each(function(){var f=c(this);f.find(".t-group").remove();d.ajaxRequest(f)})},shouldNavigate:function(e){var d=c(e).closest(".t-item").find("> .t-content, > .t-group");var f=c(e).attr("href");return !((f&&(f.charAt(f.length-1)=="#"||f.indexOf("#"+this.element.id+"-")!=-1))||(d.length>0&&d.children().length==0))},nodeSelect:function(g,f){if(!this.shouldNavigate(f)){g.preventDefault()}var d=c(f);if(!d.hasClass(".t-state-selected")&&!b.trigger(this.element,"select",{item:d.closest(".t-item")[0]})){c(".t-in",this.element).removeClass("t-state-hover t-state-selected");d.addClass("t-state-selected")}},nodeToggle:function(i,f,h){if(f.find(".t-minus").length==0&&f.find(".t-plus").length==0){return}if(i!=null){i.preventDefault()}if(f.data("animating")||f.find("> div > .t-in").hasClass("t-state-disabled")){return}f.data("animating",!h);var d=f.find(">.t-group, >.t-content, >.t-animation-container>.t-group, >.t-animation-container>.t-content"),g=!d.is(":visible");if(d.children().length>0&&f.data("loaded")!==false&&!b.trigger(this.element,g?"expand":"collapse",{item:f[0]})){f.find("> div > .t-icon").toggleClass("t-minus",g).toggleClass("t-plus",!g);if(!h){b.fx[g?"play":"rewind"](this.effects,d,{direction:"bottom"},function(){f.data("animating",false)})}else{d[g?"show":"hide"]()}}else{if(g&&this.isAjax()&&(d.length==0||f.data("loaded")===false)){if(!b.trigger(this.element,g?"expand":"collapse",{item:f[0]})){this.ajaxRequest(f)}}}},nodeClick:function(h,g){var f=c(g),d=f.closest(".t-item");if(f.hasClass("t-plus-disabled")||f.hasClass("t-minus-disabled")){return}this.nodeToggle(h,d)},isAjax:function(){return this.ajax||this.ws||this.onDataBinding},url:function(d){return(this.ajax||this.ws)[d]},ajaxOptions:function(e,h){var f={type:"POST",dataType:"text",error:c.proxy(function(j,i){if(b.ajaxError(this.element,"error",j,i)){return}if(i=="parsererror"){alert("Error! The requested URL did not return JSON.")}},this),success:c.proxy(function(i){i=eval("("+i+")");i=i.d||i;this.dataBind(e,i)},this)};f=c.extend(f,h);var g=this.ws?f.data.node={}:f.data;if(e.hasClass("t-item")){g[this.queryString.value]=this.getItemValue(e);g[this.queryString.text]=this.getItemText(e);var d=e.find(".t-checkbox:first :checkbox");if(d.length){g[this.queryString.checked]=d.is(":checked")}}if(this.ws){f.data=b.toJson(f.data);f.contentType="application/json; charset=utf-8"}return f},ajaxRequest:function(f){f=f||c(this.element);var d={item:f[0]};if(b.trigger(this.element,"dataBinding",d)||(!this.ajax&&!this.ws)){return}f.data("loadingIconTimeout",setTimeout(function(){f.find("> div > .t-icon").addClass("t-loading")},100));c.ajax(this.ajaxOptions(f,{data:c.extend({},d.data),url:this.url("selectUrl")}))},bindTo:function(d){this.dataBind(this.element,d)},dataBind:function(d,h){d=c(d);if(h.length==0){c(".t-icon",d).hide();return}var g=new b.stringBuilder(),e=d.find("> .t-group"),f=e.length==0;b.treeview.getGroupHtml({data:h,html:g,isAjax:this.isAjax(),isFirstLevel:d.hasClass("t-treeview"),showCheckBoxes:this.showCheckBox,groupLevel:d.find('> div > .t-checkbox :input[name="'+this.element.id+'_checkedNodes.Index"]').val(),isExpanded:(f?d.eq(0).is(".t-treeview")?true:h[0].Expanded:false),renderGroup:f,elementId:this.element.id});d.data("animating",true);if(e.length>0&&d.data("loaded")===false){c(g.string()).prependTo(e)}else{if(e.length>0&&d.data("loaded")!==false){e.html(g.string())}else{if(e.length==0){e=c(g.string()).appendTo(d)}}}b.fx.play(this.effects,e,{direction:"bottom"},function(){d.data("animating",false)});clearTimeout(d.data("loadingIconTimeout"));if(d.hasClass("t-item")){d.data("loaded",true).find(".t-icon:first").removeClass("t-loading").removeClass("t-plus").addClass("t-minus")}if(this.isAjax()){a(d)}b.trigger(this.element,"dataBound")},checkboxClick:function(h,f){var d=c(f).is(":checked");var g=b.trigger(this.element,"checked",{item:c(f).closest(".t-item")[0],checked:d});if(!g){this.nodeCheck(f,d)}else{h.preventDefault()}return g},nodeCheck:function(e,d){c(e,this.element).each(c.proxy(function(h,i){var f=c(i).closest(".t-item"),g=c("> div > .t-checkbox",f),j=this.element.id+"_checkedNodes",h=g.find(':input[name="'+j+'.Index"]').val();g.find(':input[name="'+j+"["+h+'].Text"]').remove();g.find(':input[name="'+j+"["+h+'].Value"]').remove();g.find(":checkbox").attr({checked:d?"checked":"",value:d});if(d){c(b.treeview.getNodeInputsHtml(this.getItemValue(f),this.getItemText(f),j,h)).appendTo(g)}},this))},getItemText:function(d){return c(d).find("> div > .t-in").text()},getItemValue:function(d){return c(d).find('>div>:input[name="itemValue"]').val()||this.getItemText(d)}};c.extend(b.treeview,{getNodeInputsHtml:function(g,e,f,d){return new b.stringBuilder().cat('').cat('').string()},getItemHtml:function(e){var m=e.item,h=e.html,i=e.isFirstLevel,f=e.groupLevel,g=e.itemIndex,d=e.itemsCount,l=new b.stringBuilder().cat(f).catIf(":",f).cat(g).string();h.cat('
      • ').cat('
        ');if((e.isAjax&&m.LoadOnDemand)||(m.Items&&m.Items.length>0)){h.cat('')}if(e.showCheckBoxes&&m.Checkable!==false){var j=e.elementId+"_checkedNodes";h.cat('').cat('').cat('");if(m.Checked){h.cat(b.treeview.getNodeInputsHtml(m.Value,m.Text,j,l))}h.cat("")}var k=m.NavigateUrl||m.Url;h.cat(k?'');if(m.ImageUrl!=null){h.cat('')}if(m.SpriteCssClasses!=null){h.cat('')}h.catIf(m.Text,m.Encoded===false).catIf(m.Text.replace(//g,">"),m.Encoded!==false).cat(k?"":"");if(m.Value){h.cat('')}h.cat("
        ");if(m.Items&&m.Items.length>0){b.treeview.getGroupHtml({data:m.Items,html:h,isAjax:e.isAjax,isFirstLevel:false,showCheckBoxes:e.showCheckBoxes,groupLevel:l,isExpanded:m.Expanded,elementId:e.elementId})}h.cat("
      • ")},getGroupHtml:function(e){var d=e.data;var g=e.html;var j=e.isFirstLevel;var k=e.renderGroup;if(k!==false){g.cat('
      ").catIf("
    ",!f);if(f){d(f).html(e.string())}else{return d(e.string()).appendTo(document.body).tWindow(g)}},getResizeHandlesHtml:function(){var e=new a.stringBuilder();d.each("n e s w se sw ne nw".split(" "),function(f,g){e.cat('
    ')});return e.string()}});d.fn.tWindow=function(e){return a.create(this,{name:"tWindow",init:function(f,g){return new a.window(f,g)},success:function(h){var g=h.element,f=d(g);if(f.is(":visible")){a.trigger(g,"open");a.trigger(g,"activated")}},options:e})};d.fn.tWindow.defaults={effects:{list:[{name:"zoom"},{name:"property",properties:["opacity"]}],openDuration:"fast",closeDuration:"fast"},modal:false,resizable:true,draggable:true,minWidth:50,minHeight:50}})(jQuery); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/MicrosoftAjax.debug.js b/NzbDrone.Web/Scripts/MicrosoftAjax.debug.js deleted file mode 100644 index a5f7942ef..000000000 --- a/NzbDrone.Web/Scripts/MicrosoftAjax.debug.js +++ /dev/null @@ -1,7117 +0,0 @@ -// Name: MicrosoftAjax.debug.js -// Assembly: System.Web.Extensions -// Version: 4.0.0.0 -// FileVersion: 4.0.20526.0 -//----------------------------------------------------------------------- -// Copyright (C) Microsoft Corporation. All rights reserved. -//----------------------------------------------------------------------- -// MicrosoftAjax.js -// Microsoft AJAX Framework. - -Function.__typeName = 'Function'; -Function.__class = true; -Function.createCallback = function Function$createCallback(method, context) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "method", type: Function}, - {name: "context", mayBeNull: true} - ]); - if (e) throw e; - return function() { - var l = arguments.length; - if (l > 0) { - var args = []; - for (var i = 0; i < l; i++) { - args[i] = arguments[i]; - } - args[l] = context; - return method.apply(this, args); - } - return method.call(this, context); - } -} -Function.createDelegate = function Function$createDelegate(instance, method) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance", mayBeNull: true}, - {name: "method", type: Function} - ]); - if (e) throw e; - return function() { - return method.apply(instance, arguments); - } -} -Function.emptyFunction = Function.emptyMethod = function Function$emptyMethod() { - /// -} -Function.validateParameters = function Function$validateParameters(parameters, expectedParameters, validateParameterCount) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "parameters"}, - {name: "expectedParameters"}, - {name: "validateParameterCount", type: Boolean, optional: true} - ]); - if (e) throw e; - return Function._validateParams(parameters, expectedParameters, validateParameterCount); -} -Function._validateParams = function Function$_validateParams(params, expectedParams, validateParameterCount) { - var e, expectedLength = expectedParams.length; - validateParameterCount = validateParameterCount || (typeof(validateParameterCount) === "undefined"); - e = Function._validateParameterCount(params, expectedParams, validateParameterCount); - if (e) { - e.popStackFrame(); - return e; - } - for (var i = 0, l = params.length; i < l; i++) { - var expectedParam = expectedParams[Math.min(i, expectedLength - 1)], - paramName = expectedParam.name; - if (expectedParam.parameterArray) { - paramName += "[" + (i - expectedLength + 1) + "]"; - } - else if (!validateParameterCount && (i >= expectedLength)) { - break; - } - e = Function._validateParameter(params[i], expectedParam, paramName); - if (e) { - e.popStackFrame(); - return e; - } - } - return null; -} -Function._validateParameterCount = function Function$_validateParameterCount(params, expectedParams, validateParameterCount) { - var i, error, - expectedLen = expectedParams.length, - actualLen = params.length; - if (actualLen < expectedLen) { - var minParams = expectedLen; - for (i = 0; i < expectedLen; i++) { - var param = expectedParams[i]; - if (param.optional || param.parameterArray) { - minParams--; - } - } - if (actualLen < minParams) { - error = true; - } - } - else if (validateParameterCount && (actualLen > expectedLen)) { - error = true; - for (i = 0; i < expectedLen; i++) { - if (expectedParams[i].parameterArray) { - error = false; - break; - } - } - } - if (error) { - var e = Error.parameterCount(); - e.popStackFrame(); - return e; - } - return null; -} -Function._validateParameter = function Function$_validateParameter(param, expectedParam, paramName) { - var e, - expectedType = expectedParam.type, - expectedInteger = !!expectedParam.integer, - expectedDomElement = !!expectedParam.domElement, - mayBeNull = !!expectedParam.mayBeNull; - e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName); - if (e) { - e.popStackFrame(); - return e; - } - var expectedElementType = expectedParam.elementType, - elementMayBeNull = !!expectedParam.elementMayBeNull; - if (expectedType === Array && typeof(param) !== "undefined" && param !== null && - (expectedElementType || !elementMayBeNull)) { - var expectedElementInteger = !!expectedParam.elementInteger, - expectedElementDomElement = !!expectedParam.elementDomElement; - for (var i=0; i < param.length; i++) { - var elem = param[i]; - e = Function._validateParameterType(elem, expectedElementType, - expectedElementInteger, expectedElementDomElement, elementMayBeNull, - paramName + "[" + i + "]"); - if (e) { - e.popStackFrame(); - return e; - } - } - } - return null; -} -Function._validateParameterType = function Function$_validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName) { - var e, i; - if (typeof(param) === "undefined") { - if (mayBeNull) { - return null; - } - else { - e = Error.argumentUndefined(paramName); - e.popStackFrame(); - return e; - } - } - if (param === null) { - if (mayBeNull) { - return null; - } - else { - e = Error.argumentNull(paramName); - e.popStackFrame(); - return e; - } - } - if (expectedType && expectedType.__enum) { - if (typeof(param) !== 'number') { - e = Error.argumentType(paramName, Object.getType(param), expectedType); - e.popStackFrame(); - return e; - } - if ((param % 1) === 0) { - var values = expectedType.prototype; - if (!expectedType.__flags || (param === 0)) { - for (i in values) { - if (values[i] === param) return null; - } - } - else { - var v = param; - for (i in values) { - var vali = values[i]; - if (vali === 0) continue; - if ((vali & param) === vali) { - v -= vali; - } - if (v === 0) return null; - } - } - } - e = Error.argumentOutOfRange(paramName, param, String.format(Sys.Res.enumInvalidValue, param, expectedType.getName())); - e.popStackFrame(); - return e; - } - if (expectedDomElement && (!Sys._isDomElement(param) || (param.nodeType === 3))) { - e = Error.argument(paramName, Sys.Res.argumentDomElement); - e.popStackFrame(); - return e; - } - if (expectedType && !Sys._isInstanceOfType(expectedType, param)) { - e = Error.argumentType(paramName, Object.getType(param), expectedType); - e.popStackFrame(); - return e; - } - if (expectedType === Number && expectedInteger) { - if ((param % 1) !== 0) { - e = Error.argumentOutOfRange(paramName, param, Sys.Res.argumentInteger); - e.popStackFrame(); - return e; - } - } - return null; -} - -Error.__typeName = 'Error'; -Error.__class = true; -Error.create = function Error$create(message, errorInfo) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true, optional: true}, - {name: "errorInfo", mayBeNull: true, optional: true} - ]); - if (e) throw e; - var err = new Error(message); - err.message = message; - if (errorInfo) { - for (var v in errorInfo) { - err[v] = errorInfo[v]; - } - } - err.popStackFrame(); - return err; -} -Error.argument = function Error$argument(paramName, message) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "paramName", type: String, mayBeNull: true, optional: true}, - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ArgumentException: " + (message ? message : Sys.Res.argument); - if (paramName) { - displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); - } - var err = Error.create(displayMessage, { name: "Sys.ArgumentException", paramName: paramName }); - err.popStackFrame(); - return err; -} -Error.argumentNull = function Error$argumentNull(paramName, message) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "paramName", type: String, mayBeNull: true, optional: true}, - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ArgumentNullException: " + (message ? message : Sys.Res.argumentNull); - if (paramName) { - displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); - } - var err = Error.create(displayMessage, { name: "Sys.ArgumentNullException", paramName: paramName }); - err.popStackFrame(); - return err; -} -Error.argumentOutOfRange = function Error$argumentOutOfRange(paramName, actualValue, message) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "paramName", type: String, mayBeNull: true, optional: true}, - {name: "actualValue", mayBeNull: true, optional: true}, - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ArgumentOutOfRangeException: " + (message ? message : Sys.Res.argumentOutOfRange); - if (paramName) { - displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); - } - if (typeof(actualValue) !== "undefined" && actualValue !== null) { - displayMessage += "\n" + String.format(Sys.Res.actualValue, actualValue); - } - var err = Error.create(displayMessage, { - name: "Sys.ArgumentOutOfRangeException", - paramName: paramName, - actualValue: actualValue - }); - err.popStackFrame(); - return err; -} -Error.argumentType = function Error$argumentType(paramName, actualType, expectedType, message) { - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "paramName", type: String, mayBeNull: true, optional: true}, - {name: "actualType", type: Type, mayBeNull: true, optional: true}, - {name: "expectedType", type: Type, mayBeNull: true, optional: true}, - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ArgumentTypeException: "; - if (message) { - displayMessage += message; - } - else if (actualType && expectedType) { - displayMessage += - String.format(Sys.Res.argumentTypeWithTypes, actualType.getName(), expectedType.getName()); - } - else { - displayMessage += Sys.Res.argumentType; - } - if (paramName) { - displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); - } - var err = Error.create(displayMessage, { - name: "Sys.ArgumentTypeException", - paramName: paramName, - actualType: actualType, - expectedType: expectedType - }); - err.popStackFrame(); - return err; -} -Error.argumentUndefined = function Error$argumentUndefined(paramName, message) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "paramName", type: String, mayBeNull: true, optional: true}, - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ArgumentUndefinedException: " + (message ? message : Sys.Res.argumentUndefined); - if (paramName) { - displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); - } - var err = Error.create(displayMessage, { name: "Sys.ArgumentUndefinedException", paramName: paramName }); - err.popStackFrame(); - return err; -} -Error.format = function Error$format(message) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.FormatException: " + (message ? message : Sys.Res.format); - var err = Error.create(displayMessage, {name: 'Sys.FormatException'}); - err.popStackFrame(); - return err; -} -Error.invalidOperation = function Error$invalidOperation(message) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.InvalidOperationException: " + (message ? message : Sys.Res.invalidOperation); - var err = Error.create(displayMessage, {name: 'Sys.InvalidOperationException'}); - err.popStackFrame(); - return err; -} -Error.notImplemented = function Error$notImplemented(message) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.NotImplementedException: " + (message ? message : Sys.Res.notImplemented); - var err = Error.create(displayMessage, {name: 'Sys.NotImplementedException'}); - err.popStackFrame(); - return err; -} -Error.parameterCount = function Error$parameterCount(message) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ParameterCountException: " + (message ? message : Sys.Res.parameterCount); - var err = Error.create(displayMessage, {name: 'Sys.ParameterCountException'}); - err.popStackFrame(); - return err; -} -Error.prototype.popStackFrame = function Error$popStackFrame() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (typeof(this.stack) === "undefined" || this.stack === null || - typeof(this.fileName) === "undefined" || this.fileName === null || - typeof(this.lineNumber) === "undefined" || this.lineNumber === null) { - return; - } - var stackFrames = this.stack.split("\n"); - var currentFrame = stackFrames[0]; - var pattern = this.fileName + ":" + this.lineNumber; - while(typeof(currentFrame) !== "undefined" && - currentFrame !== null && - currentFrame.indexOf(pattern) === -1) { - stackFrames.shift(); - currentFrame = stackFrames[0]; - } - var nextFrame = stackFrames[1]; - if (typeof(nextFrame) === "undefined" || nextFrame === null) { - return; - } - var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/); - if (typeof(nextFrameParts) === "undefined" || nextFrameParts === null) { - return; - } - this.fileName = nextFrameParts[1]; - this.lineNumber = parseInt(nextFrameParts[2]); - stackFrames.shift(); - this.stack = stackFrames.join("\n"); -} - -Object.__typeName = 'Object'; -Object.__class = true; -Object.getType = function Object$getType(instance) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance"} - ]); - if (e) throw e; - var ctor = instance.constructor; - if (!ctor || (typeof(ctor) !== "function") || !ctor.__typeName || (ctor.__typeName === 'Object')) { - return Object; - } - return ctor; -} -Object.getTypeName = function Object$getTypeName(instance) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance"} - ]); - if (e) throw e; - return Object.getType(instance).getName(); -} - -String.__typeName = 'String'; -String.__class = true; -String.prototype.endsWith = function String$endsWith(suffix) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "suffix", type: String} - ]); - if (e) throw e; - return (this.substr(this.length - suffix.length) === suffix); -} -String.prototype.startsWith = function String$startsWith(prefix) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "prefix", type: String} - ]); - if (e) throw e; - return (this.substr(0, prefix.length) === prefix); -} -String.prototype.trim = function String$trim() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this.replace(/^\s+|\s+$/g, ''); -} -String.prototype.trimEnd = function String$trimEnd() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this.replace(/\s+$/, ''); -} -String.prototype.trimStart = function String$trimStart() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this.replace(/^\s+/, ''); -} -String.format = function String$format(format, args) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String}, - {name: "args", mayBeNull: true, parameterArray: true} - ]); - if (e) throw e; - return String._toFormattedString(false, arguments); -} -String._toFormattedString = function String$_toFormattedString(useLocale, args) { - var result = ''; - var format = args[0]; - for (var i=0;;) { - var open = format.indexOf('{', i); - var close = format.indexOf('}', i); - if ((open < 0) && (close < 0)) { - result += format.slice(i); - break; - } - if ((close > 0) && ((close < open) || (open < 0))) { - if (format.charAt(close + 1) !== '}') { - throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); - } - result += format.slice(i, close + 1); - i = close + 2; - continue; - } - result += format.slice(i, open); - i = open + 1; - if (format.charAt(i) === '{') { - result += '{'; - i++; - continue; - } - if (close < 0) throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); - var brace = format.substring(i, close); - var colonIndex = brace.indexOf(':'); - var argNumber = parseInt((colonIndex < 0)? brace : brace.substring(0, colonIndex), 10) + 1; - if (isNaN(argNumber)) throw Error.argument('format', Sys.Res.stringFormatInvalid); - var argFormat = (colonIndex < 0)? '' : brace.substring(colonIndex + 1); - var arg = args[argNumber]; - if (typeof(arg) === "undefined" || arg === null) { - arg = ''; - } - if (arg.toFormattedString) { - result += arg.toFormattedString(argFormat); - } - else if (useLocale && arg.localeFormat) { - result += arg.localeFormat(argFormat); - } - else if (arg.format) { - result += arg.format(argFormat); - } - else - result += arg.toString(); - i = close + 1; - } - return result; -} - -Boolean.__typeName = 'Boolean'; -Boolean.__class = true; -Boolean.parse = function Boolean$parse(value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String} - ], false); - if (e) throw e; - var v = value.trim().toLowerCase(); - if (v === 'false') return false; - if (v === 'true') return true; - throw Error.argumentOutOfRange('value', value, Sys.Res.boolTrueOrFalse); -} - -Date.__typeName = 'Date'; -Date.__class = true; - -Number.__typeName = 'Number'; -Number.__class = true; - -RegExp.__typeName = 'RegExp'; -RegExp.__class = true; - -if (!window) this.window = this; -window.Type = Function; -Type.__fullyQualifiedIdentifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i"); -Type.__identifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i"); -Type.prototype.callBaseMethod = function Type$callBaseMethod(instance, name, baseArguments) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance"}, - {name: "name", type: String}, - {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} - ]); - if (e) throw e; - var baseMethod = Sys._getBaseMethod(this, instance, name); - if (!baseMethod) throw Error.invalidOperation(String.format(Sys.Res.methodNotFound, name)); - if (!baseArguments) { - return baseMethod.apply(instance); - } - else { - return baseMethod.apply(instance, baseArguments); - } -} -Type.prototype.getBaseMethod = function Type$getBaseMethod(instance, name) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance"}, - {name: "name", type: String} - ]); - if (e) throw e; - return Sys._getBaseMethod(this, instance, name); -} -Type.prototype.getBaseType = function Type$getBaseType() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return (typeof(this.__baseType) === "undefined") ? null : this.__baseType; -} -Type.prototype.getInterfaces = function Type$getInterfaces() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var result = []; - var type = this; - while(type) { - var interfaces = type.__interfaces; - if (interfaces) { - for (var i = 0, l = interfaces.length; i < l; i++) { - var interfaceType = interfaces[i]; - if (!Array.contains(result, interfaceType)) { - result[result.length] = interfaceType; - } - } - } - type = type.__baseType; - } - return result; -} -Type.prototype.getName = function Type$getName() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName; -} -Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "interfaceType", type: Type} - ]); - if (e) throw e; - this.resolveInheritance(); - var interfaceName = interfaceType.getName(); - var cache = this.__interfaceCache; - if (cache) { - var cacheEntry = cache[interfaceName]; - if (typeof(cacheEntry) !== 'undefined') return cacheEntry; - } - else { - cache = this.__interfaceCache = {}; - } - var baseType = this; - while (baseType) { - var interfaces = baseType.__interfaces; - if (interfaces) { - if (Array.indexOf(interfaces, interfaceType) !== -1) { - return cache[interfaceName] = true; - } - } - baseType = baseType.__baseType; - } - return cache[interfaceName] = false; -} -Type.prototype.inheritsFrom = function Type$inheritsFrom(parentType) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "parentType", type: Type} - ]); - if (e) throw e; - this.resolveInheritance(); - var baseType = this.__baseType; - while (baseType) { - if (baseType === parentType) { - return true; - } - baseType = baseType.__baseType; - } - return false; -} -Type.prototype.initializeBase = function Type$initializeBase(instance, baseArguments) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance"}, - {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} - ]); - if (e) throw e; - if (!Sys._isInstanceOfType(this, instance)) throw Error.argumentType('instance', Object.getType(instance), this); - this.resolveInheritance(); - if (this.__baseType) { - if (!baseArguments) { - this.__baseType.apply(instance); - } - else { - this.__baseType.apply(instance, baseArguments); - } - } - return instance; -} -Type.prototype.isImplementedBy = function Type$isImplementedBy(instance) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance", mayBeNull: true} - ]); - if (e) throw e; - if (typeof(instance) === "undefined" || instance === null) return false; - var instanceType = Object.getType(instance); - return !!(instanceType.implementsInterface && instanceType.implementsInterface(this)); -} -Type.prototype.isInstanceOfType = function Type$isInstanceOfType(instance) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance", mayBeNull: true} - ]); - if (e) throw e; - return Sys._isInstanceOfType(this, instance); -} -Type.prototype.registerClass = function Type$registerClass(typeName, baseType, interfaceTypes) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "typeName", type: String}, - {name: "baseType", type: Type, mayBeNull: true, optional: true}, - {name: "interfaceTypes", type: Type, parameterArray: true} - ]); - if (e) throw e; - if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); - var parsedName; - try { - parsedName = eval(typeName); - } - catch(e) { - throw Error.argument('typeName', Sys.Res.argumentTypeName); - } - if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName); - if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); - if ((arguments.length > 1) && (typeof(baseType) === 'undefined')) throw Error.argumentUndefined('baseType'); - if (baseType && !baseType.__class) throw Error.argument('baseType', Sys.Res.baseNotAClass); - this.prototype.constructor = this; - this.__typeName = typeName; - this.__class = true; - if (baseType) { - this.__baseType = baseType; - this.__basePrototypePending = true; - } - Sys.__upperCaseTypes[typeName.toUpperCase()] = this; - if (interfaceTypes) { - this.__interfaces = []; - this.resolveInheritance(); - for (var i = 2, l = arguments.length; i < l; i++) { - var interfaceType = arguments[i]; - if (!interfaceType.__interface) throw Error.argument('interfaceTypes[' + (i - 2) + ']', Sys.Res.notAnInterface); - for (var methodName in interfaceType.prototype) { - var method = interfaceType.prototype[methodName]; - if (!this.prototype[methodName]) { - this.prototype[methodName] = method; - } - } - this.__interfaces.push(interfaceType); - } - } - Sys.__registeredTypes[typeName] = true; - return this; -} -Type.prototype.registerInterface = function Type$registerInterface(typeName) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "typeName", type: String} - ]); - if (e) throw e; - if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); - var parsedName; - try { - parsedName = eval(typeName); - } - catch(e) { - throw Error.argument('typeName', Sys.Res.argumentTypeName); - } - if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName); - if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); - Sys.__upperCaseTypes[typeName.toUpperCase()] = this; - this.prototype.constructor = this; - this.__typeName = typeName; - this.__interface = true; - Sys.__registeredTypes[typeName] = true; - return this; -} -Type.prototype.resolveInheritance = function Type$resolveInheritance() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this.__basePrototypePending) { - var baseType = this.__baseType; - baseType.resolveInheritance(); - for (var memberName in baseType.prototype) { - var memberValue = baseType.prototype[memberName]; - if (!this.prototype[memberName]) { - this.prototype[memberName] = memberValue; - } - } - delete this.__basePrototypePending; - } -} -Type.getRootNamespaces = function Type$getRootNamespaces() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return Array.clone(Sys.__rootNamespaces); -} -Type.isClass = function Type$isClass(type) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "type", mayBeNull: true} - ]); - if (e) throw e; - if ((typeof(type) === 'undefined') || (type === null)) return false; - return !!type.__class; -} -Type.isInterface = function Type$isInterface(type) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "type", mayBeNull: true} - ]); - if (e) throw e; - if ((typeof(type) === 'undefined') || (type === null)) return false; - return !!type.__interface; -} -Type.isNamespace = function Type$isNamespace(object) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "object", mayBeNull: true} - ]); - if (e) throw e; - if ((typeof(object) === 'undefined') || (object === null)) return false; - return !!object.__namespace; -} -Type.parse = function Type$parse(typeName, ns) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "typeName", type: String, mayBeNull: true}, - {name: "ns", mayBeNull: true, optional: true} - ]); - if (e) throw e; - var fn; - if (ns) { - fn = Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()]; - return fn || null; - } - if (!typeName) return null; - if (!Type.__htClasses) { - Type.__htClasses = {}; - } - fn = Type.__htClasses[typeName]; - if (!fn) { - fn = eval(typeName); - if (typeof(fn) !== 'function') throw Error.argument('typeName', Sys.Res.notATypeName); - Type.__htClasses[typeName] = fn; - } - return fn; -} -Type.registerNamespace = function Type$registerNamespace(namespacePath) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "namespacePath", type: String} - ]); - if (e) throw e; - Type._registerNamespace(namespacePath); -} -Type._registerNamespace = function Type$_registerNamespace(namespacePath) { - if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); - var rootObject = window; - var namespaceParts = namespacePath.split('.'); - for (var i = 0; i < namespaceParts.length; i++) { - var currentPart = namespaceParts[i]; - var ns = rootObject[currentPart]; - var nsType = typeof(ns); - if ((nsType !== "undefined") && (ns !== null)) { - if (nsType === "function") { - throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsClass, namespaceParts.splice(0, i + 1).join('.'))); - } - if ((typeof(ns) !== "object") || (ns instanceof Array)) { - throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsNonObject, namespaceParts.splice(0, i + 1).join('.'))); - } - } - if (!ns) { - ns = rootObject[currentPart] = {}; - } - if (!ns.__namespace) { - if ((i === 0) && (namespacePath !== "Sys")) { - Sys.__rootNamespaces[Sys.__rootNamespaces.length] = ns; - } - ns.__namespace = true; - ns.__typeName = namespaceParts.slice(0, i + 1).join('.'); - var parsedName; - try { - parsedName = eval(ns.__typeName); - } - catch(e) { - parsedName = null; - } - if (parsedName !== ns) { - delete rootObject[currentPart]; - throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); - } - ns.getName = function ns$getName() {return this.__typeName;} - } - rootObject = ns; - } -} -Type._checkDependency = function Type$_checkDependency(dependency, featureName) { - var scripts = Type._registerScript._scripts, isDependent = (scripts ? (!!scripts[dependency]) : false); - if ((typeof(featureName) !== 'undefined') && !isDependent) { - throw Error.invalidOperation(String.format(Sys.Res.requiredScriptReferenceNotIncluded, - featureName, dependency)); - } - return isDependent; -} -Type._registerScript = function Type$_registerScript(scriptName, dependencies) { - var scripts = Type._registerScript._scripts; - if (!scripts) { - Type._registerScript._scripts = scripts = {}; - } - if (scripts[scriptName]) { - throw Error.invalidOperation(String.format(Sys.Res.scriptAlreadyLoaded, scriptName)); - } - scripts[scriptName] = true; - if (dependencies) { - for (var i = 0, l = dependencies.length; i < l; i++) { - var dependency = dependencies[i]; - if (!Type._checkDependency(dependency)) { - throw Error.invalidOperation(String.format(Sys.Res.scriptDependencyNotFound, scriptName, dependency)); - } - } - } -} -Type._registerNamespace("Sys"); -Sys.__upperCaseTypes = {}; -Sys.__rootNamespaces = [Sys]; -Sys.__registeredTypes = {}; -Sys._isInstanceOfType = function Sys$_isInstanceOfType(type, instance) { - if (typeof(instance) === "undefined" || instance === null) return false; - if (instance instanceof type) return true; - var instanceType = Object.getType(instance); - return !!(instanceType === type) || - (instanceType.inheritsFrom && instanceType.inheritsFrom(type)) || - (instanceType.implementsInterface && instanceType.implementsInterface(type)); -} -Sys._getBaseMethod = function Sys$_getBaseMethod(type, instance, name) { - if (!Sys._isInstanceOfType(type, instance)) throw Error.argumentType('instance', Object.getType(instance), type); - var baseType = type.getBaseType(); - if (baseType) { - var baseMethod = baseType.prototype[name]; - return (baseMethod instanceof Function) ? baseMethod : null; - } - return null; -} -Sys._isDomElement = function Sys$_isDomElement(obj) { - var val = false; - if (typeof (obj.nodeType) !== 'number') { - var doc = obj.ownerDocument || obj.document || obj; - if (doc != obj) { - var w = doc.defaultView || doc.parentWindow; - val = (w != obj); - } - else { - val = (typeof (doc.body) === 'undefined'); - } - } - return !val; -} - -Array.__typeName = 'Array'; -Array.__class = true; -Array.add = Array.enqueue = function Array$enqueue(array, item) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "item", mayBeNull: true} - ]); - if (e) throw e; - array[array.length] = item; -} -Array.addRange = function Array$addRange(array, items) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "items", type: Array, elementMayBeNull: true} - ]); - if (e) throw e; - array.push.apply(array, items); -} -Array.clear = function Array$clear(array) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true} - ]); - if (e) throw e; - array.length = 0; -} -Array.clone = function Array$clone(array) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true} - ]); - if (e) throw e; - if (array.length === 1) { - return [array[0]]; - } - else { - return Array.apply(null, array); - } -} -Array.contains = function Array$contains(array, item) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "item", mayBeNull: true} - ]); - if (e) throw e; - return (Sys._indexOf(array, item) >= 0); -} -Array.dequeue = function Array$dequeue(array) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true} - ]); - if (e) throw e; - return array.shift(); -} -Array.forEach = function Array$forEach(array, method, instance) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "method", type: Function}, - {name: "instance", mayBeNull: true, optional: true} - ]); - if (e) throw e; - for (var i = 0, l = array.length; i < l; i++) { - var elt = array[i]; - if (typeof(elt) !== 'undefined') method.call(instance, elt, i, array); - } -} -Array.indexOf = function Array$indexOf(array, item, start) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "item", mayBeNull: true, optional: true}, - {name: "start", mayBeNull: true, optional: true} - ]); - if (e) throw e; - return Sys._indexOf(array, item, start); -} -Array.insert = function Array$insert(array, index, item) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "index", mayBeNull: true}, - {name: "item", mayBeNull: true} - ]); - if (e) throw e; - array.splice(index, 0, item); -} -Array.parse = function Array$parse(value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String, mayBeNull: true} - ]); - if (e) throw e; - if (!value) return []; - var v = eval(value); - if (!Array.isInstanceOfType(v)) throw Error.argument('value', Sys.Res.arrayParseBadFormat); - return v; -} -Array.remove = function Array$remove(array, item) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "item", mayBeNull: true} - ]); - if (e) throw e; - var index = Sys._indexOf(array, item); - if (index >= 0) { - array.splice(index, 1); - } - return (index >= 0); -} -Array.removeAt = function Array$removeAt(array, index) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "index", mayBeNull: true} - ]); - if (e) throw e; - array.splice(index, 1); -} -Sys._indexOf = function Sys$_indexOf(array, item, start) { - if (typeof(item) === "undefined") return -1; - var length = array.length; - if (length !== 0) { - start = start - 0; - if (isNaN(start)) { - start = 0; - } - else { - if (isFinite(start)) { - start = start - (start % 1); - } - if (start < 0) { - start = Math.max(0, length + start); - } - } - for (var i = start; i < length; i++) { - if ((typeof(array[i]) !== "undefined") && (array[i] === item)) { - return i; - } - } - } - return -1; -} -Type._registerScript._scripts = { - "MicrosoftAjaxCore.js": true, - "MicrosoftAjaxGlobalization.js": true, - "MicrosoftAjaxSerialization.js": true, - "MicrosoftAjaxComponentModel.js": true, - "MicrosoftAjaxHistory.js": true, - "MicrosoftAjaxNetwork.js" : true, - "MicrosoftAjaxWebServices.js": true }; - -Sys.IDisposable = function Sys$IDisposable() { - throw Error.notImplemented(); -} - function Sys$IDisposable$dispose() { - throw Error.notImplemented(); - } -Sys.IDisposable.prototype = { - dispose: Sys$IDisposable$dispose -} -Sys.IDisposable.registerInterface('Sys.IDisposable'); - -Sys.StringBuilder = function Sys$StringBuilder(initialText) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "initialText", mayBeNull: true, optional: true} - ]); - if (e) throw e; - this._parts = (typeof(initialText) !== 'undefined' && initialText !== null && initialText !== '') ? - [initialText.toString()] : []; - this._value = {}; - this._len = 0; -} - function Sys$StringBuilder$append(text) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "text", mayBeNull: true} - ]); - if (e) throw e; - this._parts[this._parts.length] = text; - } - function Sys$StringBuilder$appendLine(text) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "text", mayBeNull: true, optional: true} - ]); - if (e) throw e; - this._parts[this._parts.length] = - ((typeof(text) === 'undefined') || (text === null) || (text === '')) ? - '\r\n' : text + '\r\n'; - } - function Sys$StringBuilder$clear() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._parts = []; - this._value = {}; - this._len = 0; - } - function Sys$StringBuilder$isEmpty() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._parts.length === 0) return true; - return this.toString() === ''; - } - function Sys$StringBuilder$toString(separator) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "separator", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - separator = separator || ''; - var parts = this._parts; - if (this._len !== parts.length) { - this._value = {}; - this._len = parts.length; - } - var val = this._value; - if (typeof(val[separator]) === 'undefined') { - if (separator !== '') { - for (var i = 0; i < parts.length;) { - if ((typeof(parts[i]) === 'undefined') || (parts[i] === '') || (parts[i] === null)) { - parts.splice(i, 1); - } - else { - i++; - } - } - } - val[separator] = this._parts.join(separator); - } - return val[separator]; - } -Sys.StringBuilder.prototype = { - append: Sys$StringBuilder$append, - appendLine: Sys$StringBuilder$appendLine, - clear: Sys$StringBuilder$clear, - isEmpty: Sys$StringBuilder$isEmpty, - toString: Sys$StringBuilder$toString -} -Sys.StringBuilder.registerClass('Sys.StringBuilder'); - -Sys.Browser = {}; -Sys.Browser.InternetExplorer = {}; -Sys.Browser.Firefox = {}; -Sys.Browser.Safari = {}; -Sys.Browser.Opera = {}; -Sys.Browser.agent = null; -Sys.Browser.hasDebuggerStatement = false; -Sys.Browser.name = navigator.appName; -Sys.Browser.version = parseFloat(navigator.appVersion); -Sys.Browser.documentMode = 0; -if (navigator.userAgent.indexOf(' MSIE ') > -1) { - Sys.Browser.agent = Sys.Browser.InternetExplorer; - Sys.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]); - if (Sys.Browser.version >= 8) { - if (document.documentMode >= 7) { - Sys.Browser.documentMode = document.documentMode; - } - } - Sys.Browser.hasDebuggerStatement = true; -} -else if (navigator.userAgent.indexOf(' Firefox/') > -1) { - Sys.Browser.agent = Sys.Browser.Firefox; - Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]); - Sys.Browser.name = 'Firefox'; - Sys.Browser.hasDebuggerStatement = true; -} -else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) { - Sys.Browser.agent = Sys.Browser.Safari; - Sys.Browser.version = parseFloat(navigator.userAgent.match(/ AppleWebKit\/(\d+(\.\d+)?)/)[1]); - Sys.Browser.name = 'Safari'; -} -else if (navigator.userAgent.indexOf('Opera/') > -1) { - Sys.Browser.agent = Sys.Browser.Opera; -} - -Sys.EventArgs = function Sys$EventArgs() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); -} -Sys.EventArgs.registerClass('Sys.EventArgs'); -Sys.EventArgs.Empty = new Sys.EventArgs(); - -Sys.CancelEventArgs = function Sys$CancelEventArgs() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - Sys.CancelEventArgs.initializeBase(this); - this._cancel = false; -} - function Sys$CancelEventArgs$get_cancel() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._cancel; - } - function Sys$CancelEventArgs$set_cancel(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); - if (e) throw e; - this._cancel = value; - } -Sys.CancelEventArgs.prototype = { - get_cancel: Sys$CancelEventArgs$get_cancel, - set_cancel: Sys$CancelEventArgs$set_cancel -} -Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs); -Type.registerNamespace('Sys.UI'); - -Sys._Debug = function Sys$_Debug() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); -} - function Sys$_Debug$_appendConsole(text) { - if ((typeof(Debug) !== 'undefined') && Debug.writeln) { - Debug.writeln(text); - } - if (window.console && window.console.log) { - window.console.log(text); - } - if (window.opera) { - window.opera.postError(text); - } - if (window.debugService) { - window.debugService.trace(text); - } - } - function Sys$_Debug$_appendTrace(text) { - var traceElement = document.getElementById('TraceConsole'); - if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { - traceElement.value += text + '\n'; - } - } - function Sys$_Debug$assert(condition, message, displayCaller) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "condition", type: Boolean}, - {name: "message", type: String, mayBeNull: true, optional: true}, - {name: "displayCaller", type: Boolean, optional: true} - ]); - if (e) throw e; - if (!condition) { - message = (displayCaller && this.assert.caller) ? - String.format(Sys.Res.assertFailedCaller, message, this.assert.caller) : - String.format(Sys.Res.assertFailed, message); - if (confirm(String.format(Sys.Res.breakIntoDebugger, message))) { - this.fail(message); - } - } - } - function Sys$_Debug$clearTrace() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var traceElement = document.getElementById('TraceConsole'); - if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { - traceElement.value = ''; - } - } - function Sys$_Debug$fail(message) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true} - ]); - if (e) throw e; - this._appendConsole(message); - if (Sys.Browser.hasDebuggerStatement) { - eval('debugger'); - } - } - function Sys$_Debug$trace(text) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "text"} - ]); - if (e) throw e; - this._appendConsole(text); - this._appendTrace(text); - } - function Sys$_Debug$traceDump(object, name) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "object", mayBeNull: true}, - {name: "name", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var text = this._traceDump(object, name, true); - } - function Sys$_Debug$_traceDump(object, name, recursive, indentationPadding, loopArray) { - name = name? name : 'traceDump'; - indentationPadding = indentationPadding? indentationPadding : ''; - if (object === null) { - this.trace(indentationPadding + name + ': null'); - return; - } - switch(typeof(object)) { - case 'undefined': - this.trace(indentationPadding + name + ': Undefined'); - break; - case 'number': case 'string': case 'boolean': - this.trace(indentationPadding + name + ': ' + object); - break; - default: - if (Date.isInstanceOfType(object) || RegExp.isInstanceOfType(object)) { - this.trace(indentationPadding + name + ': ' + object.toString()); - break; - } - if (!loopArray) { - loopArray = []; - } - else if (Array.contains(loopArray, object)) { - this.trace(indentationPadding + name + ': ...'); - return; - } - Array.add(loopArray, object); - if ((object == window) || (object === document) || - (window.HTMLElement && (object instanceof HTMLElement)) || - (typeof(object.nodeName) === 'string')) { - var tag = object.tagName? object.tagName : 'DomElement'; - if (object.id) { - tag += ' - ' + object.id; - } - this.trace(indentationPadding + name + ' {' + tag + '}'); - } - else { - var typeName = Object.getTypeName(object); - this.trace(indentationPadding + name + (typeof(typeName) === 'string' ? ' {' + typeName + '}' : '')); - if ((indentationPadding === '') || recursive) { - indentationPadding += " "; - var i, length, properties, p, v; - if (Array.isInstanceOfType(object)) { - length = object.length; - for (i = 0; i < length; i++) { - this._traceDump(object[i], '[' + i + ']', recursive, indentationPadding, loopArray); - } - } - else { - for (p in object) { - v = object[p]; - if (!Function.isInstanceOfType(v)) { - this._traceDump(v, p, recursive, indentationPadding, loopArray); - } - } - } - } - } - Array.remove(loopArray, object); - } - } -Sys._Debug.prototype = { - _appendConsole: Sys$_Debug$_appendConsole, - _appendTrace: Sys$_Debug$_appendTrace, - assert: Sys$_Debug$assert, - clearTrace: Sys$_Debug$clearTrace, - fail: Sys$_Debug$fail, - trace: Sys$_Debug$trace, - traceDump: Sys$_Debug$traceDump, - _traceDump: Sys$_Debug$_traceDump -} -Sys._Debug.registerClass('Sys._Debug'); -Sys.Debug = new Sys._Debug(); - Sys.Debug.isDebug = true; - -function Sys$Enum$parse(value, ignoreCase) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String}, - {name: "ignoreCase", type: Boolean, optional: true} - ]); - if (e) throw e; - var values, parsed, val; - if (ignoreCase) { - values = this.__lowerCaseValues; - if (!values) { - this.__lowerCaseValues = values = {}; - var prototype = this.prototype; - for (var name in prototype) { - values[name.toLowerCase()] = prototype[name]; - } - } - } - else { - values = this.prototype; - } - if (!this.__flags) { - val = (ignoreCase ? value.toLowerCase() : value); - parsed = values[val.trim()]; - if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); - return parsed; - } - else { - var parts = (ignoreCase ? value.toLowerCase() : value).split(','); - var v = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var part = parts[i].trim(); - parsed = values[part]; - if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value.split(',')[i].trim(), this.__typeName)); - v |= parsed; - } - return v; - } -} -function Sys$Enum$toString(value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", mayBeNull: true, optional: true} - ]); - if (e) throw e; - if ((typeof(value) === 'undefined') || (value === null)) return this.__string; - if ((typeof(value) != 'number') || ((value % 1) !== 0)) throw Error.argumentType('value', Object.getType(value), this); - var values = this.prototype; - var i; - if (!this.__flags || (value === 0)) { - for (i in values) { - if (values[i] === value) { - return i; - } - } - } - else { - var sorted = this.__sortedValues; - if (!sorted) { - sorted = []; - for (i in values) { - sorted[sorted.length] = {key: i, value: values[i]}; - } - sorted.sort(function(a, b) { - return a.value - b.value; - }); - this.__sortedValues = sorted; - } - var parts = []; - var v = value; - for (i = sorted.length - 1; i >= 0; i--) { - var kvp = sorted[i]; - var vali = kvp.value; - if (vali === 0) continue; - if ((vali & value) === vali) { - parts[parts.length] = kvp.key; - v -= vali; - if (v === 0) break; - } - } - if (parts.length && v === 0) return parts.reverse().join(', '); - } - throw Error.argumentOutOfRange('value', value, String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); -} -Type.prototype.registerEnum = function Type$registerEnum(name, flags) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "name", type: String}, - {name: "flags", type: Boolean, optional: true} - ]); - if (e) throw e; - if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw Error.argument('name', Sys.Res.notATypeName); - var parsedName; - try { - parsedName = eval(name); - } - catch(e) { - throw Error.argument('name', Sys.Res.argumentTypeName); - } - if (parsedName !== this) throw Error.argument('name', Sys.Res.badTypeName); - if (Sys.__registeredTypes[name]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, name)); - for (var j in this.prototype) { - var val = this.prototype[j]; - if (!Type.__identifierRegExp.test(j)) throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, j)); - if (typeof(val) !== 'number' || (val % 1) !== 0) throw Error.invalidOperation(Sys.Res.enumValueNotInteger); - if (typeof(this[j]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.enumReservedName, j)); - } - Sys.__upperCaseTypes[name.toUpperCase()] = this; - for (var i in this.prototype) { - this[i] = this.prototype[i]; - } - this.__typeName = name; - this.parse = Sys$Enum$parse; - this.__string = this.toString(); - this.toString = Sys$Enum$toString; - this.__flags = flags; - this.__enum = true; - Sys.__registeredTypes[name] = true; -} -Type.isEnum = function Type$isEnum(type) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "type", mayBeNull: true} - ]); - if (e) throw e; - if ((typeof(type) === 'undefined') || (type === null)) return false; - return !!type.__enum; -} -Type.isFlags = function Type$isFlags(type) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "type", mayBeNull: true} - ]); - if (e) throw e; - if ((typeof(type) === 'undefined') || (type === null)) return false; - return !!type.__flags; -} -Sys.CollectionChange = function Sys$CollectionChange(action, newItems, newStartingIndex, oldItems, oldStartingIndex) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "action", type: Sys.NotifyCollectionChangedAction}, - {name: "newItems", mayBeNull: true, optional: true}, - {name: "newStartingIndex", type: Number, mayBeNull: true, integer: true, optional: true}, - {name: "oldItems", mayBeNull: true, optional: true}, - {name: "oldStartingIndex", type: Number, mayBeNull: true, integer: true, optional: true} - ]); - if (e) throw e; - this.action = action; - if (newItems) { - if (!(newItems instanceof Array)) { - newItems = [newItems]; - } - } - this.newItems = newItems || null; - if (typeof newStartingIndex !== "number") { - newStartingIndex = -1; - } - this.newStartingIndex = newStartingIndex; - if (oldItems) { - if (!(oldItems instanceof Array)) { - oldItems = [oldItems]; - } - } - this.oldItems = oldItems || null; - if (typeof oldStartingIndex !== "number") { - oldStartingIndex = -1; - } - this.oldStartingIndex = oldStartingIndex; -} -Sys.CollectionChange.registerClass("Sys.CollectionChange"); -Sys.NotifyCollectionChangedAction = function Sys$NotifyCollectionChangedAction() { - /// - /// - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} -Sys.NotifyCollectionChangedAction.prototype = { - add: 0, - remove: 1, - reset: 2 -} -Sys.NotifyCollectionChangedAction.registerEnum('Sys.NotifyCollectionChangedAction'); -Sys.NotifyCollectionChangedEventArgs = function Sys$NotifyCollectionChangedEventArgs(changes) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "changes", type: Array, elementType: Sys.CollectionChange} - ]); - if (e) throw e; - this._changes = changes; - Sys.NotifyCollectionChangedEventArgs.initializeBase(this); -} - function Sys$NotifyCollectionChangedEventArgs$get_changes() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._changes || []; - } -Sys.NotifyCollectionChangedEventArgs.prototype = { - get_changes: Sys$NotifyCollectionChangedEventArgs$get_changes -} -Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs", Sys.EventArgs); -Sys.Observer = function Sys$Observer() { - throw Error.invalidOperation(); -} -Sys.Observer.registerClass("Sys.Observer"); -Sys.Observer.makeObservable = function Sys$Observer$makeObservable(target) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"} - ]); - if (e) throw e; - var isArray = target instanceof Array, - o = Sys.Observer; - Sys.Observer._ensureObservable(target); - if (target.setValue === o._observeMethods.setValue) return target; - o._addMethods(target, o._observeMethods); - if (isArray) { - o._addMethods(target, o._arrayMethods); - } - return target; -} -Sys.Observer._ensureObservable = function Sys$Observer$_ensureObservable(target) { - var type = typeof target; - if ((type === "string") || (type === "number") || (type === "boolean") || (type === "date")) { - throw Error.invalidOperation(String.format(Sys.Res.notObservable, type)); - } -} -Sys.Observer._addMethods = function Sys$Observer$_addMethods(target, methods) { - for (var m in methods) { - if (target[m] && (target[m] !== methods[m])) { - throw Error.invalidOperation(String.format(Sys.Res.observableConflict, m)); - } - target[m] = methods[m]; - } -} -Sys.Observer._addEventHandler = function Sys$Observer$_addEventHandler(target, eventName, handler) { - Sys.Observer._getContext(target, true).events._addHandler(eventName, handler); -} -Sys.Observer.addEventHandler = function Sys$Observer$addEventHandler(target, eventName, handler) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"}, - {name: "eventName", type: String}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Sys.Observer._ensureObservable(target); - Sys.Observer._addEventHandler(target, eventName, handler); -} -Sys.Observer._removeEventHandler = function Sys$Observer$_removeEventHandler(target, eventName, handler) { - Sys.Observer._getContext(target, true).events._removeHandler(eventName, handler); -} -Sys.Observer.removeEventHandler = function Sys$Observer$removeEventHandler(target, eventName, handler) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"}, - {name: "eventName", type: String}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Sys.Observer._ensureObservable(target); - Sys.Observer._removeEventHandler(target, eventName, handler); -} -Sys.Observer.raiseEvent = function Sys$Observer$raiseEvent(target, eventName, eventArgs) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"}, - {name: "eventName", type: String}, - {name: "eventArgs", type: Sys.EventArgs} - ]); - if (e) throw e; - Sys.Observer._ensureObservable(target); - var ctx = Sys.Observer._getContext(target); - if (!ctx) return; - var handler = ctx.events.getHandler(eventName); - if (handler) { - handler(target, eventArgs); - } -} -Sys.Observer.addPropertyChanged = function Sys$Observer$addPropertyChanged(target, handler) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Sys.Observer._ensureObservable(target); - Sys.Observer._addEventHandler(target, "propertyChanged", handler); -} -Sys.Observer.removePropertyChanged = function Sys$Observer$removePropertyChanged(target, handler) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Sys.Observer._ensureObservable(target); - Sys.Observer._removeEventHandler(target, "propertyChanged", handler); -} -Sys.Observer.beginUpdate = function Sys$Observer$beginUpdate(target) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"} - ]); - if (e) throw e; - Sys.Observer._ensureObservable(target); - Sys.Observer._getContext(target, true).updating = true; -} -Sys.Observer.endUpdate = function Sys$Observer$endUpdate(target) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"} - ]); - if (e) throw e; - Sys.Observer._ensureObservable(target); - var ctx = Sys.Observer._getContext(target); - if (!ctx || !ctx.updating) return; - ctx.updating = false; - var dirty = ctx.dirty; - ctx.dirty = false; - if (dirty) { - if (target instanceof Array) { - var changes = ctx.changes; - ctx.changes = null; - Sys.Observer.raiseCollectionChanged(target, changes); - } - Sys.Observer.raisePropertyChanged(target, ""); - } -} -Sys.Observer.isUpdating = function Sys$Observer$isUpdating(target) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"} - ]); - if (e) throw e; - Sys.Observer._ensureObservable(target); - var ctx = Sys.Observer._getContext(target); - return ctx ? ctx.updating : false; -} -Sys.Observer._setValue = function Sys$Observer$_setValue(target, propertyName, value) { - var getter, setter, mainTarget = target, path = propertyName.split('.'); - for (var i = 0, l = (path.length - 1); i < l ; i++) { - var name = path[i]; - getter = target["get_" + name]; - if (typeof (getter) === "function") { - target = getter.call(target); - } - else { - target = target[name]; - } - var type = typeof (target); - if ((target === null) || (type === "undefined")) { - throw Error.invalidOperation(String.format(Sys.Res.nullReferenceInPath, propertyName)); - } - } - var currentValue, lastPath = path[l]; - getter = target["get_" + lastPath]; - setter = target["set_" + lastPath]; - if (typeof(getter) === 'function') { - currentValue = getter.call(target); - } - else { - currentValue = target[lastPath]; - } - if (typeof(setter) === 'function') { - setter.call(target, value); - } - else { - target[lastPath] = value; - } - if (currentValue !== value) { - var ctx = Sys.Observer._getContext(mainTarget); - if (ctx && ctx.updating) { - ctx.dirty = true; - return; - }; - Sys.Observer.raisePropertyChanged(mainTarget, path[0]); - } -} -Sys.Observer.setValue = function Sys$Observer$setValue(target, propertyName, value) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"}, - {name: "propertyName", type: String}, - {name: "value", mayBeNull: true} - ]); - if (e) throw e; - Sys.Observer._ensureObservable(target); - Sys.Observer._setValue(target, propertyName, value); -} -Sys.Observer.raisePropertyChanged = function Sys$Observer$raisePropertyChanged(target, propertyName) { - /// - /// - /// - Sys.Observer.raiseEvent(target, "propertyChanged", new Sys.PropertyChangedEventArgs(propertyName)); -} -Sys.Observer.addCollectionChanged = function Sys$Observer$addCollectionChanged(target, handler) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target", type: Array, elementMayBeNull: true}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Sys.Observer._addEventHandler(target, "collectionChanged", handler); -} -Sys.Observer.removeCollectionChanged = function Sys$Observer$removeCollectionChanged(target, handler) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target", type: Array, elementMayBeNull: true}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Sys.Observer._removeEventHandler(target, "collectionChanged", handler); -} -Sys.Observer._collectionChange = function Sys$Observer$_collectionChange(target, change) { - var ctx = Sys.Observer._getContext(target); - if (ctx && ctx.updating) { - ctx.dirty = true; - var changes = ctx.changes; - if (!changes) { - ctx.changes = changes = [change]; - } - else { - changes.push(change); - } - } - else { - Sys.Observer.raiseCollectionChanged(target, [change]); - Sys.Observer.raisePropertyChanged(target, 'length'); - } -} -Sys.Observer.add = function Sys$Observer$add(target, item) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target", type: Array, elementMayBeNull: true}, - {name: "item", mayBeNull: true} - ]); - if (e) throw e; - var change = new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, [item], target.length); - Array.add(target, item); - Sys.Observer._collectionChange(target, change); -} -Sys.Observer.addRange = function Sys$Observer$addRange(target, items) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target", type: Array, elementMayBeNull: true}, - {name: "items", type: Array, elementMayBeNull: true} - ]); - if (e) throw e; - var change = new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, items, target.length); - Array.addRange(target, items); - Sys.Observer._collectionChange(target, change); -} -Sys.Observer.clear = function Sys$Observer$clear(target) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target", type: Array, elementMayBeNull: true} - ]); - if (e) throw e; - var oldItems = Array.clone(target); - Array.clear(target); - Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.reset, null, -1, oldItems, 0)); -} -Sys.Observer.insert = function Sys$Observer$insert(target, index, item) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target", type: Array, elementMayBeNull: true}, - {name: "index", type: Number, integer: true}, - {name: "item", mayBeNull: true} - ]); - if (e) throw e; - Array.insert(target, index, item); - Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, [item], index)); -} -Sys.Observer.remove = function Sys$Observer$remove(target, item) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target", type: Array, elementMayBeNull: true}, - {name: "item", mayBeNull: true} - ]); - if (e) throw e; - var index = Array.indexOf(target, item); - if (index !== -1) { - Array.remove(target, item); - Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove, null, -1, [item], index)); - return true; - } - return false; -} -Sys.Observer.removeAt = function Sys$Observer$removeAt(target, index) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target", type: Array, elementMayBeNull: true}, - {name: "index", type: Number, integer: true} - ]); - if (e) throw e; - if ((index > -1) && (index < target.length)) { - var item = target[index]; - Array.removeAt(target, index); - Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove, null, -1, [item], index)); - } -} -Sys.Observer.raiseCollectionChanged = function Sys$Observer$raiseCollectionChanged(target, changes) { - /// - /// - /// - Sys.Observer.raiseEvent(target, "collectionChanged", new Sys.NotifyCollectionChangedEventArgs(changes)); -} -Sys.Observer._observeMethods = { - add_propertyChanged: function(handler) { - Sys.Observer._addEventHandler(this, "propertyChanged", handler); - }, - remove_propertyChanged: function(handler) { - Sys.Observer._removeEventHandler(this, "propertyChanged", handler); - }, - addEventHandler: function(eventName, handler) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "eventName", type: String}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Sys.Observer._addEventHandler(this, eventName, handler); - }, - removeEventHandler: function(eventName, handler) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "eventName", type: String}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Sys.Observer._removeEventHandler(this, eventName, handler); - }, - get_isUpdating: function() { - /// - /// - return Sys.Observer.isUpdating(this); - }, - beginUpdate: function() { - /// - Sys.Observer.beginUpdate(this); - }, - endUpdate: function() { - /// - Sys.Observer.endUpdate(this); - }, - setValue: function(name, value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "name", type: String}, - {name: "value", mayBeNull: true} - ]); - if (e) throw e; - Sys.Observer._setValue(this, name, value); - }, - raiseEvent: function(eventName, eventArgs) { - /// - /// - /// - Sys.Observer.raiseEvent(this, eventName, eventArgs); - }, - raisePropertyChanged: function(name) { - /// - /// - Sys.Observer.raiseEvent(this, "propertyChanged", new Sys.PropertyChangedEventArgs(name)); - } -} -Sys.Observer._arrayMethods = { - add_collectionChanged: function(handler) { - Sys.Observer._addEventHandler(this, "collectionChanged", handler); - }, - remove_collectionChanged: function(handler) { - Sys.Observer._removeEventHandler(this, "collectionChanged", handler); - }, - add: function(item) { - /// - /// - Sys.Observer.add(this, item); - }, - addRange: function(items) { - /// - /// - Sys.Observer.addRange(this, items); - }, - clear: function() { - /// - Sys.Observer.clear(this); - }, - insert: function(index, item) { - /// - /// - /// - Sys.Observer.insert(this, index, item); - }, - remove: function(item) { - /// - /// - /// - return Sys.Observer.remove(this, item); - }, - removeAt: function(index) { - /// - /// - Sys.Observer.removeAt(this, index); - }, - raiseCollectionChanged: function(changes) { - /// - /// - Sys.Observer.raiseEvent(this, "collectionChanged", new Sys.NotifyCollectionChangedEventArgs(changes)); - } -} -Sys.Observer._getContext = function Sys$Observer$_getContext(obj, create) { - var ctx = obj._observerContext; - if (ctx) return ctx(); - if (create) { - return (obj._observerContext = Sys.Observer._createContext())(); - } - return null; -} -Sys.Observer._createContext = function Sys$Observer$_createContext() { - var ctx = { - events: new Sys.EventHandlerList() - }; - return function() { - return ctx; - } -} -Date._appendPreOrPostMatch = function Date$_appendPreOrPostMatch(preMatch, strBuilder) { - var quoteCount = 0; - var escaped = false; - for (var i = 0, il = preMatch.length; i < il; i++) { - var c = preMatch.charAt(i); - switch (c) { - case '\'': - if (escaped) strBuilder.append("'"); - else quoteCount++; - escaped = false; - break; - case '\\': - if (escaped) strBuilder.append("\\"); - escaped = !escaped; - break; - default: - strBuilder.append(c); - escaped = false; - break; - } - } - return quoteCount; -} -Date._expandFormat = function Date$_expandFormat(dtf, format) { - if (!format) { - format = "F"; - } - var len = format.length; - if (len === 1) { - switch (format) { - case "d": - return dtf.ShortDatePattern; - case "D": - return dtf.LongDatePattern; - case "t": - return dtf.ShortTimePattern; - case "T": - return dtf.LongTimePattern; - case "f": - return dtf.LongDatePattern + " " + dtf.ShortTimePattern; - case "F": - return dtf.FullDateTimePattern; - case "M": case "m": - return dtf.MonthDayPattern; - case "s": - return dtf.SortableDateTimePattern; - case "Y": case "y": - return dtf.YearMonthPattern; - default: - throw Error.format(Sys.Res.formatInvalidString); - } - } - else if ((len === 2) && (format.charAt(0) === "%")) { - format = format.charAt(1); - } - return format; -} -Date._expandYear = function Date$_expandYear(dtf, year) { - var now = new Date(), - era = Date._getEra(now); - if (year < 100) { - var curr = Date._getEraYear(now, dtf, era); - year += curr - (curr % 100); - if (year > dtf.Calendar.TwoDigitYearMax) { - year -= 100; - } - } - return year; -} -Date._getEra = function Date$_getEra(date, eras) { - if (!eras) return 0; - var start, ticks = date.getTime(); - for (var i = 0, l = eras.length; i < l; i += 4) { - start = eras[i+2]; - if ((start === null) || (ticks >= start)) { - return i; - } - } - return 0; -} -Date._getEraYear = function Date$_getEraYear(date, dtf, era, sortable) { - var year = date.getFullYear(); - if (!sortable && dtf.eras) { - year -= dtf.eras[era + 3]; - } - return year; -} -Date._getParseRegExp = function Date$_getParseRegExp(dtf, format) { - if (!dtf._parseRegExp) { - dtf._parseRegExp = {}; - } - else if (dtf._parseRegExp[format]) { - return dtf._parseRegExp[format]; - } - var expFormat = Date._expandFormat(dtf, format); - expFormat = expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1"); - var regexp = new Sys.StringBuilder("^"); - var groups = []; - var index = 0; - var quoteCount = 0; - var tokenRegExp = Date._getTokenRegExp(); - var match; - while ((match = tokenRegExp.exec(expFormat)) !== null) { - var preMatch = expFormat.slice(index, match.index); - index = tokenRegExp.lastIndex; - quoteCount += Date._appendPreOrPostMatch(preMatch, regexp); - if ((quoteCount%2) === 1) { - regexp.append(match[0]); - continue; - } - switch (match[0]) { - case 'dddd': case 'ddd': - case 'MMMM': case 'MMM': - case 'gg': case 'g': - regexp.append("(\\D+)"); - break; - case 'tt': case 't': - regexp.append("(\\D*)"); - break; - case 'yyyy': - regexp.append("(\\d{4})"); - break; - case 'fff': - regexp.append("(\\d{3})"); - break; - case 'ff': - regexp.append("(\\d{2})"); - break; - case 'f': - regexp.append("(\\d)"); - break; - case 'dd': case 'd': - case 'MM': case 'M': - case 'yy': case 'y': - case 'HH': case 'H': - case 'hh': case 'h': - case 'mm': case 'm': - case 'ss': case 's': - regexp.append("(\\d\\d?)"); - break; - case 'zzz': - regexp.append("([+-]?\\d\\d?:\\d{2})"); - break; - case 'zz': case 'z': - regexp.append("([+-]?\\d\\d?)"); - break; - case '/': - regexp.append("(\\" + dtf.DateSeparator + ")"); - break; - default: - Sys.Debug.fail("Invalid date format pattern"); - } - Array.add(groups, match[0]); - } - Date._appendPreOrPostMatch(expFormat.slice(index), regexp); - regexp.append("$"); - var regexpStr = regexp.toString().replace(/\s+/g, "\\s+"); - var parseRegExp = {'regExp': regexpStr, 'groups': groups}; - dtf._parseRegExp[format] = parseRegExp; - return parseRegExp; -} -Date._getTokenRegExp = function Date$_getTokenRegExp() { - return /\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g; -} -Date.parseLocale = function Date$parseLocale(value, formats) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String}, - {name: "formats", mayBeNull: true, optional: true, parameterArray: true} - ]); - if (e) throw e; - return Date._parse(value, Sys.CultureInfo.CurrentCulture, arguments); -} -Date.parseInvariant = function Date$parseInvariant(value, formats) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String}, - {name: "formats", mayBeNull: true, optional: true, parameterArray: true} - ]); - if (e) throw e; - return Date._parse(value, Sys.CultureInfo.InvariantCulture, arguments); -} -Date._parse = function Date$_parse(value, cultureInfo, args) { - var i, l, date, format, formats, custom = false; - for (i = 1, l = args.length; i < l; i++) { - format = args[i]; - if (format) { - custom = true; - date = Date._parseExact(value, format, cultureInfo); - if (date) return date; - } - } - if (! custom) { - formats = cultureInfo._getDateTimeFormats(); - for (i = 0, l = formats.length; i < l; i++) { - date = Date._parseExact(value, formats[i], cultureInfo); - if (date) return date; - } - } - return null; -} -Date._parseExact = function Date$_parseExact(value, format, cultureInfo) { - value = value.trim(); - var dtf = cultureInfo.dateTimeFormat, - parseInfo = Date._getParseRegExp(dtf, format), - match = new RegExp(parseInfo.regExp).exec(value); - if (match === null) return null; - - var groups = parseInfo.groups, - era = null, year = null, month = null, date = null, weekDay = null, - hour = 0, hourOffset, min = 0, sec = 0, msec = 0, tzMinOffset = null, - pmHour = false; - for (var j = 0, jl = groups.length; j < jl; j++) { - var matchGroup = match[j+1]; - if (matchGroup) { - switch (groups[j]) { - case 'dd': case 'd': - date = parseInt(matchGroup, 10); - if ((date < 1) || (date > 31)) return null; - break; - case 'MMMM': - month = cultureInfo._getMonthIndex(matchGroup); - if ((month < 0) || (month > 11)) return null; - break; - case 'MMM': - month = cultureInfo._getAbbrMonthIndex(matchGroup); - if ((month < 0) || (month > 11)) return null; - break; - case 'M': case 'MM': - month = parseInt(matchGroup, 10) - 1; - if ((month < 0) || (month > 11)) return null; - break; - case 'y': case 'yy': - year = Date._expandYear(dtf,parseInt(matchGroup, 10)); - if ((year < 0) || (year > 9999)) return null; - break; - case 'yyyy': - year = parseInt(matchGroup, 10); - if ((year < 0) || (year > 9999)) return null; - break; - case 'h': case 'hh': - hour = parseInt(matchGroup, 10); - if (hour === 12) hour = 0; - if ((hour < 0) || (hour > 11)) return null; - break; - case 'H': case 'HH': - hour = parseInt(matchGroup, 10); - if ((hour < 0) || (hour > 23)) return null; - break; - case 'm': case 'mm': - min = parseInt(matchGroup, 10); - if ((min < 0) || (min > 59)) return null; - break; - case 's': case 'ss': - sec = parseInt(matchGroup, 10); - if ((sec < 0) || (sec > 59)) return null; - break; - case 'tt': case 't': - var upperToken = matchGroup.toUpperCase(); - pmHour = (upperToken === dtf.PMDesignator.toUpperCase()); - if (!pmHour && (upperToken !== dtf.AMDesignator.toUpperCase())) return null; - break; - case 'f': - msec = parseInt(matchGroup, 10) * 100; - if ((msec < 0) || (msec > 999)) return null; - break; - case 'ff': - msec = parseInt(matchGroup, 10) * 10; - if ((msec < 0) || (msec > 999)) return null; - break; - case 'fff': - msec = parseInt(matchGroup, 10); - if ((msec < 0) || (msec > 999)) return null; - break; - case 'dddd': - weekDay = cultureInfo._getDayIndex(matchGroup); - if ((weekDay < 0) || (weekDay > 6)) return null; - break; - case 'ddd': - weekDay = cultureInfo._getAbbrDayIndex(matchGroup); - if ((weekDay < 0) || (weekDay > 6)) return null; - break; - case 'zzz': - var offsets = matchGroup.split(/:/); - if (offsets.length !== 2) return null; - hourOffset = parseInt(offsets[0], 10); - if ((hourOffset < -12) || (hourOffset > 13)) return null; - var minOffset = parseInt(offsets[1], 10); - if ((minOffset < 0) || (minOffset > 59)) return null; - tzMinOffset = (hourOffset * 60) + (matchGroup.startsWith('-')? -minOffset : minOffset); - break; - case 'z': case 'zz': - hourOffset = parseInt(matchGroup, 10); - if ((hourOffset < -12) || (hourOffset > 13)) return null; - tzMinOffset = hourOffset * 60; - break; - case 'g': case 'gg': - var eraName = matchGroup; - if (!eraName || !dtf.eras) return null; - eraName = eraName.toLowerCase().trim(); - for (var i = 0, l = dtf.eras.length; i < l; i += 4) { - if (eraName === dtf.eras[i + 1].toLowerCase()) { - era = i; - break; - } - } - if (era === null) return null; - break; - } - } - } - var result = new Date(), defaults, convert = dtf.Calendar.convert; - if (convert) { - defaults = convert.fromGregorian(result); - } - if (!convert) { - defaults = [result.getFullYear(), result.getMonth(), result.getDate()]; - } - if (year === null) { - year = defaults[0]; - } - else if (dtf.eras) { - year += dtf.eras[(era || 0) + 3]; - } - if (month === null) { - month = defaults[1]; - } - if (date === null) { - date = defaults[2]; - } - if (convert) { - result = convert.toGregorian(year, month, date); - if (result === null) return null; - } - else { - result.setFullYear(year, month, date); - if (result.getDate() !== date) return null; - if ((weekDay !== null) && (result.getDay() !== weekDay)) { - return null; - } - } - if (pmHour && (hour < 12)) { - hour += 12; - } - result.setHours(hour, min, sec, msec); - if (tzMinOffset !== null) { - var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset()); - result.setHours(result.getHours() + parseInt(adjustedMin/60, 10), adjustedMin%60); - } - return result; -} -Date.prototype.format = function Date$format(format) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String} - ]); - if (e) throw e; - return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); -} -Date.prototype.localeFormat = function Date$localeFormat(format) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String} - ]); - if (e) throw e; - return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); -} -Date.prototype._toFormattedString = function Date$_toFormattedString(format, cultureInfo) { - var dtf = cultureInfo.dateTimeFormat, - convert = dtf.Calendar.convert; - if (!format || !format.length || (format === 'i')) { - if (cultureInfo && cultureInfo.name.length) { - if (convert) { - return this._toFormattedString(dtf.FullDateTimePattern, cultureInfo); - } - else { - var eraDate = new Date(this.getTime()); - var era = Date._getEra(this, dtf.eras); - eraDate.setFullYear(Date._getEraYear(this, dtf, era)); - return eraDate.toLocaleString(); - } - } - else { - return this.toString(); - } - } - var eras = dtf.eras, - sortable = (format === "s"); - format = Date._expandFormat(dtf, format); - var ret = new Sys.StringBuilder(); - var hour; - function addLeadingZero(num) { - if (num < 10) { - return '0' + num; - } - return num.toString(); - } - function addLeadingZeros(num) { - if (num < 10) { - return '00' + num; - } - if (num < 100) { - return '0' + num; - } - return num.toString(); - } - function padYear(year) { - if (year < 10) { - return '000' + year; - } - else if (year < 100) { - return '00' + year; - } - else if (year < 1000) { - return '0' + year; - } - return year.toString(); - } - - var foundDay, checkedDay, dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g; - function hasDay() { - if (foundDay || checkedDay) { - return foundDay; - } - foundDay = dayPartRegExp.test(format); - checkedDay = true; - return foundDay; - } - - var quoteCount = 0, - tokenRegExp = Date._getTokenRegExp(), - converted; - if (!sortable && convert) { - converted = convert.fromGregorian(this); - } - for (;;) { - var index = tokenRegExp.lastIndex; - var ar = tokenRegExp.exec(format); - var preMatch = format.slice(index, ar ? ar.index : format.length); - quoteCount += Date._appendPreOrPostMatch(preMatch, ret); - if (!ar) break; - if ((quoteCount%2) === 1) { - ret.append(ar[0]); - continue; - } - - function getPart(date, part) { - if (converted) { - return converted[part]; - } - switch (part) { - case 0: return date.getFullYear(); - case 1: return date.getMonth(); - case 2: return date.getDate(); - } - } - switch (ar[0]) { - case "dddd": - ret.append(dtf.DayNames[this.getDay()]); - break; - case "ddd": - ret.append(dtf.AbbreviatedDayNames[this.getDay()]); - break; - case "dd": - foundDay = true; - ret.append(addLeadingZero(getPart(this, 2))); - break; - case "d": - foundDay = true; - ret.append(getPart(this, 2)); - break; - case "MMMM": - ret.append((dtf.MonthGenitiveNames && hasDay()) - ? dtf.MonthGenitiveNames[getPart(this, 1)] - : dtf.MonthNames[getPart(this, 1)]); - break; - case "MMM": - ret.append((dtf.AbbreviatedMonthGenitiveNames && hasDay()) - ? dtf.AbbreviatedMonthGenitiveNames[getPart(this, 1)] - : dtf.AbbreviatedMonthNames[getPart(this, 1)]); - break; - case "MM": - ret.append(addLeadingZero(getPart(this, 1) + 1)); - break; - case "M": - ret.append(getPart(this, 1) + 1); - break; - case "yyyy": - ret.append(padYear(converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable))); - break; - case "yy": - ret.append(addLeadingZero((converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)) % 100)); - break; - case "y": - ret.append((converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)) % 100); - break; - case "hh": - hour = this.getHours() % 12; - if (hour === 0) hour = 12; - ret.append(addLeadingZero(hour)); - break; - case "h": - hour = this.getHours() % 12; - if (hour === 0) hour = 12; - ret.append(hour); - break; - case "HH": - ret.append(addLeadingZero(this.getHours())); - break; - case "H": - ret.append(this.getHours()); - break; - case "mm": - ret.append(addLeadingZero(this.getMinutes())); - break; - case "m": - ret.append(this.getMinutes()); - break; - case "ss": - ret.append(addLeadingZero(this.getSeconds())); - break; - case "s": - ret.append(this.getSeconds()); - break; - case "tt": - ret.append((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator); - break; - case "t": - ret.append(((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator).charAt(0)); - break; - case "f": - ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0)); - break; - case "ff": - ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2)); - break; - case "fff": - ret.append(addLeadingZeros(this.getMilliseconds())); - break; - case "z": - hour = this.getTimezoneOffset() / 60; - ret.append(((hour <= 0) ? '+' : '-') + Math.floor(Math.abs(hour))); - break; - case "zz": - hour = this.getTimezoneOffset() / 60; - ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour)))); - break; - case "zzz": - hour = this.getTimezoneOffset() / 60; - ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))) + - ":" + addLeadingZero(Math.abs(this.getTimezoneOffset() % 60))); - break; - case "g": - case "gg": - if (dtf.eras) { - ret.append(dtf.eras[Date._getEra(this, eras) + 1]); - } - break; - case "/": - ret.append(dtf.DateSeparator); - break; - default: - Sys.Debug.fail("Invalid date format pattern"); - } - } - return ret.toString(); -} -String.localeFormat = function String$localeFormat(format, args) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String}, - {name: "args", mayBeNull: true, parameterArray: true} - ]); - if (e) throw e; - return String._toFormattedString(true, arguments); -} -Number.parseLocale = function Number$parseLocale(value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String} - ], false); - if (e) throw e; - return Number._parse(value, Sys.CultureInfo.CurrentCulture); -} -Number.parseInvariant = function Number$parseInvariant(value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String} - ], false); - if (e) throw e; - return Number._parse(value, Sys.CultureInfo.InvariantCulture); -} -Number._parse = function Number$_parse(value, cultureInfo) { - value = value.trim(); - - if (value.match(/^[+-]?infinity$/i)) { - return parseFloat(value); - } - if (value.match(/^0x[a-f0-9]+$/i)) { - return parseInt(value); - } - var numFormat = cultureInfo.numberFormat; - var signInfo = Number._parseNumberNegativePattern(value, numFormat, numFormat.NumberNegativePattern); - var sign = signInfo[0]; - var num = signInfo[1]; - - if ((sign === '') && (numFormat.NumberNegativePattern !== 1)) { - signInfo = Number._parseNumberNegativePattern(value, numFormat, 1); - sign = signInfo[0]; - num = signInfo[1]; - } - if (sign === '') sign = '+'; - - var exponent; - var intAndFraction; - var exponentPos = num.indexOf('e'); - if (exponentPos < 0) exponentPos = num.indexOf('E'); - if (exponentPos < 0) { - intAndFraction = num; - exponent = null; - } - else { - intAndFraction = num.substr(0, exponentPos); - exponent = num.substr(exponentPos + 1); - } - - var integer; - var fraction; - var decimalPos = intAndFraction.indexOf(numFormat.NumberDecimalSeparator); - if (decimalPos < 0) { - integer = intAndFraction; - fraction = null; - } - else { - integer = intAndFraction.substr(0, decimalPos); - fraction = intAndFraction.substr(decimalPos + numFormat.NumberDecimalSeparator.length); - } - - integer = integer.split(numFormat.NumberGroupSeparator).join(''); - var altNumGroupSeparator = numFormat.NumberGroupSeparator.replace(/\u00A0/g, " "); - if (numFormat.NumberGroupSeparator !== altNumGroupSeparator) { - integer = integer.split(altNumGroupSeparator).join(''); - } - - var p = sign + integer; - if (fraction !== null) { - p += '.' + fraction; - } - if (exponent !== null) { - var expSignInfo = Number._parseNumberNegativePattern(exponent, numFormat, 1); - if (expSignInfo[0] === '') { - expSignInfo[0] = '+'; - } - p += 'e' + expSignInfo[0] + expSignInfo[1]; - } - if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) { - return parseFloat(p); - } - return Number.NaN; -} -Number._parseNumberNegativePattern = function Number$_parseNumberNegativePattern(value, numFormat, numberNegativePattern) { - var neg = numFormat.NegativeSign; - var pos = numFormat.PositiveSign; - switch (numberNegativePattern) { - case 4: - neg = ' ' + neg; - pos = ' ' + pos; - case 3: - if (value.endsWith(neg)) { - return ['-', value.substr(0, value.length - neg.length)]; - } - else if (value.endsWith(pos)) { - return ['+', value.substr(0, value.length - pos.length)]; - } - break; - case 2: - neg += ' '; - pos += ' '; - case 1: - if (value.startsWith(neg)) { - return ['-', value.substr(neg.length)]; - } - else if (value.startsWith(pos)) { - return ['+', value.substr(pos.length)]; - } - break; - case 0: - if (value.startsWith('(') && value.endsWith(')')) { - return ['-', value.substr(1, value.length - 2)]; - } - break; - default: - Sys.Debug.fail(""); - } - return ['', value]; -} -Number.prototype.format = function Number$format(format) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String} - ]); - if (e) throw e; - return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); -} -Number.prototype.localeFormat = function Number$localeFormat(format) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String} - ]); - if (e) throw e; - return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); -} -Number.prototype._toFormattedString = function Number$_toFormattedString(format, cultureInfo) { - if (!format || (format.length === 0) || (format === 'i')) { - if (cultureInfo && (cultureInfo.name.length > 0)) { - return this.toLocaleString(); - } - else { - return this.toString(); - } - } - - var _percentPositivePattern = ["n %", "n%", "%n" ]; - var _percentNegativePattern = ["-n %", "-n%", "-%n"]; - var _numberNegativePattern = ["(n)","-n","- n","n-","n -"]; - var _currencyPositivePattern = ["$n","n$","$ n","n $"]; - var _currencyNegativePattern = ["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"]; - function zeroPad(str, count, left) { - for (var l=str.length; l < count; l++) { - str = (left ? ('0' + str) : (str + '0')); - } - return str; - } - - function expandNumber(number, precision, groupSizes, sep, decimalChar) { - Sys.Debug.assert(groupSizes.length > 0, "groupSizes must be an array of at least 1"); - var curSize = groupSizes[0]; - var curGroupIndex = 1; - var factor = Math.pow(10, precision); - var rounded = (Math.round(number * factor) / factor); - if (!isFinite(rounded)) { - rounded = number; - } - number = rounded; - - var numberString = number.toString(); - var right = ""; - var exponent; - - - var split = numberString.split(/e/i); - numberString = split[0]; - exponent = (split.length > 1 ? parseInt(split[1]) : 0); - split = numberString.split('.'); - numberString = split[0]; - right = split.length > 1 ? split[1] : ""; - - var l; - if (exponent > 0) { - right = zeroPad(right, exponent, false); - numberString += right.slice(0, exponent); - right = right.substr(exponent); - } - else if (exponent < 0) { - exponent = -exponent; - numberString = zeroPad(numberString, exponent+1, true); - right = numberString.slice(-exponent, numberString.length) + right; - numberString = numberString.slice(0, -exponent); - } - if (precision > 0) { - if (right.length > precision) { - right = right.slice(0, precision); - } - else { - right = zeroPad(right, precision, false); - } - right = decimalChar + right; - } - else { - right = ""; - } - var stringIndex = numberString.length-1; - var ret = ""; - while (stringIndex >= 0) { - if (curSize === 0 || curSize > stringIndex) { - if (ret.length > 0) - return numberString.slice(0, stringIndex + 1) + sep + ret + right; - else - return numberString.slice(0, stringIndex + 1) + right; - } - if (ret.length > 0) - ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1) + sep + ret; - else - ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1); - stringIndex -= curSize; - if (curGroupIndex < groupSizes.length) { - curSize = groupSizes[curGroupIndex]; - curGroupIndex++; - } - } - return numberString.slice(0, stringIndex + 1) + sep + ret + right; - } - var nf = cultureInfo.numberFormat; - var number = Math.abs(this); - if (!format) - format = "D"; - var precision = -1; - if (format.length > 1) precision = parseInt(format.slice(1), 10); - var pattern; - switch (format.charAt(0)) { - case "d": - case "D": - pattern = 'n'; - if (precision !== -1) { - number = zeroPad(""+number, precision, true); - } - if (this < 0) number = -number; - break; - case "c": - case "C": - if (this < 0) pattern = _currencyNegativePattern[nf.CurrencyNegativePattern]; - else pattern = _currencyPositivePattern[nf.CurrencyPositivePattern]; - if (precision === -1) precision = nf.CurrencyDecimalDigits; - number = expandNumber(Math.abs(this), precision, nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, nf.CurrencyDecimalSeparator); - break; - case "n": - case "N": - if (this < 0) pattern = _numberNegativePattern[nf.NumberNegativePattern]; - else pattern = 'n'; - if (precision === -1) precision = nf.NumberDecimalDigits; - number = expandNumber(Math.abs(this), precision, nf.NumberGroupSizes, nf.NumberGroupSeparator, nf.NumberDecimalSeparator); - break; - case "p": - case "P": - if (this < 0) pattern = _percentNegativePattern[nf.PercentNegativePattern]; - else pattern = _percentPositivePattern[nf.PercentPositivePattern]; - if (precision === -1) precision = nf.PercentDecimalDigits; - number = expandNumber(Math.abs(this) * 100, precision, nf.PercentGroupSizes, nf.PercentGroupSeparator, nf.PercentDecimalSeparator); - break; - default: - throw Error.format(Sys.Res.formatBadFormatSpecifier); - } - var regex = /n|\$|-|%/g; - var ret = ""; - for (;;) { - var index = regex.lastIndex; - var ar = regex.exec(pattern); - ret += pattern.slice(index, ar ? ar.index : pattern.length); - if (!ar) - break; - switch (ar[0]) { - case "n": - ret += number; - break; - case "$": - ret += nf.CurrencySymbol; - break; - case "-": - if (/[1-9]/.test(number)) { - ret += nf.NegativeSign; - } - break; - case "%": - ret += nf.PercentSymbol; - break; - default: - Sys.Debug.fail("Invalid number format pattern"); - } - } - return ret; -} - -Sys.CultureInfo = function Sys$CultureInfo(name, numberFormat, dateTimeFormat) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "name", type: String}, - {name: "numberFormat", type: Object}, - {name: "dateTimeFormat", type: Object} - ]); - if (e) throw e; - this.name = name; - this.numberFormat = numberFormat; - this.dateTimeFormat = dateTimeFormat; -} - function Sys$CultureInfo$_getDateTimeFormats() { - if (! this._dateTimeFormats) { - var dtf = this.dateTimeFormat; - this._dateTimeFormats = - [ dtf.MonthDayPattern, - dtf.YearMonthPattern, - dtf.ShortDatePattern, - dtf.ShortTimePattern, - dtf.LongDatePattern, - dtf.LongTimePattern, - dtf.FullDateTimePattern, - dtf.RFC1123Pattern, - dtf.SortableDateTimePattern, - dtf.UniversalSortableDateTimePattern ]; - } - return this._dateTimeFormats; - } - function Sys$CultureInfo$_getIndex(value, a1, a2) { - var upper = this._toUpper(value), - i = Array.indexOf(a1, upper); - if (i === -1) { - i = Array.indexOf(a2, upper); - } - return i; - } - function Sys$CultureInfo$_getMonthIndex(value) { - if (!this._upperMonths) { - this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames); - this._upperMonthsGenitive = this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames); - } - return this._getIndex(value, this._upperMonths, this._upperMonthsGenitive); - } - function Sys$CultureInfo$_getAbbrMonthIndex(value) { - if (!this._upperAbbrMonths) { - this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames); - this._upperAbbrMonthsGenitive = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames); - } - return this._getIndex(value, this._upperAbbrMonths, this._upperAbbrMonthsGenitive); - } - function Sys$CultureInfo$_getDayIndex(value) { - if (!this._upperDays) { - this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames); - } - return Array.indexOf(this._upperDays, this._toUpper(value)); - } - function Sys$CultureInfo$_getAbbrDayIndex(value) { - if (!this._upperAbbrDays) { - this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames); - } - return Array.indexOf(this._upperAbbrDays, this._toUpper(value)); - } - function Sys$CultureInfo$_toUpperArray(arr) { - var result = []; - for (var i = 0, il = arr.length; i < il; i++) { - result[i] = this._toUpper(arr[i]); - } - return result; - } - function Sys$CultureInfo$_toUpper(value) { - return value.split("\u00A0").join(' ').toUpperCase(); - } -Sys.CultureInfo.prototype = { - _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats, - _getIndex: Sys$CultureInfo$_getIndex, - _getMonthIndex: Sys$CultureInfo$_getMonthIndex, - _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex, - _getDayIndex: Sys$CultureInfo$_getDayIndex, - _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex, - _toUpperArray: Sys$CultureInfo$_toUpperArray, - _toUpper: Sys$CultureInfo$_toUpper -} -Sys.CultureInfo.registerClass('Sys.CultureInfo'); -Sys.CultureInfo._parse = function Sys$CultureInfo$_parse(value) { - var dtf = value.dateTimeFormat; - if (dtf && !dtf.eras) { - dtf.eras = value.eras; - } - return new Sys.CultureInfo(value.name, value.numberFormat, dtf); -} -Sys.CultureInfo.InvariantCulture = Sys.CultureInfo._parse({"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]}); -if (typeof(__cultureInfo) === "object") { - Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse(__cultureInfo); - delete __cultureInfo; -} -else { - Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse({"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]}); -} -Type.registerNamespace('Sys.Serialization'); -Sys.Serialization.JavaScriptSerializer = function Sys$Serialization$JavaScriptSerializer() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); -} -Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer'); -Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs = []; -Sys.Serialization.JavaScriptSerializer._charsToEscape = []; -Sys.Serialization.JavaScriptSerializer._dateRegEx = new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"', 'g'); -Sys.Serialization.JavaScriptSerializer._escapeChars = {}; -Sys.Serialization.JavaScriptSerializer._escapeRegEx = new RegExp('["\\\\\\x00-\\x1F]', 'i'); -Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal = new RegExp('["\\\\\\x00-\\x1F]', 'g'); -Sys.Serialization.JavaScriptSerializer._jsonRegEx = new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g'); -Sys.Serialization.JavaScriptSerializer._jsonStringRegEx = new RegExp('"(\\\\.|[^"\\\\])*"', 'g'); -Sys.Serialization.JavaScriptSerializer._serverTypeFieldName = '__type'; -Sys.Serialization.JavaScriptSerializer._init = function Sys$Serialization$JavaScriptSerializer$_init() { - var replaceChars = ['\\u0000','\\u0001','\\u0002','\\u0003','\\u0004','\\u0005','\\u0006','\\u0007', - '\\b','\\t','\\n','\\u000b','\\f','\\r','\\u000e','\\u000f','\\u0010','\\u0011', - '\\u0012','\\u0013','\\u0014','\\u0015','\\u0016','\\u0017','\\u0018','\\u0019', - '\\u001a','\\u001b','\\u001c','\\u001d','\\u001e','\\u001f']; - Sys.Serialization.JavaScriptSerializer._charsToEscape[0] = '\\'; - Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\'] = new RegExp('\\\\', 'g'); - Sys.Serialization.JavaScriptSerializer._escapeChars['\\'] = '\\\\'; - Sys.Serialization.JavaScriptSerializer._charsToEscape[1] = '"'; - Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"'] = new RegExp('"', 'g'); - Sys.Serialization.JavaScriptSerializer._escapeChars['"'] = '\\"'; - for (var i = 0; i < 32; i++) { - var c = String.fromCharCode(i); - Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2] = c; - Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c] = new RegExp(c, 'g'); - Sys.Serialization.JavaScriptSerializer._escapeChars[c] = replaceChars[i]; - } -} -Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object, stringBuilder) { - stringBuilder.append(object.toString()); -} -Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object, stringBuilder) { - if (isFinite(object)) { - stringBuilder.append(String(object)); - } - else { - throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers); - } -} -Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string, stringBuilder) { - stringBuilder.append('"'); - if (Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)) { - if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length === 0) { - Sys.Serialization.JavaScriptSerializer._init(); - } - if (string.length < 128) { - string = string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal, - function(x) { return Sys.Serialization.JavaScriptSerializer._escapeChars[x]; }); - } - else { - for (var i = 0; i < 34; i++) { - var c = Sys.Serialization.JavaScriptSerializer._charsToEscape[i]; - if (string.indexOf(c) !== -1) { - if (Sys.Browser.agent === Sys.Browser.Opera || Sys.Browser.agent === Sys.Browser.FireFox) { - string = string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[c]); - } - else { - string = string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c], - Sys.Serialization.JavaScriptSerializer._escapeChars[c]); - } - } - } - } - } - stringBuilder.append(string); - stringBuilder.append('"'); -} -Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, stringBuilder, sort, prevObjects) { - var i; - switch (typeof object) { - case 'object': - if (object) { - if (prevObjects){ - for( var j = 0; j < prevObjects.length; j++) { - if (prevObjects[j] === object) { - throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle); - } - } - } - else { - prevObjects = new Array(); - } - try { - Array.add(prevObjects, object); - - if (Number.isInstanceOfType(object)){ - Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder); - } - else if (Boolean.isInstanceOfType(object)){ - Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder); - } - else if (String.isInstanceOfType(object)){ - Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder); - } - - else if (Array.isInstanceOfType(object)) { - stringBuilder.append('['); - - for (i = 0; i < object.length; ++i) { - if (i > 0) { - stringBuilder.append(','); - } - Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], stringBuilder,false,prevObjects); - } - stringBuilder.append(']'); - } - else { - if (Date.isInstanceOfType(object)) { - stringBuilder.append('"\\/Date('); - stringBuilder.append(object.getTime()); - stringBuilder.append(')\\/"'); - break; - } - var properties = []; - var propertyCount = 0; - for (var name in object) { - if (name.startsWith('$')) { - continue; - } - if (name === Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && propertyCount !== 0){ - properties[propertyCount++] = properties[0]; - properties[0] = name; - } - else{ - properties[propertyCount++] = name; - } - } - if (sort) properties.sort(); - stringBuilder.append('{'); - var needComma = false; - - for (i=0; i - /// - /// - var e = Function._validateParams(arguments, [ - {name: "object", mayBeNull: true} - ]); - if (e) throw e; - var stringBuilder = new Sys.StringBuilder(); - Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, stringBuilder, false); - return stringBuilder.toString(); -} -Sys.Serialization.JavaScriptSerializer.deserialize = function Sys$Serialization$JavaScriptSerializer$deserialize(data, secure) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "data", type: String}, - {name: "secure", type: Boolean, optional: true} - ]); - if (e) throw e; - - if (data.length === 0) throw Error.argument('data', Sys.Res.cannotDeserializeEmptyString); - try { - var exp = data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new Date($2)"); - - if (secure && Sys.Serialization.JavaScriptSerializer._jsonRegEx.test( - exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx, ''))) throw null; - return eval('(' + exp + ')'); - } - catch (e) { - throw Error.argument('data', Sys.Res.cannotDeserializeInvalidJson); - } -} -Type.registerNamespace('Sys.UI'); - -Sys.EventHandlerList = function Sys$EventHandlerList() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._list = {}; -} - function Sys$EventHandlerList$_addHandler(id, handler) { - Array.add(this._getEvent(id, true), handler); - } - function Sys$EventHandlerList$addHandler(id, handler) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String}, - {name: "handler", type: Function} - ]); - if (e) throw e; - this._addHandler(id, handler); - } - function Sys$EventHandlerList$_removeHandler(id, handler) { - var evt = this._getEvent(id); - if (!evt) return; - Array.remove(evt, handler); - } - function Sys$EventHandlerList$removeHandler(id, handler) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String}, - {name: "handler", type: Function} - ]); - if (e) throw e; - this._removeHandler(id, handler); - } - function Sys$EventHandlerList$getHandler(id) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String} - ]); - if (e) throw e; - var evt = this._getEvent(id); - if (!evt || (evt.length === 0)) return null; - evt = Array.clone(evt); - return function(source, args) { - for (var i = 0, l = evt.length; i < l; i++) { - evt[i](source, args); - } - }; - } - function Sys$EventHandlerList$_getEvent(id, create) { - if (!this._list[id]) { - if (!create) return null; - this._list[id] = []; - } - return this._list[id]; - } -Sys.EventHandlerList.prototype = { - _addHandler: Sys$EventHandlerList$_addHandler, - addHandler: Sys$EventHandlerList$addHandler, - _removeHandler: Sys$EventHandlerList$_removeHandler, - removeHandler: Sys$EventHandlerList$removeHandler, - getHandler: Sys$EventHandlerList$getHandler, - _getEvent: Sys$EventHandlerList$_getEvent -} -Sys.EventHandlerList.registerClass('Sys.EventHandlerList'); -Sys.CommandEventArgs = function Sys$CommandEventArgs(commandName, commandArgument, commandSource) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "commandName", type: String}, - {name: "commandArgument", mayBeNull: true}, - {name: "commandSource", mayBeNull: true} - ]); - if (e) throw e; - Sys.CommandEventArgs.initializeBase(this); - this._commandName = commandName; - this._commandArgument = commandArgument; - this._commandSource = commandSource; -} - function Sys$CommandEventArgs$get_commandName() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._commandName; - } - function Sys$CommandEventArgs$get_commandArgument() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._commandArgument; - } - function Sys$CommandEventArgs$get_commandSource() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._commandSource; - } -Sys.CommandEventArgs.prototype = { - _commandName: null, - _commandArgument: null, - _commandSource: null, - get_commandName: Sys$CommandEventArgs$get_commandName, - get_commandArgument: Sys$CommandEventArgs$get_commandArgument, - get_commandSource: Sys$CommandEventArgs$get_commandSource -} -Sys.CommandEventArgs.registerClass("Sys.CommandEventArgs", Sys.CancelEventArgs); - -Sys.INotifyPropertyChange = function Sys$INotifyPropertyChange() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} - function Sys$INotifyPropertyChange$add_propertyChanged(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$INotifyPropertyChange$remove_propertyChanged(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - throw Error.notImplemented(); - } -Sys.INotifyPropertyChange.prototype = { - add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged, - remove_propertyChanged: Sys$INotifyPropertyChange$remove_propertyChanged -} -Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange'); - -Sys.PropertyChangedEventArgs = function Sys$PropertyChangedEventArgs(propertyName) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "propertyName", type: String} - ]); - if (e) throw e; - Sys.PropertyChangedEventArgs.initializeBase(this); - this._propertyName = propertyName; -} - - function Sys$PropertyChangedEventArgs$get_propertyName() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._propertyName; - } -Sys.PropertyChangedEventArgs.prototype = { - get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName -} -Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs', Sys.EventArgs); - -Sys.INotifyDisposing = function Sys$INotifyDisposing() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} - function Sys$INotifyDisposing$add_disposing(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$INotifyDisposing$remove_disposing(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - throw Error.notImplemented(); - } -Sys.INotifyDisposing.prototype = { - add_disposing: Sys$INotifyDisposing$add_disposing, - remove_disposing: Sys$INotifyDisposing$remove_disposing -} -Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing"); - -Sys.Component = function Sys$Component() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (Sys.Application) Sys.Application.registerDisposableObject(this); -} - function Sys$Component$get_events() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._events) { - this._events = new Sys.EventHandlerList(); - } - return this._events; - } - function Sys$Component$get_id() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._id; - } - function Sys$Component$set_id(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice); - this._idSet = true; - var oldId = this.get_id(); - if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp); - this._id = value; - } - function Sys$Component$get_isInitialized() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._initialized; - } - function Sys$Component$get_isUpdating() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._updating; - } - function Sys$Component$add_disposing(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().addHandler("disposing", handler); - } - function Sys$Component$remove_disposing(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().removeHandler("disposing", handler); - } - function Sys$Component$add_propertyChanged(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().addHandler("propertyChanged", handler); - } - function Sys$Component$remove_propertyChanged(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().removeHandler("propertyChanged", handler); - } - function Sys$Component$beginUpdate() { - this._updating = true; - } - function Sys$Component$dispose() { - if (this._events) { - var handler = this._events.getHandler("disposing"); - if (handler) { - handler(this, Sys.EventArgs.Empty); - } - } - delete this._events; - Sys.Application.unregisterDisposableObject(this); - Sys.Application.removeComponent(this); - } - function Sys$Component$endUpdate() { - this._updating = false; - if (!this._initialized) this.initialize(); - this.updated(); - } - function Sys$Component$initialize() { - this._initialized = true; - } - function Sys$Component$raisePropertyChanged(propertyName) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "propertyName", type: String} - ]); - if (e) throw e; - if (!this._events) return; - var handler = this._events.getHandler("propertyChanged"); - if (handler) { - handler(this, new Sys.PropertyChangedEventArgs(propertyName)); - } - } - function Sys$Component$updated() { - } -Sys.Component.prototype = { - _id: null, - _idSet: false, - _initialized: false, - _updating: false, - get_events: Sys$Component$get_events, - get_id: Sys$Component$get_id, - set_id: Sys$Component$set_id, - get_isInitialized: Sys$Component$get_isInitialized, - get_isUpdating: Sys$Component$get_isUpdating, - add_disposing: Sys$Component$add_disposing, - remove_disposing: Sys$Component$remove_disposing, - add_propertyChanged: Sys$Component$add_propertyChanged, - remove_propertyChanged: Sys$Component$remove_propertyChanged, - beginUpdate: Sys$Component$beginUpdate, - dispose: Sys$Component$dispose, - endUpdate: Sys$Component$endUpdate, - initialize: Sys$Component$initialize, - raisePropertyChanged: Sys$Component$raisePropertyChanged, - updated: Sys$Component$updated -} -Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, Sys.INotifyPropertyChange, Sys.INotifyDisposing); -function Sys$Component$_setProperties(target, properties) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"}, - {name: "properties"} - ]); - if (e) throw e; - var current; - var targetType = Object.getType(target); - var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement); - var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating(); - if (isComponent) target.beginUpdate(); - for (var name in properties) { - var val = properties[name]; - var getter = isObject ? null : target["get_" + name]; - if (isObject || typeof(getter) !== 'function') { - var targetVal = target[name]; - if (!isObject && typeof(targetVal) === 'undefined') throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, name)); - if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)) { - target[name] = val; - } - else { - Sys$Component$_setProperties(targetVal, val); - } - } - else { - var setter = target["set_" + name]; - if (typeof(setter) === 'function') { - setter.apply(target, [val]); - } - else if (val instanceof Array) { - current = getter.apply(target); - if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name)); - for (var i = 0, j = current.length, l= val.length; i < l; i++, j++) { - current[j] = val[i]; - } - } - else if ((typeof(val) === 'object') && (Object.getType(val) === Object)) { - current = getter.apply(target); - if ((typeof(current) === 'undefined') || (current === null)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, name)); - Sys$Component$_setProperties(current, val); - } - else { - throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); - } - } - } - if (isComponent) target.endUpdate(); -} -function Sys$Component$_setReferences(component, references) { - for (var name in references) { - var setter = component["set_" + name]; - var reference = $find(references[name]); - if (typeof(setter) !== 'function') throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); - if (!reference) throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound, references[name])); - setter.apply(component, [reference]); - } -} -var $create = Sys.Component.create = function Sys$Component$create(type, properties, events, references, element) { - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "type", type: Type}, - {name: "properties", mayBeNull: true, optional: true}, - {name: "events", mayBeNull: true, optional: true}, - {name: "references", mayBeNull: true, optional: true}, - {name: "element", mayBeNull: true, domElement: true, optional: true} - ]); - if (e) throw e; - if (!type.inheritsFrom(Sys.Component)) { - throw Error.argument('type', String.format(Sys.Res.createNotComponent, type.getName())); - } - if (type.inheritsFrom(Sys.UI.Behavior) || type.inheritsFrom(Sys.UI.Control)) { - if (!element) throw Error.argument('element', Sys.Res.createNoDom); - } - else if (element) throw Error.argument('element', Sys.Res.createComponentOnDom); - var component = (element ? new type(element): new type()); - var app = Sys.Application; - var creatingComponents = app.get_isCreatingComponents(); - component.beginUpdate(); - if (properties) { - Sys$Component$_setProperties(component, properties); - } - if (events) { - for (var name in events) { - if (!(component["add_" + name] instanceof Function)) throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name)); - if (!(events[name] instanceof Function)) throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction); - component["add_" + name](events[name]); - } - } - if (component.get_id()) { - app.addComponent(component); - } - if (creatingComponents) { - app._createdComponents[app._createdComponents.length] = component; - if (references) { - app._addComponentToSecondPass(component, references); - } - else { - component.endUpdate(); - } - } - else { - if (references) { - Sys$Component$_setReferences(component, references); - } - component.endUpdate(); - } - return component; -} - -Sys.UI.MouseButton = function Sys$UI$MouseButton() { - /// - /// - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} -Sys.UI.MouseButton.prototype = { - leftButton: 0, - middleButton: 1, - rightButton: 2 -} -Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton"); - -Sys.UI.Key = function Sys$UI$Key() { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} -Sys.UI.Key.prototype = { - backspace: 8, - tab: 9, - enter: 13, - esc: 27, - space: 32, - pageUp: 33, - pageDown: 34, - end: 35, - home: 36, - left: 37, - up: 38, - right: 39, - down: 40, - del: 127 -} -Sys.UI.Key.registerEnum("Sys.UI.Key"); - -Sys.UI.Point = function Sys$UI$Point(x, y) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "x", type: Number, integer: true}, - {name: "y", type: Number, integer: true} - ]); - if (e) throw e; - this.x = x; - this.y = y; -} -Sys.UI.Point.registerClass('Sys.UI.Point'); - -Sys.UI.Bounds = function Sys$UI$Bounds(x, y, width, height) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "x", type: Number, integer: true}, - {name: "y", type: Number, integer: true}, - {name: "width", type: Number, integer: true}, - {name: "height", type: Number, integer: true} - ]); - if (e) throw e; - this.x = x; - this.y = y; - this.height = height; - this.width = width; -} -Sys.UI.Bounds.registerClass('Sys.UI.Bounds'); - -Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "eventObject"} - ]); - if (e) throw e; - var ev = eventObject; - var etype = this.type = ev.type.toLowerCase(); - this.rawEvent = ev; - this.altKey = ev.altKey; - if (typeof(ev.button) !== 'undefined') { - this.button = (typeof(ev.which) !== 'undefined') ? ev.button : - (ev.button === 4) ? Sys.UI.MouseButton.middleButton : - (ev.button === 2) ? Sys.UI.MouseButton.rightButton : - Sys.UI.MouseButton.leftButton; - } - if (etype === 'keypress') { - this.charCode = ev.charCode || ev.keyCode; - } - else if (ev.keyCode && (ev.keyCode === 46)) { - this.keyCode = 127; - } - else { - this.keyCode = ev.keyCode; - } - this.clientX = ev.clientX; - this.clientY = ev.clientY; - this.ctrlKey = ev.ctrlKey; - this.target = ev.target ? ev.target : ev.srcElement; - if (!etype.startsWith('key')) { - if ((typeof(ev.offsetX) !== 'undefined') && (typeof(ev.offsetY) !== 'undefined')) { - this.offsetX = ev.offsetX; - this.offsetY = ev.offsetY; - } - else if (this.target && (this.target.nodeType !== 3) && (typeof(ev.clientX) === 'number')) { - var loc = Sys.UI.DomElement.getLocation(this.target); - var w = Sys.UI.DomElement._getWindow(this.target); - this.offsetX = (w.pageXOffset || 0) + ev.clientX - loc.x; - this.offsetY = (w.pageYOffset || 0) + ev.clientY - loc.y; - } - } - this.screenX = ev.screenX; - this.screenY = ev.screenY; - this.shiftKey = ev.shiftKey; -} - function Sys$UI$DomEvent$preventDefault() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this.rawEvent.preventDefault) { - this.rawEvent.preventDefault(); - } - else if (window.event) { - this.rawEvent.returnValue = false; - } - } - function Sys$UI$DomEvent$stopPropagation() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this.rawEvent.stopPropagation) { - this.rawEvent.stopPropagation(); - } - else if (window.event) { - this.rawEvent.cancelBubble = true; - } - } -Sys.UI.DomEvent.prototype = { - preventDefault: Sys$UI$DomEvent$preventDefault, - stopPropagation: Sys$UI$DomEvent$stopPropagation -} -Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent'); -var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element, eventName, handler, autoRemove) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element"}, - {name: "eventName", type: String}, - {name: "handler", type: Function}, - {name: "autoRemove", type: Boolean, optional: true} - ]); - if (e) throw e; - Sys.UI.DomEvent._ensureDomNode(element); - if (eventName === "error") throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError); - if (!element._events) { - element._events = {}; - } - var eventCache = element._events[eventName]; - if (!eventCache) { - element._events[eventName] = eventCache = []; - } - var browserHandler; - if (element.addEventListener) { - browserHandler = function(e) { - return handler.call(element, new Sys.UI.DomEvent(e)); - } - element.addEventListener(eventName, browserHandler, false); - } - else if (element.attachEvent) { - browserHandler = function() { - var e = {}; - try {e = Sys.UI.DomElement._getWindow(element).event} catch(ex) {} - return handler.call(element, new Sys.UI.DomEvent(e)); - } - element.attachEvent('on' + eventName, browserHandler); - } - eventCache[eventCache.length] = {handler: handler, browserHandler: browserHandler, autoRemove: autoRemove }; - if (autoRemove) { - var d = element.dispose; - if (d !== Sys.UI.DomEvent._disposeHandlers) { - element.dispose = Sys.UI.DomEvent._disposeHandlers; - if (typeof(d) !== "undefined") { - element._chainDispose = d; - } - } - } -} -var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element, events, handlerOwner, autoRemove) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element"}, - {name: "events", type: Object}, - {name: "handlerOwner", optional: true}, - {name: "autoRemove", type: Boolean, optional: true} - ]); - if (e) throw e; - Sys.UI.DomEvent._ensureDomNode(element); - for (var name in events) { - var handler = events[name]; - if (typeof(handler) !== 'function') throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler); - if (handlerOwner) { - handler = Function.createDelegate(handlerOwner, handler); - } - $addHandler(element, name, handler, autoRemove || false); - } -} -var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element"} - ]); - if (e) throw e; - Sys.UI.DomEvent._ensureDomNode(element); - Sys.UI.DomEvent._clearHandlers(element, false); -} -Sys.UI.DomEvent._clearHandlers = function Sys$UI$DomEvent$_clearHandlers(element, autoRemoving) { - if (element._events) { - var cache = element._events; - for (var name in cache) { - var handlers = cache[name]; - for (var i = handlers.length - 1; i >= 0; i--) { - var entry = handlers[i]; - if (!autoRemoving || entry.autoRemove) { - $removeHandler(element, name, entry.handler); - } - } - } - element._events = null; - } -} -Sys.UI.DomEvent._disposeHandlers = function Sys$UI$DomEvent$_disposeHandlers() { - Sys.UI.DomEvent._clearHandlers(this, true); - var d = this._chainDispose, type = typeof(d); - if (type !== "undefined") { - this.dispose = d; - this._chainDispose = null; - if (type === "function") { - this.dispose(); - } - } -} -var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element, eventName, handler) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element"}, - {name: "eventName", type: String}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Sys.UI.DomEvent._removeHandler(element, eventName, handler); -} -Sys.UI.DomEvent._removeHandler = function Sys$UI$DomEvent$_removeHandler(element, eventName, handler) { - Sys.UI.DomEvent._ensureDomNode(element); - var browserHandler = null; - if ((typeof(element._events) !== 'object') || !element._events) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); - var cache = element._events[eventName]; - if (!(cache instanceof Array)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); - for (var i = 0, l = cache.length; i < l; i++) { - if (cache[i].handler === handler) { - browserHandler = cache[i].browserHandler; - break; - } - } - if (typeof(browserHandler) !== 'function') throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); - if (element.removeEventListener) { - element.removeEventListener(eventName, browserHandler, false); - } - else if (element.detachEvent) { - element.detachEvent('on' + eventName, browserHandler); - } - cache.splice(i, 1); -} -Sys.UI.DomEvent._ensureDomNode = function Sys$UI$DomEvent$_ensureDomNode(element) { - if (element.tagName && (element.tagName.toUpperCase() === "SCRIPT")) return; - - var doc = element.ownerDocument || element.document || element; - if ((typeof(element.document) !== 'object') && (element != doc) && (typeof(element.nodeType) !== 'number')) { - throw Error.argument("element", Sys.Res.argumentDomNode); - } -} - -Sys.UI.DomElement = function Sys$UI$DomElement() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} -Sys.UI.DomElement.registerClass('Sys.UI.DomElement'); -Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element, className) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "className", type: String} - ]); - if (e) throw e; - if (!Sys.UI.DomElement.containsCssClass(element, className)) { - if (element.className === '') { - element.className = className; - } - else { - element.className += ' ' + className; - } - } -} -Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element, className) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "className", type: String} - ]); - if (e) throw e; - return Array.contains(element.className.split(' '), className); -} -Sys.UI.DomElement.getBounds = function Sys$UI$DomElement$getBounds(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - var offset = Sys.UI.DomElement.getLocation(element); - return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0); -} -var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String}, - {name: "element", mayBeNull: true, domElement: true, optional: true} - ]); - if (e) throw e; - if (!element) return document.getElementById(id); - if (element.getElementById) return element.getElementById(id); - var nodeQueue = []; - var childNodes = element.childNodes; - for (var i = 0; i < childNodes.length; i++) { - var node = childNodes[i]; - if (node.nodeType == 1) { - nodeQueue[nodeQueue.length] = node; - } - } - while (nodeQueue.length) { - node = nodeQueue.shift(); - if (node.id == id) { - return node; - } - childNodes = node.childNodes; - for (i = 0; i < childNodes.length; i++) { - node = childNodes[i]; - if (node.nodeType == 1) { - nodeQueue[nodeQueue.length] = node; - } - } - } - return null; -} -if (document.documentElement.getBoundingClientRect) { - Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - if (element.self || element.nodeType === 9) return new Sys.UI.Point(0,0); - var clientRect = element.getBoundingClientRect(); - if (!clientRect) { - return new Sys.UI.Point(0,0); - } - var documentElement = element.ownerDocument.documentElement, - offsetX = Math.floor(clientRect.left + 0.5) + documentElement.scrollLeft, - offsetY = Math.floor(clientRect.top + 0.5) + documentElement.scrollTop; - if (Sys.Browser.agent === Sys.Browser.InternetExplorer) { - try { - var f = element.ownerDocument.parentWindow.frameElement || null; - if (f) { - var offset = (f.frameBorder === "0" || f.frameBorder === "no") ? 2 : 0; - offsetX += offset; - offsetY += offset; - } - } - catch(ex) { - } - if (Sys.Browser.version <= 7) { - - var multiplier, before, rect, d = document.createElement("div"); - d.style.cssText = "position:absolute !important;left:0px !important;right:0px !important;height:0px !important;width:1px !important;display:hidden !important"; - try { - before = document.body.childNodes[0]; - document.body.insertBefore(d, before); - rect = d.getBoundingClientRect(); - document.body.removeChild(d); - multiplier = (rect.right - rect.left); - } - catch (e) { - } - if (multiplier && (multiplier !== 1)) { - offsetX = Math.floor(offsetX / multiplier); - offsetY = Math.floor(offsetY / multiplier); - } - } - if ((document.documentMode || 0) < 8) { - offsetX -= 2; - offsetY -= 2; - } - } - return new Sys.UI.Point(offsetX, offsetY); - } -} -else if (Sys.Browser.agent === Sys.Browser.Safari) { - Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); - var offsetX = 0, offsetY = 0, - parent, - previous = null, - previousStyle = null, - currentStyle; - for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { - currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); - var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; - if ((parent.offsetLeft || parent.offsetTop) && - ((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))) { - offsetX += parent.offsetLeft; - offsetY += parent.offsetTop; - } - if (previous && Sys.Browser.version >= 3) { - offsetX += parseInt(currentStyle.borderLeftWidth); - offsetY += parseInt(currentStyle.borderTopWidth); - } - } - currentStyle = Sys.UI.DomElement._getCurrentStyle(element); - var elementPosition = currentStyle ? currentStyle.position : null; - if (!elementPosition || (elementPosition !== "absolute")) { - for (parent = element.parentNode; parent; parent = parent.parentNode) { - tagName = parent.tagName ? parent.tagName.toUpperCase() : null; - if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { - offsetX -= (parent.scrollLeft || 0); - offsetY -= (parent.scrollTop || 0); - } - currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); - var parentPosition = currentStyle ? currentStyle.position : null; - if (parentPosition && (parentPosition === "absolute")) break; - } - } - return new Sys.UI.Point(offsetX, offsetY); - } -} -else { - Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); - var offsetX = 0, offsetY = 0, - parent, - previous = null, - previousStyle = null, - currentStyle = null; - for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { - var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; - currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); - if ((parent.offsetLeft || parent.offsetTop) && - !((tagName === "BODY") && - (!previousStyle || previousStyle.position !== "absolute"))) { - offsetX += parent.offsetLeft; - offsetY += parent.offsetTop; - } - if (previous !== null && currentStyle) { - if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")) { - offsetX += parseInt(currentStyle.borderLeftWidth) || 0; - offsetY += parseInt(currentStyle.borderTopWidth) || 0; - } - if (tagName === "TABLE" && - (currentStyle.position === "relative" || currentStyle.position === "absolute")) { - offsetX += parseInt(currentStyle.marginLeft) || 0; - offsetY += parseInt(currentStyle.marginTop) || 0; - } - } - } - currentStyle = Sys.UI.DomElement._getCurrentStyle(element); - var elementPosition = currentStyle ? currentStyle.position : null; - if (!elementPosition || (elementPosition !== "absolute")) { - for (parent = element.parentNode; parent; parent = parent.parentNode) { - tagName = parent.tagName ? parent.tagName.toUpperCase() : null; - if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { - offsetX -= (parent.scrollLeft || 0); - offsetY -= (parent.scrollTop || 0); - currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); - if (currentStyle) { - offsetX += parseInt(currentStyle.borderLeftWidth) || 0; - offsetY += parseInt(currentStyle.borderTopWidth) || 0; - } - } - } - } - return new Sys.UI.Point(offsetX, offsetY); - } -} -Sys.UI.DomElement.isDomElement = function Sys$UI$DomElement$isDomElement(obj) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "obj"} - ]); - if (e) throw e; - return Sys._isDomElement(obj); -} -Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element, className) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "className", type: String} - ]); - if (e) throw e; - var currentClassName = ' ' + element.className + ' '; - var index = currentClassName.indexOf(' ' + className + ' '); - if (index >= 0) { - element.className = (currentClassName.substr(0, index) + ' ' + - currentClassName.substring(index + className.length + 1, currentClassName.length)).trim(); - } -} -Sys.UI.DomElement.resolveElement = function Sys$UI$DomElement$resolveElement(elementOrElementId, containerElement) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "elementOrElementId", mayBeNull: true}, - {name: "containerElement", mayBeNull: true, domElement: true, optional: true} - ]); - if (e) throw e; - var el = elementOrElementId; - if (!el) return null; - if (typeof(el) === "string") { - el = Sys.UI.DomElement.getElementById(el, containerElement); - if (!el) { - throw Error.argument("elementOrElementId", String.format(Sys.Res.elementNotFound, elementOrElementId)); - } - } - else if(!Sys.UI.DomElement.isDomElement(el)) { - throw Error.argument("elementOrElementId", Sys.Res.expectedElementOrId); - } - return el; -} -Sys.UI.DomElement.raiseBubbleEvent = function Sys$UI$DomElement$raiseBubbleEvent(source, args) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "source", domElement: true}, - {name: "args", type: Sys.EventArgs} - ]); - if (e) throw e; - var target = source; - while (target) { - var control = target.control; - if (control && control.onBubbleEvent && control.raiseBubbleEvent) { - Sys.UI.DomElement._raiseBubbleEventFromControl(control, source, args); - return; - } - target = target.parentNode; - } -} -Sys.UI.DomElement._raiseBubbleEventFromControl = function Sys$UI$DomElement$_raiseBubbleEventFromControl(control, source, args) { - if (!control.onBubbleEvent(source, args)) { - control._raiseBubbleEvent(source, args); - } -} -Sys.UI.DomElement.setLocation = function Sys$UI$DomElement$setLocation(element, x, y) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "x", type: Number, integer: true}, - {name: "y", type: Number, integer: true} - ]); - if (e) throw e; - var style = element.style; - style.position = 'absolute'; - style.left = x + "px"; - style.top = y + "px"; -} -Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element, className) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "className", type: String} - ]); - if (e) throw e; - if (Sys.UI.DomElement.containsCssClass(element, className)) { - Sys.UI.DomElement.removeCssClass(element, className); - } - else { - Sys.UI.DomElement.addCssClass(element, className); - } -} -Sys.UI.DomElement.getVisibilityMode = function Sys$UI$DomElement$getVisibilityMode(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - return (element._visibilityMode === Sys.UI.VisibilityMode.hide) ? - Sys.UI.VisibilityMode.hide : - Sys.UI.VisibilityMode.collapse; -} -Sys.UI.DomElement.setVisibilityMode = function Sys$UI$DomElement$setVisibilityMode(element, value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "value", type: Sys.UI.VisibilityMode} - ]); - if (e) throw e; - Sys.UI.DomElement._ensureOldDisplayMode(element); - if (element._visibilityMode !== value) { - element._visibilityMode = value; - if (Sys.UI.DomElement.getVisible(element) === false) { - if (element._visibilityMode === Sys.UI.VisibilityMode.hide) { - element.style.display = element._oldDisplayMode; - } - else { - element.style.display = 'none'; - } - } - element._visibilityMode = value; - } -} -Sys.UI.DomElement.getVisible = function Sys$UI$DomElement$getVisible(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); - if (!style) return true; - return (style.visibility !== 'hidden') && (style.display !== 'none'); -} -Sys.UI.DomElement.setVisible = function Sys$UI$DomElement$setVisible(element, value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "value", type: Boolean} - ]); - if (e) throw e; - if (value !== Sys.UI.DomElement.getVisible(element)) { - Sys.UI.DomElement._ensureOldDisplayMode(element); - element.style.visibility = value ? 'visible' : 'hidden'; - if (value || (element._visibilityMode === Sys.UI.VisibilityMode.hide)) { - element.style.display = element._oldDisplayMode; - } - else { - element.style.display = 'none'; - } - } -} -Sys.UI.DomElement._ensureOldDisplayMode = function Sys$UI$DomElement$_ensureOldDisplayMode(element) { - if (!element._oldDisplayMode) { - var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); - element._oldDisplayMode = style ? style.display : null; - if (!element._oldDisplayMode || element._oldDisplayMode === 'none') { - switch(element.tagName.toUpperCase()) { - case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': case 'BODY': case 'COL': - case 'COLGROUP': case 'DD': case 'DL': case 'DT': case 'FIELDSET': case 'FORM': - case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': case 'H6': case 'HR': - case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': case 'TABLE': case 'TD': - case 'TH': case 'TR': case 'UL': - element._oldDisplayMode = 'block'; - break; - case 'LI': - element._oldDisplayMode = 'list-item'; - break; - default: - element._oldDisplayMode = 'inline'; - } - } - } -} -Sys.UI.DomElement._getWindow = function Sys$UI$DomElement$_getWindow(element) { - var doc = element.ownerDocument || element.document || element; - return doc.defaultView || doc.parentWindow; -} -Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element) { - if (element.nodeType === 3) return null; - var w = Sys.UI.DomElement._getWindow(element); - if (element.documentElement) element = element.documentElement; - var computedStyle = (w && (element !== w) && w.getComputedStyle) ? - w.getComputedStyle(element, null) : - element.currentStyle || element.style; - if (!computedStyle && (Sys.Browser.agent === Sys.Browser.Safari) && element.style) { - var oldDisplay = element.style.display; - var oldPosition = element.style.position; - element.style.position = 'absolute'; - element.style.display = 'block'; - var style = w.getComputedStyle(element, null); - element.style.display = oldDisplay; - element.style.position = oldPosition; - computedStyle = {}; - for (var n in style) { - computedStyle[n] = style[n]; - } - computedStyle.display = 'none'; - } - return computedStyle; -} - -Sys.IContainer = function Sys$IContainer() { - throw Error.notImplemented(); -} - function Sys$IContainer$addComponent(component) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "component", type: Sys.Component} - ]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$IContainer$removeComponent(component) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "component", type: Sys.Component} - ]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$IContainer$findComponent(id) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String} - ]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$IContainer$getComponents() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } -Sys.IContainer.prototype = { - addComponent: Sys$IContainer$addComponent, - removeComponent: Sys$IContainer$removeComponent, - findComponent: Sys$IContainer$findComponent, - getComponents: Sys$IContainer$getComponents -} -Sys.IContainer.registerInterface("Sys.IContainer"); - -Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components, isPartialLoad) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "components", type: Array, elementType: Sys.Component}, - {name: "isPartialLoad", type: Boolean} - ]); - if (e) throw e; - Sys.ApplicationLoadEventArgs.initializeBase(this); - this._components = components; - this._isPartialLoad = isPartialLoad; -} - - function Sys$ApplicationLoadEventArgs$get_components() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._components; - } - function Sys$ApplicationLoadEventArgs$get_isPartialLoad() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._isPartialLoad; - } -Sys.ApplicationLoadEventArgs.prototype = { - get_components: Sys$ApplicationLoadEventArgs$get_components, - get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad -} -Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs', Sys.EventArgs); - -Sys._Application = function Sys$_Application() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - Sys._Application.initializeBase(this); - this._disposableObjects = []; - this._components = {}; - this._createdComponents = []; - this._secondPassComponents = []; - this._unloadHandlerDelegate = Function.createDelegate(this, this._unloadHandler); - Sys.UI.DomEvent.addHandler(window, "unload", this._unloadHandlerDelegate); - this._domReady(); -} - function Sys$_Application$get_isCreatingComponents() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._creatingComponents; - } - function Sys$_Application$get_isDisposing() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._disposing; - } - function Sys$_Application$add_init(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - if (this._initialized) { - handler(this, Sys.EventArgs.Empty); - } - else { - this.get_events().addHandler("init", handler); - } - } - function Sys$_Application$remove_init(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().removeHandler("init", handler); - } - function Sys$_Application$add_load(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().addHandler("load", handler); - } - function Sys$_Application$remove_load(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().removeHandler("load", handler); - } - function Sys$_Application$add_unload(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().addHandler("unload", handler); - } - function Sys$_Application$remove_unload(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().removeHandler("unload", handler); - } - function Sys$_Application$addComponent(component) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "component", type: Sys.Component} - ]); - if (e) throw e; - var id = component.get_id(); - if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId); - if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, id)); - this._components[id] = component; - } - function Sys$_Application$beginCreateComponents() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._creatingComponents = true; - } - function Sys$_Application$dispose() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._disposing) { - this._disposing = true; - if (this._timerCookie) { - window.clearTimeout(this._timerCookie); - delete this._timerCookie; - } - if (this._endRequestHandler) { - Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler); - delete this._endRequestHandler; - } - if (this._beginRequestHandler) { - Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler); - delete this._beginRequestHandler; - } - if (window.pageUnload) { - window.pageUnload(this, Sys.EventArgs.Empty); - } - var unloadHandler = this.get_events().getHandler("unload"); - if (unloadHandler) { - unloadHandler(this, Sys.EventArgs.Empty); - } - var disposableObjects = Array.clone(this._disposableObjects); - for (var i = 0, l = disposableObjects.length; i < l; i++) { - var object = disposableObjects[i]; - if (typeof(object) !== "undefined") { - object.dispose(); - } - } - Array.clear(this._disposableObjects); - Sys.UI.DomEvent.removeHandler(window, "unload", this._unloadHandlerDelegate); - if (Sys._ScriptLoader) { - var sl = Sys._ScriptLoader.getInstance(); - if(sl) { - sl.dispose(); - } - } - Sys._Application.callBaseMethod(this, 'dispose'); - } - } - function Sys$_Application$disposeElement(element, childNodesOnly) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element"}, - {name: "childNodesOnly", type: Boolean} - ]); - if (e) throw e; - if (element.nodeType === 1) { - var children = element.getElementsByTagName("*"); - for (var i = children.length - 1; i >= 0; i--) { - this._disposeElementInternal(children[i]); - } - if (!childNodesOnly) { - this._disposeElementInternal(element); - } - } - } - function Sys$_Application$endCreateComponents() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var components = this._secondPassComponents; - for (var i = 0, l = components.length; i < l; i++) { - var component = components[i].component; - Sys$Component$_setReferences(component, components[i].references); - component.endUpdate(); - } - this._secondPassComponents = []; - this._creatingComponents = false; - } - function Sys$_Application$findComponent(id, parent) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String}, - {name: "parent", mayBeNull: true, optional: true} - ]); - if (e) throw e; - return (parent ? - ((Sys.IContainer.isInstanceOfType(parent)) ? - parent.findComponent(id) : - parent[id] || null) : - Sys.Application._components[id] || null); - } - function Sys$_Application$getComponents() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var res = []; - var components = this._components; - for (var name in components) { - res[res.length] = components[name]; - } - return res; - } - function Sys$_Application$initialize() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if(!this.get_isInitialized() && !this._disposing) { - Sys._Application.callBaseMethod(this, 'initialize'); - this._raiseInit(); - if (this.get_stateString) { - if (Sys.WebForms && Sys.WebForms.PageRequestManager) { - this._beginRequestHandler = Function.createDelegate(this, this._onPageRequestManagerBeginRequest); - Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler); - this._endRequestHandler = Function.createDelegate(this, this._onPageRequestManagerEndRequest); - Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler); - } - var loadedEntry = this.get_stateString(); - if (loadedEntry !== this._currentEntry) { - this._navigate(loadedEntry); - } - else { - this._ensureHistory(); - } - } - this.raiseLoad(); - } - } - function Sys$_Application$notifyScriptLoaded() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - } - function Sys$_Application$registerDisposableObject(object) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "object", type: Sys.IDisposable} - ]); - if (e) throw e; - if (!this._disposing) { - var objects = this._disposableObjects, - i = objects.length; - objects[i] = object; - object.__msdisposeindex = i; - } - } - function Sys$_Application$raiseLoad() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var h = this.get_events().getHandler("load"); - var args = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), !!this._loaded); - this._loaded = true; - if (h) { - h(this, args); - } - if (window.pageLoad) { - window.pageLoad(this, args); - } - this._createdComponents = []; - } - function Sys$_Application$removeComponent(component) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "component", type: Sys.Component} - ]); - if (e) throw e; - var id = component.get_id(); - if (id) delete this._components[id]; - } - function Sys$_Application$unregisterDisposableObject(object) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "object", type: Sys.IDisposable} - ]); - if (e) throw e; - if (!this._disposing) { - var i = object.__msdisposeindex; - if (typeof(i) === "number") { - var disposableObjects = this._disposableObjects; - delete disposableObjects[i]; - delete object.__msdisposeindex; - if (++this._deleteCount > 1000) { - var newArray = []; - for (var j = 0, l = disposableObjects.length; j < l; j++) { - object = disposableObjects[j]; - if (typeof(object) !== "undefined") { - object.__msdisposeindex = newArray.length; - newArray.push(object); - } - } - this._disposableObjects = newArray; - this._deleteCount = 0; - } - } - } - } - function Sys$_Application$_addComponentToSecondPass(component, references) { - this._secondPassComponents[this._secondPassComponents.length] = {component: component, references: references}; - } - function Sys$_Application$_disposeComponents(list) { - if (list) { - for (var i = list.length - 1; i >= 0; i--) { - var item = list[i]; - if (typeof(item.dispose) === "function") { - item.dispose(); - } - } - } - } - function Sys$_Application$_disposeElementInternal(element) { - var d = element.dispose; - if (d && typeof(d) === "function") { - element.dispose(); - } - else { - var c = element.control; - if (c && typeof(c.dispose) === "function") { - c.dispose(); - } - } - var list = element._behaviors; - if (list) { - this._disposeComponents(list); - } - list = element._components; - if (list) { - this._disposeComponents(list); - element._components = null; - } - } - function Sys$_Application$_domReady() { - var check, er, app = this; - function init() { app.initialize(); } - var onload = function() { - Sys.UI.DomEvent.removeHandler(window, "load", onload); - init(); - } - Sys.UI.DomEvent.addHandler(window, "load", onload); - - if (document.addEventListener) { - try { - document.addEventListener("DOMContentLoaded", check = function() { - document.removeEventListener("DOMContentLoaded", check, false); - init(); - }, false); - } - catch (er) { } - } - else if (document.attachEvent) { - if ((window == window.top) && document.documentElement.doScroll) { - var timeout, el = document.createElement("div"); - check = function() { - try { - el.doScroll("left"); - } - catch (er) { - timeout = window.setTimeout(check, 0); - return; - } - el = null; - init(); - } - check(); - } - else { - document.attachEvent("onreadystatechange", check = function() { - if (document.readyState === "complete") { - document.detachEvent("onreadystatechange", check); - init(); - } - }); - } - } - } - function Sys$_Application$_raiseInit() { - var handler = this.get_events().getHandler("init"); - if (handler) { - this.beginCreateComponents(); - handler(this, Sys.EventArgs.Empty); - this.endCreateComponents(); - } - } - function Sys$_Application$_unloadHandler(event) { - this.dispose(); - } -Sys._Application.prototype = { - _creatingComponents: false, - _disposing: false, - _deleteCount: 0, - get_isCreatingComponents: Sys$_Application$get_isCreatingComponents, - get_isDisposing: Sys$_Application$get_isDisposing, - add_init: Sys$_Application$add_init, - remove_init: Sys$_Application$remove_init, - add_load: Sys$_Application$add_load, - remove_load: Sys$_Application$remove_load, - add_unload: Sys$_Application$add_unload, - remove_unload: Sys$_Application$remove_unload, - addComponent: Sys$_Application$addComponent, - beginCreateComponents: Sys$_Application$beginCreateComponents, - dispose: Sys$_Application$dispose, - disposeElement: Sys$_Application$disposeElement, - endCreateComponents: Sys$_Application$endCreateComponents, - findComponent: Sys$_Application$findComponent, - getComponents: Sys$_Application$getComponents, - initialize: Sys$_Application$initialize, - notifyScriptLoaded: Sys$_Application$notifyScriptLoaded, - registerDisposableObject: Sys$_Application$registerDisposableObject, - raiseLoad: Sys$_Application$raiseLoad, - removeComponent: Sys$_Application$removeComponent, - unregisterDisposableObject: Sys$_Application$unregisterDisposableObject, - _addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass, - _disposeComponents: Sys$_Application$_disposeComponents, - _disposeElementInternal: Sys$_Application$_disposeElementInternal, - _domReady: Sys$_Application$_domReady, - _raiseInit: Sys$_Application$_raiseInit, - _unloadHandler: Sys$_Application$_unloadHandler -} -Sys._Application.registerClass('Sys._Application', Sys.Component, Sys.IContainer); -Sys.Application = new Sys._Application(); -var $find = Sys.Application.findComponent; - -Sys.UI.Behavior = function Sys$UI$Behavior(element) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - Sys.UI.Behavior.initializeBase(this); - this._element = element; - var behaviors = element._behaviors; - if (!behaviors) { - element._behaviors = [this]; - } - else { - behaviors[behaviors.length] = this; - } -} - function Sys$UI$Behavior$get_element() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._element; - } - function Sys$UI$Behavior$get_id() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var baseId = Sys.UI.Behavior.callBaseMethod(this, 'get_id'); - if (baseId) return baseId; - if (!this._element || !this._element.id) return ''; - return this._element.id + '$' + this.get_name(); - } - function Sys$UI$Behavior$get_name() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._name) return this._name; - var name = Object.getTypeName(this); - var i = name.lastIndexOf('.'); - if (i !== -1) name = name.substr(i + 1); - if (!this.get_isInitialized()) this._name = name; - return name; - } - function Sys$UI$Behavior$set_name(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' ')) - throw Error.argument('value', Sys.Res.invalidId); - if (typeof(this._element[value]) !== 'undefined') - throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, value)); - if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit); - this._name = value; - } - function Sys$UI$Behavior$initialize() { - Sys.UI.Behavior.callBaseMethod(this, 'initialize'); - var name = this.get_name(); - if (name) this._element[name] = this; - } - function Sys$UI$Behavior$dispose() { - Sys.UI.Behavior.callBaseMethod(this, 'dispose'); - var e = this._element; - if (e) { - var name = this.get_name(); - if (name) { - e[name] = null; - } - var behaviors = e._behaviors; - Array.remove(behaviors, this); - if (behaviors.length === 0) { - e._behaviors = null; - } - delete this._element; - } - } -Sys.UI.Behavior.prototype = { - _name: null, - get_element: Sys$UI$Behavior$get_element, - get_id: Sys$UI$Behavior$get_id, - get_name: Sys$UI$Behavior$get_name, - set_name: Sys$UI$Behavior$set_name, - initialize: Sys$UI$Behavior$initialize, - dispose: Sys$UI$Behavior$dispose -} -Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component); -Sys.UI.Behavior.getBehaviorByName = function Sys$UI$Behavior$getBehaviorByName(element, name) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "name", type: String} - ]); - if (e) throw e; - var b = element[name]; - return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null; -} -Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - if (!element._behaviors) return []; - return Array.clone(element._behaviors); -} -Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element, type) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "type", type: Type} - ]); - if (e) throw e; - var behaviors = element._behaviors; - var results = []; - if (behaviors) { - for (var i = 0, l = behaviors.length; i < l; i++) { - if (type.isInstanceOfType(behaviors[i])) { - results[results.length] = behaviors[i]; - } - } - } - return results; -} - -Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode() { - /// - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} -Sys.UI.VisibilityMode.prototype = { - hide: 0, - collapse: 1 -} -Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode"); - -Sys.UI.Control = function Sys$UI$Control(element) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - if (typeof(element.control) !== 'undefined') throw Error.invalidOperation(Sys.Res.controlAlreadyDefined); - Sys.UI.Control.initializeBase(this); - this._element = element; - element.control = this; - var role = this.get_role(); - if (role) { - element.setAttribute("role", role); - } -} - function Sys$UI$Control$get_element() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._element; - } - function Sys$UI$Control$get_id() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._element) return ''; - return this._element.id; - } - function Sys$UI$Control$set_id(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - throw Error.invalidOperation(Sys.Res.cantSetId); - } - function Sys$UI$Control$get_parent() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._parent) return this._parent; - if (!this._element) return null; - - var parentElement = this._element.parentNode; - while (parentElement) { - if (parentElement.control) { - return parentElement.control; - } - parentElement = parentElement.parentNode; - } - return null; - } - function Sys$UI$Control$set_parent(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.Control}]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - var parents = [this]; - var current = value; - while (current) { - if (Array.contains(parents, current)) throw Error.invalidOperation(Sys.Res.circularParentChain); - parents[parents.length] = current; - current = current.get_parent(); - } - this._parent = value; - } - function Sys$UI$Control$get_role() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return null; - } - function Sys$UI$Control$get_visibilityMode() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - return Sys.UI.DomElement.getVisibilityMode(this._element); - } - function Sys$UI$Control$set_visibilityMode(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.VisibilityMode}]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - Sys.UI.DomElement.setVisibilityMode(this._element, value); - } - function Sys$UI$Control$get_visible() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - return Sys.UI.DomElement.getVisible(this._element); - } - function Sys$UI$Control$set_visible(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - Sys.UI.DomElement.setVisible(this._element, value) - } - function Sys$UI$Control$addCssClass(className) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "className", type: String} - ]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - Sys.UI.DomElement.addCssClass(this._element, className); - } - function Sys$UI$Control$dispose() { - Sys.UI.Control.callBaseMethod(this, 'dispose'); - if (this._element) { - this._element.control = null; - delete this._element; - } - if (this._parent) delete this._parent; - } - function Sys$UI$Control$onBubbleEvent(source, args) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "source"}, - {name: "args", type: Sys.EventArgs} - ]); - if (e) throw e; - return false; - } - function Sys$UI$Control$raiseBubbleEvent(source, args) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "source"}, - {name: "args", type: Sys.EventArgs} - ]); - if (e) throw e; - this._raiseBubbleEvent(source, args); - } - function Sys$UI$Control$_raiseBubbleEvent(source, args) { - var currentTarget = this.get_parent(); - while (currentTarget) { - if (currentTarget.onBubbleEvent(source, args)) { - return; - } - currentTarget = currentTarget.get_parent(); - } - } - function Sys$UI$Control$removeCssClass(className) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "className", type: String} - ]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - Sys.UI.DomElement.removeCssClass(this._element, className); - } - function Sys$UI$Control$toggleCssClass(className) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "className", type: String} - ]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - Sys.UI.DomElement.toggleCssClass(this._element, className); - } -Sys.UI.Control.prototype = { - _parent: null, - _visibilityMode: Sys.UI.VisibilityMode.hide, - get_element: Sys$UI$Control$get_element, - get_id: Sys$UI$Control$get_id, - set_id: Sys$UI$Control$set_id, - get_parent: Sys$UI$Control$get_parent, - set_parent: Sys$UI$Control$set_parent, - get_role: Sys$UI$Control$get_role, - get_visibilityMode: Sys$UI$Control$get_visibilityMode, - set_visibilityMode: Sys$UI$Control$set_visibilityMode, - get_visible: Sys$UI$Control$get_visible, - set_visible: Sys$UI$Control$set_visible, - addCssClass: Sys$UI$Control$addCssClass, - dispose: Sys$UI$Control$dispose, - onBubbleEvent: Sys$UI$Control$onBubbleEvent, - raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent, - _raiseBubbleEvent: Sys$UI$Control$_raiseBubbleEvent, - removeCssClass: Sys$UI$Control$removeCssClass, - toggleCssClass: Sys$UI$Control$toggleCssClass -} -Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component); -Sys.HistoryEventArgs = function Sys$HistoryEventArgs(state) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "state", type: Object} - ]); - if (e) throw e; - Sys.HistoryEventArgs.initializeBase(this); - this._state = state; -} - function Sys$HistoryEventArgs$get_state() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._state; - } -Sys.HistoryEventArgs.prototype = { - get_state: Sys$HistoryEventArgs$get_state -} -Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', Sys.EventArgs); -Sys.Application._appLoadHandler = null; -Sys.Application._beginRequestHandler = null; -Sys.Application._clientId = null; -Sys.Application._currentEntry = ''; -Sys.Application._endRequestHandler = null; -Sys.Application._history = null; -Sys.Application._enableHistory = false; -Sys.Application._historyEnabledInScriptManager = false; -Sys.Application._historyFrame = null; -Sys.Application._historyInitialized = false; -Sys.Application._historyPointIsNew = false; -Sys.Application._ignoreTimer = false; -Sys.Application._initialState = null; -Sys.Application._state = {}; -Sys.Application._timerCookie = 0; -Sys.Application._timerHandler = null; -Sys.Application._uniqueId = null; -Sys._Application.prototype.get_stateString = function Sys$_Application$get_stateString() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var hash = null; - - if (Sys.Browser.agent === Sys.Browser.Firefox) { - var href = window.location.href; - var hashIndex = href.indexOf('#'); - if (hashIndex !== -1) { - hash = href.substring(hashIndex + 1); - } - else { - hash = ""; - } - return hash; - } - else { - hash = window.location.hash; - } - - if ((hash.length > 0) && (hash.charAt(0) === '#')) { - hash = hash.substring(1); - } - return hash; -}; -Sys._Application.prototype.get_enableHistory = function Sys$_Application$get_enableHistory() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._enableHistory; -}; -Sys._Application.prototype.set_enableHistory = function Sys$_Application$set_enableHistory(value) { - if (this._initialized && !this._initializing) { - throw Error.invalidOperation(Sys.Res.historyCannotEnableHistory); - } - else if (this._historyEnabledInScriptManager && !value) { - throw Error.invalidOperation(Sys.Res.invalidHistorySettingCombination); - } - this._enableHistory = value; -}; -Sys._Application.prototype.add_navigate = function Sys$_Application$add_navigate(handler) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "handler", type: Function} - ]); - if (e) throw e; - this.get_events().addHandler("navigate", handler); -}; -Sys._Application.prototype.remove_navigate = function Sys$_Application$remove_navigate(handler) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "handler", type: Function} - ]); - if (e) throw e; - this.get_events().removeHandler("navigate", handler); -}; -Sys._Application.prototype.addHistoryPoint = function Sys$_Application$addHistoryPoint(state, title) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "state", type: Object}, - {name: "title", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - if (!this._enableHistory) throw Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDisabled); - for (var n in state) { - var v = state[n]; - var t = typeof(v); - if ((v !== null) && ((t === 'object') || (t === 'function') || (t === 'undefined'))) { - throw Error.argument('state', Sys.Res.stateMustBeStringDictionary); - } - } - this._ensureHistory(); - var initialState = this._state; - for (var key in state) { - var value = state[key]; - if (value === null) { - if (typeof(initialState[key]) !== 'undefined') { - delete initialState[key]; - } - } - else { - initialState[key] = value; - } - } - var entry = this._serializeState(initialState); - this._historyPointIsNew = true; - this._setState(entry, title); - this._raiseNavigate(); -}; -Sys._Application.prototype.setServerId = function Sys$_Application$setServerId(clientId, uniqueId) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "clientId", type: String}, - {name: "uniqueId", type: String} - ]); - if (e) throw e; - this._clientId = clientId; - this._uniqueId = uniqueId; -}; -Sys._Application.prototype.setServerState = function Sys$_Application$setServerState(value) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String} - ]); - if (e) throw e; - this._ensureHistory(); - this._state.__s = value; - this._updateHiddenField(value); -}; -Sys._Application.prototype._deserializeState = function Sys$_Application$_deserializeState(entry) { - var result = {}; - entry = entry || ''; - var serverSeparator = entry.indexOf('&&'); - if ((serverSeparator !== -1) && (serverSeparator + 2 < entry.length)) { - result.__s = entry.substr(serverSeparator + 2); - entry = entry.substr(0, serverSeparator); - } - var tokens = entry.split('&'); - for (var i = 0, l = tokens.length; i < l; i++) { - var token = tokens[i]; - var equal = token.indexOf('='); - if ((equal !== -1) && (equal + 1 < token.length)) { - var name = token.substr(0, equal); - var value = token.substr(equal + 1); - result[name] = decodeURIComponent(value); - } - } - return result; -}; -Sys._Application.prototype._enableHistoryInScriptManager = function Sys$_Application$_enableHistoryInScriptManager() { - this._enableHistory = true; - this._historyEnabledInScriptManager = true; -}; -Sys._Application.prototype._ensureHistory = function Sys$_Application$_ensureHistory() { - if (!this._historyInitialized && this._enableHistory) { - if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && (Sys.Browser.documentMode < 8)) { - this._historyFrame = document.getElementById('__historyFrame'); - if (!this._historyFrame) throw Error.invalidOperation(Sys.Res.historyMissingFrame); - this._ignoreIFrame = true; - } - this._timerHandler = Function.createDelegate(this, this._onIdle); - this._timerCookie = window.setTimeout(this._timerHandler, 100); - - try { - this._initialState = this._deserializeState(this.get_stateString()); - } catch(e) {} - - this._historyInitialized = true; - } -}; -Sys._Application.prototype._navigate = function Sys$_Application$_navigate(entry) { - this._ensureHistory(); - var state = this._deserializeState(entry); - - if (this._uniqueId) { - var oldServerEntry = this._state.__s || ''; - var newServerEntry = state.__s || ''; - if (newServerEntry !== oldServerEntry) { - this._updateHiddenField(newServerEntry); - __doPostBack(this._uniqueId, newServerEntry); - this._state = state; - return; - } - } - this._setState(entry); - this._state = state; - this._raiseNavigate(); -}; -Sys._Application.prototype._onIdle = function Sys$_Application$_onIdle() { - delete this._timerCookie; - - var entry = this.get_stateString(); - if (entry !== this._currentEntry) { - if (!this._ignoreTimer) { - this._historyPointIsNew = false; - this._navigate(entry); - } - } - else { - this._ignoreTimer = false; - } - this._timerCookie = window.setTimeout(this._timerHandler, 100); -}; -Sys._Application.prototype._onIFrameLoad = function Sys$_Application$_onIFrameLoad(entry) { - this._ensureHistory(); - if (!this._ignoreIFrame) { - this._historyPointIsNew = false; - this._navigate(entry); - } - this._ignoreIFrame = false; -}; -Sys._Application.prototype._onPageRequestManagerBeginRequest = function Sys$_Application$_onPageRequestManagerBeginRequest(sender, args) { - this._ignoreTimer = true; -}; -Sys._Application.prototype._onPageRequestManagerEndRequest = function Sys$_Application$_onPageRequestManagerEndRequest(sender, args) { - var dataItem = args.get_dataItems()[this._clientId]; - var eventTarget = document.getElementById("__EVENTTARGET"); - if (eventTarget && eventTarget.value === this._uniqueId) { - eventTarget.value = ''; - } - if (typeof(dataItem) !== 'undefined') { - this.setServerState(dataItem); - this._historyPointIsNew = true; - } - else { - this._ignoreTimer = false; - } - var entry = this._serializeState(this._state); - if (entry !== this._currentEntry) { - this._ignoreTimer = true; - this._setState(entry); - this._raiseNavigate(); - } -}; -Sys._Application.prototype._raiseNavigate = function Sys$_Application$_raiseNavigate() { - var h = this.get_events().getHandler("navigate"); - var stateClone = {}; - for (var key in this._state) { - if (key !== '__s') { - stateClone[key] = this._state[key]; - } - } - var args = new Sys.HistoryEventArgs(stateClone); - if (h) { - h(this, args); - } - var err; - try { - if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash && - (!window.frameElement || window.top.location.hash)) { - window.history.go(0); - } - } - catch(err) { - } -}; -Sys._Application.prototype._serializeState = function Sys$_Application$_serializeState(state) { - var serialized = []; - for (var key in state) { - var value = state[key]; - if (key === '__s') { - var serverState = value; - } - else { - if (key.indexOf('=') !== -1) throw Error.argument('state', Sys.Res.stateFieldNameInvalid); - serialized[serialized.length] = key + '=' + encodeURIComponent(value); - } - } - return serialized.join('&') + (serverState ? '&&' + serverState : ''); -}; -Sys._Application.prototype._setState = function Sys$_Application$_setState(entry, title) { - if (this._enableHistory) { - entry = entry || ''; - if (entry !== this._currentEntry) { - if (window.theForm) { - var action = window.theForm.action; - var hashIndex = action.indexOf('#'); - window.theForm.action = ((hashIndex !== -1) ? action.substring(0, hashIndex) : action) + '#' + entry; - } - - if (this._historyFrame && this._historyPointIsNew) { - this._ignoreIFrame = true; - var frameDoc = this._historyFrame.contentWindow.document; - frameDoc.open("javascript:''"); - frameDoc.write("" + (title || document.title) + - "parent.Sys.Application._onIFrameLoad(" + - Sys.Serialization.JavaScriptSerializer.serialize(entry) + - ");"); - frameDoc.close(); - } - this._ignoreTimer = false; - this._currentEntry = entry; - if (this._historyFrame || this._historyPointIsNew) { - var currentHash = this.get_stateString(); - if (entry !== currentHash) { - var loc = document.location; - if (loc.href.length - loc.hash.length + entry.length > 1024) { - throw Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars); - } - window.location.hash = entry; - this._currentEntry = this.get_stateString(); - if ((typeof(title) !== 'undefined') && (title !== null)) { - document.title = title; - } - } - } - this._historyPointIsNew = false; - } - } -}; -Sys._Application.prototype._updateHiddenField = function Sys$_Application$_updateHiddenField(value) { - if (this._clientId) { - var serverStateField = document.getElementById(this._clientId); - if (serverStateField) { - serverStateField.value = value; - } - } -}; - -if (!window.XMLHttpRequest) { - window.XMLHttpRequest = function window$XMLHttpRequest() { - var progIDs = [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ]; - for (var i = 0, l = progIDs.length; i < l; i++) { - try { - return new ActiveXObject(progIDs[i]); - } - catch (ex) { - } - } - return null; - } -} -Type.registerNamespace('Sys.Net'); - -Sys.Net.WebRequestExecutor = function Sys$Net$WebRequestExecutor() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._webRequest = null; - this._resultObject = null; -} - function Sys$Net$WebRequestExecutor$get_webRequest() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._webRequest; - } - function Sys$Net$WebRequestExecutor$_set_webRequest(value) { - if (this.get_started()) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'set_webRequest')); - } - this._webRequest = value; - } - function Sys$Net$WebRequestExecutor$get_started() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_responseAvailable() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_timedOut() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_aborted() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_responseData() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_statusCode() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_statusText() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_xml() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_object() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._resultObject) { - this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData()); - } - return this._resultObject; - } - function Sys$Net$WebRequestExecutor$executeRequest() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$abort() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$getResponseHeader(header) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "header", type: String} - ]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$getAllResponseHeaders() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } -Sys.Net.WebRequestExecutor.prototype = { - get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest, - _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest, - get_started: Sys$Net$WebRequestExecutor$get_started, - get_responseAvailable: Sys$Net$WebRequestExecutor$get_responseAvailable, - get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut, - get_aborted: Sys$Net$WebRequestExecutor$get_aborted, - get_responseData: Sys$Net$WebRequestExecutor$get_responseData, - get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode, - get_statusText: Sys$Net$WebRequestExecutor$get_statusText, - get_xml: Sys$Net$WebRequestExecutor$get_xml, - get_object: Sys$Net$WebRequestExecutor$get_object, - executeRequest: Sys$Net$WebRequestExecutor$executeRequest, - abort: Sys$Net$WebRequestExecutor$abort, - getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader, - getAllResponseHeaders: Sys$Net$WebRequestExecutor$getAllResponseHeaders -} -Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor'); - -Sys.Net.XMLDOM = function Sys$Net$XMLDOM(markup) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "markup", type: String} - ]); - if (e) throw e; - if (!window.DOMParser) { - var progIDs = [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' ]; - for (var i = 0, l = progIDs.length; i < l; i++) { - try { - var xmlDOM = new ActiveXObject(progIDs[i]); - xmlDOM.async = false; - xmlDOM.loadXML(markup); - xmlDOM.setProperty('SelectionLanguage', 'XPath'); - return xmlDOM; - } - catch (ex) { - } - } - } - else { - try { - var domParser = new window.DOMParser(); - return domParser.parseFromString(markup, 'text/xml'); - } - catch (ex) { - } - } - return null; -} -Sys.Net.XMLHttpExecutor = function Sys$Net$XMLHttpExecutor() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - Sys.Net.XMLHttpExecutor.initializeBase(this); - var _this = this; - this._xmlHttpRequest = null; - this._webRequest = null; - this._responseAvailable = false; - this._timedOut = false; - this._timer = null; - this._aborted = false; - this._started = false; - this._onReadyStateChange = (function () { - - if (_this._xmlHttpRequest.readyState === 4 ) { - try { - if (typeof(_this._xmlHttpRequest.status) === "undefined") { - return; - } - } - catch(ex) { - return; - } - - _this._clearTimer(); - _this._responseAvailable = true; - _this._webRequest.completed(Sys.EventArgs.Empty); - if (_this._xmlHttpRequest != null) { - _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; - _this._xmlHttpRequest = null; - } - } - }); - this._clearTimer = (function() { - if (_this._timer != null) { - window.clearTimeout(_this._timer); - _this._timer = null; - } - }); - this._onTimeout = (function() { - if (!_this._responseAvailable) { - _this._clearTimer(); - _this._timedOut = true; - _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; - _this._xmlHttpRequest.abort(); - _this._webRequest.completed(Sys.EventArgs.Empty); - _this._xmlHttpRequest = null; - } - }); -} - function Sys$Net$XMLHttpExecutor$get_timedOut() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._timedOut; - } - function Sys$Net$XMLHttpExecutor$get_started() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._started; - } - function Sys$Net$XMLHttpExecutor$get_responseAvailable() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._responseAvailable; - } - function Sys$Net$XMLHttpExecutor$get_aborted() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._aborted; - } - function Sys$Net$XMLHttpExecutor$executeRequest() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._webRequest = this.get_webRequest(); - if (this._started) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'executeRequest')); - } - if (this._webRequest === null) { - throw Error.invalidOperation(Sys.Res.nullWebRequest); - } - var body = this._webRequest.get_body(); - var headers = this._webRequest.get_headers(); - this._xmlHttpRequest = new XMLHttpRequest(); - this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange; - var verb = this._webRequest.get_httpVerb(); - this._xmlHttpRequest.open(verb, this._webRequest.getResolvedUrl(), true ); - this._xmlHttpRequest.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - if (headers) { - for (var header in headers) { - var val = headers[header]; - if (typeof(val) !== "function") - this._xmlHttpRequest.setRequestHeader(header, val); - } - } - if (verb.toLowerCase() === "post") { - if ((headers === null) || !headers['Content-Type']) { - this._xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'); - } - if (!body) { - body = ""; - } - } - var timeout = this._webRequest.get_timeout(); - if (timeout > 0) { - this._timer = window.setTimeout(Function.createDelegate(this, this._onTimeout), timeout); - } - this._xmlHttpRequest.send(body); - this._started = true; - } - function Sys$Net$XMLHttpExecutor$getResponseHeader(header) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "header", type: String} - ]); - if (e) throw e; - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getResponseHeader')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getResponseHeader')); - } - var result; - try { - result = this._xmlHttpRequest.getResponseHeader(header); - } catch (e) { - } - if (!result) result = ""; - return result; - } - function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getAllResponseHeaders')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getAllResponseHeaders')); - } - return this._xmlHttpRequest.getAllResponseHeaders(); - } - function Sys$Net$XMLHttpExecutor$get_responseData() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_responseData')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_responseData')); - } - return this._xmlHttpRequest.responseText; - } - function Sys$Net$XMLHttpExecutor$get_statusCode() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusCode')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusCode')); - } - var result = 0; - try { - result = this._xmlHttpRequest.status; - } - catch(ex) { - } - return result; - } - function Sys$Net$XMLHttpExecutor$get_statusText() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusText')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusText')); - } - return this._xmlHttpRequest.statusText; - } - function Sys$Net$XMLHttpExecutor$get_xml() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_xml')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_xml')); - } - var xml = this._xmlHttpRequest.responseXML; - if (!xml || !xml.documentElement) { - xml = Sys.Net.XMLDOM(this._xmlHttpRequest.responseText); - if (!xml || !xml.documentElement) - return null; - } - else if (navigator.userAgent.indexOf('MSIE') !== -1) { - xml.setProperty('SelectionLanguage', 'XPath'); - } - if (xml.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" && - xml.documentElement.tagName === "parsererror") { - return null; - } - - if (xml.documentElement.firstChild && xml.documentElement.firstChild.tagName === "parsererror") { - return null; - } - - return xml; - } - function Sys$Net$XMLHttpExecutor$abort() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._started) { - throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart); - } - if (this._aborted || this._responseAvailable || this._timedOut) - return; - this._aborted = true; - this._clearTimer(); - if (this._xmlHttpRequest && !this._responseAvailable) { - this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; - this._xmlHttpRequest.abort(); - - this._xmlHttpRequest = null; - this._webRequest.completed(Sys.EventArgs.Empty); - } - } -Sys.Net.XMLHttpExecutor.prototype = { - get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut, - get_started: Sys$Net$XMLHttpExecutor$get_started, - get_responseAvailable: Sys$Net$XMLHttpExecutor$get_responseAvailable, - get_aborted: Sys$Net$XMLHttpExecutor$get_aborted, - executeRequest: Sys$Net$XMLHttpExecutor$executeRequest, - getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader, - getAllResponseHeaders: Sys$Net$XMLHttpExecutor$getAllResponseHeaders, - get_responseData: Sys$Net$XMLHttpExecutor$get_responseData, - get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode, - get_statusText: Sys$Net$XMLHttpExecutor$get_statusText, - get_xml: Sys$Net$XMLHttpExecutor$get_xml, - abort: Sys$Net$XMLHttpExecutor$abort -} -Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', Sys.Net.WebRequestExecutor); - -Sys.Net._WebRequestManager = function Sys$Net$_WebRequestManager() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._defaultTimeout = 0; - this._defaultExecutorType = "Sys.Net.XMLHttpExecutor"; -} - function Sys$Net$_WebRequestManager$add_invokingRequest(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().addHandler("invokingRequest", handler); - } - function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().removeHandler("invokingRequest", handler); - } - function Sys$Net$_WebRequestManager$add_completedRequest(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().addHandler("completedRequest", handler); - } - function Sys$Net$_WebRequestManager$remove_completedRequest(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().removeHandler("completedRequest", handler); - } - function Sys$Net$_WebRequestManager$_get_eventHandlerList() { - if (!this._events) { - this._events = new Sys.EventHandlerList(); - } - return this._events; - } - function Sys$Net$_WebRequestManager$get_defaultTimeout() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._defaultTimeout; - } - function Sys$Net$_WebRequestManager$set_defaultTimeout(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Number}]); - if (e) throw e; - if (value < 0) { - throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); - } - this._defaultTimeout = value; - } - function Sys$Net$_WebRequestManager$get_defaultExecutorType() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._defaultExecutorType; - } - function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - this._defaultExecutorType = value; - } - function Sys$Net$_WebRequestManager$executeRequest(webRequest) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "webRequest", type: Sys.Net.WebRequest} - ]); - if (e) throw e; - var executor = webRequest.get_executor(); - if (!executor) { - var failed = false; - try { - var executorType = eval(this._defaultExecutorType); - executor = new executorType(); - } catch (e) { - failed = true; - } - if (failed || !Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) { - throw Error.argument("defaultExecutorType", String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType)); - } - webRequest.set_executor(executor); - } - if (executor.get_aborted()) { - return; - } - var evArgs = new Sys.Net.NetworkRequestEventArgs(webRequest); - var handler = this._get_eventHandlerList().getHandler("invokingRequest"); - if (handler) { - handler(this, evArgs); - } - if (!evArgs.get_cancel()) { - executor.executeRequest(); - } - } -Sys.Net._WebRequestManager.prototype = { - add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest, - remove_invokingRequest: Sys$Net$_WebRequestManager$remove_invokingRequest, - add_completedRequest: Sys$Net$_WebRequestManager$add_completedRequest, - remove_completedRequest: Sys$Net$_WebRequestManager$remove_completedRequest, - _get_eventHandlerList: Sys$Net$_WebRequestManager$_get_eventHandlerList, - get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout, - set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout, - get_defaultExecutorType: Sys$Net$_WebRequestManager$get_defaultExecutorType, - set_defaultExecutorType: Sys$Net$_WebRequestManager$set_defaultExecutorType, - executeRequest: Sys$Net$_WebRequestManager$executeRequest -} -Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager'); -Sys.Net.WebRequestManager = new Sys.Net._WebRequestManager(); - -Sys.Net.NetworkRequestEventArgs = function Sys$Net$NetworkRequestEventArgs(webRequest) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "webRequest", type: Sys.Net.WebRequest} - ]); - if (e) throw e; - Sys.Net.NetworkRequestEventArgs.initializeBase(this); - this._webRequest = webRequest; -} - function Sys$Net$NetworkRequestEventArgs$get_webRequest() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._webRequest; - } -Sys.Net.NetworkRequestEventArgs.prototype = { - get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest -} -Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs', Sys.CancelEventArgs); - -Sys.Net.WebRequest = function Sys$Net$WebRequest() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._url = ""; - this._headers = { }; - this._body = null; - this._userContext = null; - this._httpVerb = null; - this._executor = null; - this._invokeCalled = false; - this._timeout = 0; -} - function Sys$Net$WebRequest$add_completed(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().addHandler("completed", handler); - } - function Sys$Net$WebRequest$remove_completed(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().removeHandler("completed", handler); - } - function Sys$Net$WebRequest$completed(eventArgs) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "eventArgs", type: Sys.EventArgs} - ]); - if (e) throw e; - var handler = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest"); - if (handler) { - handler(this._executor, eventArgs); - } - handler = this._get_eventHandlerList().getHandler("completed"); - if (handler) { - handler(this._executor, eventArgs); - } - } - function Sys$Net$WebRequest$_get_eventHandlerList() { - if (!this._events) { - this._events = new Sys.EventHandlerList(); - } - return this._events; - } - function Sys$Net$WebRequest$get_url() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._url; - } - function Sys$Net$WebRequest$set_url(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - this._url = value; - } - function Sys$Net$WebRequest$get_headers() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._headers; - } - function Sys$Net$WebRequest$get_httpVerb() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._httpVerb === null) { - if (this._body === null) { - return "GET"; - } - return "POST"; - } - return this._httpVerb; - } - function Sys$Net$WebRequest$set_httpVerb(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - if (value.length === 0) { - throw Error.argument('value', Sys.Res.invalidHttpVerb); - } - this._httpVerb = value; - } - function Sys$Net$WebRequest$get_body() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._body; - } - function Sys$Net$WebRequest$set_body(value) { - var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); - if (e) throw e; - this._body = value; - } - function Sys$Net$WebRequest$get_userContext() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._userContext; - } - function Sys$Net$WebRequest$set_userContext(value) { - var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); - if (e) throw e; - this._userContext = value; - } - function Sys$Net$WebRequest$get_executor() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._executor; - } - function Sys$Net$WebRequest$set_executor(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Sys.Net.WebRequestExecutor}]); - if (e) throw e; - if (this._executor !== null && this._executor.get_started()) { - throw Error.invalidOperation(Sys.Res.setExecutorAfterActive); - } - this._executor = value; - this._executor._set_webRequest(this); - } - function Sys$Net$WebRequest$get_timeout() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._timeout === 0) { - return Sys.Net.WebRequestManager.get_defaultTimeout(); - } - return this._timeout; - } - function Sys$Net$WebRequest$set_timeout(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Number}]); - if (e) throw e; - if (value < 0) { - throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); - } - this._timeout = value; - } - function Sys$Net$WebRequest$getResolvedUrl() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return Sys.Net.WebRequest._resolveUrl(this._url); - } - function Sys$Net$WebRequest$invoke() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._invokeCalled) { - throw Error.invalidOperation(Sys.Res.invokeCalledTwice); - } - Sys.Net.WebRequestManager.executeRequest(this); - this._invokeCalled = true; - } -Sys.Net.WebRequest.prototype = { - add_completed: Sys$Net$WebRequest$add_completed, - remove_completed: Sys$Net$WebRequest$remove_completed, - completed: Sys$Net$WebRequest$completed, - _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList, - get_url: Sys$Net$WebRequest$get_url, - set_url: Sys$Net$WebRequest$set_url, - get_headers: Sys$Net$WebRequest$get_headers, - get_httpVerb: Sys$Net$WebRequest$get_httpVerb, - set_httpVerb: Sys$Net$WebRequest$set_httpVerb, - get_body: Sys$Net$WebRequest$get_body, - set_body: Sys$Net$WebRequest$set_body, - get_userContext: Sys$Net$WebRequest$get_userContext, - set_userContext: Sys$Net$WebRequest$set_userContext, - get_executor: Sys$Net$WebRequest$get_executor, - set_executor: Sys$Net$WebRequest$set_executor, - get_timeout: Sys$Net$WebRequest$get_timeout, - set_timeout: Sys$Net$WebRequest$set_timeout, - getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl, - invoke: Sys$Net$WebRequest$invoke -} -Sys.Net.WebRequest._resolveUrl = function Sys$Net$WebRequest$_resolveUrl(url, baseUrl) { - if (url && url.indexOf('://') !== -1) { - return url; - } - if (!baseUrl || baseUrl.length === 0) { - var baseElement = document.getElementsByTagName('base')[0]; - if (baseElement && baseElement.href && baseElement.href.length > 0) { - baseUrl = baseElement.href; - } - else { - baseUrl = document.URL; - } - } - var qsStart = baseUrl.indexOf('?'); - if (qsStart !== -1) { - baseUrl = baseUrl.substr(0, qsStart); - } - qsStart = baseUrl.indexOf('#'); - if (qsStart !== -1) { - baseUrl = baseUrl.substr(0, qsStart); - } - baseUrl = baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1); - if (!url || url.length === 0) { - return baseUrl; - } - if (url.charAt(0) === '/') { - var slashslash = baseUrl.indexOf('://'); - if (slashslash === -1) { - throw Error.argument("baseUrl", Sys.Res.badBaseUrl1); - } - var nextSlash = baseUrl.indexOf('/', slashslash + 3); - if (nextSlash === -1) { - throw Error.argument("baseUrl", Sys.Res.badBaseUrl2); - } - return baseUrl.substr(0, nextSlash) + url; - } - else { - var lastSlash = baseUrl.lastIndexOf('/'); - if (lastSlash === -1) { - throw Error.argument("baseUrl", Sys.Res.badBaseUrl3); - } - return baseUrl.substr(0, lastSlash+1) + url; - } -} -Sys.Net.WebRequest._createQueryString = function Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod, addParams) { - encodeMethod = encodeMethod || encodeURIComponent; - var i = 0, obj, val, arg, sb = new Sys.StringBuilder(); - if (queryString) { - for (arg in queryString) { - obj = queryString[arg]; - if (typeof(obj) === "function") continue; - val = Sys.Serialization.JavaScriptSerializer.serialize(obj); - if (i++) { - sb.append('&'); - } - sb.append(arg); - sb.append('='); - sb.append(encodeMethod(val)); - } - } - if (addParams) { - if (i) { - sb.append('&'); - } - sb.append(addParams); - } - return sb.toString(); -} -Sys.Net.WebRequest._createUrl = function Sys$Net$WebRequest$_createUrl(url, queryString, addParams) { - if (!queryString && !addParams) { - return url; - } - var qs = Sys.Net.WebRequest._createQueryString(queryString, null, addParams); - return qs.length - ? url + ((url && url.indexOf('?') >= 0) ? "&" : "?") + qs - : url; -} -Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest'); - -Sys._ScriptLoaderTask = function Sys$_ScriptLoaderTask(scriptElement, completedCallback) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "scriptElement", domElement: true}, - {name: "completedCallback", type: Function} - ]); - if (e) throw e; - this._scriptElement = scriptElement; - this._completedCallback = completedCallback; -} - function Sys$_ScriptLoaderTask$get_scriptElement() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._scriptElement; - } - function Sys$_ScriptLoaderTask$dispose() { - if(this._disposed) { - return; - } - this._disposed = true; - this._removeScriptElementHandlers(); - Sys._ScriptLoaderTask._clearScript(this._scriptElement); - this._scriptElement = null; - } - function Sys$_ScriptLoaderTask$execute() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._addScriptElementHandlers(); - var headElements = document.getElementsByTagName('head'); - if (headElements.length === 0) { - throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead); - } - else { - headElements[0].appendChild(this._scriptElement); - } - } - function Sys$_ScriptLoaderTask$_addScriptElementHandlers() { - this._scriptLoadDelegate = Function.createDelegate(this, this._scriptLoadHandler); - - if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { - this._scriptElement.readyState = 'loaded'; - $addHandler(this._scriptElement, 'load', this._scriptLoadDelegate); - } - else { - $addHandler(this._scriptElement, 'readystatechange', this._scriptLoadDelegate); - } - if (this._scriptElement.addEventListener) { - this._scriptErrorDelegate = Function.createDelegate(this, this._scriptErrorHandler); - this._scriptElement.addEventListener('error', this._scriptErrorDelegate, false); - } - } - function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() { - if(this._scriptLoadDelegate) { - var scriptElement = this.get_scriptElement(); - if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { - $removeHandler(scriptElement, 'load', this._scriptLoadDelegate); - } - else { - $removeHandler(scriptElement, 'readystatechange', this._scriptLoadDelegate); - } - if (this._scriptErrorDelegate) { - this._scriptElement.removeEventListener('error', this._scriptErrorDelegate, false); - this._scriptErrorDelegate = null; - } - this._scriptLoadDelegate = null; - } - } - function Sys$_ScriptLoaderTask$_scriptErrorHandler() { - if(this._disposed) { - return; - } - - this._completedCallback(this.get_scriptElement(), false); - } - function Sys$_ScriptLoaderTask$_scriptLoadHandler() { - if(this._disposed) { - return; - } - var scriptElement = this.get_scriptElement(); - if ((scriptElement.readyState !== 'loaded') && - (scriptElement.readyState !== 'complete')) { - return; - } - - this._completedCallback(scriptElement, true); - } -Sys._ScriptLoaderTask.prototype = { - get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement, - dispose: Sys$_ScriptLoaderTask$dispose, - execute: Sys$_ScriptLoaderTask$execute, - _addScriptElementHandlers: Sys$_ScriptLoaderTask$_addScriptElementHandlers, - _removeScriptElementHandlers: Sys$_ScriptLoaderTask$_removeScriptElementHandlers, - _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler, - _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler -} -Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable); -Sys._ScriptLoaderTask._clearScript = function Sys$_ScriptLoaderTask$_clearScript(scriptElement) { - if (!Sys.Debug.isDebug) { - scriptElement.parentNode.removeChild(scriptElement); - } -} -Type.registerNamespace('Sys.Net'); - -Sys.Net.WebServiceProxy = function Sys$Net$WebServiceProxy() { -} - function Sys$Net$WebServiceProxy$get_timeout() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._timeout || 0; - } - function Sys$Net$WebServiceProxy$set_timeout(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Number}]); - if (e) throw e; - if (value < 0) { throw Error.argumentOutOfRange('value', value, Sys.Res.invalidTimeout); } - this._timeout = value; - } - function Sys$Net$WebServiceProxy$get_defaultUserContext() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return (typeof(this._userContext) === "undefined") ? null : this._userContext; - } - function Sys$Net$WebServiceProxy$set_defaultUserContext(value) { - var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); - if (e) throw e; - this._userContext = value; - } - function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._succeeded || null; - } - function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); - if (e) throw e; - this._succeeded = value; - } - function Sys$Net$WebServiceProxy$get_defaultFailedCallback() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._failed || null; - } - function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); - if (e) throw e; - this._failed = value; - } - function Sys$Net$WebServiceProxy$get_enableJsonp() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return !!this._jsonp; - } - function Sys$Net$WebServiceProxy$set_enableJsonp(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); - if (e) throw e; - this._jsonp = value; - } - function Sys$Net$WebServiceProxy$get_path() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._path || null; - } - function Sys$Net$WebServiceProxy$set_path(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - this._path = value; - } - function Sys$Net$WebServiceProxy$get_jsonpCallbackParameter() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._callbackParameter || "callback"; - } - function Sys$Net$WebServiceProxy$set_jsonpCallbackParameter(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - this._callbackParameter = value; - } - function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "servicePath", type: String}, - {name: "methodName", type: String}, - {name: "useGet", type: Boolean}, - {name: "params"}, - {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, - {name: "onFailure", type: Function, mayBeNull: true, optional: true}, - {name: "userContext", mayBeNull: true, optional: true} - ]); - if (e) throw e; - onSuccess = onSuccess || this.get_defaultSucceededCallback(); - onFailure = onFailure || this.get_defaultFailedCallback(); - if (userContext === null || typeof userContext === 'undefined') userContext = this.get_defaultUserContext(); - return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, this.get_timeout(), this.get_enableJsonp(), this.get_jsonpCallbackParameter()); - } -Sys.Net.WebServiceProxy.prototype = { - get_timeout: Sys$Net$WebServiceProxy$get_timeout, - set_timeout: Sys$Net$WebServiceProxy$set_timeout, - get_defaultUserContext: Sys$Net$WebServiceProxy$get_defaultUserContext, - set_defaultUserContext: Sys$Net$WebServiceProxy$set_defaultUserContext, - get_defaultSucceededCallback: Sys$Net$WebServiceProxy$get_defaultSucceededCallback, - set_defaultSucceededCallback: Sys$Net$WebServiceProxy$set_defaultSucceededCallback, - get_defaultFailedCallback: Sys$Net$WebServiceProxy$get_defaultFailedCallback, - set_defaultFailedCallback: Sys$Net$WebServiceProxy$set_defaultFailedCallback, - get_enableJsonp: Sys$Net$WebServiceProxy$get_enableJsonp, - set_enableJsonp: Sys$Net$WebServiceProxy$set_enableJsonp, - get_path: Sys$Net$WebServiceProxy$get_path, - set_path: Sys$Net$WebServiceProxy$set_path, - get_jsonpCallbackParameter: Sys$Net$WebServiceProxy$get_jsonpCallbackParameter, - set_jsonpCallbackParameter: Sys$Net$WebServiceProxy$set_jsonpCallbackParameter, - _invoke: Sys$Net$WebServiceProxy$_invoke -} -Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy'); -Sys.Net.WebServiceProxy.invoke = function Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, timeout, enableJsonp, jsonpCallbackParameter) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "servicePath", type: String}, - {name: "methodName", type: String, mayBeNull: true, optional: true}, - {name: "useGet", type: Boolean, optional: true}, - {name: "params", mayBeNull: true, optional: true}, - {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, - {name: "onFailure", type: Function, mayBeNull: true, optional: true}, - {name: "userContext", mayBeNull: true, optional: true}, - {name: "timeout", type: Number, optional: true}, - {name: "enableJsonp", type: Boolean, mayBeNull: true, optional: true}, - {name: "jsonpCallbackParameter", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var schemeHost = (enableJsonp !== false) ? Sys.Net.WebServiceProxy._xdomain.exec(servicePath) : null, - tempCallback, jsonp = schemeHost && (schemeHost.length === 3) && - ((schemeHost[1] !== location.protocol) || (schemeHost[2] !== location.host)); - useGet = jsonp || useGet; - if (jsonp) { - jsonpCallbackParameter = jsonpCallbackParameter || "callback"; - tempCallback = "_jsonp" + Sys._jsonp++; - } - if (!params) params = {}; - var urlParams = params; - if (!useGet || !urlParams) urlParams = {}; - var script, error, timeoutcookie = null, loader, body = null, - url = Sys.Net.WebRequest._createUrl(methodName - ? (servicePath+"/"+encodeURIComponent(methodName)) - : servicePath, urlParams, jsonp ? (jsonpCallbackParameter + "=Sys." + tempCallback) : null); - if (jsonp) { - script = document.createElement("script"); - script.src = url; - loader = new Sys._ScriptLoaderTask(script, function(script, loaded) { - if (!loaded || tempCallback) { - jsonpComplete({ Message: String.format(Sys.Res.webServiceFailedNoMsg, methodName) }, -1); - } - }); - function jsonpComplete(data, statusCode) { - if (timeoutcookie !== null) { - window.clearTimeout(timeoutcookie); - timeoutcookie = null; - } - loader.dispose(); - delete Sys[tempCallback]; - tempCallback = null; - if ((typeof(statusCode) !== "undefined") && (statusCode !== 200)) { - if (onFailure) { - error = new Sys.Net.WebServiceError(false, - data.Message || String.format(Sys.Res.webServiceFailedNoMsg, methodName), - data.StackTrace || null, - data.ExceptionType || null, - data); - error._statusCode = statusCode; - onFailure(error, userContext, methodName); - } - else { - if (data.StackTrace && data.Message) { - error = data.StackTrace + "-- " + data.Message; - } - else { - error = data.StackTrace || data.Message; - } - error = String.format(error ? Sys.Res.webServiceFailed : Sys.Res.webServiceFailedNoMsg, methodName, error); - throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); - } - } - else if (onSuccess) { - onSuccess(data, userContext, methodName); - } - } - Sys[tempCallback] = jsonpComplete; - loader.execute(); - return null; - } - var request = new Sys.Net.WebRequest(); - request.set_url(url); - request.get_headers()['Content-Type'] = 'application/json; charset=utf-8'; - if (!useGet) { - body = Sys.Serialization.JavaScriptSerializer.serialize(params); - if (body === "{}") body = ""; - } - request.set_body(body); - request.add_completed(onComplete); - if (timeout && timeout > 0) request.set_timeout(timeout); - request.invoke(); - - function onComplete(response, eventArgs) { - if (response.get_responseAvailable()) { - var statusCode = response.get_statusCode(); - var result = null; - - try { - var contentType = response.getResponseHeader("Content-Type"); - if (contentType.startsWith("application/json")) { - result = response.get_object(); - } - else if (contentType.startsWith("text/xml")) { - result = response.get_xml(); - } - else { - result = response.get_responseData(); - } - } catch (ex) { - } - var error = response.getResponseHeader("jsonerror"); - var errorObj = (error === "true"); - if (errorObj) { - if (result) { - result = new Sys.Net.WebServiceError(false, result.Message, result.StackTrace, result.ExceptionType, result); - } - } - else if (contentType.startsWith("application/json")) { - result = (!result || (typeof(result.d) === "undefined")) ? result : result.d; - } - if (((statusCode < 200) || (statusCode >= 300)) || errorObj) { - if (onFailure) { - if (!result || !errorObj) { - result = new Sys.Net.WebServiceError(false , String.format(Sys.Res.webServiceFailedNoMsg, methodName)); - } - result._statusCode = statusCode; - onFailure(result, userContext, methodName); - } - else { - if (result && errorObj) { - error = result.get_exceptionType() + "-- " + result.get_message(); - } - else { - error = response.get_responseData(); - } - throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); - } - } - else if (onSuccess) { - onSuccess(result, userContext, methodName); - } - } - else { - var msg; - if (response.get_timedOut()) { - msg = String.format(Sys.Res.webServiceTimedOut, methodName); - } - else { - msg = String.format(Sys.Res.webServiceFailedNoMsg, methodName) - } - if (onFailure) { - onFailure(new Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), userContext, methodName); - } - else { - throw Sys.Net.WebServiceProxy._createFailedError(methodName, msg); - } - } - } - return request; -} -Sys.Net.WebServiceProxy._createFailedError = function Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) { - var displayMessage = "Sys.Net.WebServiceFailedException: " + errorMessage; - var e = Error.create(displayMessage, { 'name': 'Sys.Net.WebServiceFailedException', 'methodName': methodName }); - e.popStackFrame(); - return e; -} -Sys.Net.WebServiceProxy._defaultFailedCallback = function Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) { - var error = err.get_exceptionType() + "-- " + err.get_message(); - throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); -} -Sys.Net.WebServiceProxy._generateTypedConstructor = function Sys$Net$WebServiceProxy$_generateTypedConstructor(type) { - return function(properties) { - if (properties) { - for (var name in properties) { - this[name] = properties[name]; - } - } - this.__type = type; - } -} -Sys._jsonp = 0; -Sys.Net.WebServiceProxy._xdomain = /^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/; - -Sys.Net.WebServiceError = function Sys$Net$WebServiceError(timedOut, message, stackTrace, exceptionType, errorObject) { - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "timedOut", type: Boolean}, - {name: "message", type: String, mayBeNull: true}, - {name: "stackTrace", type: String, mayBeNull: true, optional: true}, - {name: "exceptionType", type: String, mayBeNull: true, optional: true}, - {name: "errorObject", type: Object, mayBeNull: true, optional: true} - ]); - if (e) throw e; - this._timedOut = timedOut; - this._message = message; - this._stackTrace = stackTrace; - this._exceptionType = exceptionType; - this._errorObject = errorObject; - this._statusCode = -1; -} - function Sys$Net$WebServiceError$get_timedOut() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._timedOut; - } - function Sys$Net$WebServiceError$get_statusCode() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._statusCode; - } - function Sys$Net$WebServiceError$get_message() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._message; - } - function Sys$Net$WebServiceError$get_stackTrace() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._stackTrace || ""; - } - function Sys$Net$WebServiceError$get_exceptionType() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._exceptionType || ""; - } - function Sys$Net$WebServiceError$get_errorObject() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._errorObject || null; - } -Sys.Net.WebServiceError.prototype = { - get_timedOut: Sys$Net$WebServiceError$get_timedOut, - get_statusCode: Sys$Net$WebServiceError$get_statusCode, - get_message: Sys$Net$WebServiceError$get_message, - get_stackTrace: Sys$Net$WebServiceError$get_stackTrace, - get_exceptionType: Sys$Net$WebServiceError$get_exceptionType, - get_errorObject: Sys$Net$WebServiceError$get_errorObject -} -Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError'); - - -Type.registerNamespace('Sys'); - -Sys.Res={ -'urlMustBeLessThan1024chars':'The history state must be small enough to not make the url larger than 1024 characters.', -'argumentTypeName':'Value is not the name of an existing type.', -'cantBeCalledAfterDispose':'Can\'t be called after dispose.', -'componentCantSetIdAfterAddedToApp':'The id property of a component can\'t be set after it\'s been added to the Application object.', -'behaviorDuplicateName':'A behavior with name \'{0}\' already exists or it is the name of an existing property on the target element.', -'notATypeName':'Value is not a valid type name.', -'elementNotFound':'An element with id \'{0}\' could not be found.', -'stateMustBeStringDictionary':'The state object can only have null and string fields.', -'boolTrueOrFalse':'Value must be \'true\' or \'false\'.', -'scriptLoadFailedNoHead':'ScriptLoader requires pages to contain a element.', -'stringFormatInvalid':'The format string is invalid.', -'referenceNotFound':'Component \'{0}\' was not found.', -'enumReservedName':'\'{0}\' is a reserved name that can\'t be used as an enum value name.', -'circularParentChain':'The chain of control parents can\'t have circular references.', -'namespaceContainsNonObject':'Object {0} already exists and is not an object.', -'undefinedEvent':'\'{0}\' is not an event.', -'propertyUndefined':'\'{0}\' is not a property or an existing field.', -'observableConflict':'Object already contains a member with the name \'{0}\'.', -'historyCannotEnableHistory':'Cannot set enableHistory after initialization.', -'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.', -'scriptLoadFailedDebug':'The script \'{0}\' failed to load. Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable \'Display a notification about every script error\' under advanced settings.', -'propertyNotWritable':'\'{0}\' is not a writable property.', -'enumInvalidValueName':'\'{0}\' is not a valid name for an enum value.', -'controlAlreadyDefined':'A control is already associated with the element.', -'addHandlerCantBeUsedForError':'Can\'t add a handler for the error event using this method. Please set the window.onerror property instead.', -'cantAddNonFunctionhandler':'Can\'t add a handler that is not a function.', -'invalidNameSpace':'Value is not a valid namespace identifier.', -'notAnInterface':'Value is not a valid interface.', -'eventHandlerNotFunction':'Handler must be a function.', -'propertyNotAnArray':'\'{0}\' is not an Array property.', -'namespaceContainsClass':'Object {0} already exists as a class, enum, or interface.', -'typeRegisteredTwice':'Type {0} has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.', -'cantSetNameAfterInit':'The name property can\'t be set on this object after initialization.', -'historyMissingFrame':'For the history feature to work in IE, the page must have an iFrame element with id \'__historyFrame\' pointed to a page that gets its title from the \'title\' query string parameter and calls Sys.Application._onIFrameLoad() on the parent window. This can be done by setting EnableHistory to true on ScriptManager.', -'appDuplicateComponent':'Two components with the same id \'{0}\' can\'t be added to the application.', -'historyCannotAddHistoryPointWithHistoryDisabled':'A history point can only be added if enableHistory is set to true.', -'baseNotAClass':'Value is not a class.', -'expectedElementOrId':'Value must be a DOM element or DOM element Id.', -'methodNotFound':'No method found with name \'{0}\'.', -'arrayParseBadFormat':'Value must be a valid string representation for an array. It must start with a \'[\' and end with a \']\'.', -'stateFieldNameInvalid':'State field names must not contain any \'=\' characters.', -'cantSetId':'The id property can\'t be set on this object.', -'stringFormatBraceMismatch':'The format string contains an unmatched opening or closing brace.', -'enumValueNotInteger':'An enumeration definition can only contain integer values.', -'propertyNullOrUndefined':'Cannot set the properties of \'{0}\' because it returned a null value.', -'argumentDomNode':'Value must be a DOM element or a text node.', -'componentCantSetIdTwice':'The id property of a component can\'t be set more than once.', -'createComponentOnDom':'Value must be null for Components that are not Controls or Behaviors.', -'createNotComponent':'{0} does not derive from Sys.Component.', -'createNoDom':'Value must not be null for Controls and Behaviors.', -'cantAddWithoutId':'Can\'t add a component that doesn\'t have an id.', -'notObservable':'Instances of type \'{0}\' cannot be observed.', -'badTypeName':'Value is not the name of the type being registered or the name is a reserved word.', -'argumentInteger':'Value must be an integer.', -'invokeCalledTwice':'Cannot call invoke more than once.', -'webServiceFailed':'The server method \'{0}\' failed with the following error: {1}', -'argumentType':'Object cannot be converted to the required type.', -'argumentNull':'Value cannot be null.', -'scriptAlreadyLoaded':'The script \'{0}\' has been referenced multiple times. If referencing Microsoft AJAX scripts explicitly, set the MicrosoftAjaxMode property of the ScriptManager to Explicit.', -'scriptDependencyNotFound':'The script \'{0}\' failed to load because it is dependent on script \'{1}\'.', -'formatBadFormatSpecifier':'Format specifier was invalid.', -'requiredScriptReferenceNotIncluded':'\'{0}\' requires that you have included a script reference to \'{1}\'.', -'webServiceFailedNoMsg':'The server method \'{0}\' failed.', -'argumentDomElement':'Value must be a DOM element.', -'invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.', -'cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.', -'actualValue':'Actual value was {0}.', -'enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.', -'scriptLoadFailed':'The script \'{0}\' could not be loaded.', -'parameterCount':'Parameter count mismatch.', -'cannotDeserializeEmptyString':'Cannot deserialize empty string.', -'formatInvalidString':'Input string was not in a correct format.', -'invalidTimeout':'Value must be greater than or equal to zero.', -'cannotAbortBeforeStart':'Cannot abort when executor has not started.', -'argument':'Value does not fall within the expected range.', -'cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.', -'invalidHttpVerb':'httpVerb cannot be set to an empty or null string.', -'nullWebRequest':'Cannot call executeRequest with a null webRequest.', -'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.', -'cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.', -'argumentUndefined':'Value cannot be undefined.', -'webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}', -'servicePathNotSet':'The path to the web service has not been set.', -'argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.', -'cannotCallOnceStarted':'Cannot call {0} once started.', -'badBaseUrl1':'Base URL does not contain ://.', -'badBaseUrl2':'Base URL does not contain another /.', -'badBaseUrl3':'Cannot find last / in base URL.', -'setExecutorAfterActive':'Cannot set executor after it has become active.', -'paramName':'Parameter name: {0}', -'nullReferenceInPath':'Null reference while evaluating data path: \'{0}\'.', -'cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.', -'cannotSerializeObjectWithCycle':'Cannot serialize object with cyclic reference within child properties.', -'format':'One of the identified items was in an invalid format.', -'assertFailedCaller':'Assertion Failed: {0}\r\nat {1}', -'argumentOutOfRange':'Specified argument was out of the range of valid values.', -'webServiceTimedOut':'The server method \'{0}\' timed out.', -'notImplemented':'The method or operation is not implemented.', -'assertFailed':'Assertion Failed: {0}', -'invalidOperation':'Operation is not valid due to the current state of the object.', -'breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?' -}; diff --git a/NzbDrone.Web/Scripts/MicrosoftAjax.js b/NzbDrone.Web/Scripts/MicrosoftAjax.js deleted file mode 100644 index 52e6626a0..000000000 --- a/NzbDrone.Web/Scripts/MicrosoftAjax.js +++ /dev/null @@ -1,6 +0,0 @@ -//---------------------------------------------------------- -// Copyright (C) Microsoft Corporation. All rights reserved. -//---------------------------------------------------------- -// MicrosoftAjax.js -Function.__typeName="Function";Function.__class=true;Function.createCallback=function(b,a){return function(){var e=arguments.length;if(e>0){var d=[];for(var c=0;c=d)break;a=Function._validateParameter(g[b],f,h);if(a){a.popStackFrame();return a}}return null};Function._validateParameterCount=function(j,d,i){var a,c,b=d.length,e=j.length;if(eb){c=true;for(a=0;a0&&(d=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};Sys._indexOf=function(d,e,a){if(typeof e==="undefined")return -1;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);if(Sys.Browser.version>=8)if(document.documentMode>=7)Sys.Browser.documentMode=document.documentMode;Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" AppleWebKit/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/AppleWebKit\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Sys.EventArgs=function(){};Sys.EventArgs.registerClass("Sys.EventArgs");Sys.EventArgs.Empty=new Sys.EventArgs;Sys.CancelEventArgs=function(){Sys.CancelEventArgs.initializeBase(this);this._cancel=false};Sys.CancelEventArgs.prototype={get_cancel:function(){return this._cancel},set_cancel:function(a){this._cancel=a}};Sys.CancelEventArgs.registerClass("Sys.CancelEventArgs",Sys.EventArgs);Type.registerNamespace("Sys.UI");Sys._Debug=function(){};Sys._Debug.prototype={_appendConsole:function(a){if(typeof Debug!=="undefined"&&Debug.writeln)Debug.writeln(a);if(window.console&&window.console.log)window.console.log(a);if(window.opera)window.opera.postError(a);if(window.debugService)window.debugService.trace(a)},_appendTrace:function(b){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value+=b+"\n"},assert:function(c,a,b){if(!c){a=b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.assert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.format(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value=""},fail:function(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){var c=this._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=c?c:"traceDump";b=b?b:"";if(a===null){this.trace(b+c+": null");return}switch(typeof a){case "undefined":this.trace(b+c+": Undefined");break;case "number":case "string":case "boolean":this.trace(b+c+": "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a)){this.trace(b+c+": "+a.toString());break}if(!d)d=[];else if(Array.contains(d,a)){this.trace(b+c+": ...");return}Array.add(d,a);if(a==window||a===document||window.HTMLElement&&a instanceof HTMLElement||typeof a.nodeName==="string"){var k=a.tagName?a.tagName:"DomElement";if(a.id)k+=" - "+a.id;this.trace(b+c+" {"+k+"}")}else{var i=Object.getTypeName(a);this.trace(b+c+(typeof i==="string"?" {"+i+"}":""));if(b===""||f){b+=" ";var e,j,l,g,h;if(Array.isInstanceOfType(a)){j=a.length;for(e=0;e=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(b,c){Sys.__upperCaseTypes[b.toUpperCase()]=this;for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=b;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=c;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.CollectionChange=function(e,a,c,b,d){this.action=e;if(a)if(!(a instanceof Array))a=[a];this.newItems=a||null;if(typeof c!=="number")c=-1;this.newStartingIndex=c;if(b)if(!(b instanceof Array))b=[b];this.oldItems=b||null;if(typeof d!=="number")d=-1;this.oldStartingIndex=d};Sys.CollectionChange.registerClass("Sys.CollectionChange");Sys.NotifyCollectionChangedAction=function(){throw Error.notImplemented()};Sys.NotifyCollectionChangedAction.prototype={add:0,remove:1,reset:2};Sys.NotifyCollectionChangedAction.registerEnum("Sys.NotifyCollectionChangedAction");Sys.NotifyCollectionChangedEventArgs=function(a){this._changes=a;Sys.NotifyCollectionChangedEventArgs.initializeBase(this)};Sys.NotifyCollectionChangedEventArgs.prototype={get_changes:function(){return this._changes||[]}};Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs",Sys.EventArgs);Sys.Observer=function(){};Sys.Observer.registerClass("Sys.Observer");Sys.Observer.makeObservable=function(a){var c=a instanceof Array,b=Sys.Observer;if(a.setValue===b._observeMethods.setValue)return a;b._addMethods(a,b._observeMethods);if(c)b._addMethods(a,b._arrayMethods);return a};Sys.Observer._addMethods=function(c,b){for(var a in b)c[a]=b[a]};Sys.Observer._addEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._addHandler(a,b)};Sys.Observer.addEventHandler=function(c,a,b){Sys.Observer._addEventHandler(c,a,b)};Sys.Observer._removeEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._removeHandler(a,b)};Sys.Observer.removeEventHandler=function(c,a,b){Sys.Observer._removeEventHandler(c,a,b)};Sys.Observer.raiseEvent=function(b,e,d){var c=Sys.Observer._getContext(b);if(!c)return;var a=c.events.getHandler(e);if(a)a(b,d)};Sys.Observer.addPropertyChanged=function(b,a){Sys.Observer._addEventHandler(b,"propertyChanged",a)};Sys.Observer.removePropertyChanged=function(b,a){Sys.Observer._removeEventHandler(b,"propertyChanged",a)};Sys.Observer.beginUpdate=function(a){Sys.Observer._getContext(a,true).updating=true};Sys.Observer.endUpdate=function(b){var a=Sys.Observer._getContext(b);if(!a||!a.updating)return;a.updating=false;var d=a.dirty;a.dirty=false;if(d){if(b instanceof Array){var c=a.changes;a.changes=null;Sys.Observer.raiseCollectionChanged(b,c)}Sys.Observer.raisePropertyChanged(b,"")}};Sys.Observer.isUpdating=function(b){var a=Sys.Observer._getContext(b);return a?a.updating:false};Sys.Observer._setValue=function(a,j,g){var b,f,k=a,d=j.split(".");for(var i=0,m=d.length-1;i-1&&ac.Calendar.TwoDigitYearMax)a-=100}return a};Date._getEra=function(e,c){if(!c)return 0;var b,d=e.getTime();for(var a=0,f=c.length;a=b)return a}return 0};Date._getEraYear=function(d,b,e,c){var a=d.getFullYear();if(!c&&b.eras)a-=b.eras[e+3];return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":case "gg":case "g":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)");break;case "/":a.append("(\\"+b.DateSeparator+")")}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){return /\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(h,d,i){var a,c,b,f,e,g=false;for(a=1,c=i.length;a31)return null;break;case "MMMM":c=k._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=k._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":c=parseInt(a,10)-1;if(c<0||c>11)return null;break;case "y":case "yy":e=Date._expandYear(g,parseInt(a,10));if(e<0||e>9999)return null;break;case "yyyy":e=parseInt(a,10);if(e<0||e>9999)return null;break;case "h":case "hh":d=parseInt(a,10);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=parseInt(a,10);if(d<0||d>23)return null;break;case "m":case "mm":q=parseInt(a,10);if(q<0||q>59)return null;break;case "s":case "ss":r=parseInt(a,10);if(r<0||r>59)return null;break;case "tt":case "t":var z=a.toUpperCase();v=z===g.PMDesignator.toUpperCase();if(!v&&z!==g.AMDesignator.toUpperCase())return null;break;case "f":f=parseInt(a,10)*100;if(f<0||f>999)return null;break;case "ff":f=parseInt(a,10)*10;if(f<0||f>999)return null;break;case "fff":f=parseInt(a,10);if(f<0||f>999)return null;break;case "dddd":i=k._getDayIndex(a);if(i<0||i>6)return null;break;case "ddd":i=k._getAbbrDayIndex(a);if(i<0||i>6)return null;break;case "zzz":var u=a.split(/:/);if(u.length!==2)return null;h=parseInt(u[0],10);if(h<-12||h>13)return null;var o=parseInt(u[1],10);if(o<0||o>59)return null;n=h*60+(a.startsWith("-")?-o:o);break;case "z":case "zz":h=parseInt(a,10);if(h<-12||h>13)return null;n=h*60;break;case "g":case "gg":var p=a;if(!p||!g.eras)return null;p=p.toLowerCase().trim();for(var s=0,F=g.eras.length;s0)return this.toLocaleString();else return this.toString();var o=["n %","n%","%n"],n=["-n %","-n%","-%n"],p=["(n)","-n","- n","n-","n -"],m=["$n","n$","$ n","n $"],l=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function g(a,c,d){for(var b=a.length;b1?parseInt(e[1]):0;e=b.split(".");b=e[0];a=e.length>1?e[1]:"";var q;if(c>0){a=g(a,c,false);b+=a.slice(0,c);a=a.substr(c)}else if(c<0){c=-c;b=g(b,c+1,true);a=b.slice(-c,b.length)+a;b=b.slice(0,-c)}if(i>0){if(a.length>i)a=a.slice(0,i);else a=g(a,i,false);a=p+a}else a="";var d=b.length-1,f="";while(d>=0){if(h===0||h>d)if(f.length>0)return b.slice(0,d+1)+n+f+a;else return b.slice(0,d+1)+a;if(f.length>0)f=b.slice(d-h+1,d+1)+n+f;else f=b.slice(d-h+1,d+1);d-=h;if(k1)b=parseInt(e.slice(1),10);var c;switch(e.charAt(0)){case "d":case "D":c="n";if(b!==-1)d=g(""+d,b,true);if(this<0)d=-d;break;case "c":case "C":if(this<0)c=l[a.CurrencyNegativePattern];else c=m[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;d=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=p[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;d=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=n[a.PercentNegativePattern];else c=o[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;d=i(Math.abs(this)*100,b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var k=/n|\$|-|%/g,f="";for(;true;){var q=k.lastIndex,h=k.exec(c);f+=c.slice(q,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=d;break;case "$":f+=a.CurrencySymbol;break;case "-":if(/[1-9]/.test(d))f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol}}return f};Sys.CultureInfo=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};Sys.CultureInfo.prototype={_getDateTimeFormats:function(){if(!this._dateTimeFormats){var a=this.dateTimeFormat;this._dateTimeFormats=[a.MonthDayPattern,a.YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePattern,a.UniversalSortableDateTimePattern]}return this._dateTimeFormats},_getIndex:function(c,d,e){var b=this._toUpper(c),a=Array.indexOf(d,b);if(a===-1)a=Array.indexOf(e,b);return a},_getMonthIndex:function(a){if(!this._upperMonths){this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);this._upperMonthsGenitive=this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames)}return this._getIndex(a,this._upperMonths,this._upperMonthsGenitive)},_getAbbrMonthIndex:function(a){if(!this._upperAbbrMonths){this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);this._upperAbbrMonthsGenitive=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames)}return this._getIndex(a,this._upperAbbrMonths,this._upperAbbrMonthsGenitive)},_getDayIndex:function(a){if(!this._upperDays)this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);return Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:function(a){if(!this._upperAbbrDays)this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);return Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:function(c){var b=[];for(var a=0,d=c.length;a0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a,false,g)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var d=[],f=0;for(var e in b){if(e.startsWith("$"))continue;if(e===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&f!==0){d[f++]=d[0];d[0]=e}else d[f++]=e}if(i)d.sort();a.append("{");var j=false;for(c=0;c=0;c--){var f=d[c];if(!g||f.autoRemove)$removeHandler(a,b,f.handler)}}a._events=null}};Sys.UI.DomEvent._disposeHandlers=function(){Sys.UI.DomEvent._clearHandlers(this,true);var b=this._chainDispose,a=typeof b;if(a!=="undefined"){this.dispose=b;this._chainDispose=null;if(a==="function")this.dispose()}};var $removeHandler=Sys.UI.DomEvent.removeHandler=function(b,a,c){Sys.UI.DomEvent._removeHandler(b,a,c)};Sys.UI.DomEvent._removeHandler=function(a,e,f){var d=null,c=a._events[e];for(var b=0,g=c.length;b=3){d+=parseInt(b.borderLeftWidth);e+=parseInt(b.borderTopWidth)}}b=Sys.UI.DomElement._getCurrentStyle(c);var h=b?b.position:null;if(!h||h!=="absolute")for(a=c.parentNode;a;a=a.parentNode){f=a.tagName?a.tagName.toUpperCase():null;if(f!=="BODY"&&f!=="HTML"&&(a.scrollLeft||a.scrollTop)){d-=a.scrollLeft||0;e-=a.scrollTop||0}b=Sys.UI.DomElement._getCurrentStyle(a);var i=b?b.position:null;if(i&&i==="absolute")break}return new Sys.UI.Point(d,e)};else Sys.UI.DomElement.getLocation=function(d){if(d.window&&d.window===d||d.nodeType===9)return new Sys.UI.Point(0,0);var e=0,f=0,a,i=null,g=null,b=null;for(a=d;a;i=a,(g=b,a=a.offsetParent)){var c=a.tagName?a.tagName.toUpperCase():null;b=Sys.UI.DomElement._getCurrentStyle(a);if((a.offsetLeft||a.offsetTop)&&!(c==="BODY"&&(!g||g.position!=="absolute"))){e+=a.offsetLeft;f+=a.offsetTop}if(i!==null&&b){if(c!=="TABLE"&&c!=="TD"&&c!=="HTML"){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}if(c==="TABLE"&&(b.position==="relative"||b.position==="absolute")){e+=parseInt(b.marginLeft)||0;f+=parseInt(b.marginTop)||0}}}b=Sys.UI.DomElement._getCurrentStyle(d);var h=b?b.position:null;if(!h||h!=="absolute")for(a=d.parentNode;a;a=a.parentNode){c=a.tagName?a.tagName.toUpperCase():null;if(c!=="BODY"&&c!=="HTML"&&(a.scrollLeft||a.scrollTop)){e-=a.scrollLeft||0;f-=a.scrollTop||0;b=Sys.UI.DomElement._getCurrentStyle(a);if(b){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}}}return new Sys.UI.Point(e,f)};Sys.UI.DomElement.isDomElement=function(a){return Sys._isDomElement(a)};Sys.UI.DomElement.removeCssClass=function(d,c){var a=" "+d.className+" ",b=a.indexOf(" "+c+" ");if(b>=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.resolveElement=function(b,c){var a=b;if(!a)return null;if(typeof a==="string")a=Sys.UI.DomElement.getElementById(a,c);return a};Sys.UI.DomElement.raiseBubbleEvent=function(c,d){var b=c;while(b){var a=b.control;if(a&&a.onBubbleEvent&&a.raiseBubbleEvent){Sys.UI.DomElement._raiseBubbleEventFromControl(a,c,d);return}b=b.parentNode}};Sys.UI.DomElement._raiseBubbleEventFromControl=function(a,b,c){if(!a.onBubbleEvent(b,c))a._raiseBubbleEvent(b,c)};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement.getVisibilityMode=function(a){return a._visibilityMode===Sys.UI.VisibilityMode.hide?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse};Sys.UI.DomElement.setVisibilityMode=function(a,b){Sys.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==b){a._visibilityMode=b;if(Sys.UI.DomElement.getVisible(a)===false)if(a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none";a._visibilityMode=b}};Sys.UI.DomElement.getVisible=function(b){var a=b.currentStyle||Sys.UI.DomElement._getCurrentStyle(b);if(!a)return true;return a.visibility!=="hidden"&&a.display!=="none"};Sys.UI.DomElement.setVisible=function(a,b){if(b!==Sys.UI.DomElement.getVisible(a)){Sys.UI.DomElement._ensureOldDisplayMode(a);a.style.visibility=b?"visible":"hidden";if(b||a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none"}};Sys.UI.DomElement._ensureOldDisplayMode=function(a){if(!a._oldDisplayMode){var b=a.currentStyle||Sys.UI.DomElement._getCurrentStyle(a);a._oldDisplayMode=b?b.display:null;if(!a._oldDisplayMode||a._oldDisplayMode==="none")switch(a.tagName.toUpperCase()){case "DIV":case "P":case "ADDRESS":case "BLOCKQUOTE":case "BODY":case "COL":case "COLGROUP":case "DD":case "DL":case "DT":case "FIELDSET":case "FORM":case "H1":case "H2":case "H3":case "H4":case "H5":case "H6":case "HR":case "IFRAME":case "LEGEND":case "OL":case "PRE":case "TABLE":case "TD":case "TH":case "TR":case "UL":a._oldDisplayMode="block";break;case "LI":a._oldDisplayMode="list-item";break;default:a._oldDisplayMode="inline"}}};Sys.UI.DomElement._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};Sys.UI.DomElement._getCurrentStyle=function(a){if(a.nodeType===3)return null;var c=Sys.UI.DomElement._getWindow(a);if(a.documentElement)a=a.documentElement;var b=c&&a!==c&&c.getComputedStyle?c.getComputedStyle(a,null):a.currentStyle||a.style;if(!b&&Sys.Browser.agent===Sys.Browser.Safari&&a.style){var g=a.style.display,f=a.style.position;a.style.position="absolute";a.style.display="block";var e=c.getComputedStyle(a,null);a.style.display=g;a.style.position=f;b={};for(var d in e)b[d]=e[d];b.display="none"}return b};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);this._domReady()};Sys._Application.prototype={_creatingComponents:false,_disposing:false,_deleteCount:0,get_isCreatingComponents:function(){return this._creatingComponents},get_isDisposing:function(){return this._disposing},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(this._timerCookie){window.clearTimeout(this._timerCookie);delete this._timerCookie}if(this._endRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);delete this._endRequestHandler}if(this._beginRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);delete this._beginRequestHandler}if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,f=b.length;a=0;b--)this._disposeElementInternal(c[b]);if(!d)this._disposeElementInternal(a)}},endCreateComponents:function(){var b=this._secondPassComponents;for(var a=0,d=b.length;a1000){var c=[];for(var d=0,f=b.length;d=0;b--){var c=a[b];if(typeof c.dispose==="function")c.dispose()}},_disposeElementInternal:function(a){var d=a.dispose;if(d&&typeof d==="function")a.dispose();else{var c=a.control;if(c&&typeof c.dispose==="function")c.dispose()}var b=a._behaviors;if(b)this._disposeComponents(b);b=a._components;if(b){this._disposeComponents(b);a._components=null}},_domReady:function(){var a,g,f=this;function b(){f.initialize()}var c=function(){Sys.UI.DomEvent.removeHandler(window,"load",c);b()};Sys.UI.DomEvent.addHandler(window,"load",c);if(document.addEventListener)try{document.addEventListener("DOMContentLoaded",a=function(){document.removeEventListener("DOMContentLoaded",a,false);b()},false)}catch(h){}else if(document.attachEvent)if(window==window.top&&document.documentElement.doScroll){var e,d=document.createElement("div");a=function(){try{d.doScroll("left")}catch(c){e=window.setTimeout(a,0);return}d=null;b()};a()}else document.attachEvent("onreadystatechange",a=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",a);b()}})},_raiseInit:function(){var a=this.get_events().getHandler("init");if(a){this.beginCreateComponents();a(this,Sys.EventArgs.Empty);this.endCreateComponents()}},_unloadHandler:function(){this.dispose()}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Sys.UI.Behavior=function(b){Sys.UI.Behavior.initializeBase(this);this._element=b;var a=b._behaviors;if(!a)b._behaviors=[this];else a[a.length]=this};Sys.UI.Behavior.prototype={_name:null,get_element:function(){return this._element},get_id:function(){var a=Sys.UI.Behavior.callBaseMethod(this,"get_id");if(a)return a;if(!this._element||!this._element.id)return "";return this._element.id+"$"+this.get_name()},get_name:function(){if(this._name)return this._name;var a=Object.getTypeName(this),b=a.lastIndexOf(".");if(b!==-1)a=a.substr(b+1);if(!this.get_isInitialized())this._name=a;return a},set_name:function(a){this._name=a},initialize:function(){Sys.UI.Behavior.callBaseMethod(this,"initialize");var a=this.get_name();if(a)this._element[a]=this},dispose:function(){Sys.UI.Behavior.callBaseMethod(this,"dispose");var a=this._element;if(a){var c=this.get_name();if(c)a[c]=null;var b=a._behaviors;Array.remove(b,this);if(b.length===0)a._behaviors=null;delete this._element}}};Sys.UI.Behavior.registerClass("Sys.UI.Behavior",Sys.Component);Sys.UI.Behavior.getBehaviorByName=function(b,c){var a=b[c];return a&&Sys.UI.Behavior.isInstanceOfType(a)?a:null};Sys.UI.Behavior.getBehaviors=function(a){if(!a._behaviors)return [];return Array.clone(a._behaviors)};Sys.UI.Behavior.getBehaviorsByType=function(d,e){var a=d._behaviors,c=[];if(a)for(var b=0,f=a.length;b0&&a.charAt(0)==="#")a=a.substring(1);return a};Sys._Application.prototype.get_enableHistory=function(){return this._enableHistory};Sys._Application.prototype.set_enableHistory=function(a){this._enableHistory=a};Sys._Application.prototype.add_navigate=function(a){this.get_events().addHandler("navigate",a)};Sys._Application.prototype.remove_navigate=function(a){this.get_events().removeHandler("navigate",a)};Sys._Application.prototype.addHistoryPoint=function(c,f){this._ensureHistory();var b=this._state;for(var a in c){var d=c[a];if(d===null){if(typeof b[a]!=="undefined")delete b[a]}else b[a]=d}var e=this._serializeState(b);this._historyPointIsNew=true;this._setState(e,f);this._raiseNavigate()};Sys._Application.prototype.setServerId=function(a,b){this._clientId=a;this._uniqueId=b};Sys._Application.prototype.setServerState=function(a){this._ensureHistory();this._state.__s=a;this._updateHiddenField(a)};Sys._Application.prototype._deserializeState=function(a){var e={};a=a||"";var b=a.indexOf("&&");if(b!==-1&&b+2'");c.write(""+(b||document.title)+"parent.Sys.Application._onIFrameLoad('+Sys.Serialization.JavaScriptSerializer.serialize(a)+");");c.close()}this._ignoreTimer=false;this._currentEntry=a;if(this._historyFrame||this._historyPointIsNew){var f=this.get_stateString();if(a!==f){window.location.hash=a;this._currentEntry=this.get_stateString();if(typeof b!=="undefined"&&b!==null)document.title=b}}this._historyPointIsNew=false}}};Sys._Application.prototype._updateHiddenField=function(b){if(this._clientId){var a=document.getElementById(this._clientId);if(a)a.value=b}};if(!window.XMLHttpRequest)window.XMLHttpRequest=function(){var b=["Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP"];for(var a=0,c=b.length;a0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1)a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var d=document.getElementsByTagName("base")[0];if(d&&d.href&&d.href.length>0)a=d.href;else a=document.URL}var c=a.indexOf("?");if(c!==-1)a=a.substr(0,c);c=a.indexOf("#");if(c!==-1)a=a.substr(0,c);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(c,b,f){b=b||encodeURIComponent;var h=0,e,g,d,a=new Sys.StringBuilder;if(c)for(d in c){e=c[d];if(typeof e==="function")continue;g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(h++)a.append("&");a.append(d);a.append("=");a.append(b(g))}if(f){if(h)a.append("&");a.append(f)}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b,c){if(!b&&!c)return a;var d=Sys.Net.WebRequest._createQueryString(b,null,c);return d.length?a+(a&&a.indexOf("?")>=0?"&":"?")+d:a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoaderTask._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){this._addScriptElementHandlers();document.getElementsByTagName("head")[0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(){this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){this._scriptElement.readyState="loaded";$addHandler(this._scriptElement,"load",this._scriptLoadDelegate)}else $addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);if(this._scriptElement.addEventListener){this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);this._scriptElement.addEventListener("error",this._scriptErrorDelegate,false)}},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(Sys.Browser.agent!==Sys.Browser.InternetExplorer)$removeHandler(a,"load",this._scriptLoadDelegate);else $removeHandler(a,"readystatechange",this._scriptLoadDelegate);if(this._scriptErrorDelegate){this._scriptElement.removeEventListener("error",this._scriptErrorDelegate,false);this._scriptErrorDelegate=null}this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(a.readyState!=="loaded"&&a.readyState!=="complete")return;this._completedCallback(a,true)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys._ScriptLoaderTask._clearScript=function(a){if(!Sys.Debug.isDebug)a.parentNode.removeChild(a)};Type.registerNamespace("Sys.Net");Sys.Net.WebServiceProxy=function(){};Sys.Net.WebServiceProxy.prototype={get_timeout:function(){return this._timeout||0},set_timeout:function(a){if(a<0)throw Error.argumentOutOfRange("value",a,Sys.Res.invalidTimeout);this._timeout=a},get_defaultUserContext:function(){return typeof this._userContext==="undefined"?null:this._userContext},set_defaultUserContext:function(a){this._userContext=a},get_defaultSucceededCallback:function(){return this._succeeded||null},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultFailedCallback:function(){return this._failed||null},set_defaultFailedCallback:function(a){this._failed=a},get_enableJsonp:function(){return !!this._jsonp},set_enableJsonp:function(a){this._jsonp=a},get_path:function(){return this._path||null},set_path:function(a){this._path=a},get_jsonpCallbackParameter:function(){return this._callbackParameter||"callback"},set_jsonpCallbackParameter:function(a){this._callbackParameter=a},_invoke:function(d,e,g,f,c,b,a){c=c||this.get_defaultSucceededCallback();b=b||this.get_defaultFailedCallback();if(a===null||typeof a==="undefined")a=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout(),this.get_enableJsonp(),this.get_jsonpCallbackParameter())}};Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebServiceProxy.invoke=function(q,a,m,l,j,b,g,e,w,p){var i=w!==false?Sys.Net.WebServiceProxy._xdomain.exec(q):null,c,n=i&&i.length===3&&(i[1]!==location.protocol||i[2]!==location.host);m=n||m;if(n){p=p||"callback";c="_jsonp"+Sys._jsonp++}if(!l)l={};var r=l;if(!m||!r)r={};var s,h,f=null,k,o=null,u=Sys.Net.WebRequest._createUrl(a?q+"/"+encodeURIComponent(a):q,r,n?p+"=Sys."+c:null);if(n){s=document.createElement("script");s.src=u;k=new Sys._ScriptLoaderTask(s,function(d,b){if(!b||c)t({Message:String.format(Sys.Res.webServiceFailedNoMsg,a)},-1)});function v(){if(f===null)return;f=null;h=new Sys.Net.WebServiceError(true,String.format(Sys.Res.webServiceTimedOut,a));k.dispose();delete Sys[c];if(b)b(h,g,a)}function t(d,e){if(f!==null){window.clearTimeout(f);f=null}k.dispose();delete Sys[c];c=null;if(typeof e!=="undefined"&&e!==200){if(b){h=new Sys.Net.WebServiceError(false,d.Message||String.format(Sys.Res.webServiceFailedNoMsg,a),d.StackTrace||null,d.ExceptionType||null,d);h._statusCode=e;b(h,g,a)}}else if(j)j(d,g,a)}Sys[c]=t;e=e||Sys.Net.WebRequestManager.get_defaultTimeout();if(e>0)f=window.setTimeout(v,e);k.execute();return null}var d=new Sys.Net.WebRequest;d.set_url(u);d.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!m){o=Sys.Serialization.JavaScriptSerializer.serialize(l);if(o==="{}")o=""}d.set_body(o);d.add_completed(x);if(e&&e>0)d.set_timeout(e);d.invoke();function x(d){if(d.get_responseAvailable()){var f=d.get_statusCode(),c=null;try{var e=d.getResponseHeader("Content-Type");if(e.startsWith("application/json"))c=d.get_object();else if(e.startsWith("text/xml"))c=d.get_xml();else c=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),h=k==="true";if(h){if(c)c=new Sys.Net.WebServiceError(false,c.Message,c.StackTrace,c.ExceptionType,c)}else if(e.startsWith("application/json"))c=!c||typeof c.d==="undefined"?c:c.d;if(f<200||f>=300||h){if(b){if(!c||!h)c=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a));c._statusCode=f;b(c,g,a)}}else if(j)j(c,g,a)}else{var i;if(d.get_timedOut())i=String.format(Sys.Res.webServiceTimedOut,a);else i=String.format(Sys.Res.webServiceFailedNoMsg,a);if(b)b(new Sys.Net.WebServiceError(d.get_timedOut(),i,"",""),g,a)}}return d};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys._jsonp=0;Sys.Net.WebServiceProxy._xdomain=/^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/;Sys.Net.WebServiceError=function(d,e,c,a,b){this._timedOut=d;this._message=e;this._stackTrace=c;this._exceptionType=a;this._errorObject=b;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace||""},get_exceptionType:function(){return this._exceptionType||""},get_errorObject:function(){return this._errorObject||null}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError"); -Type.registerNamespace('Sys');Sys.Res={'argumentInteger':'Value must be an integer.','invokeCalledTwice':'Cannot call invoke more than once.','webServiceFailed':'The server method \'{0}\' failed with the following error: {1}','argumentType':'Object cannot be converted to the required type.','argumentNull':'Value cannot be null.','scriptAlreadyLoaded':'The script \'{0}\' has been referenced multiple times. If referencing Microsoft AJAX scripts explicitly, set the MicrosoftAjaxMode property of the ScriptManager to Explicit.','scriptDependencyNotFound':'The script \'{0}\' failed to load because it is dependent on script \'{1}\'.','formatBadFormatSpecifier':'Format specifier was invalid.','requiredScriptReferenceNotIncluded':'\'{0}\' requires that you have included a script reference to \'{1}\'.','webServiceFailedNoMsg':'The server method \'{0}\' failed.','argumentDomElement':'Value must be a DOM element.','invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.','cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.','actualValue':'Actual value was {0}.','enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.','scriptLoadFailed':'The script \'{0}\' could not be loaded.','parameterCount':'Parameter count mismatch.','cannotDeserializeEmptyString':'Cannot deserialize empty string.','formatInvalidString':'Input string was not in a correct format.','invalidTimeout':'Value must be greater than or equal to zero.','cannotAbortBeforeStart':'Cannot abort when executor has not started.','argument':'Value does not fall within the expected range.','cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.','invalidHttpVerb':'httpVerb cannot be set to an empty or null string.','nullWebRequest':'Cannot call executeRequest with a null webRequest.','eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.','cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.','argumentUndefined':'Value cannot be undefined.','webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}','servicePathNotSet':'The path to the web service has not been set.','argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.','cannotCallOnceStarted':'Cannot call {0} once started.','badBaseUrl1':'Base URL does not contain ://.','badBaseUrl2':'Base URL does not contain another /.','badBaseUrl3':'Cannot find last / in base URL.','setExecutorAfterActive':'Cannot set executor after it has become active.','paramName':'Parameter name: {0}','nullReferenceInPath':'Null reference while evaluating data path: \'{0}\'.','cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.','cannotSerializeObjectWithCycle':'Cannot serialize object with cyclic reference within child properties.','format':'One of the identified items was in an invalid format.','assertFailedCaller':'Assertion Failed: {0}\r\nat {1}','argumentOutOfRange':'Specified argument was out of the range of valid values.','webServiceTimedOut':'The server method \'{0}\' timed out.','notImplemented':'The method or operation is not implemented.','assertFailed':'Assertion Failed: {0}','invalidOperation':'Operation is not valid due to the current state of the object.','breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?'}; diff --git a/NzbDrone.Web/Scripts/MicrosoftMvcAjax.debug.js b/NzbDrone.Web/Scripts/MicrosoftMvcAjax.debug.js deleted file mode 100644 index eb68ba7e7..000000000 --- a/NzbDrone.Web/Scripts/MicrosoftMvcAjax.debug.js +++ /dev/null @@ -1,408 +0,0 @@ -//!---------------------------------------------------------- -//! Copyright (C) Microsoft Corporation. All rights reserved. -//!---------------------------------------------------------- -//! MicrosoftMvcAjax.js - -Type.registerNamespace('Sys.Mvc'); - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.AjaxOptions - -Sys.Mvc.$create_AjaxOptions = function Sys_Mvc_AjaxOptions() { return {}; } - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.InsertionMode - -Sys.Mvc.InsertionMode = function() { - /// - /// - /// - /// - /// - /// -}; -Sys.Mvc.InsertionMode.prototype = { - replace: 0, - insertBefore: 1, - insertAfter: 2 -} -Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode', false); - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.AjaxContext - -Sys.Mvc.AjaxContext = function Sys_Mvc_AjaxContext(request, updateTarget, loadingElement, insertionMode) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - this._request = request; - this._updateTarget = updateTarget; - this._loadingElement = loadingElement; - this._insertionMode = insertionMode; -} -Sys.Mvc.AjaxContext.prototype = { - _insertionMode: 0, - _loadingElement: null, - _response: null, - _request: null, - _updateTarget: null, - - get_data: function Sys_Mvc_AjaxContext$get_data() { - /// - if (this._response) { - return this._response.get_responseData(); - } - else { - return null; - } - }, - - get_insertionMode: function Sys_Mvc_AjaxContext$get_insertionMode() { - /// - return this._insertionMode; - }, - - get_loadingElement: function Sys_Mvc_AjaxContext$get_loadingElement() { - /// - return this._loadingElement; - }, - - get_object: function Sys_Mvc_AjaxContext$get_object() { - /// - var executor = this.get_response(); - return (executor) ? executor.get_object() : null; - }, - - get_response: function Sys_Mvc_AjaxContext$get_response() { - /// - return this._response; - }, - set_response: function Sys_Mvc_AjaxContext$set_response(value) { - /// - this._response = value; - return value; - }, - - get_request: function Sys_Mvc_AjaxContext$get_request() { - /// - return this._request; - }, - - get_updateTarget: function Sys_Mvc_AjaxContext$get_updateTarget() { - /// - return this._updateTarget; - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.AsyncHyperlink - -Sys.Mvc.AsyncHyperlink = function Sys_Mvc_AsyncHyperlink() { -} -Sys.Mvc.AsyncHyperlink.handleClick = function Sys_Mvc_AsyncHyperlink$handleClick(anchor, evt, ajaxOptions) { - /// - /// - /// - /// - /// - /// - evt.preventDefault(); - Sys.Mvc.MvcHelpers._asyncRequest(anchor.href, 'post', '', anchor, ajaxOptions); -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.MvcHelpers - -Sys.Mvc.MvcHelpers = function Sys_Mvc_MvcHelpers() { -} -Sys.Mvc.MvcHelpers._serializeSubmitButton = function Sys_Mvc_MvcHelpers$_serializeSubmitButton(element, offsetX, offsetY) { - /// - /// - /// - /// - /// - /// - /// - if (element.disabled) { - return null; - } - var name = element.name; - if (name) { - var tagName = element.tagName.toUpperCase(); - var encodedName = encodeURIComponent(name); - var inputElement = element; - if (tagName === 'INPUT') { - var type = inputElement.type; - if (type === 'submit') { - return encodedName + '=' + encodeURIComponent(inputElement.value); - } - else if (type === 'image') { - return encodedName + '.x=' + offsetX + '&' + encodedName + '.y=' + offsetY; - } - } - else if ((tagName === 'BUTTON') && (name.length) && (inputElement.type === 'submit')) { - return encodedName + '=' + encodeURIComponent(inputElement.value); - } - } - return null; -} -Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers$_serializeForm(form) { - /// - /// - /// - var formElements = form.elements; - var formBody = new Sys.StringBuilder(); - var count = formElements.length; - for (var i = 0; i < count; i++) { - var element = formElements[i]; - var name = element.name; - if (!name || !name.length) { - continue; - } - var tagName = element.tagName.toUpperCase(); - if (tagName === 'INPUT') { - var inputElement = element; - var type = inputElement.type; - if ((type === 'text') || (type === 'password') || (type === 'hidden') || (((type === 'checkbox') || (type === 'radio')) && element.checked)) { - formBody.append(encodeURIComponent(name)); - formBody.append('='); - formBody.append(encodeURIComponent(inputElement.value)); - formBody.append('&'); - } - } - else if (tagName === 'SELECT') { - var selectElement = element; - var optionCount = selectElement.options.length; - for (var j = 0; j < optionCount; j++) { - var optionElement = selectElement.options[j]; - if (optionElement.selected) { - formBody.append(encodeURIComponent(name)); - formBody.append('='); - formBody.append(encodeURIComponent(optionElement.value)); - formBody.append('&'); - } - } - } - else if (tagName === 'TEXTAREA') { - formBody.append(encodeURIComponent(name)); - formBody.append('='); - formBody.append(encodeURIComponent((element.value))); - formBody.append('&'); - } - } - var additionalInput = form._additionalInput; - if (additionalInput) { - formBody.append(additionalInput); - formBody.append('&'); - } - return formBody.toString(); -} -Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url, verb, body, triggerElement, ajaxOptions) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - if (ajaxOptions.confirm) { - if (!confirm(ajaxOptions.confirm)) { - return; - } - } - if (ajaxOptions.url) { - url = ajaxOptions.url; - } - if (ajaxOptions.httpMethod) { - verb = ajaxOptions.httpMethod; - } - if (body.length > 0 && !body.endsWith('&')) { - body += '&'; - } - body += 'X-Requested-With=XMLHttpRequest'; - var upperCaseVerb = verb.toUpperCase(); - var isGetOrPost = (upperCaseVerb === 'GET' || upperCaseVerb === 'POST'); - if (!isGetOrPost) { - body += '&'; - body += 'X-HTTP-Method-Override=' + upperCaseVerb; - } - var requestBody = ''; - if (upperCaseVerb === 'GET' || upperCaseVerb === 'DELETE') { - if (url.indexOf('?') > -1) { - if (!url.endsWith('&')) { - url += '&'; - } - url += body; - } - else { - url += '?'; - url += body; - } - } - else { - requestBody = body; - } - var request = new Sys.Net.WebRequest(); - request.set_url(url); - if (isGetOrPost) { - request.set_httpVerb(verb); - } - else { - request.set_httpVerb('POST'); - request.get_headers()['X-HTTP-Method-Override'] = upperCaseVerb; - } - request.set_body(requestBody); - if (verb.toUpperCase() === 'PUT') { - request.get_headers()['Content-Type'] = 'application/x-www-form-urlencoded;'; - } - request.get_headers()['X-Requested-With'] = 'XMLHttpRequest'; - var updateElement = null; - if (ajaxOptions.updateTargetId) { - updateElement = $get(ajaxOptions.updateTargetId); - } - var loadingElement = null; - if (ajaxOptions.loadingElementId) { - loadingElement = $get(ajaxOptions.loadingElementId); - } - var ajaxContext = new Sys.Mvc.AjaxContext(request, updateElement, loadingElement, ajaxOptions.insertionMode); - var continueRequest = true; - if (ajaxOptions.onBegin) { - continueRequest = ajaxOptions.onBegin(ajaxContext) !== false; - } - if (loadingElement) { - Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), true); - } - if (continueRequest) { - request.add_completed(Function.createDelegate(null, function(executor) { - Sys.Mvc.MvcHelpers._onComplete(request, ajaxOptions, ajaxContext); - })); - request.invoke(); - } -} -Sys.Mvc.MvcHelpers._onComplete = function Sys_Mvc_MvcHelpers$_onComplete(request, ajaxOptions, ajaxContext) { - /// - /// - /// - /// - /// - /// - ajaxContext.set_response(request.get_executor()); - if (ajaxOptions.onComplete && ajaxOptions.onComplete(ajaxContext) === false) { - return; - } - var statusCode = ajaxContext.get_response().get_statusCode(); - if ((statusCode >= 200 && statusCode < 300) || statusCode === 304 || statusCode === 1223) { - if (statusCode !== 204 && statusCode !== 304 && statusCode !== 1223) { - var contentType = ajaxContext.get_response().getResponseHeader('Content-Type'); - if ((contentType) && (contentType.indexOf('application/x-javascript') !== -1)) { - eval(ajaxContext.get_data()); - } - else { - Sys.Mvc.MvcHelpers.updateDomElement(ajaxContext.get_updateTarget(), ajaxContext.get_insertionMode(), ajaxContext.get_data()); - } - } - if (ajaxOptions.onSuccess) { - ajaxOptions.onSuccess(ajaxContext); - } - } - else { - if (ajaxOptions.onFailure) { - ajaxOptions.onFailure(ajaxContext); - } - } - if (ajaxContext.get_loadingElement()) { - Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), false); - } -} -Sys.Mvc.MvcHelpers.updateDomElement = function Sys_Mvc_MvcHelpers$updateDomElement(target, insertionMode, content) { - /// - /// - /// - /// - /// - /// - if (target) { - switch (insertionMode) { - case Sys.Mvc.InsertionMode.replace: - target.innerHTML = content; - break; - case Sys.Mvc.InsertionMode.insertBefore: - if (content && content.length > 0) { - target.innerHTML = content + target.innerHTML.trimStart(); - } - break; - case Sys.Mvc.InsertionMode.insertAfter: - if (content && content.length > 0) { - target.innerHTML = target.innerHTML.trimEnd() + content; - } - break; - } - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.AsyncForm - -Sys.Mvc.AsyncForm = function Sys_Mvc_AsyncForm() { -} -Sys.Mvc.AsyncForm.handleClick = function Sys_Mvc_AsyncForm$handleClick(form, evt) { - /// - /// - /// - /// - var additionalInput = Sys.Mvc.MvcHelpers._serializeSubmitButton(evt.target, evt.offsetX, evt.offsetY); - form._additionalInput = additionalInput; -} -Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm$handleSubmit(form, evt, ajaxOptions) { - /// - /// - /// - /// - /// - /// - evt.preventDefault(); - var validationCallbacks = form.validationCallbacks; - if (validationCallbacks) { - for (var i = 0; i < validationCallbacks.length; i++) { - var callback = validationCallbacks[i]; - if (!callback()) { - return; - } - } - } - var body = Sys.Mvc.MvcHelpers._serializeForm(form); - Sys.Mvc.MvcHelpers._asyncRequest(form.action, form.method || 'post', body, form, ajaxOptions); -} - - -Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext'); -Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink'); -Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers'); -Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm'); - -// ---- Do not remove this footer ---- -// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) -// ----------------------------------- diff --git a/NzbDrone.Web/Scripts/MicrosoftMvcAjax.js b/NzbDrone.Web/Scripts/MicrosoftMvcAjax.js deleted file mode 100644 index c5a6165e7..000000000 --- a/NzbDrone.Web/Scripts/MicrosoftMvcAjax.js +++ /dev/null @@ -1,25 +0,0 @@ -//---------------------------------------------------------- -// Copyright (C) Microsoft Corporation. All rights reserved. -//---------------------------------------------------------- -// MicrosoftMvcAjax.js - -Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_AjaxOptions=function(){return {};} -Sys.Mvc.InsertionMode=function(){};Sys.Mvc.InsertionMode.prototype = {replace:0,insertBefore:1,insertAfter:2} -Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode',false);Sys.Mvc.AjaxContext=function(request,updateTarget,loadingElement,insertionMode){this.$3=request;this.$4=updateTarget;this.$1=loadingElement;this.$0=insertionMode;} -Sys.Mvc.AjaxContext.prototype={$0:0,$1:null,$2:null,$3:null,$4:null,get_data:function(){if(this.$2){return this.$2.get_responseData();}else{return null;}},get_insertionMode:function(){return this.$0;},get_loadingElement:function(){return this.$1;},get_object:function(){var $0=this.get_response();return ($0)?$0.get_object():null;},get_response:function(){return this.$2;},set_response:function(value){this.$2=value;return value;},get_request:function(){return this.$3;},get_updateTarget:function(){return this.$4;}} -Sys.Mvc.AsyncHyperlink=function(){} -Sys.Mvc.AsyncHyperlink.handleClick=function(anchor,evt,ajaxOptions){evt.preventDefault();Sys.Mvc.MvcHelpers.$2(anchor.href,'post','',anchor,ajaxOptions);} -Sys.Mvc.MvcHelpers=function(){} -Sys.Mvc.MvcHelpers.$0=function($p0,$p1,$p2){if($p0.disabled){return null;}var $0=$p0.name;if($0){var $1=$p0.tagName.toUpperCase();var $2=encodeURIComponent($0);var $3=$p0;if($1==='INPUT'){var $4=$3.type;if($4==='submit'){return $2+'='+encodeURIComponent($3.value);}else if($4==='image'){return $2+'.x='+$p1+'&'+$2+'.y='+$p2;}}else if(($1==='BUTTON')&&($0.length)&&($3.type==='submit')){return $2+'='+encodeURIComponent($3.value);}}return null;} -Sys.Mvc.MvcHelpers.$1=function($p0){var $0=$p0.elements;var $1=new Sys.StringBuilder();var $2=$0.length;for(var $4=0;$4<$2;$4++){var $5=$0[$4];var $6=$5.name;if(!$6||!$6.length){continue;}var $7=$5.tagName.toUpperCase();if($7==='INPUT'){var $8=$5;var $9=$8.type;if(($9==='text')||($9==='password')||($9==='hidden')||((($9==='checkbox')||($9==='radio'))&&$5.checked)){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($8.value));$1.append('&');}}else if($7==='SELECT'){var $A=$5;var $B=$A.options.length;for(var $C=0;$C<$B;$C++){var $D=$A.options[$C];if($D.selected){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($D.value));$1.append('&');}}}else if($7==='TEXTAREA'){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent(($5.value)));$1.append('&');}}var $3=$p0._additionalInput;if($3){$1.append($3);$1.append('&');}return $1.toString();} -Sys.Mvc.MvcHelpers.$2=function($p0,$p1,$p2,$p3,$p4){if($p4.confirm){if(!confirm($p4.confirm)){return;}}if($p4.url){$p0=$p4.url;}if($p4.httpMethod){$p1=$p4.httpMethod;}if($p2.length>0&&!$p2.endsWith('&')){$p2+='&';}$p2+='X-Requested-With=XMLHttpRequest';var $0=$p1.toUpperCase();var $1=($0==='GET'||$0==='POST');if(!$1){$p2+='&';$p2+='X-HTTP-Method-Override='+$0;}var $2='';if($0==='GET'||$0==='DELETE'){if($p0.indexOf('?')>-1){if(!$p0.endsWith('&')){$p0+='&';}$p0+=$p2;}else{$p0+='?';$p0+=$p2;}}else{$2=$p2;}var $3=new Sys.Net.WebRequest();$3.set_url($p0);if($1){$3.set_httpVerb($p1);}else{$3.set_httpVerb('POST');$3.get_headers()['X-HTTP-Method-Override']=$0;}$3.set_body($2);if($p1.toUpperCase()==='PUT'){$3.get_headers()['Content-Type']='application/x-www-form-urlencoded;';}$3.get_headers()['X-Requested-With']='XMLHttpRequest';var $4=null;if($p4.updateTargetId){$4=$get($p4.updateTargetId);}var $5=null;if($p4.loadingElementId){$5=$get($p4.loadingElementId);}var $6=new Sys.Mvc.AjaxContext($3,$4,$5,$p4.insertionMode);var $7=true;if($p4.onBegin){$7=$p4.onBegin($6)!==false;}if($5){Sys.UI.DomElement.setVisible($6.get_loadingElement(),true);}if($7){$3.add_completed(Function.createDelegate(null,function($p1_0){ -Sys.Mvc.MvcHelpers.$3($3,$p4,$6);}));$3.invoke();}} -Sys.Mvc.MvcHelpers.$3=function($p0,$p1,$p2){$p2.set_response($p0.get_executor());if($p1.onComplete&&$p1.onComplete($p2)===false){return;}var $0=$p2.get_response().get_statusCode();if(($0>=200&&$0<300)||$0===304||$0===1223){if($0!==204&&$0!==304&&$0!==1223){var $1=$p2.get_response().getResponseHeader('Content-Type');if(($1)&&($1.indexOf('application/x-javascript')!==-1)){eval($p2.get_data());}else{Sys.Mvc.MvcHelpers.updateDomElement($p2.get_updateTarget(),$p2.get_insertionMode(),$p2.get_data());}}if($p1.onSuccess){$p1.onSuccess($p2);}}else{if($p1.onFailure){$p1.onFailure($p2);}}if($p2.get_loadingElement()){Sys.UI.DomElement.setVisible($p2.get_loadingElement(),false);}} -Sys.Mvc.MvcHelpers.updateDomElement=function(target,insertionMode,content){if(target){switch(insertionMode){case 0:target.innerHTML=content;break;case 1:if(content&&content.length>0){target.innerHTML=content+target.innerHTML.trimStart();}break;case 2:if(content&&content.length>0){target.innerHTML=target.innerHTML.trimEnd()+content;}break;}}} -Sys.Mvc.AsyncForm=function(){} -Sys.Mvc.AsyncForm.handleClick=function(form,evt){var $0=Sys.Mvc.MvcHelpers.$0(evt.target,evt.offsetX,evt.offsetY);form._additionalInput = $0;} -Sys.Mvc.AsyncForm.handleSubmit=function(form,evt,ajaxOptions){evt.preventDefault();var $0=form.validationCallbacks;if($0){for(var $2=0;$2<$0.length;$2++){var $3=$0[$2];if(!$3()){return;}}}var $1=Sys.Mvc.MvcHelpers.$1(form);Sys.Mvc.MvcHelpers.$2(form.action,form.method||'post',$1,form,ajaxOptions);} -Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm'); -// ---- Do not remove this footer ---- -// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) -// ----------------------------------- diff --git a/NzbDrone.Web/Scripts/MicrosoftMvcValidation.debug.js b/NzbDrone.Web/Scripts/MicrosoftMvcValidation.debug.js deleted file mode 100644 index 346ba4818..000000000 --- a/NzbDrone.Web/Scripts/MicrosoftMvcValidation.debug.js +++ /dev/null @@ -1,883 +0,0 @@ -//!---------------------------------------------------------- -//! Copyright (C) Microsoft Corporation. All rights reserved. -//!---------------------------------------------------------- -//! MicrosoftMvcValidation.js - - -Type.registerNamespace('Sys.Mvc'); - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.Validation - -Sys.Mvc.$create_Validation = function Sys_Mvc_Validation() { return {}; } - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.JsonValidationField - -Sys.Mvc.$create_JsonValidationField = function Sys_Mvc_JsonValidationField() { return {}; } - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.JsonValidationOptions - -Sys.Mvc.$create_JsonValidationOptions = function Sys_Mvc_JsonValidationOptions() { return {}; } - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.JsonValidationRule - -Sys.Mvc.$create_JsonValidationRule = function Sys_Mvc_JsonValidationRule() { return {}; } - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.ValidationContext - -Sys.Mvc.$create_ValidationContext = function Sys_Mvc_ValidationContext() { return {}; } - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.NumberValidator - -Sys.Mvc.NumberValidator = function Sys_Mvc_NumberValidator() { -} -Sys.Mvc.NumberValidator.create = function Sys_Mvc_NumberValidator$create(rule) { - /// - /// - /// - return Function.createDelegate(new Sys.Mvc.NumberValidator(), new Sys.Mvc.NumberValidator().validate); -} -Sys.Mvc.NumberValidator.prototype = { - - validate: function Sys_Mvc_NumberValidator$validate(value, context) { - /// - /// - /// - /// - /// - if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { - return true; - } - var n = Number.parseLocale(value); - return (!isNaN(n)); - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.FormContext - -Sys.Mvc.FormContext = function Sys_Mvc_FormContext(formElement, validationSummaryElement) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - this._errors = []; - this.fields = new Array(0); - this._formElement = formElement; - this._validationSummaryElement = validationSummaryElement; - formElement[Sys.Mvc.FormContext._formValidationTag] = this; - if (validationSummaryElement) { - var ulElements = validationSummaryElement.getElementsByTagName('ul'); - if (ulElements.length > 0) { - this._validationSummaryULElement = ulElements[0]; - } - } - this._onClickHandler = Function.createDelegate(this, this._form_OnClick); - this._onSubmitHandler = Function.createDelegate(this, this._form_OnSubmit); -} -Sys.Mvc.FormContext._Application_Load = function Sys_Mvc_FormContext$_Application_Load() { - var allFormOptions = window.mvcClientValidationMetadata; - if (allFormOptions) { - while (allFormOptions.length > 0) { - var thisFormOptions = allFormOptions.pop(); - Sys.Mvc.FormContext._parseJsonOptions(thisFormOptions); - } - } -} -Sys.Mvc.FormContext._getFormElementsWithName = function Sys_Mvc_FormContext$_getFormElementsWithName(formElement, name) { - /// - /// - /// - /// - /// - var allElementsWithNameInForm = []; - var allElementsWithName = document.getElementsByName(name); - for (var i = 0; i < allElementsWithName.length; i++) { - var thisElement = allElementsWithName[i]; - if (Sys.Mvc.FormContext._isElementInHierarchy(formElement, thisElement)) { - Array.add(allElementsWithNameInForm, thisElement); - } - } - return allElementsWithNameInForm; -} -Sys.Mvc.FormContext.getValidationForForm = function Sys_Mvc_FormContext$getValidationForForm(formElement) { - /// - /// - /// - return formElement[Sys.Mvc.FormContext._formValidationTag]; -} -Sys.Mvc.FormContext._isElementInHierarchy = function Sys_Mvc_FormContext$_isElementInHierarchy(parent, child) { - /// - /// - /// - /// - /// - while (child) { - if (parent === child) { - return true; - } - child = child.parentNode; - } - return false; -} -Sys.Mvc.FormContext._parseJsonOptions = function Sys_Mvc_FormContext$_parseJsonOptions(options) { - /// - /// - /// - var formElement = $get(options.FormId); - var validationSummaryElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(options.ValidationSummaryId)) ? $get(options.ValidationSummaryId) : null; - var formContext = new Sys.Mvc.FormContext(formElement, validationSummaryElement); - formContext.enableDynamicValidation(); - formContext.replaceValidationSummary = options.ReplaceValidationSummary; - for (var i = 0; i < options.Fields.length; i++) { - var field = options.Fields[i]; - var fieldElements = Sys.Mvc.FormContext._getFormElementsWithName(formElement, field.FieldName); - var validationMessageElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(field.ValidationMessageId)) ? $get(field.ValidationMessageId) : null; - var fieldContext = new Sys.Mvc.FieldContext(formContext); - Array.addRange(fieldContext.elements, fieldElements); - fieldContext.validationMessageElement = validationMessageElement; - fieldContext.replaceValidationMessageContents = field.ReplaceValidationMessageContents; - for (var j = 0; j < field.ValidationRules.length; j++) { - var rule = field.ValidationRules[j]; - var validator = Sys.Mvc.ValidatorRegistry.getValidator(rule); - if (validator) { - var validation = Sys.Mvc.$create_Validation(); - validation.fieldErrorMessage = rule.ErrorMessage; - validation.validator = validator; - Array.add(fieldContext.validations, validation); - } - } - fieldContext.enableDynamicValidation(); - Array.add(formContext.fields, fieldContext); - } - var registeredValidatorCallbacks = formElement.validationCallbacks; - if (!registeredValidatorCallbacks) { - registeredValidatorCallbacks = []; - formElement.validationCallbacks = registeredValidatorCallbacks; - } - registeredValidatorCallbacks.push(Function.createDelegate(null, function() { - return Sys.Mvc._validationUtil.arrayIsNullOrEmpty(formContext.validate('submit')); - })); - return formContext; -} -Sys.Mvc.FormContext.prototype = { - _onClickHandler: null, - _onSubmitHandler: null, - _submitButtonClicked: null, - _validationSummaryElement: null, - _validationSummaryULElement: null, - _formElement: null, - replaceValidationSummary: false, - - addError: function Sys_Mvc_FormContext$addError(message) { - /// - /// - this.addErrors([ message ]); - }, - - addErrors: function Sys_Mvc_FormContext$addErrors(messages) { - /// - /// - if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) { - Array.addRange(this._errors, messages); - this._onErrorCountChanged(); - } - }, - - clearErrors: function Sys_Mvc_FormContext$clearErrors() { - Array.clear(this._errors); - this._onErrorCountChanged(); - }, - - _displayError: function Sys_Mvc_FormContext$_displayError() { - if (this._validationSummaryElement) { - if (this._validationSummaryULElement) { - Sys.Mvc._validationUtil.removeAllChildren(this._validationSummaryULElement); - for (var i = 0; i < this._errors.length; i++) { - var liElement = document.createElement('li'); - Sys.Mvc._validationUtil.setInnerText(liElement, this._errors[i]); - this._validationSummaryULElement.appendChild(liElement); - } - } - Sys.UI.DomElement.removeCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss); - Sys.UI.DomElement.addCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss); - } - }, - - _displaySuccess: function Sys_Mvc_FormContext$_displaySuccess() { - var validationSummaryElement = this._validationSummaryElement; - if (validationSummaryElement) { - var validationSummaryULElement = this._validationSummaryULElement; - if (validationSummaryULElement) { - validationSummaryULElement.innerHTML = ''; - } - Sys.UI.DomElement.removeCssClass(validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss); - Sys.UI.DomElement.addCssClass(validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss); - } - }, - - enableDynamicValidation: function Sys_Mvc_FormContext$enableDynamicValidation() { - Sys.UI.DomEvent.addHandler(this._formElement, 'click', this._onClickHandler); - Sys.UI.DomEvent.addHandler(this._formElement, 'submit', this._onSubmitHandler); - }, - - _findSubmitButton: function Sys_Mvc_FormContext$_findSubmitButton(element) { - /// - /// - /// - if (element.disabled) { - return null; - } - var tagName = element.tagName.toUpperCase(); - var inputElement = element; - if (tagName === 'INPUT') { - var type = inputElement.type; - if (type === 'submit' || type === 'image') { - return inputElement; - } - } - else if ((tagName === 'BUTTON') && (inputElement.type === 'submit')) { - return inputElement; - } - return null; - }, - - _form_OnClick: function Sys_Mvc_FormContext$_form_OnClick(e) { - /// - /// - this._submitButtonClicked = this._findSubmitButton(e.target); - }, - - _form_OnSubmit: function Sys_Mvc_FormContext$_form_OnSubmit(e) { - /// - /// - var form = e.target; - var submitButton = this._submitButtonClicked; - if (submitButton && submitButton.disableValidation) { - return; - } - var errorMessages = this.validate('submit'); - if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(errorMessages)) { - e.preventDefault(); - } - }, - - _onErrorCountChanged: function Sys_Mvc_FormContext$_onErrorCountChanged() { - if (!this._errors.length) { - this._displaySuccess(); - } - else { - this._displayError(); - } - }, - - validate: function Sys_Mvc_FormContext$validate(eventName) { - /// - /// - /// - var fields = this.fields; - var errors = []; - for (var i = 0; i < fields.length; i++) { - var field = fields[i]; - if (!field.elements[0].disabled) { - var thisErrors = field.validate(eventName); - if (thisErrors) { - Array.addRange(errors, thisErrors); - } - } - } - if (this.replaceValidationSummary) { - this.clearErrors(); - this.addErrors(errors); - } - return errors; - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.FieldContext - -Sys.Mvc.FieldContext = function Sys_Mvc_FieldContext(formContext) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - this._errors = []; - this.elements = new Array(0); - this.validations = new Array(0); - this.formContext = formContext; - this._onBlurHandler = Function.createDelegate(this, this._element_OnBlur); - this._onChangeHandler = Function.createDelegate(this, this._element_OnChange); - this._onInputHandler = Function.createDelegate(this, this._element_OnInput); - this._onPropertyChangeHandler = Function.createDelegate(this, this._element_OnPropertyChange); -} -Sys.Mvc.FieldContext.prototype = { - _onBlurHandler: null, - _onChangeHandler: null, - _onInputHandler: null, - _onPropertyChangeHandler: null, - defaultErrorMessage: null, - formContext: null, - replaceValidationMessageContents: false, - validationMessageElement: null, - - addError: function Sys_Mvc_FieldContext$addError(message) { - /// - /// - this.addErrors([ message ]); - }, - - addErrors: function Sys_Mvc_FieldContext$addErrors(messages) { - /// - /// - if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) { - Array.addRange(this._errors, messages); - this._onErrorCountChanged(); - } - }, - - clearErrors: function Sys_Mvc_FieldContext$clearErrors() { - Array.clear(this._errors); - this._onErrorCountChanged(); - }, - - _displayError: function Sys_Mvc_FieldContext$_displayError() { - var validationMessageElement = this.validationMessageElement; - if (validationMessageElement) { - if (this.replaceValidationMessageContents) { - Sys.Mvc._validationUtil.setInnerText(validationMessageElement, this._errors[0]); - } - Sys.UI.DomElement.removeCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageValidCss); - Sys.UI.DomElement.addCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageErrorCss); - } - var elements = this.elements; - for (var i = 0; i < elements.length; i++) { - var element = elements[i]; - Sys.UI.DomElement.removeCssClass(element, Sys.Mvc.FieldContext._inputElementValidCss); - Sys.UI.DomElement.addCssClass(element, Sys.Mvc.FieldContext._inputElementErrorCss); - } - }, - - _displaySuccess: function Sys_Mvc_FieldContext$_displaySuccess() { - var validationMessageElement = this.validationMessageElement; - if (validationMessageElement) { - if (this.replaceValidationMessageContents) { - Sys.Mvc._validationUtil.setInnerText(validationMessageElement, ''); - } - Sys.UI.DomElement.removeCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageErrorCss); - Sys.UI.DomElement.addCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageValidCss); - } - var elements = this.elements; - for (var i = 0; i < elements.length; i++) { - var element = elements[i]; - Sys.UI.DomElement.removeCssClass(element, Sys.Mvc.FieldContext._inputElementErrorCss); - Sys.UI.DomElement.addCssClass(element, Sys.Mvc.FieldContext._inputElementValidCss); - } - }, - - _element_OnBlur: function Sys_Mvc_FieldContext$_element_OnBlur(e) { - /// - /// - if (e.target[Sys.Mvc.FieldContext._hasTextChangedTag] || e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) { - this.validate('blur'); - } - }, - - _element_OnChange: function Sys_Mvc_FieldContext$_element_OnChange(e) { - /// - /// - e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true; - }, - - _element_OnInput: function Sys_Mvc_FieldContext$_element_OnInput(e) { - /// - /// - e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true; - if (e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) { - this.validate('input'); - } - }, - - _element_OnPropertyChange: function Sys_Mvc_FieldContext$_element_OnPropertyChange(e) { - /// - /// - if (e.rawEvent.propertyName === 'value') { - e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true; - if (e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) { - this.validate('input'); - } - } - }, - - enableDynamicValidation: function Sys_Mvc_FieldContext$enableDynamicValidation() { - var elements = this.elements; - for (var i = 0; i < elements.length; i++) { - var element = elements[i]; - if (Sys.Mvc._validationUtil.elementSupportsEvent(element, 'onpropertychange')) { - var compatMode = document.documentMode; - if (compatMode && compatMode >= 8) { - Sys.UI.DomEvent.addHandler(element, 'propertychange', this._onPropertyChangeHandler); - } - } - else { - Sys.UI.DomEvent.addHandler(element, 'input', this._onInputHandler); - } - Sys.UI.DomEvent.addHandler(element, 'change', this._onChangeHandler); - Sys.UI.DomEvent.addHandler(element, 'blur', this._onBlurHandler); - } - }, - - _getErrorString: function Sys_Mvc_FieldContext$_getErrorString(validatorReturnValue, fieldErrorMessage) { - /// - /// - /// - /// - /// - var fallbackErrorMessage = fieldErrorMessage || this.defaultErrorMessage; - if (Boolean.isInstanceOfType(validatorReturnValue)) { - return (validatorReturnValue) ? null : fallbackErrorMessage; - } - if (String.isInstanceOfType(validatorReturnValue)) { - return ((validatorReturnValue).length) ? validatorReturnValue : fallbackErrorMessage; - } - return null; - }, - - _getStringValue: function Sys_Mvc_FieldContext$_getStringValue() { - /// - var elements = this.elements; - return (elements.length > 0) ? elements[0].value : null; - }, - - _markValidationFired: function Sys_Mvc_FieldContext$_markValidationFired() { - var elements = this.elements; - for (var i = 0; i < elements.length; i++) { - var element = elements[i]; - element[Sys.Mvc.FieldContext._hasValidationFiredTag] = true; - } - }, - - _onErrorCountChanged: function Sys_Mvc_FieldContext$_onErrorCountChanged() { - if (!this._errors.length) { - this._displaySuccess(); - } - else { - this._displayError(); - } - }, - - validate: function Sys_Mvc_FieldContext$validate(eventName) { - /// - /// - /// - var validations = this.validations; - var errors = []; - var value = this._getStringValue(); - for (var i = 0; i < validations.length; i++) { - var validation = validations[i]; - var context = Sys.Mvc.$create_ValidationContext(); - context.eventName = eventName; - context.fieldContext = this; - context.validation = validation; - var retVal = validation.validator(value, context); - var errorMessage = this._getErrorString(retVal, validation.fieldErrorMessage); - if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(errorMessage)) { - Array.add(errors, errorMessage); - } - } - this._markValidationFired(); - this.clearErrors(); - this.addErrors(errors); - return errors; - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.RangeValidator - -Sys.Mvc.RangeValidator = function Sys_Mvc_RangeValidator(minimum, maximum) { - /// - /// - /// - /// - /// - /// - /// - /// - this._minimum = minimum; - this._maximum = maximum; -} -Sys.Mvc.RangeValidator.create = function Sys_Mvc_RangeValidator$create(rule) { - /// - /// - /// - var min = rule.ValidationParameters['min']; - var max = rule.ValidationParameters['max']; - return Function.createDelegate(new Sys.Mvc.RangeValidator(min, max), new Sys.Mvc.RangeValidator(min, max).validate); -} -Sys.Mvc.RangeValidator.prototype = { - _minimum: null, - _maximum: null, - - validate: function Sys_Mvc_RangeValidator$validate(value, context) { - /// - /// - /// - /// - /// - if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { - return true; - } - var n = Number.parseLocale(value); - return (!isNaN(n) && this._minimum <= n && n <= this._maximum); - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.RegularExpressionValidator - -Sys.Mvc.RegularExpressionValidator = function Sys_Mvc_RegularExpressionValidator(pattern) { - /// - /// - /// - /// - this._pattern = pattern; -} -Sys.Mvc.RegularExpressionValidator.create = function Sys_Mvc_RegularExpressionValidator$create(rule) { - /// - /// - /// - var pattern = rule.ValidationParameters['pattern']; - return Function.createDelegate(new Sys.Mvc.RegularExpressionValidator(pattern), new Sys.Mvc.RegularExpressionValidator(pattern).validate); -} -Sys.Mvc.RegularExpressionValidator.prototype = { - _pattern: null, - - validate: function Sys_Mvc_RegularExpressionValidator$validate(value, context) { - /// - /// - /// - /// - /// - if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { - return true; - } - var regExp = new RegExp(this._pattern); - var matches = regExp.exec(value); - return (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(matches) && matches[0].length === value.length); - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.RequiredValidator - -Sys.Mvc.RequiredValidator = function Sys_Mvc_RequiredValidator() { -} -Sys.Mvc.RequiredValidator.create = function Sys_Mvc_RequiredValidator$create(rule) { - /// - /// - /// - return Function.createDelegate(new Sys.Mvc.RequiredValidator(), new Sys.Mvc.RequiredValidator().validate); -} -Sys.Mvc.RequiredValidator._isRadioInputElement = function Sys_Mvc_RequiredValidator$_isRadioInputElement(element) { - /// - /// - /// - if (element.tagName.toUpperCase() === 'INPUT') { - var inputType = (element.type).toUpperCase(); - if (inputType === 'RADIO') { - return true; - } - } - return false; -} -Sys.Mvc.RequiredValidator._isSelectInputElement = function Sys_Mvc_RequiredValidator$_isSelectInputElement(element) { - /// - /// - /// - if (element.tagName.toUpperCase() === 'SELECT') { - return true; - } - return false; -} -Sys.Mvc.RequiredValidator._isTextualInputElement = function Sys_Mvc_RequiredValidator$_isTextualInputElement(element) { - /// - /// - /// - if (element.tagName.toUpperCase() === 'INPUT') { - var inputType = (element.type).toUpperCase(); - switch (inputType) { - case 'TEXT': - case 'PASSWORD': - case 'FILE': - return true; - } - } - if (element.tagName.toUpperCase() === 'TEXTAREA') { - return true; - } - return false; -} -Sys.Mvc.RequiredValidator._validateRadioInput = function Sys_Mvc_RequiredValidator$_validateRadioInput(elements) { - /// - /// - /// - for (var i = 0; i < elements.length; i++) { - var element = elements[i]; - if (element.checked) { - return true; - } - } - return false; -} -Sys.Mvc.RequiredValidator._validateSelectInput = function Sys_Mvc_RequiredValidator$_validateSelectInput(optionElements) { - /// - /// - /// - for (var i = 0; i < optionElements.length; i++) { - var element = optionElements[i]; - if (element.selected) { - if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)) { - return true; - } - } - } - return false; -} -Sys.Mvc.RequiredValidator._validateTextualInput = function Sys_Mvc_RequiredValidator$_validateTextualInput(element) { - /// - /// - /// - return (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)); -} -Sys.Mvc.RequiredValidator.prototype = { - - validate: function Sys_Mvc_RequiredValidator$validate(value, context) { - /// - /// - /// - /// - /// - var elements = context.fieldContext.elements; - if (!elements.length) { - return true; - } - var sampleElement = elements[0]; - if (Sys.Mvc.RequiredValidator._isTextualInputElement(sampleElement)) { - return Sys.Mvc.RequiredValidator._validateTextualInput(sampleElement); - } - if (Sys.Mvc.RequiredValidator._isRadioInputElement(sampleElement)) { - return Sys.Mvc.RequiredValidator._validateRadioInput(elements); - } - if (Sys.Mvc.RequiredValidator._isSelectInputElement(sampleElement)) { - return Sys.Mvc.RequiredValidator._validateSelectInput((sampleElement).options); - } - return true; - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.StringLengthValidator - -Sys.Mvc.StringLengthValidator = function Sys_Mvc_StringLengthValidator(minLength, maxLength) { - /// - /// - /// - /// - /// - /// - /// - /// - this._minLength = minLength; - this._maxLength = maxLength; -} -Sys.Mvc.StringLengthValidator.create = function Sys_Mvc_StringLengthValidator$create(rule) { - /// - /// - /// - var minLength = (rule.ValidationParameters['min'] || 0); - var maxLength = (rule.ValidationParameters['max'] || Number.MAX_VALUE); - return Function.createDelegate(new Sys.Mvc.StringLengthValidator(minLength, maxLength), new Sys.Mvc.StringLengthValidator(minLength, maxLength).validate); -} -Sys.Mvc.StringLengthValidator.prototype = { - _maxLength: 0, - _minLength: 0, - - validate: function Sys_Mvc_StringLengthValidator$validate(value, context) { - /// - /// - /// - /// - /// - if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { - return true; - } - return (this._minLength <= value.length && value.length <= this._maxLength); - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc._validationUtil - -Sys.Mvc._validationUtil = function Sys_Mvc__validationUtil() { -} -Sys.Mvc._validationUtil.arrayIsNullOrEmpty = function Sys_Mvc__validationUtil$arrayIsNullOrEmpty(array) { - /// - /// - /// - return (!array || !array.length); -} -Sys.Mvc._validationUtil.stringIsNullOrEmpty = function Sys_Mvc__validationUtil$stringIsNullOrEmpty(value) { - /// - /// - /// - return (!value || !value.length); -} -Sys.Mvc._validationUtil.elementSupportsEvent = function Sys_Mvc__validationUtil$elementSupportsEvent(element, eventAttributeName) { - /// - /// - /// - /// - /// - return (eventAttributeName in element); -} -Sys.Mvc._validationUtil.removeAllChildren = function Sys_Mvc__validationUtil$removeAllChildren(element) { - /// - /// - while (element.firstChild) { - element.removeChild(element.firstChild); - } -} -Sys.Mvc._validationUtil.setInnerText = function Sys_Mvc__validationUtil$setInnerText(element, innerText) { - /// - /// - /// - /// - var textNode = document.createTextNode(innerText); - Sys.Mvc._validationUtil.removeAllChildren(element); - element.appendChild(textNode); -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.ValidatorRegistry - -Sys.Mvc.ValidatorRegistry = function Sys_Mvc_ValidatorRegistry() { - /// - /// -} -Sys.Mvc.ValidatorRegistry.getValidator = function Sys_Mvc_ValidatorRegistry$getValidator(rule) { - /// - /// - /// - var creator = Sys.Mvc.ValidatorRegistry.validators[rule.ValidationType]; - return (creator) ? creator(rule) : null; -} -Sys.Mvc.ValidatorRegistry._getDefaultValidators = function Sys_Mvc_ValidatorRegistry$_getDefaultValidators() { - /// - return { required: Function.createDelegate(null, Sys.Mvc.RequiredValidator.create), length: Function.createDelegate(null, Sys.Mvc.StringLengthValidator.create), regex: Function.createDelegate(null, Sys.Mvc.RegularExpressionValidator.create), range: Function.createDelegate(null, Sys.Mvc.RangeValidator.create), number: Function.createDelegate(null, Sys.Mvc.NumberValidator.create) }; -} - - -Sys.Mvc.NumberValidator.registerClass('Sys.Mvc.NumberValidator'); -Sys.Mvc.FormContext.registerClass('Sys.Mvc.FormContext'); -Sys.Mvc.FieldContext.registerClass('Sys.Mvc.FieldContext'); -Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator'); -Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator'); -Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator'); -Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator'); -Sys.Mvc._validationUtil.registerClass('Sys.Mvc._validationUtil'); -Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry'); -Sys.Mvc.FormContext._validationSummaryErrorCss = 'validation-summary-errors'; -Sys.Mvc.FormContext._validationSummaryValidCss = 'validation-summary-valid'; -Sys.Mvc.FormContext._formValidationTag = '__MVC_FormValidation'; -Sys.Mvc.FieldContext._hasTextChangedTag = '__MVC_HasTextChanged'; -Sys.Mvc.FieldContext._hasValidationFiredTag = '__MVC_HasValidationFired'; -Sys.Mvc.FieldContext._inputElementErrorCss = 'input-validation-error'; -Sys.Mvc.FieldContext._inputElementValidCss = 'input-validation-valid'; -Sys.Mvc.FieldContext._validationMessageErrorCss = 'field-validation-error'; -Sys.Mvc.FieldContext._validationMessageValidCss = 'field-validation-valid'; -Sys.Mvc.ValidatorRegistry.validators = Sys.Mvc.ValidatorRegistry._getDefaultValidators(); - -// ---- Do not remove this footer ---- -// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) -// ----------------------------------- - -// register validation -Sys.Application.add_load(function() { - Sys.Application.remove_load(arguments.callee); - Sys.Mvc.FormContext._Application_Load(); -}); diff --git a/NzbDrone.Web/Scripts/MicrosoftMvcValidation.js b/NzbDrone.Web/Scripts/MicrosoftMvcValidation.js deleted file mode 100644 index 9483492f1..000000000 --- a/NzbDrone.Web/Scripts/MicrosoftMvcValidation.js +++ /dev/null @@ -1,55 +0,0 @@ -//---------------------------------------------------------- -// Copyright (C) Microsoft Corporation. All rights reserved. -//---------------------------------------------------------- -// MicrosoftMvcValidation.js - -Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_Validation=function(){return {};} -Sys.Mvc.$create_JsonValidationField=function(){return {};} -Sys.Mvc.$create_JsonValidationOptions=function(){return {};} -Sys.Mvc.$create_JsonValidationRule=function(){return {};} -Sys.Mvc.$create_ValidationContext=function(){return {};} -Sys.Mvc.NumberValidator=function(){} -Sys.Mvc.NumberValidator.create=function(rule){return Function.createDelegate(new Sys.Mvc.NumberValidator(),new Sys.Mvc.NumberValidator().validate);} -Sys.Mvc.NumberValidator.prototype={validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=Number.parseLocale(value);return (!isNaN($0));}} -Sys.Mvc.FormContext=function(formElement,validationSummaryElement){this.$5=[];this.fields=new Array(0);this.$9=formElement;this.$7=validationSummaryElement;formElement['__MVC_FormValidation'] = this;if(validationSummaryElement){var $0=validationSummaryElement.getElementsByTagName('ul');if($0.length>0){this.$8=$0[0];}}this.$3=Function.createDelegate(this,this.$D);this.$4=Function.createDelegate(this,this.$E);} -Sys.Mvc.FormContext._Application_Load=function(){var $0=window.mvcClientValidationMetadata;if($0){while($0.length>0){var $1=$0.pop();Sys.Mvc.FormContext.$12($1);}}} -Sys.Mvc.FormContext.$F=function($p0,$p1){var $0=[];var $1=document.getElementsByName($p1);for(var $2=0;$2<$1.length;$2++){var $3=$1[$2];if(Sys.Mvc.FormContext.$10($p0,$3)){Array.add($0,$3);}}return $0;} -Sys.Mvc.FormContext.getValidationForForm=function(formElement){return formElement['__MVC_FormValidation'];} -Sys.Mvc.FormContext.$10=function($p0,$p1){while($p1){if($p0===$p1){return true;}$p1=$p1.parentNode;}return false;} -Sys.Mvc.FormContext.$12=function($p0){var $0=$get($p0.FormId);var $1=(!Sys.Mvc._ValidationUtil.$1($p0.ValidationSummaryId))?$get($p0.ValidationSummaryId):null;var $2=new Sys.Mvc.FormContext($0,$1);$2.enableDynamicValidation();$2.replaceValidationSummary=$p0.ReplaceValidationSummary;for(var $4=0;$4<$p0.Fields.length;$4++){var $5=$p0.Fields[$4];var $6=Sys.Mvc.FormContext.$F($0,$5.FieldName);var $7=(!Sys.Mvc._ValidationUtil.$1($5.ValidationMessageId))?$get($5.ValidationMessageId):null;var $8=new Sys.Mvc.FieldContext($2);Array.addRange($8.elements,$6);$8.validationMessageElement=$7;$8.replaceValidationMessageContents=$5.ReplaceValidationMessageContents;for(var $9=0;$9<$5.ValidationRules.length;$9++){var $A=$5.ValidationRules[$9];var $B=Sys.Mvc.ValidatorRegistry.getValidator($A);if($B){var $C=Sys.Mvc.$create_Validation();$C.fieldErrorMessage=$A.ErrorMessage;$C.validator=$B;Array.add($8.validations,$C);}}$8.enableDynamicValidation();Array.add($2.fields,$8);}var $3=$0.validationCallbacks;if(!$3){$3=[];$0.validationCallbacks = $3;}$3.push(Function.createDelegate(null,function(){ -return Sys.Mvc._ValidationUtil.$0($2.validate('submit'));}));return $2;} -Sys.Mvc.FormContext.prototype={$3:null,$4:null,$6:null,$7:null,$8:null,$9:null,replaceValidationSummary:false,addError:function(message){this.addErrors([message]);},addErrors:function(messages){if(!Sys.Mvc._ValidationUtil.$0(messages)){Array.addRange(this.$5,messages);this.$11();}},clearErrors:function(){Array.clear(this.$5);this.$11();},$A:function(){if(this.$7){if(this.$8){Sys.Mvc._ValidationUtil.$3(this.$8);for(var $0=0;$0=8){Sys.UI.DomEvent.addHandler($2,'propertychange',this.$9);}}else{Sys.UI.DomEvent.addHandler($2,'input',this.$8);}Sys.UI.DomEvent.addHandler($2,'change',this.$7);Sys.UI.DomEvent.addHandler($2,'blur',this.$6);}},$11:function($p0,$p1){var $0=$p1||this.defaultErrorMessage;if(Boolean.isInstanceOfType($p0)){return ($p0)?null:$0;}if(String.isInstanceOfType($p0)){return (($p0).length)?$p0:$0;}return null;},$12:function(){var $0=this.elements;return ($0.length>0)?$0[0].value:null;},$13:function(){var $0=this.elements;for(var $1=0;$1<$0.length;$1++){var $2=$0[$1];$2['__MVC_HasValidationFired'] = true;}},$14:function(){if(!this.$A.length){this.$C();}else{this.$B();}},validate:function(eventName){var $0=this.validations;var $1=[];var $2=this.$12();for(var $3=0;$3<$0.length;$3++){var $4=$0[$3];var $5=Sys.Mvc.$create_ValidationContext();$5.eventName=eventName;$5.fieldContext=this;$5.validation=$4;var $6=$4.validator($2,$5);var $7=this.$11($6,$4.fieldErrorMessage);if(!Sys.Mvc._ValidationUtil.$1($7)){Array.add($1,$7);}}this.$13();this.clearErrors();this.addErrors($1);return $1;}} -Sys.Mvc.RangeValidator=function(minimum,maximum){this.$0=minimum;this.$1=maximum;} -Sys.Mvc.RangeValidator.create=function(rule){var $0=rule.ValidationParameters['min'];var $1=rule.ValidationParameters['max'];return Function.createDelegate(new Sys.Mvc.RangeValidator($0,$1),new Sys.Mvc.RangeValidator($0,$1).validate);} -Sys.Mvc.RangeValidator.prototype={$0:null,$1:null,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=Number.parseLocale(value);return (!isNaN($0)&&this.$0<=$0&&$0<=this.$1);}} -Sys.Mvc.RegularExpressionValidator=function(pattern){this.$0=pattern;} -Sys.Mvc.RegularExpressionValidator.create=function(rule){var $0=rule.ValidationParameters['pattern'];return Function.createDelegate(new Sys.Mvc.RegularExpressionValidator($0),new Sys.Mvc.RegularExpressionValidator($0).validate);} -Sys.Mvc.RegularExpressionValidator.prototype={$0:null,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=new RegExp(this.$0);var $1=$0.exec(value);return (!Sys.Mvc._ValidationUtil.$0($1)&&$1[0].length===value.length);}} -Sys.Mvc.RequiredValidator=function(){} -Sys.Mvc.RequiredValidator.create=function(rule){return Function.createDelegate(new Sys.Mvc.RequiredValidator(),new Sys.Mvc.RequiredValidator().validate);} -Sys.Mvc.RequiredValidator.$0=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();if($0==='RADIO'){return true;}}return false;} -Sys.Mvc.RequiredValidator.$1=function($p0){if($p0.tagName.toUpperCase()==='SELECT'){return true;}return false;} -Sys.Mvc.RequiredValidator.$2=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();switch($0){case 'TEXT':case 'PASSWORD':case 'FILE':return true;}}if($p0.tagName.toUpperCase()==='TEXTAREA'){return true;}return false;} -Sys.Mvc.RequiredValidator.$3=function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.checked){return true;}}return false;} -Sys.Mvc.RequiredValidator.$4=function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.selected){if(!Sys.Mvc._ValidationUtil.$1($1.value)){return true;}}}return false;} -Sys.Mvc.RequiredValidator.$5=function($p0){return (!Sys.Mvc._ValidationUtil.$1($p0.value));} -Sys.Mvc.RequiredValidator.prototype={validate:function(value,context){var $0=context.fieldContext.elements;if(!$0.length){return true;}var $1=$0[0];if(Sys.Mvc.RequiredValidator.$2($1)){return Sys.Mvc.RequiredValidator.$5($1);}if(Sys.Mvc.RequiredValidator.$0($1)){return Sys.Mvc.RequiredValidator.$3($0);}if(Sys.Mvc.RequiredValidator.$1($1)){return Sys.Mvc.RequiredValidator.$4(($1).options);}return true;}} -Sys.Mvc.StringLengthValidator=function(minLength,maxLength){this.$1=minLength;this.$0=maxLength;} -Sys.Mvc.StringLengthValidator.create=function(rule){var $0=(rule.ValidationParameters['min']||0);var $1=(rule.ValidationParameters['max']||Number.MAX_VALUE);return Function.createDelegate(new Sys.Mvc.StringLengthValidator($0,$1),new Sys.Mvc.StringLengthValidator($0,$1).validate);} -Sys.Mvc.StringLengthValidator.prototype={$0:0,$1:0,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}return (this.$1<=value.length&&value.length<=this.$0);}} -Sys.Mvc._ValidationUtil=function(){} -Sys.Mvc._ValidationUtil.$0=function($p0){return (!$p0||!$p0.length);} -Sys.Mvc._ValidationUtil.$1=function($p0){return (!$p0||!$p0.length);} -Sys.Mvc._ValidationUtil.$2=function($p0,$p1){return ($p1 in $p0);} -Sys.Mvc._ValidationUtil.$3=function($p0){while($p0.firstChild){$p0.removeChild($p0.firstChild);}} -Sys.Mvc._ValidationUtil.$4=function($p0,$p1){var $0=document.createTextNode($p1);Sys.Mvc._ValidationUtil.$3($p0);$p0.appendChild($0);} -Sys.Mvc.ValidatorRegistry=function(){} -Sys.Mvc.ValidatorRegistry.getValidator=function(rule){var $0=Sys.Mvc.ValidatorRegistry.validators[rule.ValidationType];return ($0)?$0(rule):null;} -Sys.Mvc.ValidatorRegistry.$0=function(){return {required:Function.createDelegate(null,Sys.Mvc.RequiredValidator.create),length:Function.createDelegate(null,Sys.Mvc.StringLengthValidator.create),regex:Function.createDelegate(null,Sys.Mvc.RegularExpressionValidator.create),range:Function.createDelegate(null,Sys.Mvc.RangeValidator.create),number:Function.createDelegate(null,Sys.Mvc.NumberValidator.create)};} -Sys.Mvc.NumberValidator.registerClass('Sys.Mvc.NumberValidator');Sys.Mvc.FormContext.registerClass('Sys.Mvc.FormContext');Sys.Mvc.FieldContext.registerClass('Sys.Mvc.FieldContext');Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator');Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator');Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator');Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator');Sys.Mvc._ValidationUtil.registerClass('Sys.Mvc._ValidationUtil');Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry');Sys.Mvc.ValidatorRegistry.validators=Sys.Mvc.ValidatorRegistry.$0(); -// ---- Do not remove this footer ---- -// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) -// ----------------------------------- -Sys.Application.add_load(function(){Sys.Application.remove_load(arguments.callee);Sys.Mvc.FormContext._Application_Load();}); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/Notification.js b/NzbDrone.Web/Scripts/Notification.js index 5d300500a..5230a3f3d 100644 --- a/NzbDrone.Web/Scripts/Notification.js +++ b/NzbDrone.Web/Scripts/Notification.js @@ -1,30 +1,27 @@ -/// - $(document).ready(function () - { - var speed = 0; +$(document).ready(function () { + var speed = 700; var isShown = false; - refreshNotifications(); + var currentMessage = ""; + + $.doTimeout(500, refreshNotifications); + - var timer = window.setInterval(function () { - speed = 1000; - refreshNotifications(); - }, 2000); function refreshNotifications() { - $.ajax({ - url: '/Notification', - success: notificationCallback - }); + $.get('/notification/Comet', { message: currentMessage }, notificationCallback); } function notificationCallback(data) { + currentMessage = data; if (data === "") { - CloseMsg(); + closeMsg(); } else { - DisplayMsg(data); + displayMsg(data); } + + refreshNotifications(); } //SetupNotifications(); @@ -32,33 +29,23 @@ - function DisplayMsg(sMsg) { + function displayMsg(sMsg) { //set the message text - - - //$("#msgText").text(sMsg); - $("#msgText").showHtml(sMsg, 200); - + $("#msgText").showHtml(sMsg, 150); if (!isShown) { - isShown = true; - if (speed === 0) { - $('#msgBox').show(); - } - else { - $('#msgBox').show("slide", { direction: "right" }, speed); - } - + $('#msgBox').show("slide", { direction: "right" }, speed / 2); } + + isShown = true; } - function CloseMsg() { - //hide the message + function closeMsg() { + //hide the message if (isShown) { $('#msgBox').hide("slide", { direction: "right" }, speed); + isShown = false; } - - isShown = false; } }); @@ -80,7 +67,7 @@ // Preserve the original values of width and height - they'll need // to be modified during the animation, but can be restored once // the animation has completed. - var finish = { width: this.style.width, height: this.style.height }; + var finish = { width: 'auto', height: 'auto' }; // The original width and height represented as pixel values. // These will only be the same as `finish` if this element had its diff --git a/NzbDrone.Web/Scripts/doTimeout.js b/NzbDrone.Web/Scripts/Plugins/doTimeout.js similarity index 100% rename from NzbDrone.Web/Scripts/doTimeout.js rename to NzbDrone.Web/Scripts/Plugins/doTimeout.js diff --git a/NzbDrone.Web/Scripts/jquery-tgc-countdown-1.0.js b/NzbDrone.Web/Scripts/Plugins/jquery-tgc-countdown-1.0.js similarity index 100% rename from NzbDrone.Web/Scripts/jquery-tgc-countdown-1.0.js rename to NzbDrone.Web/Scripts/Plugins/jquery-tgc-countdown-1.0.js diff --git a/NzbDrone.Web/Scripts/jquery.form.js b/NzbDrone.Web/Scripts/Plugins/jquery.form.js similarity index 100% rename from NzbDrone.Web/Scripts/jquery.form.js rename to NzbDrone.Web/Scripts/Plugins/jquery.form.js diff --git a/NzbDrone.Web/Scripts/jquery.jgrowl.js b/NzbDrone.Web/Scripts/Plugins/jquery.jgrowl.js similarity index 100% rename from NzbDrone.Web/Scripts/jquery.jgrowl.js rename to NzbDrone.Web/Scripts/Plugins/jquery.jgrowl.js diff --git a/NzbDrone.Web/Scripts/jquery.watermark.min.js b/NzbDrone.Web/Scripts/Plugins/jquery.watermark.min.js similarity index 100% rename from NzbDrone.Web/Scripts/jquery.watermark.min.js rename to NzbDrone.Web/Scripts/Plugins/jquery.watermark.min.js diff --git a/NzbDrone.Web/Scripts/jquery-1.6.1-vsdoc.js b/NzbDrone.Web/Scripts/jquery-1.6.1-vsdoc.js deleted file mode 100644 index 87ccbc7fc..000000000 --- a/NzbDrone.Web/Scripts/jquery-1.6.1-vsdoc.js +++ /dev/null @@ -1,6938 +0,0 @@ -/* -* This file has been generated to support Visual Studio IntelliSense. -* You should not use this file at runtime inside the browser--it is only -* intended to be used only for design-time IntelliSense. Please use the -* standard jQuery library for all production use. -* -* Comment version: 1.6.1 -*/ - -/*! -* jQuery JavaScript Library v1.6.1 -* http://jquery.com/ -* -* Distributed in whole under the terms of the MIT -* -* Copyright 2010, John Resig -* -* Permission is hereby granted, free of charge, to any person obtaining -* a copy of this software and associated documentation files (the -* "Software"), to deal in the Software without restriction, including -* without limitation the rights to use, copy, modify, merge, publish, -* distribute, sublicense, and/or sell copies of the Software, and to -* permit persons to whom the Software is furnished to do so, subject to -* the following conditions: -* -* The above copyright notice and this permission notice shall be -* included in all copies or substantial portions of the Software. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* -* Includes Sizzle.js -* http://sizzlejs.com/ -* Copyright 2010, The Dojo Foundation -* Released under the MIT and BSD Licenses. -*/ - -(function ( window, undefined ) { -var jQuery = function( selector, context ) { -/// -/// 1: Accepts a string containing a CSS selector which is then used to match a set of elements. -/// 1.1 - $(selector, context) -/// 1.2 - $(element) -/// 1.3 - $(elementArray) -/// 1.4 - $(jQuery object) -/// 1.5 - $() -/// 2: Creates DOM elements on the fly from the provided string of raw HTML. -/// 2.1 - $(html, ownerDocument) -/// 2.2 - $(html, props) -/// 3: Binds a function to be executed when the DOM has finished loading. -/// 3.1 - $(callback) -/// -/// -/// A string containing a selector expression -/// -/// -/// A DOM Element, Document, or jQuery to use as context -/// -/// - - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context, rootjQuery ); - }; -jQuery.Deferred = function( func ) { - - var deferred = jQuery._Deferred(), - failDeferred = jQuery._Deferred(), - promise; - // Add errorDeferred methods, then and promise - jQuery.extend( deferred, { - then: function( doneCallbacks, failCallbacks ) { - deferred.done( doneCallbacks ).fail( failCallbacks ); - return this; - }, - always: function() { - return deferred.done.apply( deferred, arguments ).fail.apply( this, arguments ); - }, - fail: failDeferred.done, - rejectWith: failDeferred.resolveWith, - reject: failDeferred.resolve, - isRejected: failDeferred.isResolved, - pipe: function( fnDone, fnFail ) { - return jQuery.Deferred(function( newDefer ) { - jQuery.each( { - done: [ fnDone, "resolve" ], - fail: [ fnFail, "reject" ] - }, function( handler, data ) { - var fn = data[ 0 ], - action = data[ 1 ], - returned; - if ( jQuery.isFunction( fn ) ) { - deferred[ handler ](function() { - returned = fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise().then( newDefer.resolve, newDefer.reject ); - } else { - newDefer[ action ]( returned ); - } - }); - } else { - deferred[ handler ]( newDefer[ action ] ); - } - }); - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - if ( obj == null ) { - if ( promise ) { - return promise; - } - promise = obj = {}; - } - var i = promiseMethods.length; - while( i-- ) { - obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; - } - return obj; - } - }); - // Make sure only one callback list will be used - deferred.done( failDeferred.cancel ).fail( deferred.cancel ); - // Unexpose cancel - delete deferred.cancel; - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - return deferred; - }; -jQuery.Event = function( src, props ) { - - // Allow instantiation without the 'new' keyword - if ( !this.preventDefault ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || - src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // timeStamp is buggy for some events on Firefox(#3843) - // So we won't rely on the native value - this.timeStamp = jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; -jQuery._Deferred = function() { - - var // callbacks list - callbacks = [], - // stored [ context , args ] - fired, - // to avoid firing when already doing so - firing, - // flag to know if the deferred has been cancelled - cancelled, - // the deferred itself - deferred = { - - // done( f1, f2, ...) - done: function() { - if ( !cancelled ) { - var args = arguments, - i, - length, - elem, - type, - _fired; - if ( fired ) { - _fired = fired; - fired = 0; - } - for ( i = 0, length = args.length; i < length; i++ ) { - elem = args[ i ]; - type = jQuery.type( elem ); - if ( type === "array" ) { - deferred.done.apply( deferred, elem ); - } else if ( type === "function" ) { - callbacks.push( elem ); - } - } - if ( _fired ) { - deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); - } - } - return this; - }, - - // resolve with given context and args - resolveWith: function( context, args ) { - if ( !cancelled && !fired && !firing ) { - // make sure args are available (#8421) - args = args || []; - firing = 1; - try { - while( callbacks[ 0 ] ) { - callbacks.shift().apply( context, args ); - } - } - finally { - fired = [ context, args ]; - firing = 0; - } - } - return this; - }, - - // resolve with this as context and given arguments - resolve: function() { - deferred.resolveWith( this, arguments ); - return this; - }, - - // Has this deferred been resolved? - isResolved: function() { - return !!( firing || fired ); - }, - - // Cancel - cancel: function() { - cancelled = 1; - callbacks = []; - return this; - } - }; - - return deferred; - }; -jQuery._data = function( elem, name, data ) { - - return jQuery.data( elem, name, data, true ); - }; -jQuery._mark = function( elem, type ) { - - if ( elem ) { - type = (type || "fx") + "mark"; - jQuery.data( elem, type, (jQuery.data(elem,type,undefined,true) || 0) + 1, true ); - } - }; -jQuery._unmark = function( force, elem, type ) { - - if ( force !== true ) { - type = elem; - elem = force; - force = false; - } - if ( elem ) { - type = type || "fx"; - var key = type + "mark", - count = force ? 0 : ( (jQuery.data( elem, key, undefined, true) || 1 ) - 1 ); - if ( count ) { - jQuery.data( elem, key, count, true ); - } else { - jQuery.removeData( elem, key, true ); - handleQueueMarkDefer( elem, type, "mark" ); - } - } - }; -jQuery.acceptData = function( elem ) { - - if ( elem.nodeName ) { - var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; - - if ( match ) { - return !(match === true || elem.getAttribute("classid") !== match); - } - } - - return true; - }; -jQuery.access = function( elems, key, value, exec, fn, pass ) { - - var length = elems.length; - - // Setting many attributes - if ( typeof key === "object" ) { - for ( var k in key ) { - jQuery.access( elems, k, key[k], exec, fn, value ); - } - return elems; - } - - // Setting one attribute - if ( value !== undefined ) { - // Optionally, function values get executed if exec is true - exec = !pass && exec && jQuery.isFunction(value); - - for ( var i = 0; i < length; i++ ) { - fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); - } - - return elems; - } - - // Getting an attribute - return length ? fn( elems[0], key ) : undefined; - }; -jQuery.active = 0; -jQuery.ajax = function( url, options ) { -/// -/// Perform an asynchronous HTTP (Ajax) request. -/// 1 - jQuery.ajax(url, settings) -/// 2 - jQuery.ajax(settings) -/// -/// -/// A string containing the URL to which the request is sent. -/// -/// -/// A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) below for a complete list of all settings. -/// - - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - // Callbacks context - callbackContext = s.context || s, - // Context for global events - // It's the callbackContext if one was provided in the options - // and if it's a DOM node or a jQuery collection - globalEventContext = callbackContext !== s && - ( callbackContext.nodeType || callbackContext instanceof jQuery ) ? - jQuery( callbackContext ) : jQuery.event, - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery._Deferred(), - // Status-dependent callbacks - statusCode = s.statusCode || {}, - // ifModified key - ifModifiedKey, - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - // Response headers - responseHeadersString, - responseHeaders, - // transport - transport, - // timeout handle - timeoutTimer, - // Cross-domain detection vars - parts, - // The jqXHR state - state = 0, - // To know if global events are to be dispatched - fireGlobals, - // Loop variable - i, - // Fake xhr - jqXHR = { - - readyState: 0, - - // Caches the header - setRequestHeader: function( name, value ) { - if ( !state ) { - var lname = name.toLowerCase(); - name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Raw string - getAllResponseHeaders: function() { - return state === 2 ? responseHeadersString : null; - }, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( state === 2 ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while( ( match = rheaders.exec( responseHeadersString ) ) ) { - responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; - } - } - match = responseHeaders[ key.toLowerCase() ]; - } - return match === undefined ? null : match; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( !state ) { - s.mimeType = type; - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - statusText = statusText || "abort"; - if ( transport ) { - transport.abort( statusText ); - } - done( 0, statusText ); - return this; - } - }; - - // Callback for when everything is done - // It is defined here because jslint complains if it is declared - // at the end of the function (which would be more logical and readable) - function done( status, statusText, responses, headers ) { - - // Called once - if ( state === 2 ) { - return; - } - - // State is "done" now - state = 2; - - // Clear timeout if it exists - if ( timeoutTimer ) { - clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status ? 4 : 0; - - var isSuccess, - success, - error, - response = responses ? ajaxHandleResponses( s, jqXHR, responses ) : undefined, - lastModified, - etag; - - // If successful, handle type chaining - if ( status >= 200 && status < 300 || status === 304 ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - - if ( ( lastModified = jqXHR.getResponseHeader( "Last-Modified" ) ) ) { - jQuery.lastModified[ ifModifiedKey ] = lastModified; - } - if ( ( etag = jqXHR.getResponseHeader( "Etag" ) ) ) { - jQuery.etag[ ifModifiedKey ] = etag; - } - } - - // If not modified - if ( status === 304 ) { - - statusText = "notmodified"; - isSuccess = true; - - // If we have data - } else { - - try { - success = ajaxConvert( s, response ); - statusText = "success"; - isSuccess = true; - } catch(e) { - // We have a parsererror - statusText = "parsererror"; - error = e; - } - } - } else { - // We extract error from statusText - // then normalize statusText and status for non-aborts - error = statusText; - if( !statusText || status ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = statusText; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ), - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.resolveWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s] ); - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger( "ajaxStop" ); - } - } - } - - // Attach deferreds - deferred.promise( jqXHR ); - jqXHR.success = jqXHR.done; - jqXHR.error = jqXHR.fail; - jqXHR.complete = completeDeferred.done; - - // Status-dependent callbacks - jqXHR.statusCode = function( map ) { - if ( map ) { - var tmp; - if ( state < 2 ) { - for( tmp in map ) { - statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ]; - } - } else { - tmp = map[ jqXHR.status ]; - jqXHR.then( tmp, tmp ); - } - } - return this; - }; - - // Remove hash character (#7531: and string promotion) - // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) - // We also use the url parameter if available - s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); - - // Extract dataTypes list - s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax ); - - // Determine if a cross-domain request is in order - if ( s.crossDomain == null ) { - parts = rurl.exec( s.url.toLowerCase() ); - s.crossDomain = !!( parts && - ( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] || - ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) != - ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) ) - ); - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefiler, stop there - if ( state === 2 ) { - return false; - } - - // We can fire global events as of now if asked to - fireGlobals = s.global; - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger( "ajaxStart" ); - } - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // If data is available, append data to url - if ( s.data ) { - s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data; - } - - // Get ifModifiedKey before adding the anti-cache parameter - ifModifiedKey = s.url; - - // Add anti-cache in url if needed - if ( s.cache === false ) { - - var ts = jQuery.now(), - // try replacing _= if it is there - ret = s.url.replace( rts, "$1_=" + ts ); - - // if nothing was replaced, add timestamp to the end - s.url = ret + ( (ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - ifModifiedKey = ifModifiedKey || s.url; - if ( jQuery.lastModified[ ifModifiedKey ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] ); - } - if ( jQuery.etag[ ifModifiedKey ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] ); - } - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? - s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", */*; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { - // Abort if not done already - jqXHR.abort(); - return false; - - } - - // Install callbacks on deferreds - for ( i in { success: 1, error: 1, complete: 1 } ) { - jqXHR[ i ]( s[ i ] ); - } - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = setTimeout( function(){ - jqXHR.abort( "timeout" ); - }, s.timeout ); - } - - try { - state = 1; - transport.send( requestHeaders, done ); - } catch (e) { - // Propagate exception as error if not done - if ( status < 2 ) { - done( -1, e ); - // Simply rethrow otherwise - } else { - jQuery.error( e ); - } - } - } - - return jqXHR; - }; -jQuery.ajaxPrefilter = function( dataTypeExpression, func ) { -/// -/// Handle custom Ajax options or modify existing options before each request is sent and before they are processed by $.ajax(). -/// -/// -/// An optional string containing one or more space-separated dataTypes -/// -/// -/// A handler to set default values for future Ajax requests. -/// -/// - - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - if ( jQuery.isFunction( func ) ) { - var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ), - i = 0, - length = dataTypes.length, - dataType, - list, - placeBefore; - - // For each dataType in the dataTypeExpression - for(; i < length; i++ ) { - dataType = dataTypes[ i ]; - // We control if we're asked to add before - // any existing element - placeBefore = /^\+/.test( dataType ); - if ( placeBefore ) { - dataType = dataType.substr( 1 ) || "*"; - } - list = structure[ dataType ] = structure[ dataType ] || []; - // then we add to the structure accordingly - list[ placeBefore ? "unshift" : "push" ]( func ); - } - } - }; -jQuery.ajaxSettings = { "url": 'http://localhost:25813/', -"isLocal": false, -"global": true, -"type": 'GET', -"contentType": 'application/x-www-form-urlencoded', -"processData": true, -"async": true, -"accepts": {}, -"contents": {}, -"responseFields": {}, -"converters": {}, -"jsonp": 'callback' }; -jQuery.ajaxSetup = function ( target, settings ) { -/// -/// Set default values for future Ajax requests. -/// -/// -/// A set of key/value pairs that configure the default Ajax request. All options are optional. -/// - - if ( !settings ) { - // Only one parameter, we extend ajaxSettings - settings = target; - target = jQuery.extend( true, jQuery.ajaxSettings, settings ); - } else { - // target was provided, we extend into it - jQuery.extend( true, target, jQuery.ajaxSettings, settings ); - } - // Flatten fields we don't want deep extended - for( var field in { context: 1, url: 1 } ) { - if ( field in settings ) { - target[ field ] = settings[ field ]; - } else if( field in jQuery.ajaxSettings ) { - target[ field ] = jQuery.ajaxSettings[ field ]; - } - } - return target; - }; -jQuery.ajaxTransport = function( dataTypeExpression, func ) { - - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - if ( jQuery.isFunction( func ) ) { - var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ), - i = 0, - length = dataTypes.length, - dataType, - list, - placeBefore; - - // For each dataType in the dataTypeExpression - for(; i < length; i++ ) { - dataType = dataTypes[ i ]; - // We control if we're asked to add before - // any existing element - placeBefore = /^\+/.test( dataType ); - if ( placeBefore ) { - dataType = dataType.substr( 1 ) || "*"; - } - list = structure[ dataType ] = structure[ dataType ] || []; - // then we add to the structure accordingly - list[ placeBefore ? "unshift" : "push" ]( func ); - } - } - }; -jQuery.attr = function( elem, name, value, pass ) { - - var nType = elem.nodeType; - - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return undefined; - } - - if ( pass && name in jQuery.attrFn ) { - return jQuery( elem )[ name ]( value ); - } - - // Fallback to prop when attributes are not supported - if ( !("getAttribute" in elem) ) { - return jQuery.prop( elem, name, value ); - } - - var ret, hooks, - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - // Normalize the name if needed - name = notxml && jQuery.attrFix[ name ] || name; - - hooks = jQuery.attrHooks[ name ]; - - if ( !hooks ) { - // Use boolHook for boolean attributes - if ( rboolean.test( name ) && - (typeof value === "boolean" || value === undefined || value.toLowerCase() === name.toLowerCase()) ) { - - hooks = boolHook; - - // Use formHook for forms and if the name contains certain characters - } else if ( formHook && (jQuery.nodeName( elem, "form" ) || rinvalidChar.test( name )) ) { - hooks = formHook; - } - } - - if ( value !== undefined ) { - - if ( value === null ) { - jQuery.removeAttr( elem, name ); - return undefined; - - } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - elem.setAttribute( name, "" + value ); - return value; - } - - } else if ( hooks && "get" in hooks && notxml ) { - return hooks.get( elem, name ); - - } else { - - ret = elem.getAttribute( name ); - - // Non-existent attributes return null, we normalize to undefined - return ret === null ? - undefined : - ret; - } - }; -jQuery.attrFix = { "tabindex": 'tabIndex' }; -jQuery.attrFn = { "val": true, -"css": true, -"html": true, -"text": true, -"data": true, -"width": true, -"height": true, -"offset": true, -"blur": true, -"focus": true, -"focusin": true, -"focusout": true, -"load": true, -"resize": true, -"scroll": true, -"unload": true, -"click": true, -"dblclick": true, -"mousedown": true, -"mouseup": true, -"mousemove": true, -"mouseover": true, -"mouseout": true, -"mouseenter": true, -"mouseleave": true, -"change": true, -"select": true, -"submit": true, -"keydown": true, -"keypress": true, -"keyup": true, -"error": true }; -jQuery.attrHooks = { "type": {}, -"tabIndex": {}, -"value": {} }; -jQuery.bindReady = function() { - - if ( readyList ) { - return; - } - - readyList = jQuery._Deferred(); - - // Catch cases where $(document).ready() is called after the - // browser event has already occurred. - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - return setTimeout( jQuery.ready, 1 ); - } - - // Mozilla, Opera and webkit nightlies currently support this event - if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", jQuery.ready, false ); - - // If IE event model is used - } else if ( document.attachEvent ) { - // ensure firing before onload, - // maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", DOMContentLoaded ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", jQuery.ready ); - - // If IE and not a frame - // continually check to see if the document is ready - var toplevel = false; - - try { - toplevel = window.frameElement == null; - } catch(e) {} - - if ( document.documentElement.doScroll && toplevel ) { - doScrollCheck(); - } - } - }; -jQuery.boxModel = true; -jQuery.browser = { "msie": true, -"version": '9.0' }; -jQuery.buildFragment = function( args, nodes, scripts ) { - - var fragment, cacheable, cacheresults, - doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document); - - // Only cache "small" (1/2 KB) HTML strings that are associated with the main document - // Cloning options loses the selected state, so don't cache them - // IE 6 doesn't like it when you put or elements in a fragment - // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache - if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document && - args[0].charAt(0) === "<" && !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) { - - cacheable = true; - - cacheresults = jQuery.fragments[ args[0] ]; - if ( cacheresults && cacheresults !== 1 ) { - fragment = cacheresults; - } - } - - if ( !fragment ) { - fragment = doc.createDocumentFragment(); - jQuery.clean( args, doc, fragment, scripts ); - } - - if ( cacheable ) { - jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1; - } - - return { fragment: fragment, cacheable: cacheable }; -}; -jQuery.cache = {}; -jQuery.camelCase = function( string ) { - - return string.replace( rdashAlpha, fcamelCase ); - }; -jQuery.clean = function( elems, context, fragment, scripts ) { - - var checkScriptType; - - context = context || document; - - // !context.createElement fails in IE with an error but returns typeof 'object' - if ( typeof context.createElement === "undefined" ) { - context = context.ownerDocument || context[0] && context[0].ownerDocument || document; - } - - var ret = [], j; - - for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { - if ( typeof elem === "number" ) { - elem += ""; - } - - if ( !elem ) { - continue; - } - - // Convert html string into DOM nodes - if ( typeof elem === "string" ) { - if ( !rhtml.test( elem ) ) { - elem = context.createTextNode( elem ); - } else { - // Fix "XHTML"-style tags in all browsers - elem = elem.replace(rxhtmlTag, "<$1>"); - - // Trim whitespace, otherwise indexOf won't work as expected - var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(), - wrap = wrapMap[ tag ] || wrapMap._default, - depth = wrap[0], - div = context.createElement("div"); - - // Go to html and back, then peel off extra wrappers - div.innerHTML = wrap[1] + elem + wrap[2]; - - // Move to the right depth - while ( depth-- ) { - div = div.lastChild; - } - - // Remove IE's autoinserted from table fragments - if ( !jQuery.support.tbody ) { - - // String was a , *may* have spurious - var hasBody = rtbody.test(elem), - tbody = tag === "table" && !hasBody ? - div.firstChild && div.firstChild.childNodes : - - // String was a bare or - wrap[1] === "
    " && !hasBody ? - div.childNodes : - []; - - for ( j = tbody.length - 1; j >= 0 ; --j ) { - if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { - tbody[ j ].parentNode.removeChild( tbody[ j ] ); - } - } - } - - // IE completely kills leading whitespace when innerHTML is used - if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); - } - - elem = div.childNodes; - } - } - - // Resets defaultChecked for any radios and checkboxes - // about to be appended to the DOM in IE 6/7 (#8060) - var len; - if ( !jQuery.support.appendChecked ) { - if ( elem[0] && typeof (len = elem.length) === "number" ) { - for ( j = 0; j < len; j++ ) { - findInputs( elem[j] ); - } - } else { - findInputs( elem ); - } - } - - if ( elem.nodeType ) { - ret.push( elem ); - } else { - ret = jQuery.merge( ret, elem ); - } - } - - if ( fragment ) { - checkScriptType = function( elem ) { - return !elem.type || rscriptType.test( elem.type ); - }; - for ( i = 0; ret[i]; i++ ) { - if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) { - scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] ); - - } else { - if ( ret[i].nodeType === 1 ) { - var jsTags = jQuery.grep( ret[i].getElementsByTagName( "script" ), checkScriptType ); - - ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) ); - } - fragment.appendChild( ret[i] ); - } - } - } - - return ret; - }; -jQuery.cleanData = function( elems ) { - - var data, id, cache = jQuery.cache, internalKey = jQuery.expando, special = jQuery.event.special, - deleteExpando = jQuery.support.deleteExpando; - - for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { - if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) { - continue; - } - - id = elem[ jQuery.expando ]; - - if ( id ) { - data = cache[ id ] && cache[ id ][ internalKey ]; - - if ( data && data.events ) { - for ( var type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - - // Null the DOM reference to avoid IE6/7/8 leak (#7054) - if ( data.handle ) { - data.handle.elem = null; - } - } - - if ( deleteExpando ) { - delete elem[ jQuery.expando ]; - - } else if ( elem.removeAttribute ) { - elem.removeAttribute( jQuery.expando ); - } - - delete cache[ id ]; - } - } - }; -jQuery.clone = function( elem, dataAndEvents, deepDataAndEvents ) { - - var clone = elem.cloneNode(true), - srcElements, - destElements, - i; - - if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && - (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { - // IE copies events bound via attachEvent when using cloneNode. - // Calling detachEvent on the clone will also remove the events - // from the original. In order to get around this, we use some - // proprietary methods to clear the events. Thanks to MooTools - // guys for this hotness. - - cloneFixAttributes( elem, clone ); - - // Using Sizzle here is crazy slow, so we use getElementsByTagName - // instead - srcElements = getAll( elem ); - destElements = getAll( clone ); - - // Weird iteration because IE will replace the length property - // with an element if you are cloning the body and one of the - // elements on the page has a name or id of "length" - for ( i = 0; srcElements[i]; ++i ) { - cloneFixAttributes( srcElements[i], destElements[i] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - cloneCopyEvent( elem, clone ); - - if ( deepDataAndEvents ) { - srcElements = getAll( elem ); - destElements = getAll( clone ); - - for ( i = 0; srcElements[i]; ++i ) { - cloneCopyEvent( srcElements[i], destElements[i] ); - } - } - } - - // Return the cloned set - return clone; - }; -jQuery.contains = function( a, b ) { -/// -/// Check to see if a DOM node is within another DOM node. -/// -/// -/// The DOM element that may contain the other element. -/// -/// -/// The DOM node that may be contained by the other element. -/// -/// - - return a !== b && (a.contains ? a.contains(b) : true); - }; -jQuery.css = function( elem, name, extra ) { - - var ret, hooks; - - // Make sure that we're working with the right name - name = jQuery.camelCase( name ); - hooks = jQuery.cssHooks[ name ]; - name = jQuery.cssProps[ name ] || name; - - // cssFloat needs a special treatment - if ( name === "cssFloat" ) { - name = "float"; - } - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) { - return ret; - - // Otherwise, if a way to get the computed value exists, use that - } else if ( curCSS ) { - return curCSS( elem, name ); - } - }; -jQuery.cssHooks = { "opacity": {}, -"height": {}, -"width": {} }; -jQuery.cssNumber = { "zIndex": true, -"fontWeight": true, -"opacity": true, -"zoom": true, -"lineHeight": true, -"widows": true, -"orphans": true }; -jQuery.cssProps = { "float": 'cssFloat' }; -jQuery.curCSS = function( elem, name, extra ) { - - var ret, hooks; - - // Make sure that we're working with the right name - name = jQuery.camelCase( name ); - hooks = jQuery.cssHooks[ name ]; - name = jQuery.cssProps[ name ] || name; - - // cssFloat needs a special treatment - if ( name === "cssFloat" ) { - name = "float"; - } - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) { - return ret; - - // Otherwise, if a way to get the computed value exists, use that - } else if ( curCSS ) { - return curCSS( elem, name ); - } - }; -jQuery.data = function( elem, name, data, pvt /* Internal Use Only */ ) { -/// -/// 1: Store arbitrary data associated with the specified element. Returns the value that was set. -/// 1.1 - jQuery.data(element, key, value) -/// 2: Returns value at named data store for the element, as set by jQuery.data(element, name, value), or the full data store for the element. -/// 2.1 - jQuery.data(element, key) -/// 2.2 - jQuery.data(element) -/// -/// -/// The DOM element to associate with the data. -/// -/// -/// A string naming the piece of data to set. -/// -/// -/// The new data value. -/// -/// - - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache, - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || (pvt && id && !cache[ id ][ internalKey ])) && getByName && data === undefined ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - elem[ jQuery.expando ] = id = ++jQuery.uuid; - } else { - id = jQuery.expando; - } - } - - if ( !cache[ id ] ) { - cache[ id ] = {}; - - // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery - // metadata on plain JS objects when the object is serialized using - // JSON.stringify - if ( !isNode ) { - cache[ id ].toJSON = jQuery.noop; - } - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); - } else { - cache[ id ] = jQuery.extend(cache[ id ], name); - } - } - - thisCache = cache[ id ]; - - // Internal jQuery data is stored in a separate object inside the object's data - // cache in order to avoid key collisions between internal data and user-defined - // data - if ( pvt ) { - if ( !thisCache[ internalKey ] ) { - thisCache[ internalKey ] = {}; - } - - thisCache = thisCache[ internalKey ]; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should - // not attempt to inspect the internal events object using jQuery.data, as this - // internal data object is undocumented and subject to change. - if ( name === "events" && !thisCache[name] ) { - return thisCache[ internalKey ] && thisCache[ internalKey ].events; - } - - return getByName ? thisCache[ jQuery.camelCase( name ) ] : thisCache; - }; -jQuery.dequeue = function( elem, type ) { -/// -/// Execute the next function on the queue for the matched element. -/// -/// -/// A DOM element from which to remove and execute a queued function. -/// -/// -/// A string containing the name of the queue. Defaults to fx, the standard effects queue. -/// -/// - - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - fn = queue.shift(), - defer; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - } - - if ( fn ) { - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift("inprogress"); - } - - fn.call(elem, function() { - jQuery.dequeue(elem, type); - }); - } - - if ( !queue.length ) { - jQuery.removeData( elem, type + "queue", true ); - handleQueueMarkDefer( elem, type, "queue" ); - } - }; -jQuery.dir = function( elem, dir, until ) { - - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }; -jQuery.each = function( object, callback, args ) { -/// -/// A generic iterator function, which can be used to seamlessly iterate over both objects and arrays. Arrays and array-like objects with a length property (such as a function's arguments object) are iterated by numeric index, from 0 to length-1. Other objects are iterated via their named properties. -/// -/// -/// The object or array to iterate over. -/// -/// -/// The function that will be executed on every object. -/// -/// - - var name, i = 0, - length = object.length, - isObj = length === undefined || jQuery.isFunction( object ); - - if ( args ) { - if ( isObj ) { - for ( name in object ) { - if ( callback.apply( object[ name ], args ) === false ) { - break; - } - } - } else { - for ( ; i < length; ) { - if ( callback.apply( object[ i++ ], args ) === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isObj ) { - for ( name in object ) { - if ( callback.call( object[ name ], name, object[ name ] ) === false ) { - break; - } - } - } else { - for ( ; i < length; ) { - if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) { - break; - } - } - } - } - - return object; - }; -jQuery.easing = {}; -jQuery.error = function( msg ) { -/// -/// Takes a string and throws an exception containing it. -/// -/// -/// The message to send out. -/// - - throw msg; - }; -jQuery.etag = {}; -jQuery.event = { "global": {}, -"customEvent": {}, -"props": ['altKey','attrChange','attrName','bubbles','button','cancelable','charCode','clientX','clientY','ctrlKey','currentTarget','data','detail','eventPhase','fromElement','handler','keyCode','layerX','layerY','metaKey','newValue','offsetX','offsetY','pageX','pageY','prevValue','relatedNode','relatedTarget','screenX','screenY','shiftKey','srcElement','target','toElement','view','wheelDelta','which'], -"guid": 100000000, -"special": {}, -"triggered": }; -jQuery.expr = { "order": ['ID','CLASS','NAME','TAG'], -"match": {}, -"leftMatch": {}, -"attrMap": {}, -"attrHandle": {}, -"relative": {}, -"find": {}, -"preFilter": {}, -"filters": {}, -"setFilters": {}, -"filter": {}, -":": {} }; -jQuery.extend = function() { -/// -/// Merge the contents of two or more objects together into the first object. -/// 1 - jQuery.extend(target, object1, objectN) -/// 2 - jQuery.extend(deep, target, object1, objectN) -/// -/// -/// If true, the merge becomes recursive (aka. deep copy). -/// -/// -/// The object to extend. It will receive the new properties. -/// -/// -/// An object containing additional properties to merge in. -/// -/// -/// Additional objects containing properties to merge in. -/// -/// - - var options, name, src, copy, copyIsArray, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( length === i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; -jQuery.filter = function( expr, elems, not ) { - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 ? - jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : - jQuery.find.matches(expr, elems); - }; -jQuery.find = function( query, context, extra, seed ) { - - context = context || document; - - // Only use querySelectorAll on non-XML documents - // (ID selectors don't work in non-HTML documents) - if ( !seed && !Sizzle.isXML(context) ) { - // See if we find a selector to speed up - var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); - - if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { - // Speed-up: Sizzle("TAG") - if ( match[1] ) { - return makeArray( context.getElementsByTagName( query ), extra ); - - // Speed-up: Sizzle(".CLASS") - } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { - return makeArray( context.getElementsByClassName( match[2] ), extra ); - } - } - - if ( context.nodeType === 9 ) { - // Speed-up: Sizzle("body") - // The body element only exists once, optimize finding it - if ( query === "body" && context.body ) { - return makeArray( [ context.body ], extra ); - - // Speed-up: Sizzle("#ID") - } else if ( match && match[3] ) { - var elem = context.getElementById( match[3] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id === match[3] ) { - return makeArray( [ elem ], extra ); - } - - } else { - return makeArray( [], extra ); - } - } - - try { - return makeArray( context.querySelectorAll(query), extra ); - } catch(qsaError) {} - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - var oldContext = context, - old = context.getAttribute( "id" ), - nid = old || id, - hasParent = context.parentNode, - relativeHierarchySelector = /^\s*[+~]/.test( query ); - - if ( !old ) { - context.setAttribute( "id", nid ); - } else { - nid = nid.replace( /'/g, "\\$&" ); - } - if ( relativeHierarchySelector && hasParent ) { - context = context.parentNode; - } - - try { - if ( !relativeHierarchySelector || hasParent ) { - return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); - } - - } catch(pseudoError) { - } finally { - if ( !old ) { - oldContext.removeAttribute( "id" ); - } - } - } - } - - return oldSizzle(query, context, extra, seed); - }; -jQuery.fn = { "selector": '', -"jquery": '1.6.1', -"length": 0 }; -jQuery.fragments = {}; -jQuery.fx = function( elem, options, prop ) { - - this.options = options; - this.elem = elem; - this.prop = prop; - - options.orig = options.orig || {}; - }; -jQuery.get = function( url, data, callback, type ) { -/// -/// Load data from the server using a HTTP GET request. -/// -/// -/// A string containing the URL to which the request is sent. -/// -/// -/// A map or string that is sent to the server with the request. -/// -/// -/// A callback function that is executed if the request succeeds. -/// -/// -/// The type of data expected from the server. Default: Intelligent Guess (xml, json, script, or html). -/// - - // shift arguments if data argument was omitted - if ( jQuery.isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - return jQuery.ajax({ - type: method, - url: url, - data: data, - success: callback, - dataType: type - }); - }; -jQuery.getJSON = function( url, data, callback ) { -/// -/// Load JSON-encoded data from the server using a GET HTTP request. -/// -/// -/// A string containing the URL to which the request is sent. -/// -/// -/// A map or string that is sent to the server with the request. -/// -/// -/// A callback function that is executed if the request succeeds. -/// - - return jQuery.get( url, data, callback, "json" ); - }; -jQuery.getScript = function( url, callback ) { -/// -/// Load a JavaScript file from the server using a GET HTTP request, then execute it. -/// -/// -/// A string containing the URL to which the request is sent. -/// -/// -/// A callback function that is executed if the request succeeds. -/// -/// - - return jQuery.get( url, undefined, callback, "script" ); - }; -jQuery.globalEval = function( data ) { -/// -/// Execute some JavaScript code globally. -/// -/// -/// The JavaScript code to execute. -/// - - if ( data && rnotwhite.test( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }; -jQuery.grep = function( elems, callback, inv ) { -/// -/// Finds the elements of an array which satisfy a filter function. The original array is not affected. -/// -/// -/// The array to search through. -/// -/// -/// The function to process each item against. The first argument to the function is the item, and the second argument is the index. The function should return a Boolean value. this will be the global window object. -/// -/// -/// If "invert" is false, or not provided, then the function returns an array consisting of all elements for which "callback" returns true. If "invert" is true, then the function returns an array consisting of all elements for which "callback" returns false. -/// -/// - - var ret = [], retVal; - inv = !!inv; - - // Go through the array, only saving the items - // that pass the validator function - for ( var i = 0, length = elems.length; i < length; i++ ) { - retVal = !!callback( elems[ i ], i ); - if ( inv !== retVal ) { - ret.push( elems[ i ] ); - } - } - - return ret; - }; -jQuery.guid = 1; -jQuery.hasData = function( elem ) { -/// -/// Determine whether an element has any jQuery data associated with it. -/// -/// -/// A DOM element to be checked for data. -/// -/// - - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - - return !!elem && !isEmptyDataObject( elem ); - }; -jQuery.holdReady = function( hold ) { -/// -/// Holds or releases the execution of jQuery's ready event. -/// -/// -/// Indicates whether the ready hold is being requested or released -/// -/// - - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }; -jQuery.inArray = function( elem, array ) { -/// -/// Search for a specified value within an array and return its index (or -1 if not found). -/// -/// -/// The value to search for. -/// -/// -/// An array through which to search. -/// -/// - - - if ( indexOf ) { - return indexOf.call( array, elem ); - } - - for ( var i = 0, length = array.length; i < length; i++ ) { - if ( array[ i ] === elem ) { - return i; - } - } - - return -1; - }; -jQuery.isEmptyObject = function( obj ) { -/// -/// Check to see if an object is empty (contains no properties). -/// -/// -/// The object that will be checked to see if it's empty. -/// -/// - - for ( var name in obj ) { - return false; - } - return true; - }; -jQuery.isFunction = function( obj ) { -/// -/// Determine if the argument passed is a Javascript function object. -/// -/// -/// Object to test whether or not it is a function. -/// -/// - - return jQuery.type(obj) === "function"; - }; -jQuery.isNaN = function( obj ) { - - return obj == null || !rdigit.test( obj ) || isNaN( obj ); - }; -jQuery.isPlainObject = function( obj ) { -/// -/// Check to see if an object is a plain object (created using "{}" or "new Object"). -/// -/// -/// The object that will be checked to see if it's a plain object. -/// -/// - - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - - var key; - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); - }; -jQuery.isReady = true; -jQuery.isWindow = function( obj ) { -/// -/// Determine whether the argument is a window. -/// -/// -/// Object to test whether or not it is a window. -/// -/// - - return obj && typeof obj === "object" && "setInterval" in obj; - }; -jQuery.isXMLDoc = function( elem ) { -/// -/// Check to see if a DOM node is within an XML document (or is an XML document). -/// -/// -/// The DOM node that will be checked to see if it's in an XML document. -/// -/// - - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; - - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; -jQuery.lastModified = {}; -jQuery.makeArray = function( array, results ) { -/// -/// Convert an array-like object into a true JavaScript array. -/// -/// -/// Any object to turn into a native Array. -/// -/// - - var ret = results || []; - - if ( array != null ) { - // The window, strings (and functions) also have 'length' - // The extra typeof function check is to prevent crashes - // in Safari 2 (See: #3039) - // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 - var type = jQuery.type( array ); - - if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { - push.call( ret, array ); - } else { - jQuery.merge( ret, array ); - } - } - - return ret; - }; -jQuery.map = function( elems, callback, arg ) { -/// -/// Translate all items in an array or object to new array of items. -/// 1 - jQuery.map(array, callback(elementOfArray, indexInArray)) -/// 2 - jQuery.map(arrayOrObject, callback( value, indexOrKey )) -/// -/// -/// The Array to translate. -/// -/// -/// The function to process each item against. The first argument to the function is the array item, the second argument is the index in array The function can return any value. Within the function, this refers to the global (window) object. -/// -/// - - var value, key, ret = [], - i = 0, - length = elems.length, - // jquery objects are treated as arrays - isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; - - // Go through the array, translating each of the items to their - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - - // Go through every key on the object, - } else { - for ( key in elems ) { - value = callback( elems[ key ], key, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - } - - // Flatten any nested arrays - return ret.concat.apply( [], ret ); - }; -jQuery.merge = function( first, second ) { -/// -/// Merge the contents of two arrays together into the first array. -/// -/// -/// The first array to merge, the elements of second added. -/// -/// -/// The second array to merge into the first, unaltered. -/// -/// - - var i = first.length, - j = 0; - - if ( typeof second.length === "number" ) { - for ( var l = second.length; j < l; j++ ) { - first[ i++ ] = second[ j ]; - } - - } else { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }; -jQuery.noConflict = function( deep ) { -/// -/// Relinquish jQuery's control of the $ variable. -/// -/// -/// A Boolean indicating whether to remove all jQuery variables from the global scope (including jQuery itself). -/// -/// - - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; - }; -jQuery.noData = { "embed": true, -"object": 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000', -"applet": true }; -jQuery.nodeName = function( elem, name ) { - - return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); - }; -jQuery.noop = function() { -/// -/// An empty function. -/// -/// -}; -jQuery.now = function() { -/// -/// Return a number representing the current time. -/// -/// - - return (new Date()).getTime(); - }; -jQuery.nth = function( cur, result, dir, elem ) { - - result = result || 1; - var num = 0; - - for ( ; cur; cur = cur[dir] ) { - if ( cur.nodeType === 1 && ++num === result ) { - break; - } - } - - return cur; - }; -jQuery.offset = {}; -jQuery.param = function( a, traditional ) { -/// -/// Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. -/// 1 - jQuery.param(obj) -/// 2 - jQuery.param(obj, traditional) -/// -/// -/// An array or object to serialize. -/// -/// -/// A Boolean indicating whether to perform a traditional "shallow" serialization. -/// -/// - - var s = [], - add = function( key, value ) { - // If value is a function, invoke it and return its value - value = jQuery.isFunction( value ) ? value() : value; - s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); - }; - - // Set traditional to true for jQuery <= 1.3.2 behavior. - if ( traditional === undefined ) { - traditional = jQuery.ajaxSettings.traditional; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - }); - - } else { - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( var prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ).replace( r20, "+" ); - }; -jQuery.parseJSON = function( data ) { -/// -/// Takes a well-formed JSON string and returns the resulting JavaScript object. -/// -/// -/// The JSON string to parse. -/// -/// - - if ( typeof data !== "string" || !data ) { - return null; - } - - // Make sure leading/trailing whitespace is removed (IE can't handle it) - data = jQuery.trim( data ); - - // Attempt to parse using the native JSON parser first - if ( window.JSON && window.JSON.parse ) { - return window.JSON.parse( data ); - } - - // Make sure the incoming data is actual JSON - // Logic borrowed from http://json.org/json2.js - if ( rvalidchars.test( data.replace( rvalidescape, "@" ) - .replace( rvalidtokens, "]" ) - .replace( rvalidbraces, "")) ) { - - return (new Function( "return " + data ))(); - - } - jQuery.error( "Invalid JSON: " + data ); - }; -jQuery.parseXML = function( data , xml , tmp ) { -/// -/// Parses a string into an XML document. -/// -/// -/// a well-formed XML string to be parsed -/// -/// - - - if ( window.DOMParser ) { // Standard - tmp = new DOMParser(); - xml = tmp.parseFromString( data , "text/xml" ); - } else { // IE - xml = new ActiveXObject( "Microsoft.XMLDOM" ); - xml.async = "false"; - xml.loadXML( data ); - } - - tmp = xml.documentElement; - - if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) { - jQuery.error( "Invalid XML: " + data ); - } - - return xml; - }; -jQuery.post = function( url, data, callback, type ) { -/// -/// Load data from the server using a HTTP POST request. -/// -/// -/// A string containing the URL to which the request is sent. -/// -/// -/// A map or string that is sent to the server with the request. -/// -/// -/// A callback function that is executed if the request succeeds. -/// -/// -/// The type of data expected from the server. Default: Intelligent Guess (xml, json, script, or html). -/// - - // shift arguments if data argument was omitted - if ( jQuery.isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - return jQuery.ajax({ - type: method, - url: url, - data: data, - success: callback, - dataType: type - }); - }; -jQuery.prop = function( elem, name, value ) { - - var nType = elem.nodeType; - - // don't get/set properties on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return undefined; - } - - var ret, hooks, - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - // Try to normalize/fix the name - name = notxml && jQuery.propFix[ name ] || name; - - hooks = jQuery.propHooks[ name ]; - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - return (elem[ name ] = value); - } - - } else { - if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== undefined ) { - return ret; - - } else { - return elem[ name ]; - } - } - }; -jQuery.propFix = { "tabindex": 'tabIndex', -"readonly": 'readOnly', -"for": 'htmlFor', -"class": 'className', -"maxlength": 'maxLength', -"cellspacing": 'cellSpacing', -"cellpadding": 'cellPadding', -"rowspan": 'rowSpan', -"colspan": 'colSpan', -"usemap": 'useMap', -"frameborder": 'frameBorder', -"contenteditable": 'contentEditable' }; -jQuery.propHooks = { "selected": {} }; -jQuery.proxy = function( fn, context ) { -/// -/// Takes a function and returns a new one that will always have a particular context. -/// 1 - jQuery.proxy(function, context) -/// 2 - jQuery.proxy(context, name) -/// -/// -/// The function whose context will be changed. -/// -/// -/// The object to which the context (this) of the function should be set. -/// -/// - - if ( typeof context === "string" ) { - var tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - var args = slice.call( arguments, 2 ), - proxy = function() { - return fn.apply( context, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; - - return proxy; - }; -jQuery.queue = function( elem, type, data ) { -/// -/// 1: Show the queue of functions to be executed on the matched element. -/// 1.1 - jQuery.queue(element, queueName) -/// 2: Manipulate the queue of functions to be executed on the matched element. -/// 2.1 - jQuery.queue(element, queueName, newQueue) -/// 2.2 - jQuery.queue(element, queueName, callback()) -/// -/// -/// A DOM element where the array of queued functions is attached. -/// -/// -/// A string containing the name of the queue. Defaults to fx, the standard effects queue. -/// -/// -/// An array of functions to replace the current queue contents. -/// -/// - - if ( elem ) { - type = (type || "fx") + "queue"; - var q = jQuery.data( elem, type, undefined, true ); - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !q || jQuery.isArray(data) ) { - q = jQuery.data( elem, type, jQuery.makeArray(data), true ); - } else { - q.push( data ); - } - } - return q || []; - } - }; -jQuery.ready = function( wait ) { - - // Either a released hold or an DOMready/load event and not yet ready - if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) { - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready, 1 ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.trigger ) { - jQuery( document ).trigger( "ready" ).unbind( "ready" ); - } - } - }; -jQuery.readyWait = 0; -jQuery.removeAttr = function( elem, name ) { - - var propName; - if ( elem.nodeType === 1 ) { - name = jQuery.attrFix[ name ] || name; - - if ( jQuery.support.getSetAttribute ) { - // Use removeAttribute in browsers that support it - elem.removeAttribute( name ); - } else { - jQuery.attr( elem, name, "" ); - elem.removeAttributeNode( elem.getAttributeNode( name ) ); - } - - // Set corresponding property to false for boolean attributes - if ( rboolean.test( name ) && (propName = jQuery.propFix[ name ] || name) in elem ) { - elem[ propName ] = false; - } - } - }; -jQuery.removeData = function( elem, name, pvt /* Internal Use Only */ ) { -/// -/// Remove a previously-stored piece of data. -/// -/// -/// A DOM element from which to remove data. -/// -/// -/// A string naming the piece of data to remove. -/// -/// - - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var internalKey = jQuery.expando, isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - - // See jQuery.data for more information - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; - - if ( thisCache ) { - delete thisCache[ name ]; - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( !isEmptyDataObject(thisCache) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( pvt ) { - delete cache[ id ][ internalKey ]; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject(cache[ id ]) ) { - return; - } - } - - var internalCache = cache[ id ][ internalKey ]; - - // Browsers that fail expando deletion also refuse to delete expandos on - // the window, but it will allow it on all other JS objects; other browsers - // don't care - if ( jQuery.support.deleteExpando || cache != window ) { - delete cache[ id ]; - } else { - cache[ id ] = null; - } - - // We destroyed the entire user cache at once because it's faster than - // iterating through each key, but we need to continue to persist internal - // data if it existed - if ( internalCache ) { - cache[ id ] = {}; - // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery - // metadata on plain JS objects when the object is serialized using - // JSON.stringify - if ( !isNode ) { - cache[ id ].toJSON = jQuery.noop; - } - - cache[ id ][ internalKey ] = internalCache; - - // Otherwise, we need to eliminate the expando on the node to avoid - // false lookups in the cache for entries that no longer exist - } else if ( isNode ) { - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( jQuery.support.deleteExpando ) { - delete elem[ jQuery.expando ]; - } else if ( elem.removeAttribute ) { - elem.removeAttribute( jQuery.expando ); - } else { - elem[ jQuery.expando ] = null; - } - } - }; -jQuery.removeEvent = function( elem, type, handle ) { - - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - }; -jQuery.sibling = function( n, elem ) { - - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - }; -jQuery.speed = function( speed, easing, fn ) { - - var opt = speed && typeof speed === "object" ? jQuery.extend({}, speed) : { - complete: fn || !fn && easing || - jQuery.isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !jQuery.isFunction(easing) && easing - }; - - opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : - opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[opt.duration] : jQuery.fx.speeds._default; - - // Queueing - opt.old = opt.complete; - opt.complete = function( noUnmark ) { - if ( opt.queue !== false ) { - jQuery.dequeue( this ); - } else if ( noUnmark !== false ) { - jQuery._unmark( this ); - } - - if ( jQuery.isFunction( opt.old ) ) { - opt.old.call( this ); - } - }; - - return opt; - }; -jQuery.style = function( elem, name, value, extra ) { - - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, origName = jQuery.camelCase( name ), - style = elem.style, hooks = jQuery.cssHooks[ origName ]; - - name = jQuery.cssProps[ origName ] || origName; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // Make sure that NaN and null values aren't set. See: #7116 - if ( type === "number" && isNaN( value ) || value == null ) { - return; - } - - // convert relative number strings (+= or -=) to relative numbers. #7345 - if ( type === "string" && rrelNum.test( value ) ) { - value = +value.replace( rrelNumFilter, "" ) + parseFloat( jQuery.css( elem, name ) ); - } - - // If a number was passed in, add 'px' to the (except for certain CSS properties) - if ( type === "number" && !jQuery.cssNumber[ origName ] ) { - value += "px"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) { - // Wrapped to prevent IE from throwing errors when 'invalid' values are provided - // Fixes bug #5509 - try { - style[ name ] = value; - } catch(e) {} - } - - } else { - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }; -jQuery.sub = function() { -/// -/// Creates a new copy of jQuery whose properties and methods can be modified without affecting the original jQuery object. -/// -/// - - function jQuerySub( selector, context ) { - return new jQuerySub.fn.init( selector, context ); - } - jQuery.extend( true, jQuerySub, this ); - jQuerySub.superclass = this; - jQuerySub.fn = jQuerySub.prototype = this(); - jQuerySub.fn.constructor = jQuerySub; - jQuerySub.sub = this.sub; - jQuerySub.fn.init = function init( selector, context ) { - if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { - context = jQuerySub( context ); - } - - return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); - }; - jQuerySub.fn.init.prototype = jQuerySub.fn; - var rootjQuerySub = jQuerySub(document); - return jQuerySub; - }; -jQuery.support = { "leadingWhitespace": true, -"tbody": true, -"htmlSerialize": true, -"style": true, -"hrefNormalized": true, -"opacity": true, -"cssFloat": true, -"checkOn": true, -"optSelected": false, -"getSetAttribute": true, -"submitBubbles": true, -"changeBubbles": true, -"focusinBubbles": true, -"deleteExpando": true, -"noCloneEvent": true, -"inlineBlockNeedsLayout": false, -"shrinkWrapBlocks": false, -"reliableMarginRight": true, -"noCloneChecked": false, -"optDisabled": true, -"radioValue": false, -"checkClone": , -"appendChecked": true, -"boxModel": true, -"reliableHiddenOffsets": true, -"ajax": true, -"cors": false }; -jQuery.swap = function( elem, options, callback ) { - - var old = {}; - - // Remember the old values, and insert the new ones - for ( var name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - callback.call( elem ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - }; -jQuery.text = function( elems ) { - - var ret = "", elem; - - for ( var i = 0; elems[i]; i++ ) { - elem = elems[i]; - - // Get the text from text nodes and CDATA nodes - if ( elem.nodeType === 3 || elem.nodeType === 4 ) { - ret += elem.nodeValue; - - // Traverse everything else, except comment nodes - } else if ( elem.nodeType !== 8 ) { - ret += Sizzle.getText( elem.childNodes ); - } - } - - return ret; -}; -jQuery.trim = function( text ) { -/// -/// Remove the whitespace from the beginning and end of a string. -/// -/// -/// The string to trim. -/// -/// - - return text == null ? - "" : - trim.call( text ); - }; -jQuery.type = function( obj ) { -/// -/// Determine the internal JavaScript [[Class]] of an object. -/// -/// -/// Object to get the internal JavaScript [[Class]] of. -/// -/// - - return obj == null ? - String( obj ) : - class2type[ toString.call(obj) ] || "object"; - }; -jQuery.uaMatch = function( ua ) { - - ua = ua.toLowerCase(); - - var match = rwebkit.exec( ua ) || - ropera.exec( ua ) || - rmsie.exec( ua ) || - ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || - []; - - return { browser: match[1] || "", version: match[2] || "0" }; - }; -jQuery.unique = function( results ) { -/// -/// Sorts an array of DOM elements, in place, with the duplicates removed. Note that this only works on arrays of DOM elements, not strings or numbers. -/// -/// -/// The Array of DOM elements. -/// -/// - - if ( sortOrder ) { - hasDuplicate = baseHasDuplicate; - results.sort( sortOrder ); - - if ( hasDuplicate ) { - for ( var i = 1; i < results.length; i++ ) { - if ( results[i] === results[ i - 1 ] ) { - results.splice( i--, 1 ); - } - } - } - } - - return results; -}; -jQuery.uuid = 0; -jQuery.valHooks = { "option": {}, -"select": {}, -"radio": {}, -"checkbox": {} }; -jQuery.when = function( firstParam ) { -/// -/// Provides a way to execute callback functions based on one or more objects, usually Deferred objects that represent asynchronous events. -/// -/// -/// One or more Deferred objects, or plain JavaScript objects. -/// -/// - - var args = arguments, - i = 0, - length = args.length, - count = length, - deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? - firstParam : - jQuery.Deferred(); - function resolveFunc( i ) { - return function( value ) { - args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; - if ( !( --count ) ) { - // Strange bug in FF4: - // Values changed onto the arguments object sometimes end up as undefined values - // outside the $.when method. Cloning the object into a fresh array solves the issue - deferred.resolveWith( deferred, sliceDeferred.call( args, 0 ) ); - } - }; - } - if ( length > 1 ) { - for( ; i < length; i++ ) { - if ( args[ i ] && jQuery.isFunction( args[ i ].promise ) ) { - args[ i ].promise().then( resolveFunc(i), deferred.reject ); - } else { - --count; - } - } - if ( !count ) { - deferred.resolveWith( deferred, args ); - } - } else if ( deferred !== firstParam ) { - deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); - } - return deferred.promise(); - }; -jQuery.Event.prototype.isDefaultPrevented = function returnFalse() { -/// -/// Returns whether event.preventDefault() was ever called on this event object. -/// -/// - - return false; -}; -jQuery.Event.prototype.isImmediatePropagationStopped = function returnFalse() { -/// -/// Returns whether event.stopImmediatePropagation() was ever called on this event object. -/// -/// - - return false; -}; -jQuery.Event.prototype.isPropagationStopped = function returnFalse() { -/// -/// Returns whether event.stopPropagation() was ever called on this event object. -/// -/// - - return false; -}; -jQuery.Event.prototype.preventDefault = function() { -/// -/// If this method is called, the default action of the event will not be triggered. -/// -/// - - this.isDefaultPrevented = returnTrue; - - var e = this.originalEvent; - if ( !e ) { - return; - } - - // if preventDefault exists run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // otherwise set the returnValue property of the original event to false (IE) - } else { - e.returnValue = false; - } - }; -jQuery.Event.prototype.stopImmediatePropagation = function() { -/// -/// Keeps the rest of the handlers from being executed and prevents the event from bubbling up the DOM tree. -/// - - this.isImmediatePropagationStopped = returnTrue; - this.stopPropagation(); - }; -jQuery.Event.prototype.stopPropagation = function() { -/// -/// Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event. -/// - - this.isPropagationStopped = returnTrue; - - var e = this.originalEvent; - if ( !e ) { - return; - } - // if stopPropagation exists run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - // otherwise set the cancelBubble property of the original event to true (IE) - e.cancelBubble = true; - }; -jQuery.prototype._toggle = function( fn ) { - - // Save reference to arguments for access in closure - var args = arguments, - guid = fn.guid || jQuery.guid++, - i = 0, - toggler = function( event ) { - // Figure out which function to execute - var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; - jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); - - // Make sure that clicks stop - event.preventDefault(); - - // and execute the function - return args[ lastToggle ].apply( this, arguments ) || false; - }; - - // link all the functions, so any of them can unbind this click handler - toggler.guid = guid; - while ( i < args.length ) { - args[ i++ ].guid = guid; - } - - return this.click( toggler ); - }; -jQuery.prototype.add = function( selector, context ) { -/// -/// Add elements to the set of matched elements. -/// 1 - add(selector) -/// 2 - add(elements) -/// 3 - add(html) -/// 4 - add(selector, context) -/// -/// -/// A string representing a selector expression to find additional elements to add to the set of matched elements. -/// -/// -/// The point in the document at which the selector should begin matching; similar to the context argument of the $(selector, context) method. -/// -/// - - var set = typeof selector === "string" ? - jQuery( selector, context ) : - jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), - all = jQuery.merge( this.get(), set ); - - return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? - all : - jQuery.unique( all ) ); - }; -jQuery.prototype.addClass = function( value ) { -/// -/// Adds the specified class(es) to each of the set of matched elements. -/// 1 - addClass(className) -/// 2 - addClass(function(index, currentClass)) -/// -/// -/// One or more class names to be added to the class attribute of each matched element. -/// -/// - - if ( jQuery.isFunction( value ) ) { - return this.each(function(i) { - var self = jQuery(this); - self.addClass( value.call(this, i, self.attr("class") || "") ); - }); - } - - if ( value && typeof value === "string" ) { - var classNames = (value || "").split( rspace ); - - for ( var i = 0, l = this.length; i < l; i++ ) { - var elem = this[i]; - - if ( elem.nodeType === 1 ) { - if ( !elem.className ) { - elem.className = value; - - } else { - var className = " " + elem.className + " ", - setClass = elem.className; - - for ( var c = 0, cl = classNames.length; c < cl; c++ ) { - if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { - setClass += " " + classNames[c]; - } - } - elem.className = jQuery.trim( setClass ); - } - } - } - } - - return this; - }; -jQuery.prototype.after = function() { -/// -/// Insert content, specified by the parameter, after each element in the set of matched elements. -/// 1 - after(content, content) -/// 2 - after(function(index)) -/// -/// -/// HTML string, DOM element, or jQuery object to insert after each element in the set of matched elements. -/// -/// -/// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert after each element in the set of matched elements. -/// -/// - - if ( this[0] && this[0].parentNode ) { - return this.domManip(arguments, false, function( elem ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - }); - } else if ( arguments.length ) { - var set = this.pushStack( this, "after", arguments ); - set.push.apply( set, jQuery(arguments[0]).toArray() ); - return set; - } - }; -jQuery.prototype.ajaxComplete = function( f ){ -/// -/// Register a handler to be called when Ajax requests complete. This is an Ajax Event. -/// -/// -/// The function to be invoked. -/// -/// - - return this.bind( o, f ); - }; -jQuery.prototype.ajaxError = function( f ){ -/// -/// Register a handler to be called when Ajax requests complete with an error. This is an Ajax Event. -/// -/// -/// The function to be invoked. -/// -/// - - return this.bind( o, f ); - }; -jQuery.prototype.ajaxSend = function( f ){ -/// -/// Attach a function to be executed before an Ajax request is sent. This is an Ajax Event. -/// -/// -/// The function to be invoked. -/// -/// - - return this.bind( o, f ); - }; -jQuery.prototype.ajaxStart = function( f ){ -/// -/// Register a handler to be called when the first Ajax request begins. This is an Ajax Event. -/// -/// -/// The function to be invoked. -/// -/// - - return this.bind( o, f ); - }; -jQuery.prototype.ajaxStop = function( f ){ -/// -/// Register a handler to be called when all Ajax requests have completed. This is an Ajax Event. -/// -/// -/// The function to be invoked. -/// -/// - - return this.bind( o, f ); - }; -jQuery.prototype.ajaxSuccess = function( f ){ -/// -/// Attach a function to be executed whenever an Ajax request completes successfully. This is an Ajax Event. -/// -/// -/// The function to be invoked. -/// -/// - - return this.bind( o, f ); - }; -jQuery.prototype.andSelf = function() { -/// -/// Add the previous set of elements on the stack to the current set. -/// -/// - - return this.add( this.prevObject ); - }; -jQuery.prototype.animate = function( prop, speed, easing, callback ) { -/// -/// Perform a custom animation of a set of CSS properties. -/// 1 - animate(properties, duration, easing, complete) -/// 2 - animate(properties, options) -/// -/// -/// A map of CSS properties that the animation will move toward. -/// -/// -/// A string or number determining how long the animation will run. -/// -/// -/// A string indicating which easing function to use for the transition. -/// -/// -/// A function to call once the animation is complete. -/// -/// - - var optall = jQuery.speed(speed, easing, callback); - - if ( jQuery.isEmptyObject( prop ) ) { - return this.each( optall.complete, [ false ] ); - } - - // Do not change referenced properties as per-property easing will be lost - prop = jQuery.extend( {}, prop ); - - return this[ optall.queue === false ? "each" : "queue" ](function() { - // XXX 'this' does not always have a nodeName when running the - // test suite - - if ( optall.queue === false ) { - jQuery._mark( this ); - } - - var opt = jQuery.extend( {}, optall ), - isElement = this.nodeType === 1, - hidden = isElement && jQuery(this).is(":hidden"), - name, val, p, - display, e, - parts, start, end, unit; - - // will store per property easing and be used to determine when an animation is complete - opt.animatedProperties = {}; - - for ( p in prop ) { - - // property name normalization - name = jQuery.camelCase( p ); - if ( p !== name ) { - prop[ name ] = prop[ p ]; - delete prop[ p ]; - } - - val = prop[ name ]; - - // easing resolution: per property > opt.specialEasing > opt.easing > 'swing' (default) - if ( jQuery.isArray( val ) ) { - opt.animatedProperties[ name ] = val[ 1 ]; - val = prop[ name ] = val[ 0 ]; - } else { - opt.animatedProperties[ name ] = opt.specialEasing && opt.specialEasing[ name ] || opt.easing || 'swing'; - } - - if ( val === "hide" && hidden || val === "show" && !hidden ) { - return opt.complete.call( this ); - } - - if ( isElement && ( name === "height" || name === "width" ) ) { - // Make sure that nothing sneaks out - // Record all 3 overflow attributes because IE does not - // change the overflow attribute when overflowX and - // overflowY are set to the same value - opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ]; - - // Set display property to inline-block for height/width - // animations on inline elements that are having width/height - // animated - if ( jQuery.css( this, "display" ) === "inline" && - jQuery.css( this, "float" ) === "none" ) { - if ( !jQuery.support.inlineBlockNeedsLayout ) { - this.style.display = "inline-block"; - - } else { - display = defaultDisplay( this.nodeName ); - - // inline-level elements accept inline-block; - // block-level elements need to be inline with layout - if ( display === "inline" ) { - this.style.display = "inline-block"; - - } else { - this.style.display = "inline"; - this.style.zoom = 1; - } - } - } - } - } - - if ( opt.overflow != null ) { - this.style.overflow = "hidden"; - } - - for ( p in prop ) { - e = new jQuery.fx( this, opt, p ); - val = prop[ p ]; - - if ( rfxtypes.test(val) ) { - e[ val === "toggle" ? hidden ? "show" : "hide" : val ](); - - } else { - parts = rfxnum.exec( val ); - start = e.cur(); - - if ( parts ) { - end = parseFloat( parts[2] ); - unit = parts[3] || ( jQuery.cssNumber[ p ] ? "" : "px" ); - - // We need to compute starting value - if ( unit !== "px" ) { - jQuery.style( this, p, (end || 1) + unit); - start = ((end || 1) / e.cur()) * start; - jQuery.style( this, p, start + unit); - } - - // If a +=/-= token was provided, we're doing a relative animation - if ( parts[1] ) { - end = ( (parts[ 1 ] === "-=" ? -1 : 1) * end ) + start; - } - - e.custom( start, end, unit ); - - } else { - e.custom( start, val, "" ); - } - } - } - - // For JS strict compliance - return true; - }); - }; -jQuery.prototype.append = function() { -/// -/// Insert content, specified by the parameter, to the end of each element in the set of matched elements. -/// 1 - append(content, content) -/// 2 - append(function(index, html)) -/// -/// -/// DOM element, HTML string, or jQuery object to insert at the end of each element in the set of matched elements. -/// -/// -/// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the end of each element in the set of matched elements. -/// -/// - - return this.domManip(arguments, true, function( elem ) { - if ( this.nodeType === 1 ) { - this.appendChild( elem ); - } - }); - }; -jQuery.prototype.appendTo = function( selector ) { -/// -/// Insert every element in the set of matched elements to the end of the target. -/// -/// -/// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted at the end of the element(s) specified by this parameter. -/// -/// - - var ret = [], - insert = jQuery( selector ), - parent = this.length === 1 && this[0].parentNode; - - if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { - insert[ original ]( this[0] ); - return this; - - } else { - for ( var i = 0, l = insert.length; i < l; i++ ) { - var elems = (i > 0 ? this.clone(true) : this).get(); - jQuery( insert[i] )[ original ]( elems ); - ret = ret.concat( elems ); - } - - return this.pushStack( ret, name, insert.selector ); - } - }; -jQuery.prototype.attr = function( name, value ) { -/// -/// 1: Get the value of an attribute for the first element in the set of matched elements. -/// 1.1 - attr(attributeName) -/// 2: Set one or more attributes for the set of matched elements. -/// 2.1 - attr(attributeName, value) -/// 2.2 - attr(map) -/// 2.3 - attr(attributeName, function(index, attr)) -/// -/// -/// The name of the attribute to set. -/// -/// -/// A value to set for the attribute. -/// -/// - - return jQuery.access( this, name, value, true, jQuery.attr ); - }; -jQuery.prototype.before = function() { -/// -/// Insert content, specified by the parameter, before each element in the set of matched elements. -/// 1 - before(content, content) -/// 2 - before(function) -/// -/// -/// HTML string, DOM element, or jQuery object to insert before each element in the set of matched elements. -/// -/// -/// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert before each element in the set of matched elements. -/// -/// - - if ( this[0] && this[0].parentNode ) { - return this.domManip(arguments, false, function( elem ) { - this.parentNode.insertBefore( elem, this ); - }); - } else if ( arguments.length ) { - var set = jQuery(arguments[0]); - set.push.apply( set, this.toArray() ); - return this.pushStack( set, "before", arguments ); - } - }; -jQuery.prototype.bind = function( type, data, fn ) { -/// -/// Attach a handler to an event for the elements. -/// 1 - bind(eventType, eventData, handler(eventObject)) -/// 2 - bind(eventType, eventData, false) -/// 3 - bind(events) -/// -/// -/// A string containing one or more JavaScript event types, such as "click" or "submit," or custom event names. -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - var handler; - - // Handle object literals - if ( typeof type === "object" ) { - for ( var key in type ) { - this[ name ](key, data, type[key], fn); - } - return this; - } - - if ( arguments.length === 2 || data === false ) { - fn = data; - data = undefined; - } - - if ( name === "one" ) { - handler = function( event ) { - jQuery( this ).unbind( event, handler ); - return fn.apply( this, arguments ); - }; - handler.guid = fn.guid || jQuery.guid++; - } else { - handler = fn; - } - - if ( type === "unload" && name !== "one" ) { - this.one( type, data, fn ); - - } else { - for ( var i = 0, l = this.length; i < l; i++ ) { - jQuery.event.add( this[i], type, handler, data ); - } - } - - return this; - }; -jQuery.prototype.blur = function( data, fn ) { -/// -/// Bind an event handler to the "blur" JavaScript event, or trigger that event on an element. -/// 1 - blur(handler(eventObject)) -/// 2 - blur(eventData, handler(eventObject)) -/// 3 - blur() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.change = function( data, fn ) { -/// -/// Bind an event handler to the "change" JavaScript event, or trigger that event on an element. -/// 1 - change(handler(eventObject)) -/// 2 - change(eventData, handler(eventObject)) -/// 3 - change() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.children = function( until, selector ) { -/// -/// Get the children of each element in the set of matched elements, optionally filtered by a selector. -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.clearQueue = function( type ) { -/// -/// Remove from the queue all items that have not yet been run. -/// -/// -/// A string containing the name of the queue. Defaults to fx, the standard effects queue. -/// -/// - - return this.queue( type || "fx", [] ); - }; -jQuery.prototype.click = function( data, fn ) { -/// -/// Bind an event handler to the "click" JavaScript event, or trigger that event on an element. -/// 1 - click(handler(eventObject)) -/// 2 - click(eventData, handler(eventObject)) -/// 3 - click() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.clone = function( dataAndEvents, deepDataAndEvents ) { -/// -/// Create a deep copy of the set of matched elements. -/// 1 - clone(withDataAndEvents) -/// 2 - clone(withDataAndEvents, deepWithDataAndEvents) -/// -/// -/// A Boolean indicating whether event handlers and data should be copied along with the elements. The default value is false. *For 1.5.0 the default value is incorrectly true. This will be changed back to false in 1.5.1 and up. -/// -/// -/// A Boolean indicating whether event handlers and data for all children of the cloned element should be copied. By default its value matches the first argument's value (which defaults to false). -/// -/// - - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function () { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }; -jQuery.prototype.closest = function( selectors, context ) { -/// -/// 1: Get the first ancestor element that matches the selector, beginning at the current element and progressing up through the DOM tree. -/// 1.1 - closest(selector) -/// 1.2 - closest(selector, context) -/// 1.3 - closest(jQuery object) -/// 1.4 - closest(element) -/// 2: Gets an array of all the elements and selectors matched against the current element up through the DOM tree. -/// 2.1 - closest(selectors, context) -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// -/// A DOM element within which a matching element may be found. If no context is passed in then the context of the jQuery set will be used instead. -/// -/// - - var ret = [], i, l, cur = this[0]; - - // Array - if ( jQuery.isArray( selectors ) ) { - var match, selector, - matches = {}, - level = 1; - - if ( cur && selectors.length ) { - for ( i = 0, l = selectors.length; i < l; i++ ) { - selector = selectors[i]; - - if ( !matches[ selector ] ) { - matches[ selector ] = POS.test( selector ) ? - jQuery( selector, context || this.context ) : - selector; - } - } - - while ( cur && cur.ownerDocument && cur !== context ) { - for ( selector in matches ) { - match = matches[ selector ]; - - if ( match.jquery ? match.index( cur ) > -1 : jQuery( cur ).is( match ) ) { - ret.push({ selector: selector, elem: cur, level: level }); - } - } - - cur = cur.parentNode; - level++; - } - } - - return ret; - } - - // String - var pos = POS.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( i = 0, l = this.length; i < l; i++ ) { - cur = this[i]; - - while ( cur ) { - if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { - ret.push( cur ); - break; - - } else { - cur = cur.parentNode; - if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) { - break; - } - } - } - } - - ret = ret.length > 1 ? jQuery.unique( ret ) : ret; - - return this.pushStack( ret, "closest", selectors ); - }; -jQuery.prototype.constructor = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context, rootjQuery ); - }; -jQuery.prototype.contents = function( until, selector ) { -/// -/// Get the children of each element in the set of matched elements, including text and comment nodes. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.css = function( name, value ) { -/// -/// 1: Get the value of a style property for the first element in the set of matched elements. -/// 1.1 - css(propertyName) -/// 2: Set one or more CSS properties for the set of matched elements. -/// 2.1 - css(propertyName, value) -/// 2.2 - css(propertyName, function(index, value)) -/// 2.3 - css(map) -/// -/// -/// A CSS property name. -/// -/// -/// A value to set for the property. -/// -/// - - // Setting 'undefined' is a no-op - if ( arguments.length === 2 && value === undefined ) { - return this; - } - - return jQuery.access( this, name, value, true, function( elem, name, value ) { - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }); -}; -jQuery.prototype.data = function( key, value ) { -/// -/// 1: Store arbitrary data associated with the matched elements. -/// 1.1 - data(key, value) -/// 1.2 - data(obj) -/// 2: Returns value at named data store for the first element in the jQuery collection, as set by data(name, value). -/// 2.1 - data(key) -/// 2.2 - data() -/// -/// -/// A string naming the piece of data to set. -/// -/// -/// The new data value; it can be any Javascript type including Array or Object. -/// -/// - - var data = null; - - if ( typeof key === "undefined" ) { - if ( this.length ) { - data = jQuery.data( this[0] ); - - if ( this[0].nodeType === 1 ) { - var attr = this[0].attributes, name; - for ( var i = 0, l = attr.length; i < l; i++ ) { - name = attr[i].name; - - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.substring(5) ); - - dataAttr( this[0], name, data[ name ] ); - } - } - } - } - - return data; - - } else if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - var parts = key.split("."); - parts[1] = parts[1] ? "." + parts[1] : ""; - - if ( value === undefined ) { - data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); - - // Try to fetch any internally stored data first - if ( data === undefined && this.length ) { - data = jQuery.data( this[0], key ); - data = dataAttr( this[0], key, data ); - } - - return data === undefined && parts[1] ? - this.data( parts[0] ) : - data; - - } else { - return this.each(function() { - var $this = jQuery( this ), - args = [ parts[0], value ]; - - $this.triggerHandler( "setData" + parts[1] + "!", args ); - jQuery.data( this, key, value ); - $this.triggerHandler( "changeData" + parts[1] + "!", args ); - }); - } - }; -jQuery.prototype.dblclick = function( data, fn ) { -/// -/// Bind an event handler to the "dblclick" JavaScript event, or trigger that event on an element. -/// 1 - dblclick(handler(eventObject)) -/// 2 - dblclick(eventData, handler(eventObject)) -/// 3 - dblclick() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.delay = function( time, type ) { -/// -/// Set a timer to delay execution of subsequent items in the queue. -/// -/// -/// An integer indicating the number of milliseconds to delay execution of the next item in the queue. -/// -/// -/// A string containing the name of the queue. Defaults to fx, the standard effects queue. -/// -/// - - time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; - type = type || "fx"; - - return this.queue( type, function() { - var elem = this; - setTimeout(function() { - jQuery.dequeue( elem, type ); - }, time ); - }); - }; -jQuery.prototype.delegate = function( selector, types, data, fn ) { -/// -/// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. -/// 1 - delegate(selector, eventType, handler) -/// 2 - delegate(selector, eventType, eventData, handler) -/// 3 - delegate(selector, events) -/// -/// -/// A selector to filter the elements that trigger the event. -/// -/// -/// A string containing one or more space-separated JavaScript event types, such as "click" or "keydown," or custom event names. -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute at the time the event is triggered. -/// -/// - - return this.live( types, data, fn, selector ); - }; -jQuery.prototype.dequeue = function( type ) { -/// -/// Execute the next function on the queue for the matched elements. -/// -/// -/// A string containing the name of the queue. Defaults to fx, the standard effects queue. -/// -/// - - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }; -jQuery.prototype.detach = function( selector ) { -/// -/// Remove the set of matched elements from the DOM. -/// -/// -/// A selector expression that filters the set of matched elements to be removed. -/// -/// - - return this.remove( selector, true ); - }; -jQuery.prototype.die = function( types, data, fn, origSelector /* Internal Use Only */ ) { -/// -/// 1: Remove all event handlers previously attached using .live() from the elements. -/// 1.1 - die() -/// 2: Remove an event handler previously attached using .live() from the elements. -/// 2.1 - die(eventType, handler) -/// 2.2 - die(eventTypes) -/// -/// -/// A string containing a JavaScript event type, such as click or keydown. -/// -/// -/// The function that is no longer to be executed. -/// -/// - - var type, i = 0, match, namespaces, preType, - selector = origSelector || this.selector, - context = origSelector ? this : jQuery( this.context ); - - if ( typeof types === "object" && !types.preventDefault ) { - for ( var key in types ) { - context[ name ]( key, data, types[key], selector ); - } - - return this; - } - - if ( name === "die" && !types && - origSelector && origSelector.charAt(0) === "." ) { - - context.unbind( origSelector ); - - return this; - } - - if ( data === false || jQuery.isFunction( data ) ) { - fn = data || returnFalse; - data = undefined; - } - - types = (types || "").split(" "); - - while ( (type = types[ i++ ]) != null ) { - match = rnamespaces.exec( type ); - namespaces = ""; - - if ( match ) { - namespaces = match[0]; - type = type.replace( rnamespaces, "" ); - } - - if ( type === "hover" ) { - types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); - continue; - } - - preType = type; - - if ( liveMap[ type ] ) { - types.push( liveMap[ type ] + namespaces ); - type = type + namespaces; - - } else { - type = (liveMap[ type ] || type) + namespaces; - } - - if ( name === "live" ) { - // bind live handler - for ( var j = 0, l = context.length; j < l; j++ ) { - jQuery.event.add( context[j], "live." + liveConvert( type, selector ), - { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); - } - - } else { - // unbind live handler - context.unbind( "live." + liveConvert( type, selector ), fn ); - } - } - - return this; - }; -jQuery.prototype.domManip = function( args, table, callback ) { - - var results, first, fragment, parent, - value = args[0], - scripts = []; - - // We can't cloneNode fragments that contain checked, in WebKit - if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) { - return this.each(function() { - jQuery(this).domManip( args, table, callback, true ); - }); - } - - if ( jQuery.isFunction(value) ) { - return this.each(function(i) { - var self = jQuery(this); - args[0] = value.call(this, i, table ? self.html() : undefined); - self.domManip( args, table, callback ); - }); - } - - if ( this[0] ) { - parent = value && value.parentNode; - - // If we're in a fragment, just use that instead of building a new one - if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) { - results = { fragment: parent }; - - } else { - results = jQuery.buildFragment( args, this, scripts ); - } - - fragment = results.fragment; - - if ( fragment.childNodes.length === 1 ) { - first = fragment = fragment.firstChild; - } else { - first = fragment.firstChild; - } - - if ( first ) { - table = table && jQuery.nodeName( first, "tr" ); - - for ( var i = 0, l = this.length, lastIndex = l - 1; i < l; i++ ) { - callback.call( - table ? - root(this[i], first) : - this[i], - // Make sure that we do not leak memory by inadvertently discarding - // the original fragment (which might have attached data) instead of - // using it; in addition, use the original fragment object for the last - // item instead of first because it can end up being emptied incorrectly - // in certain situations (Bug #8070). - // Fragments from the fragment cache must always be cloned and never used - // in place. - results.cacheable || (l > 1 && i < lastIndex) ? - jQuery.clone( fragment, true, true ) : - fragment - ); - } - } - - if ( scripts.length ) { - jQuery.each( scripts, evalScript ); - } - } - - return this; - }; -jQuery.prototype.each = function( callback, args ) { -/// -/// Iterate over a jQuery object, executing a function for each matched element. -/// -/// -/// A function to execute for each matched element. -/// -/// - - return jQuery.each( this, callback, args ); - }; -jQuery.prototype.empty = function() { -/// -/// Remove all child nodes of the set of matched elements from the DOM. -/// -/// - - for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( elem.getElementsByTagName("*") ); - } - - // Remove any remaining nodes - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - } - - return this; - }; -jQuery.prototype.end = function() { -/// -/// End the most recent filtering operation in the current chain and return the set of matched elements to its previous state. -/// -/// - - return this.prevObject || this.constructor(null); - }; -jQuery.prototype.eq = function( i ) { -/// -/// Reduce the set of matched elements to the one at the specified index. -/// 1 - eq(index) -/// 2 - eq(-index) -/// -/// -/// An integer indicating the 0-based position of the element. -/// -/// - - return i === -1 ? - this.slice( i ) : - this.slice( i, +i + 1 ); - }; -jQuery.prototype.error = function( data, fn ) { -/// -/// Bind an event handler to the "error" JavaScript event. -/// 1 - error(handler(eventObject)) -/// 2 - error(eventData, handler(eventObject)) -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.extend = function() { - - var options, name, src, copy, copyIsArray, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( length === i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; -jQuery.prototype.fadeIn = function( speed, easing, callback ) { -/// -/// Display the matched elements by fading them to opaque. -/// 1 - fadeIn(duration, callback) -/// 2 - fadeIn(duration, easing, callback) -/// -/// -/// A string or number determining how long the animation will run. -/// -/// -/// A string indicating which easing function to use for the transition. -/// -/// -/// A function to call once the animation is complete. -/// -/// - - return this.animate( props, speed, easing, callback ); - }; -jQuery.prototype.fadeOut = function( speed, easing, callback ) { -/// -/// Hide the matched elements by fading them to transparent. -/// 1 - fadeOut(duration, callback) -/// 2 - fadeOut(duration, easing, callback) -/// -/// -/// A string or number determining how long the animation will run. -/// -/// -/// A string indicating which easing function to use for the transition. -/// -/// -/// A function to call once the animation is complete. -/// -/// - - return this.animate( props, speed, easing, callback ); - }; -jQuery.prototype.fadeTo = function( speed, to, easing, callback ) { -/// -/// Adjust the opacity of the matched elements. -/// 1 - fadeTo(duration, opacity, callback) -/// 2 - fadeTo(duration, opacity, easing, callback) -/// -/// -/// A string or number determining how long the animation will run. -/// -/// -/// A number between 0 and 1 denoting the target opacity. -/// -/// -/// A string indicating which easing function to use for the transition. -/// -/// -/// A function to call once the animation is complete. -/// -/// - - return this.filter(":hidden").css("opacity", 0).show().end() - .animate({opacity: to}, speed, easing, callback); - }; -jQuery.prototype.fadeToggle = function( speed, easing, callback ) { -/// -/// Display or hide the matched elements by animating their opacity. -/// -/// -/// A string or number determining how long the animation will run. -/// -/// -/// A string indicating which easing function to use for the transition. -/// -/// -/// A function to call once the animation is complete. -/// -/// - - return this.animate( props, speed, easing, callback ); - }; -jQuery.prototype.filter = function( selector ) { -/// -/// Reduce the set of matched elements to those that match the selector or pass the function's test. -/// 1 - filter(selector) -/// 2 - filter(function(index)) -/// 3 - filter(element) -/// 4 - filter(jQuery object) -/// -/// -/// A string containing a selector expression to match the current set of elements against. -/// -/// - - return this.pushStack( winnow(this, selector, true), "filter", selector ); - }; -jQuery.prototype.find = function( selector ) { -/// -/// Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. -/// 1 - find(selector) -/// 2 - find(jQuery object) -/// 3 - find(element) -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - var self = this, - i, l; - - if ( typeof selector !== "string" ) { - return jQuery( selector ).filter(function() { - for ( i = 0, l = self.length; i < l; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }); - } - - var ret = this.pushStack( "", "find", selector ), - length, n, r; - - for ( i = 0, l = this.length; i < l; i++ ) { - length = ret.length; - jQuery.find( selector, this[i], ret ); - - if ( i > 0 ) { - // Make sure that the results are unique - for ( n = length; n < ret.length; n++ ) { - for ( r = 0; r < length; r++ ) { - if ( ret[r] === ret[n] ) { - ret.splice(n--, 1); - break; - } - } - } - } - } - - return ret; - }; -jQuery.prototype.first = function() { -/// -/// Reduce the set of matched elements to the first in the set. -/// -/// - - return this.eq( 0 ); - }; -jQuery.prototype.focus = function( data, fn ) { -/// -/// Bind an event handler to the "focus" JavaScript event, or trigger that event on an element. -/// 1 - focus(handler(eventObject)) -/// 2 - focus(eventData, handler(eventObject)) -/// 3 - focus() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.focusin = function( data, fn ) { -/// -/// Bind an event handler to the "focusin" JavaScript event. -/// 1 - focusin(handler(eventObject)) -/// 2 - focusin(eventData, handler(eventObject)) -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.focusout = function( data, fn ) { -/// -/// Bind an event handler to the "focusout" JavaScript event. -/// 1 - focusout(handler(eventObject)) -/// 2 - focusout(eventData, handler(eventObject)) -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.get = function( num ) { -/// -/// Retrieve the DOM elements matched by the jQuery object. -/// -/// -/// A zero-based integer indicating which element to retrieve. -/// -/// - - return num == null ? - - // Return a 'clean' array - this.toArray() : - - // Return just the object - ( num < 0 ? this[ this.length + num ] : this[ num ] ); - }; -jQuery.prototype.has = function( target ) { -/// -/// Reduce the set of matched elements to those that have a descendant that matches the selector or DOM element. -/// 1 - has(selector) -/// 2 - has(contained) -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - var targets = jQuery( target ); - return this.filter(function() { - for ( var i = 0, l = targets.length; i < l; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }; -jQuery.prototype.hasClass = function( selector ) { -/// -/// Determine whether any of the matched elements are assigned the given class. -/// -/// -/// The class name to search for. -/// -/// - - var className = " " + selector + " "; - for ( var i = 0, l = this.length; i < l; i++ ) { - if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { - return true; - } - } - - return false; - }; -jQuery.prototype.height = function( size ) { -/// -/// 1: Get the current computed height for the first element in the set of matched elements. -/// 1.1 - height() -/// 2: Set the CSS height of every matched element. -/// 2.1 - height(value) -/// 2.2 - height(function(index, height)) -/// -/// -/// An integer representing the number of pixels, or an integer with an optional unit of measure appended (as a string). -/// -/// - - // Get window width or height - var elem = this[0]; - if ( !elem ) { - return size == null ? null : this; - } - - if ( jQuery.isFunction( size ) ) { - return this.each(function( i ) { - var self = jQuery( this ); - self[ type ]( size.call( this, i, self[ type ]() ) ); - }); - } - - if ( jQuery.isWindow( elem ) ) { - // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode - // 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat - var docElemProp = elem.document.documentElement[ "client" + name ]; - return elem.document.compatMode === "CSS1Compat" && docElemProp || - elem.document.body[ "client" + name ] || docElemProp; - - // Get document width or height - } else if ( elem.nodeType === 9 ) { - // Either scroll[Width/Height] or offset[Width/Height], whichever is greater - return Math.max( - elem.documentElement["client" + name], - elem.body["scroll" + name], elem.documentElement["scroll" + name], - elem.body["offset" + name], elem.documentElement["offset" + name] - ); - - // Get or set width or height on the element - } else if ( size === undefined ) { - var orig = jQuery.css( elem, type ), - ret = parseFloat( orig ); - - return jQuery.isNaN( ret ) ? orig : ret; - - // Set the width or height on the element (default to pixels if value is unitless) - } else { - return this.css( type, typeof size === "string" ? size : size + "px" ); - } - }; -jQuery.prototype.hide = function( speed, easing, callback ) { -/// -/// Hide the matched elements. -/// 1 - hide() -/// 2 - hide(duration, callback) -/// 3 - hide(duration, easing, callback) -/// -/// -/// A string or number determining how long the animation will run. -/// -/// -/// A string indicating which easing function to use for the transition. -/// -/// -/// A function to call once the animation is complete. -/// -/// - - if ( speed || speed === 0 ) { - return this.animate( genFx("hide", 3), speed, easing, callback); - - } else { - for ( var i = 0, j = this.length; i < j; i++ ) { - if ( this[i].style ) { - var display = jQuery.css( this[i], "display" ); - - if ( display !== "none" && !jQuery._data( this[i], "olddisplay" ) ) { - jQuery._data( this[i], "olddisplay", display ); - } - } - } - - // Set the display of the elements in a second loop - // to avoid the constant reflow - for ( i = 0; i < j; i++ ) { - if ( this[i].style ) { - this[i].style.display = "none"; - } - } - - return this; - } - }; -jQuery.prototype.hover = function( fnOver, fnOut ) { -/// -/// 1: Bind two handlers to the matched elements, to be executed when the mouse pointer enters and leaves the elements. -/// 1.1 - hover(handlerIn(eventObject), handlerOut(eventObject)) -/// 2: Bind a single handler to the matched elements, to be executed when the mouse pointer enters or leaves the elements. -/// 2.1 - hover(handlerInOut(eventObject)) -/// -/// -/// A function to execute when the mouse pointer enters the element. -/// -/// -/// A function to execute when the mouse pointer leaves the element. -/// -/// - - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - }; -jQuery.prototype.html = function( value ) { -/// -/// 1: Get the HTML contents of the first element in the set of matched elements. -/// 1.1 - html() -/// 2: Set the HTML contents of each element in the set of matched elements. -/// 2.1 - html(htmlString) -/// 2.2 - html(function(index, oldhtml)) -/// -/// -/// A string of HTML to set as the content of each matched element. -/// -/// - - if ( value === undefined ) { - return this[0] && this[0].nodeType === 1 ? - this[0].innerHTML.replace(rinlinejQuery, "") : - null; - - // See if we can take a shortcut and just use innerHTML - } else if ( typeof value === "string" && !rnocache.test( value ) && - (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) && - !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) { - - value = value.replace(rxhtmlTag, "<$1>"); - - try { - for ( var i = 0, l = this.length; i < l; i++ ) { - // Remove element nodes and prevent memory leaks - if ( this[i].nodeType === 1 ) { - jQuery.cleanData( this[i].getElementsByTagName("*") ); - this[i].innerHTML = value; - } - } - - // If using innerHTML throws an exception, use the fallback method - } catch(e) { - this.empty().append( value ); - } - - } else if ( jQuery.isFunction( value ) ) { - this.each(function(i){ - var self = jQuery( this ); - - self.html( value.call(this, i, self.html()) ); - }); - - } else { - this.empty().append( value ); - } - - return this; - }; -jQuery.prototype.index = function( elem ) { -/// -/// Search for a given element from among the matched elements. -/// 1 - index() -/// 2 - index(selector) -/// 3 - index(element) -/// -/// -/// A selector representing a jQuery collection in which to look for an element. -/// -/// - - if ( !elem || typeof elem === "string" ) { - return jQuery.inArray( this[0], - // If it receives a string, the selector is used - // If it receives nothing, the siblings are used - elem ? jQuery( elem ) : this.parent().children() ); - } - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }; -jQuery.prototype.init = function( selector, context, rootjQuery ) { - - var match, elem, ret, doc; - - // Handle $(""), $(null), or $(undefined) - if ( !selector ) { - return this; - } - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - } - - // The body element only exists once, optimize finding it - if ( selector === "body" && !context && document.body ) { - this.context = document; - this[0] = document.body; - this.selector = selector; - this.length = 1; - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - // Are we dealing with HTML string or an ID? - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = quickExpr.exec( selector ); - } - - // Verify a match, and that no context was specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - doc = (context ? context.ownerDocument || context : document); - - // If a single string is passed in and it's a single tag - // just do a createElement and skip the rest - ret = rsingleTag.exec( selector ); - - if ( ret ) { - if ( jQuery.isPlainObject( context ) ) { - selector = [ document.createElement( ret[1] ) ]; - jQuery.fn.attr.call( selector, context, true ); - - } else { - selector = [ doc.createElement( ret[1] ) ]; - } - - } else { - ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); - selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; - } - - return jQuery.merge( this, selector ); - - // HANDLE: $("#id") - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return (context || rootjQuery).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return rootjQuery.ready( selector ); - } - - if (selector.selector !== undefined) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }; -jQuery.prototype.innerHeight = function() { -/// -/// Get the current computed height for the first element in the set of matched elements, including padding but not border. -/// -/// - - return this[0] ? - parseFloat( jQuery.css( this[0], type, "padding" ) ) : - null; - }; -jQuery.prototype.innerWidth = function() { -/// -/// Get the current computed width for the first element in the set of matched elements, including padding but not border. -/// -/// - - return this[0] ? - parseFloat( jQuery.css( this[0], type, "padding" ) ) : - null; - }; -jQuery.prototype.insertAfter = function( selector ) { -/// -/// Insert every element in the set of matched elements after the target. -/// -/// -/// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted after the element(s) specified by this parameter. -/// -/// - - var ret = [], - insert = jQuery( selector ), - parent = this.length === 1 && this[0].parentNode; - - if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { - insert[ original ]( this[0] ); - return this; - - } else { - for ( var i = 0, l = insert.length; i < l; i++ ) { - var elems = (i > 0 ? this.clone(true) : this).get(); - jQuery( insert[i] )[ original ]( elems ); - ret = ret.concat( elems ); - } - - return this.pushStack( ret, name, insert.selector ); - } - }; -jQuery.prototype.insertBefore = function( selector ) { -/// -/// Insert every element in the set of matched elements before the target. -/// -/// -/// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted before the element(s) specified by this parameter. -/// -/// - - var ret = [], - insert = jQuery( selector ), - parent = this.length === 1 && this[0].parentNode; - - if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { - insert[ original ]( this[0] ); - return this; - - } else { - for ( var i = 0, l = insert.length; i < l; i++ ) { - var elems = (i > 0 ? this.clone(true) : this).get(); - jQuery( insert[i] )[ original ]( elems ); - ret = ret.concat( elems ); - } - - return this.pushStack( ret, name, insert.selector ); - } - }; -jQuery.prototype.is = function( selector ) { -/// -/// Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. -/// 1 - is(selector) -/// 2 - is(function(index)) -/// 3 - is(jQuery object) -/// 4 - is(element) -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - return !!selector && ( typeof selector === "string" ? - jQuery.filter( selector, this ).length > 0 : - this.filter( selector ).length > 0 ); - }; -jQuery.prototype.keydown = function( data, fn ) { -/// -/// Bind an event handler to the "keydown" JavaScript event, or trigger that event on an element. -/// 1 - keydown(handler(eventObject)) -/// 2 - keydown(eventData, handler(eventObject)) -/// 3 - keydown() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.keypress = function( data, fn ) { -/// -/// Bind an event handler to the "keypress" JavaScript event, or trigger that event on an element. -/// 1 - keypress(handler(eventObject)) -/// 2 - keypress(eventData, handler(eventObject)) -/// 3 - keypress() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.keyup = function( data, fn ) { -/// -/// Bind an event handler to the "keyup" JavaScript event, or trigger that event on an element. -/// 1 - keyup(handler(eventObject)) -/// 2 - keyup(eventData, handler(eventObject)) -/// 3 - keyup() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.last = function() { -/// -/// Reduce the set of matched elements to the final one in the set. -/// -/// - - return this.eq( -1 ); - }; -jQuery.prototype.length = 0; -jQuery.prototype.live = function( types, data, fn, origSelector /* Internal Use Only */ ) { -/// -/// Attach a handler to the event for all elements which match the current selector, now and in the future. -/// 1 - live(eventType, handler) -/// 2 - live(eventType, eventData, handler) -/// 3 - live(events) -/// -/// -/// A string containing a JavaScript event type, such as "click" or "keydown." As of jQuery 1.4 the string can contain multiple, space-separated event types or custom event names, as well. -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute at the time the event is triggered. -/// -/// - - var type, i = 0, match, namespaces, preType, - selector = origSelector || this.selector, - context = origSelector ? this : jQuery( this.context ); - - if ( typeof types === "object" && !types.preventDefault ) { - for ( var key in types ) { - context[ name ]( key, data, types[key], selector ); - } - - return this; - } - - if ( name === "die" && !types && - origSelector && origSelector.charAt(0) === "." ) { - - context.unbind( origSelector ); - - return this; - } - - if ( data === false || jQuery.isFunction( data ) ) { - fn = data || returnFalse; - data = undefined; - } - - types = (types || "").split(" "); - - while ( (type = types[ i++ ]) != null ) { - match = rnamespaces.exec( type ); - namespaces = ""; - - if ( match ) { - namespaces = match[0]; - type = type.replace( rnamespaces, "" ); - } - - if ( type === "hover" ) { - types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); - continue; - } - - preType = type; - - if ( liveMap[ type ] ) { - types.push( liveMap[ type ] + namespaces ); - type = type + namespaces; - - } else { - type = (liveMap[ type ] || type) + namespaces; - } - - if ( name === "live" ) { - // bind live handler - for ( var j = 0, l = context.length; j < l; j++ ) { - jQuery.event.add( context[j], "live." + liveConvert( type, selector ), - { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); - } - - } else { - // unbind live handler - context.unbind( "live." + liveConvert( type, selector ), fn ); - } - } - - return this; - }; -jQuery.prototype.load = function( url, params, callback ) { -/// -/// 1: Bind an event handler to the "load" JavaScript event. -/// 1.1 - load(handler(eventObject)) -/// 1.2 - load(eventData, handler(eventObject)) -/// 2: Load data from the server and place the returned HTML into the matched element. -/// 2.1 - load(url, data, complete(responseText, textStatus, XMLHttpRequest)) -/// -/// -/// A string containing the URL to which the request is sent. -/// -/// -/// A map or string that is sent to the server with the request. -/// -/// -/// A callback function that is executed when the request completes. -/// -/// - - if ( typeof url !== "string" && _load ) { - return _load.apply( this, arguments ); - - // Don't do a request if no elements are being requested - } else if ( !this.length ) { - return this; - } - - var off = url.indexOf( " " ); - if ( off >= 0 ) { - var selector = url.slice( off, url.length ); - url = url.slice( 0, off ); - } - - // Default to a GET request - var type = "GET"; - - // If the second parameter was provided - if ( params ) { - // If it's a function - if ( jQuery.isFunction( params ) ) { - // We assume that it's the callback - callback = params; - params = undefined; - - // Otherwise, build a param string - } else if ( typeof params === "object" ) { - params = jQuery.param( params, jQuery.ajaxSettings.traditional ); - type = "POST"; - } - } - - var self = this; - - // Request the remote document - jQuery.ajax({ - url: url, - type: type, - dataType: "html", - data: params, - // Complete callback (responseText is used internally) - complete: function( jqXHR, status, responseText ) { - // Store the response as specified by the jqXHR object - responseText = jqXHR.responseText; - // If successful, inject the HTML into all the matched elements - if ( jqXHR.isResolved() ) { - // #4825: Get the actual response in case - // a dataFilter is present in ajaxSettings - jqXHR.done(function( r ) { - responseText = r; - }); - // See if a selector was specified - self.html( selector ? - // Create a dummy div to hold the results - jQuery("
    ") - // inject the contents of the document in, removing the scripts - // to avoid any 'Permission Denied' errors in IE - .append(responseText.replace(rscript, "")) - - // Locate the specified elements - .find(selector) : - - // If not, just inject the full result - responseText ); - } - - if ( callback ) { - self.each( callback, [ responseText, status, jqXHR ] ); - } - } - }); - - return this; - }; -jQuery.prototype.map = function( callback ) { -/// -/// Pass each element in the current matched set through a function, producing a new jQuery object containing the return values. -/// -/// -/// A function object that will be invoked for each element in the current set. -/// -/// - - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }; -jQuery.prototype.mousedown = function( data, fn ) { -/// -/// Bind an event handler to the "mousedown" JavaScript event, or trigger that event on an element. -/// 1 - mousedown(handler(eventObject)) -/// 2 - mousedown(eventData, handler(eventObject)) -/// 3 - mousedown() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.mouseenter = function( data, fn ) { -/// -/// Bind an event handler to be fired when the mouse enters an element, or trigger that handler on an element. -/// 1 - mouseenter(handler(eventObject)) -/// 2 - mouseenter(eventData, handler(eventObject)) -/// 3 - mouseenter() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.mouseleave = function( data, fn ) { -/// -/// Bind an event handler to be fired when the mouse leaves an element, or trigger that handler on an element. -/// 1 - mouseleave(handler(eventObject)) -/// 2 - mouseleave(eventData, handler(eventObject)) -/// 3 - mouseleave() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.mousemove = function( data, fn ) { -/// -/// Bind an event handler to the "mousemove" JavaScript event, or trigger that event on an element. -/// 1 - mousemove(handler(eventObject)) -/// 2 - mousemove(eventData, handler(eventObject)) -/// 3 - mousemove() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.mouseout = function( data, fn ) { -/// -/// Bind an event handler to the "mouseout" JavaScript event, or trigger that event on an element. -/// 1 - mouseout(handler(eventObject)) -/// 2 - mouseout(eventData, handler(eventObject)) -/// 3 - mouseout() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.mouseover = function( data, fn ) { -/// -/// Bind an event handler to the "mouseover" JavaScript event, or trigger that event on an element. -/// 1 - mouseover(handler(eventObject)) -/// 2 - mouseover(eventData, handler(eventObject)) -/// 3 - mouseover() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.mouseup = function( data, fn ) { -/// -/// Bind an event handler to the "mouseup" JavaScript event, or trigger that event on an element. -/// 1 - mouseup(handler(eventObject)) -/// 2 - mouseup(eventData, handler(eventObject)) -/// 3 - mouseup() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.next = function( until, selector ) { -/// -/// Get the immediately following sibling of each element in the set of matched elements. If a selector is provided, it retrieves the next sibling only if it matches that selector. -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.nextAll = function( until, selector ) { -/// -/// Get all following siblings of each element in the set of matched elements, optionally filtered by a selector. -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.nextUntil = function( until, selector ) { -/// -/// Get all following siblings of each element up to but not including the element matched by the selector. -/// -/// -/// A string containing a selector expression to indicate where to stop matching following sibling elements. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.not = function( selector ) { -/// -/// Remove elements from the set of matched elements. -/// 1 - not(selector) -/// 2 - not(elements) -/// 3 - not(function(index)) -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - return this.pushStack( winnow(this, selector, false), "not", selector); - }; -jQuery.prototype.offset = function( options ) { -/// -/// 1: Get the current coordinates of the first element in the set of matched elements, relative to the document. -/// 1.1 - offset() -/// 2: Set the current coordinates of every element in the set of matched elements, relative to the document. -/// 2.1 - offset(coordinates) -/// 2.2 - offset(function(index, coords)) -/// -/// -/// An object containing the properties top and left, which are integers indicating the new top and left coordinates for the elements. -/// -/// - - var elem = this[0], box; - - if ( options ) { - return this.each(function( i ) { - jQuery.offset.setOffset( this, options, i ); - }); - } - - if ( !elem || !elem.ownerDocument ) { - return null; - } - - if ( elem === elem.ownerDocument.body ) { - return jQuery.offset.bodyOffset( elem ); - } - - try { - box = elem.getBoundingClientRect(); - } catch(e) {} - - var doc = elem.ownerDocument, - docElem = doc.documentElement; - - // Make sure we're not dealing with a disconnected DOM node - if ( !box || !jQuery.contains( docElem, elem ) ) { - return box ? { top: box.top, left: box.left } : { top: 0, left: 0 }; - } - - var body = doc.body, - win = getWindow(doc), - clientTop = docElem.clientTop || body.clientTop || 0, - clientLeft = docElem.clientLeft || body.clientLeft || 0, - scrollTop = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop, - scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft, - top = box.top + scrollTop - clientTop, - left = box.left + scrollLeft - clientLeft; - - return { top: top, left: left }; - }; -jQuery.prototype.offsetParent = function() { -/// -/// Get the closest ancestor element that is positioned. -/// -/// - - return this.map(function() { - var offsetParent = this.offsetParent || document.body; - while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { - offsetParent = offsetParent.offsetParent; - } - return offsetParent; - }); - }; -jQuery.prototype.one = function( type, data, fn ) { -/// -/// Attach a handler to an event for the elements. The handler is executed at most once per element. -/// -/// -/// A string containing one or more JavaScript event types, such as "click" or "submit," or custom event names. -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute at the time the event is triggered. -/// -/// - - var handler; - - // Handle object literals - if ( typeof type === "object" ) { - for ( var key in type ) { - this[ name ](key, data, type[key], fn); - } - return this; - } - - if ( arguments.length === 2 || data === false ) { - fn = data; - data = undefined; - } - - if ( name === "one" ) { - handler = function( event ) { - jQuery( this ).unbind( event, handler ); - return fn.apply( this, arguments ); - }; - handler.guid = fn.guid || jQuery.guid++; - } else { - handler = fn; - } - - if ( type === "unload" && name !== "one" ) { - this.one( type, data, fn ); - - } else { - for ( var i = 0, l = this.length; i < l; i++ ) { - jQuery.event.add( this[i], type, handler, data ); - } - } - - return this; - }; -jQuery.prototype.outerHeight = function( margin ) { -/// -/// Get the current computed height for the first element in the set of matched elements, including padding, border, and optionally margin. -/// -/// -/// A Boolean indicating whether to include the element's margin in the calculation. -/// -/// - - return this[0] ? - parseFloat( jQuery.css( this[0], type, margin ? "margin" : "border" ) ) : - null; - }; -jQuery.prototype.outerWidth = function( margin ) { -/// -/// Get the current computed width for the first element in the set of matched elements, including padding and border. -/// -/// -/// A Boolean indicating whether to include the element's margin in the calculation. -/// -/// - - return this[0] ? - parseFloat( jQuery.css( this[0], type, margin ? "margin" : "border" ) ) : - null; - }; -jQuery.prototype.parent = function( until, selector ) { -/// -/// Get the parent of each element in the current set of matched elements, optionally filtered by a selector. -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.parents = function( until, selector ) { -/// -/// Get the ancestors of each element in the current set of matched elements, optionally filtered by a selector. -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.parentsUntil = function( until, selector ) { -/// -/// Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector. -/// -/// -/// A string containing a selector expression to indicate where to stop matching ancestor elements. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.position = function() { -/// -/// Get the current coordinates of the first element in the set of matched elements, relative to the offset parent. -/// -/// - - if ( !this[0] ) { - return null; - } - - var elem = this[0], - - // Get *real* offsetParent - offsetParent = this.offsetParent(), - - // Get correct offsets - offset = this.offset(), - parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); - - // Subtract element margins - // note: when an element has margin: auto the offsetLeft and marginLeft - // are the same in Safari causing offset.left to incorrectly be 0 - offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0; - offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0; - - // Add offsetParent borders - parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0; - parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0; - - // Subtract the two offsets - return { - top: offset.top - parentOffset.top, - left: offset.left - parentOffset.left - }; - }; -jQuery.prototype.prepend = function() { -/// -/// Insert content, specified by the parameter, to the beginning of each element in the set of matched elements. -/// 1 - prepend(content, content) -/// 2 - prepend(function(index, html)) -/// -/// -/// DOM element, array of elements, HTML string, or jQuery object to insert at the beginning of each element in the set of matched elements. -/// -/// -/// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the beginning of each element in the set of matched elements. -/// -/// - - return this.domManip(arguments, true, function( elem ) { - if ( this.nodeType === 1 ) { - this.insertBefore( elem, this.firstChild ); - } - }); - }; -jQuery.prototype.prependTo = function( selector ) { -/// -/// Insert every element in the set of matched elements to the beginning of the target. -/// -/// -/// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted at the beginning of the element(s) specified by this parameter. -/// -/// - - var ret = [], - insert = jQuery( selector ), - parent = this.length === 1 && this[0].parentNode; - - if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { - insert[ original ]( this[0] ); - return this; - - } else { - for ( var i = 0, l = insert.length; i < l; i++ ) { - var elems = (i > 0 ? this.clone(true) : this).get(); - jQuery( insert[i] )[ original ]( elems ); - ret = ret.concat( elems ); - } - - return this.pushStack( ret, name, insert.selector ); - } - }; -jQuery.prototype.prev = function( until, selector ) { -/// -/// Get the immediately preceding sibling of each element in the set of matched elements, optionally filtered by a selector. -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.prevAll = function( until, selector ) { -/// -/// Get all preceding siblings of each element in the set of matched elements, optionally filtered by a selector. -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.prevUntil = function( until, selector ) { -/// -/// Get all preceding siblings of each element up to but not including the element matched by the selector. -/// -/// -/// A string containing a selector expression to indicate where to stop matching preceding sibling elements. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.promise = function( type, object ) { -/// -/// Return a Promise object to observe when all actions of a certain type bound to the collection, queued or not, have finished. -/// -/// -/// The type of queue that needs to be observed. -/// -/// -/// Object onto which the promise methods have to be attached -/// -/// - - if ( typeof type !== "string" ) { - object = type; - type = undefined; - } - type = type || "fx"; - var defer = jQuery.Deferred(), - elements = this, - i = elements.length, - count = 1, - deferDataKey = type + "defer", - queueDataKey = type + "queue", - markDataKey = type + "mark", - tmp; - function resolve() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - } - while( i-- ) { - if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) || - ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) || - jQuery.data( elements[ i ], markDataKey, undefined, true ) ) && - jQuery.data( elements[ i ], deferDataKey, jQuery._Deferred(), true ) )) { - count++; - tmp.done( resolve ); - } - } - resolve(); - return defer.promise(); - }; -jQuery.prototype.prop = function( name, value ) { -/// -/// 1: Get the value of a property for the first element in the set of matched elements. -/// 1.1 - prop(propertyName) -/// 2: Set one or more properties for the set of matched elements. -/// 2.1 - prop(propertyName, value) -/// 2.2 - prop(map) -/// 2.3 - prop(propertyName, function(index, oldPropertyValue)) -/// -/// -/// The name of the property to set. -/// -/// -/// A value to set for the property. -/// -/// - - return jQuery.access( this, name, value, true, jQuery.prop ); - }; -jQuery.prototype.pushStack = function( elems, name, selector ) { -/// -/// Add a collection of DOM elements onto the jQuery stack. -/// 1 - pushStack(elements) -/// 2 - pushStack(elements, name, arguments) -/// -/// -/// An array of elements to push onto the stack and make into a new jQuery object. -/// -/// -/// The name of a jQuery method that generated the array of elements. -/// -/// -/// The arguments that were passed in to the jQuery method (for serialization). -/// -/// - - // Build a new jQuery matched element set - var ret = this.constructor(); - - if ( jQuery.isArray( elems ) ) { - push.apply( ret, elems ); - - } else { - jQuery.merge( ret, elems ); - } - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - ret.context = this.context; - - if ( name === "find" ) { - ret.selector = this.selector + (this.selector ? " " : "") + selector; - } else if ( name ) { - ret.selector = this.selector + "." + name + "(" + selector + ")"; - } - - // Return the newly-formed element set - return ret; - }; -jQuery.prototype.queue = function( type, data ) { -/// -/// 1: Show the queue of functions to be executed on the matched elements. -/// 1.1 - queue(queueName) -/// 2: Manipulate the queue of functions to be executed on the matched elements. -/// 2.1 - queue(queueName, newQueue) -/// 2.2 - queue(queueName, callback( next )) -/// -/// -/// A string containing the name of the queue. Defaults to fx, the standard effects queue. -/// -/// -/// An array of functions to replace the current queue contents. -/// -/// - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - } - - if ( data === undefined ) { - return jQuery.queue( this[0], type ); - } - return this.each(function() { - var queue = jQuery.queue( this, type, data ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }; -jQuery.prototype.ready = function( fn ) { -/// -/// Specify a function to execute when the DOM is fully loaded. -/// -/// -/// A function to execute after the DOM is ready. -/// -/// - - // Attach the listeners - jQuery.bindReady(); - - // Add the callback - readyList.done( fn ); - - return this; - }; -jQuery.prototype.remove = function( selector, keepData ) { -/// -/// Remove the set of matched elements from the DOM. -/// -/// -/// A selector expression that filters the set of matched elements to be removed. -/// -/// - - for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { - if ( !selector || jQuery.filter( selector, [ elem ] ).length ) { - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( elem.getElementsByTagName("*") ); - jQuery.cleanData( [ elem ] ); - } - - if ( elem.parentNode ) { - elem.parentNode.removeChild( elem ); - } - } - } - - return this; - }; -jQuery.prototype.removeAttr = function( name ) { -/// -/// Remove an attribute from each element in the set of matched elements. -/// -/// -/// An attribute to remove. -/// -/// - - return this.each(function() { - jQuery.removeAttr( this, name ); - }); - }; -jQuery.prototype.removeClass = function( value ) { -/// -/// Remove a single class, multiple classes, or all classes from each element in the set of matched elements. -/// 1 - removeClass(className) -/// 2 - removeClass(function(index, class)) -/// -/// -/// One or more space-separated classes to be removed from the class attribute of each matched element. -/// -/// - - if ( jQuery.isFunction(value) ) { - return this.each(function(i) { - var self = jQuery(this); - self.removeClass( value.call(this, i, self.attr("class")) ); - }); - } - - if ( (value && typeof value === "string") || value === undefined ) { - var classNames = (value || "").split( rspace ); - - for ( var i = 0, l = this.length; i < l; i++ ) { - var elem = this[i]; - - if ( elem.nodeType === 1 && elem.className ) { - if ( value ) { - var className = (" " + elem.className + " ").replace(rclass, " "); - for ( var c = 0, cl = classNames.length; c < cl; c++ ) { - className = className.replace(" " + classNames[c] + " ", " "); - } - elem.className = jQuery.trim( className ); - - } else { - elem.className = ""; - } - } - } - } - - return this; - }; -jQuery.prototype.removeData = function( key ) { -/// -/// Remove a previously-stored piece of data. -/// -/// -/// A string naming the piece of data to delete. -/// -/// - - return this.each(function() { - jQuery.removeData( this, key ); - }); - }; -jQuery.prototype.removeProp = function( name ) { -/// -/// Remove a property for the set of matched elements. -/// -/// -/// The name of the property to set. -/// -/// -/// A value to set for the property. -/// -/// - - name = jQuery.propFix[ name ] || name; - return this.each(function() { - // try/catch handles cases where IE balks (such as removing a property on window) - try { - this[ name ] = undefined; - delete this[ name ]; - } catch( e ) {} - }); - }; -jQuery.prototype.replaceAll = function( selector ) { -/// -/// Replace each target element with the set of matched elements. -/// -/// -/// A selector expression indicating which element(s) to replace. -/// -/// - - var ret = [], - insert = jQuery( selector ), - parent = this.length === 1 && this[0].parentNode; - - if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { - insert[ original ]( this[0] ); - return this; - - } else { - for ( var i = 0, l = insert.length; i < l; i++ ) { - var elems = (i > 0 ? this.clone(true) : this).get(); - jQuery( insert[i] )[ original ]( elems ); - ret = ret.concat( elems ); - } - - return this.pushStack( ret, name, insert.selector ); - } - }; -jQuery.prototype.replaceWith = function( value ) { -/// -/// Replace each element in the set of matched elements with the provided new content. -/// 1 - replaceWith(newContent) -/// 2 - replaceWith(function) -/// -/// -/// The content to insert. May be an HTML string, DOM element, or jQuery object. -/// -/// - - if ( this[0] && this[0].parentNode ) { - // Make sure that the elements are removed from the DOM before they are inserted - // this can help fix replacing a parent with child elements - if ( jQuery.isFunction( value ) ) { - return this.each(function(i) { - var self = jQuery(this), old = self.html(); - self.replaceWith( value.call( this, i, old ) ); - }); - } - - if ( typeof value !== "string" ) { - value = jQuery( value ).detach(); - } - - return this.each(function() { - var next = this.nextSibling, - parent = this.parentNode; - - jQuery( this ).remove(); - - if ( next ) { - jQuery(next).before( value ); - } else { - jQuery(parent).append( value ); - } - }); - } else { - return this.length ? - this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) : - this; - } - }; -jQuery.prototype.resize = function( data, fn ) { -/// -/// Bind an event handler to the "resize" JavaScript event, or trigger that event on an element. -/// 1 - resize(handler(eventObject)) -/// 2 - resize(eventData, handler(eventObject)) -/// 3 - resize() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.scroll = function( data, fn ) { -/// -/// Bind an event handler to the "scroll" JavaScript event, or trigger that event on an element. -/// 1 - scroll(handler(eventObject)) -/// 2 - scroll(eventData, handler(eventObject)) -/// 3 - scroll() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.scrollLeft = function( val ) { -/// -/// 1: Get the current horizontal position of the scroll bar for the first element in the set of matched elements. -/// 1.1 - scrollLeft() -/// 2: Set the current horizontal position of the scroll bar for each of the set of matched elements. -/// 2.1 - scrollLeft(value) -/// -/// -/// An integer indicating the new position to set the scroll bar to. -/// -/// - - var elem, win; - - if ( val === undefined ) { - elem = this[ 0 ]; - - if ( !elem ) { - return null; - } - - win = getWindow( elem ); - - // Return the scroll offset - return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] : - jQuery.support.boxModel && win.document.documentElement[ method ] || - win.document.body[ method ] : - elem[ method ]; - } - - // Set the scroll offset - return this.each(function() { - win = getWindow( this ); - - if ( win ) { - win.scrollTo( - !i ? val : jQuery( win ).scrollLeft(), - i ? val : jQuery( win ).scrollTop() - ); - - } else { - this[ method ] = val; - } - }); - }; -jQuery.prototype.scrollTop = function( val ) { -/// -/// 1: Get the current vertical position of the scroll bar for the first element in the set of matched elements. -/// 1.1 - scrollTop() -/// 2: Set the current vertical position of the scroll bar for each of the set of matched elements. -/// 2.1 - scrollTop(value) -/// -/// -/// An integer indicating the new position to set the scroll bar to. -/// -/// - - var elem, win; - - if ( val === undefined ) { - elem = this[ 0 ]; - - if ( !elem ) { - return null; - } - - win = getWindow( elem ); - - // Return the scroll offset - return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] : - jQuery.support.boxModel && win.document.documentElement[ method ] || - win.document.body[ method ] : - elem[ method ]; - } - - // Set the scroll offset - return this.each(function() { - win = getWindow( this ); - - if ( win ) { - win.scrollTo( - !i ? val : jQuery( win ).scrollLeft(), - i ? val : jQuery( win ).scrollTop() - ); - - } else { - this[ method ] = val; - } - }); - }; -jQuery.prototype.select = function( data, fn ) { -/// -/// Bind an event handler to the "select" JavaScript event, or trigger that event on an element. -/// 1 - select(handler(eventObject)) -/// 2 - select(eventData, handler(eventObject)) -/// 3 - select() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.serialize = function() { -/// -/// Encode a set of form elements as a string for submission. -/// -/// - - return jQuery.param( this.serializeArray() ); - }; -jQuery.prototype.serializeArray = function() { -/// -/// Encode a set of form elements as an array of names and values. -/// -/// - - return this.map(function(){ - return this.elements ? jQuery.makeArray( this.elements ) : this; - }) - .filter(function(){ - return this.name && !this.disabled && - ( this.checked || rselectTextarea.test( this.nodeName ) || - rinput.test( this.type ) ); - }) - .map(function( i, elem ){ - var val = jQuery( this ).val(); - - return val == null ? - null : - jQuery.isArray( val ) ? - jQuery.map( val, function( val, i ){ - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }) : - { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }).get(); - }; -jQuery.prototype.show = function( speed, easing, callback ) { -/// -/// Display the matched elements. -/// 1 - show() -/// 2 - show(duration, callback) -/// 3 - show(duration, easing, callback) -/// -/// -/// A string or number determining how long the animation will run. -/// -/// -/// A string indicating which easing function to use for the transition. -/// -/// -/// A function to call once the animation is complete. -/// -/// - - var elem, display; - - if ( speed || speed === 0 ) { - return this.animate( genFx("show", 3), speed, easing, callback); - - } else { - for ( var i = 0, j = this.length; i < j; i++ ) { - elem = this[i]; - - if ( elem.style ) { - display = elem.style.display; - - // Reset the inline display of this element to learn if it is - // being hidden by cascaded rules or not - if ( !jQuery._data(elem, "olddisplay") && display === "none" ) { - display = elem.style.display = ""; - } - - // Set elements which have been overridden with display: none - // in a stylesheet to whatever the default browser style is - // for such an element - if ( display === "" && jQuery.css( elem, "display" ) === "none" ) { - jQuery._data(elem, "olddisplay", defaultDisplay(elem.nodeName)); - } - } - } - - // Set the display of most of the elements in a second loop - // to avoid the constant reflow - for ( i = 0; i < j; i++ ) { - elem = this[i]; - - if ( elem.style ) { - display = elem.style.display; - - if ( display === "" || display === "none" ) { - elem.style.display = jQuery._data(elem, "olddisplay") || ""; - } - } - } - - return this; - } - }; -jQuery.prototype.siblings = function( until, selector ) { -/// -/// Get the siblings of each element in the set of matched elements, optionally filtered by a selector. -/// -/// -/// A string containing a selector expression to match elements against. -/// -/// - - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -jQuery.prototype.size = function() { -/// -/// Return the number of elements in the jQuery object. -/// -/// - - return this.length; - }; -jQuery.prototype.slice = function() { -/// -/// Reduce the set of matched elements to a subset specified by a range of indices. -/// -/// -/// An integer indicating the 0-based position at which the elements begin to be selected. If negative, it indicates an offset from the end of the set. -/// -/// -/// An integer indicating the 0-based position at which the elements stop being selected. If negative, it indicates an offset from the end of the set. If omitted, the range continues until the end of the set. -/// -/// - - return this.pushStack( slice.apply( this, arguments ), - "slice", slice.call(arguments).join(",") ); - }; -jQuery.prototype.slideDown = function( speed, easing, callback ) { -/// -/// Display the matched elements with a sliding motion. -/// 1 - slideDown(duration, callback) -/// 2 - slideDown(duration, easing, callback) -/// -/// -/// A string or number determining how long the animation will run. -/// -/// -/// A string indicating which easing function to use for the transition. -/// -/// -/// A function to call once the animation is complete. -/// -/// - - return this.animate( props, speed, easing, callback ); - }; -jQuery.prototype.slideToggle = function( speed, easing, callback ) { -/// -/// Display or hide the matched elements with a sliding motion. -/// 1 - slideToggle(duration, callback) -/// 2 - slideToggle(duration, easing, callback) -/// -/// -/// A string or number determining how long the animation will run. -/// -/// -/// A string indicating which easing function to use for the transition. -/// -/// -/// A function to call once the animation is complete. -/// -/// - - return this.animate( props, speed, easing, callback ); - }; -jQuery.prototype.slideUp = function( speed, easing, callback ) { -/// -/// Hide the matched elements with a sliding motion. -/// 1 - slideUp(duration, callback) -/// 2 - slideUp(duration, easing, callback) -/// -/// -/// A string or number determining how long the animation will run. -/// -/// -/// A string indicating which easing function to use for the transition. -/// -/// -/// A function to call once the animation is complete. -/// -/// - - return this.animate( props, speed, easing, callback ); - }; -jQuery.prototype.stop = function( clearQueue, gotoEnd ) { -/// -/// Stop the currently-running animation on the matched elements. -/// -/// -/// A Boolean indicating whether to remove queued animation as well. Defaults to false. -/// -/// -/// A Boolean indicating whether to complete the current animation immediately. Defaults to false. -/// -/// - - if ( clearQueue ) { - this.queue([]); - } - - this.each(function() { - var timers = jQuery.timers, - i = timers.length; - // clear marker counters if we know they won't be - if ( !gotoEnd ) { - jQuery._unmark( true, this ); - } - while ( i-- ) { - if ( timers[i].elem === this ) { - if (gotoEnd) { - // force the next step to be the last - timers[i](true); - } - - timers.splice(i, 1); - } - } - }); - - // start the next in the queue if the last step wasn't forced - if ( !gotoEnd ) { - this.dequeue(); - } - - return this; - }; -jQuery.prototype.submit = function( data, fn ) { -/// -/// Bind an event handler to the "submit" JavaScript event, or trigger that event on an element. -/// 1 - submit(handler(eventObject)) -/// 2 - submit(eventData, handler(eventObject)) -/// 3 - submit() -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.text = function( text ) { -/// -/// 1: Get the combined text contents of each element in the set of matched elements, including their descendants. -/// 1.1 - text() -/// 2: Set the content of each element in the set of matched elements to the specified text. -/// 2.1 - text(textString) -/// 2.2 - text(function(index, text)) -/// -/// -/// A string of text to set as the content of each matched element. -/// -/// - - if ( jQuery.isFunction(text) ) { - return this.each(function(i) { - var self = jQuery( this ); - - self.text( text.call(this, i, self.text()) ); - }); - } - - if ( typeof text !== "object" && text !== undefined ) { - return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); - } - - return jQuery.text( this ); - }; -jQuery.prototype.toArray = function() { -/// -/// Retrieve all the DOM elements contained in the jQuery set, as an array. -/// -/// - - return slice.call( this, 0 ); - }; -jQuery.prototype.toggle = function( fn, fn2, callback ) { -/// -/// 1: Bind two or more handlers to the matched elements, to be executed on alternate clicks. -/// 1.1 - toggle(handler(eventObject), handler(eventObject), handler(eventObject)) -/// 2: Display or hide the matched elements. -/// 2.1 - toggle(duration, callback) -/// 2.2 - toggle(duration, easing, callback) -/// 2.3 - toggle(showOrHide) -/// -/// -/// A function to execute every even time the element is clicked. -/// -/// -/// A function to execute every odd time the element is clicked. -/// -/// -/// Additional handlers to cycle through after clicks. -/// -/// - - var bool = typeof fn === "boolean"; - - if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) { - this._toggle.apply( this, arguments ); - - } else if ( fn == null || bool ) { - this.each(function() { - var state = bool ? fn : jQuery(this).is(":hidden"); - jQuery(this)[ state ? "show" : "hide" ](); - }); - - } else { - this.animate(genFx("toggle", 3), fn, fn2, callback); - } - - return this; - }; -jQuery.prototype.toggleClass = function( value, stateVal ) { -/// -/// Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. -/// 1 - toggleClass(className) -/// 2 - toggleClass(className, switch) -/// 3 - toggleClass(function(index, class), switch) -/// -/// -/// One or more class names (separated by spaces) to be toggled for each element in the matched set. -/// -/// -/// A boolean value to determine whether the class should be added or removed. -/// -/// - - var type = typeof value, - isBool = typeof stateVal === "boolean"; - - if ( jQuery.isFunction( value ) ) { - return this.each(function(i) { - var self = jQuery(this); - self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // toggle individual class names - var className, - i = 0, - self = jQuery( this ), - state = stateVal, - classNames = value.split( rspace ); - - while ( (className = classNames[ i++ ]) ) { - // check each className given, space seperated list - state = isBool ? state : !self.hasClass( className ); - self[ state ? "addClass" : "removeClass" ]( className ); - } - - } else if ( type === "undefined" || type === "boolean" ) { - if ( this.className ) { - // store className if set - jQuery._data( this, "__className__", this.className ); - } - - // toggle whole className - this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; - } - }); - }; -jQuery.prototype.trigger = function( type, data ) { -/// -/// Execute all handlers and behaviors attached to the matched elements for the given event type. -/// 1 - trigger(eventType, extraParameters) -/// 2 - trigger(event) -/// -/// -/// A string containing a JavaScript event type, such as click or submit. -/// -/// -/// An array of additional parameters to pass along to the event handler. -/// -/// - - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }; -jQuery.prototype.triggerHandler = function( type, data ) { -/// -/// Execute all handlers attached to an element for an event. -/// -/// -/// A string containing a JavaScript event type, such as click or submit. -/// -/// -/// An array of additional parameters to pass along to the event handler. -/// -/// - - if ( this[0] ) { - return jQuery.event.trigger( type, data, this[0], true ); - } - }; -jQuery.prototype.unbind = function( type, fn ) { -/// -/// Remove a previously-attached event handler from the elements. -/// 1 - unbind(eventType, handler(eventObject)) -/// 2 - unbind(eventType, false) -/// 3 - unbind(event) -/// -/// -/// A string containing a JavaScript event type, such as click or submit. -/// -/// -/// The function that is to be no longer executed. -/// -/// - - // Handle object literals - if ( typeof type === "object" && !type.preventDefault ) { - for ( var key in type ) { - this.unbind(key, type[key]); - } - - } else { - for ( var i = 0, l = this.length; i < l; i++ ) { - jQuery.event.remove( this[i], type, fn ); - } - } - - return this; - }; -jQuery.prototype.undelegate = function( selector, types, fn ) { -/// -/// Remove a handler from the event for all elements which match the current selector, now or in the future, based upon a specific set of root elements. -/// 1 - undelegate() -/// 2 - undelegate(selector, eventType) -/// 3 - undelegate(selector, eventType, handler) -/// 4 - undelegate(selector, events) -/// 5 - undelegate(namespace) -/// -/// -/// A selector which will be used to filter the event results. -/// -/// -/// A string containing a JavaScript event type, such as "click" or "keydown" -/// -/// -/// A function to execute at the time the event is triggered. -/// -/// - - if ( arguments.length === 0 ) { - return this.unbind( "live" ); - - } else { - return this.die( types, null, fn, selector ); - } - }; -jQuery.prototype.unload = function( data, fn ) { -/// -/// Bind an event handler to the "unload" JavaScript event. -/// 1 - unload(handler(eventObject)) -/// 2 - unload(eventData, handler(eventObject)) -/// -/// -/// A map of data that will be passed to the event handler. -/// -/// -/// A function to execute each time the event is triggered. -/// -/// - - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; -jQuery.prototype.unwrap = function() { -/// -/// Remove the parents of the set of matched elements from the DOM, leaving the matched elements in their place. -/// -/// - - return this.parent().each(function() { - if ( !jQuery.nodeName( this, "body" ) ) { - jQuery( this ).replaceWith( this.childNodes ); - } - }).end(); - }; -jQuery.prototype.val = function( value ) { -/// -/// 1: Get the current value of the first element in the set of matched elements. -/// 1.1 - val() -/// 2: Set the value of each element in the set of matched elements. -/// 2.1 - val(value) -/// 2.2 - val(function(index, value)) -/// -/// -/// A string of text or an array of strings corresponding to the value of each matched element to set as selected/checked. -/// -/// - - var hooks, ret, - elem = this[0]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ]; - - if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { - return ret; - } - - return (elem.value || "").replace(rreturn, ""); - } - - return undefined; - } - - var isFunction = jQuery.isFunction( value ); - - return this.each(function( i ) { - var self = jQuery(this), val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, self.val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - } else if ( typeof val === "number" ) { - val += ""; - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map(val, function ( value ) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - }); - }; -jQuery.prototype.width = function( size ) { -/// -/// 1: Get the current computed width for the first element in the set of matched elements. -/// 1.1 - width() -/// 2: Set the CSS width of each element in the set of matched elements. -/// 2.1 - width(value) -/// 2.2 - width(function(index, width)) -/// -/// -/// An integer representing the number of pixels, or an integer along with an optional unit of measure appended (as a string). -/// -/// - - // Get window width or height - var elem = this[0]; - if ( !elem ) { - return size == null ? null : this; - } - - if ( jQuery.isFunction( size ) ) { - return this.each(function( i ) { - var self = jQuery( this ); - self[ type ]( size.call( this, i, self[ type ]() ) ); - }); - } - - if ( jQuery.isWindow( elem ) ) { - // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode - // 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat - var docElemProp = elem.document.documentElement[ "client" + name ]; - return elem.document.compatMode === "CSS1Compat" && docElemProp || - elem.document.body[ "client" + name ] || docElemProp; - - // Get document width or height - } else if ( elem.nodeType === 9 ) { - // Either scroll[Width/Height] or offset[Width/Height], whichever is greater - return Math.max( - elem.documentElement["client" + name], - elem.body["scroll" + name], elem.documentElement["scroll" + name], - elem.body["offset" + name], elem.documentElement["offset" + name] - ); - - // Get or set width or height on the element - } else if ( size === undefined ) { - var orig = jQuery.css( elem, type ), - ret = parseFloat( orig ); - - return jQuery.isNaN( ret ) ? orig : ret; - - // Set the width or height on the element (default to pixels if value is unitless) - } else { - return this.css( type, typeof size === "string" ? size : size + "px" ); - } - }; -jQuery.prototype.wrap = function( html ) { -/// -/// Wrap an HTML structure around each element in the set of matched elements. -/// 1 - wrap(wrappingElement) -/// 2 - wrap(function(index)) -/// -/// -/// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the matched elements. -/// -/// - - return this.each(function() { - jQuery( this ).wrapAll( html ); - }); - }; -jQuery.prototype.wrapAll = function( html ) { -/// -/// Wrap an HTML structure around all elements in the set of matched elements. -/// -/// -/// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the matched elements. -/// -/// - - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapAll( html.call(this, i) ); - }); - } - - if ( this[0] ) { - // The elements to wrap the target around - var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); - - if ( this[0].parentNode ) { - wrap.insertBefore( this[0] ); - } - - wrap.map(function() { - var elem = this; - - while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { - elem = elem.firstChild; - } - - return elem; - }).append( this ); - } - - return this; - }; -jQuery.prototype.wrapInner = function( html ) { -/// -/// Wrap an HTML structure around the content of each element in the set of matched elements. -/// 1 - wrapInner(wrappingElement) -/// 2 - wrapInner(wrappingFunction) -/// -/// -/// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the content of the matched elements. -/// -/// - - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapInner( html.call(this, i) ); - }); - } - - return this.each(function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - }); - }; -jQuery.fn = jQuery.prototype; -jQuery.fn.init.prototype = jQuery.fn; -window.jQuery = window.$ = jQuery; -})(window); \ No newline at end of file diff --git a/NzbDrone.Web/Scripts/jquery-1.6.1.js b/NzbDrone.Web/Scripts/jquery-1.6.1.js deleted file mode 100644 index 5d5a1d58e..000000000 --- a/NzbDrone.Web/Scripts/jquery-1.6.1.js +++ /dev/null @@ -1,8936 +0,0 @@ -/*! - * jQuery JavaScript Library v1.6.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Thu May 12 15:04:36 2011 -0400 - */ -(function( window, undefined ) { - -// Use the correct document accordingly with window argument (sandbox) -var document = window.document, - navigator = window.navigator, - location = window.location; -var jQuery = (function() { - -// Define a local copy of jQuery -var jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context, rootjQuery ); - }, - - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$, - - // A central reference to the root jQuery(document) - rootjQuery, - - // A simple way to check for HTML strings or ID strings - // (both of which we optimize for) - quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, - - // Check if a string has a non-whitespace character in it - rnotwhite = /\S/, - - // Used for trimming whitespace - trimLeft = /^\s+/, - trimRight = /\s+$/, - - // Check for digits - rdigit = /\d/, - - // Match a standalone tag - rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, - - // JSON RegExp - rvalidchars = /^[\],:{}\s]*$/, - rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, - rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, - rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, - - // Useragent RegExp - rwebkit = /(webkit)[ \/]([\w.]+)/, - ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, - rmsie = /(msie) ([\w.]+)/, - rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, - - // Keep a UserAgent string for use with jQuery.browser - userAgent = navigator.userAgent, - - // For matching the engine and version of the browser - browserMatch, - - // The deferred used on DOM ready - readyList, - - // The ready event handler - DOMContentLoaded, - - // Save a reference to some core methods - toString = Object.prototype.toString, - hasOwn = Object.prototype.hasOwnProperty, - push = Array.prototype.push, - slice = Array.prototype.slice, - trim = String.prototype.trim, - indexOf = Array.prototype.indexOf, - - // [[Class]] -> type pairs - class2type = {}; - -jQuery.fn = jQuery.prototype = { - constructor: jQuery, - init: function( selector, context, rootjQuery ) { - var match, elem, ret, doc; - - // Handle $(""), $(null), or $(undefined) - if ( !selector ) { - return this; - } - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - } - - // The body element only exists once, optimize finding it - if ( selector === "body" && !context && document.body ) { - this.context = document; - this[0] = document.body; - this.selector = selector; - this.length = 1; - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - // Are we dealing with HTML string or an ID? - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = quickExpr.exec( selector ); - } - - // Verify a match, and that no context was specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - doc = (context ? context.ownerDocument || context : document); - - // If a single string is passed in and it's a single tag - // just do a createElement and skip the rest - ret = rsingleTag.exec( selector ); - - if ( ret ) { - if ( jQuery.isPlainObject( context ) ) { - selector = [ document.createElement( ret[1] ) ]; - jQuery.fn.attr.call( selector, context, true ); - - } else { - selector = [ doc.createElement( ret[1] ) ]; - } - - } else { - ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); - selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; - } - - return jQuery.merge( this, selector ); - - // HANDLE: $("#id") - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return (context || rootjQuery).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return rootjQuery.ready( selector ); - } - - if (selector.selector !== undefined) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }, - - // Start with an empty selector - selector: "", - - // The current version of jQuery being used - jquery: "1.6.1", - - // The default length of a jQuery object is 0 - length: 0, - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - toArray: function() { - return slice.call( this, 0 ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num == null ? - - // Return a 'clean' array - this.toArray() : - - // Return just the object - ( num < 0 ? this[ this.length + num ] : this[ num ] ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems, name, selector ) { - // Build a new jQuery matched element set - var ret = this.constructor(); - - if ( jQuery.isArray( elems ) ) { - push.apply( ret, elems ); - - } else { - jQuery.merge( ret, elems ); - } - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - ret.context = this.context; - - if ( name === "find" ) { - ret.selector = this.selector + (this.selector ? " " : "") + selector; - } else if ( name ) { - ret.selector = this.selector + "." + name + "(" + selector + ")"; - } - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - ready: function( fn ) { - // Attach the listeners - jQuery.bindReady(); - - // Add the callback - readyList.done( fn ); - - return this; - }, - - eq: function( i ) { - return i === -1 ? - this.slice( i ) : - this.slice( i, +i + 1 ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ), - "slice", slice.call(arguments).join(",") ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: [].sort, - splice: [].splice -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( length === i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - noConflict: function( deep ) { - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; - }, - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - // Either a released hold or an DOMready/load event and not yet ready - if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) { - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready, 1 ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.trigger ) { - jQuery( document ).trigger( "ready" ).unbind( "ready" ); - } - } - }, - - bindReady: function() { - if ( readyList ) { - return; - } - - readyList = jQuery._Deferred(); - - // Catch cases where $(document).ready() is called after the - // browser event has already occurred. - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - return setTimeout( jQuery.ready, 1 ); - } - - // Mozilla, Opera and webkit nightlies currently support this event - if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", jQuery.ready, false ); - - // If IE event model is used - } else if ( document.attachEvent ) { - // ensure firing before onload, - // maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", DOMContentLoaded ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", jQuery.ready ); - - // If IE and not a frame - // continually check to see if the document is ready - var toplevel = false; - - try { - toplevel = window.frameElement == null; - } catch(e) {} - - if ( document.documentElement.doScroll && toplevel ) { - doScrollCheck(); - } - } - }, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - // A crude way of determining if an object is a window - isWindow: function( obj ) { - return obj && typeof obj === "object" && "setInterval" in obj; - }, - - isNaN: function( obj ) { - return obj == null || !rdigit.test( obj ) || isNaN( obj ); - }, - - type: function( obj ) { - return obj == null ? - String( obj ) : - class2type[ toString.call(obj) ] || "object"; - }, - - isPlainObject: function( obj ) { - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - - var key; - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); - }, - - isEmptyObject: function( obj ) { - for ( var name in obj ) { - return false; - } - return true; - }, - - error: function( msg ) { - throw msg; - }, - - parseJSON: function( data ) { - if ( typeof data !== "string" || !data ) { - return null; - } - - // Make sure leading/trailing whitespace is removed (IE can't handle it) - data = jQuery.trim( data ); - - // Attempt to parse using the native JSON parser first - if ( window.JSON && window.JSON.parse ) { - return window.JSON.parse( data ); - } - - // Make sure the incoming data is actual JSON - // Logic borrowed from http://json.org/json2.js - if ( rvalidchars.test( data.replace( rvalidescape, "@" ) - .replace( rvalidtokens, "]" ) - .replace( rvalidbraces, "")) ) { - - return (new Function( "return " + data ))(); - - } - jQuery.error( "Invalid JSON: " + data ); - }, - - // Cross-browser xml parsing - // (xml & tmp used internally) - parseXML: function( data , xml , tmp ) { - - if ( window.DOMParser ) { // Standard - tmp = new DOMParser(); - xml = tmp.parseFromString( data , "text/xml" ); - } else { // IE - xml = new ActiveXObject( "Microsoft.XMLDOM" ); - xml.async = "false"; - xml.loadXML( data ); - } - - tmp = xml.documentElement; - - if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) { - jQuery.error( "Invalid XML: " + data ); - } - - return xml; - }, - - noop: function() {}, - - // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && rnotwhite.test( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); - }, - - // args is for internal usage only - each: function( object, callback, args ) { - var name, i = 0, - length = object.length, - isObj = length === undefined || jQuery.isFunction( object ); - - if ( args ) { - if ( isObj ) { - for ( name in object ) { - if ( callback.apply( object[ name ], args ) === false ) { - break; - } - } - } else { - for ( ; i < length; ) { - if ( callback.apply( object[ i++ ], args ) === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isObj ) { - for ( name in object ) { - if ( callback.call( object[ name ], name, object[ name ] ) === false ) { - break; - } - } - } else { - for ( ; i < length; ) { - if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) { - break; - } - } - } - } - - return object; - }, - - // Use native String.trim function wherever possible - trim: trim ? - function( text ) { - return text == null ? - "" : - trim.call( text ); - } : - - // Otherwise use our own trimming functionality - function( text ) { - return text == null ? - "" : - text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); - }, - - // results is for internal usage only - makeArray: function( array, results ) { - var ret = results || []; - - if ( array != null ) { - // The window, strings (and functions) also have 'length' - // The extra typeof function check is to prevent crashes - // in Safari 2 (See: #3039) - // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 - var type = jQuery.type( array ); - - if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { - push.call( ret, array ); - } else { - jQuery.merge( ret, array ); - } - } - - return ret; - }, - - inArray: function( elem, array ) { - - if ( indexOf ) { - return indexOf.call( array, elem ); - } - - for ( var i = 0, length = array.length; i < length; i++ ) { - if ( array[ i ] === elem ) { - return i; - } - } - - return -1; - }, - - merge: function( first, second ) { - var i = first.length, - j = 0; - - if ( typeof second.length === "number" ) { - for ( var l = second.length; j < l; j++ ) { - first[ i++ ] = second[ j ]; - } - - } else { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, inv ) { - var ret = [], retVal; - inv = !!inv; - - // Go through the array, only saving the items - // that pass the validator function - for ( var i = 0, length = elems.length; i < length; i++ ) { - retVal = !!callback( elems[ i ], i ); - if ( inv !== retVal ) { - ret.push( elems[ i ] ); - } - } - - return ret; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, key, ret = [], - i = 0, - length = elems.length, - // jquery objects are treated as arrays - isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; - - // Go through the array, translating each of the items to their - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - - // Go through every key on the object, - } else { - for ( key in elems ) { - value = callback( elems[ key ], key, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - } - - // Flatten any nested arrays - return ret.concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - if ( typeof context === "string" ) { - var tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - var args = slice.call( arguments, 2 ), - proxy = function() { - return fn.apply( context, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; - - return proxy; - }, - - // Mutifunctional method to get and set values to a collection - // The value/s can be optionally by executed if its a function - access: function( elems, key, value, exec, fn, pass ) { - var length = elems.length; - - // Setting many attributes - if ( typeof key === "object" ) { - for ( var k in key ) { - jQuery.access( elems, k, key[k], exec, fn, value ); - } - return elems; - } - - // Setting one attribute - if ( value !== undefined ) { - // Optionally, function values get executed if exec is true - exec = !pass && exec && jQuery.isFunction(value); - - for ( var i = 0; i < length; i++ ) { - fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); - } - - return elems; - } - - // Getting an attribute - return length ? fn( elems[0], key ) : undefined; - }, - - now: function() { - return (new Date()).getTime(); - }, - - // Use of jQuery.browser is frowned upon. - // More details: http://docs.jquery.com/Utilities/jQuery.browser - uaMatch: function( ua ) { - ua = ua.toLowerCase(); - - var match = rwebkit.exec( ua ) || - ropera.exec( ua ) || - rmsie.exec( ua ) || - ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || - []; - - return { browser: match[1] || "", version: match[2] || "0" }; - }, - - sub: function() { - function jQuerySub( selector, context ) { - return new jQuerySub.fn.init( selector, context ); - } - jQuery.extend( true, jQuerySub, this ); - jQuerySub.superclass = this; - jQuerySub.fn = jQuerySub.prototype = this(); - jQuerySub.fn.constructor = jQuerySub; - jQuerySub.sub = this.sub; - jQuerySub.fn.init = function init( selector, context ) { - if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { - context = jQuerySub( context ); - } - - return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); - }; - jQuerySub.fn.init.prototype = jQuerySub.fn; - var rootjQuerySub = jQuerySub(document); - return jQuerySub; - }, - - browser: {} -}); - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -browserMatch = jQuery.uaMatch( userAgent ); -if ( browserMatch.browser ) { - jQuery.browser[ browserMatch.browser ] = true; - jQuery.browser.version = browserMatch.version; -} - -// Deprecated, use jQuery.browser.webkit instead -if ( jQuery.browser.webkit ) { - jQuery.browser.safari = true; -} - -// IE doesn't match non-breaking spaces with \s -if ( rnotwhite.test( "\xA0" ) ) { - trimLeft = /^[\s\xA0]+/; - trimRight = /[\s\xA0]+$/; -} - -// All jQuery objects should point back to these -rootjQuery = jQuery(document); - -// Cleanup functions for the document ready method -if ( document.addEventListener ) { - DOMContentLoaded = function() { - document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); - jQuery.ready(); - }; - -} else if ( document.attachEvent ) { - DOMContentLoaded = function() { - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( document.readyState === "complete" ) { - document.detachEvent( "onreadystatechange", DOMContentLoaded ); - jQuery.ready(); - } - }; -} - -// The DOM ready check for Internet Explorer -function doScrollCheck() { - if ( jQuery.isReady ) { - return; - } - - try { - // If IE is used, use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - document.documentElement.doScroll("left"); - } catch(e) { - setTimeout( doScrollCheck, 1 ); - return; - } - - // and execute any waiting functions - jQuery.ready(); -} - -// Expose jQuery to the global object -return jQuery; - -})(); - - -var // Promise methods - promiseMethods = "done fail isResolved isRejected promise then always pipe".split( " " ), - // Static reference to slice - sliceDeferred = [].slice; - -jQuery.extend({ - // Create a simple deferred (one callbacks list) - _Deferred: function() { - var // callbacks list - callbacks = [], - // stored [ context , args ] - fired, - // to avoid firing when already doing so - firing, - // flag to know if the deferred has been cancelled - cancelled, - // the deferred itself - deferred = { - - // done( f1, f2, ...) - done: function() { - if ( !cancelled ) { - var args = arguments, - i, - length, - elem, - type, - _fired; - if ( fired ) { - _fired = fired; - fired = 0; - } - for ( i = 0, length = args.length; i < length; i++ ) { - elem = args[ i ]; - type = jQuery.type( elem ); - if ( type === "array" ) { - deferred.done.apply( deferred, elem ); - } else if ( type === "function" ) { - callbacks.push( elem ); - } - } - if ( _fired ) { - deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); - } - } - return this; - }, - - // resolve with given context and args - resolveWith: function( context, args ) { - if ( !cancelled && !fired && !firing ) { - // make sure args are available (#8421) - args = args || []; - firing = 1; - try { - while( callbacks[ 0 ] ) { - callbacks.shift().apply( context, args ); - } - } - finally { - fired = [ context, args ]; - firing = 0; - } - } - return this; - }, - - // resolve with this as context and given arguments - resolve: function() { - deferred.resolveWith( this, arguments ); - return this; - }, - - // Has this deferred been resolved? - isResolved: function() { - return !!( firing || fired ); - }, - - // Cancel - cancel: function() { - cancelled = 1; - callbacks = []; - return this; - } - }; - - return deferred; - }, - - // Full fledged deferred (two callbacks list) - Deferred: function( func ) { - var deferred = jQuery._Deferred(), - failDeferred = jQuery._Deferred(), - promise; - // Add errorDeferred methods, then and promise - jQuery.extend( deferred, { - then: function( doneCallbacks, failCallbacks ) { - deferred.done( doneCallbacks ).fail( failCallbacks ); - return this; - }, - always: function() { - return deferred.done.apply( deferred, arguments ).fail.apply( this, arguments ); - }, - fail: failDeferred.done, - rejectWith: failDeferred.resolveWith, - reject: failDeferred.resolve, - isRejected: failDeferred.isResolved, - pipe: function( fnDone, fnFail ) { - return jQuery.Deferred(function( newDefer ) { - jQuery.each( { - done: [ fnDone, "resolve" ], - fail: [ fnFail, "reject" ] - }, function( handler, data ) { - var fn = data[ 0 ], - action = data[ 1 ], - returned; - if ( jQuery.isFunction( fn ) ) { - deferred[ handler ](function() { - returned = fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise().then( newDefer.resolve, newDefer.reject ); - } else { - newDefer[ action ]( returned ); - } - }); - } else { - deferred[ handler ]( newDefer[ action ] ); - } - }); - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - if ( obj == null ) { - if ( promise ) { - return promise; - } - promise = obj = {}; - } - var i = promiseMethods.length; - while( i-- ) { - obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; - } - return obj; - } - }); - // Make sure only one callback list will be used - deferred.done( failDeferred.cancel ).fail( deferred.cancel ); - // Unexpose cancel - delete deferred.cancel; - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - return deferred; - }, - - // Deferred helper - when: function( firstParam ) { - var args = arguments, - i = 0, - length = args.length, - count = length, - deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? - firstParam : - jQuery.Deferred(); - function resolveFunc( i ) { - return function( value ) { - args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; - if ( !( --count ) ) { - // Strange bug in FF4: - // Values changed onto the arguments object sometimes end up as undefined values - // outside the $.when method. Cloning the object into a fresh array solves the issue - deferred.resolveWith( deferred, sliceDeferred.call( args, 0 ) ); - } - }; - } - if ( length > 1 ) { - for( ; i < length; i++ ) { - if ( args[ i ] && jQuery.isFunction( args[ i ].promise ) ) { - args[ i ].promise().then( resolveFunc(i), deferred.reject ); - } else { - --count; - } - } - if ( !count ) { - deferred.resolveWith( deferred, args ); - } - } else if ( deferred !== firstParam ) { - deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); - } - return deferred.promise(); - } -}); - - - -jQuery.support = (function() { - - var div = document.createElement( "div" ), - documentElement = document.documentElement, - all, - a, - select, - opt, - input, - marginDiv, - support, - fragment, - body, - bodyStyle, - tds, - events, - eventName, - i, - isSupported; - - // Preliminary tests - div.setAttribute("className", "t"); - div.innerHTML = "
    a"; - - all = div.getElementsByTagName( "*" ); - a = div.getElementsByTagName( "a" )[ 0 ]; - - // Can't get basic test support - if ( !all || !all.length || !a ) { - return {}; - } - - // First batch of supports tests - select = document.createElement( "select" ); - opt = select.appendChild( document.createElement("option") ); - input = div.getElementsByTagName( "input" )[ 0 ]; - - support = { - // IE strips leading whitespace when .innerHTML is used - leadingWhitespace: ( div.firstChild.nodeType === 3 ), - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - tbody: !div.getElementsByTagName( "tbody" ).length, - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - htmlSerialize: !!div.getElementsByTagName( "link" ).length, - - // Get the style information from getAttribute - // (IE uses .cssText instead) - style: /top/.test( a.getAttribute("style") ), - - // Make sure that URLs aren't manipulated - // (IE normalizes it by default) - hrefNormalized: ( a.getAttribute( "href" ) === "/a" ), - - // Make sure that element opacity exists - // (IE uses filter instead) - // Use a regex to work around a WebKit issue. See #5145 - opacity: /^0.55$/.test( a.style.opacity ), - - // Verify style float existence - // (IE uses styleFloat instead of cssFloat) - cssFloat: !!a.style.cssFloat, - - // Make sure that if no value is specified for a checkbox - // that it defaults to "on". - // (WebKit defaults to "" instead) - checkOn: ( input.value === "on" ), - - // Make sure that a selected-by-default option has a working selected property. - // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) - optSelected: opt.selected, - - // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) - getSetAttribute: div.className !== "t", - - // Will be defined later - submitBubbles: true, - changeBubbles: true, - focusinBubbles: false, - deleteExpando: true, - noCloneEvent: true, - inlineBlockNeedsLayout: false, - shrinkWrapBlocks: false, - reliableMarginRight: true - }; - - // Make sure checked status is properly cloned - input.checked = true; - support.noCloneChecked = input.cloneNode( true ).checked; - - // Make sure that the options inside disabled selects aren't marked as disabled - // (WebKit marks them as disabled) - select.disabled = true; - support.optDisabled = !opt.disabled; - - // Test to see if it's possible to delete an expando from an element - // Fails in Internet Explorer - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - - if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { - div.attachEvent( "onclick", function click() { - // Cloning a node shouldn't copy over any - // bound event handlers (IE does this) - support.noCloneEvent = false; - div.detachEvent( "onclick", click ); - }); - div.cloneNode( true ).fireEvent( "onclick" ); - } - - // Check if a radio maintains it's value - // after being appended to the DOM - input = document.createElement("input"); - input.value = "t"; - input.setAttribute("type", "radio"); - support.radioValue = input.value === "t"; - - input.setAttribute("checked", "checked"); - div.appendChild( input ); - fragment = document.createDocumentFragment(); - fragment.appendChild( div.firstChild ); - - // WebKit doesn't clone checked state correctly in fragments - support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; - - div.innerHTML = ""; - - // Figure out if the W3C box model works as expected - div.style.width = div.style.paddingLeft = "1px"; - - // We use our own, invisible, body - body = document.createElement( "body" ); - bodyStyle = { - visibility: "hidden", - width: 0, - height: 0, - border: 0, - margin: 0, - // Set background to avoid IE crashes when removing (#9028) - background: "none" - }; - for ( i in bodyStyle ) { - body.style[ i ] = bodyStyle[ i ]; - } - body.appendChild( div ); - documentElement.insertBefore( body, documentElement.firstChild ); - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - support.appendChecked = input.checked; - - support.boxModel = div.offsetWidth === 2; - - if ( "zoom" in div.style ) { - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - // (IE < 8 does this) - div.style.display = "inline"; - div.style.zoom = 1; - support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 ); - - // Check if elements with layout shrink-wrap their children - // (IE 6 does this) - div.style.display = ""; - div.innerHTML = "
    "; - support.shrinkWrapBlocks = ( div.offsetWidth !== 2 ); - } - - div.innerHTML = "
    t
    "; - tds = div.getElementsByTagName( "td" ); - - // Check if table cells still have offsetWidth/Height when they are set - // to display:none and there are still other visible table cells in a - // table row; if so, offsetWidth/Height are not reliable for use when - // determining if an element has been hidden directly using - // display:none (it is still safe to use offsets if a parent element is - // hidden; don safety goggles and see bug #4512 for more information). - // (only IE 8 fails this test) - isSupported = ( tds[ 0 ].offsetHeight === 0 ); - - tds[ 0 ].style.display = ""; - tds[ 1 ].style.display = "none"; - - // Check if empty table cells still have offsetWidth/Height - // (IE < 8 fail this test) - support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); - div.innerHTML = ""; - - // Check if div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container. For more - // info see bug #3333 - // Fails in WebKit before Feb 2011 nightlies - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - if ( document.defaultView && document.defaultView.getComputedStyle ) { - marginDiv = document.createElement( "div" ); - marginDiv.style.width = "0"; - marginDiv.style.marginRight = "0"; - div.appendChild( marginDiv ); - support.reliableMarginRight = - ( parseInt( ( document.defaultView.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0; - } - - // Remove the body element we added - body.innerHTML = ""; - documentElement.removeChild( body ); - - // Technique from Juriy Zaytsev - // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ - // We only care about the case where non-standard event systems - // are used, namely in IE. Short-circuiting here helps us to - // avoid an eval call (in setAttribute) which can cause CSP - // to go haywire. See: https://developer.mozilla.org/en/Security/CSP - if ( div.attachEvent ) { - for( i in { - submit: 1, - change: 1, - focusin: 1 - } ) { - eventName = "on" + i; - isSupported = ( eventName in div ); - if ( !isSupported ) { - div.setAttribute( eventName, "return;" ); - isSupported = ( typeof div[ eventName ] === "function" ); - } - support[ i + "Bubbles" ] = isSupported; - } - } - - return support; -})(); - -// Keep track of boxModel -jQuery.boxModel = jQuery.support.boxModel; - - - - -var rbrace = /^(?:\{.*\}|\[.*\])$/, - rmultiDash = /([a-z])([A-Z])/g; - -jQuery.extend({ - cache: {}, - - // Please use with caution - uuid: 0, - - // Unique for each copy of jQuery on the page - // Non-digits removed to match rinlinejQuery - expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), - - // The following elements throw uncatchable exceptions if you - // attempt to add expando properties to them. - noData: { - "embed": true, - // Ban all objects except for Flash (which handle expandos) - "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", - "applet": true - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache, - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || (pvt && id && !cache[ id ][ internalKey ])) && getByName && data === undefined ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - elem[ jQuery.expando ] = id = ++jQuery.uuid; - } else { - id = jQuery.expando; - } - } - - if ( !cache[ id ] ) { - cache[ id ] = {}; - - // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery - // metadata on plain JS objects when the object is serialized using - // JSON.stringify - if ( !isNode ) { - cache[ id ].toJSON = jQuery.noop; - } - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); - } else { - cache[ id ] = jQuery.extend(cache[ id ], name); - } - } - - thisCache = cache[ id ]; - - // Internal jQuery data is stored in a separate object inside the object's data - // cache in order to avoid key collisions between internal data and user-defined - // data - if ( pvt ) { - if ( !thisCache[ internalKey ] ) { - thisCache[ internalKey ] = {}; - } - - thisCache = thisCache[ internalKey ]; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should - // not attempt to inspect the internal events object using jQuery.data, as this - // internal data object is undocumented and subject to change. - if ( name === "events" && !thisCache[name] ) { - return thisCache[ internalKey ] && thisCache[ internalKey ].events; - } - - return getByName ? thisCache[ jQuery.camelCase( name ) ] : thisCache; - }, - - removeData: function( elem, name, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var internalKey = jQuery.expando, isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - - // See jQuery.data for more information - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; - - if ( thisCache ) { - delete thisCache[ name ]; - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( !isEmptyDataObject(thisCache) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( pvt ) { - delete cache[ id ][ internalKey ]; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject(cache[ id ]) ) { - return; - } - } - - var internalCache = cache[ id ][ internalKey ]; - - // Browsers that fail expando deletion also refuse to delete expandos on - // the window, but it will allow it on all other JS objects; other browsers - // don't care - if ( jQuery.support.deleteExpando || cache != window ) { - delete cache[ id ]; - } else { - cache[ id ] = null; - } - - // We destroyed the entire user cache at once because it's faster than - // iterating through each key, but we need to continue to persist internal - // data if it existed - if ( internalCache ) { - cache[ id ] = {}; - // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery - // metadata on plain JS objects when the object is serialized using - // JSON.stringify - if ( !isNode ) { - cache[ id ].toJSON = jQuery.noop; - } - - cache[ id ][ internalKey ] = internalCache; - - // Otherwise, we need to eliminate the expando on the node to avoid - // false lookups in the cache for entries that no longer exist - } else if ( isNode ) { - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( jQuery.support.deleteExpando ) { - delete elem[ jQuery.expando ]; - } else if ( elem.removeAttribute ) { - elem.removeAttribute( jQuery.expando ); - } else { - elem[ jQuery.expando ] = null; - } - } - }, - - // For internal use only. - _data: function( elem, name, data ) { - return jQuery.data( elem, name, data, true ); - }, - - // A method for determining if a DOM node can handle the data expando - acceptData: function( elem ) { - if ( elem.nodeName ) { - var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; - - if ( match ) { - return !(match === true || elem.getAttribute("classid") !== match); - } - } - - return true; - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var data = null; - - if ( typeof key === "undefined" ) { - if ( this.length ) { - data = jQuery.data( this[0] ); - - if ( this[0].nodeType === 1 ) { - var attr = this[0].attributes, name; - for ( var i = 0, l = attr.length; i < l; i++ ) { - name = attr[i].name; - - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.substring(5) ); - - dataAttr( this[0], name, data[ name ] ); - } - } - } - } - - return data; - - } else if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - var parts = key.split("."); - parts[1] = parts[1] ? "." + parts[1] : ""; - - if ( value === undefined ) { - data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); - - // Try to fetch any internally stored data first - if ( data === undefined && this.length ) { - data = jQuery.data( this[0], key ); - data = dataAttr( this[0], key, data ); - } - - return data === undefined && parts[1] ? - this.data( parts[0] ) : - data; - - } else { - return this.each(function() { - var $this = jQuery( this ), - args = [ parts[0], value ]; - - $this.triggerHandler( "setData" + parts[1] + "!", args ); - jQuery.data( this, key, value ); - $this.triggerHandler( "changeData" + parts[1] + "!", args ); - }); - } - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - var name = "data-" + key.replace( rmultiDash, "$1-$2" ).toLowerCase(); - - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - !jQuery.isNaN( data ) ? parseFloat( data ) : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON -// property to be considered empty objects; this property always exists in -// order to make sure JSON.stringify does not expose internal metadata -function isEmptyDataObject( obj ) { - for ( var name in obj ) { - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} - - - - -function handleQueueMarkDefer( elem, type, src ) { - var deferDataKey = type + "defer", - queueDataKey = type + "queue", - markDataKey = type + "mark", - defer = jQuery.data( elem, deferDataKey, undefined, true ); - if ( defer && - ( src === "queue" || !jQuery.data( elem, queueDataKey, undefined, true ) ) && - ( src === "mark" || !jQuery.data( elem, markDataKey, undefined, true ) ) ) { - // Give room for hard-coded callbacks to fire first - // and eventually mark/queue something else on the element - setTimeout( function() { - if ( !jQuery.data( elem, queueDataKey, undefined, true ) && - !jQuery.data( elem, markDataKey, undefined, true ) ) { - jQuery.removeData( elem, deferDataKey, true ); - defer.resolve(); - } - }, 0 ); - } -} - -jQuery.extend({ - - _mark: function( elem, type ) { - if ( elem ) { - type = (type || "fx") + "mark"; - jQuery.data( elem, type, (jQuery.data(elem,type,undefined,true) || 0) + 1, true ); - } - }, - - _unmark: function( force, elem, type ) { - if ( force !== true ) { - type = elem; - elem = force; - force = false; - } - if ( elem ) { - type = type || "fx"; - var key = type + "mark", - count = force ? 0 : ( (jQuery.data( elem, key, undefined, true) || 1 ) - 1 ); - if ( count ) { - jQuery.data( elem, key, count, true ); - } else { - jQuery.removeData( elem, key, true ); - handleQueueMarkDefer( elem, type, "mark" ); - } - } - }, - - queue: function( elem, type, data ) { - if ( elem ) { - type = (type || "fx") + "queue"; - var q = jQuery.data( elem, type, undefined, true ); - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !q || jQuery.isArray(data) ) { - q = jQuery.data( elem, type, jQuery.makeArray(data), true ); - } else { - q.push( data ); - } - } - return q || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - fn = queue.shift(), - defer; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - } - - if ( fn ) { - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift("inprogress"); - } - - fn.call(elem, function() { - jQuery.dequeue(elem, type); - }); - } - - if ( !queue.length ) { - jQuery.removeData( elem, type + "queue", true ); - handleQueueMarkDefer( elem, type, "queue" ); - } - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - } - - if ( data === undefined ) { - return jQuery.queue( this[0], type ); - } - return this.each(function() { - var queue = jQuery.queue( this, type, data ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - // Based off of the plugin by Clint Helfers, with permission. - // http://blindsignals.com/index.php/2009/07/jquery-delay/ - delay: function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; - type = type || "fx"; - - return this.queue( type, function() { - var elem = this; - setTimeout(function() { - jQuery.dequeue( elem, type ); - }, time ); - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, object ) { - if ( typeof type !== "string" ) { - object = type; - type = undefined; - } - type = type || "fx"; - var defer = jQuery.Deferred(), - elements = this, - i = elements.length, - count = 1, - deferDataKey = type + "defer", - queueDataKey = type + "queue", - markDataKey = type + "mark", - tmp; - function resolve() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - } - while( i-- ) { - if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) || - ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) || - jQuery.data( elements[ i ], markDataKey, undefined, true ) ) && - jQuery.data( elements[ i ], deferDataKey, jQuery._Deferred(), true ) )) { - count++; - tmp.done( resolve ); - } - } - resolve(); - return defer.promise(); - } -}); - - - - -var rclass = /[\n\t\r]/g, - rspace = /\s+/, - rreturn = /\r/g, - rtype = /^(?:button|input)$/i, - rfocusable = /^(?:button|input|object|select|textarea)$/i, - rclickable = /^a(?:rea)?$/i, - rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, - rinvalidChar = /\:/, - formHook, boolHook; - -jQuery.fn.extend({ - attr: function( name, value ) { - return jQuery.access( this, name, value, true, jQuery.attr ); - }, - - removeAttr: function( name ) { - return this.each(function() { - jQuery.removeAttr( this, name ); - }); - }, - - prop: function( name, value ) { - return jQuery.access( this, name, value, true, jQuery.prop ); - }, - - removeProp: function( name ) { - name = jQuery.propFix[ name ] || name; - return this.each(function() { - // try/catch handles cases where IE balks (such as removing a property on window) - try { - this[ name ] = undefined; - delete this[ name ]; - } catch( e ) {} - }); - }, - - addClass: function( value ) { - if ( jQuery.isFunction( value ) ) { - return this.each(function(i) { - var self = jQuery(this); - self.addClass( value.call(this, i, self.attr("class") || "") ); - }); - } - - if ( value && typeof value === "string" ) { - var classNames = (value || "").split( rspace ); - - for ( var i = 0, l = this.length; i < l; i++ ) { - var elem = this[i]; - - if ( elem.nodeType === 1 ) { - if ( !elem.className ) { - elem.className = value; - - } else { - var className = " " + elem.className + " ", - setClass = elem.className; - - for ( var c = 0, cl = classNames.length; c < cl; c++ ) { - if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { - setClass += " " + classNames[c]; - } - } - elem.className = jQuery.trim( setClass ); - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - if ( jQuery.isFunction(value) ) { - return this.each(function(i) { - var self = jQuery(this); - self.removeClass( value.call(this, i, self.attr("class")) ); - }); - } - - if ( (value && typeof value === "string") || value === undefined ) { - var classNames = (value || "").split( rspace ); - - for ( var i = 0, l = this.length; i < l; i++ ) { - var elem = this[i]; - - if ( elem.nodeType === 1 && elem.className ) { - if ( value ) { - var className = (" " + elem.className + " ").replace(rclass, " "); - for ( var c = 0, cl = classNames.length; c < cl; c++ ) { - className = className.replace(" " + classNames[c] + " ", " "); - } - elem.className = jQuery.trim( className ); - - } else { - elem.className = ""; - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isBool = typeof stateVal === "boolean"; - - if ( jQuery.isFunction( value ) ) { - return this.each(function(i) { - var self = jQuery(this); - self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // toggle individual class names - var className, - i = 0, - self = jQuery( this ), - state = stateVal, - classNames = value.split( rspace ); - - while ( (className = classNames[ i++ ]) ) { - // check each className given, space seperated list - state = isBool ? state : !self.hasClass( className ); - self[ state ? "addClass" : "removeClass" ]( className ); - } - - } else if ( type === "undefined" || type === "boolean" ) { - if ( this.className ) { - // store className if set - jQuery._data( this, "__className__", this.className ); - } - - // toggle whole className - this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; - } - }); - }, - - hasClass: function( selector ) { - var className = " " + selector + " "; - for ( var i = 0, l = this.length; i < l; i++ ) { - if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { - return true; - } - } - - return false; - }, - - val: function( value ) { - var hooks, ret, - elem = this[0]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ]; - - if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { - return ret; - } - - return (elem.value || "").replace(rreturn, ""); - } - - return undefined; - } - - var isFunction = jQuery.isFunction( value ); - - return this.each(function( i ) { - var self = jQuery(this), val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, self.val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - } else if ( typeof val === "number" ) { - val += ""; - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map(val, function ( value ) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - }); - } -}); - -jQuery.extend({ - valHooks: { - option: { - get: function( elem ) { - // attributes.value is undefined in Blackberry 4.7 but - // uses .value. See #6932 - var val = elem.attributes.value; - return !val || val.specified ? elem.value : elem.text; - } - }, - select: { - get: function( elem ) { - var value, - index = elem.selectedIndex, - values = [], - options = elem.options, - one = elem.type === "select-one"; - - // Nothing was selected - if ( index < 0 ) { - return null; - } - - // Loop through all the selected options - for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { - var option = options[ i ]; - - // Don't return options that are disabled or in a disabled optgroup - if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && - (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - // Fixes Bug #2551 -- select.val() broken in IE after form.reset() - if ( one && !values.length && options.length ) { - return jQuery( options[ index ] ).val(); - } - - return values; - }, - - set: function( elem, value ) { - var values = jQuery.makeArray( value ); - - jQuery(elem).find("option").each(function() { - this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; - }); - - if ( !values.length ) { - elem.selectedIndex = -1; - } - return values; - } - } - }, - - attrFn: { - val: true, - css: true, - html: true, - text: true, - data: true, - width: true, - height: true, - offset: true - }, - - attrFix: { - // Always normalize to ensure hook usage - tabindex: "tabIndex" - }, - - attr: function( elem, name, value, pass ) { - var nType = elem.nodeType; - - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return undefined; - } - - if ( pass && name in jQuery.attrFn ) { - return jQuery( elem )[ name ]( value ); - } - - // Fallback to prop when attributes are not supported - if ( !("getAttribute" in elem) ) { - return jQuery.prop( elem, name, value ); - } - - var ret, hooks, - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - // Normalize the name if needed - name = notxml && jQuery.attrFix[ name ] || name; - - hooks = jQuery.attrHooks[ name ]; - - if ( !hooks ) { - // Use boolHook for boolean attributes - if ( rboolean.test( name ) && - (typeof value === "boolean" || value === undefined || value.toLowerCase() === name.toLowerCase()) ) { - - hooks = boolHook; - - // Use formHook for forms and if the name contains certain characters - } else if ( formHook && (jQuery.nodeName( elem, "form" ) || rinvalidChar.test( name )) ) { - hooks = formHook; - } - } - - if ( value !== undefined ) { - - if ( value === null ) { - jQuery.removeAttr( elem, name ); - return undefined; - - } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - elem.setAttribute( name, "" + value ); - return value; - } - - } else if ( hooks && "get" in hooks && notxml ) { - return hooks.get( elem, name ); - - } else { - - ret = elem.getAttribute( name ); - - // Non-existent attributes return null, we normalize to undefined - return ret === null ? - undefined : - ret; - } - }, - - removeAttr: function( elem, name ) { - var propName; - if ( elem.nodeType === 1 ) { - name = jQuery.attrFix[ name ] || name; - - if ( jQuery.support.getSetAttribute ) { - // Use removeAttribute in browsers that support it - elem.removeAttribute( name ); - } else { - jQuery.attr( elem, name, "" ); - elem.removeAttributeNode( elem.getAttributeNode( name ) ); - } - - // Set corresponding property to false for boolean attributes - if ( rboolean.test( name ) && (propName = jQuery.propFix[ name ] || name) in elem ) { - elem[ propName ] = false; - } - } - }, - - attrHooks: { - type: { - set: function( elem, value ) { - // We can't allow the type property to be changed (since it causes problems in IE) - if ( rtype.test( elem.nodeName ) && elem.parentNode ) { - jQuery.error( "type property can't be changed" ); - } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { - // Setting the type on a radio button after the value resets the value in IE6-9 - // Reset value to it's default in case type is set after value - // This is for element creation - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - }, - tabIndex: { - get: function( elem ) { - // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - var attributeNode = elem.getAttributeNode("tabIndex"); - - return attributeNode && attributeNode.specified ? - parseInt( attributeNode.value, 10 ) : - rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? - 0 : - undefined; - } - } - }, - - propFix: { - tabindex: "tabIndex", - readonly: "readOnly", - "for": "htmlFor", - "class": "className", - maxlength: "maxLength", - cellspacing: "cellSpacing", - cellpadding: "cellPadding", - rowspan: "rowSpan", - colspan: "colSpan", - usemap: "useMap", - frameborder: "frameBorder", - contenteditable: "contentEditable" - }, - - prop: function( elem, name, value ) { - var nType = elem.nodeType; - - // don't get/set properties on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return undefined; - } - - var ret, hooks, - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - // Try to normalize/fix the name - name = notxml && jQuery.propFix[ name ] || name; - - hooks = jQuery.propHooks[ name ]; - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - return (elem[ name ] = value); - } - - } else { - if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== undefined ) { - return ret; - - } else { - return elem[ name ]; - } - } - }, - - propHooks: {} -}); - -// Hook for boolean attributes -boolHook = { - get: function( elem, name ) { - // Align boolean attributes with corresponding properties - return elem[ jQuery.propFix[ name ] || name ] ? - name.toLowerCase() : - undefined; - }, - set: function( elem, value, name ) { - var propName; - if ( value === false ) { - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - // value is true since we know at this point it's type boolean and not false - // Set boolean attributes to the same name and set the DOM property - propName = jQuery.propFix[ name ] || name; - if ( propName in elem ) { - // Only set the IDL specifically if it already exists on the element - elem[ propName ] = value; - } - - elem.setAttribute( name, name.toLowerCase() ); - } - return name; - } -}; - -// Use the value property for back compat -// Use the formHook for button elements in IE6/7 (#1954) -jQuery.attrHooks.value = { - get: function( elem, name ) { - if ( formHook && jQuery.nodeName( elem, "button" ) ) { - return formHook.get( elem, name ); - } - return elem.value; - }, - set: function( elem, value, name ) { - if ( formHook && jQuery.nodeName( elem, "button" ) ) { - return formHook.set( elem, value, name ); - } - // Does not return so that setAttribute is also used - elem.value = value; - } -}; - -// IE6/7 do not support getting/setting some attributes with get/setAttribute -if ( !jQuery.support.getSetAttribute ) { - - // propFix is more comprehensive and contains all fixes - jQuery.attrFix = jQuery.propFix; - - // Use this for any attribute on a form in IE6/7 - formHook = jQuery.attrHooks.name = jQuery.valHooks.button = { - get: function( elem, name ) { - var ret; - ret = elem.getAttributeNode( name ); - // Return undefined if nodeValue is empty string - return ret && ret.nodeValue !== "" ? - ret.nodeValue : - undefined; - }, - set: function( elem, value, name ) { - // Check form objects in IE (multiple bugs related) - // Only use nodeValue if the attribute node exists on the form - var ret = elem.getAttributeNode( name ); - if ( ret ) { - ret.nodeValue = value; - return value; - } - } - }; - - // Set width and height to auto instead of 0 on empty string( Bug #8150 ) - // This is for removals - jQuery.each([ "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { - set: function( elem, value ) { - if ( value === "" ) { - elem.setAttribute( name, "auto" ); - return value; - } - } - }); - }); -} - - -// Some attributes require a special call on IE -if ( !jQuery.support.hrefNormalized ) { - jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { - get: function( elem ) { - var ret = elem.getAttribute( name, 2 ); - return ret === null ? undefined : ret; - } - }); - }); -} - -if ( !jQuery.support.style ) { - jQuery.attrHooks.style = { - get: function( elem ) { - // Return undefined in the case of empty string - // Normalize to lowercase since IE uppercases css property names - return elem.style.cssText.toLowerCase() || undefined; - }, - set: function( elem, value ) { - return (elem.style.cssText = "" + value); - } - }; -} - -// Safari mis-reports the default selected property of an option -// Accessing the parent's selectedIndex property fixes it -if ( !jQuery.support.optSelected ) { - jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { - get: function( elem ) { - var parent = elem.parentNode; - - if ( parent ) { - parent.selectedIndex; - - // Make sure that it also works with optgroups, see #5701 - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - } - }); -} - -// Radios and checkboxes getter/setter -if ( !jQuery.support.checkOn ) { - jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - get: function( elem ) { - // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified - return elem.getAttribute("value") === null ? "on" : elem.value; - } - }; - }); -} -jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { - set: function( elem, value ) { - if ( jQuery.isArray( value ) ) { - return (elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0); - } - } - }); -}); - - - - -var hasOwn = Object.prototype.hasOwnProperty, - rnamespaces = /\.(.*)$/, - rformElems = /^(?:textarea|input|select)$/i, - rperiod = /\./g, - rspaces = / /g, - rescape = /[^\w\s.|`]/g, - fcleanup = function( nm ) { - return nm.replace(rescape, "\\$&"); - }; - -/* - * A number of helper functions used for managing events. - * Many of the ideas behind this code originated from - * Dean Edwards' addEvent library. - */ -jQuery.event = { - - // Bind an event to an element - // Original by Dean Edwards - add: function( elem, types, handler, data ) { - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - if ( handler === false ) { - handler = returnFalse; - } else if ( !handler ) { - // Fixes bug #7229. Fix recommended by jdalton - return; - } - - var handleObjIn, handleObj; - - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - } - - // Make sure that the function being executed has a unique ID - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure - var elemData = jQuery._data( elem ); - - // If no elemData is found then we must be trying to bind to one of the - // banned noData elements - if ( !elemData ) { - return; - } - - var events = elemData.events, - eventHandle = elemData.handle; - - if ( !events ) { - elemData.events = events = {}; - } - - if ( !eventHandle ) { - elemData.handle = eventHandle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.handle.apply( eventHandle.elem, arguments ) : - undefined; - }; - } - - // Add elem as a property of the handle function - // This is to prevent a memory leak with non-native events in IE. - eventHandle.elem = elem; - - // Handle multiple events separated by a space - // jQuery(...).bind("mouseover mouseout", fn); - types = types.split(" "); - - var type, i = 0, namespaces; - - while ( (type = types[ i++ ]) ) { - handleObj = handleObjIn ? - jQuery.extend({}, handleObjIn) : - { handler: handler, data: data }; - - // Namespaced event handlers - if ( type.indexOf(".") > -1 ) { - namespaces = type.split("."); - type = namespaces.shift(); - handleObj.namespace = namespaces.slice(0).sort().join("."); - - } else { - namespaces = []; - handleObj.namespace = ""; - } - - handleObj.type = type; - if ( !handleObj.guid ) { - handleObj.guid = handler.guid; - } - - // Get the current list of functions bound to this event - var handlers = events[ type ], - special = jQuery.event.special[ type ] || {}; - - // Init the event handler queue - if ( !handlers ) { - handlers = events[ type ] = []; - - // Check for a special event handler - // Only use addEventListener/attachEvent if the special - // events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add the function to the element's handler list - handlers.push( handleObj ); - - // Keep track of which events have been used, for event optimization - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - global: {}, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, pos ) { - // don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - if ( handler === false ) { - handler = returnFalse; - } - - var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ), - events = elemData && elemData.events; - - if ( !elemData || !events ) { - return; - } - - // types is actually an event object here - if ( types && types.type ) { - handler = types.handler; - types = types.type; - } - - // Unbind all events for the element - if ( !types || typeof types === "string" && types.charAt(0) === "." ) { - types = types || ""; - - for ( type in events ) { - jQuery.event.remove( elem, type + types ); - } - - return; - } - - // Handle multiple events separated by a space - // jQuery(...).unbind("mouseover mouseout", fn); - types = types.split(" "); - - while ( (type = types[ i++ ]) ) { - origType = type; - handleObj = null; - all = type.indexOf(".") < 0; - namespaces = []; - - if ( !all ) { - // Namespaced event handlers - namespaces = type.split("."); - type = namespaces.shift(); - - namespace = new RegExp("(^|\\.)" + - jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); - } - - eventType = events[ type ]; - - if ( !eventType ) { - continue; - } - - if ( !handler ) { - for ( j = 0; j < eventType.length; j++ ) { - handleObj = eventType[ j ]; - - if ( all || namespace.test( handleObj.namespace ) ) { - jQuery.event.remove( elem, origType, handleObj.handler, j ); - eventType.splice( j--, 1 ); - } - } - - continue; - } - - special = jQuery.event.special[ type ] || {}; - - for ( j = pos || 0; j < eventType.length; j++ ) { - handleObj = eventType[ j ]; - - if ( handler.guid === handleObj.guid ) { - // remove the given handler for the given type - if ( all || namespace.test( handleObj.namespace ) ) { - if ( pos == null ) { - eventType.splice( j--, 1 ); - } - - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - - if ( pos != null ) { - break; - } - } - } - - // remove generic event handler if no more handlers exist - if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { - if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - ret = null; - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - var handle = elemData.handle; - if ( handle ) { - handle.elem = null; - } - - delete elemData.events; - delete elemData.handle; - - if ( jQuery.isEmptyObject( elemData ) ) { - jQuery.removeData( elem, undefined, true ); - } - } - }, - - // Events that are safe to short-circuit if no handlers are attached. - // Native DOM events should not be added, they may have inline handlers. - customEvent: { - "getData": true, - "setData": true, - "changeData": true - }, - - trigger: function( event, data, elem, onlyHandlers ) { - // Event object or event type - var type = event.type || event, - namespaces = [], - exclusive; - - if ( type.indexOf("!") >= 0 ) { - // Exclusive events trigger only for the exact event (no namespaces) - type = type.slice(0, -1); - exclusive = true; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - - if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { - // No jQuery handlers for this event type, and it can't have inline handlers - return; - } - - // Caller can pass in an Event, Object, or just an event type string - event = typeof event === "object" ? - // jQuery.Event object - event[ jQuery.expando ] ? event : - // Object literal - new jQuery.Event( type, event ) : - // Just the event type (string) - new jQuery.Event( type ); - - event.type = type; - event.exclusive = exclusive; - event.namespace = namespaces.join("."); - event.namespace_re = new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)"); - - // triggerHandler() and global events don't bubble or run the default action - if ( onlyHandlers || !elem ) { - event.preventDefault(); - event.stopPropagation(); - } - - // Handle a global trigger - if ( !elem ) { - // TODO: Stop taunting the data cache; remove global events and always attach to document - jQuery.each( jQuery.cache, function() { - // internalKey variable is just used to make it easier to find - // and potentially change this stuff later; currently it just - // points to jQuery.expando - var internalKey = jQuery.expando, - internalCache = this[ internalKey ]; - if ( internalCache && internalCache.events && internalCache.events[ type ] ) { - jQuery.event.trigger( event, data, internalCache.handle.elem ); - } - }); - return; - } - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // Clean up the event in case it is being reused - event.result = undefined; - event.target = elem; - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data ? jQuery.makeArray( data ) : []; - data.unshift( event ); - - var cur = elem, - // IE doesn't like method names with a colon (#3533, #8272) - ontype = type.indexOf(":") < 0 ? "on" + type : ""; - - // Fire event on the current element, then bubble up the DOM tree - do { - var handle = jQuery._data( cur, "handle" ); - - event.currentTarget = cur; - if ( handle ) { - handle.apply( cur, data ); - } - - // Trigger an inline bound script - if ( ontype && jQuery.acceptData( cur ) && cur[ ontype ] && cur[ ontype ].apply( cur, data ) === false ) { - event.result = false; - event.preventDefault(); - } - - // Bubble up to document, then to window - cur = cur.parentNode || cur.ownerDocument || cur === event.target.ownerDocument && window; - } while ( cur && !event.isPropagationStopped() ); - - // If nobody prevented the default action, do it now - if ( !event.isDefaultPrevented() ) { - var old, - special = jQuery.event.special[ type ] || {}; - - if ( (!special._default || special._default.call( elem.ownerDocument, event ) === false) && - !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction)() check here because IE6/7 fails that test. - // IE<9 dies on focus to hidden element (#1486), may want to revisit a try/catch. - try { - if ( ontype && elem[ type ] ) { - // Don't re-trigger an onFOO event when we call its FOO() method - old = elem[ ontype ]; - - if ( old ) { - elem[ ontype ] = null; - } - - jQuery.event.triggered = type; - elem[ type ](); - } - } catch ( ieError ) {} - - if ( old ) { - elem[ ontype ] = old; - } - - jQuery.event.triggered = undefined; - } - } - - return event.result; - }, - - handle: function( event ) { - event = jQuery.event.fix( event || window.event ); - // Snapshot the handlers list since a called handler may add/remove events. - var handlers = ((jQuery._data( this, "events" ) || {})[ event.type ] || []).slice(0), - run_all = !event.exclusive && !event.namespace, - args = Array.prototype.slice.call( arguments, 0 ); - - // Use the fix-ed Event rather than the (read-only) native event - args[0] = event; - event.currentTarget = this; - - for ( var j = 0, l = handlers.length; j < l; j++ ) { - var handleObj = handlers[ j ]; - - // Triggered event must 1) be non-exclusive and have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event. - if ( run_all || event.namespace_re.test( handleObj.namespace ) ) { - // Pass in a reference to the handler function itself - // So that we can later remove it - event.handler = handleObj.handler; - event.data = handleObj.data; - event.handleObj = handleObj; - - var ret = handleObj.handler.apply( this, args ); - - if ( ret !== undefined ) { - event.result = ret; - if ( ret === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - - if ( event.isImmediatePropagationStopped() ) { - break; - } - } - } - return event.result; - }, - - props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // store a copy of the original event object - // and "clone" to set read-only properties - var originalEvent = event; - event = jQuery.Event( originalEvent ); - - for ( var i = this.props.length, prop; i; ) { - prop = this.props[ --i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Fix target property, if necessary - if ( !event.target ) { - // Fixes #1925 where srcElement might not be defined either - event.target = event.srcElement || document; - } - - // check if target is a textnode (safari) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && event.fromElement ) { - event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; - } - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && event.clientX != null ) { - var eventDocument = event.target.ownerDocument || document, - doc = eventDocument.documentElement, - body = eventDocument.body; - - event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); - event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); - } - - // Add which for key events - if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { - event.which = event.charCode != null ? event.charCode : event.keyCode; - } - - // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) - if ( !event.metaKey && event.ctrlKey ) { - event.metaKey = event.ctrlKey; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && event.button !== undefined ) { - event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); - } - - return event; - }, - - // Deprecated, use jQuery.guid instead - guid: 1E8, - - // Deprecated, use jQuery.proxy instead - proxy: jQuery.proxy, - - special: { - ready: { - // Make sure the ready event is setup - setup: jQuery.bindReady, - teardown: jQuery.noop - }, - - live: { - add: function( handleObj ) { - jQuery.event.add( this, - liveConvert( handleObj.origType, handleObj.selector ), - jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); - }, - - remove: function( handleObj ) { - jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); - } - }, - - beforeunload: { - setup: function( data, namespaces, eventHandle ) { - // We only want to do this special case on windows - if ( jQuery.isWindow( this ) ) { - this.onbeforeunload = eventHandle; - } - }, - - teardown: function( namespaces, eventHandle ) { - if ( this.onbeforeunload === eventHandle ) { - this.onbeforeunload = null; - } - } - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - if ( elem.detachEvent ) { - elem.detachEvent( "on" + type, handle ); - } - }; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !this.preventDefault ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || - src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // timeStamp is buggy for some events on Firefox(#3843) - // So we won't rely on the native value - this.timeStamp = jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -function returnFalse() { - return false; -} -function returnTrue() { - return true; -} - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - preventDefault: function() { - this.isDefaultPrevented = returnTrue; - - var e = this.originalEvent; - if ( !e ) { - return; - } - - // if preventDefault exists run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // otherwise set the returnValue property of the original event to false (IE) - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - this.isPropagationStopped = returnTrue; - - var e = this.originalEvent; - if ( !e ) { - return; - } - // if stopPropagation exists run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - // otherwise set the cancelBubble property of the original event to true (IE) - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - this.isImmediatePropagationStopped = returnTrue; - this.stopPropagation(); - }, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse -}; - -// Checks if an event happened on an element within another element -// Used in jQuery.event.special.mouseenter and mouseleave handlers -var withinElement = function( event ) { - // Check if mouse(over|out) are still within the same parent element - var parent = event.relatedTarget; - - // set the correct event type - event.type = event.data; - - // Firefox sometimes assigns relatedTarget a XUL element - // which we cannot access the parentNode property of - try { - - // Chrome does something similar, the parentNode property - // can be accessed but is null. - if ( parent && parent !== document && !parent.parentNode ) { - return; - } - - // Traverse up the tree - while ( parent && parent !== this ) { - parent = parent.parentNode; - } - - if ( parent !== this ) { - // handle event if we actually just moused on to a non sub-element - jQuery.event.handle.apply( this, arguments ); - } - - // assuming we've left the element since we most likely mousedover a xul element - } catch(e) { } -}, - -// In case of event delegation, we only need to rename the event.type, -// liveHandler will take care of the rest. -delegate = function( event ) { - event.type = event.data; - jQuery.event.handle.apply( this, arguments ); -}; - -// Create mouseenter and mouseleave events -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - setup: function( data ) { - jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); - }, - teardown: function( data ) { - jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); - } - }; -}); - -// submit delegation -if ( !jQuery.support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function( data, namespaces ) { - if ( !jQuery.nodeName( this, "form" ) ) { - jQuery.event.add(this, "click.specialSubmit", function( e ) { - var elem = e.target, - type = elem.type; - - if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { - trigger( "submit", this, arguments ); - } - }); - - jQuery.event.add(this, "keypress.specialSubmit", function( e ) { - var elem = e.target, - type = elem.type; - - if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { - trigger( "submit", this, arguments ); - } - }); - - } else { - return false; - } - }, - - teardown: function( namespaces ) { - jQuery.event.remove( this, ".specialSubmit" ); - } - }; - -} - -// change delegation, happens here so we have bind. -if ( !jQuery.support.changeBubbles ) { - - var changeFilters, - - getVal = function( elem ) { - var type = elem.type, val = elem.value; - - if ( type === "radio" || type === "checkbox" ) { - val = elem.checked; - - } else if ( type === "select-multiple" ) { - val = elem.selectedIndex > -1 ? - jQuery.map( elem.options, function( elem ) { - return elem.selected; - }).join("-") : - ""; - - } else if ( jQuery.nodeName( elem, "select" ) ) { - val = elem.selectedIndex; - } - - return val; - }, - - testChange = function testChange( e ) { - var elem = e.target, data, val; - - if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { - return; - } - - data = jQuery._data( elem, "_change_data" ); - val = getVal(elem); - - // the current data will be also retrieved by beforeactivate - if ( e.type !== "focusout" || elem.type !== "radio" ) { - jQuery._data( elem, "_change_data", val ); - } - - if ( data === undefined || val === data ) { - return; - } - - if ( data != null || val ) { - e.type = "change"; - e.liveFired = undefined; - jQuery.event.trigger( e, arguments[1], elem ); - } - }; - - jQuery.event.special.change = { - filters: { - focusout: testChange, - - beforedeactivate: testChange, - - click: function( e ) { - var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : ""; - - if ( type === "radio" || type === "checkbox" || jQuery.nodeName( elem, "select" ) ) { - testChange.call( this, e ); - } - }, - - // Change has to be called before submit - // Keydown will be called before keypress, which is used in submit-event delegation - keydown: function( e ) { - var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : ""; - - if ( (e.keyCode === 13 && !jQuery.nodeName( elem, "textarea" ) ) || - (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || - type === "select-multiple" ) { - testChange.call( this, e ); - } - }, - - // Beforeactivate happens also before the previous element is blurred - // with this event you can't trigger a change event, but you can store - // information - beforeactivate: function( e ) { - var elem = e.target; - jQuery._data( elem, "_change_data", getVal(elem) ); - } - }, - - setup: function( data, namespaces ) { - if ( this.type === "file" ) { - return false; - } - - for ( var type in changeFilters ) { - jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); - } - - return rformElems.test( this.nodeName ); - }, - - teardown: function( namespaces ) { - jQuery.event.remove( this, ".specialChange" ); - - return rformElems.test( this.nodeName ); - } - }; - - changeFilters = jQuery.event.special.change.filters; - - // Handle when the input is .focus()'d - changeFilters.focus = changeFilters.beforeactivate; -} - -function trigger( type, elem, args ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - // Don't pass args or remember liveFired; they apply to the donor event. - var event = jQuery.extend( {}, args[ 0 ] ); - event.type = type; - event.originalEvent = {}; - event.liveFired = undefined; - jQuery.event.handle.call( elem, event ); - if ( event.isDefaultPrevented() ) { - args[ 0 ].preventDefault(); - } -} - -// Create "bubbling" focus and blur events -if ( !jQuery.support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler while someone wants focusin/focusout - var attaches = 0; - - jQuery.event.special[ fix ] = { - setup: function() { - if ( attaches++ === 0 ) { - document.addEventListener( orig, handler, true ); - } - }, - teardown: function() { - if ( --attaches === 0 ) { - document.removeEventListener( orig, handler, true ); - } - } - }; - - function handler( donor ) { - // Donor event is always a native one; fix it and switch its type. - // Let focusin/out handler cancel the donor focus/blur event. - var e = jQuery.event.fix( donor ); - e.type = fix; - e.originalEvent = {}; - jQuery.event.trigger( e, null, e.target ); - if ( e.isDefaultPrevented() ) { - donor.preventDefault(); - } - } - }); -} - -jQuery.each(["bind", "one"], function( i, name ) { - jQuery.fn[ name ] = function( type, data, fn ) { - var handler; - - // Handle object literals - if ( typeof type === "object" ) { - for ( var key in type ) { - this[ name ](key, data, type[key], fn); - } - return this; - } - - if ( arguments.length === 2 || data === false ) { - fn = data; - data = undefined; - } - - if ( name === "one" ) { - handler = function( event ) { - jQuery( this ).unbind( event, handler ); - return fn.apply( this, arguments ); - }; - handler.guid = fn.guid || jQuery.guid++; - } else { - handler = fn; - } - - if ( type === "unload" && name !== "one" ) { - this.one( type, data, fn ); - - } else { - for ( var i = 0, l = this.length; i < l; i++ ) { - jQuery.event.add( this[i], type, handler, data ); - } - } - - return this; - }; -}); - -jQuery.fn.extend({ - unbind: function( type, fn ) { - // Handle object literals - if ( typeof type === "object" && !type.preventDefault ) { - for ( var key in type ) { - this.unbind(key, type[key]); - } - - } else { - for ( var i = 0, l = this.length; i < l; i++ ) { - jQuery.event.remove( this[i], type, fn ); - } - } - - return this; - }, - - delegate: function( selector, types, data, fn ) { - return this.live( types, data, fn, selector ); - }, - - undelegate: function( selector, types, fn ) { - if ( arguments.length === 0 ) { - return this.unbind( "live" ); - - } else { - return this.die( types, null, fn, selector ); - } - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - - triggerHandler: function( type, data ) { - if ( this[0] ) { - return jQuery.event.trigger( type, data, this[0], true ); - } - }, - - toggle: function( fn ) { - // Save reference to arguments for access in closure - var args = arguments, - guid = fn.guid || jQuery.guid++, - i = 0, - toggler = function( event ) { - // Figure out which function to execute - var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; - jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); - - // Make sure that clicks stop - event.preventDefault(); - - // and execute the function - return args[ lastToggle ].apply( this, arguments ) || false; - }; - - // link all the functions, so any of them can unbind this click handler - toggler.guid = guid; - while ( i < args.length ) { - args[ i++ ].guid = guid; - } - - return this.click( toggler ); - }, - - hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - } -}); - -var liveMap = { - focus: "focusin", - blur: "focusout", - mouseenter: "mouseover", - mouseleave: "mouseout" -}; - -jQuery.each(["live", "die"], function( i, name ) { - jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { - var type, i = 0, match, namespaces, preType, - selector = origSelector || this.selector, - context = origSelector ? this : jQuery( this.context ); - - if ( typeof types === "object" && !types.preventDefault ) { - for ( var key in types ) { - context[ name ]( key, data, types[key], selector ); - } - - return this; - } - - if ( name === "die" && !types && - origSelector && origSelector.charAt(0) === "." ) { - - context.unbind( origSelector ); - - return this; - } - - if ( data === false || jQuery.isFunction( data ) ) { - fn = data || returnFalse; - data = undefined; - } - - types = (types || "").split(" "); - - while ( (type = types[ i++ ]) != null ) { - match = rnamespaces.exec( type ); - namespaces = ""; - - if ( match ) { - namespaces = match[0]; - type = type.replace( rnamespaces, "" ); - } - - if ( type === "hover" ) { - types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); - continue; - } - - preType = type; - - if ( liveMap[ type ] ) { - types.push( liveMap[ type ] + namespaces ); - type = type + namespaces; - - } else { - type = (liveMap[ type ] || type) + namespaces; - } - - if ( name === "live" ) { - // bind live handler - for ( var j = 0, l = context.length; j < l; j++ ) { - jQuery.event.add( context[j], "live." + liveConvert( type, selector ), - { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); - } - - } else { - // unbind live handler - context.unbind( "live." + liveConvert( type, selector ), fn ); - } - } - - return this; - }; -}); - -function liveHandler( event ) { - var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, - elems = [], - selectors = [], - events = jQuery._data( this, "events" ); - - // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) - if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { - return; - } - - if ( event.namespace ) { - namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); - } - - event.liveFired = this; - - var live = events.live.slice(0); - - for ( j = 0; j < live.length; j++ ) { - handleObj = live[j]; - - if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { - selectors.push( handleObj.selector ); - - } else { - live.splice( j--, 1 ); - } - } - - match = jQuery( event.target ).closest( selectors, event.currentTarget ); - - for ( i = 0, l = match.length; i < l; i++ ) { - close = match[i]; - - for ( j = 0; j < live.length; j++ ) { - handleObj = live[j]; - - if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) { - elem = close.elem; - related = null; - - // Those two events require additional checking - if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { - event.type = handleObj.preType; - related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; - - // Make sure not to accidentally match a child element with the same selector - if ( related && jQuery.contains( elem, related ) ) { - related = elem; - } - } - - if ( !related || related !== elem ) { - elems.push({ elem: elem, handleObj: handleObj, level: close.level }); - } - } - } - } - - for ( i = 0, l = elems.length; i < l; i++ ) { - match = elems[i]; - - if ( maxLevel && match.level > maxLevel ) { - break; - } - - event.currentTarget = match.elem; - event.data = match.handleObj.data; - event.handleObj = match.handleObj; - - ret = match.handleObj.origHandler.apply( match.elem, arguments ); - - if ( ret === false || event.isPropagationStopped() ) { - maxLevel = match.level; - - if ( ret === false ) { - stop = false; - } - if ( event.isImmediatePropagationStopped() ) { - break; - } - } - } - - return stop; -} - -function liveConvert( type, selector ) { - return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspaces, "&"); -} - -jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + - "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + - "change select submit keydown keypress keyup error").split(" "), function( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; - - if ( jQuery.attrFn ) { - jQuery.attrFn[ name ] = true; - } -}); - - - -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){ - -var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, - done = 0, - toString = Object.prototype.toString, - hasDuplicate = false, - baseHasDuplicate = true, - rBackslash = /\\/g, - rNonWord = /\W/; - -// Here we check if the JavaScript engine is using some sort of -// optimization where it does not always call our comparision -// function. If that is the case, discard the hasDuplicate value. -// Thus far that includes Google Chrome. -[0, 0].sort(function() { - baseHasDuplicate = false; - return 0; -}); - -var Sizzle = function( selector, context, results, seed ) { - results = results || []; - context = context || document; - - var origContext = context; - - if ( context.nodeType !== 1 && context.nodeType !== 9 ) { - return []; - } - - if ( !selector || typeof selector !== "string" ) { - return results; - } - - var m, set, checkSet, extra, ret, cur, pop, i, - prune = true, - contextXML = Sizzle.isXML( context ), - parts = [], - soFar = selector; - - // Reset the position of the chunker regexp (start from head) - do { - chunker.exec( "" ); - m = chunker.exec( soFar ); - - if ( m ) { - soFar = m[3]; - - parts.push( m[1] ); - - if ( m[2] ) { - extra = m[3]; - break; - } - } - } while ( m ); - - if ( parts.length > 1 && origPOS.exec( selector ) ) { - - if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { - set = posProcess( parts[0] + parts[1], context ); - - } else { - set = Expr.relative[ parts[0] ] ? - [ context ] : - Sizzle( parts.shift(), context ); - - while ( parts.length ) { - selector = parts.shift(); - - if ( Expr.relative[ selector ] ) { - selector += parts.shift(); - } - - set = posProcess( selector, set ); - } - } - - } else { - // Take a shortcut and set the context if the root selector is an ID - // (but not if it'll be faster if the inner selector is an ID) - if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && - Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { - - ret = Sizzle.find( parts.shift(), context, contextXML ); - context = ret.expr ? - Sizzle.filter( ret.expr, ret.set )[0] : - ret.set[0]; - } - - if ( context ) { - ret = seed ? - { expr: parts.pop(), set: makeArray(seed) } : - Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); - - set = ret.expr ? - Sizzle.filter( ret.expr, ret.set ) : - ret.set; - - if ( parts.length > 0 ) { - checkSet = makeArray( set ); - - } else { - prune = false; - } - - while ( parts.length ) { - cur = parts.pop(); - pop = cur; - - if ( !Expr.relative[ cur ] ) { - cur = ""; - } else { - pop = parts.pop(); - } - - if ( pop == null ) { - pop = context; - } - - Expr.relative[ cur ]( checkSet, pop, contextXML ); - } - - } else { - checkSet = parts = []; - } - } - - if ( !checkSet ) { - checkSet = set; - } - - if ( !checkSet ) { - Sizzle.error( cur || selector ); - } - - if ( toString.call(checkSet) === "[object Array]" ) { - if ( !prune ) { - results.push.apply( results, checkSet ); - - } else if ( context && context.nodeType === 1 ) { - for ( i = 0; checkSet[i] != null; i++ ) { - if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { - results.push( set[i] ); - } - } - - } else { - for ( i = 0; checkSet[i] != null; i++ ) { - if ( checkSet[i] && checkSet[i].nodeType === 1 ) { - results.push( set[i] ); - } - } - } - - } else { - makeArray( checkSet, results ); - } - - if ( extra ) { - Sizzle( extra, origContext, results, seed ); - Sizzle.uniqueSort( results ); - } - - return results; -}; - -Sizzle.uniqueSort = function( results ) { - if ( sortOrder ) { - hasDuplicate = baseHasDuplicate; - results.sort( sortOrder ); - - if ( hasDuplicate ) { - for ( var i = 1; i < results.length; i++ ) { - if ( results[i] === results[ i - 1 ] ) { - results.splice( i--, 1 ); - } - } - } - } - - return results; -}; - -Sizzle.matches = function( expr, set ) { - return Sizzle( expr, null, null, set ); -}; - -Sizzle.matchesSelector = function( node, expr ) { - return Sizzle( expr, null, null, [node] ).length > 0; -}; - -Sizzle.find = function( expr, context, isXML ) { - var set; - - if ( !expr ) { - return []; - } - - for ( var i = 0, l = Expr.order.length; i < l; i++ ) { - var match, - type = Expr.order[i]; - - if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { - var left = match[1]; - match.splice( 1, 1 ); - - if ( left.substr( left.length - 1 ) !== "\\" ) { - match[1] = (match[1] || "").replace( rBackslash, "" ); - set = Expr.find[ type ]( match, context, isXML ); - - if ( set != null ) { - expr = expr.replace( Expr.match[ type ], "" ); - break; - } - } - } - } - - if ( !set ) { - set = typeof context.getElementsByTagName !== "undefined" ? - context.getElementsByTagName( "*" ) : - []; - } - - return { set: set, expr: expr }; -}; - -Sizzle.filter = function( expr, set, inplace, not ) { - var match, anyFound, - old = expr, - result = [], - curLoop = set, - isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); - - while ( expr && set.length ) { - for ( var type in Expr.filter ) { - if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { - var found, item, - filter = Expr.filter[ type ], - left = match[1]; - - anyFound = false; - - match.splice(1,1); - - if ( left.substr( left.length - 1 ) === "\\" ) { - continue; - } - - if ( curLoop === result ) { - result = []; - } - - if ( Expr.preFilter[ type ] ) { - match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); - - if ( !match ) { - anyFound = found = true; - - } else if ( match === true ) { - continue; - } - } - - if ( match ) { - for ( var i = 0; (item = curLoop[i]) != null; i++ ) { - if ( item ) { - found = filter( item, match, i, curLoop ); - var pass = not ^ !!found; - - if ( inplace && found != null ) { - if ( pass ) { - anyFound = true; - - } else { - curLoop[i] = false; - } - - } else if ( pass ) { - result.push( item ); - anyFound = true; - } - } - } - } - - if ( found !== undefined ) { - if ( !inplace ) { - curLoop = result; - } - - expr = expr.replace( Expr.match[ type ], "" ); - - if ( !anyFound ) { - return []; - } - - break; - } - } - } - - // Improper expression - if ( expr === old ) { - if ( anyFound == null ) { - Sizzle.error( expr ); - - } else { - break; - } - } - - old = expr; - } - - return curLoop; -}; - -Sizzle.error = function( msg ) { - throw "Syntax error, unrecognized expression: " + msg; -}; - -var Expr = Sizzle.selectors = { - order: [ "ID", "NAME", "TAG" ], - - match: { - ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, - CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, - NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, - ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, - TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, - CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, - POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, - PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ - }, - - leftMatch: {}, - - attrMap: { - "class": "className", - "for": "htmlFor" - }, - - attrHandle: { - href: function( elem ) { - return elem.getAttribute( "href" ); - }, - type: function( elem ) { - return elem.getAttribute( "type" ); - } - }, - - relative: { - "+": function(checkSet, part){ - var isPartStr = typeof part === "string", - isTag = isPartStr && !rNonWord.test( part ), - isPartStrNotTag = isPartStr && !isTag; - - if ( isTag ) { - part = part.toLowerCase(); - } - - for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { - if ( (elem = checkSet[i]) ) { - while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} - - checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? - elem || false : - elem === part; - } - } - - if ( isPartStrNotTag ) { - Sizzle.filter( part, checkSet, true ); - } - }, - - ">": function( checkSet, part ) { - var elem, - isPartStr = typeof part === "string", - i = 0, - l = checkSet.length; - - if ( isPartStr && !rNonWord.test( part ) ) { - part = part.toLowerCase(); - - for ( ; i < l; i++ ) { - elem = checkSet[i]; - - if ( elem ) { - var parent = elem.parentNode; - checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; - } - } - - } else { - for ( ; i < l; i++ ) { - elem = checkSet[i]; - - if ( elem ) { - checkSet[i] = isPartStr ? - elem.parentNode : - elem.parentNode === part; - } - } - - if ( isPartStr ) { - Sizzle.filter( part, checkSet, true ); - } - } - }, - - "": function(checkSet, part, isXML){ - var nodeCheck, - doneName = done++, - checkFn = dirCheck; - - if ( typeof part === "string" && !rNonWord.test( part ) ) { - part = part.toLowerCase(); - nodeCheck = part; - checkFn = dirNodeCheck; - } - - checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); - }, - - "~": function( checkSet, part, isXML ) { - var nodeCheck, - doneName = done++, - checkFn = dirCheck; - - if ( typeof part === "string" && !rNonWord.test( part ) ) { - part = part.toLowerCase(); - nodeCheck = part; - checkFn = dirNodeCheck; - } - - checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); - } - }, - - find: { - ID: function( match, context, isXML ) { - if ( typeof context.getElementById !== "undefined" && !isXML ) { - var m = context.getElementById(match[1]); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [m] : []; - } - }, - - NAME: function( match, context ) { - if ( typeof context.getElementsByName !== "undefined" ) { - var ret = [], - results = context.getElementsByName( match[1] ); - - for ( var i = 0, l = results.length; i < l; i++ ) { - if ( results[i].getAttribute("name") === match[1] ) { - ret.push( results[i] ); - } - } - - return ret.length === 0 ? null : ret; - } - }, - - TAG: function( match, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( match[1] ); - } - } - }, - preFilter: { - CLASS: function( match, curLoop, inplace, result, not, isXML ) { - match = " " + match[1].replace( rBackslash, "" ) + " "; - - if ( isXML ) { - return match; - } - - for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { - if ( elem ) { - if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { - if ( !inplace ) { - result.push( elem ); - } - - } else if ( inplace ) { - curLoop[i] = false; - } - } - } - - return false; - }, - - ID: function( match ) { - return match[1].replace( rBackslash, "" ); - }, - - TAG: function( match, curLoop ) { - return match[1].replace( rBackslash, "" ).toLowerCase(); - }, - - CHILD: function( match ) { - if ( match[1] === "nth" ) { - if ( !match[2] ) { - Sizzle.error( match[0] ); - } - - match[2] = match[2].replace(/^\+|\s*/g, ''); - - // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' - var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( - match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || - !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); - - // calculate the numbers (first)n+(last) including if they are negative - match[2] = (test[1] + (test[2] || 1)) - 0; - match[3] = test[3] - 0; - } - else if ( match[2] ) { - Sizzle.error( match[0] ); - } - - // TODO: Move to normal caching system - match[0] = done++; - - return match; - }, - - ATTR: function( match, curLoop, inplace, result, not, isXML ) { - var name = match[1] = match[1].replace( rBackslash, "" ); - - if ( !isXML && Expr.attrMap[name] ) { - match[1] = Expr.attrMap[name]; - } - - // Handle if an un-quoted value was used - match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); - - if ( match[2] === "~=" ) { - match[4] = " " + match[4] + " "; - } - - return match; - }, - - PSEUDO: function( match, curLoop, inplace, result, not ) { - if ( match[1] === "not" ) { - // If we're dealing with a complex expression, or a simple one - if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { - match[3] = Sizzle(match[3], null, null, curLoop); - - } else { - var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); - - if ( !inplace ) { - result.push.apply( result, ret ); - } - - return false; - } - - } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { - return true; - } - - return match; - }, - - POS: function( match ) { - match.unshift( true ); - - return match; - } - }, - - filters: { - enabled: function( elem ) { - return elem.disabled === false && elem.type !== "hidden"; - }, - - disabled: function( elem ) { - return elem.disabled === true; - }, - - checked: function( elem ) { - return elem.checked === true; - }, - - selected: function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - parent: function( elem ) { - return !!elem.firstChild; - }, - - empty: function( elem ) { - return !elem.firstChild; - }, - - has: function( elem, i, match ) { - return !!Sizzle( match[3], elem ).length; - }, - - header: function( elem ) { - return (/h\d/i).test( elem.nodeName ); - }, - - text: function( elem ) { - var attr = elem.getAttribute( "type" ), type = elem.type; - // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) - // use getAttribute instead to test this case - return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null ); - }, - - radio: function( elem ) { - return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type; - }, - - checkbox: function( elem ) { - return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type; - }, - - file: function( elem ) { - return elem.nodeName.toLowerCase() === "input" && "file" === elem.type; - }, - - password: function( elem ) { - return elem.nodeName.toLowerCase() === "input" && "password" === elem.type; - }, - - submit: function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && "submit" === elem.type; - }, - - image: function( elem ) { - return elem.nodeName.toLowerCase() === "input" && "image" === elem.type; - }, - - reset: function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && "reset" === elem.type; - }, - - button: function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && "button" === elem.type || name === "button"; - }, - - input: function( elem ) { - return (/input|select|textarea|button/i).test( elem.nodeName ); - }, - - focus: function( elem ) { - return elem === elem.ownerDocument.activeElement; - } - }, - setFilters: { - first: function( elem, i ) { - return i === 0; - }, - - last: function( elem, i, match, array ) { - return i === array.length - 1; - }, - - even: function( elem, i ) { - return i % 2 === 0; - }, - - odd: function( elem, i ) { - return i % 2 === 1; - }, - - lt: function( elem, i, match ) { - return i < match[3] - 0; - }, - - gt: function( elem, i, match ) { - return i > match[3] - 0; - }, - - nth: function( elem, i, match ) { - return match[3] - 0 === i; - }, - - eq: function( elem, i, match ) { - return match[3] - 0 === i; - } - }, - filter: { - PSEUDO: function( elem, match, i, array ) { - var name = match[1], - filter = Expr.filters[ name ]; - - if ( filter ) { - return filter( elem, i, match, array ); - - } else if ( name === "contains" ) { - return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; - - } else if ( name === "not" ) { - var not = match[3]; - - for ( var j = 0, l = not.length; j < l; j++ ) { - if ( not[j] === elem ) { - return false; - } - } - - return true; - - } else { - Sizzle.error( name ); - } - }, - - CHILD: function( elem, match ) { - var type = match[1], - node = elem; - - switch ( type ) { - case "only": - case "first": - while ( (node = node.previousSibling) ) { - if ( node.nodeType === 1 ) { - return false; - } - } - - if ( type === "first" ) { - return true; - } - - node = elem; - - case "last": - while ( (node = node.nextSibling) ) { - if ( node.nodeType === 1 ) { - return false; - } - } - - return true; - - case "nth": - var first = match[2], - last = match[3]; - - if ( first === 1 && last === 0 ) { - return true; - } - - var doneName = match[0], - parent = elem.parentNode; - - if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { - var count = 0; - - for ( node = parent.firstChild; node; node = node.nextSibling ) { - if ( node.nodeType === 1 ) { - node.nodeIndex = ++count; - } - } - - parent.sizcache = doneName; - } - - var diff = elem.nodeIndex - last; - - if ( first === 0 ) { - return diff === 0; - - } else { - return ( diff % first === 0 && diff / first >= 0 ); - } - } - }, - - ID: function( elem, match ) { - return elem.nodeType === 1 && elem.getAttribute("id") === match; - }, - - TAG: function( elem, match ) { - return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; - }, - - CLASS: function( elem, match ) { - return (" " + (elem.className || elem.getAttribute("class")) + " ") - .indexOf( match ) > -1; - }, - - ATTR: function( elem, match ) { - var name = match[1], - result = Expr.attrHandle[ name ] ? - Expr.attrHandle[ name ]( elem ) : - elem[ name ] != null ? - elem[ name ] : - elem.getAttribute( name ), - value = result + "", - type = match[2], - check = match[4]; - - return result == null ? - type === "!=" : - type === "=" ? - value === check : - type === "*=" ? - value.indexOf(check) >= 0 : - type === "~=" ? - (" " + value + " ").indexOf(check) >= 0 : - !check ? - value && result !== false : - type === "!=" ? - value !== check : - type === "^=" ? - value.indexOf(check) === 0 : - type === "$=" ? - value.substr(value.length - check.length) === check : - type === "|=" ? - value === check || value.substr(0, check.length + 1) === check + "-" : - false; - }, - - POS: function( elem, match, i, array ) { - var name = match[2], - filter = Expr.setFilters[ name ]; - - if ( filter ) { - return filter( elem, i, match, array ); - } - } - } -}; - -var origPOS = Expr.match.POS, - fescape = function(all, num){ - return "\\" + (num - 0 + 1); - }; - -for ( var type in Expr.match ) { - Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); - Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); -} - -var makeArray = function( array, results ) { - array = Array.prototype.slice.call( array, 0 ); - - if ( results ) { - results.push.apply( results, array ); - return results; - } - - return array; -}; - -// Perform a simple check to determine if the browser is capable of -// converting a NodeList to an array using builtin methods. -// Also verifies that the returned array holds DOM nodes -// (which is not the case in the Blackberry browser) -try { - Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; - -// Provide a fallback method if it does not work -} catch( e ) { - makeArray = function( array, results ) { - var i = 0, - ret = results || []; - - if ( toString.call(array) === "[object Array]" ) { - Array.prototype.push.apply( ret, array ); - - } else { - if ( typeof array.length === "number" ) { - for ( var l = array.length; i < l; i++ ) { - ret.push( array[i] ); - } - - } else { - for ( ; array[i]; i++ ) { - ret.push( array[i] ); - } - } - } - - return ret; - }; -} - -var sortOrder, siblingCheck; - -if ( document.documentElement.compareDocumentPosition ) { - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { - return a.compareDocumentPosition ? -1 : 1; - } - - return a.compareDocumentPosition(b) & 4 ? -1 : 1; - }; - -} else { - sortOrder = function( a, b ) { - // The nodes are identical, we can exit early - if ( a === b ) { - hasDuplicate = true; - return 0; - - // Fallback to using sourceIndex (in IE) if it's available on both nodes - } else if ( a.sourceIndex && b.sourceIndex ) { - return a.sourceIndex - b.sourceIndex; - } - - var al, bl, - ap = [], - bp = [], - aup = a.parentNode, - bup = b.parentNode, - cur = aup; - - // If the nodes are siblings (or identical) we can do a quick check - if ( aup === bup ) { - return siblingCheck( a, b ); - - // If no parents were found then the nodes are disconnected - } else if ( !aup ) { - return -1; - - } else if ( !bup ) { - return 1; - } - - // Otherwise they're somewhere else in the tree so we need - // to build up a full list of the parentNodes for comparison - while ( cur ) { - ap.unshift( cur ); - cur = cur.parentNode; - } - - cur = bup; - - while ( cur ) { - bp.unshift( cur ); - cur = cur.parentNode; - } - - al = ap.length; - bl = bp.length; - - // Start walking down the tree looking for a discrepancy - for ( var i = 0; i < al && i < bl; i++ ) { - if ( ap[i] !== bp[i] ) { - return siblingCheck( ap[i], bp[i] ); - } - } - - // We ended someplace up the tree so do a sibling check - return i === al ? - siblingCheck( a, bp[i], -1 ) : - siblingCheck( ap[i], b, 1 ); - }; - - siblingCheck = function( a, b, ret ) { - if ( a === b ) { - return ret; - } - - var cur = a.nextSibling; - - while ( cur ) { - if ( cur === b ) { - return -1; - } - - cur = cur.nextSibling; - } - - return 1; - }; -} - -// Utility function for retreiving the text value of an array of DOM nodes -Sizzle.getText = function( elems ) { - var ret = "", elem; - - for ( var i = 0; elems[i]; i++ ) { - elem = elems[i]; - - // Get the text from text nodes and CDATA nodes - if ( elem.nodeType === 3 || elem.nodeType === 4 ) { - ret += elem.nodeValue; - - // Traverse everything else, except comment nodes - } else if ( elem.nodeType !== 8 ) { - ret += Sizzle.getText( elem.childNodes ); - } - } - - return ret; -}; - -// Check to see if the browser returns elements by name when -// querying by getElementById (and provide a workaround) -(function(){ - // We're going to inject a fake input element with a specified name - var form = document.createElement("div"), - id = "script" + (new Date()).getTime(), - root = document.documentElement; - - form.innerHTML = ""; - - // Inject it into the root element, check its status, and remove it quickly - root.insertBefore( form, root.firstChild ); - - // The workaround has to do additional checks after a getElementById - // Which slows things down for other browsers (hence the branching) - if ( document.getElementById( id ) ) { - Expr.find.ID = function( match, context, isXML ) { - if ( typeof context.getElementById !== "undefined" && !isXML ) { - var m = context.getElementById(match[1]); - - return m ? - m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? - [m] : - undefined : - []; - } - }; - - Expr.filter.ID = function( elem, match ) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - - return elem.nodeType === 1 && node && node.nodeValue === match; - }; - } - - root.removeChild( form ); - - // release memory in IE - root = form = null; -})(); - -(function(){ - // Check to see if the browser returns only elements - // when doing getElementsByTagName("*") - - // Create a fake element - var div = document.createElement("div"); - div.appendChild( document.createComment("") ); - - // Make sure no comments are found - if ( div.getElementsByTagName("*").length > 0 ) { - Expr.find.TAG = function( match, context ) { - var results = context.getElementsByTagName( match[1] ); - - // Filter out possible comments - if ( match[1] === "*" ) { - var tmp = []; - - for ( var i = 0; results[i]; i++ ) { - if ( results[i].nodeType === 1 ) { - tmp.push( results[i] ); - } - } - - results = tmp; - } - - return results; - }; - } - - // Check to see if an attribute returns normalized href attributes - div.innerHTML = ""; - - if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && - div.firstChild.getAttribute("href") !== "#" ) { - - Expr.attrHandle.href = function( elem ) { - return elem.getAttribute( "href", 2 ); - }; - } - - // release memory in IE - div = null; -})(); - -if ( document.querySelectorAll ) { - (function(){ - var oldSizzle = Sizzle, - div = document.createElement("div"), - id = "__sizzle__"; - - div.innerHTML = "

    "; - - // Safari can't handle uppercase or unicode characters when - // in quirks mode. - if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { - return; - } - - Sizzle = function( query, context, extra, seed ) { - context = context || document; - - // Only use querySelectorAll on non-XML documents - // (ID selectors don't work in non-HTML documents) - if ( !seed && !Sizzle.isXML(context) ) { - // See if we find a selector to speed up - var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); - - if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { - // Speed-up: Sizzle("TAG") - if ( match[1] ) { - return makeArray( context.getElementsByTagName( query ), extra ); - - // Speed-up: Sizzle(".CLASS") - } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { - return makeArray( context.getElementsByClassName( match[2] ), extra ); - } - } - - if ( context.nodeType === 9 ) { - // Speed-up: Sizzle("body") - // The body element only exists once, optimize finding it - if ( query === "body" && context.body ) { - return makeArray( [ context.body ], extra ); - - // Speed-up: Sizzle("#ID") - } else if ( match && match[3] ) { - var elem = context.getElementById( match[3] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id === match[3] ) { - return makeArray( [ elem ], extra ); - } - - } else { - return makeArray( [], extra ); - } - } - - try { - return makeArray( context.querySelectorAll(query), extra ); - } catch(qsaError) {} - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - var oldContext = context, - old = context.getAttribute( "id" ), - nid = old || id, - hasParent = context.parentNode, - relativeHierarchySelector = /^\s*[+~]/.test( query ); - - if ( !old ) { - context.setAttribute( "id", nid ); - } else { - nid = nid.replace( /'/g, "\\$&" ); - } - if ( relativeHierarchySelector && hasParent ) { - context = context.parentNode; - } - - try { - if ( !relativeHierarchySelector || hasParent ) { - return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); - } - - } catch(pseudoError) { - } finally { - if ( !old ) { - oldContext.removeAttribute( "id" ); - } - } - } - } - - return oldSizzle(query, context, extra, seed); - }; - - for ( var prop in oldSizzle ) { - Sizzle[ prop ] = oldSizzle[ prop ]; - } - - // release memory in IE - div = null; - })(); -} - -(function(){ - var html = document.documentElement, - matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector; - - if ( matches ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9 fails this) - var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ), - pseudoWorks = false; - - try { - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( document.documentElement, "[test!='']:sizzle" ); - - } catch( pseudoError ) { - pseudoWorks = true; - } - - Sizzle.matchesSelector = function( node, expr ) { - // Make sure that attribute selectors are quoted - expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); - - if ( !Sizzle.isXML( node ) ) { - try { - if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { - var ret = matches.call( node, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || !disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9, so check for that - node.document && node.document.nodeType !== 11 ) { - return ret; - } - } - } catch(e) {} - } - - return Sizzle(expr, null, null, [node]).length > 0; - }; - } -})(); - -(function(){ - var div = document.createElement("div"); - - div.innerHTML = "
    "; - - // Opera can't find a second classname (in 9.6) - // Also, make sure that getElementsByClassName actually exists - if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { - return; - } - - // Safari caches class attributes, doesn't catch changes (in 3.2) - div.lastChild.className = "e"; - - if ( div.getElementsByClassName("e").length === 1 ) { - return; - } - - Expr.order.splice(1, 0, "CLASS"); - Expr.find.CLASS = function( match, context, isXML ) { - if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { - return context.getElementsByClassName(match[1]); - } - }; - - // release memory in IE - div = null; -})(); - -function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { - for ( var i = 0, l = checkSet.length; i < l; i++ ) { - var elem = checkSet[i]; - - if ( elem ) { - var match = false; - - elem = elem[dir]; - - while ( elem ) { - if ( elem.sizcache === doneName ) { - match = checkSet[elem.sizset]; - break; - } - - if ( elem.nodeType === 1 && !isXML ){ - elem.sizcache = doneName; - elem.sizset = i; - } - - if ( elem.nodeName.toLowerCase() === cur ) { - match = elem; - break; - } - - elem = elem[dir]; - } - - checkSet[i] = match; - } - } -} - -function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { - for ( var i = 0, l = checkSet.length; i < l; i++ ) { - var elem = checkSet[i]; - - if ( elem ) { - var match = false; - - elem = elem[dir]; - - while ( elem ) { - if ( elem.sizcache === doneName ) { - match = checkSet[elem.sizset]; - break; - } - - if ( elem.nodeType === 1 ) { - if ( !isXML ) { - elem.sizcache = doneName; - elem.sizset = i; - } - - if ( typeof cur !== "string" ) { - if ( elem === cur ) { - match = true; - break; - } - - } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { - match = elem; - break; - } - } - - elem = elem[dir]; - } - - checkSet[i] = match; - } - } -} - -if ( document.documentElement.contains ) { - Sizzle.contains = function( a, b ) { - return a !== b && (a.contains ? a.contains(b) : true); - }; - -} else if ( document.documentElement.compareDocumentPosition ) { - Sizzle.contains = function( a, b ) { - return !!(a.compareDocumentPosition(b) & 16); - }; - -} else { - Sizzle.contains = function() { - return false; - }; -} - -Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; - - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -var posProcess = function( selector, context ) { - var match, - tmpSet = [], - later = "", - root = context.nodeType ? [context] : context; - - // Position selectors must be done after the filter - // And so must :not(positional) so we move all PSEUDOs to the end - while ( (match = Expr.match.PSEUDO.exec( selector )) ) { - later += match[0]; - selector = selector.replace( Expr.match.PSEUDO, "" ); - } - - selector = Expr.relative[selector] ? selector + "*" : selector; - - for ( var i = 0, l = root.length; i < l; i++ ) { - Sizzle( selector, root[i], tmpSet ); - } - - return Sizzle.filter( later, tmpSet ); -}; - -// EXPOSE -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.filters; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - -})(); - - -var runtil = /Until$/, - rparentsprev = /^(?:parents|prevUntil|prevAll)/, - // Note: This RegExp should be improved, or likely pulled from Sizzle - rmultiselector = /,/, - isSimple = /^.[^:#\[\.,]*$/, - slice = Array.prototype.slice, - POS = jQuery.expr.match.POS, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend({ - find: function( selector ) { - var self = this, - i, l; - - if ( typeof selector !== "string" ) { - return jQuery( selector ).filter(function() { - for ( i = 0, l = self.length; i < l; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }); - } - - var ret = this.pushStack( "", "find", selector ), - length, n, r; - - for ( i = 0, l = this.length; i < l; i++ ) { - length = ret.length; - jQuery.find( selector, this[i], ret ); - - if ( i > 0 ) { - // Make sure that the results are unique - for ( n = length; n < ret.length; n++ ) { - for ( r = 0; r < length; r++ ) { - if ( ret[r] === ret[n] ) { - ret.splice(n--, 1); - break; - } - } - } - } - } - - return ret; - }, - - has: function( target ) { - var targets = jQuery( target ); - return this.filter(function() { - for ( var i = 0, l = targets.length; i < l; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - not: function( selector ) { - return this.pushStack( winnow(this, selector, false), "not", selector); - }, - - filter: function( selector ) { - return this.pushStack( winnow(this, selector, true), "filter", selector ); - }, - - is: function( selector ) { - return !!selector && ( typeof selector === "string" ? - jQuery.filter( selector, this ).length > 0 : - this.filter( selector ).length > 0 ); - }, - - closest: function( selectors, context ) { - var ret = [], i, l, cur = this[0]; - - // Array - if ( jQuery.isArray( selectors ) ) { - var match, selector, - matches = {}, - level = 1; - - if ( cur && selectors.length ) { - for ( i = 0, l = selectors.length; i < l; i++ ) { - selector = selectors[i]; - - if ( !matches[ selector ] ) { - matches[ selector ] = POS.test( selector ) ? - jQuery( selector, context || this.context ) : - selector; - } - } - - while ( cur && cur.ownerDocument && cur !== context ) { - for ( selector in matches ) { - match = matches[ selector ]; - - if ( match.jquery ? match.index( cur ) > -1 : jQuery( cur ).is( match ) ) { - ret.push({ selector: selector, elem: cur, level: level }); - } - } - - cur = cur.parentNode; - level++; - } - } - - return ret; - } - - // String - var pos = POS.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( i = 0, l = this.length; i < l; i++ ) { - cur = this[i]; - - while ( cur ) { - if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { - ret.push( cur ); - break; - - } else { - cur = cur.parentNode; - if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) { - break; - } - } - } - } - - ret = ret.length > 1 ? jQuery.unique( ret ) : ret; - - return this.pushStack( ret, "closest", selectors ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - if ( !elem || typeof elem === "string" ) { - return jQuery.inArray( this[0], - // If it receives a string, the selector is used - // If it receives nothing, the siblings are used - elem ? jQuery( elem ) : this.parent().children() ); - } - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - var set = typeof selector === "string" ? - jQuery( selector, context ) : - jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), - all = jQuery.merge( this.get(), set ); - - return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? - all : - jQuery.unique( all ) ); - }, - - andSelf: function() { - return this.add( this.prevObject ); - } -}); - -// A painfully simple check to see if an element is disconnected -// from a document (should be improved, where feasible). -function isDisconnected( node ) { - return !node || !node.parentNode || node.parentNode.nodeType === 11; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return jQuery.nth( elem, 2, "nextSibling" ); - }, - prev: function( elem ) { - return jQuery.nth( elem, 2, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( elem.parentNode.firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.makeArray( elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -}); - -jQuery.extend({ - filter: function( expr, elems, not ) { - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 ? - jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : - jQuery.find.matches(expr, elems); - }, - - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - nth: function( cur, result, dir, elem ) { - result = result || 1; - var num = 0; - - for ( ; cur; cur = cur[dir] ) { - if ( cur.nodeType === 1 && ++num === result ) { - break; - } - } - - return cur; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, keep ) { - - // Can't pass null or undefined to indexOf in Firefox 4 - // Set to 0 to skip string check - qualifier = qualifier || 0; - - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep(elements, function( elem, i ) { - var retVal = !!qualifier.call( elem, i, elem ); - return retVal === keep; - }); - - } else if ( qualifier.nodeType ) { - return jQuery.grep(elements, function( elem, i ) { - return (elem === qualifier) === keep; - }); - - } else if ( typeof qualifier === "string" ) { - var filtered = jQuery.grep(elements, function( elem ) { - return elem.nodeType === 1; - }); - - if ( isSimple.test( qualifier ) ) { - return jQuery.filter(qualifier, filtered, !keep); - } else { - qualifier = jQuery.filter( qualifier, filtered ); - } - } - - return jQuery.grep(elements, function( elem, i ) { - return (jQuery.inArray( elem, qualifier ) >= 0) === keep; - }); -} - - - - -var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, - rtagName = /<([\w:]+)/, - rtbody = /", "" ], - legend: [ 1, "
    ", "
    " ], - thead: [ 1, "", "
    " ], - tr: [ 2, "", "
    " ], - td: [ 3, "", "
    " ], - col: [ 2, "", "
    " ], - area: [ 1, "", "" ], - _default: [ 0, "", "" ] - }; - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// IE can't serialize and - - - + - - + } diff --git a/NzbDrone.Web/Views/Settings/Quality.cshtml b/NzbDrone.Web/Views/Settings/Quality.cshtml index 6d0b46e07..cdaefda3d 100644 --- a/NzbDrone.Web/Views/Settings/Quality.cshtml +++ b/NzbDrone.Web/Views/Settings/Quality.cshtml @@ -53,7 +53,7 @@ @section Scripts{ - + - - - - - - - + + + + + + + + + - + @MvcMiniProfiler.MiniProfiler.RenderIncludes() @RenderSection("HeaderContent", required: false) @@ -60,6 +61,7 @@ background notification @(Html.Telerik().ScriptRegistrar().jQuery(false)) + @RenderSection("Scripts", required: false) diff --git a/NzbDrone/app.config b/NzbDrone/app.config index 19dd15844..81d395705 100644 --- a/NzbDrone/app.config +++ b/NzbDrone/app.config @@ -4,6 +4,6 @@ - + \ No newline at end of file