
// Browser Detection
IE4 = document.all;
NS4 = document.layers;

  function rollover(ImageIndex,ImgName) {
    document.images[ImageIndex].src = ImgName;
  }

  function setcurrentpmpropertyid(pmpid) {
    window.document.form1.pmnextpid.value = pmpid;
  }

  function setcurrentpmsection(section) {
    window.document.form1.pmnextsection.value = section;
  }

  function setcurrentpmstate(state) {
    window.document.form1.pmnextstate.value = state;
  }

  function statetransistion(state) {
    setstate('state'); 
    setleftopstate('getstateregion');
    submitform1(); 
  }

  function setstateregion(stateregionid) {
    window.document.form1.stateregionidbox.value= stateregionid;
  }

  function resetstate(state) {
    window.document.form1.statebox.value= state;
  }

  function setcitysubmit(state,city) {
    window.document.form1.statebox.value= state;
    window.document.form1.citybox.value = city;
    window.document.form1.submit();
  }

  function setstate(state) {
    if (state !=''){
      window.document.form1.statebox.value= state;
      window.document.form1.lefttop_state.value='getstateregion';
      window.document.form1.submit();
    }
  }

  function getresult() {
     window.document.form1.lefttop_state.value='getresult';
     window.document.form1.submit();
  }

  function reset_search(){
    if (window.document.form1.statebox != null){
      window.document.form1.statebox.value='';
    }
    if (window.document.form1.countrybox != null){
      window.document.form1.countrybox.value='';
    }
    window.document.getElementById("lefttop_state").value='';
    //window.document.form1.submit();
  }

  function reset_amenities(amenity_string,idx){
    amenity = amenity_string.split(",")
    for (i=0; i<idx; i++) {
      reset_specific_amenity(amenity[i]);
    }
  }

  function reset_specific_amenity(amenity) {
    window.document.getElementById(amenity).checked = false;
  }

