var form_errmsg = '';

function dummy(response) { }

function is_empty(str) {
	return (typeof(str) == 'undefined') || !str;
}

function is_radio(radio) {
	var ok = false;

	for (c = 0; c < radio.length; c++) {
		if (radio[c].checked) {
			ok = true;
		}
	}
	return ok;
}

function commentValidateForm(theForm) {
			if(is_empty(theForm.body.value)) {
				form_errmsg = form_errmsg + "\nMolimo vas da upisete komentar!";
				theForm.body.focus();
				return(-1);
			}
			if(!is_radio(theForm.ocena_dizajna)) {
				form_errmsg = form_errmsg + "\nMolimo vas da ocenite dizajn!";
				return(-1);
			}
			if(!is_radio(theForm.ocena_sadrzaja)) {
				form_errmsg = form_errmsg + "\nMolimo vas da ocenite sadrzaj!";
				return(-1);
			}
			if(!is_radio(theForm.ocena_korisnosti)) {
				form_errmsg = form_errmsg + "\nMolimo vas da ocenite korisnost!";
				return(-1);
			}
			if(!is_radio(theForm.ocena_utiska)) {
				form_errmsg = form_errmsg + "\nMolimo vas da ocenite ukupni utisak!";
				return(-1);
			}
			if(theForm.koliko_cesto.value.selectedIndex) {
				form_errmsg = form_errmsg + "\nMolimo vas da popunite koliko cesto posecujete sajt!";
				return(-1);
			}
			if(!is_radio(theForm.preporuka_prijatelju)) {
				form_errmsg = form_errmsg + "\nMolimo vas da popunite da li biste nas preporucili prijatelju!";
				return(-1);
			}


			return(0);
		}

function commentValidateProductForm(theForm) {
	if(is_empty(theForm.body.value)) {
		form_errmsg = form_errmsg + "\nMolimo vas da upisete komentar!";
		theForm.body.focus();
		return(-1);
	}
	if(!is_radio(theForm.ocena_artikla)) {
		form_errmsg = form_errmsg + "\nMolimo vas da ocenite proizvod!";
		return(-1);
	}
	if(!is_radio(theForm.ocena_fotke)) {
		form_errmsg = form_errmsg + "\nMolimo vas da ocenite kvalitet fotografija!";
		return(-1);
	}
	if(!is_radio(theForm.ocena_informacije)) {
		form_errmsg = form_errmsg + "\nMolimo vas da ocenite korisnost informacija!";
		return(-1);
	}

	return(0);
}
		
function validateTextCommentForm(theForm) {
	if(is_empty(theForm.body.value)) {
		form_errmsg = form_errmsg + "\nMolimo vas da upisete komentar!";
		theForm.body.focus();
		return(-1);
	}
	if(is_empty(theForm.title.value)) {
		form_errmsg = form_errmsg + "\nMolimo vas da upisete naslov komentara!";
		theForm.title.focus();
		return(-1);
	}
	if(is_empty(theForm.name.value)) {
		form_errmsg = form_errmsg + "\nMolimo vas da upisete Vase ime!";
		theForm.name.focus();
		return(-1);
	}
	if(is_empty(theForm.code.value)) {
		form_errmsg = form_errmsg + "\nNiste uneli ispravan kod sa slike!";
		theForm.code.focus();
		return(-1);
	}
	if (theForm.code.value && theForm.captcha_image.value) {
		var CP = (theForm.captcha_image.value.substr(theForm.captcha_image.value.length - 36, 32) == hex_md5(theForm.code.value.toUpperCase())); 
		if (!CP) { 
			form_errmsg = form_errmsg + "\nNiste uneli ispravan kod sa slike!";
			return(-1);	
		}
	}
	return(0);
}

function commentFormSubmit(form, divID, callback_f) {
	var errcode;

	if (errcode = commentValidateForm(form)) {
		alert(trim(form_errmsg));
		form_errmsg = '';
	} else {

		var params = Form.serialize(form);
		Form.disable(form);
		new Ajax.Updater(divID, form.action,
    		{ asynchronous:true,
      		  evalScripts:true,
	      	  onComplete: function(r) { Form.enable(form); callback_f(r.responseText); },
    	  	  parameters:params
    		}
		);
	}
}

function commentFormProductSubmit(form, divID, callback_f) {
	var errcode;

	if (errcode = commentValidateProductForm(form)) {
		alert(trim(form_errmsg));
		form_errmsg = '';
	} else {

		var params = Form.serialize(form);
		Form.disable(form);
		new Ajax.Updater(divID, form.action,
    		{ asynchronous:true,
      		  evalScripts:true,
	      	  onComplete: function(r) { Form.enable(form); callback_f(r.responseText); },
    	  	  parameters:params
    		}
		);
	}
}

function commentTextFormSubmit(form, divID, callback_f) {
	var errcode;

	if (errcode = validateTextCommentForm(form)) {
		alert(trim(form_errmsg));
		form_errmsg = '';
	} else {

		var params = Form.serialize(form);
		Form.disable(form);
		new Ajax.Updater(divID, form.action,
    		{ asynchronous:true,
      		  evalScripts:true,
	      	  onComplete: function(r) { Form.enable(form); callback_f(r.responseText); },
    	  	  parameters:params
    		}
		);
	}
}
/****** utility functions ********/

function is_email(str) {
	return reValidEmail.test(str);
}

function is_empty(str) {
	return (typeof(str) == 'undefined') || !str;
}

function ltrim(str) {
	return str.replace(/^\s*/, '');
}

function rtrim(str) {
	return str.replace(/\s*$/, '');
}

function trim(str) {
	return ltrim(rtrim(str));
}

function trim_all_elements(form) {
	var el = Form.getElements(form);
	for (var i = 0; i < el.length; i++) {
		if (el[i].type != 'file')
			el[i].value = trim(el[i].value);
	}
}
