function showHelpBox(el, msg, leftOffset)
{
	if(leftOffset == undefined)
		leftOffset = 198;

	var id = Math.random(1000);

	el = $(el);

 	var helpEl = el.next('div.helpbox_container');

	/* if the helpbox hasn't been created, do this now. */
	if(helpEl.length == 0)
	{	
		var helpBox = '<div class="helpbox_container">';
		helpBox += '<div class="helpbox_close"><a href="javascript:void(0);" onclick="$(this).parents(\':eq(1)\').fadeOut();"><img src="/sys_images/helpbox_close.png" width="11" height="11" alt="Close" /></a></div>';
		helpBox += '<div class="helpbox_content"><span>' + msg + '</span></div>';
		helpBox += '<div class="helpbox_arrow"></div>';
		helpBox += '</div>';

		el.after(helpBox);
	
		helpEl = el.next('div.helpbox_container');
	}
	/* if it has been created and is already showing, hide the helpbox. */
	else
	{
		if(helpEl.css("display") == "block")
		{
			helpEl.fadeOut();
			return true;
		}
	}

	var position = {};
        position = el.position();

	var topOffset = parseInt(helpEl.height())+16;
	
        helpEl.css("top", parseInt(position['top'])-topOffset + 'px');
        helpEl.css("left", parseInt(position['left'])-leftOffset + 'px');

	helpEl.fadeIn();
}

function checkAll(field)
{
	var checked = true;

	for (i = 0; i < field.length; i++)
	{
		if(i == 0 && field[i].checked == false)
			checked = false;
		
		field[i].checked = checked;
	}
}

function fadeDiv(id, toggleTo)
{
	if(document.getElementById(id))
	{
		var div = document.getElementById(id);
		
		if(toggleTo == "block")
		{
			$('#'+id).fadeIn("slow");
		}
		else if(toggleTo == "none")
		{
			$('#'+id).fadeOut("slow");
		}
		else
		{
			if(div.style.display == "none")
				$('#'+id).fadeIn("slow");
			else
				$('#'+id).fadeOut("slow");
		}
	}
}

function writeToField(id, txt)
{
	if(document.getElementById(id))
	{
		var div = document.getElementById(id);
		
		div.value = txt;
	}
}

