window.addEvent('domready', onDomReadyF);

//	handle na sortables menu items .. aby som ich vedel zoradit na poziadanie SortMenuItems()
var mySort;
function onDomReadyF() {
	
	//	validacia formularu na add user
	if ($('add_user_form')) {
		var addUserValidation = new Validate('add_user_form',{
			errorClass: 'red',
			onSuccess: addUser
		});
	}	

	//	validacia formularu na add menu item
	if ($('add_menu_item_frm')) {
		var addMenuValidation = new Validate('add_menu_item_frm',{
			errorClass: 'red',
			onSuccess: addMenuItem
		});
	}	
	
	//	validacia formularu na edit menu item
	if ($('edit_menu_item_frm')) {
		var addMenuValidation = new Validate('edit_menu_item_frm',{
			errorClass: 'red',
			onSuccess: editMenuItem
		});
	}	
	
	
	//	sorting menu items
	var menuItemSort = $('menu_item_sort');
	if (menuItemSort) {
		mySort = new Sortables(menuItemSort, {
			clone: true,
			opacity: 0.6,
//			onComplete: function(){
//				console.log(mySort.serialize())
//			}
		});
		
		$('save_sort').addEvent("click", SortMenuItems);
	}
	
	//	initialize:function( input_element, max, name_suffix_template, show_filename_only, remove_empty_element ){
	if ($('pic_upload_frm')) {
	 	new MultiUpload($('pic_upload_frm').pic_thumb, 0, '[{id}]', true, true );
	 	new MultiUpload($('pic_upload_frm').pic_big, 0, '[{id}]', true, true );
	}
	
	if ($('vid_upload_frm')) {
	 	new MultiUpload($('vid_upload_frm').vid_thumb, 0, '[{id}]', true, true );
	 	new MultiUpload($('vid_upload_frm').vid_big, 0, '[{id}]', true, true );
	}
	

	
	
}


function SortMenuItems() {
	
	//	usporiadam, zoberiem si iba id danych <li>
	var ids = [];
	mySort.serialize().each(function(id){
//		console.log(id);
		ids.push(id.substr(10));
	})
//	console.log(ids)
//	ids.join(',');
	
	//	odoslem request s usporiadanymi id, aby sa ulozili
	new Request.HTML({
		url: 'admin/spracuj.php?do=sort_menu_items&ids='+ids.join(','),
		method: 'get',
		update: 'status_msg',
		evalScripts: true
	}).send();	
	
	setStatusMsg('processing..');
}

function addUser() {
	
	var addUserFrm = $('add_user_form');
	var query = addUserFrm.toQueryString() + "&project_title="+$('id_project').getSelected().get('text');
	new Request.HTML({
		url: addUserFrm.get('action'),
		method: 'get',
//		update: 'add_user_status',
		update: 'status_msg',
		evalScripts: true
//		onComplete: function(){console.log('ajax complete!')}
	}).send(query);
}


function delUser(id_user) {
	
	new Request.HTML({
		url: 'admin/spracuj.php?do=del_user&id_user='+id_user,
		method: 'get',
//		update: 'add_user_status',
		update: 'status_msg',
		evalScripts: true
	}).send();
}

function addMenuItem() {
	
	var addMenuItemFrm = $('add_menu_item_frm');
	var query = addMenuItemFrm.toQueryString();
	new Request.HTML({
		url: addMenuItemFrm.get('action'),
		method: 'get',
		update: 'status_msg',
		evalScripts: true
	}).send(query);
}


//	nacita title_en/de menu polozky do formulara edit_menu_item_frm
function loadEditMenuItem(id_menu1) {
	
	//	ziskam handle na <li> a obidva formulare
	var menu_item = $("menu_item_"+id_menu1);
	var addMenuItemFrm = $('add_menu_item_frm');
	var editMenuItemFrm = $('edit_menu_item_frm');

	//	ak je taka <li>, nastavim titles a schovam/zobrazim form
	if (menu_item) {
		editMenuItemFrm.title_en.set('value', $('title_en_'+id_menu1).get('text'));
		editMenuItemFrm.title_de.set('value', $('title_de_'+id_menu1).get('text'));
		$(editMenuItemFrm.id_menu).set('value', id_menu1);
		addMenuItemFrm.addClass('invisible');
		editMenuItemFrm.removeClass('invisible');	
	}
}


