function numbers_only(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57)) return false;
    return true;
}

function pad_digits(n, totalDigits) { 
    n = n.toString(); 
    var pd = ''; 
    if (totalDigits > n.length) { 
        for(i=0; i < (totalDigits-n.length); i++) { 
            pd += '0'; 
        } 
    } 
    return pd + n.toString(); 
}


function update_countdown(auction_id, end_time, cur_time) {
		var countdown = document.getElementById("countdown_" + auction_id);

		
		var time_remaining = end_time - cur_time;

				if(time_remaining <= -16) {
countdown.innerHTML = "<span class=\"d number\">Auction Closed</span>";
		
} else if(time_remaining <= 0 && time_remaining > -16) {
countdown.innerHTML = "<span class=\"d number\">Calculating Winner</span>";

		} else {
			var days = Math.floor(time_remaining / 60 / 60 / 24);
			time_remaining = time_remaining - (days * 60 * 60 * 24);
			var hours = Math.floor(time_remaining / 60 / 60);
			time_remaining = time_remaining - (hours * 60 * 60);
			var minutes = Math.floor(time_remaining / 60);
			time_remaining = time_remaining - (minutes * 60);
			var seconds = time_remaining;

			document.getElementById("d_" + auction_id).innerHTML = pad_digits(days, 2);
			document.getElementById("h_" + auction_id).innerHTML = pad_digits(hours, 2);
			document.getElementById("m_" + auction_id).innerHTML = pad_digits(minutes, 2);
			document.getElementById("s_" + auction_id).innerHTML = pad_digits(seconds, 2);
		}
cur_time = cur_time+1;
		setTimeout("update_countdown("+auction_id+", "+end_time+", "+cur_time+");", 1000);
}

























function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+1);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
}

function newbid(item_id) {
	//alert(item_id);
	if(document.getElementById("incdropdown")) document.getElementById("incdropdown").style.display = "none";
	document.getElementById(item_id).style.display = "block";
	var bid_value = document.getElementById(item_id + "_bid_value").value;
	var done = false;
	var cont = true;
	var zero = "£0.00";
    //var eurr="£0.00";
	//alert(zero+'  '+eurr);
	if(bid_value == "" || bid_value == "0") {
		alert("Please enter a valid bid");
	} 
	else 
	{
		var bid_value_parsed = bid_value / 100;
		bid_value_parsed = "£"+bid_value_parsed.toFixed(2);

		var div_bids = document.getElementById(item_id);

		var span_bids = div_bids.getElementsByTagName("span");
		for(i = 0; i < span_bids.length; i++) {
			if(span_bids[i].innerHTML == bid_value_parsed) cont = false;
		}

		if(cont) {
			//alert("continue");
			for(i = 0; i < span_bids.length; i++) {
				//alert(span_bids[i].innerHTML+' '+zero);
				if(span_bids[i].innerHTML == zero && !done) {
					//alert("&pound;" + bid_value_parsed.substr(2));
					span_bids[i].innerHTML =  bid_value_parsed;
					done = true;
				}
			}
		} else {
			alert("You have already made a bid for that amount");
		}
	}

	document.getElementById(item_id + "_bid_value").value = "";
	updatecookies(item_id);
}

function deletebid(bid_number, item_id) {
	document.getElementById(bid_number).innerHTML = "";
	var remaining_bids = new Array();
	var array_count = 0;

	var div_bids = document.getElementById(item_id);
	var span_bids = div_bids.getElementsByTagName("span");

	for(i = 0; i < span_bids.length; i++) {
		if(span_bids[i].innerHTML != "&pound;0.00" && span_bids[i].innerHTML != "") {
			remaining_bids[array_count] = span_bids[i].innerHTML;
			array_count++;
			span_bids[i].innerHTML = "";
		}
	}

	for(i = 0; i < span_bids.length; i++) {
		if(!remaining_bids[i]) remaining_bids[i] = "&pound;0.00";
		span_bids[i].innerHTML = remaining_bids[i];
	}

	updatecookies(item_id);
}

