function popup(url, w, h, toolbar, location, menubar, resize, scroll) {
	window.open(url,"Link","toolbar="+toolbar+",location="+location+",directories=0,status=0,menubar="+menubar+",scrollbars="+scroll+",resizable="+resize+",width="+w+",height="+h+",left=50,top=50");
	return false;
}



function showflash(param, version) {
	document.writeln(param); 
}


var evt = {
  add: function(elem, evt, todo) {
    if(elem.addEventListener) {
      elem.addEventListener(evt, todo, false);
    }
    else if (elem.attachEvent) { // ie
      elem.attachEvent('on' + evt, todo);
    }
  },
  
  remove: function(elem, evt, todo) {
    if(elem.removeEventListener) {
      elem.removeEventListener(evt, todo, false);
    }
    else if (elem.detachEvent) { // ie
      elem.detachEvent('on' + evt, todo);
    }
  }
}



efx = Class.create();
efx.prototype = {
  initialize: function(obj, property, from, to, startTime, duration, frequency, quantity) {
    this.object = obj;
    this.property = property;
    this.from = from;
    this.to = to;
    this.duration = duration; 
    this.frequency = frequency;
    this.quantity = quantity;
    this.startTime = startTime;
    
    this.go();
  },
  
  go: function() {
    this.runTime = (new Date).getTime();
    this.clock = setInterval(this.run.bind(this), '1');
  },
  
  run: function() {
    if(((new Date).getTime() - this.runTime) >= this.startTime) {
      this.runTime = (new Date).getTime();
      clearInterval(this.clock);
      this.clock = setInterval(this.step.bind(this), this.frequency);
    }
  },
  
  step: function() {
    var curTime = (new Date).getTime();
    if((curTime - this.runTime) >= this.duration) {
      if(this.property == "opacity") {
        this.object.style.filter = "alpha(opacity="+this.to+")";
        this.object.style.opacity = this.to/100;
      }
      else {
        this.object.style[this.property] = this.to + this.quantity;
      }
      clearInterval(this.clock);
    }
    else {
      var normTime = (curTime - this.runTime) / this.duration;
      var curRes = (((this.to - this.from) * ((-Math.cos(Math.PI*normTime)/2) + 0.5) ) + parseFloat(this.from));
      
      if(this.property == "opacity") {
        this.object.style.filter = "alpha(opacity="+curRes+")";
        this.object.style.opacity = curRes/100;
      }
      else {
        this.object.style[this.property] = curRes + this.quantity;
      }
    }
  }
}



function getElementComputedStyle(elem, prop){  
  if (typeof elem!="object") elem = document.getElementById(elem);    
  // external stylesheet for Mozilla, Opera 7+ and Safari 1.3+  
  if (document.defaultView && document.defaultView.getComputedStyle)  {    
    if (prop.match(/[A-Z]/)) prop = prop.replace(/([A-Z])/g, "-$1").toLowerCase();    
    return document.defaultView.getComputedStyle(elem, "").getPropertyValue(prop);  
  }    

// external stylesheet for Explorer and Opera 9  
  if (elem.currentStyle)  {    
    var i;    while ((i=prop.indexOf("-"))!=-1) prop = prop.substr(0, i) + prop.substr(i+1,1).toUpperCase() + prop.substr(i+2);    
    return elem.currentStyle[prop];  
  }    return "";
}



var formchecker = Class.create();

