// <![CDATA[
//-----------------------------------------------------------------------------
// Define some constants.
//-----------------------------------------------------------------------------

// Define a list of Microsoft XML HTTP ProgIDs.
var XMLHTTPREQUEST_MS_PROGIDS = new Array(
	"Msxml2.XMLHTTP.7.0",
	"Msxml2.XMLHTTP.6.0",
	"Msxml2.XMLHTTP.5.0",
	"Msxml2.XMLHTTP.4.0",
	"MSXML2.XMLHTTP.3.0",
	"MSXML2.XMLHTTP",
	"Microsoft.XMLHTTP"
);

// Define ready state constants.
var XMLHTTPREQUEST_READY_STATE_UNINITIALIZED = 0;
var XMLHTTPREQUEST_READY_STATE_LOADING       = 1;
var XMLHTTPREQUEST_READY_STATE_LOADED        = 2;
var XMLHTTPREQUEST_READY_STATE_INTERACTIVE   = 3;
var XMLHTTPREQUEST_READY_STATE_COMPLETED     = 4;

//-----------------------------------------------------------------------------
// Returns an XMLHttpRequest object.
//-----------------------------------------------------------------------------
function getXMLHttpRequest() {
	var httpRequest = null;
	// Create the appropriate HttpRequest object for the browser.
	if (window.XMLHttpRequest != null)
		httpRequest = new window.XMLHttpRequest();
	else if (window.ActiveXObject != null) {
		// Must be IE, find the right ActiveXObject.
		var success = false;
		for (var i = 0; i < XMLHTTPREQUEST_MS_PROGIDS.length && !success; i++) {
			try {
				httpRequest = new ActiveXObject(XMLHTTPREQUEST_MS_PROGIDS[i]);
				success = true;
			}
			catch (ex)
			{}
		}
	}
	// Display an error if we couldn't create one.
	if (httpRequest == null)
		alert("Error in HttpRequest():\n\nCannot create an XMLHttpRequest object.");
	// Return it.
	return httpRequest;
}

function setStatusText(text)
{
	// Display the status message.
	var el = document.getElementById("statusText");
	if (el.firstChild == null)
		el.appendChild(document.createTextNode(""));
	el.firstChild.nodeValue = text;
}

// Objektövervakaren är avstängd.
//var bidsLookup = getXMLHttpRequest();

var objectsLookup = getXMLHttpRequest();
var prodLookup = getXMLHttpRequest();
var baseurl = "";

function initiateBidsLookup(clientid, baseurlin)
{
	// Clear the status text.
	//setStatusText("");
	baseurl = baseurlin;
	// Abort any currently active request.
	bidsLookup.abort();
	// Perform an asynchronous request to get the matching city and state.
	var ajaxurl = "/ajaxbidsget.phtml";
	bidsLookup.onreadystatechange = bidsReadyStateChange;

	bidsLookup.open("POST", ajaxurl, true);
	bidsLookup.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	bidsLookup.send("id=" + clientid);
}

function initiateObjectsLookup(catid, baseurlin)
{
	// Clear the status text.
	//setStatusText("");
	baseurl = baseurlin;
	// Abort any currently active request.
	objectsLookup.abort();
	// Perform an asynchronous request to get the matching city and state.
	var ajaxurl = "/ajaxobjectsget.phtml";
	objectsLookup.onreadystatechange = objectsReadyStateChange;

	objectsLookup.open("POST", ajaxurl, true);
	objectsLookup.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	objectsLookup.send("id=" + catid);
}

function initiateProdLookup(prodid, baseurlin)
{
	// Clear the status text.
	//setStatusText("");
	baseurl = baseurlin;
	// Abort any currently active request.
	prodLookup.abort();
	// Perform an asynchronous request to get the matching city and state.
	var ajaxurl = "/ajaxprodget.phtml";
	prodLookup.onreadystatechange = prodReadyStateChange;

	prodLookup.open("POST", ajaxurl, true);
	prodLookup.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	prodLookup.send("id=" + prodid);
}