//    var is_checked = window.document.getElementById("chbx_gated_community").checked;
//    if (is_checked == true)
//    {
//      window.document.getElementById("chbx_gated_community").checked = false; 
//    } else {
//      window.document.getElementById("chbx_gated_community").checked = true; 
//    }

  function setpropertyid(propertyid) {
    window.document.form1.propertyidbox.value= propertyid;
  }

  function setlefttopstate(state) {
    if (state !=''){
          window.document.form1.lefttop_state.value = state;
    }
  }

  function setprevlefttopstate(state) {
    if (state !=''){
          window.document.form1.prevlefttop_state.value = state;
    }
  }

  function setlinkidfield(newvalue) {
    window.document.form2.linkidfield.value = newvalue;
  }

  function setfppid(fppid) {
    if (fppid!=''){
          window.document.form1.fppid.value= fppid;
    }
  }

  function setpropsumstart(number) {
    if (number!=''){
          window.document.form1.propsumstart.value = number;
    }
  }

  function setpropid(propid) {
    if (propid !=''){
      window.document.form1.propertydetailid.value = propid;
    }
  }

  function setmetro(metroid) {
    window.document.form1.metroidbox.value = metroid;
  }

  function setcity(city) {
    window.document.form1.citybox.value = city;
  }

  function submitform2() {
    window.document.form2.submit();
  }
 
  function submitform1() {
    window.document.form1.submit();
  }

  function lt_bringup(i){
    window.document.getElementById("lt_layer1").style.visibility="hidden";
    window.document.getElementById("lt_layer2").style.visibility="hidden";
    window.document.getElementById("lt_layer3").style.visibility="hidden";
    window.document.getElementById(i).style.visibility="visible";

    switch (i){
      case 'lt_layer1':
       i = 'wood_layer1';
       break;
      case 'lt_layer2':
       i = 'wood_layer2';
       break;
      case 'lt_layer3':
       i = 'wood_layer3';
       break;
      default:
       i = 'wood_layer1';
    }

    window.document.getElementById("wood_layer1").style.visibility="hidden";
    window.document.getElementById("wood_layer2").style.visibility="hidden";
    window.document.getElementById("wood_layer3").style.visibility="hidden";
    window.document.getElementById(i).style.visibility="visible";
  }


  function capstring(frmObj) {

    var index;
    var tmpStr;
    var tmpChar;
    var preString;
    var postString;
    var strlen;

    tmpStr = frmObj.value.toLowerCase();
    strLen = tmpStr.length;
    if (strLen > 0)  {
      for (index = 0; index < strLen; index++)  {
        if (index == 0)  {
          tmpChar = tmpStr.substring(0,1).toUpperCase();
          postString = tmpStr.substring(1,strLen);
          tmpStr = tmpChar + postString;
        } 
        else {
          tmpChar = tmpStr.substring(index, index+1);
          if (tmpChar == " " && index < (strLen-1))  {
            tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();
            preString = tmpStr.substring(0, index+1);
            postString = tmpStr.substring(index+2,strLen);
            tmpStr = preString + tmpChar + postString;
          }
        }
      }
    }
    frmObj.value = tmpStr;
  }


  function statedisp(state) {

  }

  function stateout() {
    window.document.getElementById("statedisp").style.visibility = "hidden";
  }

  function entersubmit(lefttopstate,e){
    var keycode;
    if (window.event) {
      keycode = window.event.keyCode;
    }else if (e){
      keycode = e.which;
    }else {
      return true;
    }
    
    if (keycode == 13)
       {
       setlefttopstate(lefttopstate);
       setfppid('find_apt_by_name');
       submitform1();
       return false;
       }
    else
       return true;
  }


  function createXMLHttpRequest() {
    var xmlhttp;
    try {return xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}    catch(e) {}  // IE6.0+
    try {return xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {}  // IE5.5+
    try {return xmlhttp = new XMLHttpRequest();}                   catch(e) {}  // Firefox, Opera 8.0+, Safari
    alert("XMLHttpRequest not supported");
    return null;
  }
  function statechanged(xmlhttp,div) {
    var mydiv;
    var str = "";
    var url = "";
    if (xmlhttp.readyState==4) {
      mydiv = document.getElementById(div);
      mydiv.innerHTML = xmlhttp.responseText;
      if (div == "stylized-form") {
        str = "Thank you for signing up!";                  // Success for webclient sign up
        if (mydiv.innerHTML.search(str) != -1) {
          url = "/signup-complete";
        } else {
          str = "You have been registered with";
          if (mydiv.innerHTML.search(str) != -1) {          // Success for property registration 
            url = "/registerwebclient-complete";
          } else {
            str = "Your lease report has been submitted.";
            if (mydiv.innerHTML.search(str) != -1) {        // Success for lease reporting 
              url = "/reportlease-complete";
            }
          }
        }
      } 
      if (url != "") {
        window.location = url;                              //  
      } else {
        var ob = document.getElementsByTagName("script");
        for(var i=0; i<ob.length-1; i++) {
          if(ob[i+1].text!=null) eval(ob[i+1].text);
        }
        hideLoadingImgs();
      }
    }
  }
  function mainpxml(pmid,id,pid,cpid) {
    var url="/website/active/phpfiles/xmlresult.php";
    var params="xmlaction=mainphotochange&pmid="+pmid+"&id="+id+"&pid="+pid+"&cpid="+cpid;
    var div="mainpdiv"+id;
    var div="pmPhotosbox";
    dispLoadingImg(50,45);
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,div);};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function autologin(div,mywcid,mypid,parma,parmb,parmc,parmd) {
    var url="/website/active/phpfiles/xmlresult.php";
    var params="xmlaction="+div+
               "&mywcid="+mywcid+
               "&mypid="+mypid+
               "&parma="+parma+"&parmb="+parmb+"&parmc="+parmc+"&parmd="+parmd;
    //document.getElementById('Login_LoadingImg').style.visibility = "visible";
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,div);};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
  }
  function postxml(div,mywcid,mypid,parma,parmb,parmc,parmd,parme,parmf,parmg,parmh,parmi,parmj,parmk,parml,parmm,parmn,parmo,parmp,parmq,parmr) {
    var url="/website/active/phpfiles/xmlresult.php";
    if (document.getElementById("aptsearchbox")) {
      if (parmh == "namesearch_order_asc") {
        parmi = document.getElementById("aptsearchbox").value;
      }
    }
    if(div == "googlemap") {
      document.getElementById(div).style.width = "";
      document.getElementById(div).style.height = "";
    } else if (div == "page-wrapper") {
      if (parma == "login") {
        parmc = document.getElementById("tr_username").value;
        parmd = document.getElementById("tr_password").value;
        document.getElementById('Login_LoadingImg').style.visibility = "visible";
      }
      if (parma == "logout") {
        document.getElementById('Logout_LoadingImg').style.visibility = "visible";
      }
      if (parma == "sortby") {
        parmb = document.getElementById('sbdropbox').value;
        document.getElementById('sortby_LoadingImg').style.visibility = "visible";
      }   
      if (parma == "bdfilter") {
        parmb = document.getElementById('bdfdropbox').value;
        document.getElementById('bdf_LoadingImg').style.visibility = "visible";
      }
      if (parma == "prfilter") {
        parmb = document.getElementById('prfdropbox').value;
        document.getElementById('prf_LoadingImg').style.visibility = "visible";
      }
      if (parma == "areaf") {
        parmb = document.getElementById('areafdropbox').value;
        document.getElementById('areaf_LoadingImg').style.visibility = "visible";
      }
      if (parma == "namesearch_order") {
        parmb = document.getElementById('aptsearchbox').value;
        document.getElementById('namesearch_LoadingImg').style.visibility = "visible";
      }
      if (parma == "namesearch_order_clear") {
        document.getElementById('aptsearchbox').value = "";
        document.getElementById('namesearch_LoadingImg').style.visibility = "visible";
      }
    } else if (div == "fppic") {
      if (parma == "viewfloorplanpic") {
        dispLoadingImg(90,-15);
      }
    } else if (parma == "watchlist") {
      dispLoadingImg(0,-15);
    }
    var params="xmlaction="+div+
               "&mywcid="+mywcid+
               "&mypid="+mypid+
               "&parma="+encodeURIComponent(parma)+"&parmb="+encodeURIComponent(parmb)+"&parmc="+encodeURIComponent(parmc)+
               "&parmd="+encodeURIComponent(parmd)+"&parme="+encodeURIComponent(parme)+"&parmf="+encodeURIComponent(parmf)+
               "&parmg="+encodeURIComponent(parmg)+"&parmh="+encodeURIComponent(parmh)+"&parmi="+encodeURIComponent(parmi)+
               "&parmj="+encodeURIComponent(parmj)+"&parmk="+encodeURIComponent(parmk)+"&parml="+encodeURIComponent(parml)+
               "&parmm="+encodeURIComponent(parmm)+"&parmn="+encodeURIComponent(parmn)+"&parmo="+encodeURIComponent(parmo)+
               "&parmp="+encodeURIComponent(parmp)+"&parmq="+encodeURIComponent(parmq)+"&parmr="+encodeURIComponent(parmr);

    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,div);};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
  }
  function postxmlImg(div,type) {
    dispLoadingImg(35,-15);
    postxml(div,'','',type);
  }
  function postxmlloop(items) {
      postxml(div,id);
  }
  function pmsbpostxml() {
    var div= "pmsearchboxresults";
    var url= "/website/active/phpfiles/xmlresult.php";
    var id = document.getElementById("pmsearchbox").value;
    var params = "xmlaction="+div+"&parma="+id;
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,div);};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function dispLoadingImg(x,y) {
    //dispImgAtMouse(document.getElementById('Chg_LoadingImg'),x,y);
  }
  function dispImgAtMouse(obj,offX,offY) {
    if (obj) {
      var e = window.event;
      var X = 0;
      var Y = 0;
      if (e.pageX || e.pageY) { // NS & Safari 
        X = e.pageX + offX;
        Y = e.pageY + offY;
      } else if (e.clientX || e.clientY) { // IE
        X = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft + offX;
        Y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop + offY;
      }
      //alert("X:"+X+" Y:"+Y);
      if (X < 0) {X = 0;}
      if (Y < 0) {Y = 0;}
      obj.style.left = X+"px";
      obj.style.top  = Y+"px";
      obj.style.position = "absolute";
      obj.style.visibility = "visible";
    }
  }
  function pricesheetbox(pid,pmid,type,fpid) {
    var url    = "/website/active/phpfiles/xmlresult.php";
    var name   = encodeURIComponent(document.getElementById("name"+fpid+"add").value);
    var bed    = document.getElementById("bed"+fpid+"add").value;
    var bath   = document.getElementById("bath"+fpid+"add").value;
    var sqft   = document.getElementById("sqft"+fpid+"add").value;
    var rent   = document.getElementById("rent"+fpid+"add").value;
    if ((type == "add") || (type == "upd")) {
      name = name.trim();
      sqft = sqft.trim();
      rent = rent.trim();
    }
    var params = "xmlaction=pricesheetbox&parma="+pid+"&parmb="+pmid+"&parmc="+type+"&parmd="+fpid+
                                          "&parme="+name+"&parmf="+bed+"&parmg="+bath+"&parmh="+sqft+"&parmi="+rent;
    if ((name != "") && (sqft != "") && (rent != "")) {
      dispLoadingImg(100,-15);
      var xmlhttp = createXMLHttpRequest();
      xmlhttp.open("POST",url,true);
      xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlhttp.setRequestHeader("Content-length", params.length);
      xmlhttp.setRequestHeader("Connection", "close");
      xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"pricesheetbox");};
      xmlhttp.setRequestHeader('Accept','message/x-formresult');
      xmlhttp.send(params);
      return false;
    } else {
      alert("The Name, Sqft, and Rent fields must not be blank in order to make floor plan changes");
    }
  }
  function feeinfobox(pid,pmid,type,oid) {
    var url    = "/website/active/phpfiles/xmlresult.php";
    var fi     = encodeURIComponent(document.getElementById("fi"+oid+"chg").value);
    var params = "xmlaction=feeinfobox&parma="+pid+"&parmb="+pmid+"&parmc="+type+"&parmd="+oid+"&parme="+fi;
    dispLoadingImg(35,-15);
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"feeinfobox");};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function generalinfobox(pid,pmid,type,oid) {
    var url    = "/website/active/phpfiles/xmlresult.php";
    var gi     = encodeURIComponent(document.getElementById("gi"+oid+"chg").value);
    var params = "xmlaction=generalinfobox&parma="+pid+"&parmb="+pmid+"&parmc="+type+"&parmd="+oid+"&parme="+gi;
    dispLoadingImg(35,-15);
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"generalinfobox");};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function schoolinfobox(pid,pmid,type,oid) {
    var url    = "/website/active/phpfiles/xmlresult.php";
    var si     = encodeURIComponent(document.getElementById("si"+oid+"chg").value);
    var params = "xmlaction=schoolinfobox&parma="+pid+"&parmb="+pmid+"&parmc="+type+"&parmd="+oid+"&parme="+si;
    dispLoadingImg(35,-15);
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"schoolinfobox");};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function petinfobox(pid,pmid,type,oid) {
    var url    = "/website/active/phpfiles/xmlresult.php";
    var pi     = encodeURIComponent(document.getElementById("pi"+oid+"chg").value);
    var params = "xmlaction=petinfobox&parma="+pid+"&parmb="+pmid+"&parmc="+type+"&parmd="+oid+"&parme="+pi;
    dispLoadingImg(35,-15);
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"petinfobox");};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function contactinfobox(pid,pmid,type,oid) {
    var url    = "/website/active/phpfiles/xmlresult.php";
    var ci     = encodeURIComponent(document.getElementById("ci"+oid+"chg").value);
    var params = "xmlaction=contactinfobox&parma="+pid+"&parmb="+pmid+"&parmc="+type+"&parmd="+oid+"&parme="+ci;
    dispLoadingImg(35,-15);
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"contactinfobox");};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function commissionspecialsbox(pid,pmid,type) {
    var url    = "/website/active/phpfiles/xmlresult.php";
    var cs     = encodeURIComponent(document.getElementById("csadd").value);
    var params = "xmlaction=commissionspecialsbox&parma="+pid+"&parmb="+pmid+"&parmc="+type+"&parmd="+cs;
    dispLoadingImg(35,-15);
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"commissionspecialsbox");};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function commissioncommentbox(pid,pmid,type) {
    var url    = "/website/active/phpfiles/xmlresult.php";
    var cc     = encodeURIComponent(document.getElementById("ccadd").value);
    var params = "xmlaction=commissionbox&parma="+pid+"&parmb="+pmid+"&parmc="+type+"&parmj="+cc;
    dispLoadingImg(35,-15);
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"commissionbox");};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function commissionbox(pid,pmid,type,cid) {
    var url      = "/website/active/phpfiles/xmlresult.php";
    var mths     = document.getElementById("mnths"+cid+"add").value;
    var bdrms    = document.getElementById("bdrms"+cid+"add").value;
    var cp       = document.getElementById("cp"+cid+"add").value;
    var cf       = document.getElementById("cf"+cid+"add").value;
    var bonus    = document.getElementById("bonus"+cid+"add").value;
    var params   = "xmlaction=commissionbox&parma="+pid+"&parmb="+pmid+"&parmc="+type+"&parmd="+cid+
                                          "&parme="+mths+"&parmf="+bdrms+"&parmg="+cp+"&parmh="+cf+"&parmi="+bonus;
    dispLoadingImg(100,-15);
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"commissionbox");};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function amenitybox(pmid,type,addrem,pid,aid) {
    var url = "/website/active/phpfiles/xmlresult.php";
    var params = "xmlaction=amenitybox&parma="+pmid+"&parmb="+type+"&parmc="+addrem+"&parmd="+pid+"&parme="+aid;
    dispLoadingImg(35,-15);
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"amenity_"+type);};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function propfollowupxml(id) {
    var div = "propfollowupresults";
    var url = "/website/active/phpfiles/xmlresult.php";
    var params = "xmlaction="+div+"&parma="+id;
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,div);};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function getgooglemap(divid,lat,long,alt) {
    if (GBrowserIsCompatible()) {
      document.getElementById(divid).style.width  = 880;
      document.getElementById(divid).style.height = 580;
      var map = new GMap2(document.getElementById(divid));
      map.setCenter(new GLatLng(lat,long),alt);
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl(true));
      GEvent.addListener(map, "moveend", function() {handlegmapmove(map);});
      handlegmapmove(map);
      handlegmapmove(map);
    }
  }
  function toggleElem(elem,linkElem) {
    if (document.getElementById(elem)) {
      if (document.getElementById(elem).style.display == 'none') {
        document.getElementById(elem).style.display = 'block';
        if (document.getElementById(linkElem)) {
          if (linkElem == "mainLinkText")   {document.getElementById(linkElem).innerHTML = "[-] Property Search Filters";}
          if (linkElem == "sortLinkText")   {document.getElementById(linkElem).innerHTML = "[-] Sort Options";}
          if (linkElem == "filterLinkText") {document.getElementById(linkElem).innerHTML = "[-] Filter Options";}
          if (linkElem == "searchLinkText") {document.getElementById(linkElem).innerHTML = "[-] Search Options";}
        }          
      } else {
        document.getElementById(elem).style.display = 'none';
        if (document.getElementById(linkElem)) {
          if (linkElem == "mainLinkText")   {document.getElementById(linkElem).innerHTML = "[+] Property Search Filters";}
          if (linkElem == "sortLinkText")   {document.getElementById(linkElem).innerHTML = "[+] Sort Options";}
          if (linkElem == "filterLinkText") {document.getElementById(linkElem).innerHTML = "[+] Filter Options";}
          if (linkElem == "searchLinkText") {document.getElementById(linkElem).innerHTML = "[+] Search Options";}
        }
      }
    } 
  }
  function toggleFilterElemStatus(linkElem) {
    postxml('noop','','','filterStatus',linkElem);
  }
  function toggleAmenityFilter(type,item) {
    //document.getElementById('Chg_LoadingImg').style.visibility = "visible";
    postxml('page-wrapper','','',type,item);
  }
  function getgooglemap2(divid,lat,long,alt) {
    if (GBrowserIsCompatible()) {
      document.getElementById(divid).style.width  = 890;
      document.getElementById(divid).style.height = 700;
      var map = new GMap2(document.getElementById(divid));
      map.setCenter(new GLatLng(lat,long),alt);
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl(true));
      GEvent.addListener(map, "moveend", function() {handlegmapmove(map);});
      handlegmapmove(map);
      handlegmapmove(map);
    }
  }
  function createIcon(myimg,sizeX,sizeY) {
    var icon = new GIcon();
    icon.image = myimg;
    icon.iconSize = new GSize(sizeX,sizeY);
    icon.shadowSize = new GSize(59,32);
    icon.iconAnchor = new GPoint(5,7);
    if (sizeX == 10) {
      icon.infoWindowAnchor = new GPoint(10,5);
    } else {
      icon.infoWindowAnchor = new GPoint(20,10);
    }
    return icon;
  }
  function addMapPoint(map,lat,lng,myimg,sizeX,sizeY,iwt,isopen) {
    if (myimg != "") {
      icon = createIcon(myimg,sizeX,sizeY);
      var point = new GLatLng(lat,lng);
      var marker = new GMarker(point,icon);
//      GEvent.addListener(marker, "mouseover", function() {marker.openInfoWindowHtml(iwt);});
//      GEvent.addListener(marker, "mouseout", function() {sleep(4);marker.closeInfoWindow();});
//      GEvent.addListener(marker, "click", function() {handlegmapclick();});
      GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(iwt);})
      map.addOverlay(marker);
      if (isopen == "TRUE") {
        //marker.openInfoWindowHtml(iwt);
      }
    }
  }