formchecker.prototype = {
  initialize: function(formname) {
  
    this.formelement = document.getElementById(formname);

    if(this.formelement!=null) {  
      this.req = this.getrequiredfiels();
      this.checkformonrun();
    
      for(var i=0; i<this.req.length; i++) {
        this.req[i].onblur = this.onchangefieldvalue.bindAsEventListener(this);
        this.req[i].onkeyup = this.onchangefieldvalue.bindAsEventListener(this);
      }
      
      formElements = this.getFormElements();
      
      for(var i=0; i<formElements.length; i++) {
        if(formElements[i].className=='phone' || formElements[i].className=='phone require' || formElements[i].className=='digit'  || formElements[i].className=='digit require') {
          formElements[i].onkeydown = this.interceptValueAndMakeDigits.bindAsEventListener(this);
        }
      }
      
    }
  },
  
  interceptValueAndMakeDigits: function(evt) {
    var element = Event.element(evt);

    if(evt.keyCode) var code = evt.keyCode;
    else if(evt.which) var code = evt.which;
    


    if((code>=48 && code<=57) || (code>=96 && code<=105) || (code>=37 && code<=40) || (code==8 || code==9 || code==13 || code==46)) return true;
    else return false;
  },
  
  getfieldtype: function(element) {

    var elemclassname = element.className;
    
    var re = /phone/;
    if(re.test(elemclassname)) { return 'phone';  }
    
    var re = /email/;
    if(re.test(elemclassname)) { return 'email';  }
    
    
    else {  return 'default';   }
  },
  
  getrequiredfiels: function() {
    var allelems = this.formelement.elements;
    var elems = new Array();
    var re = /require/i; // regexp
    var j = 0;
    
    for(var i=0; i<allelems.length; i++) {
      if(re.test(allelems[i].className)) {
        elems[j] = allelems[i];
        j++;
      }
      
    }
    

    var req = new Array();
    var j = 0;
    for(var i in elems) {
      if(elems[i].className) {
        req[j] = elems[i];
        j++;
      }
    }
    return req;
  },
  
  getFormElements: function() {
    return this.formelement.elements;
  },
  
  checkfield: function(element) {
    var type = this.getfieldtype(element);
    switch(type) {
      case 'default' : return (element.value.length > 1) ? true : false; break;
      case 'email' : return this.checkfield_email(element); break;
      case 'phone' : return this.checkfield_phone(element); break;
    } 
    
  },
  
  checkfield_email: function(element) {
    //if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(element.value)){
    if (/^[A-Za-z0-9\.-]+@[A-Za-z0-9\.-]+(\.\w{2,4})+$/.test(element.value)){  
      return true 
    } 
    else { return false; }
  }, 

  checkfield_phone: function(element) {
    
    if (element.value.length > 7){ 
      var re = /^[0-9]{8,15}?/;
      if(re.test(element.value)) {
        return true;
      }
      else { return false; }
    } 
    else { return false; }
  },
  

  
  checkallfields: function() {
    for(var i=0; i<this.req.length; i++) {
      if(this.checkfield(this.req[i]) == false) {return false;}
    }
    return true;
  },
  
  onchangefieldvalue: function(evt) {
    var element = Event.element(evt);
    if(this.checkfield(element)) {
      this.fieldactivation(element);
    }
    else {
      this.fielddeactivation(element);
    }
    
    if(this.checkallfields()) { this.formactivation();  }
    else { this.formdeactivation();  }
  },
  
  checkformonrun: function() { 

    for(var i=0; i<this.req.length; i++) {
     
      if(this.checkfield(this.req[i]) == false) {
        this.fielddeactivation(this.req[i]);
      }else {
        this.fieldactivation(this.req[i]);
      }
    }
    
    if(this.checkallfields()) { this.formactivation();  }
    else { this.formdeactivation();  }
    
  },
  
  formactivation: function(element) {
    var submitbtn = this.findsubmit();
    submitbtn.disabled = false;
  },
  
  formdeactivation: function(element) {
    var submitbtn = this.findsubmit();
    submitbtn.disabled = true;
  },
  
  fieldactivation: function(element) {
    element.style.color = 'black';
    var brothers = element.parentNode.childNodes;
    for(var i=0; i<brothers.length; i++) {
      if(brothers[i].className == 'bullet') {
        
        brothers[i].style.display = 'none';
      }
    }
  },

  fielddeactivation: function(element) {
    element.style.color = 'red';
    var brothers = element.parentNode.childNodes;
    for(var i=0; i<brothers.length; i++) {
      if(brothers[i].className == 'bullet') {
        brothers[i].style.display = 'inline';
      }
    }

  },
  
  findsubmit: function() {
    for(var i=0; i<this.formelement.elements.length; i++) {
      if(this.formelement.elements[i].type == 'submit') {
        return this.formelement.elements[i];
      }
    }
  }

}




