﻿// JavaScript Document
/* LOADING FUNCTIONS */
AR_ECO.addEvent(window, "load", slideColumns);
AR_ECO.addEvent(window, "load", showImageNews);
//AR_ECO.addEvent(window, "load", coverPopup);
AR_ECO.addEvent(window, "load", changeStory); 
AR_ECO.addEvent(window, "load", opacityInt); 
AR_ECO.addEvent(window, "load", displayTab); 
/* END LOADING FUNCTIONS */
/* COLUMNS */
var opinionAnimation;
function slideColumns(){  
  columns_circles = AR_ECO.getElementsByClassName('columns_dot', 'div');  
  columns_circles = columns_circles.length
  if (AR_ECO.$("columns_page_list"))
  AR_ECO.$("columns_page_list").style.display= "block";
  AR_ECO.addEvent(AR_ECO.$("columns_up"), "click", function () {scrollColumns(-1);});
  AR_ECO.addEvent(AR_ECO.$("columns_down"), "click", function () {scrollColumns(1);});  
}
function animateOpinionPane(){
    var anim = opinionAnimation;
    if (anim != null) {
        // time since start in millis
        var dt = ((new Date()).getTime() - anim.startTime);
        
        // t is 0 at start, 1 at end
        var t = dt / anim.duration;

        var a = anim.startValue, b = anim.endValue;
        var value;
        if (t < 1) {
            // animation running - do a linear interpolate between 
            // start and end value. Could use a "slow in slow out" instead.
            value = a + t * (b - a);
            // Restart the animation
            setTimeout("animateOpinionPane()", 20);
        } else {
            // animation ended - ensure that the animation 
            // reaches the end value
            value = b;
            // dont restart the timer.
            opinionAnimation = null;
        }        
        // Set the value in the DOM
        anim.setValue(anim.elem, value);
    }
}
function showOpinionPage(index) {
    var elem = AR_ECO.$("columns_content_list");    
    // We use pixels rather than em 
    var viewHeight = AR_ECO.$('columns_content').offsetHeight; // 180 pixels per page     
    var anim = {
        // element to animate
        elem: elem,
        // start value
        startValue: parseInt(elem.style.top) || 0,
        // end value
        endValue: -viewHeight * index,
        // start time (now)
        startTime: (new Date()).getTime(),
        // duration (millis)
        duration: 300,
        // function that copies animation value out to the DOM
        setValue: function(elem, val) { elem.style.top = val + "px"; }
    };
    if (opinionAnimation == null) {
        // Only restart the time if its not already running
        setTimeout("animateOpinionPane()", 20);
    }
    opinionAnimation = anim;
}
var currentOpinionPage = 0;
function scrollColumns(direction) {
    var newVal = currentOpinionPage + direction;
    if (newVal >= 0 && newVal < columns_circles) {
        currentOpinionPage = newVal;
        showOpinionPage(newVal);
        updateOpinionButtons();
    }
}
function updateOpinionButtons() {
    var pos = currentOpinionPage;
    // Update the up button
    AR_ECO.$("columns_up").className = (pos == 0 ? "columns_up disabled" : "columns_up");
    // Update the down button
    AR_ECO.$("columns_down").className = (pos == (columns_circles-1) ? "columns_down disabled" : "columns_down");
    // Show the selected page
    for (var i = 0; i < columns_circles; i++) {
        AR_ECO.$("columns_" + i).className = (pos == i ? "columns_dot selected" : "columns_dot");
    }
}
/* END COLUMNS */
/* TOP STORIES */
var id;
var opacity=100;
var opacityin=0;
var timer;
var timeout;
var counter=0;
function changeStory(){  
  for(i=1; i<=4; i++){
    if (AR_ECO.$("img" + i)){
    var element = AR_ECO.$("img" + i);
    addElementEvent(element, i)    
    }
  }
}
function addElementEvent(element, i){  
  AR_ECO.addEvent(element, "mouseover", function () {showMe(i);});
  AR_ECO.addEvent(element, "focus", function () {showMe(i);});
}
function showMe(elm){  
  if (timeout){
    clearInterval(timeout);  
    if (timer)
      clearInterval(timer);
  }
  selImg = AR_ECO.$("img" + elm);
     obj = AR_ECO.$("news" + elm); 
  frame = "red_frame" + elm;        
  for (i=1; i <= 4; i++){    
    addTransparency("news" + i, 100);
    AR_ECO.$("news" + i).style.visibility = "hidden";      
    addTransparency("red_frame" + i, 0);
  }      
  obj.style.visibility = "visible";        
  addTransparency(frame, 100);
}
function opacityInt(id){
  if (isNaN(id))
  id=1;      
  addTransparency("red_frame" + id, 100);
  if(AR_ECO.$("img" + id) && AR_ECO.$("news" + id) ){
  if (counter <=5)
  timeout = setTimeout(function () {startFade(id);}, 5000);    
  counter++;    
  }
}
function startFade(id){
    timer = setInterval(function () {fade(id);}, 50);
}
//change the opacity for different browsers
function fade(id){    
  opacity -= 2;
  opacityin += 2;
  var object = "news" + id;
  var frame = "red_frame" + id;
  var nextFrame=parseInt(id + 1);  
  if (id==4){
    AR_ECO.$("news1").style.zIndex=0;
    removeTransparency("news1", opacityin);
    var frame2 = "red_frame1"  
    AR_ECO.$("news1").style.zIndex = "4";
    AR_ECO.$("news4").style.zIndex = "0";
  }else{
    var frame2 = "red_frame" + nextFrame
    AR_ECO.$("news" +  nextFrame).style.zIndex = "4";
    AR_ECO.$(object).style.zIndex = "0";
  }
  removeTransparency(object, opacity);
  removeTransparency("news" +  nextFrame, opacityin);
  removeTransparency(frame, opacity);
  removeTransparency(frame2, opacityin) 
  if (opacity==0){    
    addTransparency("red_frame" + id, 0);
    addTransparency(frame, 0);
    addTransparency(frame2, 100);
    addTransparency(object, 0);
    addTransparency("news" +  nextFrame, 100);
    AR_ECO.$(object).style.zIndex = "0";
    opacity=100;
    opacityin=0;
    clearInterval(timeout);
    clearInterval(timer);    
    if (id==4){  id=0; }
    id +=1
    opacityInt(id)
  }      
}
function addTransparency(elemOpa, opa){
  if (AR_ECO.$(elemOpa)){
    var elmtochange = AR_ECO.$(elemOpa).style;
    elmtochange.filter ="alpha(opacity=" + opa + ")";
    elmtochange.opacity = opa;
    elmtochange.MozOpacity = opa;
  }
}
function removeTransparency(elemOpa, opa){
  if (AR_ECO.$(elemOpa)){
    var elmtochange = AR_ECO.$(elemOpa).style;
    elmtochange.filter="alpha(opacity=" + opa + ")";
    elmtochange.opacity= opa/100;
    elmtochange.MozOpacity = opa/100;
  }
}
/* END TOP STORIES */

