YAHOO.namespace("dialog.container");
var getResponse = ' ';

//#############################################################################################
function showList(memberID) {
         var myURL = '/other/plantsByMember.php?id='+memberID; 
	     window.open(myURL,"","width=800,height=400,status=0,scrollbars=yes");
	};

//#############################################################################################
function scrollWindow(){
    
    window.parent.scrollTo(100,500);
}


//#############################################################################################	
var showDialog = function(mbrID) {

    	
    var handleGetSuccess = function(o) {
	    getResponse = o.responseText;
		//alert(getResponse);
	};
	
	var handleGetFailure = function(o){ 
	    if(o.responseText !== undefined){ 
		    errorResponse = o.tId+' '+o.status+' '+o.statusText;
	        alert(errorResponse);
	    } 
	}; 
	
	var callback = {
	    success: handleGetSuccess,
		failure: handleGetFailure
	};

    
	sUrl = "/other/getMemberByID.php?id="+mbrID;
    //var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); 
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, 
	                                              { success: function(o) {
												    getResponse = o.responseText;
													showInfo(getResponse);
												    }	
												  }); 
	
	
	function showInfo(getResponse) {
	if (getResponse !== undefined) {
	  
	  
	  
	    
	  var biz = getResponse.split("|", 14);
	  var recAddress = biz[3];
	  var recPhones = 'Phone: '+biz[9];
	  var recFax = '';
	  var recEmail = '';
	  var recURL = '';
	  var mapURLbase1 = '<a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=';
	  var mapURLbase2 = '" target="_blank">map</a>';
	  var openPlantListLink = '<a href="javascript:showList('+mbrID+')">Plant List</a>';
	  
	  if (biz[4]) { recAddress += '<br>'+biz[4]; }
	  if (biz[10]) { recPhones += '<br>Phone: '+biz[10]; }
	  if (biz[11]) { recFax = '<br>Fax: '+biz[11]; }
	  if (biz[12]) { recEmail = '<br>Email: <a href="mailto:'+biz[12]+'">'+biz[12]+'</a>'; }
	  if (biz[13]) { recURL = '<br>Web: <a href="http://'+biz[13]+'" target="_blank">'+biz[13]+'</a>'; }
	  var urlAddress = biz[3]+'+'+biz[4]+',+'+biz[5]+',+'+biz[6]+'+'+biz[7];
	  
	  var bizDisplay = '<p><strong>'+biz[0]+'</strong></p>'+
	                   '<p>'+biz[1]+' '+biz[2]+'<br>'+
	                   recAddress+'<br>'+
	                   biz[5]+', '+biz[6]+'  '+biz[7]+'  '+
					   '('+mapURLbase1+urlAddress+mapURLbase2+')'+
	                   '<br><br>'+recPhones+
					   recFax+'<br>'+recEmail+recURL+
					   '<br><br><div style="float:right;">'+
					   openPlantListLink+'</div>';
					    
	
    
		
// Instantiate the Dialog
	YAHOO.dialog.container.simpledialog1 = new YAHOO.widget.SimpleDialog("simpledialog1", 
																			 { width: "300px",
																			   fixedcenter: true,
																			   visible: true,
																			   close: true,
																			   text: bizDisplay,
																			   icon: YAHOO.widget.SimpleDialog.ICON_INFO,
																			   constraintoviewport: true
																			 } );
	YAHOO.dialog.container.simpledialog1.setHeader("<div class='tl'></div><span>Nursery Info</span><div class='tr'></div>");
	
	// Render the Dialog
	YAHOO.dialog.container.simpledialog1.render("container");
	YAHOO.dialog.container.simpledialog1.show();
	document.getElementById("container").style.display = "block";
    }
	
    };  
};

//######################################################################################################################
var myLinkFormatter = function(elCell, oRecord, oColumn, oData) {

    varMBRID = oRecord.getData("MBRID");
	elCell.innerHTML = '<a href="javascript:showDialog('+varMBRID+');">' + oData + '</a>';
    
};

