var RVWtemplate='<div id="revw_#{ID}" class="Event-List" style="background-color: #ffff99">'+
'<h3 style="margin-top: 0px;margin-bottom: 4px; padding:0px;">#{title}</h3>'+
'<p>#{intro}</p>'+
'<p> '+
'&nbsp;&nbsp;<a href="javascript:;" onclick="reviewDialog.deleteItem(\'#{ID}\',\'revw_#{ID}\')">(x)</a> <a href="javascript:;" onclick="reviewDialog.editItem(\'#{ID}\')">&auml;ndern!</a>'+
'&nbsp;&nbsp;<span id="xloading_#{ID}"></span>'+
' </p></div>';

var ReviewDialog=function(){};

ReviewDialog.prototype =  {

handleSuccessPost: function(o){
  var obj=eval('('+o.responseText+')');

  if(obj.stat=='fail' && obj.error=='Bad Image Code!'){
    var elem=$('l_vImageCodP');
    elem.style.color='red';
  	$('l_revw_msg').innerHTML='Cookies muessen ENABLED sein + Nummer muss stimmen!'
    newCaptcha();
    return;  	
  }
  
  if(obj.stat=='fail' ){
    alert('fehler:'+obj.error);
    return;  	
  }
  if($('dlgPostReview'))
    slideInOut($('dlgPostReview'));
  newCaptcha();
  var tpl=new Template(this.template);
  var values={
  	title: $F('revw_title'), 
  	intro: $F('revw_intro'), 
    ID: obj.result.id
  };
  var event=tpl.evaluate(values);
  
  var dummy=document.createElement('div');
  dummy.innerHTML=event;  dummy=dummy.firstChild;
  var el=new YAHOO.util.Element('comment_list'); 
  try {
  	var ID=$F('revw_ID');
  	el.removeChild($('revw_'+ID));
  }
  catch(e){}
  if(el.hasChildNodes())
    el.insertBefore(dummy, $('comment_list').firstChild);
  else
    el.appendChild(dummy);
  //$('comment_list').appendChild(dummy);
  //new Insertion.Top('comment_list', event);
},

handleSuccessGetInfo: function(o){
//console.log(this);
  obj=eval('('+o.responseText+')');
  $('revw_intro').value=obj.result.intro.replace(/<br \/>/gi,"\r");
  $('revw_title').value=obj.result.title;
  $('revw_ID').value=obj.result.ID;

  $('revw_email').value= ZACK.kontakt_email?ZACK.kontakt_email:obj.result.kontakt_email;
  $('revw_name').value= ZACK.person_name?ZACK.person_vorname+' '+ZACK.person_name:obj.result.person_name; 

  $('vImageCodP').value='';
  $('xloading_'+obj.result.ID).innerHTML='&nbsp;'; 
  $('dlgPostReview').style.display='block';
  document.location.href='#postreview';
}

}; // end Class EventDialog

var reviewDialog=Object.extend(new ZACK.dialog('Container', RVWtemplate),new ReviewDialog());

function newReview(elem){
  $('revw_ID').value='';
  elem.style.display='block';
}

function slideInOut(elem){
  $('l_revw_msg').innerHTML=' ';  
  if($('vImageCodP'))
    newCaptcha();
  if(elem.style.display=='none')
    elem.style.display='block';
  else
    elem.style.display='none'; 
  return;
  
}

function newCaptcha(img) {
  var theImage = $(img) || $("captcha_image");
  var parts = theImage.src.split("&");
  theImage.src = parts[0] +  "&set=" + Math.round(Math.random() * 100000);
}

function postReview() {
  
  var params={
    method:'zack.obj.addReview',
    person_name:ZACK.person_name,
    person_vorname:ZACK.person_vorname,
    kontakt_email:ZACK.kontakt_email,
    ID: $F('revw_ID'),
    itemID: $('item_ID')?$F('item_ID'):null,
    title: $('revw_title')?$F('revw_title'):null,
    intro: $('revw_intro')?$F('revw_intro'):null
  }
  if($('vImageCodP'))params.vImageCodP=$F('vImageCodP');
  params.kontakt_email= ZACK.kontakt_email?ZACK.kontakt_email:$F('revw_email');
  params.person_name= ZACK.person_name?ZACK.person_vorname+' '+ZACK.person_name:$F('revw_name'); 
  params.itemUrl=window.location.href;
  var elem=$('l_revw_title');
  if(!params.title){
    elem.style.color='red';
    return false;
  }
  elem.style.color='#999';
 
  elem=$('l_revw_intro');
  if(!params.intro){
    elem.style.color='red';
    return false;
  }
  elem.style.color='#999';
  if($('revw_name')){
    elem=$('l_revw_name');
    if(!params.person_name){
      elem.style.color='red';
      return false;
    }
    elem.style.color='#999';
  }

  if($('revw_email')){
    elem=$('l_revw_email');
    if(!params.kontakt_email || !emailCheck(params.kontakt_email)){
      elem.style.color='red';
      $('revw_email').focus();
      return false;
    }
    elem.style.color='#999';	
  }

  elem=$('l_vImageCodP');
  if($('vImageCodP')&& !params.vImageCodP){
    elem.style.color='red';
    return false;
  }
  elem.style.color='#999';

  return reviewDialog.postItem(params);
}
