/* Global variables */
var menuTimer = 0;
var openedSubmenu = 0;

/* Universal functions */
$ = function (element) { return document.getElementById(element); }

/* Outer JS codes */
function addEventHandler(obj, eventType, handler) {  
	 if (obj.addEventListener) {  
		 obj.addEventListener(eventType, handler, true);  
		 return true;  
	 } else if (obj.attachEvent) {  
		 var r = obj.attachEvent("on"+eventType, handler);  
		 return r;  
	 } else {  
		 return false;  
	 }  
 }
 
/* Menu functions */
function hideAllSubmenus() {
	var liElement = document.getElementsByTagName('li');

	for (var i=0; i<liElement.length; i++) {
		if ((liElement[i].id).indexOf('submenu') != -1) {
			$(liElement[i].id).style.display = 'none';
		
			addEventHandler($(liElement[i].id), 'mouseout', setSubmenuClose);
			addEventHandler($(liElement[i].id), 'mouseover', setSubmenuOpen);
		}
	}
}

function showSubMenus(mainMenuId) {
	var liElement = document.getElementsByTagName('li');

	for (var i=0; i<liElement.length; i++) {
		if ((liElement[i].id).indexOf(mainMenuId+'submenu') != -1)
			$(liElement[i].id).style.display = 'block';
	}
}

function addMouseEventToMenus() {
	var liElement = document.getElementsByTagName('li');
	var mainMenuId = '';
	
	for (var i=0; i<liElement.length; i++) {
		if (((liElement[i].id).indexOf('submenu') == -1) && ((liElement[i].id).indexOf('menu') != -1)) {
			mainMenuId = liElement[i].id;
		
			//addEventHandler($(mainMenuId), 'mouseout', setSubmenuClose);
			//addEventHandler($(mainMenuId), 'mouseover', showMenu);
			//var eSrc = (e ? e.target : window.event.srcElement);
			$('menu1').onmouseover = function (e) { showMenu(e) };
		}
	}
}

function createTimer() {
	menuTimer = setTimeout('hideMenu()', 2000);
}

function menuInit() {
	hideAllSubmenus();
	//addMouseEventToMenus();
	createTimer();
}

function showMenu(mainMenuId) {
	//var eSrc = (e ? e.target : window.event.srcElement);
	//var mainMenuId = eSrc.id;alert(eSrc.id);
	hideAllSubmenus();
	showSubMenus(mainMenuId);
	setSubmenuOpen();
}

function hideMenu() {
	if (openedSubmenu == 0)
		hideAllSubmenus();

	createTimer();
}

function setSubmenuOpen() {
	openedSubmenu = 1;
}

function setSubmenuClose() {
	openedSubmenu = 0;
}

/* Validate form fields */
function validateFormFields(fields, checkpasswd) {
	$('errordiv').style.display = 'none';

	for (var i=0; i<fields.length; i++) {
		if ($(fields[i]).value == '') {
			$('errordiv').style.display = 'block';
			return false;
		}
	}

	if (($('id').value != "") && ($('password1').value == ""))
			checkpasswd = 0;

	if (checkpasswd == 1) {
		if (($('password1').value == "") || ($('password1').value != $('password2').value)) {
			$('errordiv').style.display = 'block';
			return false;
		}
	}

	return true;
}

/* Login form validate */
function loginValidateInit() {
	var fields = new Array(
			'username',
			'passwd'
	);

	$('loginform').onsubmit = function() { return validateFormFields(fields, 0) };
}

/* Add/modify news form validate */
function validateAddNewsFromFields() {
	var fields = new Array(
			'title',
			'tAreaEx'
	);

	$('addnews').onsubmit = function() { return validateFormFields(fields, 0) };
}

/* Add/modify writeof us validate */
function validateAddWriteOfUsFromFields() {
	var fields = new Array(
			'who',
			'tAreaEx'
	);

	$('addwof').onsubmit = function() { return validateFormFields(fields, 0) };
}

/* Add/modify link validate */
function validateAddLinkFromFields() {
	var fields = new Array(
			'title',
			'link',
			'tAreaEx'
	);

	$('addlink').onsubmit = function() { return validateFormFields(fields, 0) };
}

