function CreateRequest(){var Request = false;if(window.XMLHttpRequest){Request=new XMLHttpRequest();}else if (window.ActiveXObject){try{Request=new ActiveXObject("Microsoft.XMLHTTP");}catch(CatchException){Request = new ActiveXObject("Msxml2.XMLHTTP");}}if(!Request){alert("Невозможно создать XMLHttpRequest");}return Request;}

function SendRequest(r_method, r_path, r_args, r_handler) {var Request=CreateRequest();if(!Request){return;}Request.onreadystatechange=function(){if(Request.readyState==4){r_handler(Request);}};if(r_method.toLowerCase()=="get"&&r_args.length>0)r_path+="?"+r_args;Request.open(r_method,r_path,true);if(r_method.toLowerCase()=="post"){Request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Windows-1251");Request.send(r_args);}else{Request.send(null);}}

function addHandler(object, event, handler)
{
  if (typeof object.addEventListener != 'undefined')
    object.addEventListener(event, handler, false);
  else if (typeof object.attachEvent != 'undefined')
    object.attachEvent('on' + event, handler);
  else
    throw "Incompatible browser";
}

function removeHandler(object, event, handler)
{
  if (typeof object.removeEventListener != 'undefined')
    object.removeEventListener(event, handler, false);
  else if (typeof object.detachEvent != 'undefined')
    object.detachEvent('on' + event, handler);
  else
    throw "Incompatible browser";
}

function setGlobalOnLoad(f){
   var root = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null;
   if (root){
      if(root.addEventListener) root.addEventListener("load", f, false);
      else if(root.attachEvent) root.attachEvent("onload", f);
   } else {
      if(typeof window.onload == 'function') {
         var existing = window.onload;
         window.onload = function() {
            existing();
            f();
         }
      } else {
         window.onload = f;
      }
   }
}

function closure(f, n){return function(r){return f(n, r);};}

function $(name){return document.getElementById(name);}

var sbin = null;

setGlobalOnLoad(function()
{
  setDefaultValues(document.getElementsByTagName('input'));
  setDefaultValues(document.getElementsByTagName('textarea'));

  $('icy').onclick = function()
  {
    $('in').className = "";
    $('icy').className = "";
    $('icn').className = "gr";
    $('insh').disabled = false;
    $('inen').value = "1";
    return false;
  };

  $('icn').onclick = function()
  {
    $('in').className = "gr";
    $('icy').className = "gr";
    $('icn').className = "";
    //$('insh').value = "";
    $('insh').disabled = true;
    $('inen').value = "0";
    return false;
  };

  $('ccy').onclick = function()
  {
    $('cs').className = "";
    $('ccy').className = "";
    $('ccn').className = "gr";
    $('cust').disabled = false;
    $('csen').value = "1";
    return false;
  };

  $('ccn').onclick = function()
  {
    $('cs').className = "gr";
    $('ccy').className = "gr";
    $('ccn').className = "";
    //$('cust').value = "";
    $('cust').disabled = true;
    $('csen').value = "0";
    return false;
  };
  
  
  $('sw').onclick = function()
  {
    $('mb').style.display = "block";
    
    if
    (
      $('orco').value == "" || $('orci').value == "" || 
      $('dsco').value == "" || $('dsci').value == "" || 
      $('cgnm').value == "" ||
      
      $('orco').style.color == "#808080" || $('orci').style.color == "#808080" || 
      $('dsco').style.color == "#808080" || $('dsci').style.color == "#808080" || 
      $('cgnm').style.color == "#808080"
    )
    {
      $('ms').innerHTML = '<div class="mh" id="mh"><br />Заполните, пожалуйста, все поля<br /><br /></div><div><input class="mu" id="mc" type="button" value="Закрыть" /></div>';
      $('mc').onclick = function()
      {
        $('mb').style.display = "none";
      }
      
      return false;
    }
    else
    {
      $('ms').innerHTML = '<div class="mh" id="mh">Заполните информацию о себе<br /></div><div class="mt r" id="mt"><div><label for="clnm">Ваше имя</label> <input type="text" id="clnm" value="" /></div><div><label for="clem">Электронная почта</label> <input type="text" id="clem" value="" /></div><div><label for="clph">Телефон</label> <input type="text" id="clph" value="" /></div></div><div><input class="mu" id="md" type="button" value="Продолжить" /> <input class="mu" id="mc" type="button" value="Отменить" /></div>';
      
      $('md').onclick = function()
      {
        var fields = new Array("orco", "orci", "cgnm", "cgwg", "cgct", "cglt", "cgwt", "cghg", "inen", "insh", "csen", "cust", "dsco", "dsci", "clnm", "clem", "clph", "cgdt", "cgex");
        var params = "";
        for(var i = 0; i < fields.length; i++)
        {
          if(params != "") params += "&";
          params += fields[i] + "=" + ($(fields[i]).style.color != "#808080" ? $(fields[i]).value : "");
        }
        
        SendRequest("post", "mailer.php", params, function(r)
        {
          if(r.responseText == "OK")
          {
            $('ms').innerHTML = '<div class="mh" id="mh"><br />Сообщение отправлено<br /><br /></div><div><input class="mu" id="mc" type="button" value="Закрыть" /></div>';
          }
          else
          {
            $('ms').innerHTML = '<div class="mh" id="mh"><br />Отправка не удалась<br /><br /></div><div><input class="mu" id="mc" type="button" value="Закрыть" /></div>';
          }
          
          $('mc').onclick = function()
          {
            $('mb').style.display = "none";
          };
        });
        
        $('ms').innerHTML = '<div class="mh" id="mh"><br />Подождите...</div>';
        clearInterval(sbin);
      };
      
      $('mc').onclick = function()
      {
        $('mb').style.display = "none";
        clearInterval(sbin);
      };
      
      sbin = setInterval(function()
      {
        $('md').disabled = $('clnm').value == "" || $('clem').value == "" || $('clph').value == "";
      }, 100);
      
      $('md').disabled = true;
      
    }
    
    return false;
  };

});


function setDefaultValues(inp)
{
  for(var i=0;i<inp.length;i++)
  {
    if(inp[i].type=='text' || inp[i].type=='textarea')
    {
      inp[i].setAttribute('rel',inp[i].defaultValue);
      inp[i].style.color="#808080";
      
      inp[i].onfocus=function()
      {
        try{if($(this.id + 'd').innerHTML != "") $(this.id + 'd').style.display="block";}catch(e){}
        
        if(this.value==this.getAttribute('rel')){this.value='';this.style.color="#000000";}
        else{return false;}
      }
      
      inp[i].onblur=function()
      {
        try{$(this.id + 'd').style.display="none"}catch(e){}
        
        /*if(this.value==''){this.value=this.getAttribute('rel');this.style.color="#808080";}
        else{return false;}*/
      }
      
      try
      {
        $(inp[i].id + 'd').onmousedown = closure(function(el, ev){/*if(!ev)ev=window.event;if(ev.target)targ = ev.target;else if(ev.srcElement)targ = ev.srcElement;if(targ.nodeType==3)targ=targ.parentNode;if(targ.onclick)targ.onclick();*/if(navigator.appName=="Microsoft Internet Explorer"){targ=window.event.srcElement;if(targ.tagName.toLowerCase()=="b")targ=targ.parentNode;if(targ.onclick)targ.onclick(window.event);}return false;}, inp[i]);
        setSamples(inp[i]);
      }catch(e){}
      
      inp[i].onkeyup=function()
      {
        var field = this.id == "orco" || this.id == "dsco" ? "countries" : (this.id == "orci" || this.id == "dsci" ? "cities" : "");
        var phrase = this.value;
        
          SendRequest("post", "finder.php", "field=" + field + "&phrase=" + phrase, closure(function(el, r)
          {
            try
            {
              if(r.responseText != "")
              {
                $(el.id + 'd').style.display = "block";
                $(el.id + 'd').innerHTML = "Предложения:<ul>" + r.responseText + "</ul>";
                
                setSamples(el);
              }
              else
              {
                $(el.id + 'd').innerHTML = "";
                $(el.id + 'd').style.display = "none";
              }
            }
            catch(e){}
          }, this));
      }
    }
  }
}

function setSamples(el)
{
  var litags = $(el.id + 'd').getElementsByTagName('li');
  for(var i = 0; i < litags.length; i++)
  {
    var atag = document.createElement('a');
    atag.href = "#";
    atag.title = "Нажмите, чтобы скопировать";
    atag.innerHTML = litags[i].innerHTML; litags[i].innerHTML = "";
    
    atag.onclick = closure(function(el, ev)
    {
      var targ=(ev.currentTarget || ev.srcElement);
      if(targ.tagName.toLowerCase()=="b")targ=targ.parentNode;
      
      el.value = targ.innerHTML.replace(/<[^>]*>/g, "");
      el.focus();
      return false;
    }, el);
    
    litags[i].appendChild(atag);
    
    /*atag.onclick = function(){return false};*/
  }
}






