// http://www.xyz.net/w/a/p/xmlresult.php?xmlaction=gmapmove&xmlactionid=2&bounds=((30.2148123, -97.89505123), (30.33347123, -97.5929123))&zoom=12

  function handlegmapmove(map) {
    var url="/website/active/phpfiles/xmlresult.php";
    var params ="xmlaction=gmapmove&xmlactionid=2";
    var bounds = map.getBounds();
//    alert(bounds);   // bounds is the lat/long of X1 and X2 points which define the rectangle
    var zoom   = map.getZoom();
    params=params+"&bounds="+bounds+"&zoom="+zoom;
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {gmapstatechanged(xmlhttp,map);};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
    return false;
  }
  function gmapstatechanged(xmlhttp,map) {
    if (xmlhttp.readyState==4) {
      var xmldom  = GXml.parse(xmlhttp.responseText);
      var xmldoc  = xmldom.documentElement;
      var markers = xmldoc.getElementsByTagName("marker");
      var paths   = xmldoc.getElementsByTagName("paths");
      var bounds  = map.getBounds();
      var iwpoint = map.getInfoWindow().getPoint();
      map.clearOverlays();
      for (var i=0; i<markers.length; i++) {
        var lat  = parseFloat(markers[i].getAttribute("lat"));
        var lng  = parseFloat(markers[i].getAttribute("lng"));
        var myimg= paths[0].getAttribute("icon")+markers[i].getAttribute("icon");
        var myiwt= markers[i].getAttribute("iwt");
        var type = markers[i].getAttribute("type");
        var sizeX= markers[i].getAttribute("X");
        var sizeY= markers[i].getAttribute("Y");
        var pn   = markers[i].getAttribute("pn");
        var url  = markers[i].getAttribute("url");
        var addr = markers[i].getAttribute("addr");
        var city = markers[i].getAttribute("city");
        var state= markers[i].getAttribute("state");
        var zip  = markers[i].getAttribute("zip");
        var tel  = markers[i].getAttribute("tel");
        var pr   = markers[i].getAttribute("pr");
        var b1   = markers[i].getAttribute("b1");
        var b2   = markers[i].getAttribute("b2");
        var b3   = markers[i].getAttribute("b3");
        var reb  = markers[i].getAttribute("reb");
        var img  = markers[i].getAttribute("img");
        var point= new GLatLng(lat,lng);
        if (bounds.containsLatLng(point) == true) {
          if (type == "property") {
            iwt =     "<table border=4 bgcolor=#F3F8FB>";
            iwt = iwt+  "<tr><td colspan=2 class=header1>"+pn+" <font style='color:blue'>(click on image)</font></td></tr>";
            iwt = iwt+  "<tr>";
            iwt = iwt+    "<td><a href='"+url+"'><img src="+img+" width=150 height=90></a></td>";
            iwt = iwt+    "<td>";
            iwt = iwt+      "<table>";
            iwt = iwt+        "<tr><td class=header2>"+addr+"</td></tr>";
            iwt = iwt+        "<tr><td class=header2>"+city+", "+state+" "+zip+"</td></tr>";
            iwt = iwt+        "<tr><td class=header2>Tel: "+tel+"</td></tr>";
            iwt = iwt+      "</table>";
            iwt = iwt+      "<table>";
            iwt = iwt+        "<tr><td class=header3>Price Range: "+pr+"</td></tr>";
            iwt = iwt+      "</table>";
            iwt = iwt+      "<table>";
            iwt = iwt+        "<tr><td class=header4><u>Cash Rebates<u></td></tr>";
            if (reb == 0) {
              if (b1 > 0)  {iwt = iwt+"<tr><td class=header4>$"+b1+" on 1 bedrooms</td></tr>";}
              if (b2 > 0)  {iwt = iwt+"<tr><td class=header4>$"+b2+" on 2 bedrooms</td></tr>";}
              if (b3 > 0)  {iwt = iwt+"<tr><td class=header4>$"+b3+" on 3 bedrooms</td></tr>";}
              if ((b1 > 0) | (b2 > 0) | (b3 > 0)) {} else {
                iwt = iwt+"<tr><td class=header4>$100 on all bedrooms</td></tr>";
              }
            } else {
              iwt = iwt+"<tr><td class=header4>"+reb+"</td></tr>";
            }
            iwt = iwt+      "</table>";
            iwt = iwt+    "</td>";
            iwt = iwt+  "</tr>";
            iwt = iwt+"</table>";
          } else {
            iwt =     "<table>";
            iwt = iwt+  "<tr><td class=metroname><a href='"+url+"'>"+myiwt+"</a></td></tr>";
            iwt = iwt+"</table>";
          }
          if (iwpoint) {
            if ((iwpoint.lat() == lat) & (iwpoint.lng() == lng)) {
              addMapPoint(map,lat,lng,myimg,sizeX,sizeY,iwt,"TRUE");
            } else {
              addMapPoint(map,lat,lng,myimg,sizeX,sizeY,iwt,"FALSE");
            }
          } else {
            addMapPoint(map,lat,lng,myimg,sizeX,sizeY,iwt,"FALSE");
          }
        }
      }
//      var bnds = markers[5].getAttribute("bounds");
//      var zoom = markers[5].getAttribute("zoom");
//      alert(bnds);
//      alert(zoom); 
    }
  }
  function handlegmapclick() {
    postxml('googlemaparea','2');
  }
  function setsidx(sidx) {
    window.document.form1.sidxbox.value = sidx;
  }
  function setsort(sort) {
    window.document.form1.sortbox.value = sort;
  }

  //calculates the geographical coordinates of a point on the bitmap
  function calcGeoPoint(map,x,y) {
    var zz= map.getZoomLevel();
    var bounds= map.getBoundsLatLng();
    var ppo= map.getCurrentMapType().getBitmapCoordinate(bounds.maxY,bounds.minX,zz);
    var gpp= map.getCurrentMapType().getLatLng(x+ppo.x,y+ppo.y,zz);
    return gpp;
  }