contacts_map = Class.create();
contacts_map.prototype = {
  initialize: function() {
    //
    this.gmail_place = $('contacts_google_map');
    if(this.gmail_place) {
      $('contact_map_1').onclick = this.clicked.bindAsEventListener(this);
      $('contact_map_2').onclick = this.clicked.bindAsEventListener(this);
      $('contact_map_3').onclick = this.clicked.bindAsEventListener(this);
      $('contact_map_4').onclick = this.clicked.bindAsEventListener(this);
    }
  },
  clicked: function(evt) {
    var elem = Event.element(evt);
    
    var lng = document.getElementsByTagName("html").item(0).lang;
    
    
    
    if(elem.id == 'contact_map_1') {
      this.gmail_place.innerHTML = '<iframe width="100%" height="100%" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl='+ lng +'&amp;msa=0&amp;msid=212861056516453506697.00049b246eea19d7e808c&amp;ll=5 6.96173,24.144516&amp;spn=0.032476,0.072956&amp;z=13&amp;output=embed"></iframe>';
    }
    if(elem.id == 'contact_map_2') {
      this.gmail_place.innerHTML = '<iframe width="100%" height="100%" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl='+ lng +'&amp;msa=0&amp;msid=212861056516453506697.00049b24c9eccd49e16a9&amp;ll=56.984466,24.190865&amp;spn=0.064911,0.145912&amp;z=12&amp;output=embed"></iframe>';
    }
    if(elem.id == 'contact_map_3') {
      this.gmail_place.innerHTML = '<iframe width="100%" height="100%" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl='+ lng +'&amp;msa=0&amp;msid=212861056516453506697.00049b24eacf128199ba7&amp;ll=56.966971,24.170351&amp;spn=0.016236,0.036478&amp;z=14&amp;output=embed"></iframe>';
    }
    if(elem.id == 'contact_map_4') {
      this.gmail_place.innerHTML = '<iframe width="100%" height="100%" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl='+ lng +'&amp;msa=0&amp;msid=212861056516453506697.00049b253e83cef053034&amp;ll=56.96931,24.202538&amp;spn=0.064938,0.145912&amp;z=12&amp;output=embed"></iframe>';
    }
    
  }
  
}




subway2 = Class.create();
subway2.prototype = {
  initialize: function(elementId, type) {
    this.elemBody = $(elementId);
    this.type = type;
    if(this.elemBody) {
      for(var i=0; i<this.elemBody.childNodes.length; i++) {
        if(this.elemBody.childNodes[i].tagName == "LI") {
          
          var link = this.getChildByClassName(this.elemBody.childNodes[i], "link");
          
          if(link.className == "link act") {
            var sister = this.getSisterByClassName(link, "description");
            this.rollOverClickedElem(sister);
          }
          
          link.onclick = this.clickedOnLink.bindAsEventListener(this);
          
          
        }
      }
    }
  },
  
  clickedOnLink: function(evt) {
    var elem = Event.element(evt);
    this.lastClicked = elem;
    
    if(this.type == "single") {
      this.rollOutAll();
    }
    
    var sister = this.getSisterByClassName(elem, "description");
    var sisterHeight = getElementComputedStyle(sister, 'height');
    
    if(elem.className == "link") {
      elem.className = "link act";
    }
    else {
      elem.className = "link";
    }

    if(sisterHeight !== "0px") {
      this.rollOutClickedElem(sister);
    }
    else {
      this.rollOverClickedElem(sister);
    }
    
    

  },
  
  
  rollOutAll: function() {
    for(var i=0; i<this.elemBody.childNodes.length; i++) {
        if(this.elemBody.childNodes[i].tagName == "LI") {
          var link = this.getChildByClassName(this.elemBody.childNodes[i], "link");
          
          if(link.className == "link act" && this.lastClicked !== link) {
            var sister = this.getSisterByClassName(link, "description");
            this.rollOutClickedElem(sister);
            link.className = "link";
          }
        }
    }
  },
  
  getChildByClassName: function(parentEl, classNm) {
    for(var i=0; i<parentEl.childNodes.length; i++) {
      
      if(parentEl.childNodes[i].className == classNm || parentEl.childNodes[i].className == classNm + ' act') {
        return parentEl.childNodes[i];
      }
      else {
        var reqElem = this.getChildByClassName(parentEl.childNodes[i], classNm);
      }
    }
    return reqElem;
  },
  
  getSisterByClassName: function(elem, classNm) {
    return this.getChildByClassName(elem.parentNode, classNm);
  },
  
  rollOverClickedElem: function(elem) {
    new efx(elem, "height", 0, elem.scrollHeight, 10, 250, 10, "px");
  },
  
  rollOutClickedElem: function(elem) {
    new efx(elem, "height", elem.scrollHeight, 0, 10, 250, 10, "px");
  }
  
}







