/*--------------------------------------------------------------------------  
 * Irjon javascrip 1.9.24
 *  (c) ActiveVision 
 *  script for contactus webapp 
 *--------------------------------------------------------------------------*/

/*
 	SelectTheme(SelectedTheme:(Id,Theme name,email Subject))
 	on form selecting actual theme
 */

function SelectTheme(Id) {
	var maxTheme = document.getElementById("telekom_theme_selector").length;
	var actTheme = document.getElementById("telekom_theme_selector").value;
	var actThemeSaved = actTheme;
	var actThemeList = actTheme.split("|");

	actTheme = actThemeList[0];
	var kaptcha = document.getElementById('telekom_kaptcha').value;

	document.getElementById("telekom_theme_form").reset();
	document.getElementById("telekom_theme_form").telekom_theme_selector.value = actThemeSaved;
	document.getElementById('telekom_kaptcha').value = kaptcha;

	for ( var i = 1; i < maxTheme; i++) {
		obj = document.getElementById("telekom_theme_" + i);
		obj.style.display = "none";
	}
	// off all
	if(Id!='0') {
		actThemeList = Id.split("|");
		Id = actThemeList[0];
	}
	
	if (Id == '0')
		return;
	var obj = document.getElementById("telekom_theme_" + Id);
	obj.style.display = "block";
}

/*
	Validate()
	Validating inputs, required datas, email address, phone numbers
*/
function Validate() {
	var actTheme = document.getElementById('telekom_theme_form').telekom_theme_selector.value;

	// no selected theme...
	if(actTheme == '0') return false;
	var actThemeList = actTheme.split("|");
	actTheme = actThemeList[0];
	
	var obj = document.getElementById("telekom_theme_" + actTheme);
	
	var inputOk = validateInputs(obj);
	var textOk = validateTextArea(obj);
	return (inputOk && textOk);
}

/*
	validateInputs()
	Validating only input type columns and required columns (email address)
*/
function validateInputs(actObj){
	var inputObjs = actObj.getElementsByTagName("input");
	var resultInput = true;
	var textColumns;
	var oldId;

	for ( var i = 0; i < inputObjs.length; i++) {
		Id = inputObjs[i].getAttribute('id')
		if (Id != null) {
			if (Id.match('required')) {
				setItemColor(Id + "_error",'');
				if (inputObjs[i].value == "") {
					resultInput = false;
						setItemColor(Id + "_error",'#ff0000');
					} else {
					oldId = Id;
					Id = Id.replace("telekom_","telekom-")
					textColumns = document.getElementsByName(Id + "_hidden");
					if(textColumns[0].value.match("mail")){
						if(!validateEmail(inputObjs[i].value)){
							setItemColor(oldId + "_error",'#ff0000');
							resultInput = false;
						} else {
							setItemColor(oldId + "_error",'');
						}
					}
					if(textColumns[0].value.match("Telefonszám")){
						if(!validatePhoneNumber(inputObjs[i].value)){
							setItemColor(oldId + "_error",'#ff0000');
							resultInput = false;
						} else {
							setItemColor(oldId + "_error",'');
						}
					}
				}
			}
		}
	}
	return resultInput;
}


/*
	validateTextArea()
	Validating only TextArea type columns and required columns
*/
function validateTextArea(actObj){
	var textareaObjs = actObj.getElementsByTagName("textarea");
	var resultText = true;

	for ( var j = 0; j < textareaObjs.length; j++) {
		Id = textareaObjs[j].getAttribute('id')
		if (Id != null) {
			if (Id.match('required')) {
				document.getElementById(Id + "_error").style.color = '';
				if (textareaObjs[j].getValue()== 0) {
					resultText = false;
					setItemColor(Id + "_error",'#ff0000');
				} else {
					setItemColor(Id + "_error",'');
				}
			}
	
		}
	}
	return resultText;
}


/*
	validateEmail()
	validate email address
*/
function validateEmail(email) {
	regex=/^[-a-z0-9_]+(\.[-a-z0-9_]+)*@(([a-z0-9\-])+\.)+([a-z0-9]{2,5})$/i;
	return regex.test(email);	
}


function validatePhoneNumber(phoneNumber){
	regex=/^[0-9]+$/;
	return regex.test(phoneNumber);
	}


function setItemColor(itemId,color){
	if(document.getElementById(itemId) != null) {
		document.getElementById(itemId).style.color = color;
	}
}

/*
	setObjects()
	sets visibility of object
*/
function setObject(Id, status) {
	var obj = document.getElementById(Id);
	if (!status)
		obj.style.display = "none";
	if (status)
		obj.style.display = "block";
}