var errorboxid = -1;

			 function filterString(str) {
				  re = /\$|\_|,|@|#|~|`|\%|\*|\^|\&|\(|\)|\+|\=|\[|\-|\]|\[|\}|\{|\;|\:|\'|\"|\<|\>|\s|\?|\||\\|\!|\$|\./g;
				  // remove special characters like "$" and "," etc...
				  return str.replace(re, "");
			 }

			function suggestURL()
			{
				var title = document.getElementById('title').value;
				var url = document.getElementById('url_title').value;

				if(title != "" && url == "" && title != "Home")
				{
					string = filterString(title);
					document.getElementById('url_title').value = string.toLowerCase();
				}
			}

			function validatePage()
			{
				var status = true;
				var msg = '';
				var id = '';
				var section = 0;
				
				var page_image = "";
				if(document.getElementById('page_image'))
					page_image = document.getElementById('page_image').value;

				var title = document.getElementById('title').value;

				if(isEmpty(title))
				{
					msg = 'Please enter in a title for this page.';
					id = 'title';
					section = 1;

					status = false;
				}
				else if(page_image != "" && !isImage(page_image))
				{
					msg = 'The page image you are trying to add must be either a JPG or PNG file.';
					id = 'page_image';
					section = 2;
					status = false;
				}
				if(!status)
				{
					toggleJavascriptError(msg, id, section, true);
				}

				return status;
			}

			function validateWebsiteSettings()
			{
				var status = true;
				var msg = '';
				var id = '';
				var section = '';

				var clientname = document.getElementById('CLIENT_NAME').value;
				var clientemail = document.getElementById('CLIENT_EMAIL').value;
				
				var newsitems = undefined; 
				if(document.getElementById('NUMBER_OF_NEWS_ITEMS'))
					newsitems = document.getElementById('NUMBER_OF_NEWS_ITEMS').value;
					
				var nextInvoiceNumber = undefined;
				if(document.getElementById('NEXT_INVOICE_NUMBER'))
					nextInvoiceNumber = document.getElementById('NEXT_INVOICE_NUMBER').value;

				if(isEmpty(clientname))
				{
					msg = 'Please enter in your company name.';
					id = 'CLIENT_NAME';
					section = 0;
					status = false;
				}
				else if(isEmpty(clientemail))
				{
					msg = 'Please enter in your email address.';
					id = 'CLIENT_EMAIL';
					section = 0;
					status = false;
				}
				else if(newsitems != undefined && !isPositiveInteger(newsitems) && newsitems > 10)
				{
					msg = 'Please enter a valid number of news items (between 1 & 10).';
					id = 'NUMBER_OF_NEWS_ITEMS';
					section = 0;
					status = false;
				}
				else if(nextInvoiceNumber != undefined && !validNextInvoiceNumber(nextInvoiceNumber))
				{
					msg = 'The invoice number you specified is invalid. It may be less than the current invoice number or greater than the limit..';
					id = 'NEXT_INVOICE_NUMBER';
					section = 1;
					status = false;
				}

				if(!status)
					toggleJavascriptError(msg, id, section, true);

				return status;
			}
			
			function validNextInvoiceNumber(invoiceNum)
			{
				currentMaxOrderID = parseInt(document.getElementById('currentMaxOrderID').value);
				currentNextInvoiceNumber = parseInt(document.getElementById('currentNextInvoiceNumber').value);
				invoiceNum = parseInt(invoiceNum);

				if(!isPositiveInteger(invoiceNum))
					return false;

				if(invoiceNum == currentNextInvoiceNumber)
					return true;
				
				if(invoiceNum > (4294966295-1000))
					return false;

				if(invoiceNum > currentMaxOrderID)
				{
					return true;
				}
				else
				{
					return false;
				}
			}

			function validatePanel()
			{
				var title = document.getElementById('title').value;
				
				var status = true;
				var msg = '';
				var id = '';
				var section = 0;

				if(isEmpty(title))
				{
					msg = 'Please enter in a title for this panel.';
					id = 'title';
					section = 1;

					status = false;
				}
				else if(!isAlphaNumeric(title))
				{
					msg = 'The panel title must contain only alpha numerical data.';
					id = 'title';
					section = 1;

					status = false;
				}

				if(!status)
				{			
					toggleJavascriptError(msg, id, section);
				}

				return status;
			}
			
			function toggleJavascriptError(msg, id, section, setfocus)
			{
					/*
					Clear other messages
					*/
					var flag = true;
					var i=0;
					while(flag)
					{
						if(document.getElementById('msg'+i))
							document.getElementById('msg'+i).style.display = 'none';
						else
							flag = false;

						i++;
					}

					if(document.getElementById(id+'box'))
						document.getElementById(id+'box').style.border = '1px solid #ca5d5d';
					
					if(document.getElementById('msg'+section))
					{
						document.getElementById('msg'+section).style.display = 'block';
						document.getElementById('msg'+section).innerHTML = msg;
					}

					if(document.getElementById('msg'))
					{
						document.getElementById('msg').style.display = 'block';
						document.getElementById('msg').innerHTML = msg;
					}

					if(section != null)
						tp1.setSelectedIndex(section);
//						tabs.showSection(section);

					if(errorboxid != -1 && errorboxid != id)
					{
						if(document.getElementById(errorboxid+'box'))
							document.getElementById(errorboxid+'box').style.border = '1px solid #cccccc';
					}

					if(setfocus != false)
						document.getElementById(id).focus();

					errorboxid = id;
			}
			
			function isEmpty(str)
			{
				return (str == null) || (str.length == 0);
			}
			
			function isEmail(str)
			{
				if(isEmpty(str)) return false;
			
				var re = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i
			
				return re.test(str);
			}

			function isAlphaNumeric(str)
			{
				var re = /[^a-zA-Z0-9]/g
				
				
				if (re.test(str))
				{			
					return false;
				}
				else
				{
					return true;
				}
			}
			
			function isPositiveInteger(str)
			{
				if(str <= 0 || isEmpty(str))
					return false;

				var flag = true;
				var validChars = '0123456789';

				for(i=0;i<str.length;i++)
				{
					ch = str.charAt(i);
					checkFlag = false;

					for(j=0;j<validChars.length;j++)
					{
						if(ch == validChars.charAt(j))
						{
							checkFlag = true;
							break;
						}
					}

					if(checkFlag == false)
					{
						flag = false;
						break;
					}
				}
			
				return flag;
			}

			function isNumeric(str)
			{
				var re = /[^\. 0-9]/g
				
				if (re.test(str)) return false;
				
				return true;
			}

			function isPrice(str)
			{
				var re = /[^\. \$ 0-9]/g
				
				if (re.test(str)) return false;
				
				return true;
			}

			function isAlpha(str)
			{
				var re = /[^a-zA-Z]/g
				
				if (re.test(str)) return false;
			
				return true;
			}
			
			function isImage(str)
			{
				if (!/(\.(jpg|jpeg|png))$/i.test(str)) return false;
				
				return true;
			}

			function validateDVCMSUser(usesTabs)
			{
				if(usesTabs == "" || usesTabs == null)
					usesTabs = "true";

				var username = document.getElementById('username').value;
				var password = document.getElementById('password').value;
				var thename = document.getElementById('name').value;
				var email = document.getElementById('email').value;

				var anyPrivileges = false;
				var pCount = 0;
				
				var ins = document.getElementsByTagName('input')
				var i;
				for(i=0;i<ins.length;i++)
				{
					if(ins[i].type=="checkbox")
					{
						if(ins[i].checked == true)
							anyPrivileges = true;
						
						pCount++;
					}
				}
				
				if(pCount == 0) anyPrivileges = true;

				var status = true;
				var msg = '';
				var id = '';
				var section = 0;
				var setFocus = true;

				if(isEmpty(username))
				{
					msg = 'You must enter in a username.';
					id = 'username';
					section = 0;
					status = false;
				}
				else if(!isAlpha(username))
				{
					msg = 'Username must contain only alphabetical characters.';
					id = 'username';
					section = 0;
					status = false;
				}
				else if(isEmpty(password) && usesTabs != "false")
				{
					msg = 'You must enter in a password.';
					id = 'password';
					section = 0;
					status = false;
				}
				else if(!isAlpha(password) && usesTabs != "false")
				{
					msg = 'Password must contain only alphabetical characters.';
					id = 'password';
					section = 0;
					status = false;
				}
				else if(isEmpty(thename))
				{
					msg = 'You must enter in a name.';
					id = 'name';
					section = 0;
					status = false;
				}
				else if(isEmpty(email))
				{
					msg = 'You must enter in an email address.';
					id = 'email';
					section = 0;
					status = false;
				}
				else if(!isEmail(email))
				{
					msg = 'Your email address seems invalid.';
					id = 'email';
					section = 0;
					status = false;
				}
				else if(isEmpty(email))
				{
					msg = 'You must enter in an email address.';
					id = 'email';
					section = 0;
					status = false;
				}				
				else if(!anyPrivileges)
				{
					msg = 'You must select at least one privilege for the user.';
					id = '';
					section = 1;
					status = false;
					setFocus = false;
				}
				else
				{
					status = true;
				}

				if(!status)
				{
					if(usesTabs == "false")
						section = null;

					toggleJavascriptError(msg, id, section, setFocus);
				}

				return status;
			}
			
			function validateCustomer(form)
			{
				var nopassword = false;
				var password_clear = '';
				var keep_password = false;

				if(document.getElementById('password_clear'))
					password_clear = document.getElementById('password_clear').value;
				else
					nopassword = true;
				
				if(document.getElementById('keep_password'))
					keep_password = document.getElementById('keep_password').checked;					

				company = document.getElementById('company').value;
				email = document.getElementById('email').value;
				phone = document.getElementById('phone').value;
				firstname = document.getElementById('firstname').value;
				lastname = document.getElementById('lastname').value;
				address = document.getElementById('address').value;
				suburb = document.getElementById('suburb').value;
				postcode = document.getElementById('postcode').value;
				country = document.getElementById('country').value;
				state = document.getElementById('state').value;
				state_specific = document.getElementById('state_specific').value;
				
				var status = true;

				var setFocus = true;


				if(isEmpty(email))
				{
					msg = 'You must enter in an email address.';
					id = 'email';
					section = 0;
					status = false;
				}
				else if(!isEmail(email))
				{
					msg = 'Please check that the email address is a valid one.';
					id = 'email';
					section = 0;
					status = false;
				}
				else if(isEmpty(password_clear) && !nopassword && !keep_password)
				{
					msg = 'You must enter in a password.';
					id = 'password_clear';
					section = 0;
					status = false;
				}
				else if((password_clear.length < 3) && !nopassword && !keep_password)
				{
					msg = 'The password must be at least 3 characters long.';
					id = 'password_clear';
					section = 0;
					status = false;
				}
				else if(isEmpty(firstname))
				{
					msg = 'You must enter in a first name.';
					id = 'firstname';
					section = 0;
					status = false;
				}
				else if(isEmpty(lastname))
				{
					msg = 'You must enter in a last name.';
					id = 'lastname';
					section = 0;
					status = false;
				}
				else if(isEmpty(address))
				{
					msg = 'You must enter in an address.';
					id = 'address';
					section = 1;
					status = false;
					setFocus = false;
				}
				else if(isEmpty(suburb))
				{
					msg = 'You must enter in a suburb.';
					id = 'suburb';
					section = 1;
					status = false;
					setFocus = false;
				}
				else if(isEmpty(postcode))
				{
					msg = 'You must enter in a postcode.';
					id = 'postcode';
					section = 1;
					status = false;
					setFocus = false;
				}
				else if(!isNumeric(postcode))
				{
					msg = 'The postcode must contain only numerical data.';
					id = 'postcode';
					section = 1;
					status = false;
					setFocus = false;
				}			
				else if(country != "Australia" && isEmpty(state_specific))
				{
					msg = 'You must enter in a state.';
					id = 'state';
					section = 1;
					status = false;
					setFocus = false;
				}
				else if(country == "Australia" && isEmpty(state))
				{
					msg = 'You must select a state.';
					id = 'state';
					section = 1;
					status = false;
					setFocus = false;
				}
				else
				{
					status = true;
				}
				
				if(!status)
				{			
					toggleJavascriptError(msg, id, section, true);
				}

				return status;
			}
			
			function validateCategory()
			{
				category = document.getElementById('category').value;
				image = document.getElementById('image').value
				
				var status = true;
				var msg = '';
				var id = '';
				var section = 0;
				var setFocus = true;

				if(isEmpty(category))
				{
					msg = 'You must enter in a category name.';
					id = 'category';
					status = false;
				}
				else if(!isEmpty(image) && !isImage(image))
				{
					msg = 'The image must be either a JPG or PNG file.';
					id = 'image';
					status = false;					
				}
				else
				{
					status = true;
				}
				
				if(!status)
				{			
					toggleJavascriptError(msg, id, section, setFocus);
				}

				return status;
			}

			function returnSelectedMultiple(field)
			{

				len = field.length
				i = 0
				chosen = new Array();
				j = 0;

				for (i = 0; i < len; i++)
				{
					if (field[i].selected)
					{
						chosen[j] = field[i].value;
						j++;
					}
				}

				return chosen
			}
			
			function returnCheckboxValues(field)
			{
				len = field.length
				i = 0
				chosen = new Array();
				j = 0;

				for (i = 0; i < len; i++)
				{
					if (field[i].checked)
					{
						chosen[j] = field[i].value;
						j++;
					}
				}

				return chosen
			} 



			function checkExternalLink()
			{
				var elink = document.addeditbanner.external_url.value;
				var ilink = document.addeditbanner.internal_url.value;

				if(ilink == "")
				{
					document.addeditbanner.external_url.disabled = false;
				}
				else
				{
					document.addeditbanner.external_url.disabled = true;
					document.addeditbanner.external_url.value = "http://";
				}
			}
			
			function checkInternalExternalLinks()
			{
				var nolink = document.addeditbanner.nolink.checked;
				
				if(nolink)
				{
					document.addeditbanner.internal_url.value = "";
					document.addeditbanner.external_url.value = "http://";
					
					document.addeditbanner.external_url.disabled = true;
					document.addeditbanner.internal_url.disabled = true;
				}
				else
				{
					document.addeditbanner.external_url.disabled = false;
					document.addeditbanner.internal_url.disabled = false;				
				}
			}
			
			function validateBanner()
			{
				var image = document.getElementById('image').value;

				var status = true;
				var msg = '';
				var id = '';
				var section = 0;
				var setFocus = true;
				
				if(isEmpty(image))
				{
					msg = 'You must select an image for this banner';
					id = 'image';
					section = null;
					setFocus = false;
					status = false;
				}
				else if(!isImage(image))
				{
					msg = 'The image must be either a JPG or PNG file';
					id = 'image';
					section = null;
					setFocus = false;
					status = false;
				}
				else
				{
					status = true;
				}
				
				if(!status)
				{			
					toggleJavascriptError(msg, id, section, setFocus);
				}

				return status;
			}

	function confirmDel()
	{
		return confirm("Are you sure you want to delete this item?");
	}

	function confirmDelete()
	{
		return confirm("Are you sure you want to delete this item?");
	}

	function confirmUserDelete()
	{
		return confirm("Are you sure you want to delete this user?");
	}

	function confirmNewsletterDelete()
	{
		return confirm("Are you sure you want to delete this newsletter?\nThis can not be undone.");
	}

	function confirmCustomerDelete()
	{
		return confirm("Are you sure you want to delete this Customer?\nThis can not be undone.");
	}

	function confirmCancel()
	{
		return confirm("Are you sure you want to cancel? All changes will be lost.");
	}
	
	function confirmMemberRemoval()
	{
		return confirm("Are you sure you want to remove this member from the list?");
	}

	function confirmCustom(msg)
	{
		return confirm(msg);
	}

	function confirmSend(sentletter,sentRecp)
	{
	   if(sentletter ==0 && sentRecp ==0)
	   {
			return confirm("Are you sure you want to send this newsletter?");
	   }
	   else
	   {
			return confirm("This newsletter has already been sent "+sentletter+" time(s) to a total of "+sentRecp+" customers");
	   
	   }
	}

	function confirmNewsletterSave()
	{
		return confirm("The newsletter has not yet been sent.\nWould you like to just save this newsletter? (You may send it later on)");
	}

	function alertNoDel()
	{
		//alert("You can not delete this item.");
		return false;
	}

	function alertNoEdit()
	{
		//alert("You can not edit this item.");
		return false;
	}
	
	function demoDisable()
	{
        return alert("This is a demo system and this function has been disabled.")
	}
	
	function selectAllPrivileges(field)
	{
		var flag = true;
		
		if(field[0].checked != true)
			flag = false;
		
		for (i=0; i < field.length; i++)
		{
			field[i].checked = flag;
		}
	}
	

	function autogenerateCustomerPwd(inputID)
	{	
		var keylist="abcdefghijklmnopqrstuvwxyz123456789"
		var temp=''

		for (i=0;i<7;i++)
			temp+=keylist.charAt(Math.floor(Math.random()*keylist.length))
		

		if(document.getElementById(inputID))
			document.getElementById(inputID).value = temp;
	}
	
	function toggleSpecificState(specCountry)
	{
		country = document.getElementById('country').value;
		
		if(specCountry != "")
			country = specCountry;

		if(country == "Australia")
		{
			document.getElementById('state_specific').style.display = 'none';
			document.getElementById('state').style.display = 'block';
		}
		else
		{
			document.getElementById('state_specific').style.display = 'block';
			document.getElementById('state').style.display = 'none';
		}
	}
	
	function selectProduct(prodid)
	{
		var productid = document.getElementById(prodid).value;

		if(productid == "true")
		{
			document.getElementById(prodid).value = "false";
			document.getElementById('tick'+prodid).style.display = 'none';
			document.getElementById('td1'+prodid).style.background = 'transparent';
			document.getElementById('td2'+prodid).style.background = 'transparent';
			document.getElementById('td3'+prodid).style.background = 'transparent';
		}
		else
		{
			document.getElementById(prodid).value = "true";
			document.getElementById('tick'+prodid).style.display = 'block';
			document.getElementById('td1'+prodid).style.background = '#e6edf5';
			document.getElementById('td2'+prodid).style.background = '#e6edf5';
			document.getElementById('td3'+prodid).style.background = '#e6edf5';
		}

	}
	
	function textCounter(field,cntfield,maxlimit)
	{
		if (field.value.length > maxlimit)
			field.value = field.value.substring(0, maxlimit);
		else
			cntfield.value = maxlimit - field.value.length;
	}
	
	function toggleNewsletterOptions(id)
	{
		options = new Array("locations","specific");
		
		for(i=0;i<options.length;i++)
		{
			document.getElementById(options[i]).style.display = 'none';
		}
		
		if(id != "")
			document.getElementById(id).style.display = 'block';
	}
	
	function showYearMonths(theyear, thetype, themonth)
	{
		var yearz = new Array("2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020");
		
		for(i=0;i<yearz.length;i++)
		{
			if(document.getElementById('monthRow'+thetype+yearz[i]))
				document.getElementById('monthRow'+thetype+yearz[i]).style.display = 'none';
			
			if(document.getElementById('year'+thetype+yearz[i]))
				document.getElementById('year'+thetype+yearz[i]).style.textDecoration = 'none';
		}
		
		if(document.getElementById('monthRow'+thetype+theyear))
			document.getElementById('monthRow'+thetype+theyear).style.display = 'block';
	
		if(document.getElementById('year'+thetype+theyear))
			document.getElementById('year'+thetype+theyear).style.textDecoration = 'underline';
			
		if(document.getElementById(theyear+'month'+thetype+themonth))
			document.getElementById(theyear+'month'+thetype+themonth).style.textDecoration = 'underline';
	}
	
	function openNewVersionWindow(url, type)
	{
		var pagehistoryid = document.getElementById('pagehistoryid').value;
		
		var finalURL = url + "&pagehistoryid="+pagehistoryid;
		
		if(type == "View")
		{
			finalURL = finalURL + "&viewHistory=true";
			window.open(finalURL,'viewHistory');
		}
		else if(type == "Restore")
		{
			finalURL = finalURL + "&restoreHistory=true";
			window.location.href = finalURL;
		}
	}
	
