function append_event(e, type, handler) {
  if (e.addEventListener) {
    e.addEventListener(type, handler, false);
  } else {
    e.attachEvent('on' + type, handler);
  }
}

function calculate_page(current_page, current_per_page, new_per_page) {
	return Math.floor((current_page - 1) * current_per_page / new_per_page + 1);
}

function setPage(id, current_page, current_per_page, new_per_page) {
	$(id).value = calculate_page(current_page, current_per_page, new_per_page);
}

function setPageForChangeViewMode(id, current_mode, new_mode, current_page) {
  if((current_mode.split("_").length == 2 && new_mode.split("_").length == 2) || (current_mode.split("_").reverse()[0] == new_mode.split("_").reverse()[0]) ){
		$(id).value = current_page;
  }else{
		$(id).value = 1;
	}
}

function do_disable(){
	each(document.getElementsByTagName('a'), function(element){
			element.href = '#';
			element.onclick = function(){};
			});
	each(document.getElementsByTagName('input'), function(element){
			element.disabled = true;
			element.onclick = function(){};
			});
	each(document.getElementsByTagName('textarea'), function(element){
			element.disabled = true;
			element.onclick = function(){};
			});
}

function each(elements, func){
	for(var i=0; i<elements.length; i++){
		func(elements[i]);
	}
}