function updatecookies(item_id) {
	
var div_bids = document.getElementById(item_id);
	var span_bids = div_bids.getElementsByTagName("span");
	//alert(span_bids.length);
	var all_zero = true;
   
	for(i = 0; i < span_bids.length; i++) {
		setCookie(item_id + "_" + i, span_bids[i].innerHTML, 1);
		
		if(span_bids[i].innerHTML != "&pound;0.00") all_zero = false;
	}

	if(all_zero) document.getElementById(item_id).style.display = "none";
}

function readcookies(item_id) {
	
	if(getCookie(item_id + "_0") != "" && getCookie(item_id + "_0") != "£0.00")
	{ document.getElementById(item_id).style.display = "block"; document.getElementById("incdropdown").style.display = "none";
 document.getElementById(item_id + "_one").innerHTML = getCookie(item_id + "_0"); 
    //alert(getCookie(item_id + "_0"));
	}
	if(getCookie(item_id + "_1") != "" && getCookie(item_id + "_0") != "£0.00") 
	{ document.getElementById(item_id).style.display = "block"; document.getElementById("incdropdown").style.display = "none";
 document.getElementById(item_id + "_two").innerHTML = getCookie(item_id + "_1"); 
 //alert(getCookie(item_id + "_1"));
 }
	if(getCookie(item_id + "_2") != "" && getCookie(item_id + "_0") != "£0.00") 
	{ document.getElementById(item_id).style.display = "block"; document.getElementById("incdropdown").style.display = "none";
 document.getElementById(item_id + "_three").innerHTML = getCookie(item_id + "_2"); 
	}
	if(getCookie(item_id + "_3") != "" && getCookie(item_id + "_0") != "£0.00") 
	{ document.getElementById(item_id).style.display = "block"; document.getElementById("incdropdown").style.display = "none";
 document.getElementById(item_id + "_four").innerHTML = getCookie(item_id + "_3"); }
	if(getCookie(item_id + "_4") != "" && getCookie(item_id + "_0") != "£0.00")
	{ document.getElementById(item_id).style.display = "block"; document.getElementById("incdropdown").style.display = "none";
 document.getElementById(item_id + "_five").innerHTML = getCookie(item_id + "_4"); }
}

function readcookies11(item_id) {
	
	if(getCookie(item_id + "_0") != "" && getCookie(item_id + "_0") != "£0.00")
	{ document.getElementById(item_id).style.display = "block"; //document.getElementById("incdropdown").style.display = "none";
 document.getElementById(item_id + "_one").innerHTML = getCookie(item_id + "_0"); 
    //alert(getCookie(item_id + "_0"));
	}
	if(getCookie(item_id + "_1") != "" && getCookie(item_id + "_0") != "£0.00") 
	{ document.getElementById(item_id).style.display = "block"; //document.getElementById("incdropdown").style.display = "none";
 document.getElementById(item_id + "_two").innerHTML = getCookie(item_id + "_1"); 
 //alert(getCookie(item_id + "_1"));
 }
	if(getCookie(item_id + "_2") != "" && getCookie(item_id + "_0") != "£0.00") 
	{ document.getElementById(item_id).style.display = "block";// document.getElementById("incdropdown").style.display = "none";
 document.getElementById(item_id + "_three").innerHTML = getCookie(item_id + "_2"); 
	}
	if(getCookie(item_id + "_3") != "" && getCookie(item_id + "_0") != "£0.00") 
	{ document.getElementById(item_id).style.display = "block"; //document.getElementById("incdropdown").style.display = "none";
 document.getElementById(item_id + "_four").innerHTML = getCookie(item_id + "_3"); }
	if(getCookie(item_id + "_4") != "" && getCookie(item_id + "_0") != "£0.00")
	{ document.getElementById(item_id).style.display = "block"; //document.getElementById("incdropdown").style.display = "none";
 document.getElementById(item_id + "_five").innerHTML = getCookie(item_id + "_4"); }
}