var photoalbum = Class.create();
photoalbum.prototype = {
  initialize: function() {
  
    

    var film = document.getElementsByClassName("film");
    if(film.length>0) {
      this.filmPlace = film[0];
      
      for(var i=0; i<mas.length; i++) {
        this.createThumb(mas[i]);
      }
      
      this.makeFirstStep();
      
    }
  }, 
  createThumb: function(aliasFileName) {
    var newElement = document.createElement("div");
    newElement.className = "frame";
    newElement.rel = aliasFileName;
    var newImage = document.createElement("img");
    newImage.src = photos_dir+"/"+aliasFileName+"_s.jpg";
    newElement.appendChild(newImage);
    this.filmPlace.appendChild(newElement);
    
    newImage.onclick = this.thumbClicked.bindAsEventListener(this);
    
  },
  thumbClicked: function(evt) {
    var aliasClicked = Event.element(evt).parentNode.rel;
    this.showPhoto(aliasClicked);
    this.updateTextComment(aliasClicked);
    this.showSelection(aliasClicked);
  },
  showPhoto: function(aliasClicked) {
    var element = document.getElementsByClassName("img")[0];
    element.style.background = "url("+ photos_dir +"/"+aliasClicked+"_m.jpg) no-repeat center center";
  },
  
  updateFullscreenBtn: function(aliasClicked) {
    var element = $("zoombtn");
    element.href = photos_dir+"/"+aliasClicked+".jpg";
  }, 
  
  updateTextComment: function(aliasClicked) {
    /*for(var i=0; i<mas.length; i++) {
      if(mas[i]==aliasClicked) {
        $("photo-description").innerHTML = descr[i];
      }
    }*/
  },
  
  showSelection: function(aliasClicked) {
    for(var i=0; i<this.filmPlace.childNodes.length; i++) {
      if(this.filmPlace.childNodes[i].rel==aliasClicked && this.filmPlace.childNodes[i].className == "frame") {
        this.filmPlace.childNodes[i].childNodes[0].style.border = "3px solid #157ede";
      }
      else if(this.filmPlace.childNodes[i].className == "frame") {
        this.filmPlace.childNodes[i].childNodes[0].style.border = "none";
      }
    }
  },
  
  
  clickLeftButton: function(evt) {
    var btn = Event.element(evt);
    var elements = document.getElementsByClassName("frame");
    for(var i=0; i<elements.length; i++) {
      if(elements[i].rel == mas[this.getMasId(this.aliasClicked)-1]) {
        elements[i].childNodes[0].click();
        break;
      }
    }
  },
  
  
  clickRightButton: function(evt) {
    var btn = Event.element(evt);
    var elements = document.getElementsByClassName("frame");
    for(var i=0; i<elements.length; i++) {
      if(elements[i].rel == mas[this.getMasId(this.aliasClicked)+1]) {

        elements[i].childNodes[0].click();
        break;
      }
    }
  },
  
  getMasId: function(aliasFileName) {
    for(var i=0; i<mas.length; i++) {
      if(mas[i] == aliasFileName) {return i;}
    }
  },
  

  
  makeFirstStep: function() {
    this.showPhoto(mas[0]);
   this.showSelection(mas[0]);
  }
  
}


