var last_clicked = 0;
var last_clicked_large = -1;
var mylinks = new Array();
var slideshow_active = false;
var slidetime = -1;
var last_x = -1;
var last_y = -1;

function attach_lotimage_clicks()
{
	var alinks = document.getElementsByTagName("A");
	for (var e = 0; e < alinks.length; e ++) {
		if (alinks[e].className && alinks[e].className.search(/imglnk/) != -1) {
			var id = alinks[e].href.match(/image=([0-9]*)/)[1];
			alinks[e].onclick = new Function("show_image(" + id + ", this)");
			alinks[e].href = "#";
			if (alinks[e].className.search(/imglknon/) != -1) {
				last_clicked = id;
			}
			mylinks[id] = alinks[e];
		}
	}
	attach_large_image_click();

	/*
	Add dragging
	*/
	if (typeof(move_div) != "undefined") {
		document.body.onmousemove = move_div;
	}
}

function show_image(id, obj)
{
	obj.blur();
	mylinks[last_clicked].className = "imglnk";
	mylinks[id].className = "imglnk imglknon";
	var img = dom_id("imageph");
	img.src = myimages[id].src;
	img.style.width = myimages[id].width + "px";
	img.style.height = myimages[id].height + "px";
	img.alt = unescape(myimages[id].alt);
	img.title = unescape(myimages[id].title);
	last_clicked = id;
	attach_large_image_click();
}

function attach_large_image_click()
{
	var img = dom_id("imageph");
	if (myimages[last_clicked] && myimages[last_clicked].has_popup) {
		img.style.cursor = "pointer";
		img.onclick = new Function("get_popup_place('" + myimages[last_clicked].src + "')");
		if (dom_id("moreinfo")) {
			dom_id("moreinfo").innerHTML = "<em>NB: Click on an image to view a larger version</em>";
		}
	}
	else if (img) {
		img.style.cursor = "normal";
		if (dom_id("moreinfo")) {
			dom_id("moreinfo").innerHTML = "&nbsp;";
		}
	}
}

function show_large_image(id)
{
	last_clicked_large = id;
	var div = dom_id("img_popup"); 
	if (! div) {
		var div = document.createElement("DIV");
		div.id = "img_popup";
		document.body.appendChild(div);
		div.className = "x_dragable";
		var img = document.createElement("IMG");
		div.appendChild(img);
		attach_drag_events();
		var table = document.createElement("TABLE");
		table.cellPadding = table.cellSpacing = 0;
		var tr = table.insertRow(0);
		for (var e = 0; e < 3; e ++) {
			var td = tr.insertCell(e);
			td.width = (e == 1) ? "50%" : "25%";
			var lnk = document.createElement("A");
			lnk.href = "#";
			switch (e) {
				case 0 : 
					lnk.innerHTML = "Previous"; 
					lnk.className = "goback";
					lnk.onclick = new Function("this.blur(); get_indexed_image('prev')");
				break;
				case 1 : 
					td.align = "center";
					lnk.innerHTML = "Start Slideshow"; 
					lnk.onclick = new Function("slide_show_toggle(this)"); 
					lnk.style.paddingRight = "3px";
				break;
				case 2 : 
					td.align = "right";
					lnk.innerHTML = "Next"; 
					lnk.className = "more";
					lnk.onclick = new Function("this.blur(); get_indexed_image('next')");
				break;
			}
			if (popup_images.length > 1) {
				td.appendChild(lnk);
			}
			if (e == 1) {
				if (popup_images.length > 1) {
					var tn = document.createTextNode(" | ");
					//tn.fontSize = "3px";
					td.appendChild(tn);
				}
				var lnk = document.createElement("A");
				lnk.innerHTML = "Close";
				lnk.href = "#";
				lnk.onclick = close_large;
				lnk.style.paddingLeft = "3px";
				td.appendChild(lnk);
			}
		}
		div.appendChild(table);		
	}
	var img = div.getElementsByTagName("IMG")[0];
	img.src = popup_images[id].src;
	if (popup_images[id].width <= 640) {
		img.style.width = popup_images[id].width + "px";
		img.style.height = popup_images[id].height + "px";
	}
	else {
		img.style.width = "640px";
	}
	img.onload = new function() {
		var div = dom_id("img_popup");
		if (last_x != -1) {
			div.style.left = last_x;
			div.style.top = last_y;
		}
		else {
			div.style.top = "100px";
			if(window.innerWidth) {
				width = window.innerWidth;
			} else {
				width = document.body.clientWidth;
			}
			div.style.left = (width / 2) - (img.offsetWidth / 2) + "px";
		}
		div.style.visibility = "visible";
	}
	var table = div.getElementsByTagName("TABLE")[0];
	table.style.width = img.offsetWidth + "px";
	if (slideshow_active) {
		slidetime = setTimeout("get_indexed_image('next')", 3000);
	}
}