//######################################################################################################################
function showMembers(audienceType,searchTerm,plantNameType) {

	   var memberColumnDefs = [
		    {key:"Company", formatter:myLinkFormatter, sortable:true, resizeable:false, label:"Nursery", width:120},
			{key:"City", sortable:true, width:80, resizeable:false},
			{key:"Sz", sortable:true, width:50, resizeable:false, label:"Size", sortOptions:{field:"Order"}},
			{key:"Spc", sortable:false, width:110, resizeable:false, label:"Specs"},
			{key:"Qty", sortable:false, width:10, resizeable:false, label:"Qty"},
			{key:"MBRID", hidden:true},
			{key:"Order", hidden:true}
		];
		
		var strTemp = searchTerm.replace(/'/g,"\\'");
		strTemp = strTemp.replace(/#/g,"\\%23");
		
		searchTerm = strTemp;
		//alert(searchTerm);
		var sMemberUrl = "members.php?a="+audienceType+"&s=" + searchTerm + "&t="+plantNameType;
		var memberDataSource = new YAHOO.util.XHRDataSource(sMemberUrl);
		memberDataSource.responseType = YAHOO.util.DataSource.TYPE_TEXT;
        memberDataSource.responseSchema = {
			recordDelim: "\n", 
	        fieldDelim: "|",
			fields: ["Company","City","Sz","Spc","Qty","MBRID","Order"]
        };
		
		var memberDataTable = new YAHOO.widget.DataTable("members",
                memberColumnDefs, memberDataSource, {
				                             scrollable:true,
											 selectionMode:"single",
											 height: "200px"
											 });
											 
									 
};

// ############################################################################

function showPlants(nameType,custType) { // nameType: common or scientific (c or s)
							             // custType: wholesale or retail (w or r)

        document.getElementById("basic").style.display = "block";
		document.getElementById("county").style.display = "none";
		document.getElementById("container").style.display = "none";
	    document.getElementById("members").style.display = "none";
		
		scrollWindow();
				
		var myColumnDefs = [
            {key:"Name", sortable:true, resizeable:true, width:400, label:"Choose a plant"}
	    ];

		
		var sUrl = "plants.php?n="+nameType;
        var myDataSource = new YAHOO.util.XHRDataSource(sUrl);
		myDataSource.responseType = YAHOO.util.DataSource.TYPE_TEXT;
        myDataSource.responseSchema = {
			recordDelim: "\n", 
	        fieldDelim: ",",
			fields: ["Name"]
        };

		
        var myDataTable = new YAHOO.widget.DataTable("basic",
                myColumnDefs, myDataSource, {caption:"Choose a plant", 
				                             scrollable:true, 
											 height:"15em",
											 selectionMode:"single"
											 });
       
		
        // Subscribe to events for row selection
        myDataTable.subscribe("rowMouseoverEvent", myDataTable.onEventHighlightRow);
        myDataTable.subscribe("rowMouseoutEvent", myDataTable.onEventUnhighlightRow);
        myDataTable.subscribe("rowClickEvent", myDataTable.onEventSelectRow);
		        
		// Subscribe to event for cell selection			
		myDataTable.subscribe('cellClickEvent',function (oArgs) {
				var target = oArgs.target;
				var record = this.getRecord(target);
				//alert(record.getData('Name'));
				searchTerm = record.getData('Name');
				showMembers(custType,searchTerm,nameType);
				document.getElementById("members").style.display = "block";
		});
        
};

//#####################################################################################################################
function showMembersByName(audienceType,countySearch) {

	   document.getElementById("county").style.display = "none"; 
	   document.getElementById("basic").style.display = "none";
	   document.getElementById("container").style.display = "none";
	   document.getElementById("members").style.display = "block";
	   
	   scrollWindow();
	   
	   var memberColumnDefs = [
		    {key:"Company", formatter:myLinkFormatter, sortable:true, resizeable:true, width: 400},
			{key:"MBRID", hidden:true}
		];
		
		if (countySearch==undefined) {
		   countySearch = "all";
		}   
		var sMemberUrl = "membersOnly.php?a="+audienceType+"&r=n&s="+countySearch;
		var memberDataSource = new YAHOO.util.XHRDataSource(sMemberUrl);
		memberDataSource.responseType = YAHOO.util.DataSource.TYPE_TEXT;
        memberDataSource.responseSchema = {
			recordDelim: "\n", 
	        fieldDelim: "|",
			fields: ["Company","MBRID"]
        };
		
		 var oConfigs = {
                paginator: new YAHOO.widget.Paginator({
                    rowsPerPage: 22
                })
        };
		
		var memberDataTable = new YAHOO.widget.DataTable("members",
                memberColumnDefs, memberDataSource,  {
											 scrollable:true,
											 selectionMode:"single",
											 height:"200px"
											 });
											 
									 
};

//###############################################################################################################
function showCounties(audienceType) {

    document.getElementById("county").style.display = "block";
	document.getElementById("basic").style.display = "none";
	document.getElementById("container").style.display = "none";
	document.getElementById("members").style.display = "none";
	
	scrollWindow();
	
	var countyColumnDefs = [
		{key:"County", sortable:true, resizable:true, width:100}
    ];
	
	var sCountyUrl = "membersOnly.php?a="+audienceType+"&r=c";
	var countyDataSource = new YAHOO.util.XHRDataSource(sCountyUrl);
	countyDataSource.responseType = YAHOO.util.DataSource.TYPE_TEXT;
	countyDataSource.responseSchema = {
			recordDelim: "\n", 
	        fieldDelim: "|",
			fields: ["County"]
        };
	
    var countyDataTable = new YAHOO.widget.DataTable("county",
			countyColumnDefs, countyDataSource, {scrollable:true,
												 height:"9em",
											     selectionMode:"single"
												 });

	// Subscribe to events for row selection
        countyDataTable.subscribe("rowMouseoverEvent", countyDataTable.onEventHighlightRow);
        countyDataTable.subscribe("rowMouseoutEvent", countyDataTable.onEventUnhighlightRow);
        countyDataTable.subscribe("rowClickEvent", countyDataTable.onEventSelectRow);
		        
		// Subscribe to event for cell selection			
		countyDataTable.subscribe('cellClickEvent',function (oArgs) {
				var target = oArgs.target;
				var record = this.getRecord(target);
				//alert(record.getData('County'));
				searchTerm = record.getData('County');
				showMembersByName(audienceType,searchTerm);
				document.getElementById("county").style.display = "block";
		});													    
};	