var whyDetails = Class.create();
whyDetails.prototype = {
  initialize: function() {
    this.link = $('link-details');
    if(this.link) {
      this.link.onclick = this.clicked.bindAsEventListener(this);
    }
  }, 
  clicked: function() {
    if(this.link.className == "link-details") {
      this.link.className = "link-details details-act";
      this.showPriceLabels();
    }
    else {
      this.link.className = "link-details";
      this.hidePriceLabels();
    }
  }, 
  showPriceLabels: function() {
    var elems = document.getElementsByClassName('price-label');
    for(var i=0; i<elems.length; i++) {
      elems[i].style.display = 'block';

      //new efx(elems[i], "opacity", 0, 100, 10, 250, 10, "");
    }
  },
  
  hidePriceLabels: function() {
    var elems = document.getElementsByClassName('price-label');
    for(var i=0; i<elems.length; i++) {
      elems[i].style.display = 'none';
      //new efx(elems[i], "opacity", 100, 0, 10, 250, 10, "");
    }
  }
  
}






var infrastructureSelCategory = Class.create();
infrastructureSelCategory.prototype = {
  initialize: function() {
    this.elems = document.getElementsByClassName('cat_link');
 
    if(this.elems.length > 0) {
      
      $('close_wnd').onclick = this.closeWnd.bindAsEventListener(this);
    
      for(var i=0; i<this.elems.length; i++) {
        this.elems[i].onclick = this.clicked.bindAsEventListener(this);
      }
    }
  }, 
  clicked: function(evt) {
    var elem = Event.element(evt);
    var lng = document.getElementsByTagName("html").item(0).lang;
    $('pseudo_popup').style.display = 'block';

    $('pop_header').innerHTML = elem.innerHTML;
    $('pop_header').style.background = "url(/img/infrastucture/ico_" + elem.rel + ".gif) no-repeat" ;

    this.elemelem = elem;
    $('lastvalue').value = elem.rel;

  
    new Ajax.Request( '/ajax_gate_infrastructure.php',
    {
    	method: 'get',
    	onSuccess: function( transport ){
    		var str = transport.responseText;
    		new insertValuesToCategoryTable(str);
    	}, parameters: {cat_id: elem.rel, lang: lng}
    });
    
     

  }, 
  closeWnd: function() {
    $('pseudo_popup').style.display = 'none';
  }
  
}