function intervalbids(start, finish, item_id) {
 document.getElementById("ajaxload").style.display = "";
 if(start=="From:" || finish=="To:" || start=="" || finish=="")
 { alert("Please place the bid properly...");
   document.getElementById("ajaxload").style.display = "none";
   return false;
 }
 else if(start > finish)
 {
  alert("End bid cant be less than start bid...");
  document.getElementById("ajaxload").style.display = "none";
  return false;
 }
 else if(start == finish)
 {
  alert("Start bid and end bid cant be same...")
  document.getElementById("ajaxload").style.display = "none";
  return false;
 }
else { 
	var ajaxRequest;
	
	try{
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				alert("Your browser broke!");
				return false;
			}
		}
	}

	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var split = ajaxRequest.responseText.split("|");
			//alert(split[0]);
			document.getElementById("startinput").value = split[0];
			//alert(document.getElementById("startinput").value);
			document.getElementById("finishinput").value = split[1];
			document.getElementById("fromspan").innerHTML = (split[0] / 100).toFixed(2);
			document.getElementById("tospan").innerHTML = (split[1] / 100).toFixed(2);
			document.getElementById("numberofbidsspan").innerHTML = split[2];
			document.getElementById("creditsspan").innerHTML = split[3];
			
			document.getElementById("qwerty" + item_id).style.display = "none";
			document.getElementById("incdropdown").style.display = "block";
			document.getElementById("ajaxload").style.display = "none";
		}
	}
    ajaxRequest.open("GET", "placeincrementbidsajax.php?start=" + start + "&finish=" + finish + "&aid=" + item_id, true);
	ajaxRequest.send(null); 
}
}


//
//-----------------------------------------------------------------------------/
//       Public Function: formatInt                                            /
//-----------------------------------------------------------------------------/
//
   function formatInt(val, places)
   {
      var str = "" + val;
      if (str.length < places)
      {
         for (var index = 0; index < (places - str.length); index++)
         {
            str = "0" + str;
         }
      }
      return str;
   }
 
//
//-----------------------------------------------------------------------------/
//       Class: cbCounter                                                      /
//-----------------------------------------------------------------------------/
//
   function cbCounter(id, instance, serverTime, finishTime, dummy, message)
   {
      this.id         = id;
      this.instance   = instance;
      this.serverTime = new Date(Date.parse(serverTime));
      this.finishTime = new Date(Date.parse(finishTime));
      this.dummy      = dummy;
      this.message    = message;
      this.element    = null;
      this.showMS     = false;
      this.offset     = 0;
 
//
//       Private Function: init
//       ----------------------
//
      this.init = function()
      {
         this.element = document.getElementById(this.id);
         var now      = new Date();
         this.offset  = now.getTime() - this.serverTime.getTime();
      }
 
//
//       Public Function: updateTime
//       ---------------------------
//
      this.updateTime = function()
      {
         var finished = false;
         if (this.element)
         {
            var days;
            var hours;
            var minutes;
            var seconds;
            var milliseconds;
            var now = new Date();
            var time = this.finishTime.getTime() - now.getTime() + this.offset;
            if (time < 500)
            {
               time = 0;
               finished = true;
            }
            milliseconds = time % 1000;
            time = (time - milliseconds) / 1000;
            seconds = time % 60;
            time = (time - seconds) / 60;
            minutes = time % 60;
            time = (time - minutes) / 60;
            hours = time % 24;
            time = (time - hours) / 24;
            days = time;
this.element.innerHTML = (finished ? "<span style=color:red>" + this.message + "</span>" : 
               days + ((days == 1) ? "j  " : "j  ") + formatInt(hours, 1) + "h  " + formatInt(minutes, 2) + "m  " + formatInt(seconds, 2) + "s  " +
               (this.showMS ? ("." + formatInt(milliseconds, 3)) : ""));         }
         else
         {
            this.init();
         }
         if (!finished)
         {
            window.setTimeout(this.instance + ".updateTime()", 100);
         }
      }
   }
   
   function unhide(divID) {
  var item = document.getElementById(divID);
  if (item) {
    item.className=(item.className=='bidhidden')?'bidunhidden':'bidhidden';
  }
}