function prodReadyStateChange()
{

	var statusText;
	switch (prodLookup.readyState)
	{
		case XMLHTTPREQUEST_READY_STATE_UNINITIALIZED:
			statusText = "";
			break;

		case XMLHTTPREQUEST_READY_STATE_LOADING:
			statusText = "Uppdaterar objektet";
			break;

		case XMLHTTPREQUEST_READY_STATE_LOADED:
			statusText = "Skickar data";
			break;

		case XMLHTTPREQUEST_READY_STATE_INTERACTIVE:
			statusText = "Hämtar data";
			break;

		case XMLHTTPREQUEST_READY_STATE_COMPLETED:
			// Assume no match was found.
			statusText = "Objektet inte uppdaterat."
			try
			{
				var xmlDoc = prodLookup.responseXML;
				
    		var els = xmlDoc.getElementsByTagName("object");
    		
        if(els.length > 0) {
					for(iloop = 0; iloop < els.length; iloop ++  ){

	          if(els[iloop].getElementsByTagName('id')[0].hasChildNodes() == true) {
							var pid = els[iloop].getElementsByTagName('id')[0].firstChild.data;
							var bid = (els[iloop].getElementsByTagName('bid')[0].firstChild.data * 1);
							var bidder = els[iloop].getElementsByTagName('bidder')[0].firstChild.data;
							var aenddate = els[iloop].getElementsByTagName('aenddate')[0].firstChild.data;
							var aendkl = els[iloop].getElementsByTagName('aendkl')[0].firstChild.data;
							var timeleft = els[iloop].getElementsByTagName('timeleft')[0].firstChild.data;
							var vatprice = els[iloop].getElementsByTagName('vatprice')[0].firstChild.data;
							var resprice = els[iloop].getElementsByTagName('resprice')[0].firstChild.data;
							var antbids = els[iloop].getElementsByTagName('antbids')[0].firstChild.data;
							// Global var used in page_products.phtml
							usernbid = (els[iloop].getElementsByTagName('usernbid')[0].firstChild.data * 1);
							ulastbid = (els[iloop].getElementsByTagName('ulastbid')[0].firstChild.data * 1);
							bidinc = (els[iloop].getElementsByTagName('bidinc')[0].firstChild.data * 1);
							lastbid = bid;

							//if(document.getElementById('bid')){
								//document.getElementById('bid').value = (lastbid + bidinc);
							//}
							if(document.getElementById('fendtime'+pid)){
								document.getElementById('fendtime'+pid).innerHTML = "<strong>Sluttid: "+aenddate+" &nbsp;Kl "+aendkl+"</strong>";
							}
							if(document.getElementById('ftimeleft'+pid)){
								if(timeleft == 0) timeleft = "";
								document.getElementById('ftimeleft'+pid).innerHTML = "<strong>"+timeleft+"</strong>";
								secleft = (els[iloop].getElementsByTagName('secleft')[0].firstChild.data * 1);
							}

							if(document.getElementById('fresprice'+pid)){
								if(resprice == 1){
									document.getElementById('fresprice'+pid).innerHTML = "Ja";
									document.getElementById('fresprice'+pid).className = "priceapproved";								
								}
								else {
									document.getElementById('fresprice'+pid).innerHTML = "Nej";
									document.getElementById('fresprice'+pid).className = "pricenotapproved";								
								}
							}

							if(document.getElementById('bidinc'+pid)){
								if(lastbid > 0){
									bidtext = "Minsta budökning: ";
								}
								else {
									bidtext = "Minsta bud: ";
								}
								document.getElementById('bidinc'+pid).innerHTML = bidtext+bidinc+" kr";
							}

							if(document.getElementById('fsoldpic'+pid)){
								if(timeleft == "Avslutad"){
									if(document.getElementById('bidform'+pid)){
										document.getElementById('bidform'+pid).style.display = "none";									
									}
									document.getElementById('fsoldpic'+pid).src = "/images/sold_large.png";
								}
								else {
									if(document.getElementById('bidform'+pid)){
										document.getElementById('bidform'+pid).style.display = "";									
									}
									document.getElementById('fsoldpic'+pid).src = "/images/pix.gif";								
								}
							}

						}

					}
					
					
	    		var bidlist = xmlDoc.getElementsByTagName("biditem");
					var bbtext = "";	    		
	    		
        	if(bidlist.length > 0) {
        		//bbtext = bbtext+"<strong>Bud på objektet</strong>\n";

        		bbtext = bbtext+"<div style='float:left;'><strong>Bud på objektet</strong></div>\n";

        		/*bbtext = bbtext+"<div style='float:right;'>Reservationspriset uppnått: <span class='";
						if(resprice == 1) bbtext = bbtext+"priceapproved";
						else bbtext = bbtext+"pricenotapproved";
        		bbtext = bbtext+"'>";
						if(resprice == 1) bbtext = bbtext+"Ja";
						else bbtext = bbtext+"Nej";        		
        		bbtext = bbtext+"</span></div>\n";*/

        		bbtext = bbtext+"<div style='clear:both;'></div>\n";
						for(iloop = 0; iloop < bidlist.length; iloop ++  ){
		          if(bidlist[iloop].getElementsByTagName('id')[0].hasChildNodes() == true) {

								biddate = bidlist[iloop].getElementsByTagName('biddate')[0].firstChild.data;
								bidkl = bidlist[iloop].getElementsByTagName('bidkl')[0].firstChild.data;
								user = bidlist[iloop].getElementsByTagName('user')[0].firstChild.data;
								bidsum = bidlist[iloop].getElementsByTagName('bidsum')[0].firstChild.data;

								bbtext = bbtext+"<div class='"; 
								if((iloop % 2) == 0) { bbtext = bbtext+"bidrow_dark"; }
								else { bbtext = bbtext+"bidrow_light"; }
								if(iloop == 0) { bbtext = bbtext+" bidrow_top"; }
								bbtext = bbtext+"'>\n";			
								bbtext = bbtext+"<div style='float:left;' class='"; 
								if(iloop == 0) { bbtext = bbtext+" lastbidinfo"; }
								bbtext = bbtext+"'>\n";
								bbtext = bbtext+biddate+" &nbsp;&nbsp;Kl "+bidkl+" &nbsp;&nbsp;";
								bbtext = bbtext+"Alias: "+user;
								bbtext = bbtext+"</div>\n";
								
								bbtext = bbtext+"<div style='float:right;' class='"; 
								if(iloop == 0) { bbtext = bbtext+" lastbid"; }
								bbtext = bbtext+"'>\n";
								bbtext = bbtext+bidsum+" kr";
								if(vatprice == 1) { bbtext = bbtext+" momsfritt"; }
								else { bbtext = bbtext+" exkl moms"; }
								bbtext = bbtext+"</div>\n";
								bbtext = bbtext+"<div style='clear:both;'></div>\n";
								bbtext = bbtext+"</div>\n";

							}
						}
						if(antbids > 5){
							bbtext = bbtext+"<p><a href=\"/allbids/"+pid+"/\" onclick=\"";
							bbtext = bbtext+"window.open(this.href, 'Budhistorik_"+pid+"', 'width=500px,height=500px,scrollbars=yes');";
							bbtext = bbtext+" return false;\">Budhistorik »</a></p>";
						}
					}
					else {
						bbtext = bbtext+"Inga bud";
					}
					if(document.getElementById('biddingbox')){
						document.getElementById('biddingbox').innerHTML = bbtext;
					}
					
          statusText = "Objektet uppdaterat";
        }        
        
			}
			catch (ex)
			{}
			break;

		default:
			statusText = "Unknown error.";
			break;
	}
	// Update the status message.
	//setStatusText(statusText);
}

