//LOGIN BOX STUFF
var hideTimeout = 0;
var textFocused=false;


//document.getElementById("loginpopup").style.display = "none";


function showLogin()
{
	clearTimeout(hideTimeout);
	doShowLogin();
}
function doShowLogin()
{
	document.getElementById("loginpopup").style.display = "";
}
function hideLogin()
{
	if(textFocused) return;
	hideTimeout = setTimeout("doHideLogin()", 500);
}
function fasterHideLogin()
{
	if(textFocused) return;
	hideTimeout = setTimeout("doHideLogin()", 200);
}
function doHideLogin()
{
	document.getElementById("loginpopup").style.display = "none";
}
function focusLoginBox()
{
	textFocused = true;
	showLogin();
	//alert("focus");
}
function blurLoginBox()
{
	textFocused = false;
	fasterHideLogin();
	//alert("blur");
}

// end login box

productprice = {};


function doCardSelect(c)
{
	e = document.getElementById("booklistaddprice_" + c);
	//e.style.color = "#f00";
	
	cs = document.getElementById("cardselect_" + c);
	
	if(e && cs) {
		e.innerHTML = productprice[cs.options[cs.selectedIndex].value];
		//alert(document.getElementsByName("booklistadd_" + c)[0].getElementsByName("cartitem[stock]"));
	}
}

function updateForms()
{
	lst = document.getElementsByTagName("select");
	for(var i in lst) {
		if(lst[i].onchange) {
			lst[i].onchange()
		}
	}
}

function updateCardSelects(maxnum)
{
	for(i=0;i<maxnum;i++) {
		doCardSelect(i);
	}
}



// function getXMLHTTPObject

function getXMLHTTPObject(){

    //instantiate new XMLHttpRequest object

    var objhttp=(window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP');

    if(!objhttp){return};

    // assign event handler


    // return XMLHttpRequest object

    return objhttp;

}

// function sendRequest

function sendRequest(url,data,method,mode,header){

    // set default values

    if(!url){url='default_url.htm'};

    if(!data){data='defaultdata=defaultvalue'};

    if(!method){method='post'};

    if(!mode){mode=true};

    if(!header){header='Content-Type:application/x-www-form-urlencoded; charset=UTF-8'};

    // get XMLHttpRequest object

    objhttp=getXMLHTTPObject();

    // open socket connection

    objhttp.open(method,url,mode);

    // set http header

    objhttp.setRequestHeader(header.split(':')[0],header.split(':')[1]);

    // send data

    objhttp.send(data);

	return objhttp;
}

// function getFormVariables

function getFormVariables(formname){

	var formvars='';
	
	var childElements=document.getElementsByName(formname)[0].getElementsByTagName("input");
	for(var i=0;i<childElements.length;i++){
		if(/(INPUT|TEXTAREA|SELECT)/.test(childElements[i].nodeName)){
			formvars+=childElements[i].getAttribute('name') +'='+childElements[i].value+'&';
		}
	}
	
	var childElements=document.getElementsByName(formname)[0].getElementsByTagName("select");
	for(var i=0;i<childElements.length;i++){
		if(/(INPUT|TEXTAREA|SELECT)/.test(childElements[i].nodeName)){
			formvars+=childElements[i].getAttribute('name') +'='+childElements[i].value+'&';
		}
	}
	
	
	formvars=formvars.substring(0,formvars.length-1);
	
	return formvars;
	
}

var cartObj;
var cartEvent;

function addToCartClick(event, id) {
	vars = getFormVariables('booklistadd_' + id);
	//alert(vars);
	cartObj = sendRequest("/ajax/cart", vars, "POST");
	cartObj.onreadystatechange=cartReload;
	
	showTooltip(event, "Adding item to cart...");
	showTooltip(event, "Adding item to cart...");
	
	if(event) {
		cartEvent = new Object;
		cartEvent.clientX = event.clientX;
		cartEvent.clientY = event.clientY;
	}
	
/*	cartObj.tooltipevent = new Object;
	
	if(event) {
		cartObj.tooltipevent.clientX = event.clientX;
		cartObj.tooltipevent.clientY = event.clientY;
	}*/
	
	
	return false;
}

function cartReload()
{
	if(cartObj.readyState==4) {
		cartDiv = document.getElementById("cartbox");
		cartDiv.innerHTML = cartObj.responseText;
		//alert(cartDiv.style.display);
		cartDiv.style.visibility = 'visible';
		
		sm = document.getElementById("stockmessage");
		
		if(sm) {
			showTooltip(cartEvent, sm.innerHTML);
		} else {
			showTooltip(cartEvent, "Item added to cart");
		}
	}
}

function clearText(thefield){
if (thefield.defaultValue==thefield.value)
thefield.value = ""
}

function clearColor(thefield){
if (thefield.defaultValue==thefield.value)
thefield.style.color = "black"
}

function showOptionsDetails(atag, id) {
	var d = $('optionsdetails-' + id);
	
	var wasOpen = false;
	
	if(d.style.display=='block') {
		wasOpen = true;
	}
	
	$$('.optionsdetails').each(function (a) {a.style.display = 'none';});
	
	if(wasOpen) return false;
//	console.log(atag);
	//console.log(d);
	d.style.left = (atag.offsetLeft+atag.offsetWidth) + "px";
	d.style.top = atag.offsetTop + "px";
	d.style.display = 'block';
	
	d.addEvent('click', function() {
		d.timer = setTimeout(function() {
			d.style.display = 'none';
		}, 1000);
// 		d.addEvent('mouseover', function() {
// 			clearTimeout(d.timer);
// 		});
		
	});
	
	return false;
}