document.observe("dom:loaded", function() {
	new Ajax_upload('#foto_btn', {
		action: imageUP,	
		onSubmit: function(file , ext){	
			if (ext && /^(jpg|png|jpeg|gif)$/.test(ext)){
				$$('#foto_upload .foto_msg')[0].update('Siunčiame ' + file);	
			} else {				
				$$('#foto_upload .foto_msg')[0].update('Pasirinkite jpg, gif arba png failą');
				return false;
			}	
		},
		onComplete: function(file, response){
			$$('#foto_upload .foto_msg')[0].update(response);
		}
	});
	
	new Ajax_upload('#add_files', {
		action: fileUP,
		onSubmit: function(file , ext){
			$$('#file_upload .file_msg')[0].update('Siunčiame ' + file);	
		},
		onComplete: function(file, response){				
			$$('#file_upload .file_msg')[0].update(response);
		}
	});
});

Event.observe(window, 'load', init, false);


function makeEditable(id){
	if ($(id)!=null){
		Event.observe(id, 'click', function(){edit($(id))}, false);
		Event.observe(id, 'mouseover', function(){showAsEditable($(id))}, false);
		Event.observe(id, 'mouseout', function(){showAsEditable($(id), true)}, false);
	}
}

function observeImageDEL(id){
	if ($(id)!=null){
		Event.observe(id, 'click', function(){doRemove($(id))}, false);
	}
}
function observeAddNews(id){
	if ($(id)!=null){
		Event.observe(id, 'click', function(){addNews($(id))}, false);
	}
}
function observeAddHome(id){
	if ($(id)!=null){
		Event.observe(id, 'click', function(){addHome($(id))}, false);
	}
}

function observeAddRaj(id){
	if ($(id)!=null){
		Event.observe(id, 'click', function(){addRaj($(id))}, false);
	}
}

function observeHomeadminAdd(id){
	if ($(id)!=null){		
		Event.observe(id, 'click', function(){homeadminAddadmin($(id))}, false);
	}
}

function homeadminAddadmin(obj){
	var ad = $('home_admins').getValue();
	var aa = '';
	new Ajax.Request(homeadminADD+'/'+ad, {method:'post', postBody:aa, 
		onSuccess: function(transport) {				
			$('new_admins').update(transport.responseText+' <a href=# onclick=reload();>Atnaujinti sąrašą</a><br><br>');
		},
		onFailure: function(transport) {
			$('new_admins').update(transport.responseText+'<br><br>');
		}
	});
}

function homeadminRemove(aid){
	var aa = '';
	new Ajax.Request(homeadminDEL+'/'+aid, {method:'post', postBody:aa, 
		onSuccess: function(transport) {				
			$('hadmin_'+aid).update('<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td class="naujiena" width="100%">'+transport.responseText+'</tr></table>');
		}
	});
}

function doRemove(obj){
	var answer = confirm('Ar tikrai norite ištrinti paveikslėlį?');
	if (answer) {
		new Ajax.Request(imageDEL, {method:'get', 
			onSuccess: function(transport) {
				$$('#foto_upload .foto_msg')[0].update(transport.responseText);
			}
		});
	}	
}

function addNews(obj){
	var aa = '';
	new Ajax.Request(newsADD, {method:'post', postBody:aa, 
		onSuccess: function(transport) {    	
			var jauTurim = $('nauja').innerHTML;
			$('nauja').update(transport.responseText+jauTurim);			 
		}
	});
}

function deleteNews(id){
	var answer = confirm('Ar tikrai norite ištrinti šią naujieną?');
	var aa = '';
	if (answer) {
		new Ajax.Request(newsDEL+'/'+id, {method:'post', postBody:aa, 
			onSuccess: function(transport) {
				$('naujiena_'+id).update('<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td class="naujiena" width="100%">'+transport.responseText+'</td></tr></table>');
			}
		});
	}
}

function deleteFile(fid){
	var answer = confirm('Tikrai ištrinti?');
	var aa = '';
	if (answer) {
		new Ajax.Request(fileDEL+'/'+fid, {method:'post', postBody:aa, 
			onSuccess: function(transport) {				
				$('file_'+fid).update('<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td class="naujiena" width="100%">'+transport.responseText+'</tr></table>');
			}
		});
	}
}

function addHome(obj){
	var aa = '';
	new Ajax.Request(homeADD, {method:'post', postBody:aa, 
		onSuccess: function(transport) {    	
			var jauTurim = $('new_properties').innerHTML;
			$('new_properties').update(transport.responseText+jauTurim);			 
		}
	});
}