function validateNews()
{
	var status = true;
	var msg = '';
	var id = '';
	var section = null;

	var title = document.getElementById('title').value;

	if(isEmpty(title))
	{
		msg = 'Please enter in a title for this news item.';
		id = 'title';
		status = false;
	}

	if(!status)
	{
		toggleJavascriptError(msg, id, section, true);
	}

	return status;
}

function openHelp(url, h, w)
{
	if(w == undefined)
		w = 450;
	if(h == undefined)
		h = 600;

	helpwin = window.open (url, "wacmsHelp","location=0,status=1,scrollbars=1, width="+w+",height="+h);
  	//helpwin.moveTo(50,50);
}

function toggleDiv(id, toggleTo)
{
	if(document.getElementById(id))
	{
		var div = document.getElementById(id);
					
		if(toggleTo == "block" || toggleTo == "none")
		{
			div.style.display = toggleTo;
		}
		else
		{
			if(div.style.display == "none" || div.style.display == "")
				div.style.display = 'block';
			else
				div.style.display = 'none';
		}
	}
}

function toggleMenu(id, cid)
{
	var status = id.id;
	var newid = '';

	toggleDiv(cid);

	if(status.match('_off'))
		newid = status.replace('_off','_on');
	else
		newid = status.replace('_on','_off');

	id.id = newid;
}

