function onLoadEvents() {
	var obj, objList, i;
	var flash = (form.site.value == 'pdft') ? 'skin-pdft/' : 'skin/';
	var flashAttr = {menu:false, WMODE:'transparent'};
	_preloader(['hoverBg.jpg'], flash + 'img/subMenu/');

	objList = document.getElementById('subMenuBox').getElementsByTagName('a');
	for(i=0; i<objList.length; i++) {
		addEvent(objList[i], 'mouseover', menuOn);
		addEvent(objList[i], 'mouseout', menuOff);
	}
	// flash
	if (form.site.value != 'mac') {
		swfobject.embedSWF(flash + 'header.swf', "flash", "943", "235", "8", null, null, flashAttr);
	}
	// bannerek
	if (form.site.value == 'fr') {
		swfobject.embedSWF('skin/showPDF.swf', "showPDF", "257", "259", "8", null, null, flashAttr);
		swfobject.embedSWF('skin/lingvo.swf', "lingvo", "257", "259", "8", null, null, flashAttr);
	} else if (form.site.value == 'pdft') {
		swfobject.embedSWF('skin/showFR.swf', "showFR", "171", "332", "8", null, null, flashAttr);
	} else {
		document.getElementById('flash').innerHTML = '<img alt="" src="skin/img/FineReaderMac.jpg" />';
	}

	if (window.emails) {
		emails();
	}
	if (window.tree) {
		tree();
	}
	addEvent(document.getElementById('downloadPDF'), 'click', function() {
		location.href = '?cmd=letoltes#downloadPDF';
	});
	if (window.forceDownload) {
		forceDownload();
	}
	if (window.tableBox) {
		tableBox();
	}
	if (form.pdfselect) {
		addEvent(form.pdfselect, 'change', function() {if (form.pdfselect.selectedIndex > 0) {location.href = 'http://finereader.hu/' + form.pdfselect.value}});
	}
	if (window.PictureZoom) {
		objList = document.getElementById('gallery').getElementsByTagName('a');
		for(i=0; i<objList.length; i++) {
			PictureZoom.addImage(objList[i]);
		}
	}
	/* ----------------------------------------------------------------------- */
	if (!form.fileSelect) {
		return;
	}
	if (window.calc) {
		//setInterval("calc()", 500);
		addEvent(document.getElementById('arrow'), 'click', prevField);
		addEvent(document.getElementById('arrow2'), 'click', nextField);
		addEvent(form['order[kupon]'], 'change', checkKupon);
	}
	_preloader(['leftTagOff.gif', 'rightTagOn.gif', 'leftTagOn.gif', 'rightTagOff.gif'], 'skin/img/content/');

	objList = document.getElementsByTagName('input');
	for(i=0; i<objList.length; i++) {
		switch (objList[i].name) {
			case 'user[email]'		: addEvent(objList[i], 'change', function () {dataLoaded = false});			break;
			case 'user[psw]'		: addEvent(objList[i], 'focus', function () {form['user[psw]'].select()});	break;
			case 'user[sameAddr]'	: addEvent(objList[i], 'click', sameAddr);									break;
			case 'order[stock]'		: addEvent(objList[i], 'keyup', calc);										break;
			case 'user[EU]'			: addEvent(objList[i], 'change', calc);										break;
			case 'order[oldCode]'	: addEvent(objList[i], 'change', validCode);								break;
			case 'visitor'			: addEvent(objList[i], 'click', changeSubForm);								break;
		}
	}
	objList = document.getElementsByTagName('button');
	for(i=0; i<objList.length; i++) {
		switch (objList[i].name) {
			case 'btn_loadData'	: addEvent(objList[i], 'click', loadData);		break;
			case 'btn_start'	: addEvent(objList[i], 'click', validating);	break;
			case 'btn_createPsw': addEvent(objList[i], 'click', createPsw);		break;
			case 'btn_next'		: addEvent(objList[i], 'click', nextField);objList[i].title = 'A rendelés adatainak szerkesztése';		break;
			case 'btn_prev'		: addEvent(objList[i], 'click', prevField);objList[i].title = 'A vásárlói adatok szerkesztése';		break;
			case 'btn_buy'		: addEvent(objList[i], 'click', force);			break;
			case 'btn_download'	: addEvent(objList[i], 'click', force);			break;
			case 'btn_upgrade'	: addEvent(objList[i], 'click', force);			break;
		}
	}
	objList = document.getElementsByTagName('select');
	for(i=0; i<objList.length; i++) {
		switch (objList[i].name) {
			case 'order[orderType]'	: addEvent(objList[i], 'change', calc);			break;
			case 'user[regio]'		: addEvent(objList[i], 'change', changePrices);	break;
			case 'fileSelect'		: addEvent(objList[i], 'change', fileSelect);	break;
		}
	}
	fileSelect();
	if (form.fileSelect.value != 0) {
		document.getElementById('formView').scrollIntoView(true);
	}
	if (location.hash == '#downloadPDF') {
		prevField();
		document.getElementById('formView').scrollIntoView(true);
	}

	dataLoaded = (form.dataLoaded) ? form.dataLoaded.value : false;

	if (form.visitor && isSelectedRadio(form.visitor)) {
		changeSubForm();
	}
	if (form['user[sameAddr]'] && !form['user[sameAddr]'].checked) {
		sameAddr();
	}
	form.subcmd.value = 'save';

	if (obj = document.getElementById('help')) {
		obj = obj.getElementsByTagName('a');
		for(i=0; i<2; i++) {
			addEvent(obj[i], 'click', function(ev) {
											ev || (ev = window.event);
											var obj;
											obj=getObjectOfEvent(ev);
											document.getElementById('help').style.display = 'none';
											killEvent(ev);
											return false;
									}
			);
		}
		obj = document.getElementById('openHelp').getElementsByTagName('a')[0];
		addEvent(obj, 'click', function(ev) {
										ev || (ev = window.event);
										var obj;
										obj=getObjectOfEvent(ev);
										document.getElementById('help').style.display = 'block';
										killEvent(ev);
										return false;
								}
		);
	}
}
dataLoaded = false;
isUpgrade =  false;

