/**
	VALIDATE EMAIL
	Email formai ellenőrzése
*/
function validateEmail(formID, emailID) {
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var address = document.forms[formID].elements[emailID].value;
	if (reg.test(address) == false) {
		return false;
	} else {
		return true;
	}
}

/**
	FORM ERRORS
	Validálás és hibaüzenetküldés
*/
function formErrors(m) {
	if (m == "show") {
		document.getElementById("messagelayer").style.visibility = "visible";
		document.getElementById("messagecontent").style.visibility = "visible";
	} else if (m == "hide") {
		document.getElementById("messagelayer").style.visibility = "hidden";
		document.getElementById("messagecontent").style.visibility = "hidden";
	}
}

function ChangeLanguage(languages) {
	if (languages == "") {
	alert('Kérem, válasszon ki egy nyelvet!');
	} else {
		window.location='http://www.helix-software.com/' + languages;
	}
}

/*
Make Contact Script
v1.0
Copyright © 2009 Reha István. All rights reserved.
*/
function GetXmlHttpObject() {
	var objXMLHttp = null;
	if (window.XMLHttpRequest) {
		objXMLHttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
}
var xmlHttp;

function MakeContact(Languages, ContactSubject, CompanyName, ContactPerson, ContactMobil, ContactEmail, ContactMessage) {
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null) {
		alert("Browser does not support HTTP Request");
		return;
	}
	// URL
	var url = "http://www.helix-software.com/hu-HU/Kapcsolat/Kapcsolat.html";
	url = url + "?l=" + Languages;
	url = url + "&su=" + ContactSubject;
	url = url + "&cn=" + CompanyName;
	url = url + "&cp=" + ContactPerson;
	url = url + "&cm=" + ContactMobil;
	url = url + "&ce=" + ContactEmail;
	url = url + "&me=" + ContactMessage;
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

/* Demó verziók letöltése */
function Download(Languages, CompanyName, ContactPerson, ContactMobil, ContactEmail, WhereDidYouFindUs) {
	// 1. Az email cím ellenőrzése
	// 1.1. Ha az email cím helyes
	if(_ValidateEmail("DownloadForm", "ContactEmail")) {
		// 2. Az űrlap formai ellenőrzése
		// 2.1. Ha hiányoznak az adatok
		if(CompanyName == "" || ContactPerson == "" || ContactMobil == "" || WhereDidYouFindUs == "") {
			alert("Nem töltött ki minden kötelező mezőt. Kérjük, ellenőrizze!");
		}
		// 2.2. Ha minden rendben
		else {
			xmlHttp = GetXmlHttpObject();
			if(xmlHttp == null) {
				alert("Browser does not support HTTP Request");
				return;
			}
			// URL
			var url = "http://www.helix-software.com/downloads/?mode=mail";
			url += "&l=" + Languages;
			url += "&cn=" + CompanyName;
			url += "&cp=" + ContactPerson;
			url += "&cm=" + ContactMobil;
			url += "&ce=" + ContactEmail;
			url += "&w=" + WhereDidYouFindUs;
			xmlHttp.onreadystatechange = _dStateChanged;
			xmlHttp.open("GET", url, true);
			xmlHttp.send(null);
			
			// A letöltés gomb letiltása
			document.DownloadForm.downloadFormSubmit.disabled = true;
			
			// Töltés
			_DialogBox("show");
			document.getElementById("dialog-box-close").innerHTML = "";
			document.getElementById("dialog-box-message").innerHTML = "<h1>Dolgozunk...</h1>" +
			"<p>Az adatok feldolgozása épp folyamatban van.<br /><br />Kérjük várjon!</p>";
		}
	}
	// 1.2. Ha az email cím helytelen
	else {
		alert("A megadott email cím helytelen. Kérjük, ellenőrizze!");
	}
}

function stateChanged() {
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		xmlDoc = xmlHttp.responseXML;
		var State = xmlDoc.getElementsByTagName("State")[0].childNodes[0].nodeValue;
		if (State == 0) {
			alert('Nem töltött ki minden mezőt, vagy a megadott email cím nem helyes. Kérem ellenőrizze!');
		} else if (State == 2) {
			window.location = "http://www.helix-software.com/hu-HU/Koszonjuk/";
		}
	}
}