function addslashes(str)
{
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\0/g,'\\0');
	return str;
}

function stripslashes(str)
{
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
}

function previewContent(path)
{
	c = FCKeditorAPI.GetInstance('content').GetHTML();
	
	c = escape(c);
	var url = path + 'previewpage.php';

	var html = '<form action="'+url+'" method="post" name="previewform" style="margin:0px;padding:0px;">';
	html += '<input type="hidden" name="c" value="'+c+'" />';
	html += '</form>';

	document.getElementById('previewformdiv').innerHTML = html;
		
	window.open(url, 'previewWindow', 'width=1200,height=600,scrollbars=yes');

	document.previewform.target = 'previewWindow';
	document.previewform.submit();
}

function previewNewsletter(path)
{
	c = FCKeditorAPI.GetInstance('content').GetHTML();
	
	c = escape(c);
	var url = path + 'newsletter/newsletter_preview.php';

	var newsletter_template_id = document.getElementById('newsletter_template_id').value;
	var subject = document.getElementById('subject').value;

	var html = '<form action="'+url+'" method="post" name="previewform" style="margin:0px;padding:0px;">';
	html += '<input type="hidden" name="content" value="'+c+'" />';
	html += '<input type="hidden" name="subject" value="'+subject+'" />';
	html += '<input type="hidden" name="newsletter_template_id" value="'+newsletter_template_id+'" />';
	html += '</form>';

	document.getElementById('previewformdiv').innerHTML = html;
		
	window.open(url, 'previewWindow', 'width=800,height=520,scrollbars=no');

	document.previewform.target = 'previewWindow';
	document.previewform.submit();
}

