var what = '';

function DoCallback(data, url, callback)
{
	if (window.XMLHttpRequest)  // branch for native XMLHttpRequest object
	{
		req = new XMLHttpRequest();
		req.onreadystatechange = processReqChange;
		what = callback;
		req.open('POST', url, true);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		req.send(data);
	}
	else if (window.ActiveXObject)  // branch for IE/Windows ActiveX version
	{
		req = new ActiveXObject('Microsoft.XMLHTTP')
		if (req) {
			req.onreadystatechange = processReqChange;
			what = callback;
			req.open('POST', url, true);
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			req.send(data);
		}
	}
	else
	{
		alert('Your browser is not supported. Please upgrade to the newest version of your browser so that we can provide you with better service.');	
	}
}

function processReqChange() {
	// only if req shows 'loaded'
	if (req.readyState == 4) {
		// only if 'OK'
		if (req.status == 200)
			eval(what);
		else
			alert('There was a problem retrieving the XML data: ' +	req.responseText);
	}
}

function GetStates(Country, field, setfield)
{
	DoCallback(field + "=" + Country, "http://www.ebosacityguide.com/country.php", "SetStates(req.responseText, '" + setfield + "')");
}

function SetStates(States, setfield)
{
	var stateBox = document.getElementById(setfield);
	stateBox.options.length = 0;
	if(States != "")
	{
		var arrStates = States.split(",");
		var state;
		for(i = 0; i < arrStates.length; i++)
		{
			if(arrStates[i] != "")
			{
				state = arrStates[i].split("#");
				stateBox.options[stateBox.options.length] = new Option(state[0], state[1]);
			}
		}
	}
}

function GetLocations(parent, setfield, extra)
{
	DoCallback("parent=" + parent + "&" + extra, "http://www.ebosacityguide.com/ajaxlocations.php", "SetLocations(req.responseText, '" + setfield + "')");
}

function SetLocations(locations, setfield)
{
	var field = document.getElementById(setfield);
	field.options.length = 0;
	field.options[0] = new Option("", "");
	if(locations.length != 0)
	{
		var arrLocations = locations.split(",");
		var loc;
		for(i = 0; i < arrLocations.length; i++)
		{
			if(arrLocations[i] != "")
			{
				loc = arrLocations[i].split("#");
				field.options[field.options.length] = new Option(loc[1], loc[0]);
			}
		}
	}
}

function ResetField(fieldName)
{
	var field = document.getElementById(fieldName);
	field.options.length = 0;
	field.options[0] = new Option("", "");
}

function CheckFields(country, state, city)
{
	var field1 = document.getElementById(country);
	var field2 = document.getElementById(state);
	var field3 = document.getElementById(city);
	if (field1.value.length == 0)
	{
		field2.style.visibility = 'hidden';
		field2.style.display = 'none';
		field3.style.visibility = 'hidden';
		field3.style.display = 'none';
	}
	else
	{
		field2.style.visibility = '';
		field2.style.display = '';
		if (field2.value.length == 0)
		{
			field3.style.visibility = 'hidden';
			field3.style.display = 'none';
		}
		else
		{
			field3.style.visibility = '';
			field3.style.display = '';
		}
	}
}

function GetMenuItems(menuCategory, setfield)
{
	DoCallback("category=" + menuCategory, "productlisteritems.php", "SetMenuItems(req.responseText, '" + setfield + "')");
}

function SetMenuItems(Items, setfield)
{
	var itemBox = document.getElementById(setfield);
	itemBox.options.length = 0;
	itemBox.options[0] = new Option("Select an Item", "");
	if(Items != "")
	{
		var arrItems = Items.split("|");
		for(i = 0; i < arrItems.length; i = i + 2)
		{
			if(arrItems[i] != "" && arrItems[i + 1] != "")
				itemBox.options[itemBox.options.length] = new Option(arrItems[i + 1], arrItems[i]);
		}
	}
}

function GetMenuItem(menuItem, name, short, long, price)
{
	DoCallback("itemId=" + menuItem, "productlisteredititems.php", "SetMenuItem(req.responseText, '" + name + "', '" + short + "', '" + long + "', '" + price + "')");
}

function GetMenuCategories(menuCategory, catName)
{
	DoCallback("categoryId=" + menuCategory, "productlistereditcategories.php", "SetMenuCategory(req.responseText, '" + catName + "')");
}

function SetMenuItem(data, name, short, long, price)
{
	if(data != "")
	{
		data = data.split("|");
		document.getElementById(name).value = data[0];
		document.getElementById(short).value = data[1];
		document.getElementById(long).value = data[2];
		document.getElementById(price).value = data[3];
	}
}