/* MOST POPULAR */
var numberoftabs=4
function displayTab(){  
  for(i=1; i<=numberoftabs; i++){
    if (AR_ECO.$("header" + i)){
      var tab = AR_ECO.$("header" + i);
      addTabEvent(tab, i)  
    }  
  }
}
function addTabEvent(tab, i){  
  AR_ECO.addEvent(tab, "click", function () {showTab(i);});
}
function showTab(elm){
  selected_tab = AR_ECO.$("content" + elm)
  selected_header = AR_ECO.$("header" + elm)  
  for (i=1; i <= numberoftabs; i++)
     {
      AR_ECO.$("content" + i).className = "hide";  
      AR_ECO.$("header" + i).className = "";  
    }
  selected_tab.className = "show";
  selected_header.className = "selected"; 
}
/* END MOST POPULAR */
/* NEWSPAPERFRONTPAGE 
function coverPopup(){
  AR_ECO.addEvent(AR_ECO.$("magnifier"), "click", openCoverpage);
}
function openCoverpage(e){  
  coverpage=window.open(AR_ECO.$("magnifier").href,"cover","statusbar=0,resizable=0,menubar=0,locationbar=0,toolbar=0,scrollbars=1,width=540,height=750")
  AR_ECO.preventDefault(e);  
    coverpage.focus();
}*/
/* END NEWSPAPERFRONTPAGE */
/* IMAGEBASEDNEWS */
var showImageNews_timer;
var showImageNews_scdtimer;
var showImageNews_timer2;
var showImageNews_scdtimer2;
var showImageNews_timer3;
var showImageNews_scdtimer3;
var showImageNews_timer4;
var showImageNews_scdtimer4;
var position=-20;
var position2=-20;
var position3=-20;
var pxvalue = 20;
var speed =30;

