var rating=0;
var proposal_form="";

window.addEvent('domready', function(){
  disable_not_js_links('body');
  $('left').setStyle('overflow','hidden');
  setIframeHeight();
  initAnswer();
  initTips();
});

function initAnswer(){
  try{
    $('comments').setStyle('height','0px');
    $('comments').setStyle('display','none');
    $('comments').setStyle('overflow','hidden');
  }
  catch(error){}
  try{
    $('rating').setStyle('height','0px');
    $('rating').setStyle('display','none');
    $('rating').setStyle('overflow','hidden');
  }
  catch(error){}
}

function initTips(){
  new Tips($$('div.txt_interface_intro span.more_info'));
}

function set_form_ask_values(){
  if(trim(document.aragob_form.uq.value)!=''){
    document.aragob_form.action.value='question';
    var ajax=new Ajax('./index.php',{data:{'action':'question',
                                           'uq':trim(document.aragob_form.uq.value),
                                           'reqtype':'ajax'}});
    ajax.addEvent('onComplete', function(response){
      dynamic_elements_recover(response);
      initAnswer();
      disable_not_js_links('#dynamic');
    });
    dynamic_elements_fade(ajax);
  }
}

function set_form_tmpl_values(handle,proposal_id){
  var ajax=new Ajax('./index.php',{data:{'action':'answer',
                                         'handle':handle,
                                         'proposal_id':proposal_id,
                                         'reqtype':'ajax'}});
  ajax.addEvent('onComplete', function(response){
    dynamic_elements_recover(response);
    initAnswer();
    disable_not_js_links('#dynamic');
  });
  dynamic_elements_fade(ajax);
}

function send_new_proposal(){
  if(trim(document.new_proposal.title.value)!='' && trim(document.new_proposal.summary.value)!=''){
    var ajax=new Ajax('./index.php',{data:{'action':'new_proposal',
                                           'title':trim(document.new_proposal.title.value),
                                           'summary':trim(document.new_proposal.summary.value),
                                           'publish_identity':$('proposal_publish_identity').getProperty('checked'),
                                           'reqtype':'ajax'}});
    ajax.addEvent('onComplete', function(response){
      response=response.split("|");
      $('left').setHTML(response[0]);
      proposal_form=response[1];
      disable_not_js_links('#left');
      dynamic_left_recover();
    });
    dynamic_left_fade(ajax);
  }
}

function send_new_comment(proposal_id){
  var ajax=new Ajax('./index.php',{data:{'action':'send_comment',
                                         'proposal_id':proposal_id,
                                         'rating':$E('input[name=rating]').getValue(),
                                         'comment':trim($('comment').getProperty('value')),
                                         'publish_identity':$('rating_publish_identity').getProperty('checked'),
                                         'reqtype':'ajax'}});
  ajax.addEvent('onComplete', function(response){
    $('rating').setHTML(response);
    view_rating();
  });
  hide_rating(ajax);
}

function go_back(){
  var ajax=new Ajax('./index.php',{data:{'action':'back',
                                         'reqtype':'ajax'}});
  ajax.addEvent('onComplete', function(response){
    dynamic_elements_recover(response);
    initAnswer();
    disable_not_js_links('#dynamic');
  });
  dynamic_elements_fade(ajax);
}

function hide_rating(ajax){
  $('rating').setStyle('overflow','hidden');
  var effects = new Fx.Styles($('rating'), {duration: 750});
  var dim=$('rating').getSize();
  effects.start({height:[dim.scrollSize.y,0]});
  effects.addEvent('onComplete',function(){
    $('rating').setStyle('display','none');
    ajax.request();
  });
}

function view_comments(){
  if($('comments').getStyle('display')=='none'){
    $('comments').setStyle('display','block');
    var effects = new Fx.Styles($('comments'), {duration: 750});
    var dim=$('comments').getSize();
    effects.start({height:[0,dim.scrollSize.y]}).chain(function(){$('comments_arrow').setProperty('src','img/arrow_up.gif')});;
  }
  else{
    $('comments').setStyle('overflow','hidden');
    var effects = new Fx.Styles($('comments'), {duration: 750});
    var dim=$('comments').getSize();
    effects.start({height:[dim.scrollSize.y,0]}).chain(function(){$('comments').setStyle('display','none');$('comments_arrow').setProperty('src','img/arrow_down.gif')});
  }
}

