var chkImgChecked = "images/star.gif";
var chkImgUnchecked = "images/star_out.gif";

//---------------------------------------
function fixHtmlParam(param)
{
	var p = new String(param);
	p = p.replace(/'/g, "\\'");
	return p;
}
	
//---------------------------------------
function imgCheckBox(ctlName, checked, onclick)
{
	document.write(
		'<input type="hidden" name="'+ctlName+'" id="'+ctlName+'" value="'+ (checked ? 'on' : '') +'"/>' + 
		'<a href="#" onclick="clickCheckBox(\'' + ctlName + '\'); eval(\''+fixHtmlParam(onclick)+'\'); return false;" class="checkbox"><img id="' +ctlName+ '_img" src="' +
			(checked ? chkImgChecked : chkImgUnchecked) +		
			'" alt="checkbox" style="border:0px;"/></a>');
}

//---------------------------------------
function clickCheckBox(ctlName)
{
	setCheckBoxValue(ctlName, !getCheckBoxValue(ctlName));
}

//---------------------------------------
function setCheckBoxValue(ctlName, checked)
{
	var vo = document.getElementById(ctlName);
	if (!vo)
		return false;
		
	vo.value = checked ? 'on' : '';
	
	vo = document.getElementById(ctlName+'_img');
	if (vo)
		vo.src = checked ? chkImgChecked : chkImgUnchecked;
}

//---------------------------------------
function getCheckBoxValue(ctlName)
{
	var vo = document.getElementById(ctlName);
	if (vo)
		return vo.value == 'on';
		
	return false;
}

//---------------------------------------
function setClass(elName, className, enabled) {

	var el = document.getElementById(elName);
	var classList = new String(el.className).split(" ");

	var res = "";
  var found = false;

	for (i=0; i < classList.length; i++)
	{
		if (classList[i] == className)
		{
			found = true;
			if (enabled)
				res += " " + classList[i];
		}
		else
			res += " " + classList[i];
	}

	if (enabled && !found)
		res += " " + className;

	el.className = res;
}

//---------------------------------------
function getStarCount() 
{
	var i;

	// update / figure out checkboxes
	for (i=5; i > 0; i--)
	{
		if (getCheckBoxValue('attractor_stars' + i))
			return i;
	}
	
	return 0;
}

//---------------------------------------
function updateStars(starCount) 
{
	if (!starCount)
		starCount = 0;
		
	var i;

	// update / figure out checkboxes
	for (i=5; i > 0; i--)
	{
		setCheckBoxValue('attractor_stars' + i, i <= starCount);
	}

	var ctl = document.getElementById('entrystars');
	ctl.className = "entry_stars" + starCount;
	
	return true;
}

//------------------------------------------------------------
function updateBold() {
	var go = document.getElementById('attractor_boldtitle').checked;
	setClass('entrytitle', 'entry_ttlbold', go);
}

//------------------------------------------------------------
function updateBackground() {
	var go = document.getElementById('attractor_background').checked;
	setClass('entry', 'entry_clrbackground', go);
}

function updateRed() {
	var go = document.getElementById('attractor_redtitle').checked;
	setClass('entrytitle', 'entry_ttlred', go);
}

function updateTitle() {
	document.getElementById('entrytitle').innerHTML = document.getElementById('booktitle').value;
}

function updateAuthor() {
	document.getElementById('entryauthor').innerHTML = orderStr + document.getElementById('author').value;
}

function updatePrice() {
	var price = parseFloat(document.getElementById('price').value);
	var txtCents = new String(100 + Math.round((price - Math.floor(price)) * 100));
	var txtPrice = Math.floor(price) + "." + txtCents.substr(1, 2);

	document.getElementById('entryprice').innerHTML = txtPrice + ' ' + document.getElementById('currency').value;
}

function updateDesc() {
	var longDesc = document.getElementById('attractor_longdesc').checked;
	
  document.getElementById('extradesc').style.display = longDesc ? '' : 'none';
	
	var i;
	var seq = 0;
	var desc = "";
	for (i=1; i <= (longDesc ? 10 : 5); i++)
	{
		var name = "desc" + String(i);
			
		var line = document.getElementById(name)
		if (!line)
			continue;			
		
		line = nsFixXMLParam(line.value);
		line = line.replace("\n", '');
		
		if (desc.length)
		{
			seq++;
			
			if (line.length)
			{
				for (j=0; j < seq; j++)
					desc += "<br/>";
					
				seq = 0;
			}
		}
						
		desc += line;
	}
	
	document.getElementById('entrytext').innerHTML = desc;
}

function updateLink() {
	var lnk = document.getElementById('entrylink');

	lnk.innerHTML = "<a href=\"" + document.getElementById('link').value + "\" onclick=\"openLink(); return false;\">" + document.getElementById('linktitle').value + "</a>";
	lnk.src = document.getElementById('link').value;
}

function updatePicture(o) {
	var noPicture = document.getElementById('nopicture');
	var picture = document.getElementById('samplePicture');
	
	if (picture)
		picture.style.display = noPicture.checked ? 'none' : '';
}