var Base = {
  hasIdentity: function() {
    var has_identity = false;
    new Ajax.Request('/ajax/hasidentity', {
      asynchronous: false,
      onComplete: function(transport) {
        has_identity = eval(transport.responseText);
      }
    });
    return has_identity;
  }
}

var Reactions = {
  initialize: function() {
    Event.observe($('reaction_submit'), 'click', function(event) {
      if($('reaction_cancel').visible() || Base.hasIdentity()) {
        $('reaction_submit').addClassName('indicator');
        new Ajax.Request('/ajax/reactionregister', {
          parameters: $(this).up('form').serialize(true),
          onComplete: function(transport) {
            $('reaction_submit').removeClassName('indicator');
            eval(transport.responseText);
			Captcha.refresh('/captcha/refresh', $('captchaImage'), $('reaction_captcha'));
          }
        });
      } else {
        new Effect.Scale($('reactionAdd'), 257.83, {
          scaleX: false,
          scaleContent: false,
          afterFinish: function() {
                $('reactionAdd').setStyle({'overflow': 'visible'});
          }
        });
        if($('reactionType').value != 'hasidentity') {
          $('reactionType').value = 'register';
        }
        $('reaction_cancel').show();
      }
      Event.stop(event);
    });
    Event.observe($('reaction_cancel'), 'click', function(event) {
        $('reactionAdd').setStyle({'overflow': 'hidden'});
        new Effect.Scale($('reactionAdd'), 38.79, {
        scaleX: false,
        scaleContent: false,
        afterFinish: function() {
		      $('reactionLogin').hide();
		      $('reactionRegister').show();
              if($('reactionType').value != 'hasidentity') {
		        $('reactionType').value = 'register';
		      }
        }
      });
      $('reaction_cancel').hide();
    });
  }
}

var Captcha = {
  refresh: function(imgsrc, element, input_item) {
  	imgsrc = imgsrc + '/' + Math.round(Math.random()*100000);
    element = $(element);
    var img = new Image();
    img.src = imgsrc;
    img.onload = function() {
      element.src = this.src;
    }
    element.src = imgsrc;
    input_item.value = '';
  }

}

var Vote = {
  clearStars: function() {
    $('stars').down('div.grade').removeClassName('visible');
    $('stars').down('div.points').show();
    $$('#stars div a').each(function(element) {
      element.removeClassName('hovered');
    });
  },
  showStars: function(amount) {
    $('stars').down('div.grade').addClassName('visible');
    $('stars').down('div.points').hide();
    for(i = 0; i < amount; i++) {
      $('stars').down('div a', i).addClassName('hovered');
    }
  },
  sendVote: function(id, value) {
    new Ajax.Request('/ajax/vote', {
      parameters: 'story=' + id + '&vote=' + value,
      onComplete: function(transport) {
        $('stars').down('div.points').setStyle({'width': Math.round(transport.responseText * 30) + 'px'});
      }
    });
  }
}

var Top5 = {
  activate: function(tab) {
    tab = $(tab).up('li.top5');
    activeTab = tab.up('ul.top5').down('li.active');
    tab.up('div.top5').setStyle({'height': tab.up('div.top5').getStyle('height')});
    if(tab != activeTab) {
      activeTab.setStyle({'height': activeTab.getStyle('height')});
      activeTab.removeClassName('active');
      new Effect.Scale(activeTab, (15.0 / parseInt(activeTab.getStyle('height')) * 100), {scaleContent: false, scaleX: false});
      tab.setStyle({'height': 'auto'});
      tab.addClassName('active');
      new Effect.Scale(tab, 100, {scaleFrom: (15.0 / parseInt(activeTab.getStyle('height')) * 100), scaleContent: false, scaleX: false});
    }
  }
}

var TellFriend = {
  renderForm: function(element_for_form,url) {
        Element.update(element_for_form + 'Area',
            Builder.node('form',{id:element_for_form + 'Form',method:'post',action:''},[
               Builder.node('input',{style:'margin-top: 10px;',className:'text',type:'text',value:'E-mail ontvanger',id:'tellfriend_emailadres',name:'tellfriend_emailadres',onFocus:'this.value=\'\'; this.onfocus=null;'}),
               Builder.node('textarea',{id:'tellfriend_message',name:'tellfriend_message',cols:'38', rows:'3',onFocus:'this.value=\'\'; this.onfocus=null;'},['Schrijf hier uw boodschap']),
			    Builder.node('input',{style:'margin-top: 10px;',className:'text',type:'text',value:'Uw naam',id:'tellfriend_name',name:'tellfriend_name',onFocus:'this.value=\'\'; this.onfocus=null;'}),
               Builder.node('input',{className:'text',type:'text',value:'E-mail afzender',id:'tellfriend_fromemailadres',name:'tellfriend_fromemailadres',onFocus:'this.value=\'\'; this.onfocus=null;'}),
               Builder.node('input',{type:'hidden',value:element_for_form,id:'tellfriend_element_name',name:'tellfriend_element_name'}),
               Builder.node('input',{type:'hidden',value:url,id:'tellfriend_url',name:'tellfriend_url'}),               
               Builder.node('input',{style:'margin-right: 6px;',className:'submit-red',type:'button',value:'Send',id:element_for_form + 'tellfriend_submit',name:'tellfriend_submit'})
            ])
        );
        Event.observe($(element_for_form + 'tellfriend_submit'), 'click', function(event) {
            new Ajax.Request('/ajax/tellfriend', {
              parameters: $(element_for_form + 'Form').serialize(true),
              onComplete: function(transport) {
                eval(transport.responseText);
              }
            });
        });
  }
}

function ondom() {
  try {
      Reactions.initialize();
  } catch(ex) {}
  
  addt = $$('div.additional')[0];
  if (addt) {
  	var bigbaner = false;
  	if ((obj = addt.down('iframe')) && obj.offsetWidth > 500) {
  		bigbaner = true;
  	}
  	else 
  		if ((obj2 = addt.down('div')) && obj2.offsetWidth > 500) {
  			bigbaner = true;
  		}
  		else 
  			if ((obj3 = addt.down('object')) && obj3.offsetWidth > 500) {
  				bigbaner = true
  			}
  			else 
  				if ((obj5 = addt.down('a')) && obj5.offsetWidth > 500) {
  					bigbaner = true
  				}
  				else 
  					if ((obj4 = (addt.down('img').offsetWidth == 0 ? addt.down('img', 1) : addt.down('img'))) && obj4.offsetWidth > 500) {
  						bigbaner = true
  					}
  	
  	if (bigbaner) {
  		addt.addClassName('bigbanner');
  	}
  	else {
  		addt.addClassName('smallbanner');
  	}
  	addt.immediateDescendants().collect(function(elem){
  		if (elem.id.match(/dclk_banner_/)) 
  			return elem;
  	}).compact().each(function(ban){
  		ban.hide();
  	});
  }
}

if(navigator.appVersion.match(/MSIE 6/)) {
    Event.observe(window, 'load', function(event) {ondom()});
} else {
    Event.onDOMReady(function() {ondom(); });}


