(function($) {
/*
 * Function: fnGetColumnData
 * Purpose:  Return an array of table values from a particular column.
 * Returns:  array string: 1d data array
 * Inputs:   object:oSettings - dataTable settings object. This is always the last argument past to the function
 *           int:iColumn - the id of the column to extract the data from
 *           bool:bUnique - optional - if set to false duplicated values are not filtered out
 *           bool:bFiltered - optional - if set to false all the table data is used (not only the filtered)
 *           bool:bIgnoreEmpty - optional - if set to false empty values are not filtered from the result array
 * Author:   Benedikt Forchhammer <b.forchhammer /AT\ mind2.de>
 */
$.fn.dataTableExt.oApi.fnGetColumnData = function ( oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty ) {
	// check that we have a column id
	if ( typeof iColumn == "undefined" ) return new Array();

	// by default we only wany unique data
	if ( typeof bUnique == "undefined" ) bUnique = true;

	// by default we do want to only look at filtered data
	if ( typeof bFiltered == "undefined" ) bFiltered = true;

	// by default we do not wany to include empty values
	if ( typeof bIgnoreEmpty == "undefined" ) bIgnoreEmpty = true;

	// list of rows which we're going to loop through
	var aiRows;

	// use only filtered rows
	if (bFiltered == true) aiRows = oSettings.aiDisplay;
	// use all rows
	else aiRows = oSettings.aiDisplayMaster; // all row numbers

	// set up data array
	var asResultData = new Array();

	for (var i=0,c=aiRows.length; i<c; i++) {
		iRow = aiRows[i];
		var aData = this.fnGetData(iRow);
		var sValue = aData[iColumn];

		// ignore empty values?
		if (bIgnoreEmpty == true && sValue.length == 0) continue;

		// ignore unique values?
		else if (bUnique == true && jQuery.inArray(sValue, asResultData) > -1) continue;

		// else push the value onto the result data array
		else asResultData.push(sValue);
	}

	return asResultData;
}}(jQuery));

(function($) {
$.fn.dataTableExt.oApi.fnFilterClear  = function ( oSettings )
{
	/* Remove global filter */
	oSettings.oPreviousSearch.sSearch = "";

	/* Remove the text of the global filter in the input boxes */
	if ( typeof oSettings.aanFeatures.f != 'undefined' )
	{
		var n = oSettings.aanFeatures.f;
		for ( var i=0, iLen=n.length ; i<iLen ; i++ )
		{
			$('input', n[i]).val( '' );
		}
	}

	/* Remove the search text for the column filters - NOTE - if you have input boxes for these
	 * filters, these will need to be reset
	 */
	for ( var i=0, iLen=oSettings.aoPreSearchCols.length ; i<iLen ; i++ )
	{
		oSettings.aoPreSearchCols[i].sSearch = "";
	}

	/* Redraw */
	oSettings.oApi._fnReDraw( oSettings );
}}(jQuery));

function fnCreateSelectMake( aData )
{
	var r='<select name="make" id="make"><option value="">--Make--</option>', i, iLen=aData.length;
	for ( i=0 ; i<iLen ; i++ )
	{
		r += '<option value="'+aData[i]+'">'+aData[i]+'</option>';
	}
	return r+'</select>';
}

function fnCreateSelectModel( aData )
{
	var r='<select name="model" id="model"><option value="">--Model--</option>', i, iLen=aData.length;
	for ( i=0 ; i<iLen ; i++ )
	{
		r += '<option value="'+aData[i]+'">'+aData[i]+'</option>';
	}
	return r+'</select>';
}

function fnCreateSelectYear( aData )
{
	var r='<select name="year" id="year"><option value="">--Year--</option>', i, iLen=aData.length;
	for ( i=0 ; i<iLen ; i++ )
	{
		r += '<option value="'+aData[i]+'">'+aData[i]+'</option>';
	}
	return r+'</select>';
}

function check()
{
    //var combined_ts = make.value+"--"+model.value+"--"+year.value;
    var combined_ts = document.getElementById('make').value+"--"+document.getElementById('model').value+"--"+document.getElementById('year').value;
    document.getElementById('ts').value = combined_ts;
    var go_to = "http://dillaircontrols.com/dill/tpms-lookup/?ts="+combined_ts;
   // alert(go_to);
    window.location=go_to;
    return false;
}

jQuery(document).ready(function($) {
	/* Initialise the DataTable */
	var oTable = $('#wp-table-reloaded-id-4-no-1').dataTable( {
		"oLanguage":
                {"sUrl": "http://dillaircontrols.com/dill/wp-content/plugins/wp-table-reloaded/languages/datatables/lang-en_US.txt"},
			"aaSorting": [], "bSortClasses": false, "asStripClasses":[], "bSort": false,
			"bPaginate": false, "bLengthChange": false, "bInfo": false, "sSearch": "Search all columns:"
	} );

	/* Add a select menu for each TH element in the table footer */
	$("#make_div").each( function ( i ) {
		this.innerHTML = fnCreateSelectMake( oTable.fnGetColumnData(0) );
		$('select', this).change( function () {
			oTable.fnFilter( $(this).val(), i );
                        $("#model_div").each( function ( i ) {
                            this.innerHTML = fnCreateSelectModel( oTable.fnGetColumnData(1) );
                            $('select', this).change( function () {
                            var val = $(this).val().replace( /\(/g, "\\(").replace(/\)/g, "\\)");
                            var regex = (val == "" ?  "": val + "$");
                            oTable.fnFilter( regex, 1, true, false, false );
                            $("#year_div").each( function ( i ) {
                                this.innerHTML = fnCreateSelectYear( oTable.fnGetColumnData(2) );
                                $('select', this).change( function () {
                                oTable.fnFilter( $(this).val(), 2 );
                                } );
                            } );
                            } );
                        } );
		} );
	} );
} );