function switchFCKeditorCSS(instance, cssfile)
{
	ins = FCKeditorAPI.GetInstance(instance);
	
	if(cssfile != "")
		ins.Config['EditorAreaCSS'] = cssfile;
	else
		ins.Config['EditorAreaCSS']= '';
}


function openNewsletterCustomerBrowser(url, listid)
{
	var finalURL = url + "newsletter/add_newsletter_customers.php?listid="+listid;

	window.open(finalURL, 'customerWindow', 'width=800,height=520,scrollbars=yes');
}

function openGroupMembersBrowser(url, gid)
{
	var finalURL = url + "customer/add_group_members.php?gid="+gid;

	window.open(finalURL, 'customerWindow', 'width=800,height=520,scrollbars=yes');
}

function calcTotalMembers()
{
	var total = 0;
	var field = 'newsletter_list_id';
	
	var ins = document.getElementsByTagName('input')
	var i;
	for(i=0;i<ins.length;i++)
	{
		if(ins[i].type=="checkbox" && ins[i].id == field)
		{
			if(ins[i].checked == true)
			{
				id = ins[i].value;
				total += parseInt(document.getElementById('member_count_'+id).value);
			}
		}		
	}

	if(document.getElementById('totalMemberCount'))
		document.getElementById('totalMemberCount').innerHTML = total;
}