function menuOn(ev) {
	ev || (ev = window.event);
	var obj;
  	obj=getObjectOfEvent(ev);
  	if (!obj) {return true;}

  	obj.parentNode.className = 'menuOn';
}
function menuOff(ev) {
	ev || (ev = window.event);
	var obj;
  	obj=getObjectOfEvent(ev);
  	if (!obj) {return true;}

  	obj.parentNode.className = '';
}

function changeSubForm() {
	document.getElementById('subForm0').style.display = 'block';
	if (form.visitor[0].checked) {
		// új látogató
		document.getElementById('subForm2').style.display = 'none';
		document.getElementById('subForm3').style.display = 'block';
		document.getElementById('subForm4').style.display = 'block';
	} else {
		// visszatérő látogató
		document.getElementById('subForm2').style.display = 'block';
		document.getElementById('subForm4').style.display = 'none';
		if (dataLoaded) {
			document.getElementById('subForm3').style.display = 'block';
		} else {
			document.getElementById('subForm3').style.display = 'none';
		}
	}
}

function validating() {
	if (form.fileSelect.selectedIndex == 0 || (!form['user[sameAddr]'] && form.fileSelect.selectedIndex == form.fileSelect.options.length - 1)) {
		alert('Kérem válasszon programot!');
		return false;
	}
	var err = false;
	var errTxt = "Az űrlap kitöltése hibás:\n";
	if (!_emailValidator(form['user[email]'].value)) {
		err = true;
		errTxt += "Hibás e-mail cím.\n";
	} else {
		if (form.email2 && form.email2.value != form['user[email]'].value) {
			err = true;
			errTxt += "Az ellenőrző e-mail nem egyezik.\n";
		}
	}
	var RE = /^[a-zA-ZíéáűőúóüöÍŰÁÉŐÚÓÜÖ.\-]{3,}\s+[a-zA-ZíéáűőúóüöÍŰÁÉŐÚÓÜÖ .\-]{3,}$/;
	var office, user, zip;
	user   = RE.test(form['user[name]'].value);
	office = (form['user[office]'].value.length >= 3);
	if (form.CE_ID && form.CE_ID.value == form.fileSelect.value) {
		RE = /^\d\d\d\d[\s.,]+[a-zA-ZíéáűőúóüöÍŰÁÉŐÚÓÜÖ]/;
		zip = RE.test(form['user[address]'].value);
		if (!(office && user)) {
			err = true;
			errTxt += "CE verzió letöltéséhez kérem adja meg a teljes nevét és cégének valós nevét (minimum 3 karakter) is. Köszönjük!\n";
		}
		if (!zip) {
			err = true;
			errTxt += "A címet helyesen adja meg, az irányítószámmal kell kezdeni!\n";
		}
	} else {
		if (!(office || user)) {
			err = true;
			errTxt += "Kérem, vagy a teljes nevét, vagy a cégének valós nevét (minimum 3 karakter) adja meg. Köszönjük!\n";
		}
	}
	if (form['user[psw]']) {
		if (_isEmpty(form['user[psw]'].value)) {
			err = true;
			errTxt += "Az adatok elmentéséhez meg kell adni egy jelszót.\n";
		} else if (form['user[psw]'].value.length < 4) {
			err = true;
			errTxt += "Egy jelszó legalább 4 karakter legyen!\n";
		}
	}
	if (form['user[address]'] && !form['user[address]'].disabled && _isEmpty(form['user[address]'].value)) {
		err = true;
		errTxt += "Adja meg a címét!\n";
	}

	// Vásárlás űrlap
	if (form['user[sameAddr]']) {
		if (err) {
			prevField();
		}
		if (_isEmpty(form['user[address2]'].value) && !form['user[sameAddr]'].checked) {
			err = true;
			errTxt += "Adja meg a szállítási címét is!\n";
		}
		if (!validCode()) {
			return false;
		}
		if (!validStock()) {
			err = true;
			errTxt += "Érvénytelen a rendelés darabszáma!\n";
		}
	}

	if (err) {
		alert(errTxt);
		return false;
	}

	form.btn_start.disabled = true;

	if (form['user[sameAddr]']) {
		form.btn_loadData.disabled = true;
		if (!dataLoaded) {
			AjaxUpdater.update('POST', 'ajax.php?cmd=checkEmail&email=' + form['user[email]'].value, true, checkEmail);
		} else {
			form.submit();
		}
	} else {
		form.submit();
	}
}