function view_rating(){
  if($('rating').getStyle('display')=='none'){
    $('rating').setStyle('display','block');
    var effects = new Fx.Styles($('rating'), {duration: 750});
    var dim=$('rating').getSize();
    effects.start({height:[0,dim.scrollSize.y]}).chain(function(){$('rating_arrow').setProperty('src','img/arrow_up.gif')});
  }
  else{
    $('rating').setStyle('overflow','hidden');
    var effects = new Fx.Styles($('rating'), {duration: 750});
    var dim=$('rating').getSize();
    effects.start({height:[dim.scrollSize.y,0]}).chain(function(){$('rating').setStyle('display','none');$('rating_arrow').setProperty('src','img/arrow_down.gif')});
  }
}

function disable_not_js_links(id){
  $$(id+' a').each(function(a){
    if(a.getProperty('target')!='_blank' && a.getProperty('target')!='_parent'){
      var onclk=a.getProperty('onclick');
      a.href="javascript:"+onclk;
      a.setProperty('onclick','');
    }
  });
}

function dynamic_elements_fade(ajax){
  var effects3 = new Fx.Styles($('dynamic'), {duration: 750});
  effects3.start({opacity:[1,0]});
  effects3.addEvent('onComplete',function(){
    ajax.request();
    $E('body').setStyle('cursor','wait');
    $('loading').setOpacity(0);
    $('loading').setStyle('display','inline');
    $('loading').setStyle('position','absolute');
    $('loading').setStyle('top',$('dynamic').getTop() + 10);
    $('loading').setStyle('left',($('dynamic').getSize().scrollSize.x / 2)-($('loading').getSize().scrollSize.x / 2));
    var effects4=new Fx.Styles($('loading'), {duration:750});
    effects4.start({opacity:[0,1]});
  });
}

function dynamic_elements_recover(resp){
  $('loading').setStyle('display','none');
  $E('body').setStyle('cursor','default');
  var effects3 = new Fx.Styles($('dynamic'), {duration: 750});
  $('dynamic').setHTML(resp);
  setIframeHeight();
  effects3.start({opacity:[0,1]});
}

function left_recover(){
  $('left').setOpacity(0);
  $('left').setStyle('display','block');
  var effects3 = new Fx.Styles($('left'), {duration: 750});
  effects3.start({opacity:[0,1]});
}

function dynamic_left_fade(ajax){
  var dim = $('left').getSize();
  var effects = new Fx.Styles($('left'), {duration: 750});
  effects.start({height:[dim.scrollSize.y,5]});
  effects.addEvent('onComplete',function(){
    ajax.request();
  });
}

function dynamic_left_recover(){
  var dim = $('left').getSize();
  var effects = new Fx.Styles($('left'), {duration: 750});
  effects.start({height:[5,dim.scrollSize.y]});
}

function create_more_proposals(){
  var dim = $('left').getSize();
  var effects = new Fx.Styles($('left'), {duration: 750});
  effects.start({height:[dim.scrollSize.y,1]});
  effects.addEvent('onComplete',function(){
    $('left').setHTML(proposal_form);
    var dim2 = $('left').getSize();
    var effects2 = new Fx.Styles($('left'), {duration: 750});
    effects2.start({height:[5,dim2.scrollSize.y]});
  });
}

function trim(cadena)
{
  for(i=0; i<cadena.length;){
    if(cadena.charAt(i)==" ")cadena=cadena.substring(i+1, cadena.length);
    else break;
  }
  for(i=cadena.length-1; i>=0; i=cadena.length-1){
    if(cadena.charAt(i)==" ")cadena=cadena.substring(0,i);
    else break;
  }
  return cadena;
}

function setIframeHeight(){
  var URL_HIDDEN_IFRAME='http://aragonparticipa.aragon.es/resize_q_go.php';
  try{
    var height=window.getScrollHeight();
    if(!height)height=$E('body').getSize().scrollSize.y;
    if(!height)height=1000;
    height=height+50;
    $('hiddenIframe').setProperty('src',URL_HIDDEN_IFRAME + '?height=' + height);
  }
  catch(error){
    var height=$E('body').getSize().scrollSize.y;
    if(!height)height=1000;
    height=height+50;
    $('hiddenIframe').setProperty('src',URL_HIDDEN_IFRAME + '?height=' + height);
  }
}