/* Add/modify bannner validate */
function validateAddBannerFromFields() {
	var fields = new Array(
			'title',
			'link',
			'banner_url'
	);

	$('addbanner').onsubmit = function() { return validateFormFields(fields, 0) };
}

/* Add/modify text validate */
function validateAddTextFromFields() {
	var fields = new Array(
			'title',
			'tAreaEx'
	);

	$('addtext').onsubmit = function() { return validateFormFields(fields, 0) };
}

/* Add/modify user form validate */
function validateAddUserFromFields() {
	var fields = new Array(
			'username',
			'fullname'
	);

	$('adduser').onsubmit = function() { return validateFormFields(fields, 1) };
}

/* Add/modify county form validate */
function validateAddCountyFromFields() {
	var fields = new Array(
			'county_code',
			'name'
	);

	$('addcounty').onsubmit = function() { return validateFormFields(fields, 0) };
}

/* Add/modify document form validate */
function validateAddDocumentFromFields() {
	var fields = new Array(
			'title'
	);
	$('adddocument').onsubmit = function() { return validateFormFields(fields, 0) };
}

/* Add/modify workshop form validate */
function validateAddWorkshopFromFields() {
	var fields = new Array(
			'county_code',
			'address',
			'contact_person',
			'telephone',
			'email'
	);
	$('addworkshop').onsubmit = function() { return validateFormFields(fields, 0) };
}

/*  
	Simple text editor.
	Code form: http://krijnhoetmer.nl/ - Thanks :)
	Modified by: Keratomi
*/

function insert(element, start, eind) {
  element = document.getElementById(element);

  if (document.selection) {
    element.focus();
    sel = document.selection.createRange();
    sel.text = start + sel.text + eind;
  } else if (element.selectionStart || element.selectionStart == '0') {
    element.focus();
    var startPos = element.selectionStart;
    var endPos = element.selectionEnd;
    element.value = element.value.substring(0, startPos) + start + element.value.substring(startPos, endPos) + eind + element.value.substring(endPos, element.value.length);
  } else {
    element.value += start + eind;
  }
}

function textareaExInit(textAreaId) {
	$('tAreaExButtonBold').onclick = function() { insert(textAreaId, '[b]', '[/b]') };
	$('tAreaExButtonItalic').onclick = function() { insert(textAreaId, '[i]', '[/i]') };
	$('tAreaExButtonUnderline').onclick = function() { insert(textAreaId, '[u]', '[/u]') };
	$('tAreaExButtonHead5').onclick = function() { insert(textAreaId, '[h5]', '[/h5]') };
	$('tAreaExButtonParagraph').onclick = function() { insert(textAreaId, '[p]', '[/p]') };
	
	$('tAreaExButtonBold_en').onclick = function() { insert(textAreaId, '[b]', '[/b]') };
	$('tAreaExButtonItalic_en').onclick = function() { insert(textAreaId, '[i]', '[/i]') };
	$('tAreaExButtonUnderline_en').onclick = function() { insert(textAreaId, '[u]', '[/u]') };
	$('tAreaExButtonHead5_en').onclick = function() { insert(textAreaId, '[h5]', '[/h5]') };
	$('tAreaExButtonParagraph_en').onclick = function() { insert(textAreaId, '[p]', '[/p]') };
}

/* Initialize news delete function */
function deleteNewsInit() {
	var as = document.getElementsByTagName('a');

	for (var i=0; i<as.length; i++) {
		if ((as[i].id).indexOf('deletenews') != -1) {
			$(as[i].id).onclick = function (e) { deleteNews(e) };
		}
	}
}

function deleteNews(e) {
	if (confirm('Valóban törölni akarja a kiválasztott hírt?')) {
		var eSrc = (e ? e.target : window.event.srcElement);
		var newsId = eSrc.id;

		newsId = newsId.substring(0, newsId.indexOf('_'));

		location.href = 'index.php?page=admin_news&delid='+newsId;
	}
}

