﻿/// <reference name="MicrosoftAjax.js"/>
/// <reference path="jquery-1.2.6.js" />

Type.registerNamespace("Meuk.UI.Controls");

Meuk.UI.Controls.WGrid = function(element) {
    Meuk.UI.Controls.WGrid.initializeBase(this, [element]);
    
    this._selectedIndex = null;
}

Meuk.UI.Controls.WGrid.prototype = {
    initialize: function() {
        Meuk.UI.Controls.WGrid.callBaseMethod(this, 'initialize');
    },
    dispose: function() {
        Meuk.UI.Controls.WGrid.callBaseMethod(this, 'dispose');
    },
    get_selectedIndex : function() {
		return this._selectedIndex;
    },
    set_selectedIndex : function(value) {
		if (this._selectedIndex !== value) {
			this._selectedIndex = value;
			this.raisePropertyChanged('selectedIndex');
		}
    }
}

Meuk.UI.Controls.WGrid.registerClass('Meuk.UI.Controls.WGrid', Sys.UI.Control);

function gridItemDblClick(id, event) {
	var control = $find($get('contentMain').getElementsByTagName('div')[0].id);
	var pos = id.lastIndexOf('_');
	var gridId = id.substring(0, pos);
	var grid = $find(gridId);

	if (grid.get_element().disabled)
		return false;

	if (event)
		eval(event);
}

function gridItemClick(id, event) {
	var control = $find($get('contentMain').getElementsByTagName('div')[0].id);
	var pos = id.lastIndexOf('_');
	var gridId = id.substring(0, pos);
	var grid = $find(gridId);

	if (grid.get_element().disabled)
		return;

	var sel_id = grid.get_selectedIndex();

	if (sel_id > 0) {
		$get(gridId + "_row" + sel_id).className = "gitem gnotsel";
	}

	var j = $get(id);
	if (j)
		j.className = "gitem gsel";

	var i = id.substring(pos + 4);
	grid.set_selectedIndex(i);

	$get(gridId + "_selectedIndex").value = i;

	if (control.get_changesMade != null && control.get_changesMade() == false) {
		var tb = $find(gridId + "_Toolbar");
		if (tb) {
			tb.findItemByValue("Edit").enable();
			if (control.get_disableChanges() == false) {
				tb.findItemByValue("Delete").enable();
			}
		}
		else {
			var btn = $get(control.get_category() + "_btnEdit");
			if (btn)
				btn.disabled = false;

			if (control.get_disableChanges() == false) {
				btn = $get(control.get_category() + "_btnDelete");
				if (btn)
					btn.disabled = false;
			}
		}
	}

	if (event)
		eval(event);
}

function KeyDown(e) {
	var v = $find('filterText').get_textBoxValue();

	if (e.keyCode == 8) // backspace 
	{
		if (v.length > 0) {
			v = v.substr(0, v.length - 1);
		}
	}
	else if (e.keyCode >= 48 && e.keyCode <= 90) // alpha-numeric characters
	{
		v = v + String.fromCharCode(e.keyCode).toLowerCase();
	}

	var i = $('#wgList_wgt .gitem');

	i.each(function(j) { jQuery(this).show() });

	var i = $('#wgList_wgt .gitem').not(':containsIgnoreCase(' + v + ')');
	i.each(function(j) { jQuery(this).hide() });

	i = $('#wgList_wgt .gitem').not(':hidden');
	if (i.size() > 20) {
		$('#wgList_wgt .gsep').show();
	}
	else {
		$('#wgList_wgt .gsep').hide();
	}
	if (i.size() == 1) {
		i.each(function(j) { gridItemClick(this.id, null) });
	}
}

jQuery.extend(jQuery.expr[':'], {
	containsIgnoreCase: "(a.textContent||a.innerText||jQuery(a).text ()||'').toLowerCase().indexOf((m[3]||'').toLowerCase())>=0"
});


if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();

