var getEvent = function() {

    YAHOO.example.CustomFormatting = new function() { 
	if(YAHOO.util.Dom.get("geoLocation").value==''){return false;}
	
	YAHOO.util.Dom.get("eventDateMsg").innerHTML = YAHOO.util.Dom.get("eventDateMsgHolder").value;
	document.getElementById('event').style.display="block";  
    
	this.formatRadio = function(elCell, oRecord, oColumn, sData) { 
	    elCell.innerHTML = "<input type='radio' name='event_id' value='" + sData + "'/>"; 
	}; 
	
        var myColumnDefs = [
            {key:"event_id", label:'',className:'radioColumn',formatter:this.formatRadio}, 
            {key:"description", label:"Event"}, 
            {key:"event_time_local", label:"Time"},
            {key:"venue_name", label:"Venue"}
        ];

	var eventUrl = '/listingCatalog/select?indent=on&version=2.2&fl=event_id%2C+description%2C+event_date_local%2C+event_time_local%2C++name_primary%2C+venue_name&qt=standard&explainOther=&hl.fl=&qt=standard&wt=json&q=-description:mirror+stubhubDocumentType:event';
        this.myDataSource = new YAHOO.util.DataSource(eventUrl);
        this.myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
        this.myDataSource.responseSchema = {
            resultsList: "response.docs",
            fields: [
            	"event_id",
                "description", 
                "event_time_local", 
                "venue_name"
            ], 
	    metaFields: { 
	    	totalRecords: "response.numFound" // Access to value in the server response 
	    }
        };
	var eventParam="%0D%0A%2BancestorGeoIds%3A"+YAHOO.util.Dom.get("geoLocation").value+"%0D%0A%2Bevent_date_local%3A"+YAHOO.util.Dom.get("year").value+"-"+YAHOO.util.Dom.get("month").value+"-"+YAHOO.util.Dom.get("day").value+"%3B%0D%0Aevent_time_local+asc";
	
	eventInitParam = eventParam+"&start=0&rows=20";
	var oConfigs = { 		
		initialRequest: eventInitParam, 
		generateRequest : function(state, dt){		
		              		return eventParam+ '&start=' + state.pagination.recordOffset + '&rows:' + state.pagination.rowsPerPage;
	        },
		dynamicData: true,  
		paginator: new YAHOO.widget.Paginator(
			{ 	rowsPerPage:20, 
				containers: "paginationContainer",
				pageReportTemplate: "<b>Page</b> {currentPage} of {totalPages}",
				template: "{CurrentPageReport} | &nbsp;&nbsp;{PreviousPageLink} {PageLinks} {NextPageLink}"
			})  		
	}; 
        this.myDataTable = new YAHOO.widget.DataTable("eventcontainer", myColumnDefs, this.myDataSource, oConfigs);
	this.myDataTable.set("MSG_EMPTY","<b>No events match your search criteria. Please verify your date and location.");
 	this.myDataTable.handleDataReturnPayload = function(oRequest, oResponse, oPayload) { 
	        oPayload.totalRecords = oResponse.meta.totalRecords; 
	        YAHOO.util.Dom.get('eventId').value="";    
	        return oPayload; 
	    } 
	     
        var lastSelectedRadioRecord = null;
        this.myDataTable.subscribe("radioClickEvent", function(oArgs){
            if(lastSelectedRadioRecord) {
                lastSelectedRadioRecord.setData("radio",false);
            }
            var elRadio = oArgs.target;
            var oRecord = this.getRecord(elRadio);
            oRecord.setData("radio",true);
            lastSelectedRadioRecord = oRecord;     
	    YAHOO.util.Dom.get('eventId').value=oRecord.getData("event_id");
        });
        
               
	return {
	ds: this.myDataSource,
	dt: this.myDataTable
	};

    };
}

var checkTerms = function() {
	if(YAHOO.util.Dom.get('agreesTermsConditions').checked){
		document.getElementById('submit_div').style.display="block";
		document.getElementById('submit_inactive_div').style.display="none";
	}
	else{	
		document.getElementById('submit_div').style.display="none";
		document.getElementById('submit_inactive_div').style.display="block";
	}
	
}
YAHOO.util.Event.onDOMReady(function (){
	YAHOO.util.Event.addListener(YAHOO.util.Dom.get('findBtn'), "click", getEvent);
	YAHOO.util.Event.addListener(YAHOO.util.Dom.get('agreesTermsConditions'), "click", checkTerms);
}); 