function objectsReadyStateChange()
{

	var statusText;
	switch (objectsLookup.readyState)
	{
		case XMLHTTPREQUEST_READY_STATE_UNINITIALIZED:
			statusText = "";
			break;

		case XMLHTTPREQUEST_READY_STATE_LOADING:
			statusText = "Uppdaterar objekt";
			break;

		case XMLHTTPREQUEST_READY_STATE_LOADED:
			statusText = "Skickar data";
			break;

		case XMLHTTPREQUEST_READY_STATE_INTERACTIVE:
			statusText = "Hämtar data";
			break;

		case XMLHTTPREQUEST_READY_STATE_COMPLETED:
			// Assume no match was found.
			statusText = "Inga objekt uppdaterade."
			try
			{
				var xmlDoc = objectsLookup.responseXML;
				
    		var els = xmlDoc.getElementsByTagName("object");
        if(els.length > 0) {
					for(iloop = 0; iloop < els.length; iloop ++  ){

	          if(els[iloop].getElementsByTagName('id')[0].hasChildNodes() == true) {
							pid = els[iloop].getElementsByTagName('id')[0].firstChild.data;
							bid = els[iloop].getElementsByTagName('bid')[0].firstChild.data;
							bidder = els[iloop].getElementsByTagName('bidder')[0].firstChild.data;
							endtime = els[iloop].getElementsByTagName('endtime')[0].firstChild.data;
							timeleft = els[iloop].getElementsByTagName('timeleft')[0].firstChild.data;
							isnew = els[iloop].getElementsByTagName('isnew')[0].firstChild.data;
							dohide = els[iloop].getElementsByTagName('dohide')[0].firstChild.data;
							vatprice = els[iloop].getElementsByTagName('vatprice')[0].firstChild.data;
							
							otrHeader = document.getElementById('objectTR1_'+pid);
							otrBody = document.getElementById('objectTR2_'+pid);
							otrFooter = document.getElementById('objectTR3_'+pid);
							if(otrHeader && otrBody && otrFooter){
								if(dohide == 1){
									if(otrHeader.style.display == ""){
										otrHeader.style.display = "none";
										otrBody.style.display = "none";
										otrFooter.style.display = "none";
									}
								}
								else {
									if(otrHeader.style.display == "none"){
										otrHeader.style.display = "";
										otrBody.style.display = "";
										otrFooter.style.display = "";
									}
								}
							}

							
							if(document.getElementById('endtime'+pid)){
								document.getElementById('endtime'+pid).innerHTML = "<strong>Auktionen avslutas:</strong><br />"+endtime;
							}
							if(document.getElementById('timeleft'+pid)){
								if(timeleft == 0) timeleft = "";
								document.getElementById('timeleft'+pid).innerHTML = timeleft;
							}
							bidtext = "";
							if(bid != "" && bid != 0){
								if(document.getElementById('bid'+pid)){
									bidtext = ""+bid+" kr ";
									if(vatprice == 1) bidtext = bidtext+"momsfritt";
									else bidtext = bidtext+"exkl moms";
									if(document.getElementById('bid'+pid).innerHTML.toLowerCase() != bidtext.toLowerCase()){
										document.getElementById('bid'+pid).style.fontWeight = "bold";
									}
									else {
										document.getElementById('bid'+pid).style.fontWeight = "normal";									
									}
									document.getElementById('bid'+pid).innerHTML = bidtext;
									
								}

								if(document.getElementById('bidtext'+pid)){
									bidtexten = "<strong>Högsta bud:</strong><br /><strong>Budgivare:</strong><br />";
									document.getElementById('bidtext'+pid).innerHTML = bidtexten;
								}

								biddertext = "";
								if(bidder != "" && bidder != 0){
									if(document.getElementById('bidder'+pid)){
										biddertext = ""+bidder;
										//alert(document.getElementById('bidder'+pid).innerHTML);
										if(document.getElementById('bidder'+pid).innerHTML.toLowerCase() != biddertext.toLowerCase()){
											document.getElementById('bidder'+pid).style.fontWeight = "bold";
										}
										else {
											document.getElementById('bidder'+pid).style.fontWeight = "normal";									
										}
										document.getElementById('bidder'+pid).innerHTML = biddertext;
									}				
								}
							}							

							if(document.getElementById('addnewobjimg'+pid)){
								var addnewimgurl = "/images/pix.gif";
								if(timeleft != "" && timeleft != "Avslutad"){
									addnewimgurl = "/images/clock_24.png";
								}
								else {
									if(timeleft != "Avslutad"){
										if(isnew == 1){
											addnewimgurl = "/images/ny_icon.png";
										}
									}
								}
								document.getElementById('addnewobjimg'+pid).src = addnewimgurl;
							}

							if(document.getElementById('soldpic'+pid)){
								if(timeleft == "Avslutad"){
									document.getElementById('soldpic'+pid).src = "/images/sold_small.png";
								}
								else {
									document.getElementById('soldpic'+pid).src = "/images/pix.gif";								
								}
							}

						}

					}
          statusText = "Objekt uppdaterade";
        }
			}
			catch (ex)
			{}
			break;

		default:
			statusText = "Unknown error.";
			break;
	}
	// Update the status message.
	//setStatusText(statusText);
}

