var whereData = [
	["whole", "whole field"],
	["start", "start of field"],
	["end", "end of field"],
	["anywhere", "anywhere in field"]
];

var searchtypeData = [
	["chinese", "Chinese (Trad. or Simp)"],
	["simp", "Simp. Chinese"],
	["trad", "Trad. Chinese"],
	["pinyin", "Pinyin"],
	["english", "English"]
];

var frm;

function doSearch() {
	Ext.get("adsenseOuter").setVisible(false);
	var word = Ext.get("search").dom.value;
	var searchtype = frm.findField("searchtype").getValue();
	searchtype = (searchtype == "") ? "chinese" : searchtype;
	var where = frm.findField("where").getValue();
	where = (where == "") ? "whole" : where;
	//var audio = frm.findField("audio").getValue();
	//audio = (audio) ? "on" : null;
	var output = frm.findField("output").getValue();
	output = (output) ? "gif" : null;
	Ext.get("results").load({
		 url: "cgi-bin/ajax-wordlook.pl",
		 params: {
		 	word: word,
			 searchtype: searchtype,
			 where: where,
			 //audio: audio,
			 output: output
			 },
		 callback: function() {
		 	var adsenseOuter = Ext.get("adsenseOuter");
			adsenseOuter.setVisible(true, true);
		 },
		 nocache: false,
		 method: 'GET',
		 timeout: 30
		 });
	
}

var Page = {};
Page.init = function()
{
	Ext.get("frm").on("submit", function(e) {
		e.preventDefault();
		doSearch();
	});
	
	var trigger = new Ext.form.TriggerField();
	trigger.onTriggerClick = doSearch;
	trigger.applyTo('search');

	frm = new Ext.form.Form();
    frm.fieldset({
		legend: 'Options',
		hideLabels: true
	},
	
        new Ext.form.ComboBox({
			name: "searchtype",
            store: new Ext.data.SimpleStore({
                fields: ['flag', 'descr'],
				data: searchtypeData
            }),
            displayField:'descr',
			valueField:'flag',
		    typeAhead: true,
		    mode: 'local',
		    triggerAction: 'all',
		    emptyText:'Search As..',
		    selectOnFocus:true
        }),
		
        new Ext.form.ComboBox({
			name: "where",
            store: new Ext.data.SimpleStore({
                fields: ['flag', 'descr'],
				data: whereData
            }),
            displayField:'descr',
			valueField:'flag',
		    typeAhead: true,
		    mode: 'local',
		    triggerAction: 'all',
		    emptyText:'Match..',
		    selectOnFocus:true
        }),
		
		new Ext.form.Checkbox({
			name: "output",
            boxLabel:'Display Chinese using GIFs'
        })
		
		/*
		new Ext.form.Checkbox({
			name: "audio",
            boxLabel:'Include pronunciation links'
        })
        */
    );

	frm.render('options');
	Ext.get('searchDiv').boxWrap();
	Ext.get('results').boxWrap();
	Ext.get('adsense').boxWrap();
	Ext.get('page').fadeIn();
};
Ext.onReady(Page.init, Page, true);