insertValuesToCategoryTable = Class.create();
insertValuesToCategoryTable.prototype = {
  initialize: function(value) {
  
    
    this.photosRoot = "/infrastructure/photos/";
    this.table = $('tableCategory');
    this.curCat = $('lastvalue').value;
    var curCat = $('lastvalue').value;
    
    var sectionsMas = value.split("#|#");
    
    this.table.innerHTML = "";
    this.autoClick = true;
    
    
    this.googleMapCanvas = $('googleMapCanvas');
    
    
    if (GBrowserIsCompatible()) {
      this.map = new GMap2(this.googleMapCanvas); // инициализация карты Гугл
      this.map.setUIToDefault();
    }
    
    
    function createMarker(xx, yy, type, messageHTML) {
      var blueIcon = new GIcon(G_DEFAULT_ICON);
      
      if(type == 'center') {
        blueIcon.shadowSize = new GSize(0, 0);
        blueIcon.iconSize = new GSize(55, 35);
        blueIcon.image = "http://www.brivibas224.lv/img/googlemaps/b224_small.png";
      }
      else {
        blueIcon.shadowSize = new GSize(0, 0);
        blueIcon.iconSize = new GSize(36, 27);
        blueIcon.image = "http://www.brivibas224.lv/img/googlemaps/ico_"+ curCat +".png";
      }

		  markerOptions = { icon:blueIcon };
      
      var point = new GLatLng(xx, yy); // создаём координатную позицию на карте

      var marker = new GMarker(point, markerOptions);

      
      marker.value = detailsSectionMas[1];
      
      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(messageHTML);
      });
      return marker;
    }
    
    
    
    
    
    
    for(var i=0; i<sectionsMas.length; i++) {
      var detailsSectionMas = sectionsMas[i].split("||");
      var divTr = document.createElement("DIV");
      divTr.className = "tr";
      divTr.onmouseover = this.overed.bindAsEventListener(this);
      divTr.onmouseout = this.outed.bindAsEventListener(this);
      divTr.onclick = this.clicked.bindAsEventListener(this);
      divTr.rel = sectionsMas[i];     
      
      
      
      var message = this.googleMapPopupMessage(detailsSectionMas[1], detailsSectionMas[6], detailsSectionMas[7], detailsSectionMas[8], detailsSectionMas[9]);
      
      this.map.addOverlay(createMarker(detailsSectionMas[2], detailsSectionMas[3], 'any', message));  // добавляем маркер на карту
     
      
      
      
      var divTd1 = document.createElement("DIV");
      divTd1.appendChild(document.createTextNode(detailsSectionMas[1]));
      divTd1.className = "name";
      divTr.appendChild(divTd1);
      
      var divTd2 = document.createElement("DIV");
      divTd2.appendChild(document.createTextNode(detailsSectionMas[4]));
      divTd2.className = "man";
      divTr.appendChild(divTd2);
      
      if(detailsSectionMas[5] !== '') {
        var divTd3 = document.createElement("DIV");
        divTd3.appendChild(document.createTextNode(detailsSectionMas[5]));
        divTd3.className = "car";
        divTr.appendChild(divTd3);
      }
      
      this.table.appendChild(divTr);
      
      if(this.autoClick) {
        this.map.addOverlay(createMarker('56.97202392678122', '24.165072441101074', 'center', '<b>Brīvības 224</b> <br>Business Center'));
        this.map.setCenter(new GLatLng(detailsSectionMas[2], detailsSectionMas[3]), 15);   // выставляем центр карты на координаты первого эл. таблицы раздела.
        
        this.activateTr(divTr);
        this.autoClick = false;
      }

    }
  
    
    
  },
  
 

  overed: function(evt) {
    var elem = Event.element(evt);
    if(elem.className == "tr") {
      elem.style.backgroundColor = "#f2f2f2";
    }
    else if(elem.className == "name" || elem.className == "car" || elem.className == "man") {
      elem.parentNode.style.backgroundColor = "#f2f2f2";
    }
  },
  
  outed: function(evt) {
    var elem = Event.element(evt);

    if(elem.className == "tr") {
      elem.style.backgroundColor = "#FFFFFF";
    }
    else if(elem.className == "name" || elem.className == "car" || elem.className == "man") {
      elem.parentNode.style.backgroundColor = "#FFFFFF";
    }
    
  }, 
  
  clicked: function(evt) {
    var elem = Event.element(evt);
    this.activateTr(elem);
  },
  
  activateTr: function(elem) {
    if(elem.className == "tr") {
      this.inactivateAllTr();
      elem.className = "tr-act";
      var cur_rel = elem.rel;
    }
    else if(elem.className == "name" || elem.className == "car" || elem.className == "man") {
      this.inactivateAllTr();
      elem.parentNode.className = "tr-act";
      var cur_rel = elem.parentNode.rel;
    }
    
    var details = cur_rel.split("||");
    
    this.map.panTo(new GLatLng(details[2], details[3]), 13); // установка центра карты на выбранный пункт
    

    var message = this.googleMapPopupMessage(details[1], details[6], details[7], details[8], details[9]);
    
  
    
    var tmp = new GLatLng(details[2], details[3] );
    this.map.openInfoWindow(tmp, message);
    
          
 
  },
  
  
  googleMapPopupMessage: function(name, address, description, web, photos) {
    var message = "<div class=google-name>" + name + "</div>";
    message += description !=="" ? "<div class=google-description>" + description + "</div>" : "";
    message += address !=="" ? "<div class=google-address>" + address + "</div>" : "";
    message += web !=="" ? "<div class=google-web><a target='_blank' href='http://"+ web +"'>" + web + "</a></div>" : "";
    
    if(photos !== "") {
      message += "<div class=google-photos-place>";
      var photosMas = photos.split('#');
      for(var j=0; j<photosMas.length; j++) {
        message += "<div class=google-photos-curr onclick='showPopupPhoto(\""+this.photosRoot+"\", \""+photosMas[j]+"\")' style='background: url("+ this.photosRoot + photosMas[j] +"_s.jpg) no-repeat 50% 50%'></div>";
      }
      message += "</div>"
    }
    
    return message;
  },
  
  inactivateAllTr: function() {
    var elems = document.getElementsByClassName("table-category");
    elems = elems[0];
    
    for(var i=0; i<elems.childNodes.length; i++) {
      if(elems.childNodes[i].className == "tr-act") {
        elems.childNodes[i].className = "tr";
      }
    }
  },
  
  getParenttByClassName: function(el, classNm) {
    var parentt = el.parentNode;
    
    if(parentt.className == classNm) {
      return parentt;
    }
    else {
      this.getParenttByClassName(parentt, classNm);
    }
    
  }
  
}


