Dom = YAHOO.util.Dom;

YAHOO.util.Event.onDOMReady(function() {
	// Global Dialog object
	var div = document.createElement('div');
	div.innerHTML = "<div class='hd'></div><div class='bd'></div>";
	document.body.appendChild(div);
	
	var businessDialog = new YAHOO.widget.Dialog(div,
	{
		width : "625px",
		visible : false,
		underlay : "none",
		draggable : false,
		modal: true,
		zindex: 50,
		constraintoviewport: true,
		fixedcenter: true,
		postmethod: 'form'
	} );

	// Hide Dialog
	var hideBusinessDialog = function() {
		this.hide();
	}

	//////////////////////////////////
	//// SUGGEST BUSINESS SECTION ////
	//////////////////////////////////

	var validateSuggestBusiness = function () {
		// Gathering Information
		var businessCompany = document.getElementById('businessCompany');
		var businessPhone = document.getElementById('businessPhone');
		var businessEmail = document.getElementById('businessEmail');
		var businessComment = document.getElementById('businessComment');
		
		// Fix errors
		businessPhone.value = businessPhone.value.replace(/[^0-9]/g, '');	
		
		// Validate and add to Errors
		var errors = '';
		if (businessCompany.value == "")
			errors += "<li>Company Name is required.</li>";
		if (businessPhone.value == "")
			errors += "<li>Phone Number is required.</li>";
		if (businessEmail.value == "")
			errors += "<li>Email Address is required.</li>";
		if (businessPhone.value.search(/(^$)|(^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$)/)==-1) 
			errors += "<li>Phone Number is invalid.  Must be in the form 123-123-1234</li>";
		if (businessEmail.value.search(/(^$)|(^[^@]+@([^@.]+\.)+[^@.]{2,6}$)/)==-1)
			errors += "<li>Email Address is invalid<br>";
		
		// Fill in errors div or return successful
		if (errors != '') {
			document.getElementById('businessSuggestErrors').innerHTML = "<font color='red'><b>There is a problem with the form:</b><br><ul>"+errors+"</ul></font>";
			return false;
		} else {
			document.getElementById('businessSuggestErrors').innerHTML = "Please help us by providing the company's information on the form below. Thanks in advance for your assistance.";
			return true;
		}
	}

	var lookupFuneralHome = function() {
		document.getElementById('funeralHomeLookupForm').submit();
	}

	var businessSuggestionSuccess = function(o){
		// Gathering Information
		var root = o.responseXML.documentElement;
		var businessType = root.getElementsByTagName('businessType')[0].firstChild.nodeValue;
		var businessVar = businessType.toLowerCase();
		var businessVar = businessVar.substr(0,3);
		var success = root.getElementsByTagName('success')[0].firstChild.nodeValue;
		var reason = '';
		if (root.getElementsByTagName('reason'))
			reason = root.getElementsByTagName('reason')[0].firstChild.nodeValue;
			
		if (success == '1') {
			// Set the Dialog up
			businessDialog.setBody("Thank you for submitting your request about banner advertising on FSN Funeral Homes.  We've received your company information and will contact you within 24 hours.");
			var newButtons = [ { text:"Okay", handler:hideBusinessDialog } ]; 
			//{ text:"Add another "+businessType, handler:function(){showSuggestBusiness(businessVar);} },
			businessDialog.cfg.queueProperty("buttons", newButtons);
			
			// Show Dialog
			businessDialog.render();
		} else {
			document.getElementById('businessSuggestErrors').innerHTML = "<font color='red'><b>There is a problem with the form:</b><br>"+reason+"</font>";
		}
	}
	var businessSuggestionFailure = function(o){
		alert("Error: Please Re-Log in and try again.");
	}
	var businessSuggestionCallback = {
		success: businessSuggestionSuccess,
		failure: businessSuggestionFailure
	};

	showFuneralHomeLookup = function() {
		// Information Gathering //
		var formContent = '';
		
		// Create Form
		formContent += "<form id='funeralHomeLookupForm' action='/search.php' method='get'>";
		formContent += "<table style='width:100%'><tbody><tr><td colspan='2'>";
		formContent += "<div style='height: 85px;'>For deceased or ceremony information you will need to contact the funeral home directly. Please look up the funeral home below.</div>";
		formContent += "</td></tr>";
		
		formContent += "<tr><td style='vertical-align:top; width:50%'>*City: ";
		formContent += "<input type='text' size='25' value='' name='s'>";
		formContent += "</td><td>";
		formContent += "State/Province: ";
		formContent += "<select name='addr_state'>";
		formContent += '<option value="" selected="selected">Select State / Province</option>';
		formContent += '<optgroup label="United States">';
		formContent += '<option value="AL">Alabama</option><option value="AK">Alaska</option>';
		formContent += '<option value="AZ">Arizona</option><option value="AR">Arkansas</option><option value="CA">California</option><option value="CO">Colorado</option>';
		formContent += '<option value="CT">Connecticut</option><option value="DE">Delaware</option><option value="DC">District of Columbia</option><option value="FL">Florida</option>';

		formContent += '<option value="GA">Georgia</option><option value="HI">Hawaii</option><option value="ID">Idaho</option><option value="IL">Illinois</option>';
		formContent += '<option value="IN">Indiana</option><option value="IA">Iowa</option><option value="KS">Kansas</option><option value="KY">Kentucky</option>';
		formContent += '<option value="LA">Louisiana</option><option value="ME">Maine</option><option value="MD">Maryland</option><option value="MA">Massachusetts</option>';

		formContent += '<option value="MI">Michigan</option><option value="MN">Minnesota</option><option value="MS">Mississippi</option><option value="MO">Missouri</option>';
		formContent += '<option value="MT">Montana</option><option value="NE">Nebraska</option><option value="NV">Nevada</option><option value="NH">New Hampshire</option>';
		formContent += '<option value="NJ">New Jersey</option><option value="NM">New Mexico</option><option value="NY">New York</option><option value="NC">North Carolina</option>';

		formContent += '<option value="ND">North Dakota</option><option value="OH">Ohio</option><option value="OK">Oklahoma</option><option value="OR">Oregon</option>';
		formContent += '<option value="PA">Pennsylvania</option><option value="RI">Rhode Island</option><option value="SC">South Carolina</option><option value="SD">South Dakota</option>';
		formContent += '<option value="TN">Tennessee</option><option value="TX">Texas</option><option value="UT">Utah</option><option value="VT">Vermont</option>';

		formContent += '<option value="VA">Virginia</option><option value="WA">Washington</option><option value="WV">West Virginia</option><option value="WI">Wisconsin</option>';
		formContent += '<option value="WY">Wyoming</option>';
		formContent += '</optgroup>';
		formContent += '<optgroup label="Canada">';
		formContent += '<option value="AB">Alberta</option>';
		formContent += '<option value="BC">British Columbia</option>';

		formContent += '<option value="MB">Manitoba</option>';
		formContent += '<option value="NB">New Brunswick</option>';
		formContent += '<option value="NF">Newfoundland</option>';
		formContent += '<option value="NS">Nova Scotia</option>';
		formContent += '<option value="ON">Ontario</option>';
		formContent += '<option value="PE">Prince Edward Island</option>';

		formContent += '<option value="QC">Quebec</option>';
		formContent += '<option value="SK">Saskatchewan</option>';
		formContent += '</optgroup>';
		formContent += '</select>';

		formContent += "</select>";
		formContent += "</td>";
		
		formContent += "</tr></tbody></table>";
		formContent += "</form>";
		
		// Set up form
		businessDialog.setBody(formContent);
		businessDialog.cfg.queueProperty("width", "800px");
		businessDialog.cfg.queueProperty("buttons", [{ text:"Submit", handler: lookupFuneralHome, isDefault:true }, { text:"Cancel", handler: hideBusinessDialog }]);
		businessDialog.setHeader("Please contact the funeral home directly.");
		
		// Show Dialog
		businessDialog.render();
		businessDialog.show();
		return false;
	}
});