function _dStateChanged() {
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		xmlDoc = xmlHttp.responseXML;
		//var State = xmlDoc.getElementsByTagName("State")[0].childNodes[0].nodeValue;
		window.location = "http://www.helix-software.com/hu-HU/Koszonjuk/?e=download";
	}
}

/* Show spam secure email address
v1.0
Copyright © 2009 Reha István. All rights reserved.
*/
function ShowEmail(email,domainName,domainExtension,action) {
	var at = "@";
	var dot = ".";
	var EmailAddress = email + at + domainName + dot + domainExtension;
	if (action == "contactform") {
		document.write(EmailAddress);
	} else if (action == "mailto") {
		document.write("<a href=\"mailto:" + EmailAddress + "\">" + EmailAddress + "</a>");
	}
}

/*
Form Control
*/
function ContactFormControl() {
	if (document.ContactForm.cbx.checked) {
		document.ContactForm.Submit.disabled = false;
	} else {
		document.ContactForm.Submit.disabled = true;
	}
}

function DownloadFormControl() {
	if (document.DownloadForm.cbx.checked) {
		document.DownloadForm.Submit.disabled = false;
	} else {
		document.DownloadForm.Submit.disabled = true;
	}
}

function Products() {
	// Invoice
	if (document.DownloadForm.Invoice.checked) {
		document.DownloadForm.Invoice.value = 'true';
	} else {
		document.DownloadForm.Invoice.value = 'false';
	}
	// Inventory
	if (document.DownloadForm.Inventory.checked) {
		document.DownloadForm.Inventory.value = 'true';
	} else {
		document.DownloadForm.Inventory.value = 'false';
	}
	// CRM
	if (document.DownloadForm.CRM.checked) {
		document.DownloadForm.CRM.value = 'true';
	} else {
		document.DownloadForm.CRM.value = 'false';
	}
	// Sales
	if (document.DownloadForm.Sales.checked) {
		document.DownloadForm.Sales.value = 'true';
	} else {
		document.DownloadForm.Sales.value = 'false';
	}
	// Share
	if (document.DownloadForm.Share.checked) {
		document.DownloadForm.Share.value = 'true';
	} else {
		document.DownloadForm.Share.value = 'false';
	}
	// Vehicle
	if (document.DownloadForm.Vehicle.checked) {
		document.DownloadForm.Vehicle.value = 'true';
	} else {
		document.DownloadForm.Vehicle.value = 'false';
	}
}

/**
	Hints
		@ a beviteli mezőbe beállva megjelennek a hintek
*/
function addLoadEvent(func) {
	var oldonload = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = func;
		} else {
			window.onload = function() {
			oldonload();
			func();
		}
	}
}
function prepareInputsForHints() {
	var inputs = document.getElementsByTagName("input");
	for (var i=0; i<inputs.length; i++){
		if (inputs[i].parentNode.getElementsByTagName("span")[0]) {
			inputs[i].onfocus = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
			}
			inputs[i].onblur = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "none";
			}
		}
	}
	var selects = document.getElementsByTagName("select");
	for (var k=0; k<selects.length; k++){
		if (selects[k].parentNode.getElementsByTagName("span")[0]) {
			selects[k].onfocus = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
			}
			selects[k].onblur = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "none";
			}
		}
	}
}
addLoadEvent(prepareInputsForHints);

/* Menu */
var timeout = 100;
var closetimer = 0;
var ddmenuitem = 0;

// open hidden layer
function mopen(id) {	
	// cancel close timer
	mcancelclosetime();
	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';
}

// close showed layer
function mclose() {
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime() {
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime() {
	if(closetimer) {
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 