function showPopupPhoto(photoRoot, img) {
  var place = document.getElementById('photopopup');
  place.style.display = 'inline';
  var body = document.getElementsByTagName('body').item(0);
  
  document.getElementById('photoelem').style.background = "url("+photoRoot + img + "_m.jpg) no-repeat 50% 0%";
  
  //var hh = !window.opera ? document.documentElement.clientHeight : document.body.clientHeight;
  

  
  bodyCH = document.body.clientHeight;
  bodySH = document.getElementsByTagName('body').item(0).scrollHeight;
  
  hh = bodyCH > bodySH ? bodyCH : bodySH;
  
  place.style.height = hh + "px";
  
  place.onclick = function() {
    place.style.display = 'none';
  }
  
}







insertValuesToOfficeDescription = Class.create(); 
insertValuesToOfficeDescription.prototype = {
  initialize: function(responce) {
    this.photosRoot = "/rent/photos/";
    var masData = responce.split("||");
    var header = masData[0];
    var link = masData[1];
    var scheme = masData[2];
    var masPhotos = masData[3].split("|");
    
    this.scheme_place = $('scheme_place');
    this.rent_btn_popup = $('rent_btn_popup');
    this.pop_header = $('pop_header');
    this.photo_thumbs = $('photo_thumbs');
    
    this.pop_header.innerHTML = header;
    this.rent_btn_popup.onclick = function() { window.location.href=link; };
    
    if(masPhotos.length == 0 || (masPhotos.length == 1 && masPhotos[0] == "" ) ) {
      $('photo_thumbs_common').style.display = "none";
    }
    else {
      $('photo_thumbs_common').style.display = "block";
      this.photo_thumbs.innerHTML = "";
    
      for(var i=0; i<masPhotos.length; i++) {
        this.photo_thumbs.innerHTML += "<div class=office-thumb style='background: url("+this.photosRoot+masPhotos[i]+"_s.jpg) no-repeat' onclick=\"showPopupPhoto('" + this.photosRoot + "','" + masPhotos[i] + "');\"></div>";
      }
    }
    
    if(scheme == "") {
      $('scheme_place_common').style.display = "none";
      this.scheme_place.src = "/img/blank_spacer.gif";
    }
    else {
      $('scheme_place_common').style.display = "inline";
      
      this.scheme_place.src = "/img/cat_381/"+ scheme;
    }
    
    
    
    
    
    
    
    
  }
}


