function escapeQuote(s){
  return s.replace(/\"/g,"\'").replace(/\\/g,'');
}
function vote(){
    var all = $('polls');
    var polls = all.select('.poll');
    var allSelected = true;
    var re = '';
    var id = all.down('div.pollid').innerHTML; 
    polls.each(function(poll){
        re += '"'+escapeQuote(poll.down('div').innerHTML)+'";"';
        var ans = poll.down('.answers');
        var tmp = '';
        if (ans.hasClassName('radio')) {
          ans.select('input').each(function(a){
            if (a.checked){
              tmp = a.title;
            }
          });
          if (tmp){
            re += escapeQuote(tmp)+'";';
          }else{
            allSelected = false;
          }
        }
        if (ans.hasClassName('select')) {
          ans.select('option').each(function(a){
            if (a.selected){
              tmp = a.title;
            }
          });
          if (tmp){
            re += escapeQuote(tmp)+'";';
          }else{
            allSelected = false;
          }
        }
        if (ans.hasClassName('textarea')) {
          if (ans.value == ''){
            allSelected = false;
          }else{
            re += escapeQuote(ans.value)+'";';
          }
        }
    });
  if (allSelected){ 
    new Ajax.Request('/voteplus/vote.php', {   
      method: 'post',
      parameters:{
        data: re,
        pollid: id,
		'u-login': ($('userlogin') != undefined)?$('userlogin').innerHTML:''
      },
      onSuccess: function(transport) {
         switch (transport.responseText){
           case '0':
             $('polls').update('<p><b>Вы успешно проголосовали!</b></p>');
           break;
           case '1':
             alert('Вы хакер? ;)');
           break;
           case '2':
             $('polls').update('<p><b>Голос не засчитан</b></p>');
             alert('Вы уже проголосовали раньше.');
           break;
           case '3':
             $('polls').update('<p><b>Голос не засчитан</b></p>');
             alert('Вы не зарегистрированны.');
           break;
           default:
             alert('Приносим свои извинения. Возникла не предвиденная ошибка, попробуйте проголосовать позднее.'+"\n\n"+transport.responseText);
         }
      } 
    });  
	}else{
    alert('Не все необходимые поля заполнены');
  }
}

