/////////////////////////
//HTML instructions:
//
// 1.  Script URL
//     Put:
//     <script language="javascript" type="text/javascript" src="captcha/captcha.js"></script>
//     in HTML.
//
// 2.  Captcha Image
//     Put:
//     <div id="captcha_cage"></div>
//     in HTML where image is to appear.
//    
// 3.  Captcha Image Refresh Timer
var conf_timer = true;
var conf_timer_seconds = 180;
//     If true, put:
//     <span id="timer_cage"></span>
//     or
//     <div id="timer_cage"></span>
//     in HTML where countdown is to appear.
//
// 4.  User Refresh
//     Put:
//     <a href="javascript:getCaptcha()">refresh</a>
//     in HTML where image refresh link is to appear.
//
/////////////////////////

var timerDelay = 0;
var startTime = new Date();

function createRequestObject() {
	var request_o; 
	var browser = navigator.appName;
	if (browser == "Microsoft Internet Explorer") {
		request_o = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		request_o = new XMLHttpRequest();
	}
	return request_o; 
}

var http = createRequestObject(); 

function getCaptcha() {
    var refresh_val = new Date();
	http.open('get', 'captcha/captcha_request.php?val=' + refresh_val.getTime());  // forces new image request (instead of retrieving from cache)
	http.onreadystatechange = handleProducts; 
	http.send(null);
	startTime = new Date();
}

function handleProducts(){
	if(http.readyState == 4) { 
		var response = http.responseText;
		document.getElementById('captcha_cage').innerHTML = response;
	}
}

function countTimer()
{
    var timer = new Date();
    var difference = timer.getTime() - startTime.getTime();
    difference = Math.floor(difference/1000);
    var seconds = conf_timer_seconds - difference;
    
    document.getElementById('timer_cage').innerHTML = seconds;
    if (seconds <= 0)
        getCaptcha();
        
    timerDelay = setTimeout("countTimer()", 1000);
}

function open(item) 
// for captcha "What's This?" div
{
	if (document.getElementById(item).style.display == "none") 
	{
	   document.getElementById(item).style.display = "block";
	}
	else if (document.getElementById(item).style.display == "block")
	{
	   document.getElementById(item).style.display = "none";
	}
}

getCaptcha();
if (conf_timer)
    timerDelay = setTimeout("countTimer()", 500);