function emptyValue(element)
{
	if(!js_in_array(element.id,emptiedElements))
	{
		emptiedElements[emptiedElements.length] = element.id;
		element.value='';
	}
}



function js_in_array(the_needle, the_haystack)
{
	var the_hay = the_haystack.toString();
	if(the_hay == ''){
		return false;
	}
	var the_pattern = new RegExp(the_needle, 'g');
	var matched = the_pattern.test(the_haystack);
	return matched;
}

function getFormValues(fobj)
{
   var str = "";

   for(var i = 0;i < fobj.elements.length;i++)
   {
       switch(fobj.elements[i].type)
       {
           case "text":
                str += fobj.elements[i].name +
                 "=" + escape(fobj.elements[i].value) + "&";
                 break;

           case "select-one":
                str += fobj.elements[i].name +
                "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
                break;
       }
   }

   str = str.substr(0,(str.length - 1));

   return str;
}

function validateCaptcha(form)
{
	return true;
	var captchaHttp = getHTTPObject();
	var invalidCaptcha;	

	document.getElementById('captchaWait').style.display = '';
	if(captchaHttp)
	{
		formVal = getFormValues(form);

		captchaHttp.open("POST", "/validatecaptcha/", false);
		captchaHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
		captchaHttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
		captchaHttp.onreadystatechange=function()
			{
				if (captchaHttp.readyState==4  && captchaHttp.status == 200)
				{

					var responsetext = captchaHttp.responseText;

					if(responsetext == 'true')
					{
						invalidCaptcha = false;
					}
					else
					{
						var errorMsg = '[[TRANSLATION.invalid_code]]';
						document.getElementById('errorMsg').innerHTML = errorMsg;
						document.getElementById('errorDiv').style.display = '';
						document.getElementById('captchaCode').value = '';
						document.getElementById('captchaImg').src = responsetext;
						invalidCaptcha = true;
					}
				}	
	
			};
		captchaHttp.send(formVal);
	}

	document.getElementById('captchaWait').style.display = 'none';
	return !invalidCaptcha;
}


function setElementsColor(elArray,replaceCol,showError)
{
	for(var i=0; i < elArray.length; i++)
	{
		qRow = elArray[i].replace(/q/,"qdiv");
		document.getElementById(qRow).style.color=replaceCol;
		qObj = document.getElementById(elArray[i]);
		if(qObj)
		{
			qObj.style.color=replaceCol;
		}

		errorObj = document.getElementById(elArray[i] + "ntc");

		if(errorObj)
		{
			errorCode = eltsErrorCode[elArray[i]];
			if(showError == true)
			{
				errorObj.style.visibility = '';
				errorNotice = '';
				switch(errorCode)
				{
					case 1:
						errorNotice = '[[TRANSLATION.form_integer_fail]]';
						break;
					case 2:
						errorNotice = '[[TRANSLATION.form_email_fail]]';
						break;
					case 3:
						errorNotice = '[[TRANSLATION.form_date_fail]]';
						break;
					default:
						errorNotice = '[[TRANSLATION.form_mandatory_fail]]';
						break;
				}
				errorObj.innerHTML = "<img alt='" + errorNotice + "' src='/images/system/active_no.gif' title='" + errorNotice + "' />";

			}
			else
			{
				errorObj.style.visibility = 'hidden';
				errorObj.innerHTML = "";
			}
		}
	}
}



function checkVisible(questionId)
{
	var id = questionId;
	rowId = "qdiv" + replace(id,"q","");
	return document.getElementById(rowId).style.display == '';
}

function checkEmpty2(elementNames)
{
	var errorElements = new Array();


	var temp;
	var j=0;
	for(var i=0; i < elementNames.length; i++)
	{	
		splittedElementNames = elementNames[i].split("_");
		var value = document.getElementById(elementNames[i]).value;



		if(splittedElementNames[1] && checkVisible(splittedElementNames[0]))
		{
			

			questionId = splittedElementNames[0];
			splittedElementNames = elementNames[i].split("_");
			questionId = splittedElementNames[0];
			elementNo = 0;
			checkedElement = true;

			if(document.getElementById(elementNames[i]).type != 'select-one')
			{
				checkedElement = false;
				while(document.getElementById(questionId+"_"+elementNo) != null)
				{
					if(document.getElementById(questionId+"_"+elementNo).checked==true)
					{
						checkedElement = true;
						break;
					}
					elementNo++;
				}
			}
			else
			{
				checkedElement = true;
				while(document.getElementById(questionId+"_"+elementNo) != null)
				{
					if(document.getElementById(questionId+"_"+elementNo).value=='')
					{
						checkedElement = false;
						break;
					}
					elementNo++;
				}
			}

			if(!checkedElement)
			{
				globalErrorElements[globalErrorElements.length] = questionId;
			}
		}
		else if((document.getElementById(elementNames[i]).value == '' || document.getElementById(elementNames[i]).value == 0)&& checkVisible(elementNames[i]))
		{
			globalErrorElements[globalErrorElements.length] = elementNames[i];
		}
	}
	return errorElements;
}

function isInt(myNum) {
	var myMod = myNum % 1;

	if (myMod == 0) {
		 return true;
	} else {
		 return false;
	}
}


function checkInteger(integerA)
{
	var errorElements = new Array();
	var j = 0;
	for(var i=0; i < integerA.length; i++)
	{
		if(checkVisible(integerA[i]))
		{
			if(!isInt(document.getElementById(integerA[i]).value) && checkVisible(integerA[i]))
			{
				globalErrorElements[globalErrorElements.length] = integerA[i];
				eltsErrorCode[integerA[i]] = 1;
			}
		}
	}
	return errorElements;
}


function checkEmail(emailA)
{
	var errorElements = new Array();
	var j = 0;
	for(var i=0; i < emailA.length; i++)
	{

		eMailAdr = document.getElementById(emailA[i]).value;

		if(checkVisible(emailA[i]))
		{
			if(eMailAdr != "" && !/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$/.test(eMailAdr))
			{
				globalErrorElements[globalErrorElements.length] = emailA[i];
				eltsErrorCode[emailA[i]] = 2;
			}
		}
	}
	return errorElements;
}


function replace(s, t, u) {
	/*
	**  Replace a token in a string
	**    s  string to be processed
	**    t  token to be found and removed
	**    u  token to be inserted
	**  returns new String
	*/
	i = s.indexOf(t);
	r = "";
	if (i == -1) return s;
	r += s.substring(0,i) + u;
	if ( i + t.length < s.length)
	r += replace(s.substring(i + t.length, s.length), t, u);
	return r;
}


function checkDate(dateA)
{
	var errorElements = new Array();
	var j = 0;
	for(var i=0; i < dateA.length; i++)
	{
		dateValue = document.getElementById(dateA[i]).value;
		dateValue = dateValue.replace(/^\s*|\s*$/g,"");
		if(checkVisible(dateA[i]))
		{
			if (document.getElementById(dateA[i]).value != "" && !/^(0*[0-9]|[12]\d|3[01])[-](0*[0-9]|1[012])[-](19|20)\d\d( ((0*[0-9])|1[0-9]|2[0-4]):(0*[1-9]|[1-5]\d|60):(0*[0-9]|[1-5]\d|60)){0,1}$/.test(dateValue))
			{


				globalErrorElements[globalErrorElements.length] = dateA[i];
				eltsErrorCode[dateA[i]] = 3;
			}
		}

	}
	return errorElements;
}


