/*
 * theTeam UI Core 0.1
 *
 * Copyright (c) 2010 theTeam (http://www.theteam.co.uk/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 *
 * Depends:
 *    ui.core.js
 *    theteam.core.js
 */



/* Add a case-insensitive :contains selector to jQuery */
$.extend($.expr[':'],{
    icontains: function(a,i,m) {
        return $(a).text().toLowerCase().indexOf(m[3].toLowerCase()) >= 0;
    }
});

/* Add a selector for data()
 * @author James Padosley
 * @url http://james.padolsey.com/javascript/a-better-data-selector-for-jquery/
 *
 * Usage.
 *  //Select all elements with "foo" set to "bar":
 *  $('*:data(foo,bar)')
 *  
 * */
jQuery.expr[':'].data = function(elem, index, m) {

    m[0] = m[0].replace(/:data\(|\)$/g, '');

    var regex = new RegExp('([\'"]?)((?:\\\\\\1|.)+?)\\1(,|$)', 'g'),
        key = regex.exec( m[0] )[2],
        val = regex.exec( m[0] )[2];

    return val ? jQuery(elem).data(key) == val : !!jQuery(elem).data(key);

};
