/*
	Copyright (c) 2004-2008, The Dojo Foundation All Rights Reserved.
	Available via Academic Free License >= 2.1 OR the modified BSD license.
	see: http://dojotoolkit.org/license for details
*/


if(!dojo._hasResource["dojo.data.util.sorter"]){dojo._hasResource["dojo.data.util.sorter"]=true;dojo.provide("dojo.data.util.sorter");dojo.data.util.sorter.basicComparator=function(a,b){var _3=0;if(a>b||typeof a==="undefined"||a===null){_3=1;}else{if(a<b||typeof b==="undefined"||b===null){_3=-1;}}return _3;};dojo.data.util.sorter.createSortFunction=function(_4,_5){var _6=[];function createSortFunction(_7,_8){return function(_9,_a){var a=_5.getValue(_9,_7);var b=_5.getValue(_a,_7);var _d=null;if(_5.comparatorMap){if(typeof _7!=="string"){_7=_5.getIdentity(_7);}_d=_5.comparatorMap[_7]||dojo.data.util.sorter.basicComparator;}_d=_d||dojo.data.util.sorter.basicComparator;return _8*_d(a,b);};};var _e;for(var i=0;i<_4.length;i++){_e=_4[i];if(_e.attribute){var _10=(_e.descending)?-1:1;_6.push(createSortFunction(_e.attribute,_10));}}return function(_11,_12){var i=0;while(i<_6.length){var ret=_6[i++](_11,_12);if(ret!==0){return ret;}}return 0;};};}