// JavaScript Document

function Trim(strValue){
	return LTrim(RTrim(strValue));	
}

function LTrim(strValue){
	var LTRIMrgExp = /^\s */;
	return strValue.replace(LTRIMrgExp, '');
}

function RTrim(strValue){
	var RTRIMrgExp = /\s *$/;
	return strValue.replace(RTRIMrgExp, '');
}

function stripTags(strValue){
	var outputString = strValue.replace(/(<([^>]+)>)/ig, '');
	outputString = outputString.replace(">", "&gt;");
	outputString = outputString.replace("<", "&lt;");
	return outputString;
}

function formSubmit() {
	var frm=null;
	frm = document.getElementById("frmSubmit");
	if(frm!=null) {
		if (ValidatorOnSubmit() ) frm.submit();
		return;
	}
}

////////////// check it ////////////////

function ValidatorOnSubmit() {
		var valid = true;
		var retStr = "";
		
		var errorWrap = document.getElementById("frmError");
		if (!errorWrap) { return;}
		var sysErrorWrap = document.getElementById("serverError");
		
		if (!strippedValidateRequired("firstName")) {
			retStr+="V&#259; rug&#259;m, completa&#355;i corect c&icirc;mpul corespunz&#259;tor numelui.<br/>";
			valid = false;
		}
		if (!strippedValidateRequired("lastName")) {
			retStr+="V&#259; rug&#259;m, completa&#355;i corect c&icirc;mpul corespunz&#259;tor prenumelui.<br/>";
			valid = false;
		}
		
		if (!strippedValidateRequired("address")) {
			retStr+="V&#259; rug&#259;m, completa&#355;i corect c&icirc;mpul corespunz&#259;tor adresei.<br/>";
			valid = false;
		}
		if (!strippedValidateRequired("city")) {
			retStr+="V&#259; rug&#259;m, completa&#355;i corect c&icirc;mpul corespunz&#259;tor orasului.<br/>";
			valid = false;
		}
		if (!strippedValidateRequired("county")) {
			retStr+="V&#259; rug&#259;m, completa&#355;i corect c&icirc;mpul corespunz&#259;tor judetului.<br/>";
			valid = false;
		}

		if (!validateEmail("email")) {
			retStr+="V&#259; rug&#259;m, completa&#355;i corect c&icirc;mpul corespunz&#259;tor adresei de mail.<br/>";
			valid = false;
		}
		if (!strippedValidateRequired("phone")) {
			retStr+="V&#259; rug&#259;m, completa&#355;i corect c&icirc;mpul corespunz&#259;tor num&#259;rului de telefon.<br/>";
			valid = false;
		}
		if (!validateCheck("check_rules")) {
			retStr+="Termenii regulamentului sunt obligatorii.<br/>";
			valid = false;
		}
		if (!validateCategory()) {
			retStr+="V&#259; rug&#259;m, alege&#355;i o categorie.<br/>";
			valid = false;
		}
		
		if (!strippedValidateRequired("photoText")) {
			retStr+="V&#259; rug&#259;m, ad&#259;uga&#355;i descrierea fotografiei.<br/>";
			valid = false;
		}
		
		if (!strippedValidateRequired("photo_location")) {
			retStr+="V&#259; rug&#259;m, specifica&#355;i loca&#355;ia fotografiei.<br/>";
			valid = false;
		}
		if (!strippedValidateRequired("photo_time")) {
			retStr+="V&#259; rug&#259;m, specifica&#355;i data fotografiei.<br/>";
			valid = false;
		}
		
		
		if (!valid) {
				if(sysErrorWrap) {
						sysErrorWrap.style.display = "none";
						errorWrap.innerHTML = (sysErrorWrap.innerHTML + retStr);						
				} else {
						errorWrap.innerHTML = retStr;
				}
				errorWrap.style.display = "block";
		} else {
				errorWrap.style.display = "none";
		}
		
		return valid;
}

function ValidateVote() {
		var valid = true;
		var retStr = "";
		
		if (!strippedValidateRequired("vote_fname")) {
			retStr+="Completati corect cimpul corespunzator numelui.\n";
			valid = false;
		}
		if (!strippedValidateRequired("vote_lname")) {
			retStr+="Completati corect cimpul corespunzator prenumelui.\n";
			valid = false;
		}
		
		if (!strippedValidateRequired("vote_address")) {
			retStr+="Completati corect cimpul corespunzator adresei.\n";
			valid = false;
		}

		if (!validateEmail("vote_email")) {
			retStr+="Completati corect cimpul corespunzator adresei de mail.\n";
			valid = false;
		}
		if (!strippedValidateRequired("vote_phone")) {
			retStr+="Completati corect cimpul corespunzator numarului de telefon.\n";
			valid = false;
		}

		
		
		if (!valid) {
				alert("Urmatoarele erori au intervenit in procesul de inregistare a votului:\n\n" + retStr);
		}
		
		return valid;
}

function validateCategory() {
		var cmpElem = document.getElementById("category");
		if(!cmpElem) return false;	
		if(cmpElem.options[cmpElem.selectedIndex].value == 0) {
				return false;
		}
		return true;
}

function validateRequired(formElem) {
	var cmpElem = document.getElementById(formElem);
	if(!cmpElem) return false;	
	if(!cmpElem.value) return false;
	cmpElem.value = Trim(cmpElem.value);
	if (cmpElem.value == "") return false;
	return true;
}

function strippedValidateRequired(formElem) {
	var cmpElem = document.getElementById(formElem);
	if(!cmpElem) return false;	
	if(!cmpElem.value) return false;
	cmpElem.value = Trim(stripTags(cmpElem.value));
	if (cmpElem.value == "") return false;
	return true;
}

function validateEmail(formElem) {
		var cmpElem = document.getElementById(formElem);
		if(!cmpElem) return false;	
		if(!cmpElem.value) return false;
		cmpElem.value = Trim(stripTags(cmpElem.value));
		var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
    var regex = new RegExp(emailReg);
    return regex.test(cmpElem.value);		
}
function validateCheck(formElem) {
	var cmpElem = document.getElementById(formElem);
	if(!cmpElem) return false;	
	if(cmpElem.checked != true) return false;
	cmpElem.value = 1;
	return true;
}


function textCounter(field, maxlimit)
			{
				if (field.value.length > maxlimit) // if too long...trim it!
					field.value = field.value.substring(0, maxlimit);
				else
				{
					var cntfield = document.getElementById('photoTextChars');
					cntfield.innerHTML = (maxlimit - field.value.length) + " caractere r&#259;mase.";
				}
			}

function textCounter2()
			{
				var field = document.getElementById('photoText');
				var maxlimit = 250;

				if (field.value.length > maxlimit) // if too long...trim it!
					field.value = field.value.substring(0, maxlimit);
				else
				{
					var cntfield = document.getElementById('photoTextChars');
					cntfield.innerHTML = (maxlimit - field.value.length) + " caractere r&#259;mase.";
				}
			}