//          getBitmapCoordinate(y,x,zm);
//          getLatLng(x,y,zoom);
//    var boundsSW = map.getBounds.getSouthWest();
//    var boundsNE = map.getBounds.getNorthEast();
//    alert(boundsSW);
//    alert(boundsNE);

  //calculates the bitmap coordinates of a geographical point 
  function calcBitmapPoint(map,gpp) {
    var zz= map.getZoomLevel();
    var bounds= map.getBoundsLatLng();
    var ppo= map.getCurrentMapType().getBitmapCoordinate(bounds.maxY,bounds.minX,zz);
    var pp= map.getCurrentMapType().getBitmapCoordinate(gpp.y,gpp.x,zz);
    pp.x-=ppo.x;
    pp.y-=ppo.y;
    return pp;
  }
  //returns distance between two GPoints (km)
  function getDistance(pt1,pt2) {
    var x,y;
    x= 69.1 * (pt2.y - pt1.y);
    y= 69.1 * (pt2.x - pt1.x) * Math.cos(pt1.y/57.3);
    return Math.sqrt(x*x+y*y)*1.609344;
  }

  function pausecomp(millis) {
    var date = new Date();
    var curDate = null;
    do { curDate = new Date(); }
    while(curDate-date < millis);
  }



OverlayMessage=function(container)
{var parent=container.parentNode;var wrapper=document.createElement('div');wrapper.style.cssText=container.style.cssText;parent.insertBefore(wrapper,container);parent.removeChild(container);wrapper.appendChild(container);container.style.cssText='position: relative; width: 100%; height: 100%;';this.overlay=document.createElement('div');wrapper.appendChild(this.overlay);this.visibleStyle='position: relative; top: -55%; background-color: '+OverlayMessage.backgroundColor+'; width: 40%; text-align: center; margin-left: auto; margin-right: auto; padding: 2em; border: 0.08in ridge '+OverlayMessage.borderColor+'; z-index: 100; opacity: .75; filter: alpha(opacity=75);';this.invisibleStyle='display: none;';this.overlay.style.cssText=this.invisibleStyle;};OverlayMessage.backgroundColor='#9999cc';OverlayMessage.borderColor='#666699';OverlayMessage.prototype.Set=function(message)
{this.overlay.innerHTML=message;this.overlay.style.cssText=this.visibleStyle;};OverlayMessage.prototype.Clear=function()
{this.overlay.style.cssText=this.invisibleStyle;};OverlayMessage.SetBackgroundColor=function(color)
{OverlayMessage.backgroundColor=color;};OverlayMessage.SetBorderColor=function(color)
{OverlayMessage.borderColor=color;};


