function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
	if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}
function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

function getFormValues(form) {
	var params = new Array;
	var check = 1;
	
	for(i=0; i<form.elements.length; i++)
	{
		if(form.elements[i].getAttribute("required") == "true" && form.elements[i].value == "") {
			addClass(form.elements[i], "acris-form-error");
			check = 0;
		} else if(form.elements[i].getAttribute("required") == "true") {
			removeClass(form.elements[i], "acris-form-error");
		}
		
		if(form.elements[i].type=="button" || form.elements[i].type=="submit") {
			continue;
		}
		
		var offsetTrail = form.elements[i];
		var leftPos = 0;
		var topPos = 0;
		
		if(form.elements[i].type!="hidden") {
			while(offsetTrail) {
				leftPos += offsetTrail.offsetLeft;
				topPos += offsetTrail.offsetTop;
				
				offsetTrail = offsetTrail.offsetParent;		
			}
		}
		
		var key = leftPos + "---" + topPos + "---" + form.elements[i].name;
		params[key] = form.elements[i].value;
	}
	if(check == 1) 
		return params;
	else 
		return null;
}

/* usage: <input type="button" onclick="javascript: sendRequest('form',this.form);" /> */ 
function sendRequest(url, form) {
	var values = getFormValues(form);
	var params = "";
	
	if(values == null) {
		alert('Prosím vyplnte všetky povinné polia');
		return;
	}
	
	for (var property in values)
    {
        if (values.hasOwnProperty(property))
        {
            var value = values[property];
            //window.alert("k="+property+",v="+value);
            if (value instanceof Array)
            {
                // dont know how to handle it
            }
            else
            {
	            params+=property+"="+value+"&";
            }
        }
    }
    
	var body = document.getElementsByTagName('body')[0];
	var newImg = document.createElement('div');
	var hostname = window.location.hostname;
	newImg.innerHTML = '<img src="http://' + hostname + '/acris-server/form?' + params + '" style="height: 1; width: 1; visibility: hidden" />';
	body.appendChild(newImg);
	window.alert("Formulár bol odoslaný na spracovanie.");
	form.reset();
	body.removeChild(newImg);
}

function hideElementsByClass(theClass) {
	var allHTMLTags=document.getElementsByTagName('div');
	for (i=0; i<allHTMLTags.length; i++) {
		if (allHTMLTags[i].className==theClass) {
			allHTMLTags[i].style.display='none';
		}
	}
}
