﻿$(document).ready(function () {

});


(function ($) {
	$.fn.TelerikGridPageSize = function (options) {

		var settings = {
			'selectListHtml': '',
			'reloadGrid': null
		};

		return this.each(
			function () {
				if (options) {
					$.extend(settings, options);
				}

				$.fn.Grid = $(this);
				$('.t-status-text').after('<div style="float:right;margin-right:1em">Page Size: ' + settings['selectListHtml'] + '</div>');
				$('#pageSize').change(
					function () {
						//var grid = $(this).data("tGrid");
						//var grid = $(this).Grid.data("tGrid");
						var pageSize = $(this).val();

						//grid.pageSize = parseInt(pageSize);
						//grid.changePageSize(parseInt(pageSize));
						//grid.rebind();
						
						if (settings['reloadGrid']) {
							settings['reloadGrid'].apply(this, Array.prototype.slice.call(arguments, 1));
						} else {
							alert(' No reload function supplied!!');
						}
					});
				return $();
			});
	};
})(jQuery);

/*
 * shows an ajax loading gif and then removes the element from the DOM
 */
function grayOut(vis, elm, after) {
	if (vis == true) {
		if (after == true) {
			$('#' + elm).after('<img id="ajaxLoader" src="/content/images/ajax-loader-small2.gif" alt="Loading..." />');
		} else {
			$('#' + elm).append('<img id="ajaxLoader" src="/content/images/ajax-loader-small2.gif" alt="Loading..." />');
		}
	}
	else {
		$('#ajaxLoader').remove();
	}
}

function addFilterMark(controlId) {
	var n = $(controlId + "Filter").length;
	if (n <= 0) {
		$(controlId + 'Div').append('<img id="' + controlId.replace('#','') + 'Filter" src="/iconcache/business/16x16/funnel.png" class="filter" alt="Used in the current filter" />');
	}
}
function removeFilterMark(controlId) {
	$(controlId + "Filter").remove();
}

/*
 * Builds the Telerik filter string from data in a Telerik DropDownList()
 */
function BuildSearchComboBox(controlId, searchString, filter) {
	var combo = $(controlId).data('tDropDownList');
	if (combo != null) {
		if (combo.value() != '' && combo.value() != '0') {
			addFilterMark(controlId);

			if (filter.length > 0) { filter += "~and~"; }
			filter += searchString + '~eq~' + combo.value();
		}
		else {
			removeFilterMark(controlId);
		}
	} else {
		alert('Combo ' + controlId + ' - NOT FOUND!');
	}
	return filter;
}

function BuildSearchDateRange(controlIdFrom, controlIdTo, searchString, filter) {

	var from = $(controlIdFrom).data('tDatePicker');
	var to = $(controlIdTo).data('tDatePicker');

	if (from != null && to != null) {
		if (from.value() != null && to.value() != null) {
			addFilterMark(controlIdFrom);

			if (filter.length > 0) { filter += "~and~"; }
			filter += searchString + "From~eq~'" + formatDate(from.value()) + "'~and~";
			filter += searchString + "To~eq~'" + formatDate(to.value()) + "'";
			filter += "~and~" + searchString + "~eq~'" + formatDate(from.value()) + "|" + formatDate(to.value()) + "'";
		}
		else {
			removeFilterMark(controlIdFrom);
		}
	} else {
		alert('Date controls ' + controlIdFrom + ' - NOT FOUND!');
	}
	return filter;
}

function formatDate(date, format) {
	var formatq = '{0:yyyy/MM/dd}';
	return $.telerik.formatString(formatq, date);
}


function BuildSearchComboBoxAllowZero(controlId, searchString, filter) {
	var combo = $(controlId).data('tDropDownList');
	if (combo != null) {
		if (combo.value() != '') {
			addFilterMark(controlId);
			if (filter.length > 0) { filter += "~and~"; }
			filter += searchString + '~eq~' + combo.value();
		}
		else {
			removeFilterMark(controlId);
		}
	} else {
		alert('Combo ' + controlId + ' - NOT FOUND!');
	}
	return filter;
}

/*
 * Builds the Telerik filter string from data in a textbox
 */
function BuildSearchTextBox(controlId, searchString, filter) {
	var data = $(controlId).val();
	if (data != null) {
		if (data != '') {
			if (filter.length > 0) { filter += "~and~"; }
			filter += searchString + "~eq~'" + data + "'";
			addFilterMark(controlId);
		}
		else {
			removeFilterMark(controlId);
		}
	}
	return filter;
}

function BuildSearchTextBox2(controlId, searchString, filter) {
	var data = $(controlId).val();
	if (data != null) {
		if (data != '') {
			if (filter.length > 0) { filter += "~and~"; }
			filter += 'substringof(' + searchString + ",'" + data + "')";
			addFilterMark(controlId);
		}
		else {
			removeFilterMark(controlId);
		}
	}
	return filter;
}

/*
 * Builds the Telerik filter string from data in a checkbox
 */
function BuildSearchCheckBox(controlId, searchString, filter) {
	var clearFilter = $(controlId).attr('checked');
	if (filter.length > 0) { filter += "~and~"; }
	if (clearFilter == true) {
		filter += searchString + '~eq~1';
	}
	else {
		filter += searchString + '~eq~0';
	}
	return filter;
}


function ClearComboBox(controlId) {
	var combo = $(controlId).data('tComboBox');
	combo.value('');
	combo.text('');
}

function clearDropDownList(controlId) {
	var ddl = $('#' + controlId).data('tDropDownList');
	var source = [{ Text: '', Value: ''}]
	ddl.dataBind(source);
}
