// JavaScript Document

var cp = 0;

if ($('books')) getBooks(cp);

function getBooks(s)
	{
	 var url = 'publication.list.php';
	 var pars = 's='+s;
	 var target = 'books';
	 $(target).innerHTML = '<div class="wload"><span>Loading...</span></div>';
	 var myAjax = new Ajax.Updater(target, url, {method: 'post',parameters: pars, evalScripts:true });
	 cp = s;
	}
	
var numitems = 0;

if (cookieVal('numitems')) numitems = +cookieVal('numitems');

loadItems();

function addItem(itemid,ititle,iprice) {
	
	if (!cookieVal('bookitem_'+itemid))
		{
		numitems ++;
		saveCookie('bookitem_'+itemid,numitems);
		sid = numitems;
		saveCookie('booktitle_'+sid,ititle);
		saveCookie('bookid_'+sid,itemid);
		saveCookie('numitems',numitems);
		} else {
		sid = cookieVal('bookitem_'+itemid);	
		}
	var ncount = 0;
	ncount = eval(cookieVal('bookcount_'+sid));
	ncount++;
	saveCookie('bookcount_'+sid,ncount);
	saveCookie('bookprice_'+sid,iprice);
	loadItems();
}

function removeItem(ditem)
	{
	var ncount = 0;
	ncount = eval(cookieVal('bookcount_'+ditem));
	ncount--;
	if (ncount>0)
		{
		saveCookie('bookcount_'+ditem,ncount);
		}
		else
		{
		saveCookie('bookcount_'+ditem,0);
		}
	loadItems();
	}

function loadItems()
	{
	var ltitle,lprice,lcount,xitem;
	obj = $('ordereditems');
	
	if (numitems==0) 
		{
		obj.innerHTML = '';
		return false;
		}
	
	var nlist = "<table class='ordertable' width='100%' cellpadding='3' border='0' cellspacing='1'><tbody><tr class='orhead'><td align='center'>[-]</td><td>Title</td><td>Qty</td><td>Price</td><td>Sub</td></tr>";
	var ntotal = 0;
	for (xitem=1;xitem<=numitems;xitem++) 
		{
			ltitle = cookieVal('booktitle_'+xitem);
			lprice = cookieVal('bookprice_'+xitem);
			lcount = cookieVal('bookcount_'+xitem);
			if (lcount>0) {
				nlist += "<tr valign='top'><td><input type='button' class='button' title='Decrease Item "+xitem+"' onclick='removeItem(\""+xitem+"\")' value='-' /></td>"+"<td>"+ ltitle +"</td>"+"<td align='center'>"+ lcount +"</td>"+"<td align='right'>"+ lprice +"</td>"+"<td align='right'>"+(lprice*lcount)+"</td>"+"</tr>";
				ntotal += (lprice*lcount);
			}
	}
	
	nlist += "<tr><td></td><td>Total</td><td> </td><td> </td><td align='right'>"+ntotal+"</td></tr>";
	nlist += "</tbody></table>";
	
	obj.innerHTML = nlist;
	
	}

function saveCookie(cName,cValue)
	{
	document.cookie = cName + "=" + cValue + ";path=/";
	}
	
function cookieVal(cookieName)
	{
	thisCookie = document.cookie.split("; ");
	for (i=0; i<thisCookie.length; i++)
			{
			if (cookieName == thisCookie[i].split("=")[0])
					{
					return thisCookie[i].split("=")[1];
					}
			}
			return 0;
	}

function delCookie(cookie_name)
	{
  	var cookie_date = new Date ();  // current date & time
  	cookie_date.setTime ( cookie_date.getTime() - 1 );
  	document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString() + ";path=/";
	}

function delItems()
	{
	delCookie('numitems');
	numitems = 0;
	dCookie = document.cookie.split("; ");
	for (i=0; i<dCookie.length; i++)
			{
			tcookie = dCookie[i].split("=")[0];
			//alert(tcookie.substr(0,8));
			if (tcookie.substr(0,4) == 'book')
					{
					delCookie(tcookie);
					}
			}
		$('ordereditems').innerHTML = '';
	}

function checkout(obj)
	{
			if (validateForm(obj)==false) return false;
			if (verifyE($('email'))==false) return false;
			var url = 'checkout.post.php';
			var efull = $('ordereditems').innerHTML;
			var pars = Form.serialize(obj)+'&orders='+efull;
			var target = 'emailmsg';
			$(target).innerHTML = '<div class="wload"><span>Loading...</span></div>';
			var myAjax = new Ajax.Updater(target, url, {method: 'post', evalScripts:true, parameters: pars});				
	}	


function validateForm(obj)
	{
		x = Form.getElements(obj);
			for (var i = 0;i<x.length;i++)
			{
				
			  	if (Element.hasClassName(x[i], 'rtb'))
					{
						Element.removeClassName(x[i], 'atb');
						str = x[i].value;
						if (trim(str)=='')
							{
							alert(x[i].title + ' is required');
							Element.addClassName(x[i], 'atb');
							x[i].focus();
							return false;
							}
					}
			}
		return true;
	}

function trim( value ) {
	var obj = new String();
	obj = value;
	
	return obj.replace(/^\s+/,'').replace(/\s+$/,'');
	
}
