function createXMLHttp() {
        if(typeof XMLHttpRequest != "undefined") { // для браузеров аля Mozilla
          //alert("XMLHttpRequest library for mozilla!");
          return new XMLHttpRequest();
        } else if(window.ActiveXObject) { // для Internet Explorer (all versions)
          var aVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0",
                   "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp",
                   "Microsoft.XMLHttp"
                   ];
          for (var i = 0; i < aVersions.length; i++) {
            try { //
              var oXmlHttp = new ActiveXObject(aVersions[i]);
              //alert(aVersions[i]); 
              return oXmlHttp;
            } catch (oError) { }
          }
          throw new Error("Невозможно создать объект XMLHttp.");
        }
      }
      
      var oXmlHttp = createXMLHttp();

function sendComment()
{
    document.getElementById('commentSending').style.display='block';
    document.getElementById('commentBtn').disabled='disabled';
    document.getElementById('commentSended').style.display='none';
    document.getElementById('commentWrongNameEmpty').style.display='none';
    document.getElementById('commentWrongNameLong').style.display='none';
    document.getElementById('commentWrongTextEmpty').style.display='none';
    document.getElementById('commentWrongTextLong').style.display='none';
    document.getElementById('commentWrongServer').style.display='none';
      
    //document.getElementById('commentWrongCode').style.display='node';
    
    var params = {};
    
   // params['hash']=document.getElementById('commentHash').value;
    //params['code']=document.getElementById('hashCode').value;
    
    
    params['date']=document.getElementById('commentDate').value;
    params['typeId']=document.getElementById('commentTypeId').value;
    params['typeName']=document.getElementById('commentTypeName').value;
    params['id']=document.getElementById('commentID').value;
    params['name']=document.getElementById('commentName').value;
    params['email']=document.getElementById('commentEmail').value;
    
    params['body']=document.getElementById('commentText').value;
    params['titleName']=document.getElementById('commentTitleName').value;
    params['titlePerson']=document.getElementById('commentTitlePerson').value;
    params['city']=document.getElementById('commentCity').value;
    
    var url = '/comment-send';
    var myAjax = new Ajax.Request(
        url,
        {
            method: 'post',
            parameters: params,
            onComplete: function() {
              
                commentSended();
                switch(myAjax.transport.responseText) {
                    case 111: case '111':
                        // success
                        document.getElementById('commentSended').style.display='block';
                        document.getElementById('commentText').value='';
                    break;
                    case 221: case '221':
                         document.getElementById('commentWrongNameEmpty').style.display='block';
                    break;
                    case 222: case '222':
                        document.getElementById('commentWrongNameLong').style.display='block';
                    break;
                    case 231: case '231':
                        document.getElementById('commentWrongTextEmpty').style.display='block';
                    break;
                    case 232: case '232':
                        document.getElementById('commentWrongTextLong').style.display='block';
                    break;
                    case 251: case '251':
                        document.getElementById('commentWrongCityLong').style.display='block';
                    break;
                   // case 241: case '241':
                   //     document.getElementById('commentWrongCode').style.display='block';
                   //     parent.codeFrame.location.href ='/code/z/hash/new';
                   //break;
                    default:
                        // server error
                        document.getElementById('commentWrongServer').style.display='block';
                        _gaq.push(['_trackEvent', 'ERROR', 'Comments', '211']);
                    break;
                }
            }
        }
    );
}

function commentSended()
{
   document.getElementById('commentSending').style.display='none';
   document.getElementById('commentBtn').disabled='';
}

function textLengthCtrl(obj, lenghtIndicator, maxLength)
{

    if (obj.value.length == 0) lenghtIndicator.style.visibility='hidden';
    
    if (obj.value.length > 0 && lenghtIndicator.style.visibility=='hidden') {
        lenghtIndicator.style.visibility='visible';
        lenghtIndicator.style.width = obj.offsetWidth + 'px';
        }
    
    if (obj.value.length < maxLength)
    {
        
        //lenghtIndicator.style.width = (obj.value.length * 100 / maxLength) + '%';
        lenghtIndicator.style.width = (obj.value.length * obj.offsetWidth / maxLength) + 'px';
        
        //lenghtIndicator.innerHTML = (obj.value.length)  + '|' + (obj.value.length * 100 / maxLength) + '%';
        lenghtIndicator.style.backgroundColor='#ccc';
    }
    
    if (obj.value.length == maxLength) {
        lenghtIndicator.style.width = obj.offsetWidth + 'px';
        lenghtIndicator.style.backgroundColor='#ccc';
    }
    
    if (obj.value.length > maxLength) { 
        lenghtIndicator.style.width = obj.offsetWidth + 'px';
        lenghtIndicator.style.backgroundColor='Red';
        
        //для textarea сообщение о "Сказать больше"
        obj.id == 'commentText' ? document.getElementById('commentMoreText').style.display='block' : '';
    }
}