// ----------------------------------------------------------------
// XMLHTTP Feature to support adding favorite properties without reloading page.
// ----------------------------------------------------------------
  var xmlhttp=false;
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }

  function xmlhttpload(fragment_url, element_id) {
    var element = document.getElementById(element_id);
    element.innerHTML = 'Loading ...';
    xmlhttp.open("GET", fragment_url);
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        element.innerHTML = xmlhttp.responseText;
      }
    }
    xmlhttp.send(null);
  } // xmlhttpload

// ----------------------------------------------------------------


// ----------------------------------------------------------------
// Dynamic Drive - Javascript Tab Menu Begin 
// ----------------------------------------------------------------

  var enabletabpersistence = 1;
  var tabcontentIDs = new Object();

  function expandcontent(linkobj) {
    var ulid = linkobj.parentNode.parentNode.id;
    var ullist = document.getElementById(ulid).getElementsByTagName("li");
    for (var i=0; i<ullist.length; i++) {
      ullist[i].className = "";
      if (typeof tabcontentIDs[ulid][i] != "undefined")  {
        document.getElementById(tabcontentIDs[ulid][i]).style.display = "none";
      }
    }
    linkobj.parentNode.className = "selected";
    document.getElementById(linkobj.getAttribute("rel")).style.display = "block";
    saveselectedtabcontentid(ulid, linkobj.getAttribute("rel"));
  } // expandcontent

  function expandtab(tabcontentid, tabnumber) {
    var thetab = document.getElementById(tabcontentid).getElementsByTagName("a")[tabnumber];
    if (thetab.getAttribute("rel")) {
      expandcontent(thetab);
    }
  } // expandtab

  function savetabcontentids(ulid, relattribute)  {
    if (typeof tabcontentIDs[ulid] == "undefined") {
      tabcontentIDs[ulid] = new Array();
    }
    tabcontentIDs[ulid][tabcontentIDs[ulid].length] = relattribute;
  } // savetabcontentids

  function saveselectedtabcontentid(ulid, selectedtabid) {
    if (enabletabpersistence==1) {
      setCookie(ulid, selectedtabid);
    }
  } // saveselectedtabcontentid

  function getullistlinkbyId(ulid, tabcontentid) {
    var ullist = document.getElementById(ulid).getElementsByTagName("li");
    for (var i=0; i<ullist.length; i++) {
      if (ullist[i].getElementsByTagName("a")[0].getAttribute("rel") == tabcontentid) {
        return ullist[i].getElementsByTagName("a")[0];
        break;
      }
    }
  } // getullistlinkbyId

  function initializetabcontent() {
    for (var i=0; i<arguments.length; i++) {
      if (enabletabpersistence == 0 && getCookie(arguments[i]) != "") {setCookie(arguments[i], "");}
      var clickedontab = getCookie(arguments[i]);
      var ulobj = document.getElementById(arguments[i]);
      if (ulobj) {
        var ulist = ulobj.getElementsByTagName("li");
        for (var x=0; x<ulist.length; x++) {
          var ulistlink = ulist[x].getElementsByTagName("a")[0];
          if (ulistlink.getAttribute("rel")) {
            savetabcontentids(arguments[i], ulistlink.getAttribute("rel"));
            ulistlink.onclick = function() {expandcontent(this);return false;}
            if (ulist[x].className == "selected" && clickedontab == "") {
              expandcontent(ulistlink);
            }
          }
        } //end inner for loop
        if (clickedontab != "") {
          var culistlink = getullistlinkbyId(arguments[i], clickedontab);
          if (typeof culistlink != "undefined") {
            expandcontent(culistlink);
          } else {
            expandcontent(ulist[0].getElementsByTagName("a")[0]);
          }
        }
      }
    }
  } // initializetabcontent

  function getCookie(Name) {
    var re = new RegExp(Name+"=[^;]+", "i");
    if (document.cookie.match(re)) {
      return document.cookie.match(re)[0].split("=")[1];
    }
    return "";
  } // getCookie

  function setCookie(name, value) {
    document.ignore = name+"="+value;
  } // setCookie