/* Initialize write of us delete function */
function deleteWriteofUsInit() {
	var as = document.getElementsByTagName('a');

	for (var i=0; i<as.length; i++) {
		if ((as[i].id).indexOf('deletewof') != -1) {
			$(as[i].id).onclick = function (e) { deleteWriteOfUs(e) };
		}
	}
}

function deleteWriteOfUs(e) {
	if (confirm('Valóban törölni akarja a kiválasztott elemet?')) {
		var eSrc = (e ? e.target : window.event.srcElement);
		var wofId = eSrc.id;

		wofId = wofId.substring(0, wofId.indexOf('_'));

		location.href = 'index.php?page=admin_adverts_writeofus&delid='+wofId;
	}
}

/* Initialize link delete function */
function deleteLinkInit() {
	var as = document.getElementsByTagName('a');

	for (var i=0; i<as.length; i++) {
		if ((as[i].id).indexOf('deletelink') != -1) {
			$(as[i].id).onclick = function (e) { deleteLink(e) };
		}
	}
}

function deleteLink(e) {
	if (confirm('Valóban törölni akarja a kiválasztott linket?')) {
		var eSrc = (e ? e.target : window.event.srcElement);
		var linkId = eSrc.id;

		linkId = linkId.substring(0, linkId.indexOf('_'));

		location.href = 'index.php?page=admin_adverts_links&delid='+linkId;
	}
}

/* Initialize banner delete function */
function deleteBannerInit() {
	var as = document.getElementsByTagName('a');

	for (var i=0; i<as.length; i++) {
		if ((as[i].id).indexOf('deletebanner') != -1) {
			$(as[i].id).onclick = function (e) { deleteBanner(e) };
		}
	}
}

function deleteBanner(e) {
	if (confirm('Valóban törölni akarja a kiválasztott bannert?')) {
		var eSrc = (e ? e.target : window.event.srcElement);
		var bannerId = eSrc.id;

		bannerId = bannerId.substring(0, bannerId.indexOf('_'));

		location.href = 'index.php?page=admin_adverts_banners&delid='+bannerId;
	}
}

/* Initialize text delete function */
function deleteTextInit() {
	var as = document.getElementsByTagName('a');

	for (var i=0; i<as.length; i++) {
		if ((as[i].id).indexOf('deletetext') != -1) {
			$(as[i].id).onclick = function (e) { deleteText(e) };
		}
	}
}

function deleteText(e) {
	if (confirm('Valóban törölni akarja a kiválasztott szöveges hirdetést?')) {
		var eSrc = (e ? e.target : window.event.srcElement);
		var textId = eSrc.id;

		textId = textId.substring(0, textId.indexOf('_'));

		location.href = 'index.php?page=admin_adverts_texts&delid='+textId;
	}
}

/* Initialize user delete function */
function deleteUserInit() {
	var as = document.getElementsByTagName('a');

	for (var i=0; i<as.length; i++) {
		if ((as[i].id).indexOf('deleteuser') != -1) {
			$(as[i].id).onclick = function (e) { deleteUser(e) };
		}
	}
}

function deleteUser(e) {
	if (confirm('Valóban törölni akarja a kiválasztott felhasználót?')) {
		var eSrc = (e ? e.target : window.event.srcElement);
		var userId = eSrc.id;

		userId = userId.substring(0, userId.indexOf('_'));

		location.href = 'index.php?page=admin_users&delid='+userId;
	}
}

/* Initialize county delete function */
function deleteCountyInit() {
	var as = document.getElementsByTagName('a');

	for (var i=0; i<as.length; i++) {
		if ((as[i].id).indexOf('deletecounty') != -1) {
			$(as[i].id).onclick = function (e) { deleteCounty(e) };
		}
	}
}

function deleteCounty(e) {
	if (confirm('Valóban törölni akarja a kiválasztott megyét?')) {
		var eSrc = (e ? e.target : window.event.srcElement);
		var countyId = eSrc.id;

		countyId = countyId.substring(0, countyId.indexOf('_'));

		location.href = 'index.php?page=admin_counties&delid='+countyId;
	}
}

/* Initialize document delete function */
function deleteDocumentInit() {
	var as = document.getElementsByTagName('a');

	for (var i=0; i<as.length; i++) {
		if ((as[i].id).indexOf('deletedocument') != -1) {
			$(as[i].id).onclick = function (e) { deleteDocument(e) };
		}
	}
}

