function actionCallback(callback, param){
	callback.setCallbackParameter(param);
	callback.dispatch();
}

function changePage(page){
	actionCallback(changePageCallback, {'page':page});
}

function deleteElement(id){
	showConfirm("Confirm", confirmDeleteMsg, confirmButtons, function(val){ 
		if(val==="yes") actionCallback(deleteCallback, {'id':id});
	});
}

function editElement(index){
	actionCallback(editCallback, {'index':index});
}

function saveElement(id){
	actionCallback(saveCallback, {'id':id});
}

function cancelElement(){
	actionCallback(cancelCallback, {});
}

function publishArticle(id){
	actionCallback(publishCallback, {'id':id});
}
function publishArticleResponse(response){
	resp = response.split(",");
	if(resp[1] === 'success') {
		check = document.getElementById('publish_' + resp[0]);
		check.checked = !check.checked;
	}
}

function archiveArticle(id){
	actionCallback(archiveCallback, {'id':id});
}
function archiveArticleResponse(response){
	resp = response.split(",");
	if(resp[1] === 'success') {
		check = document.getElementById('archive_' + resp[0]);
		check.checked = !check.checked;
	}
}
		
function changeSubscriptionStatus(select, id){
	actionCallback(changeSubscriptionStatusCallback, {'id':id, 'status':select.value});
}
function changeSubscriptionStatusResponse(response){
	resp = response.split(",");
	if(resp[2] === 'success') {
		if(resp[1]==='1'){
			$('link_' + resp[0]).style.display = '';
		}else if(resp[1]==='0' || resp[1]==='2'){
			$('link_' + resp[0]).style.display = 'none';
		}
	}
}

function sendNewsletter(id){
	showConfirm("Confirm", confirmSendNewsletterMsg, confirmButtons, function(val){ 
		if(val==="yes") actionCallback(sendNewsletterCallback, {'id':id});
	});
}
function sendNewsletterResponse(response){
	resp = response.split(",");
	if(resp[1] === 'success') {
		$('check_' + resp[0]).checked = true ;
	}
}    
function resetFlagToAll(id){
	showConfirm("Confirm", resetFlagToAllMsg, confirmButtons, function(val){ 
		if(val==="yes") actionCallback(resetFlagToAllCallback, {});
	});
}

function clickOnThis(btn) {
   var e = document.getElementById(btn);    
   if (typeof e == 'object') {        
	   if(document.createEvent) {            
		   var evObj = document.createEvent('MouseEvents');            
		   evObj.initEvent('click',true,true);            
		   e.dispatchEvent(evObj);            
		   return false;        
	   } else if(document.createEventObject) {            
		   e.fireEvent('onclick');            
		   return false;        
	   } else {            
		   e.click();            
		   alert('click');            
		   return false;        
	   }    
   }
}

function changeStatus(select, id){
	actionCallback(changeStatusCallback, {'id':id, 'status':select.value});
}

function changeValue(input, id){
	actionCallback(changeValueCallback, {'id':id,'value':input.value});
}

function publishPhotoImage(id){
	actionCallback(publishCallback, {'id':id});
}
function publishResponse(response){
	resp = response.split(",");
	if(resp[1] === 'success') {
		check = document.getElementById('public_' + resp[0]);
		check.checked = !check.checked;
	}
}

function publishArticle(id){
	actionCallback(publishCallback, {'id':id});
}
function publishArticleResponse(response){
	resp = response.split(",");
	if(resp[1] === 'success') {
		check = document.getElementById('publish_' + resp[0]);
		check.checked = !check.checked;
	}
}












function publishObject(id){
	actionCallback(publishCallback, {'id':id});
}
function moveUp(id){
	actionCallback(moveUpCallback, {'id':id});
}
function moveDown(id){
	actionCallback(moveDownCallback, {'id':id});
}	
function changePosition(select, id){
	actionCallback(changePositionCallback, {'id':id, 'position':select.value});
}
function changePositionResponse(response){
	resp = response.split(",");
	if(resp[1] !== 'success') {
		alert("Error while changing position for category !");
	}
}

