View file veppa_wallpaper/public/js/admin.js

File size: 5.4Kb
// store active cell for further actions
var $td;



// load edit box
function editWallpaperLoad(){
 	var $me = $(this);
	var id = $me.attr('rel');
	$td = $me.parents('li:first');
	
	$.facebox(function(){	
		$.post(URL_BASE+'admin/wallpapers/edit/',{id:id},function(data){
			jQuery.facebox('<div id="face_content" class="fc_edit_wallaper">' + data + '</div>');	
			// apply facebox functions
			$('#face_content .cancel').click(function(){$.facebox.close();return false;});
			$('#face_content #upload_wallpaper').click(editWallpaperSave);
		}); 		
	});
	return false;
}

function editWallpaperSave(){
	var $form = $('#face_content form');
	var data = $form.serialize();
	var id = $('#id',$form).val();
	var $me = $(this);

	// set as updating
	$me.attr('disabled','disabled');
	
	$.post(URL_BASE+'admin/wallpapers/edit/',{action:'update_wallpaper',data:data,id:id},function(data){
		var arr_data = data.split('{SEP}');
		if(arr_data[0]=='ok'){
			$td.html(arr_data[1]);
			// assign edit funtion to newly added cell
			assignWallpaperActions($td);
			
			$.facebox.close();
		}else{
			alert('Couldn\'t update wallpaper. Please try again. '+data);	
			$me.removeAttr('disabled');
		}
	});
	
	return false;
}

function deleteWallpaper(){
	var $me = $(this);
	var id = $me.attr('rel');
	
	var $w_td = $me.parents('li:first');
	
	if(confirm('Do you want to delete this wallpaper?')){	
		$me.html('deleting...');
		
		$.post(URL_BASE+'admin/wallpapers/delete/',{action:'delete_wallpaper',id:id},function(data){
			if(data=='ok'){
				$w_td.fadeOut('slow').remove();
			}else{
				alert('Couldn\'t delete wallpaper. Please try again. '+data);	
				$me.html('delete');
			}
		});
	}
	return false;
}

// edit, delete wallpaper controls
function assignWallpaperActions($parent){
	$('a.edit',$parent).click(editWallpaperLoad);
	$('a.delete',$parent).click(deleteWallpaper);
	$('a.approve',$parent).click(activateWallpaper);
}

function validate_required(field,alerttxt)
{
	with (field)
	{
		if (value==null||value=="")
		  {alert(alerttxt);return false;}
		else {return true}
	}
}

// validate download wallpaper size
function validate_form(thisform)
{
	with (thisform)
	{
		if (validate_required(size,"Please select wallpaper size")==false)
		  {size.focus();return false;}
	}
}

// edit, delete comment controls
function assignCommentActions($parent){
	$('.activate_comment',$parent).click(activateComment);
	$('.delete_comment',$parent).click(deleteComment);
	$('.edit_comment',$parent).click(editComment);	
}


// load edit box
function editComment(){
 	var $me = $(this);
	var id = $me.attr('rel');
	
	var $ctd = $('#cm_body_'+id);
	var $cm = $('<div id="cm_'+id+'"><input type="button" class="update_comment" value="save" rel="'+id+'" /> <a href="#" class="cancel">cancel</a></div>');
	var is_user = $('.cm_name',$ctd).attr('rel')=='user'?true:false;
	

	if(!is_user)
	{
		$cm.prepend('Website:<br/><input name="cm_website" id="cm_website"/><br />');
		$cm.prepend('Name:<br/><input name="cm_name" id="cm_name"/><br />');
		$('#cm_name',$cm).val($('.cm_name',$ctd).html());
		$('#cm_website',$cm).val($('.cm_website',$ctd).html());
	}
	else
	{
		$cm.prepend('<span id="cm_name"></span><br />');
		$('#cm_name',$cm).text($('.cm_name',$ctd).html());
	}
	
	$cm.prepend('Body:<br/><textarea name="cm_body" id="cm_body"></textarea><br />');
	$('#cm_body',$cm).val($('.cm_body',$ctd).html());

	$ctd.append($cm);
	$('p',$ctd).hide();
	$me.hide();
	
	// update
	$('.update_comment',$cm).click(function (){
		var cm_body = $('#cm_body',$cm).val();
		var cm_name = $('#cm_name',$cm).val();
		var cm_website = $('#cm_website',$cm).val();
		
		$.post(URL_BASE + 'admin/comments/edit/',{cm_id:id,cm_body:cm_body,cm_name:cm_name,cm_website:cm_website,action:'update_comment'},function(data){
			var arr_data = data.split('{SEP}');
			if(arr_data[0]=='ok'){
				$ctd.html(arr_data[1]);
				$cm.remove();	
				$('p',$ctd).show();
				$me.show();
			}else{
				alert('Couldn\'t save comment');
			}	
		})
	});
	
	//cancel
	$('.cancel',$cm).click(function (){
		$cm.remove();
		$('p',$ctd).show();
		$me.show();
	});
	return false;
}

function deleteComment(){
	var $me = $(this);
	var id = $me.attr('rel');
	
	var $ctr = $me.parents('tr:first');
	
	if(confirm('Do you want to delete this comment?')){	
		$me.html('deleting...');
		
		$.post(URL_BASE + 'admin/comments/delete/',{cm_id:id},function(data){
			if(data=='ok'){
				$ctr.hide();
			}else{
				alert('Couldn\'t delete comment. Please try again. '+data);	
				$me.html('delete');
			}
		});
	}
	return false;
}

function activateComment(){
	var $me = $(this);
	var id = $me.attr('rel');
	
	var $ctr = $me.parents('tr:first');
	
	$me.html('updating...');

	$.post(URL_BASE + 'admin/comments/activate/',{cm_id:id},function(data){
		if(data=='ok'){
			$ctr.hide();
		}else{
			alert('Couldn\'t activate comment. Please try again. '+data);	
			$me.html('activate');
		}
	});

	return false;
}

function activateWallpaper(){
	var $me = $(this);
	var id = $me.attr('rel');
	
	var $ctr = $me.parents('li:first');
	
	$me.html('updating...');
	
	$.post(URL_BASE + 'admin/wallpapers/activate/',{id:id},function(data){
		if(data=='ok'){
			$ctr.hide();
		}else{
			alert('Couldn\'t activate wallpaper. Please try again. '+data);	
			$me.html('approve');
		}
	});
	
	return false;
}