// Multiple Filter - JavaScript

<!--
var dsEssences = new Spry.Data.XMLDataSet("/global/data/essencesFR.xml", "essences/essence", { subPaths: "meridians", entityEncodeStrings: false });
//dsEssences.setColumnType("resonance", "html");


//function ffPermanent(ds, row, index){ return (row.resonance == "perm") ? row : null; };
//function ffContract(ds, row, index){ return (row.resonance == "Contract") ? row : null; };
//function ffTemp(ds, row, index){ return (row.resonance == "temp") ? row : null; };

// JavaScript RegExp Object Reference   http://www.w3schools.com/jsref/jsref_obj_regexp.asp  
function ffHeartProtector(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m01"); return rowData ? null : row; }; //.*Heart Protector
function ffTripleWarmer(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m02"); return rowData ? null : row; }; //.*Triple Warmer
function ffGallBladder(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m03"); return rowData ? null : row; }; //.*Gall Bladder
function ffLiver(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m04"); return rowData ? null : row; }; //.*Liver
function ffLung(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m05"); return rowData ? null : row; }; //.*Lung
function ffLargeIntestine(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m06"); return rowData ? null : row; }; //.*Large Intestine
function ffStomach(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m07"); return rowData ? null : row; }; //.*Stomach
function ffSpleen(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m08"); return rowData ? null : row; }; //.*Spleen
function ffHeart(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m09"); return rowData ? null : row; }; //.*Heart(?! Protector)  Heart without Protector ?! A negative look ahead. Get a match if a string is not followed by a specific string
function ffSmallIntestine(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m10"); return rowData ? null : row; }; //.*Small Intestine
function ffBladder(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m11"); return rowData ? null : row; }; // ^Bladder|,\sBladder    Regular Expressions: ^ =  Beginning of String    | = or    ,\s = comma with single space
function ffKidney(ds, row, index){ var rowData = row.meridianRefCodes.search(".*m12"); return rowData ? null : row; }; //.*Kidney

function ffCrown(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c01"); return rowData ? null : row; }; //.*Crown
function ffForehead(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c02"); return rowData ? null : row; }; //.*Forehead
function ffThirdEyeAjna(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c03"); return rowData ? null : row; }; //.*Third Eye/Ajna
function ffThroat(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c04"); return rowData ? null : row; }; //.*Throat
function ffHeartChakra(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c05"); return rowData ? null : row; }; //.*Heart
function ffSolarPlexus(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c06"); return rowData ? null : row; }; //.*Solar Plexus
function ffSpleenChakra(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c07"); return rowData ? null : row; }; //.*Spleen
function ffNavel(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c08"); return rowData ? null : row; }; //.*Navel
function ffSacralSex(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c09"); return rowData ? null : row; }; //.*Sacral/Sex
function ffBackHead(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c10"); return rowData ? null : row; }; //.*Back Head
function ffBackNeck(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c11"); return rowData ? null : row; }; //.*Back Neck
function ffMengMain(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c12"); return rowData ? null : row; }; //.*Meng Main
function ffRootBasic(ds, row, index){ var rowData = row.chakraRefCodes.search(".*c13"); return rowData ? null : row; }; //.*Root/Basic


// FUNCTION TO HIDE ALL ESSENCES INITIALLY
var HideAllmeridians = function(dataSet, row, rowNumber)
{
	if (row["ds_RowID"] <= -1)
		return row; 
	return null; 
}

//var ShowAllMeridians = function(dataSet, row, rowNumber)
//{
//if (row["ds_RowID"] = 1)
//	return row; 
//return null; 
//}




function ShowAllMeridians()
{
//function ffHeartProtector(ds, row, index){ return (row.Meridian == "Heart Protector") ? row : null; };
	document.forms[0]["HeartProtectorCB"].checked = true;
	document.forms[0]["TripleWarmerCB"].checked = true;
	document.forms[0]["GallBladderCB"].checked = true;
	document.forms[0]["LiverCB"].checked = true;
	document.forms[0]["LungCB"].checked = true;
	document.forms[0]["LargeIntestineCB"].checked = true;
	document.forms[0]["StomachCB"].checked = true;
	document.forms[0]["SpleenCB"].checked = true;
	document.forms[0]["HeartCB"].checked = true;
	document.forms[0]["SmallIntestineCB"].checked = true;
	document.forms[0]["BladderCB"].checked = true;
	document.forms[0]["KidneyCB"].checked = true;
	
	document.forms[0]["Removeallmeridians"].checked = true;

	dsEssences.addFilter(ffHeartProtector, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffTripleWarmer, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffGallBladder, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffLiver, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffLung, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffLargeIntestine, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffStomach, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffSpleen, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffHeart, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffSmallIntestine, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffBladder, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffKidney, true);   // Add a filter and apply it.

	//dsEssences.ShowAllMeridians(true);
}

function RemoveAllMeridians()
{
	document.forms[0]["HeartProtectorCB"].checked = false;
	document.forms[0]["TripleWarmerCB"].checked = false;
	document.forms[0]["GallBladderCB"].checked = false;
	document.forms[0]["LiverCB"].checked = false;
	document.forms[0]["LungCB"].checked = false;
	document.forms[0]["LargeIntestineCB"].checked = false;
	document.forms[0]["StomachCB"].checked = false;
	document.forms[0]["SpleenCB"].checked = false;
	document.forms[0]["SmallIntestineCB"].checked = false;
	document.forms[0]["BladderCB"].checked = false;
	document.forms[0]["KidneyCB"].checked = false;

	document.forms[0]["Showallmeridians"].checked = false;
	
	dsEssences.removeFilter(ffHeartProtector, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffTripleWarmer, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffGallBladder, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffLiver, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffLung, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffLargeIntestine, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffStomach, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffSpleen, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffSmallIntestine, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffBladder, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffKidney, true);   // Add a filter and apply it.

	//dsEssences.RemoveAllMeridians(true);
}

function ShowAllChakras()
{
	document.forms[0]["CrownCB"].checked = true;
	document.forms[0]["HeartChakraCB"].checked = true;
	document.forms[0]["ThirdEyeAjnaCB"].checked = true;
	document.forms[0]["ForeheadCB"].checked = true;
	document.forms[0]["ThroatCB"].checked = true;
	document.forms[0]["SacralSexCB"].checked = true;
	document.forms[0]["NavelCB"].checked = true;
	document.forms[0]["SpleenChakraCB"].checked = true;
	document.forms[0]["SolarPlexusCB"].checked = true;
	document.forms[0]["BackHeadCB"].checked = true;
	document.forms[0]["BackNeckCB"].checked = true;
	document.forms[0]["MengMainCB"].checked = true;
	document.forms[0]["RootBasicCB"].checked = true;
	
	document.forms[0]["Removeallchakras"].checked = false;

	dsEssences.addFilter(ffCrown, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffHeartChakra, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffThirdEyeAjna, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffForehand, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffThroat, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffSacralSex, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffNavel, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffSpleenChakra, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffSolarPlexus, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffBackHead, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffBackNeck, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffMengMain, true);   // Add a filter and apply it.
	dsEssences.addFilter(ffRootBasic, true);   // Add a filter and apply it.

	//dsEssences.ShowAllChakras(true);
}


function RemoveAllChakras()
{
	document.forms[0]["CrownCB"].checked = false;
	document.forms[0]["HeartChakraCB"].checked = false;
	document.forms[0]["ThirdEyeAjnaCB"].checked = false;
	document.forms[0]["ForeheadCB"].checked = false;
	document.forms[0]["ThroatCB"].checked = false;
	document.forms[0]["SacralSexCB"].checked = false;
	document.forms[0]["NavelCB"].checked = false;
	document.forms[0]["SpleenChakraCB"].checked = false;
	document.forms[0]["SolarPlexusCB"].checked = false;
	document.forms[0]["BackHeadCB"].checked = false;
	document.forms[0]["BackNeckCB"].checked = false;
	document.forms[0]["MengMainCB"].checked = false;
	document.forms[0]["RootBasicCB"].checked = false;
	
	document.forms[0]["Showallchakras"].checked = false;

	dsEssences.removeFilter(ffCrown, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffHeartChakra, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffThirdEyeAjna, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffForehead, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffThroat, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffSacralSex, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffNavel, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffSpleenChakra, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffSolarPlexus, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffBackHead, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffBackNeck, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffMengMain, true);   // Add a filter and apply it.
	dsEssences.removeFilter(ffRootBasic, true);   // Add a filter and apply it.

	//dsEssences.RemoveAllChakras(true);
}

function ToggleFilter(enable, f)
{
	if (enable)
		dsEssences.addFilter(f, true);
	else
		dsEssences.removeFilter(f, true);

}


function ResetEveryBloodyThing()
{

	document.forms[0]["Showallmeridians"].checked = false;
	document.forms[0]["Removeallmeridians"].checked = false;
	document.forms[0]["Showallchakras"].checked = false;
	document.forms[0]["Removeallchakras"].checked = false;
		//dsEssences.ResetEveryBloodyThing(true);
}
//-->