//	formulare dam do povodneho zobrazenia [add=visible, edit=hidden]
function cancelEditMenuItem() {
	
	$('add_menu_item_frm').removeClass('invisible');
	$('edit_menu_item_frm').addClass('invisible');
}

//	fcia cez ajax posle obsah formu edit_menu_item_frm
function editMenuItem() {
	
	var editMenuItemFrm = $('edit_menu_item_frm');
	var query = editMenuItemFrm.toQueryString();
	new Request.HTML({
		url: editMenuItemFrm.get('action'),
		method: 'get',
		update: 'status_msg',
		evalScripts: true
	}).send(query);
}

function deleteMenuItem(id_menu) {
	
	new Request.HTML({
		url: 'admin/spracuj.php?do=del_menu_item&id_menu='+id_menu,
		method: 'get',
		update: 'status_msg',
		evalScripts: true
	}).send();	
}


function setStatusMsg(msg) {
	
	$('status_msg').set('text', msg);
	
}

//	fcia cez ajax zmeni stav viditelnosti projektu a nastavi podla toho ikonku
function toggleProjectVisibility(id_project) {
	
	new Request.HTML({
		url: 'admin/spracuj.php?do=toggle_visibility&type=project&id_type='+id_project,
		method: 'get',
		update: 'status_msg',
		evalScripts: true
	}).send();	
	
	setStatusMsg('processing..');
}


//	vymazem subor archivu
function delArchive(id_archive, id_project, filename) {
	
	new Request.HTML({
		url: 'admin/spracuj.php?do=del_archive&id_archive='+id_archive+'&id_project='+id_project+'&filename='+encodeURI(filename),
		method: 'get',
		update: 'status_msg',
		evalScripts: true
	}).send();

	setStatusMsg('processing..');
}



// vrati string id1,id2,..checknutych archivov na vypise								
function getChckdArchives() {
	
	var msg = "";
  	var inputs = $$('#archive_files input');
  	var max = inputs.length;
  	var e = null;
  	var name = null;
  	
  	for (var i = 0; i < max; i++) {
  		e = inputs[i];	
      	if (e.checked == true) {
      		name = e.id.substr(6);
        	msg += name + ',';
      	}
  	}

  	//      odstranim poslednu ciarku
	msg = msg.substring(0, msg.length-1);  

	return msg;
}

var CHECK_ITEM = "To perform this operation you have to check at least one item";
function downloadArchive(id_project) {
	
	var checked = getChckdArchives();
//	alert(checked)
	if (checked!='') {
		document.location.href='admin/spracuj.php?do=download_archive&id_project='+id_project+'&ids=' + checked;
//		var ajax = new Ajax(obsluha, 'GET', 'spracuj.php?do=downloadCharts&ids=' + checked);
//		ajax.send();
	} else {
		alert(CHECK_ITEM);
		return;
	}
}



function delProject(id_project) {
	
	new Request.HTML({
		url: 'admin/spracuj.php?do=del_project&id_project='+id_project,
		method: 'get',
//		update: 'add_user_status',
		update: 'status_msg',
		evalScripts: true
	}).send();

	setStatusMsg('processing..');
}


function delVideo(id_video, id_project) {
	
	delPicVid("videos", "id_video", id_video, id_project);
}

function delPic(id_pic, id_project) {
	
	delPicVid("photos", "id_pic", id_pic, id_project);
}

function delPicVid(action, item, id_item, id_project) {
	
	new Request.HTML({
		url: 'admin/spracuj.php?do=del_'+action+'&id_project='+id_project+'&'+item+'='+id_item,
		method: 'get',
//		update: 'add_user_status',
		update: 'status_msg',
		evalScripts: true
	}).send();

	setStatusMsg('processing..');
}