schemeB224 = Class.create();
schemeB224.prototype = {
  initialize: function() { 
    this.table = $("table_offers");
    if(this.table) {
    
      $('close_wnd').onclick = this.closeWnd.bindAsEventListener(this);
    
      this.araes = document.getElementsByTagName('area');
      
      this.tableElems = document.getElementsByClassName('tr');
         

      for(var i=0; i<this.tableElems.length; i++) {
        this.tableElems[i].onmouseover = this.overedTableElem.bindAsEventListener(this);
        this.tableElems[i].onmouseout = this.outedTableElem.bindAsEventListener(this);
        this.tableElems[i].onclick = this.clickedTableElem.bindAsEventListener(this);
      }
       
      for(var i=0; i<this.araes.length; i++) {
        this.araes[i].onmouseover = this.schemeOvered.bindAsEventListener(this);
        this.araes[i].onmouseout = this.schemeOuted.bindAsEventListener(this);
      }

    }
  },
  
  overedTableElem: function(evt) {
    var elem = Event.element(evt);
    var elemTable = this.getParenttByClassName(elem, "tr");
    this.tableElemSetHightLight(elemTable);
    
    var corpusNr = this.getTableElementCorpusNumber(elemTable);
    this.hightLightCorpus(corpusNr);

  },
  
  outedTableElem: function(evt) {
    
    this.tebleElemsUnsetHightLight();
    this.unHightLightCorpus();
    
  },
  
  clickedTableElem: function(evt) {
    var elem = Event.element(evt);
    if(elem.className == "rentLink") {
      
    }
    else {
      
      var elemTable = this.getParenttByClassName(elem, "tr");
      
      var elemWithId = this.getChildByClassName(elemTable, "rentLink");
      
      var unqId = elemWithId.rel;
      
      $('pseudo_popup').style.display = 'block';
      
      var lng = document.getElementsByTagName("html").item(0).lang;
      
      $('lastvalue').value = unqId;
      
      
      new Ajax.Request( '/ajax_gate_rent.php',
      {
      	method: 'get',
      	onSuccess: function( transport ){
      		var str = transport.responseText;
      		new insertValuesToOfficeDescription(str);
      	}, parameters: {el_id: unqId, lang: lng}
      });
      
      
      
      return false;
    }
    
    
    
  },
  
  
  getTableElemsByCorpusNumber: function(corpusNumber) {
    var res = new Array();

    for(var i=0; i<this.tableElems.length; i++) {
      var corpusNr = this.getTableElementCorpusNumber(this.tableElems[i]);

      if(corpusNr == corpusNumber) {
        res[res.length] = this.tableElems[i];
      }
    }
    
    if(res.length == 0) {
      return false;
    }
    
    return res;
    
  },
  
  getTableElementCorpusNumber: function(trElement) {
    var link = this.getChildByClassName(trElement, 'td corpus');
    return link.innerHTML;
  },
  
  schemeOvered: function(evt) {
    var elem = Event.element(evt);
    var str = elem.alt;
    var re = /[^0-9]/g;
    var idd = str.replace(re, '');

    this.hightLightCorpus(idd);
    
    this.tebleElemsUnsetHightLight();
    
    var elemsOfTable = this.getTableElemsByCorpusNumber(idd);
    
    if(elemsOfTable) {
      for(var i=0; i<elemsOfTable.length; i++) {
        this.tableElemSetHightLight(elemsOfTable[i]);
      }
    }
    
  },
  
  schemeOuted: function() {
    this.tebleElemsUnsetHightLight();
    this.unHightLightCorpus();
    
  },
  
  hightLightCorpus: function(numberr) {
    var place = $('corpus_place');
    place.style.background = "url(/img/corpus_"+ numberr +".gif) no-repeat 0% 0%";
  }, 
  
  unHightLightCorpus: function() {
    var place = $('corpus_place');
    place.style.background = "none";
  }, 
  
  
  tebleElemsUnsetHightLight: function() {
    for(var i=0; i<this.tableElems.length; i++) {
      this.tableElems[i].style.background = "#FFFFFF";
    }
  },
  
  tableElemSetHightLight: function(elem) {
    elem.style.background = "#ecebeb";
  },
  
  
  
  getChildByClassName: function(parentEl, classNm) {
    for(var i=0; i<parentEl.childNodes.length; i++) {
      
      if(parentEl.childNodes[i].className == classNm || parentEl.childNodes[i].className == classNm + ' act') {
        return parentEl.childNodes[i];
      }
      else {
        
        var reqElem = this.getChildByClassName(parentEl.childNodes[i], classNm);
        if(reqElem) {
          var result = reqElem;
        }
      }
    }
    return result;
  },
  
  getParenttByClassName: function(el, classNm) {
    
    var re = RegExp(classNm, "g");
    
    if( re.test(el.className) ) {
      return el;
    }
    else {
      var result = this.getParenttByClassName(el.parentNode, classNm);
    }
    
    return result;
    
  }, 
  
  closeWnd: function() {
    $('scheme_place').src = "none";
    $('photo_thumbs').innerHTML = "";
    $('pseudo_popup').style.display = 'none';

  }
  
  
  
  
  
  
}




function run() {

  

  new formchecker("form");
  new subway2('contacts_menu', 'single');
  new contacts_map();
  new photoalbum();
  new whyDetails();
  new infrastructureSelCategory();
  new schemeB224();
}


evt.add(window, 'load', run);  