function deleteDocument(e) {
	if (confirm('Valóban törölni akarja a kiválasztott dokumentumot?')) {
		var eSrc = (e ? e.target : window.event.srcElement);
		var docId = eSrc.id;

		docId = docId.substring(0, docId.indexOf('_'));

		location.href = 'index.php?page=admin_documents&delid='+docId;
	}
}

/* Initialize workshop delete function */
function deleteWorkshopInit() {
	var as = document.getElementsByTagName('a');

	for (var i=0; i<as.length; i++) {
		if ((as[i].id).indexOf('deleteworkshop') != -1) {
			$(as[i].id).onclick = function (e) { deleteWorkshop(e) };
		}
	}
}

function deleteWorkshop(e) {
	if (confirm('Valóban törölni akarja a kiválasztott beszerelő műhelyt?')) {
		var eSrc = (e ? e.target : window.event.srcElement);
		var wsId = eSrc.id;

		wsId = wsId.substring(0, wsId.indexOf('_'));

		location.href = 'index.php?page=admin_workshops&delid='+wsId;
	}
}

/* Initialize big picture show */
function showBigPicInit() {
	var imgTags = document.getElementsByTagName('img');

	for (var i=0; i<imgTags.length; i++) {
		if ((imgTags[i].id).indexOf('news-details-pic-') != -1)
			$(imgTags[i].id).onclick = function(e) { openPictureShowWindow(e) };
	}
}

function openPictureShowWindow(e) {
	var eSrc = (e ? e.target : window.event.srcElement);
	var picSrc = eSrc.src;

	window.open('index.php?page=show_picture&pic='+picSrc, 'showPic', 'width=10,height=10,resizable=1,scrollable=1');

	return false;
}

function showPictureInit(width, height) {
	$('bigpicture').onclick = function(e) { window.close() };

	var reCalc = false;
	
	
	if (width > 1000) { width = 1000; reCalc = true; }
	if (height > 700) { height = 700; reCalc = true; }
	
	window.resizeTo(width, height);

	if (reCalc) {
		/* Script from http://www.howtocreate.co.uk/tutorials/javascript/browserwindow */
		var myWidth = 0, myHeight = 0;
		if( typeof( window.innerWidth ) == 'number' ) {
			//Non-IE
			myWidth = window.innerWidth;
			myHeight = window.innerHeight;
		} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
			//IE 6+ in 'standards compliant mode'
			myWidth = document.documentElement.clientWidth;
			myHeight = document.documentElement.clientHeight;
		}
		/* /Outer script */


		document.getElementById('picture-container').style.height = myHeight+'px';
		document.getElementById('picture-container').style.width = myWidth+'px';
		document.getElementById('picture-container').style.overflow = "scroll"; 
	}
}

/* Workshop functions */
function workshopAddDivsInit(modify) {
	var divs = new Array(
		'xls',
		'csv',
		'manual'
	);

	$('typeselect').disabled = false;
	$('typeselect').selectedIndex = 0;
	$('typeselect').onchange = function (e) { showUploadForm(e) };

	for (var i=0; i<divs.length; i++) {
		$('add-workshop-by-'+divs[i]).style.display = 'none';
		$('cancel-'+divs[i]).onclick = function (e) {
			workshopAddDivsInit(0);
		}
	}

	if (modify != 0) {
		$('typeselect').disabled = true;
		$('typeselect').selectedIndex = 3;
		$('add-workshop-by-manual').style.display = 'block';
	}
}

function showUploadForm(e) {
	var eSrc = (e ? e.target : window.event.srcElement);
	if ($('typeselect').value != '0') {
		$('typeselect').disabled = 'disabled';
		$('add-workshop-by-' + $('typeselect').value).style.display = 'block';
	}

	$('errordiv').style.display = 'none';

	return false;
}

function initBannerToggleUp() {
	$('bannertoggleup').onclick = function (e) {
		window.open('index.php?page=admin_bannertoggleup', 'BanToUp', 'width=500,height=300');
	}
}