/*
Updated 12 October 2009 03:21:50
- Now it uses Prototype or JQuery
*/

function MyLBD_Validate(formId, captchaImageId, codeTextboxId, callBack, timeOutMS){
	var MyLBD_ValidationRequest = null;
	if(timeOutMS==null)timeOutMS=5000;
    var LBD_CodeInput = document.getElementById(codeTextboxId);
	if(!LBD_CodeInput||!LBD_CodeInput.value||!LBD_CodeInput.value.length<0)callBack(0);
	else{
		var sURL = '/_bh.asp?d=' + LBD_GetTimestamp();
		if(typeof Prototype!='undefined'){
			new Ajax.Request(sURL,{
				method: 'post',
				parameters: { Command:'Validate', Code:LBD_CodeInput.value},
				onSuccess: function(transport){
					var result=String(transport.responseText);
					// if CAPTCHA validation failed, reset the CAPTCHA
					if(result!='1'){LBD_ReloadImage(captchaImageId);LBD_CodeInput.value = '';}
					if("function"==typeof(callBack))callBack(result);//callback function
				},
				on404: function(transport){alert('Error 404: location "' + transport.statusText + '" was not found.');callBack(-1)},
				onFailure: function(transport){alert('Error ' + transport.status + ' -- ' + transport.statusText);callBack(-1)}
			})
		}else if(typeof jQuery!='undefined'){
			jQuery.ajax({
				url: sURL, type: "POST", dataType:"text",
				data: ({Command:'Validate', Code:LBD_CodeInput.value}),
				success:function(result, textStatus){
					// if CAPTCHA validation failed, reset the CAPTCHA
					if(result!='1'){LBD_ReloadImage(captchaImageId);LBD_CodeInput.value = '';}
					if("function"==typeof(callBack))callBack(result);//callback function
				},
				error:function (xhr, ajaxOptions, thrownError){alert('Error ' + xhr.status + ' -- ' + xhr.statusText);callBack(-1);}       
			});
		}else{
			alert("Unable to connect; check for Ajax dependencies.");
		}
	}
	return false;
}

function LBD_LoadSound(soundPlaceholderId, soundLink) {
	if(document.getElementById) {
		var i = soundLink.indexOf('&d=');
		if (-1 != i)soundLink = soundLink.substring(0, i);
		soundLink = soundLink + '&d=' + LBD_GetTimestamp();
		var placeholder = document.getElementById(soundPlaceholderId);
		var objectSrc = "<object id='captchaSound' classid='clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95' height='0' width='0' style='width:0; height:0;'><param name='AutoStart' value='1' /><param name='Volume' value='0' /><param name='PlayCount' value='1' /><param name='FileName' value='" + soundLink + "' /><embed id='captchaSoundEmbed' src='"+ soundLink + "' autoplay='true' hidden='true' volume='100' type='"+ LBD_GetMimeType() +"' style='display:inline;' /></object>";
		placeholder.innerHTML = "";placeholder.innerHTML = objectSrc;
	}
}

function LBD_GetTimestamp(){var d = new Date();var t = d.getTime() + (d.getTimezoneOffset() * 60000);return t;}
function LBD_GetMimeType(){var mimeType = "audio/x-wav";return mimeType;}
var LBD_ImgId = null;var LBD_Img = null;var LBD_NewImg = null;var LBD_Parent = null;var LBD_ImagePrompt = null;
function LBD_ReloadImage(imgId) {
	if(imgId) {
		LBD_ImgId = imgId;LBD_Img = document.getElementById(LBD_ImgId);
		var src = LBD_Img.src;var i = src.indexOf('&d=');
		if (-1 != i)src = src.substring(0, i);
		var newSrc = src + '&d=' + LBD_GetTimestamp();
		LBD_NewImg = document.createElement('img');
		LBD_NewImg.onload = LBD_ShowImage;LBD_NewImg.id = LBD_Img.id;LBD_NewImg.alt = LBD_Img.alt;LBD_NewImg.src = newSrc;
		LBD_ImagePrompt = document.createElement('span');LBD_ImagePrompt.appendChild(document.createTextNode('loading...'));
		LBD_Parent = LBD_Img.parentNode;LBD_Parent.removeChild(LBD_Img);LBD_Parent.appendChild(LBD_ImagePrompt);
	}
}
function LBD_ShowImage(){if(LBD_NewImg && LBD_Parent && LBD_ImagePrompt){LBD_Parent.removeChild(LBD_ImagePrompt);LBD_Parent.appendChild(LBD_NewImg);}}