function calcTotalEnquiryGroupMembers()
{
	var total = 0;
	var field = 'group_id';
	
	var ins = document.getElementsByTagName('input')
	var i;
	for(i=0;i<ins.length;i++)
	{
		if(ins[i].type=="checkbox" && ins[i].id == field)
		{
			if(ins[i].checked == true)
			{
				id = ins[i].value;
				total += parseInt(document.getElementById('group_member_count_'+id).value);
			}
		}		
	}

	if(document.getElementById('totalEnquiryGroupMemberCount'))
		document.getElementById('totalEnquiryGroupMemberCount').innerHTML = total;
}

function postMembers(delim, selStr, hidStr)
{
        var selObj = document.getElementById(selStr);
        var hideObj = document.getElementById(hidStr);
        hideObj.value = '';
        for (var i=0; i<selObj.options.length; i++) {
                hideObj.value = hideObj.value ==
                        '' ? selObj.options[i].value : hideObj.value + delim + selObj.options[i].value;
        }
}

function addMember(theSel, theText, theValue)
{
  var newOpt = new Option(theText, theValue);
  var selLength = theSel.length;
  theSel.options[selLength] = newOpt;
}

function deleteMember(theSel, theIndex)
{
  var selLength = theSel.length;
  if(selLength>0)
  {
    theSel.options[theIndex] = null;
  }
}