function toggleMenu(idx,labl) {
  idx = typeof(idx)=="string" ? document.getElementById(idx) : idx;
	labl = typeof(labl)=="string" ? document.getElementById(labl) : labl;
	if( idx && labl )
	{
  	if(/\bcloseSubMenu\b/.test(idx.className) )
		{
			labl.className = labl.className.replace(/\bopenMenuLabel\b/,"closeMenuLabel");
			idx.className = idx.className.replace(/\bcloseSubMenu\b/,"openSubMenu");
		}
		else if(/\bopenSubMenu\b/.test(idx.className) )
		{
			labl.className = labl.className.replace(/\bcloseMenuLabel\b/,"openMenuLabel");
			idx.className = idx.className.replace(/\bopenSubMenu\b/,"closeSubMenu");
		}
	}
	else if( !idx )
	{
		alert("Supplied idx argument may not be an existing element node, id or your browser has no DOM support.");
	}
	else if( !lbl )
	{
		alert("Supplied lbl argument may not be an existing element node, id or your browser has no DOM support.");
	}
}  

function refreshPage(auc_id,mem_id,rollimage){
	
	$('#'+rollimage).attr('src','images/ajaxloader.gif');
	var auc_id=auc_id;
	var user_id=mem_id;
	//pass values to ajax funtions.
	$.post("ajax_bid_status.php", {item_id: auc_id,mem_id: user_id} , function(data){
	$('#myref'+auc_id).html(data); 
	
	$("#tablesorter-demo"+auc_id).tablesorter({sortList:[[0,0],[2,1]], widgets: ['zebra']});
	$('#'+rollimage).attr('src','images/refresh2.png');	
	
	//alert(auc_id);
		 });
	
	}
	
/*
 * Clear Default Text: functions for clearing and replacing default text in
 * <input> elements.
 *
 * by Ross Shannon, http://www.yourhtmlsource.com/
 */

addEvent(window, 'load', init, false);

function init() {
    var formInputs = document.getElementsByTagName('input');
    for (var i = 0; i < formInputs.length; i++) {
        var theInput = formInputs[i];
        
        if (theInput.type == 'text' && theInput.className.match(/\bcleardefault\b/)) {  
            /* Add event handlers */          
            addEvent(theInput, 'focus', clearDefaultText, false);
            addEvent(theInput, 'blur', replaceDefaultText, false);
            
            /* Save the current value */
            if (theInput.value != '') {
                theInput.defaultText = theInput.value;
            }
        }
    }
}

function clearDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    
    if (target.value == target.defaultText) {
        target.value = '';
    }
}

function replaceDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    
    if (target.value == '' && target.defaultText) {
        target.value = target.defaultText;
    }
}

/* 
 * Cross-browser event handling, by Scott Andrew
 */
function addEvent(element, eventType, lamdaFunction, useCapture) {
    if (element.addEventListener) {
        element.addEventListener(eventType, lamdaFunction, useCapture);
        return true;
    } else if (element.attachEvent) {
        var r = element.attachEvent('on' + eventType, lamdaFunction);
        return r;
    } else {
        return false;
    }
}

/* 
 * Kills an event's propagation and default action
 */
function knackerEvent(eventObject) {
    if (eventObject && eventObject.stopPropagation) {
        eventObject.stopPropagation();
    }
    if (window.event && window.event.cancelBubble ) {
        window.event.cancelBubble = true;
    }
    
    if (eventObject && eventObject.preventDefault) {
        eventObject.preventDefault();
    }
    if (window.event) {
        window.event.returnValue = false;
    }
}

/* 
 * Safari doesn't support canceling events in the standard way, so we must
 * hard-code a return of false for it to work.
 */