function deleteHome(hid){
	var answer = confirm('Dėmesio! Kartu su namu bus ištrintos visos susijusios naujienos, failai ir nuotraukos.\nTikrai ištrinti?');
	var aa = '';
	if (answer) {
		new Ajax.Request(homeDEL+'/'+hid, {method:'post', postBody:aa, 
			onSuccess: function(transport) {				
				$('namas_'+hid).update('<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td class="naujiena" width="100%">'+transport.responseText+'</tr></table>');
			}
		});
	}
}

function addRaj(obj){
	var aa = '';
	new Ajax.Request(rajADD, {method:'post', postBody:aa, 
		onSuccess: function(transport) {    	
			var jauTurim = $('new_rajons').innerHTML;
			$('new_rajons').update(transport.responseText+jauTurim);			 
		}
	});
}

function deleteRaj(rid){
	var answer = confirm('Dėmesio! Šio rajono namuose skiltis RAJONAS bus pakeista į NENUSTATYTĄ.\nTikrai ištrinti?');
	var aa = '';
	if (answer) {
		new Ajax.Request(rajDEL+'/'+rid, {method:'post', postBody:aa, 
			onSuccess: function(transport) {				
				$('rajpav_'+rid).update(transport.responseText);
			}
		});
	}
}

function observeAddUser(id){
	if ($(id)!=null){		
		$(id).observe('click', addUser);
	}
}
function observeAddAdmin(id){
	if ($(id)!=null){		
		$(id).observe('click', addAdmin);
	}
}

function addUser(event){	
	Event.stop(event);
	Lightview.show({
		href: userREG,
		rel: 'ajax',
		options: {
			autosize: true,
			topclose: true,
			ajax: {
				onComplete: function() {
					// once the request is complete we observe the form for a submit
					Event.observe('register_button', 'click', function(){submitUserREG()}, false);
					//$('regSubmit').observe('register_button', submitUserREG);
				}
			}
		}
	});
}

function submitUserREG() {
	// block default form submit
	// Event.stop(event);
	Lightview.show({
		href: userREG,
		rel: 'ajax',
		options: {
			topclose: true,
			autosize: true,
			ajax: {
				method:'post',
				postBody: Form.serialize('regform'),
				onComplete: function() {
					if ($('regform')!=null){
						Event.observe('register_button', 'click', function(){submitUserREG()}, false);
					}
				}
			}
		}
	});
}

function addAdmin(event){	
	Event.stop(event);
	Lightview.show({
		href: adminREG,
		rel: 'ajax',
		options: {
			autosize: true,
			topclose: true,
			ajax: {
				onComplete: function() {
					// once the request is complete we observe the form for a submit
					Event.observe('register_button', 'click', function(){submitAdminREG()}, false);
					//$('regSubmit').observe('register_button', submitUserREG);
				}
			}
		}
	});
}

function submitAdminREG() {
	// block default form submit
	// Event.stop(event);
	Lightview.show({
		href: adminREG,
		rel: 'ajax',
		options: {
			topclose: true,
			autosize: true,
			ajax: {
				method:'post',
				postBody: Form.serialize('regform'),
				onComplete: function() {
					if ($('regform')!=null){
						Event.observe('register_button', 'click', function(){submitAdminREG()}, false);
					}
				}
			}
		}
	});
}

function deleteUser(uid){
	var answer = confirm('Tikrai ištrinti?');
	var aa = '';
	if (answer) {
		$('new_users').update('<br/>Bandome trinti... Palaukite...<br/><br/>');
		new Ajax.Request(userDEL+'/'+uid, {method:'post', postBody:aa, 
			onSuccess: function(transport) {				
				/*$('user_'+uid).update(transport.responseText);*/
				$('new_users').update('<br/>'+transport.responseText+' <a href=# onclick=reload();>Atnaujinti sąrašą</a><br/><br/>');
			},
			onFailure: function(transport) {
				$('new_users').update('<br/>'+transport.responseText+'<br/><br/>');
			}
		});
	}
}

function reload() {
	var answer = confirm('Dėmesio! Visa neišsaugota šio puslapio informacija bus ištrinta.\nPerkrauti puslapį?');
	if (answer) {
		location.reload(true);
	}
}

function editUser(uid){	
	Lightview.show({
		href: userEDIT+'/'+uid,
		rel: 'ajax',
		options: {
			autosize: true,
			topclose: true,
			ajax: {
				onComplete: function() {
					Event.observe('edit_button', 'click', function(){submitUserEDIT(uid)}, false);
				}
			}
		}
	});
}
function submitUserEDIT(uid) {
	// block default form submit
	// Event.stop(event);
	Lightview.show({
		href: userEDIT+'/'+uid,
		rel: 'ajax',
		options: {
			topclose: true,
			autosize: true,
			ajax: {
				method:'post',
				postBody: Form.serialize('editform'),
				onComplete: function() {
					if ($('editform')!=null){
						Event.observe('edit_button', 'click', function(){submitUserEDIT(uid)}, false);
					}
				}
			}
		}
	});
}