function moveMember(theSelFrom, theSelTo)
{

  var selLength = theSelFrom.length;
  var selectedText = new Array();
  var selectedValues = new Array();
  var selectedCount = 0;

  var i;

  // Find the selected Options in reverse order
  // and delete them from the 'from' Select.
  for(i=selLength-1; i>=0; i--)
  {
    if(theSelFrom.options[i].selected)
    {
      selectedText[selectedCount] = theSelFrom.options[i].text;
      selectedValues[selectedCount] = theSelFrom.options[i].value;
      deleteMember(theSelFrom, i);
      selectedCount++;
    }
  }

  // Add the selected text/values in reverse order.
  // This will add the Options to the 'to' Select
  // in the same order as they were in the 'from' Select.
  for(i=selectedCount-1; i>=0; i--)
  {
    addMember(theSelTo, selectedText[i], selectedValues[i]);
  }
}

function deleteCustomPostcode(el)
{
        var el = $(el);
        var row = el.parents("tr:first");
        tbl = $('table#custom_postcode_table');

        if(tbl.find("tr").length == 1)
                alert("Unable to remove, because you must have at least one attribute.");
        else
        {

                var id = row.find("td:eq(1)").find("input[type='hidden']").val();
                if(id != "" && id != undefined)
                        tbl.after('<input type="hidden" name="remove_ids[]" value="'+id+'" />');

                row.fadeOut(function() {
                        row.remove();
                });
        }
}

function addCustomPostcode()
{
        tbl = $('table#custom_postcode_table');
        tr = tbl.find("tr:first").clone(true);
        tr.find("td:eq(0)").find("input").val("");
        tr.find("td:eq(3)").find("input").val("");
        tr.find("td:eq(4)").find("input").val("");
        tr.insertAfter(tbl.find("tr:last"));
}

function deleteCustomField(el)
{
        var el = $(el);
        var row = el.parents("tr:first");
        tbl = $('table#custom_field_table');

        if(tbl.find("tr").length == 1)
                alert("Unable to remove, because you must have at least one attribute.");
        else
        {

                var id = row.find("td:eq(2)").find("input[type='hidden']").val();
                if(id != "" && id != undefined)
                        tbl.after('<input type="hidden" name="remove_ids[]" value="'+id+'" />');

                row.fadeOut(function() {
                        row.remove();
                });
        }
}

function addCustomField()
{
        tbl = $('table#custom_field_table');
        tr = tbl.find("tr:first").clone(true);
        tr.find("td:eq(1)").find("input").val("");
        tr.insertAfter(tbl.find("tr:last"));
}