function cancelEventSafari() {
    return false;        
}

/* 
 * Cross-browser style extraction, from the JavaScript & DHTML Cookbook
 * <http://www.oreillynet.com/pub/a/javascript/excerpt/JSDHTMLCkbk_chap5/index5.html>
 */
function getElementStyle(elementID, CssStyleProperty) {
    var element = document.getElementById(elementID);
    if (element.currentStyle) {
        return element.currentStyle[toCamelCase(CssStyleProperty)];
    } else if (window.getComputedStyle) {
        var compStyle = window.getComputedStyle(element, '');
        return compStyle.getPropertyValue(CssStyleProperty);
    } else {
        return '';
    }
}

/* 
 * CamelCases CSS property names. Useful in conjunction with 'getElementStyle()'
 * From <http://dhtmlkitchen.com/learn/js/setstyle/index4.jsp>
 */
function toCamelCase(CssProperty) {
    var stringArray = CssProperty.toLowerCase().split('-');
    if (stringArray.length == 1) {
        return stringArray[0];
    }
    var ret = (CssProperty.indexOf("-") == 0)
              ? stringArray[0].charAt(0).toUpperCase() + stringArray[0].substring(1)
              : stringArray[0];
    for (var i = 1; i < stringArray.length; i++) {
        var s = stringArray[i];
        ret += s.charAt(0).toUpperCase() + s.substring(1);
    }
    return ret;
}

/*
 * Disables all 'test' links, that point to the href '#', by Ross Shannon
 */
function disableTestLinks() {
  var pageLinks = document.getElementsByTagName('a');
  for (var i=0; i<pageLinks.length; i++) {
    if (pageLinks[i].href.match(/[^#]#$/)) {
      addEvent(pageLinks[i], 'click', knackerEvent, false);
    }
  }
}

/* 
 * Cookie functions
 */
function createCookie(name, value, days) {
    var expires = '';
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        var expires = '; expires=' + date.toGMTString();
    }
    document.cookie = name + '=' + value + expires + '; path=/';
}

function readCookie(name) {
    var cookieCrumbs = document.cookie.split(';');
    var nameToFind = name + '=';
    for (var i = 0; i < cookieCrumbs.length; i++) {
        var crumb = cookieCrumbs[i];
        while (crumb.charAt(0) == ' ') {
            crumb = crumb.substring(1, crumb.length); /* delete spaces */
        }
        if (crumb.indexOf(nameToFind) == 0) {
            return crumb.substring(nameToFind.length, crumb.length);
        }
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, '', -1);
}

var newwindow;
function poptastic(url)
{
	newwindow=window.open(url,'name','height=400,width=550,left=100,top=100,resizable=no,scrollbars=yes,toolbar=no,status=yes');
	if (window.focus) {newwindow.focus()}
}
/*function place_bid(auc_id,item_value)
	{
	
	var auc_id=auc_id;
	//get bid amount by
	var valie_1st = document.getElementById('abcdefg_one').innerHTML;
	var valie_2st = document.getElementById('abcdefg_two').innerHTML;
	var valie_3st = document.getElementById('abcdefg_three').innerHTML;
	var valie_4st = document.getElementById('abcdefg_four').innerHTML;
	var valie_5st = document.getElementById('abcdefg_five').innerHTML;
	
	//remove pounds sign from bid value
	valie_1st=valie_1st.substring(1);
	valie_2st=valie_2st.substring(1);
	valie_3st=valie_3st.substring(1);
	valie_4st=valie_4st.substring(1);
	valie_5st=valie_5st.substring(1);
	
	//pass values to ajax funtions.
	$.post("ajax_auction_values.php", {item_id: auc_id,bidAmt_1: valie_1st,bidAmt_2: valie_2st,bidAmt_3: valie_3st,bidAmt_4: valie_4st,bidAmt_5: valie_5st} , function(data){
		 
		alert(data);
		 });
	
	}*/