// captcha.js

// reloadCAPTCHA()
function reloadCAPTCHA(imgId)
{
	var img = document.getElementById(imgId);
	if(img){
		var src = img.src;
		var idx = src.lastIndexOf('&t=');
		if(-1==idx)
		{
			idx = src.lastIndexOf('?t=');
		}
		if(-1!=idx){			
			src = src.substring(0,idx);
		}
		idx = src.lastIndexOf('?');
		if(-1!=idx)
		{			
			src += ('&t='+ escape(new Date().toTimeString()));
		}
		else
		{
			src += ('?t='+ escape(new Date().toTimeString()));
		}
		img.src = src;
	}
}

// InitRequest()
function InitRequest()
{
	var req=null; 
	try { 
		req = new ActiveXObject("Msxml2.XMLHTTP"); 
	} catch (e) { 
		try { 
			req = new ActiveXObject("Microsoft.XMLHTTP"); 
		} catch (E) { 
			req = false; 
		} 
	}
	if (!req && typeof XMLHttpRequest!='undefined') { 
		req = new XMLHttpRequest(); 
	} 
	return req;
}
// checkCAPTCHA()
// check if captcha code match
// Parameters:
// sn : session name to store captcha code 
// input : user input code
// msg : msg to show when code does not match
// Return Value
// if code match then return true, otherwise return false
//
function checkCAPTCHA(sn,input,msg)
{
	var request = InitRequest();
	var URL = "checkCAPTCHA.asp?SN=" + escape(sn) + "&INPUT=" + escape(input) + "&t=" + escape(new Date().toTimeString());
	var resultText = "false";
	request.open("GET", URL, false);
	request.send(null);
	if ( request.status == 200 ) 
    { 
		resultText = request.responseText; 
	} 
	var result = false;
	try {
		result = eval(resultText);
	} catch (e)	{		
		result = false;
	}
	if(!(result))
	{
		if(msg)window.alert(msg);
		return false;
	}
	return true;
}