function SetMenuCategory(data, catName)
{
	if(data != "")
	{
		document.getElementById(catName).value = data;
	}
}

function encode(text)
{
	text = text.replace('&', '%26');
	return text;	
}

function sendCoupon()
{
	var str = "";
	str += "coupon_id=" + encode(document.getElementById('coupon_id').value);
	str += "&coupon_name=" + encode(document.getElementById('coupon_name').value);
	str += "&coupon_valid_Year=" + encode(document.getElementById('coupon_valid_Year').value);
	str += "&coupon_valid_Month=" + encode(document.getElementById('coupon_valid_Month').value);
	str += "&coupon_valid_Day=" + encode(document.getElementById('coupon_valid_Day').value);
	str += "&coupon_expires_Year=" + encode(document.getElementById('coupon_expires_Year').value);
	str += "&coupon_expires_Month=" + encode(document.getElementById('coupon_expires_Month').value);
	str += "&coupon_expires_Day=" + encode(document.getElementById('coupon_expires_Day').value);

	for (i = 1; i <= 5; i++)
	{
		str += "&cd_design_" + i + "=" + encode(document.getElementById('cd_design_' + i).value);
		str += "&cd_color1_" + i + "=" + encode(document.getElementById('cd_color1_' + i).value);
		str += "&cd_color2_" + i + "=" + encode(document.getElementById('cd_color2_' + i).value);
		str += "&cd_transparency_" + i + "=" + encode(document.getElementById('cd_transparency_' + i).value);
		str += "&cd_border_" + i + "=" + encode(document.getElementById('cd_border_' + i).value);
		str += "&cd_zorder_" + i + "=" + encode(document.getElementById('cd_zorder_' + i).value);
	}

	for (i = 1; i <= 3; i++)
	{
		str += "&ct_text_" + i + "=" + encode(document.getElementById('ct_text_' + i).value);
		str += "&ct_font_" + i + "=" + encode(document.getElementById('ct_font_' + i).value);
		str += "&ct_color_" + i + "=" + encode(document.getElementById('ct_color_' + i).value);
		str += "&ct_size_" + i + "=" + encode(document.getElementById('ct_size_' + i).value);
		str += "&ct_xoffset_" + i + "=" + encode(document.getElementById('ct_xoffset_' + i).value);
		str += "&ct_yoffset_" + i + "=" + encode(document.getElementById('ct_yoffset_' + i).value);
		str += "&ct_rotation_" + i + "=" + encode(document.getElementById('ct_rotation_' + i).value);
		str += "&ct_zorder_" + i + "=" + encode(document.getElementById('ct_zorder_' + i).value);
	}

	for (i = 1; i <= 2; i++)
	{
		str += "&ci_image_" + i + "=" + encode(document.getElementById('ci_image_' + i).value);
		str += "&ci_xscale_" + i + "=" + encode(document.getElementById('ci_xscale_' + i).value);
		str += "&ci_yscale_" + i + "=" + encode(document.getElementById('ci_yscale_' + i).value);
		str += "&ci_xoffset_" + i + "=" + encode(document.getElementById('ci_xoffset_' + i).value);
		str += "&ci_yoffset_" + i + "=" + encode(document.getElementById('ci_yoffset_' + i).value);
		str += "&ci_rotation_" + i + "=" + encode(document.getElementById('ci_rotation_' + i).value);
		str += "&ci_zorder_" + i + "=" + encode(document.getElementById('ci_zorder_' + i).value);
	}

	DoCallback(str, "ajaxcoupon.php", "showCoupon(req.responseText)");
}

function showCoupon(coupon)
{
	if (coupon == "OK")
		document.getElementById('coupon_preview').src = "previewCoupon.php?" + Math.random();
	else
		alert(coupon);
}

function sendTemplate()
{
	if (document.getElementById('template_name').value == "")
	{
		alert('You must enter a name for the template.');
		return false;
	}
	if (list_length <= 1)
	{
		alert('You must add at least one field to the form.');
		return false;
	}
	var str = "";
	str += "template_name=" + encode(document.getElementById('template_name').value);
	str += "&template_group=" + encode(document.getElementById('template_group').value);
	str += "&template_id=" + encode(document.getElementById('template_id').value);

	for (i = 1; i < list_length ; i++)
	{
		str += "&field_names[" + i + "]=" + field_names[i];
		str += "&field_styles[" + i + "]=" + field_styles[i];
		str += "&field_types[" + i + "]=" + field_types[i];
	}

	DoCallback(str, "ajaxtemplate.php", "alert(req.responseText);");
	//DoCallback(str, "ajaxtemplate.php", "document.getElementById('temp').value=(req.responseText)");
}