function checkEmail() {
	var s = Ajax.checkReadyState('requestStatus');

	if (s == 200) {
		var r = Ajax.getResponse();
  		if (r == 'ok') {
  			form.submit();
  		} else if (r == 1) {
  			if (form['user[sameAddr]']) {
  				prevField();
  			}
			form.btn_start.disabled = false;
			form.btn_loadData.disabled = false;
  			form['user[psw]'].value = '';
  			alert('Ez az email cím már rögzítve van rendszerünkben, ha megadja a hozzá tartozó jelszót, betöltheti adatait.');
  			form['user[psw]'].focus();
  			lostPsw();
  		} else {
			form.btn_start.disabled = false;
			form.btn_loadData.disabled = false;
  			alert(r);
  		}
	} else if (s > 0) {
		form.btn_start.disabled = false;
		form.btn_loadData.disabled = false;
		alert(HTTP.status(s));
	}
}

function loadData() {
	if (!_emailValidator(form['user[email]'].value)) {
		alert("Hibás email cím!");
		return false;
	}
	if (form['user[psw]'].value.length < 4) {
		alert("A jelszó legalább 4 karakter legyen!");
		return false;
	}
	AjaxUpdater.update('POST', 'ajax.php?cmd=loadData&email=' + form['user[email]'].value + '&psw=' + form['user[psw]'].value, true, setData);
}

function setData() {
	var s = Ajax.checkReadyState('requestStatus');

	if (s == 200) {
		var r = Ajax.getResponse();
  		try {
  			eval('var obj=' + r + ';');
  			for (var i in obj) {
  				if (form['user[' + i + ']']) {
  					form['user[' + i + ']'].value = obj[i];
  				}
  			}
  			if (form['user[sameAddr]']) {
  				if (_isEmpty(obj.address2)) {
  					form['user[sameAddr]'].checked = true;
  					document.getElementById('sameAddr').className = 'hide';
  				} else {
  					form['user[sameAddr]'].checked = false;
  					document.getElementById('sameAddr').className = '';
  				}
  			}
  			dataLoaded = true;
  			if (obj = document.getElementById('subForm3')) {
				obj.style.display = 'block';
  			}
  		} catch(err) {
  			alert(r);
  			lostPsw();
  		}
	} else if (s > 0) {
		alert(HTTP.status(s));
	}
}

function lostPsw() {
	document.getElementById('lostPsw').className = '';
}

function createPsw() {
	if (!_emailValidator(form['user[email]'].value)) {
		alert("Hibás email cím!");
		return false;
	}
	form.btn_createPsw.disabled = true;
	AjaxUpdater.update('POST', 'ajax.php?cmd=createPsw&email=' + form['user[email]'].value, true, sentPsw);
}

function sentPsw() {
	var s = Ajax.checkReadyState('requestStatus');
	if (s == 200) {
		form.btn_createPsw.disabled = false;
		var r = Ajax.getResponse();
  		if (r == 'ok') {
  			alert('Az új jelszavát elküldtük a következő email címre: ' + form['user[email]'].value);
  		} else {
  			alert(r);
  		}
	} else if (s > 0) {
		alert(HTTP.status(s));
		form.btn_createPsw.disabled = false;
	}
}

function changeTag(name) {
	var active = document.getElementById('btn_' + name);
	var classA, classIA;
	if (name == 'prev') {
		//vásárlói adatok
		name 	= 'next';
		classA 	= 'rightTagOn';
		classIA = 'leftTagOff';
	} else {
		//rendelés adatai
		name 	= 'prev';
		classA 	= 'leftTagOn';
		classIA = 'rightTagOff';
	}
	var inactive = document.getElementById('btn_' + name);
	active.className 	= classA;
	inactive.className 	= classIA;
}

// Example:
// alert( readCookie("myCookie") );
function readCookie(name) {
  var cookieValue = "";
  var search = name + "=";
  if (document.cookie.length > 0)  {
    var offset = document.cookie.indexOf(search);
    var end;
    if (offset != -1)    {
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}

// Example:
// writeCookie("myCookie", "my name", 24);
// Stores the string "my name" in the cookie "myCookie" which expires after 24 hours.
function writeCookie(name, value, hours){
  var expire = "";
  if (hours != null)  {
    expire = new Date((new Date()).getTime() + hours * 3600000);
    expire = "; expires=" + expire.toGMTString();
  }
  document.cookie = name + "=" + escape(value) + expire;
}

function isSelectedRadio(radio) {
	for (var i=0; i<radio.length; i++) {
		if (radio[i].checked) {
			return true;
		}
	}
	return false;
}