function showImageNews(){  
  AR_ECO.addEvent(AR_ECO.$("liBox1"), "mouseover", function () {slide(1, "on");});
  AR_ECO.addEvent(AR_ECO.$("liBox1"), "mouseout", function () {slide(1, "off");});
  AR_ECO.addEvent(AR_ECO.$("liBox2"), "mouseover", function () {slide2(2, "on");});
  AR_ECO.addEvent(AR_ECO.$("liBox2"), "mouseout", function () {slide2(2, "off");});
  AR_ECO.addEvent(AR_ECO.$("liBox3"), "mouseover", function () {slide3(3, "on");});
  AR_ECO.addEvent(AR_ECO.$("liBox3"), "mouseout", function () {slide3(3, "off");});
  AR_ECO.addEvent(AR_ECO.$("liBox4"), "mouseover", function () {slide3(4, "on");});
  AR_ECO.addEvent(AR_ECO.$("liBox4"), "mouseout", function () {slide3(4, "off");});
}
function slide_down(elm){  
  var endpos = AR_ECO.$('head1').offsetHeight;
  if ((position>=-20) && (position<endpos))
    position += pxvalue;            
  if (position>=endpos){   
      position = endpos;
    clearInterval(showImageNews_timer);  
  }
    AR_ECO.$("slide" + elm).style.top =  position + "px";
}
function slide_up(elm){    
  var endpos = AR_ECO.$('head1').offsetHeight;
  if ((position<=endpos) && (position>-20))
    position -= pxvalue;    
  if (position<=-20){
      position = -20;
    clearInterval(showImageNews_scdtimer);  
    }
    AR_ECO.$("slide" + elm).style.top =  position + "px";
}
function slide(elm, status) {  
  slideElm = AR_ECO.$("slide" + elm)
    if (status == 'on'){
  clearInterval(showImageNews_scdtimer);  
  showImageNews_timer = setInterval(function () {slide_down(elm);}, speed);
  }
  else if (status =='off'){
  clearInterval(showImageNews_timer);
  showImageNews_scdtimer = setInterval(function () {slide_up(elm);}, speed);
  }
}
function slide_down2(elm2) {  
  var endpos2 = AR_ECO.$('head2').offsetHeight;
  if ((position2>=-20) && (position2<endpos2))
    position2 += pxvalue;            
  if (position2>=endpos2)
  {
      position2 = endpos2;
    clearInterval(showImageNews_timer2);  
  }
    AR_ECO.$("slide" + elm2).style.top =  position2 + "px";
}
function slide_up2(elm2) {    
  var endpos2 = AR_ECO.$('head2').offsetHeight;
  if ((position2<=endpos2) && (position2>-20))
    position2 -= pxvalue;    
  if (position2<=-20){
      position2 = -20;
    clearInterval(showImageNews_scdtimer2);  
    }
    AR_ECO.$("slide" + elm2).style.top =  position2 + "px";
    //ADS.log.writeRaw("position2: " + elm.style.top);    
}
function slide2(elm2, status2) {  
  slideElm2 = AR_ECO.$("slide" + elm2)
    if (status2 == 'on'){
  clearInterval(showImageNews_scdtimer2);  
  showImageNews_timer2 = setInterval(function () {slide_down2(elm2);}, speed);
  }
  else if (status2 =='off'){
  clearInterval(showImageNews_timer2);
  showImageNews_scdtimer2 = setInterval(function () {slide_up2(elm2);}, speed);
  }
}

function slide_down3(elm3) {  
  var endpos3 = AR_ECO.$('head3').offsetHeight;
  if ((position3>=-20) && (position3<endpos3))
    position3 += pxvalue;            
  if (position3>=endpos3)
  {
      position3 = endpos3;
    clearInterval(showImageNews_timer3);  
  }
    AR_ECO.$("slide" + elm3).style.top =  position3 + "px";
}
function slide_up3(elm3) {    
  var endpos3 = AR_ECO.$('head3').offsetHeight;
  if ((position3<=endpos3) && (position3>-20))
    position3 -= pxvalue;    
  if (position3<=-20){
    position3 = -20;
    clearInterval(showImageNews_scdtimer3);  
    }
    AR_ECO.$("slide" + elm3).style.top =  position3 + "px";
}
function slide3(elm3, status3) {  
  slideElm3 = AR_ECO.$("slide" + elm3)
    if (status3 == 'on'){
  clearInterval(showImageNews_scdtimer3);  
  showImageNews_timer3 = setInterval(function () {slide_down3(elm3);}, speed);
  }
  else if (status3 =='off'){
  clearInterval(showImageNews_timer3);
  showImageNews_scdtimer3 = setInterval(function () {slide_up3(elm3);}, speed);
  }
}


/*Start my stuff*/
function slide_down4(elm4) {  
  var endpos4 = AR_ECO.$('head4').offsetHeight;
  if ((position4>=-20) && (position4<endpos4))
    position4 += pxvalue;            
  if (position4>=endpos4)
  {
      position4 = endpos4;
    clearInterval(showImageNews_timer4);  
  }
    AR_ECO.$("slide" + elm4).style.top =  position4 + "px";
}
function slide_up4(elm4) {    
  var endpos4 = AR_ECO.$('head4').offsetHeight;
  if ((position4<=endpos4) && (position4>-20))
    position4 -= pxvalue;    
  if (position4<=-20){
    position4 = -20;
    clearInterval(showImageNews_scdtimer4);  
    }
    AR_ECO.$("slide" + elm4).style.top =  position4 + "px";
}
function slide4(elm4, status4) {  
  slideElm4 = AR_ECO.$("slide" + elm4)
    if (status4 == 'on'){
  clearInterval(showImageNews_scdtimer4);  
  showImageNews_timer4 = setInterval(function () {slide_down4(elm4);}, speed);
  }
  else if (status4 =='off'){
  clearInterval(showImageNews_timer4);
  showImageNews_scdtimer4 = setInterval(function () {slide_up4(elm4);}, speed);
  }
}

/* END IMAGEBASEDNEWS */  