// ----------------------------------------------------------------
// Dynamic Drive - Javascript Tab Menu End. 
// ----------------------------------------------------------------

  function checkSignUpForm(theForm) {
    //alert(document.getElementById("month_move_date").value);

    var why = "";
    why += checkValidUserPass(theForm.username,"Username");
    why += checkValidUserPass(theForm.password,"Password");
    why += checkPasswordMatch(theForm.password,theForm.password_confirm);
    why += checkValidEmail(theForm.email);
    why += checkValidAlphaText(theForm.firstname,"First Name");
    why += checkValidAlphaText(theForm.lastname,"Last Name");
    why += checkValidAlphaText(theForm.destcity,"Destination City");
    why += formatPhoneNumber(theForm.homephone,"Home Phone");
    why += formatPhoneNumber(theForm.cellphone,"Cell Phone");
    if (why != "") {
      alert(why);
    } else {
      parma = "signup-submit";
      parmb = document.getElementById("username").value;
      parmc = document.getElementById("password").value;
      parmd = document.getElementById("email").value;
      parme = document.getElementById("firstname").value;
      parmf = document.getElementById("lastname").value;
      parmg = document.getElementById("destcity").value;
      parmh = document.getElementById("month_move_date").value+","+document.getElementById("day_move_date").value+","+document.getElementById("year_move_date").value; 
      parmi = document.getElementById("numbedrooms").value+","+document.getElementById("numbathrooms").value; 
      parmj = document.getElementById("homephone").value+","+document.getElementById("cellphone").value;
      parmk = document.getElementById("seccode").value;
      postxml('stylized-form','','',parma,parmb,parmc,parmd,parme,parmf,parmg,parmh,parmi,parmj,parmk);
    }
    return false;  // always return false as we never want to page advance.
  }

  function checkLostUserPassForm(theForm) {
    var why = "";
    why += checkValidEmail(theForm.email);
    if (why != "") {
      alert(why);
    } else {
      parma = "lostuserpass-submit";
      parmb = document.getElementById("email").value;
      parmc = document.getElementById("seccode").value;
      postxml('stylized-form','','',parma,parmb,parmc);
    }
    return false;  // always return false as we never want to page advance.
  }

  function checkRegisterWebclientForm(theForm) {
    var why = "";
    why += checkValidText(theForm.fname,"name");
    why += checkValidText(theForm.lname,"name");
    why += checkValidEmail(theForm.email);
    if (why != "") {
      alert(why);
    } else {
      parma = "registerwebclient-submit";
      parmb = document.getElementById("fname").value;
      parmc = document.getElementById("lname").value;
      parmd = document.getElementById("email").value;
      parme = document.getElementById("month_move_date").value+","+document.getElementById("day_move_date").value+","+document.getElementById("year_move_date").value;
      parmf = document.getElementById("numbedrooms").value+","+document.getElementById("numbathrooms").value;
      parmg = document.getElementById("seccode").value;
      postxml('stylized-form','','',parma,parmb,parmc,parmd,parme,parmf,parmg);
    }
    return false;  // always return false as we never want to page advance.
  }

  function checkContactUsForm(theForm) {
    var why = "";
    why += checkValidText(theForm.name,"name");
    why += checkValidEmail(theForm.email);
    why += checkValidText(theForm.subject,"subject");
    why += checkValidText(theForm.message,"message");
    if (why != "") {
      alert(why);
    } else {
      parma = "contactus-submit";
      parmb = document.getElementById("name").value;
      parmc = document.getElementById("email").value;
      parmd = document.getElementById("subject").value;
      parme = document.getElementById("message").value;
      parmf = document.getElementById("seccode").value;
      postxml('stylized-form','','',parma,parmb,parmc,parmd,parme,parmf);
    }
    return false;  // always return false as we never want to page advance.
  }

  function pid_LRF() {
    if (document.getElementById("CCdbx")) {
      if (document.getElementById("CCdbx").value == 1) {  // 1 means "Yes"
        if ((document.getElementById("pid_LRF")) && (document.getElementById("origLRF"))) {
          document.getElementById("pid_LRF").innerHTML = document.getElementById("origLRF").value;;
        }
      }
      if (document.getElementById("CCdbx").value == 2) {  // 2 means "No"
        if (document.getElementById("pid_LRF")) {
          var parm;
          parm  = "Please find your apartment community online first.<br/>"; 
          parm += "Then click on the Report Lease button.<br/>"; 
          parm += "Once this is done, you will be able to report your lease.";
          document.getElementById("pid_LRF").innerHTML = parm;
        }
      }
    }
  }

  function checkLeaseReportForm(theForm) {
    var why = "";
    why += checkValidText(theForm.fname,"name");
    why += checkValidText(theForm.lname,"name");
    why += checkValidEmail(theForm.email);
    why += checkValidText(theForm.address,"address");
    why += checkValidText(theForm.aptnum,"aptnum");
    why += checkValidRent(theForm.rent);
    why += dropboxpopulated(theForm.refsrc,"Referral Source");
    why += dropboxpopulated(theForm.rebtype,"Rebate Type");
    why += dropboxpopulated(theForm.leaselength,"Lease Length");
    why += dropboxpopulated(theForm.CCdbx,"Apartment Community");
    if (why != "") {
      alert(why);
    } else {
      parma = "leasereport-submit";
      parmb = document.getElementById("fname").value;
      parmc = document.getElementById("lname").value;
      parmd = document.getElementById("email").value;
      parme = document.getElementById("address").value;
      parmf = document.getElementById("aptnum").value;
      parmg = document.getElementById("homephone").value;
      parmh = document.getElementById("cellphone").value;
      parmi = document.getElementById("rent").value;
      parmj = document.getElementById("refsrc").value; 
      parmk = document.getElementById("rebtype").value;
      parml = document.getElementById("leaselength").value;
      parmm = document.getElementById("numbedrooms").value;
      parmn = document.getElementById("month_sign_date").value+","+document.getElementById("day_sign_date").value+","+document.getElementById("year_sign_date").value; 
      parmo = document.getElementById("month_leasestart_date").value+","+document.getElementById("day_leasestart_date").value+","+document.getElementById("year_leasestart_date").value;
      parmp = document.getElementById("month_move_date").value+","+document.getElementById("day_move_date").value+","+document.getElementById("year_move_date").value; 
      parmq = document.getElementById("seccode").value;
      if (document.getElementById("CCdbx")) {
        parmr = document.getElementById("CCdbx").value;
      }
      postxml('stylized-form','','',parma,parmb,parmc,parmd,parme,parmf,parmg,parmh,parmi,parmj,parmk,parml,parmm,parmn,parmo,parmp,parmq,parmr);
    }
    return false;  // always return false as we never want to page advance.
  }

  function checkLeaseReportQuestForm(theForm) {
    var why = "";
    why += checkValidQuestion(theForm.Q1,1);
    why += checkValidQuestion(theForm.Q2,2);
    why += checkValidQuestion(theForm.Q3,3);
    why += checkValidQuestion(theForm.Q4,4);
    why += checkValidQuestion(theForm.Q5,5);
    why += checkValidQuestion(theForm.Q6,6);
    if (why != "") {
      alert(why);
    } else {
      parma = "leasereportQuest-submit";
      parmb = document.getElementById("Q1").value;
      parmc = document.getElementById("Q2").value;
      parmd = document.getElementById("Q3").value;
      parme = document.getElementById("Q4").value;
      parmf = document.getElementById("Q5").value;
      parmg = document.getElementById("Q6").value;
      parmh = document.getElementById("seccodeQ").value;
      postxml('stylized-form','','',parma,parmb,parmc,parmd,parme,parmf,parmg,parmh);
    }
    return false;  // always return false as we never want to page advance.
  }

  function checkValidEmail(emailid) {
    var error = "";
    if (emailid.value == "") {
      error = "Please enter your email address.\n";
    }
    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(emailid.value))) {
      error = "Please enter a valid email address.\n";
    } else {
      var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
      if (emailid.value.match(illegalChars)) {
        error = "The email address contains illegal characters.\n";
      }
    }
    if (error == "") {
      emailid.style.background = "#FFFFFF";
    } else {
      emailid.style.background = "#FFCCCC";
    } 
    return error;
  }

  function checkValidAlphaText(elem,type) {
    var error = "";
    if (elem.value == "") {
      error = type+" is not filled in.\n";
    } else {
      var alphaFilter = /^[a-zA-Z]+$/;
      if (!(alphaFilter.test(elem.value))) {
        error = type+" must only contain letters.\n";
      }
    }
    if (error == "") {
      elem.style.background = "#FFFFFF";
    } else {
      elem.style.background = "#FFCCCC";
    } 
 
    return error;
  }

  function checkValidRent(elem) {
    var error = "";
    if (elem.value == "") {
      error = "Rent field is not filled in.\n";
    } else {
      var numFilter = /^[0-9]+$/;
      if (!(numFilter.test(elem.value))) {
        error = "Rent field must only contain numbers.\n";
      } 
      if (elem.value <= 200) {
        error = "Rent field must be greater than 200.\n";
      } 
    } 
    if (error == "") {
      elem.style.background = "#FFFFFF";
    } else {
      elem.style.background = "#FFCCCC";
    } 
    
    return error;
  } 

  function checkValidUserPass(elem,type) {
    var error = "";
    if (elem.value == "") {
      error = type+ "is not filled in.\n";
    } else {
      if (elem.value.length < 5) {
        error = type+ "must be at least 5 characters long.\n";
      } else {
        var userPassFilter = /[A-Za-z]/;
        if (!(userPassFilter.test(elem.value))) {
          error = type+" can only contain alpha-numeric characters.\n"; 
        } 
      }
    }
    if (error == "") {
      elem.style.background = "#FFFFFF";
    } else {
      elem.style.background = "#FFCCCC";
    } 

    return error;
  }

  function dropboxpopulated(input,type) {
    var error = "";
    if (input) {
      if (input.value > 0) {
        if (type == "Apartment Community") {
          if (input.value == 2) { // No
            error = "The apartment community must be correct, in order to report your lease.";
          }
        }
      } else {
        error = "Must complete "+type+" dropbox.\n";
      }
      if (error == "") {
        input.style.background = "#FFFFFF";
      } else {
        input.style.background = "#FFCCCC";
      }
    } else {
      error = "Apartment Community is NOT in context.\n";
    }
    return error;
  }

  function checkValidQuestion(input,questnum) {
    var error = "";
    if (input.value > 0) {
    } else {
      error = "Please answer question #"+questnum+".\n"; 
    }
    if (error == "") {
      input.style.background = "#FFFFFF";
    } else {
      input.style.background = "#FFCCCC";
    }
    return error;
  }
  
  function checkValidText(input,type) {
    var error = "";
    if (input.value == "") {
      if (type == "name")    {error = "Please enter your name.\n";}
      if (type == "subject") {error = "Please enter a subject.\n";}
      if (type == "message") {error = "Please enter a question/comment.\n";}
      if (type == "address") {error = "\n";}
      if (type == "aptnum")  {error = "\n";}
    }
    if (input.value.length < 2) {
      if (type == "name")    {error = "Please enter both your first and last name.\n";}
      if (type == "subject") {error = "Please enter a more detailed subject.\n";}
      if (type == "message") {error = "Please enter a more detailed question/comment.\n";}
      if (type == "address") {error = "Please enter a street address.\n";}
    } else if (input.value.length > 255) {
      if (type == "name")    {error = "Please enter a valid name.\n";}
      if (type == "subject") {error = "Please provide a more specific subject.\n";}
      if (type == "message") {error = "Please limit your question/comment to 255 characters.\n";}
      if (type == "address") {error = "Please limit your street address to 255 characters.\n";}
    }
    if (type == "aptnum") {
      if (input.value.length > 10) {
        error = "Please limit your apartment number to 10 characters.\n";
      }
    }
    if (error == "") {
      input.style.background = "#FFFFFF";
    } else {
      input.style.background = "#FFCCCC";
    } 
    return error;
  }

  function checkPasswordMatch(pass,passconf) {
    var error = "";
    if (pass.value != passconf.value) {error = "Passwords do not match.\n";}
    if (error == "") {
      passconf.style.background = "#FFFFFF";
    } else {
      passconf.style.background = "#FFCCCC";
    } 

    return error;
  }

  function formatPhoneNumber(elem,type) {
    var error = "";
    if (elem.value.length != 12) {
      error = "The "+type+" you entered is not valid.\nPlease use digits 0-9 in the format xxx-xxx-xxxx.\n";
    }
    if (elem.value.search(/\d{3}\-\d{3}\-\d{4}/)==-1) {
      error = "The "+type+" you entered is not valid.\nPlease use digits 0-9 in the format xxx-xxx-xxxx.\n";
    }

    if (error == "") {
      elem.style.background = "#FFFFFF";
    } else {
      elem.style.background = "#FFCCCC";
    }
    return error; 
  }

  function pause(millis) {
    var date = new Date();
    var curDate = null;
    do { curDate = new Date(); } 
    while(curDate - date < millis);
  }

  String.prototype.trim  = function() {return this.replace(/^\s+|\s+$/g,"");}
  String.prototype.ltrim = function() {return this.replace(/^\s+/,"");}
  String.prototype.rtrim = function() {return this.replace(/\s+$/,"");}

  function onlyDigits(myfield, e) {
    var DigitsOnly = /[0-9]/g;
    if (!e) var e = window.event
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    var character = String.fromCharCode(code);
    // if they pressed esc... remove focus from field...
    if (code==27) { this.blur(); return false; }
    // ignore if they are pressing other keys
    // strange because code 39 is the down key AND ' key and DEL also equals.
    if (!e.ctrlKey && code!=9 && code!=8 && code!=36 && code!=37 && code!=38 && (code!=39 || (code==39 && character=="'")) && code!=40) {
      if (character.match(DigitsOnly)) {
        return true;
      } else {
        return false;
      }
    }
  }
  function deleteFpPhoto(pid,fpid,fppid) {
    var resp = userconfirm("deletePhoto");
    if (resp) {
      // user confirmed delete of the photo... send request
      var url    = "/website/active/phpfiles/xmlresult.php";
      var params = "xmlaction=pmDelFpPhoto&parma="+pid+"&parmb="+fpid+"&parmc="+fppid;
      dispLoadingImg(-105,45);
      var xmlhttp = createXMLHttpRequest();
      xmlhttp.open("POST",url,true);
      xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlhttp.setRequestHeader("Content-length", params.length);
      xmlhttp.setRequestHeader("Connection", "close");
      xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"pmFPPhotosbox");};
      xmlhttp.setRequestHeader('Accept','message/x-formresult');
      xmlhttp.send(params);
    } else {
      // do nothing as user cancelled action
    }
  }
  function deletePhoto(pid,ppid) {
    var resp = userconfirm("deletePhoto");
    if (resp) {
      // user confirmed delete of the photo... send request
      var url    = "/website/active/phpfiles/xmlresult.php";
      var params = "xmlaction=pmDelPhoto&parma="+pid+"&parmb="+ppid;
      dispLoadingImg(-105,45);
      var xmlhttp = createXMLHttpRequest();
      xmlhttp.open("POST",url,true);
      xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlhttp.setRequestHeader("Content-length", params.length);
      xmlhttp.setRequestHeader("Connection", "close");
      xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"pmPhotosbox");};
      xmlhttp.setRequestHeader('Accept','message/x-formresult');
      xmlhttp.send(params);
    } else {
      // do nothing as user cancelled action
    }
  } 
  function userconfirm(type) {
    var ques = type+" Unknown?";
    if (type == "deletePhoto") {ques = "Are you sure you want to delete this photo?";}
    if (type == "")            {ques = "";}
    var ans = confirm(ques);
    return ans;
  }
  function pmAddFpPhoto() {
    var url    = "/website/active/phpfiles/xmlresult.php";
    var params = "xmlaction=pmAddFpPhoto";
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"pmFPPhotosbox");};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
  }
  function pmAddPhoto() {
    var url    = "/website/active/phpfiles/xmlresult.php";
    var params = "xmlaction=pmAddPhoto";
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.onreadystatechange=function() {statechanged(xmlhttp,"pmPhotosbox");};
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(params);
  } 
  function hideLoadingImgs() {
    hideImg(document.getElementById('Chg_LoadingImg'));
    hideImg(document.getElementById('Login_LoadingImg'));
    hideImg(document.getElementById('Logout_LoadingImg'));
    hideImg(document.getElementById('sortby_LoadingImg'));
    hideImg(document.getElementById('bdf_LoadingImg'));
    hideImg(document.getElementById('prf_LoadingImg'));
    hideImg(document.getElementById('areaf_LoadingImg'));
    hideImg(document.getElementById('namesearch_LoadingImg'));
  }
  function hideImg(obj) {
    if (obj) {
      obj.style.visibility = "hidden";
    }
  }