function editAdmin(uid){	
	Lightview.show({
		href: adminEDIT+'/'+uid,
		rel: 'ajax',
		options: {
			autosize: true,
			topclose: true,
			ajax: {
				onComplete: function() {
					Event.observe('edit_button', 'click', function(){submitAdminEDIT(uid)}, false);
				}
			}
		}
	});
}
function submitAdminEDIT(uid) {
	// block default form submit
	// Event.stop(event);
	Lightview.show({
		href: adminEDIT+'/'+uid,
		rel: 'ajax',
		options: {
			topclose: true,
			autosize: true,
			ajax: {
				method:'post',
				postBody: Form.serialize('editform'),
				onComplete: function() {
					if ($('editform')!=null){
						Event.observe('edit_button', 'click', function(){submitAdminEDIT(uid)}, false);
					}
				}
			}
		}
	});
}

function edit(obj){
	Element.hide(obj);
	var textarea = '<div id="'+obj.id+'_editor"><textarea id="'+obj.id+'_edit" name="'+obj.id+'" rows="12" cols="60">'+obj.innerHTML+'</textarea>';
	var button	 = '<div><input id="'+obj.id+'_save" type="button" value="IŠSAUGOTI" class="edit_button"> <input id="'+obj.id+'_cancel" type="button" value="ATMESTI" class="edit_button"></div></div>';
	
	new Insertion.After(obj, textarea+button);
		
	Event.observe(obj.id+'_save', 'click', function(){saveChanges(obj)}, false);
	Event.observe(obj.id+'_cancel', 'click', function(){cleanUp(obj)}, false);
	
}

function showAsEditable(obj, clear){
	if (!clear){
		Element.addClassName(obj, 'editable');
	}else{
		Element.removeClassName(obj, 'editable');
	}
}

function saveChanges(obj){
	
	var new_content	=  escape($F(obj.id+'_edit'));

	obj.innerHTML	= "Saugoma...";
	cleanUp(obj, true);

	var success	= function(t){editComplete(t, obj);}
	var failure	= function(t){editFailed(t, obj);}
	
	var pars = 'object='+obj.id+'&content='+new_content;
	
	var mySplitResult = obj.id.split("_");
	if (mySplitResult[0]=='news') {
		//$(’mycheckbox’).observe(’click’, function(e){alert(’checked = ‘ + this.checked);});
		if ($('private_'+mySplitResult[1]).checked){
			pars += '&private=true';
		} else {
			pars += '&private=false';
		}
		var myAjax = new Ajax.Request(newsURL, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
	} else if (mySplitResult[0]=='rajpav') {
		var myAjax = new Ajax.Request(rajURL, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
	} else {
		var myAjax = new Ajax.Request(infoURL, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
	}

}

function cleanUp(obj, keepEditable){
	Element.remove(obj.id+'_editor');
	Element.show(obj);
	if (!keepEditable) showAsEditable(obj, true);
}

function editComplete(t, obj){
	obj.innerHTML	= t.responseText;
	showAsEditable(obj, true);
}

function editFailed(t, obj){
	obj.innerHTML	= 'Atsiprašome, išsaugoti nepavyko.';
	cleanUp(obj);
}

function saveRaj(){ //for rajonai saving in Home view
	$('raj_save_result').update('<img src="'+images+'ajax-loader.gif">');
	var successRaj	= function(t){saveRajComplete(t);}
	var failureRaj	= function(t){saveRajFailed(t);}
	var aa = '';
	$$('#rajonai_home_select option').each(function(elem){
		if (elem.selected) {			
			if (elem.value!='-1') {
				var myAjax = new Ajax.Request(rajonasUPD+'/'+elem.value, {method:'post', postBody:aa, onSuccess:successRaj, onFailure:failureRaj});
			} else {
				$('raj_save_result').update('');
			}
		}
    });
}

function saveRajComplete(t){
	$('raj_save_result').update('<img src="'+images+t.responseText+'">');
}
function saveRajFailed(t){
	$('raj_save_result').update('<img src="'+images+'no.gif">');
}

function selectRaj(){ //for rajonai in Index view
	$('namai').update('<img src="'+images+'ajax-loader.gif">');
	var aa = '';
	$$('#rajonai_index_select option').each(function(elem){
		if (elem.selected) {			
			var myAjax = new Ajax.Request(rajonasLOAD+'/'+elem.value, {method:'post', postBody:aa, 
			onSuccess: function(t) {
				$('namai').update(t.responseText);
			}, 
			onFailure: function(t) {
				$('namai').update('<img src="'+images+'no.gif">');
			}});
		}
    });
}
