function $(v) { return(document.getElementById(v)); }
function $S(v) { return($(v).style); }
function XHConn() {
	var xmlhttp, bComplete = false;
	try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
	catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
	catch (e) { try { xmlhttp = new XMLHttpRequest(); }
	catch (e) { xmlhttp = false; }}}

	if (!xmlhttp) return null;

	this.connect = function(sURL, sMethod, sVars, fnDone)
	{
		if (!xmlhttp) return false;
		bComplete = false;
		sMethod = sMethod.toUpperCase();
	
		try {
			if (sMethod == "GET")
			{
				xmlhttp.open(sMethod, sURL+"?"+sVars, true);
				sVars = "";
			}
			else
			{
				xmlhttp.open(sMethod, sURL, true);
				xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
				xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			}
			xmlhttp.onreadystatechange = function(){
				if (xmlhttp.readyState == 4 && !bComplete)
				{
					bComplete = true;
					fnDone(xmlhttp);
				}
			};
			xmlhttp.send(sVars);
		}
		catch(z) { return false; }
		return true;
	};
	return this;
}
function fadeUp(element,red,green,blue,des_r,des_g,des_b) { // def for yellow 255,255,153
	if(des_r >= red && des_g >= green && des_b >= blue) {
		if (element.fade) {
			clearTimeout(element.fade);
		}
		element.style.backgroundColor = "rgb("+red+","+green+","+blue+")";
		if (red == des_r && green == des_g && blue == des_b) {
			return;
		}
		var newred = red + Math.ceil((des_r - red)/10);
		var newgreen = green + Math.ceil((des_g - green)/10);
		var newblue = blue + Math.ceil((des_b - blue)/10);
		var repeat = function() {
			fadeUp(element,newred,newgreen,newblue,des_r,des_g,des_b)
		};
		element.fade = setTimeout(repeat,100);
	}
}
//-------------------------------------------------------
function cap_check(oFrm) {
	var myConn = new XHConn();
	if (!myConn) alert("XMLHTTP error.");
	var fnWhenDone = function (oXML) {
		if(oXML.responseText == '1')
		{
			oFrm.submit();
		}
		if(oXML.responseText == '0')
		{
			cap_refresh();
			$('cap_notice').innerHTML = ' <font color="red"> <b>Błędny kod, przepisz ponownie</b> </font> ';
			fadeUp($('cap_notice'),255,255,102,255,255,255);
		}
	};
	myConn.connect("/cap_process.php", "GET", "captcha="+$('captcha').value, fnWhenDone);
}
function cap_refresh() {
	var sesConn = new XHConn();
	var imgConn = new XHConn();
	var fnChangeImg = function (oImg) {
		var showNewImage = oImg.responseText;
		$('captchaimage').innerHTML = showNewImage;
	}
	var fnGetNewImg = function () {
		imgConn.connect("/cap_newimg.php", "POST", "", fnChangeImg);
	}
	sesConn.connect("/cap_newses.php", "POST", "", fnGetNewImg);
}