function bidsReadyStateChange()
{
	var statusText;
	switch (bidsLookup.readyState)
	{
		case XMLHTTPREQUEST_READY_STATE_UNINITIALIZED:
			statusText = "";
			break;

		case XMLHTTPREQUEST_READY_STATE_LOADING:
			statusText = "Uppdaterar bud";
			break;

		case XMLHTTPREQUEST_READY_STATE_LOADED:
			statusText = "Skickar data";
			break;

		case XMLHTTPREQUEST_READY_STATE_INTERACTIVE:
			statusText = "Hämtar data";
			break;

		case XMLHTTPREQUEST_READY_STATE_COMPLETED:
			// Assume no match was found.
			statusText = "Inga bud uppdaterade."
			try
			{
				var xmlDoc = bidsLookup.responseXML;
				
    		var els = xmlDoc.getElementsByTagName("object");
        if(els.length > 0) {
					for(iloop = 0; iloop < els.length; iloop ++  ){

	          if(els[iloop].getElementsByTagName('id')[0].hasChildNodes() == true) {
							pid = els[iloop].getElementsByTagName('id')[0].firstChild.data;
							bidowner = els[iloop].getElementsByTagName('bidowner')[0].firstChild.data;
							linkname = els[iloop].getElementsByTagName('name')[0].firstChild.data+" ("+els[iloop].getElementsByTagName('artno')[0].firstChild.data+")";
							newtext = "<a href='"+baseurl+"/auction/product/"+els[iloop].getElementsByTagName('urlname')[0].firstChild.data+"/'>";
							newtext = newtext+linkname.substr(0, 28)+" »</a>";
							newtext = newtext+"<br />";
							newtext = newtext+els[iloop].getElementsByTagName('highbid')[0].firstChild.data+"";
							if(els[iloop].getElementsByTagName('resprice')[0].firstChild.data == 1){
								newtext = newtext+"&nbsp;<img src='/images/resprice.gif' width='10' class='resprice_img' alt='Reservationspris uppnått' />";
							}
							//newtext = newtext+"<br />Reservationspris uppnått: ";
							divtext = "<div class='";
							if(user_id == bidowner){
								divtext = divtext+"objectwatch_leader";
							}
							else {
								divtext = divtext+"objectwatch_notleader";							
							}
							divtext = divtext+"'>";
							divtext = divtext+newtext;
							divtext = divtext+"</div>";
							if(document.getElementById('prodact_'+pid+'_1')){
								document.getElementById('prodact_'+pid+'_1').innerHTML = divtext;
								document.getElementById('prodact_'+pid+'_2').innerHTML = divtext;
							}
							if(document.getElementById('prodfav_'+pid+'_1')){
								newtext = "<div class='objectwatch_fav'>"+newtext+"</div>";
								document.getElementById('prodfav_'+pid+'_1').innerHTML = newtext;
								document.getElementById('prodfav_'+pid+'_2').innerHTML = newtext;
							}
						}

					}
          statusText = "Bud uppdaterade";
        }
			}
			catch (ex)
			{}
			break;

		default:
			statusText = "Unknown error.";
			break;
	}
	// Update the status message.
	//setStatusText(statusText);
}




// ----------------------------------------------------------------------------------------------------------------------------------

