var paperMenu=[genPaperMenus];
var fontSize=['小字型','標準字型','稍大字型','大字型','超大字型'];
var PV=['跳出新視窗','funP 快看','取代原視窗'];

function genPaperMenus(){
  t='';
  for(a=0;a<fontSize.length;a++){
   if(fs==a+1)
   t+="<a class='checked' href='javascript:changeFontSize("+(a+1)+")'>"+fontSize[a]+"</a>";
   else
   t+="<a href='javascript:changeFontSize("+(a+1)+")'>"+fontSize[a]+"</a>";
  }
  t+='<div class="hr"><!----></div>';
  for(a=0;a<PV.length;a++){
   if(pv==a+1)
   t+="<a class='checked' href='javascript:changePV("+(a+1)+")'>"+PV[a]+"</a>";
   else
   t+="<a href='javascript:changePV("+(a+1)+")'>"+PV[a]+"</a>";
  }
  return t;
}


var tooltip_id = 'funp_tooltip';
var tooltip_in_id = 'funp_tooltip_in';
var tooltip_timer = null;
var tooltip_current = null;
var sa=0;
function showSwitch(){
	if(sa==0)
		moreAll();
	else
		lessAll();
	sa=(sa+1)%2;
}
function changeFontSize(s){
	t=$('content');
	t.removeClassName('fs1');
	t.removeClassName('fs2');
	t.removeClassName('fs3');
	t.removeClassName('fs4');
	t.removeClassName('fs5');
        Cookie.set('paper_fs',s,9999);
	t.addClassName('fs'+s);
        fs=s;
        hideMenu();
}
function changePV(s){
	pv=s;
        Cookie.set('paper_pv',s,9999);
        hideMenu();
}
function moreNews(i) {
   if (!$('more_'+i)) return;
   Element.hide('more_'+i);
   Element.show('other_'+i);
   Element.show('less_'+i);
}

function lessNews(i) {
   if (!$('less_'+i)) return;
   Element.hide('less_'+i);
   Element.hide('other_'+i);
   Element.show('more_'+i);
}

function moreAll() {for (var i=0;i<feeds.length;++i) moreNews(feeds[i]);}
function lessAll() {for (var i=0;i<feeds.length;++i) lessNews(feeds[i]);}

function tooltip_show(evt, id) {
   if (!$(tooltip_id)) return;
   if (id != tooltip_current) tooltip_hide_do(tooltip_current);
   clearTimeout(tooltip_timer);
   Element.childElements(id).each(function(e){$(tooltip_in_id).appendChild(e);});
   tooltip_place(evt, 10, 10);
   tooltip_current = id;
   tooltip_timer = setTimeout('tooltip_show_do(\''+id+'\')', 768); 
}

function tooltip_show_do(id) {
   if (tooltip_current != id) return;
   Element.show(tooltip_id);
   if ($(id).hasAttribute('post_id')) getPost(id);
}

function getPost(id) {
   post_id = $(id).getAttribute('post_id');
   item_id = id.replace(/[^\d]+/, '');
   new Ajax.Request(PAPER_P+'paper.ajax.php', { 
      parameters: { op:'get_post', item_id:item_id, post_id:post_id},
      onSuccess: function(t) {
         $(id).removeAttribute('post_id');
         $(id).innerHTML = t.responseText;
         if (tooltip_current == id && Element.visible(tooltip_id)) {
            $(tooltip_in_id).innerHTML = '';
            Element.childElements(id).each(function(e){$(tooltip_in_id).appendChild(e);});
         }
         tooltip_repos(10,10);
      }
   });
}

function tooltip_place(evt, offX,offY) {
   var screen = funpDlg.getScreenSize();
   var offset = funpDlg.getScrollOffset();
   var dimensions = Element.getDimensions(tooltip_id);
   var screenX = Event.pointerX(evt);
   var screenY = Event.pointerY(evt);
   var x = 0 , y = 0;
   reOff = 0;
   if (screenX-offset.left > screen.width/2) x = screenX  - dimensions.width - offX; 
   else x = screenX + offX;
   if (screenY-offset.top > screen.height/2) {
      oY = y = screenY  - dimensions.height - offY; 
      reOff = dimensions.height;
   } 
   else y = screenY + offY;
   $(tooltip_id).style.left = x + 'px'; 
   $(tooltip_id).style.top = y + 'px';
}

var reOff,oY;
function tooltip_repos() {
	if(reOff>0) $(tooltip_id).style.top =( oY- Element.getDimensions(tooltip_id).height + reOff)+'px'; 	
}

function tooltip_hide_do(current) {
   if (!current) return;
   Element.childElements(tooltip_in_id).each(function(e){$(current).appendChild(e);});
   Element.hide(tooltip_id);
   tooltip_current = null;
}

function tooltip_hide() { 
   if (!$(tooltip_id)) return;
   clearTimeout(tooltip_timer);
   tooltip_timer = setTimeout('tooltip_hide_do('+(tooltip_current?'\''+tooltip_current+'\'':null)+')', 512); 
}

function tooltip_out(e) {
   var elm = e.relatedTarget? e.relatedTarget: e.toElement;
   if (!elm) return;
   if (!Position.within($(tooltip_id), Event.pointerX(e) , Event.pointerY(e)) && 
       $(tooltip_id) != elm && !containsDOM($(tooltip_id),elm)) {
      tooltip_hide();
   }
}

function tooltip_over() {
   clearTimeout(tooltip_timer);
}

function turnPage(event) {
   if (isCommonKeys(event)) return true;
   if (typeof pages == 'undefined') return true;
   var index = pages.indexOf(page);
   var current = index + 1;
   if (49 <= event.keyCode && event.keyCode <= 57) { // 1 - 9
      var target = event.keyCode - 48;
      if (current != target) location.search = pages[target-1];
   }
   if (event.keyCode == 88 && index > 0) // x
      location.search = pages[index-1];
   if (event.keyCode == 67 && index < pages.length - 1) // c
      location.search = pages[index+1];
}

function showPaperMenu(elm){
   if(currentMenu){
      Element.hide(currentMenu);
   }
   currentMenu=getMenu('paperMenu','paperMenu');
   Position.place(currentMenu,elm,1,-76,-4);
   Element.show(currentMenu);   	
}
Event.observe(document, 'keyup', turnPage);

var cleared = false;
function clearNew() {
   if (cleared) return;
   cleared = true;
   new Ajax.Request(PAPER_P+'paper.ajax.php?op=clear_new&id='+(pages.indexOf(page)+1));
   Element.select(document, '.isNew').each(function(e){Element.removeClassName(e,'isNew');});
}

function access(id) {
   (new Image()).src='/paper/access.php?id='+id+'&r='+Math.random();
}