function get_popup_place(dad)
{
	var w = 0;
	var current = -1;
	while (popup_images[w]) {
		if (popup_images[w].parentImg.replace(/^.*\//i, "") == dad.replace(/^.*\//i, "")) {
			current = w;
			break;
		}
		w ++;
	}
	get_indexed_image("none", current);
}

function slide_show_toggle(obj)
{
	obj.blur();
	slideshow_active = (slideshow_active) ? false : true;
	if (slideshow_active) {
		obj.innerHTML = "Stop Slideshow";
		get_indexed_image("next");
	}
	else {
		clearTimeout(slidetime);
		obj.innerHTML = "Start Slideshow";
	}
}

function get_indexed_image(direction, index)
{
	if (index == null) {
		index = last_clicked_large;
	}

	if (direction == "next") {
		index = (index + 1 == popup_images.length) ? 0 : (index + 1);
	}
	else if (direction == "prev") {
		index = (index - 1 < 0) ? popup_images.length - 1 : (index - 1);
	}
	show_large_image(index);
}

function close_large()
{
	var div = dom_id("img_popup"); 
	div.style.visibility = "hidden";
	last_x = -1;
	last_y = -1;
	clearTimeout(slidetime);
	slideshow_active = false;
}

function attach_cart_click()
{
	var d = dom_id("lot_cart");
	if (d) {
		d.onclick = function() {
			try { by_tag("p", this)[0].style.display = "none"; } catch(e) {};
			by_tag("div", this)[1].style.display = "block";
			this.onclick = null;
		};
		var f = dom_id("cart_form");
		try {
			if (f.elements['register'][0].checked) {
				//phorm.add_check(f.elements['bid'], "decimal", "onkeyup");	
				bid_required();	
			}
		} catch (error) {
			if (f.elements['register'].checked) {
				bid_required();	
			}
		}
	}
}

function submit_cart()
{
	xml_request_type = "POST";
	xml_request_form = "cart_form";
	var f = dom_id("cart_form");
	for(var idx=0; idx<3; idx++) {
		if (f.elements['register'][idx].checked) {
			f.elements['register_new'].value = f.elements['register'][idx].value;
			break;
		}
	}

	if (f.elements['register_new'].value == '' && !f.elements['request'].checked) {
		alert("There is a problem with your bid.\nIf you have selected 'Absentee Bid' please\nensure you have entered a valid dollar amount.");
		return false;
	}

	if (f.elements['register_new'].value == 'Telephone Bid') {
		f.elements['bid'].value = 0;
		xml_get_queue_add("cart_xml.php?rand=" + (Math.random() * 1000), cart_return);
		return false;
	}

	if (f.elements['register_new'].value == 'Absentee Bid') {
		if (f.elements['bid'].value == 0 || f.elements['bid'].value == '' || !phorm.check_decimal(f.elements['bid'], [2])) {
			alert("There is a problem with your bid.\nIf you have selected 'Absentee Bid' please\nensure you have entered a valid dollar amount.");
			return false;
		}
		xml_get_queue_add("cart_xml.php?rand=" + (Math.random() * 1000), cart_return);
		return false;
	}

	if (f.elements['request'].checked) {
		xml_get_queue_add("cart_xml.php?rand=" + (Math.random() * 1000), cart_return);
		return false;
	}

	alert("There is a problem with your bid.\nIf you have selected 'Absentee Bid' please\nensure you have entered a valid dollar amount.");
	return false;
}

function cart_return(obj)
{
	if (obj) {
		var f = dom_id("cart_form");
		f.elements["cartid"].value = obj.responseXML.getElementsByTagName("cartid")[0].firstChild.data;
		dom_id("bidsub").src = dom_id("bidsub").src.replace(/_add/, "_update");
		var info = dom_id("cart_info");
		info.className = "success";
		info.style.display = "block";
		info.innerHTML = (f.elements['cartid'].value.length == 0 || isNaN(f.elements['cartid'].value))? "1 item added to your Auction cart" : "your item has been updated";
		info.style.textDecoration = "blink";
		setTimeout("dom_id('cart_info').style.textDecoration = 'none';dom_id('cart_info').style.display='none';", 3000);
		dom_id("viewcart_sub").style.display = "";
		dom_id("rhs_cart").style.display = "block";
		var numitems = obj.responseXML.getElementsByTagName("items")[0].firstChild.data;
		dom_id("rhs_cart_sm").innerHTML = numitems + " item" + ((numitems != 1) ? "s" : "") + " in your cart";
	}	
}

function toggle_bid_require(obj)
{
	var f = dom_id("cart_form");
	var info = dom_id("cart_info");
	info.className = "";
	if (obj.value == "Absentee Bid") {	
		dom_id("bidcol").style.visibility = "visible";
		if (! phorm.check_decimal(f.elements['bid'], [2])) {
			bid_required();
		}
		if (f.elements['bid'].value == 0) {
			bid_required();
		}
	}
	else {
		dom_id("bidcol").style.visibility = "hidden";
		info.style.display = "none";
		f.elements['bid'].onkeyup = null;
	}
}

function bid_required()
{
	var f = dom_id("cart_form");
	var info = dom_id("cart_info");
	dom_id("bidcol").getElementsByTagName("input")
	dom_id("bidcol").getElementsByTagName("input")[0].focus();
	info.className = '';
	info.style.display = "block";
	if (f.elements['bid'].value.length == 0 || f.elements['bid'].value == 0) {
		if (info.innerHTML == '' || info.innerHTML == '&nbsp;') {
			info.innerHTML = "Bid is required!";
		}
	}
	else if (! phorm.check_decimal(f.elements['bid'], [2])) {		
		info.innerHTML = "The value you have entered is not a valid number";
	}
	phorm.message_element_id = "cart_info";
	phorm.add_check(f.elements['bid'], "decimal", "onkeyup");
}

function attach_auto_submit()
{
	var cart = dom_id("cart_form");
	if (cart) {
		var bid = cart.elements["bid"];
		if (bid) {
			bid.onkeydown = function(e) {
				if (which_key(e) == 13) {
					submit_cart();
					return false;
				}		
			};
		}
	}
}

function send_submit(e)
{
	
}

add_to_onload("attach_auto_submit()");
add_to_onload("attach_cart_click()");
add_to_onload("attach_lotimage_clicks()");