		var left='';
		var gmarker=[];
		var my_points=[];
		var temp;
		var map;
		var icon3;
		var last_temp=0;
		var left_list;
    var my_crawlpoints=[];
    var cl_name;
    var cl_mail=[];
    var bitmaskson;
    var bitmasksoff;
    var startpoints=[];
    var tempsp;
    var Send_obj = getHTTPObject();
    var my_friends=['',''];
    var cl_name_ok=0;
    var cl_name_test=1;
    var old_left='';   
    var list_link='';


function fillField(field,def)
{
  if(document.getElementById(field).value=='')
    document.getElementById(field).value=def;
}
function clearField(field,def)
{
  if(document.getElementById(field).value==def)
    document.getElementById(field).value='';
}
function newemail()
{
  var mt=document.getElementById("mail_to").value;
  if(mt[0]=='<')
    document.getElementById("mail_to").value='';
}
function sendLocationToFriend(i)
{
  
  var mt=document.getElementById("mail_to").value;
  var mf=document.getElementById("mail_from").value;
  var mm=document.getElementById("mail_to_name").value;
  var ct=document.getElementById("category").value;
  
  //alert("mf "+mf+" mt "+mt+" mm "+mm);
 
  if(mt[0]!='<' && mt.length > 5 && mf.length > 1 && mm.length > 1 )
  {
    
  var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	  if(!filter.test(mt)) 
    {
      alert('Invalid E-Mail address');
    }
    else
    {
    
      if (Send_obj.readyState == 4 || Send_obj.readyState == 0)
      {
        param="d=" + i + "_amp_" + mt + "_amp_" + mf + "_amp_" + mm + "_amp_" + ct;
//alert(param);      
        Send_obj.open("POST", 'maps_mail.php', true);
        Send_obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        Send_obj.send(param);
        document.getElementById("mail_to").value="<email sent>";
      }
    }
  }
  else
  {
    alert ("Please fill in all the fields.");
  }
}

function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
  {
    try 
	{
      xmlhttp = new XMLHttpRequest();
    } 
	catch (e) 
	{
      xmlhttp = false;
    }
  }
  return xmlhttp;
}

function zoomIn()
{
  var zoom=map.getZoomLevel() -2 ;
  map.zoomTo(zoom);
}
function zoomOut()
{
  var zoom=map.getZoomLevel() +2 ;
  map.zoomTo(zoom);
}
function updateStartpoint()
{
  var t;
  t=document.getElementById("startpoint").value;
  if(t!=0)
  {
    document.getElementById("crawl_address").value=startpoints[t].address;
    document.getElementById("crawl_zip").value=startpoints[t].zip;
    var catt=document.getElementById("thecategory").value;
    var xxx=mypath+"index.php?address="+startpoints[t].address+"&zip="+startpoints[t].zip+"&search&distance=3&category="+list_category;
    //alert(xxx);
    window.location=xxx;
  }

}

function showBitmasks()
{
  try
  {
    document.getElementById("bitmask").innerHTML=bitmaskson;
  }
  catch(e)
  {
    //alert(e);
  }
}
function hideBitmasks()
{
  try
  {  
    document.getElementById("bitmask").innerHTML=bitmasksoff;
  }
  catch(e)
  {
    //alert(e);
  }
}

function clickit(i) 
{
  if(last_temp!=0)
  {
    map.removeOverlay(temp);
    map.addOverlay(gmarker[last_temp]);
  }
  gmarker[i].openInfoWindowHtml(gmarker[i].my_html);
  temp=new GMarker( my_points[i], icon3 );
  temp.my_html=gmarker[i].my_html;
  map.removeOverlay(gmarker[i]);
  map.addOverlay(temp);
  last_temp=i;
}
function crawlpoint(x,y)
{
  var cp = new Object();
  cp.location=x;
  cp.maps_id=y;
  cp.start='10:00';
  cp.end='11:00';
  my_crawlpoints.push(cp);  
  
  show_crawl_list();
}
    
function moreinfo(i,x,category)
{

  var mailform="<br/><br/><div class='sb'>Tell a friend about this place</div><br/>";
  mailform+="<form><label>Your Name</label><input type='text' name='mail_from' id='mail_from' />";
  mailform+="<input type='hidden' name='category' id='category' value='"+category+"'/>";  
  mailform+="<form><label>Friend's Name</label><input type='text' name='mail_to_name' id='mail_to_name' />";
  mailform+="<label>Friend's E-Mail</label><input type='text' name='mail_to' id='mail_to' onclick='newemail();'/>";
  mailform+="<br/><br/><input class='submitit' type='button' name='send' id='Send' value='Send' onClick='sendLocationToFriend("+x+");' /></form>";
  var new_left=gmarker[i].full_info+mailform+"<br/><input class='submitit' type='submit' onclick=\"moreinfo_close();\" value=\"Close listing\"></a>";
  
  document.getElementById("maps_left").innerHTML=new_left;
  
}
function maps_help()
{
  old_left=document.getElementById("maps_left").innerHTML;  
  var help='';
  help+="If you have any questions, please contact <a href='mailto:beer@chicago.com?subject=Question about maps'>beer@chicago.com</a>";
  
  help+="<br/><br/><div onClick='help_close();' class='help'>close help</div>";
  
  document.getElementById("maps_left").innerHTML=help;
}
function help_close()
{
  document.getElementById("maps_left").innerHTML=old_left;
}
function moreinfo_close()
{
  document.getElementById("maps_left").innerHTML=left_list;
}
function printcp_list()
{
  var t_crawl_list='';
  
  t_crawl_list+="<br/>&#171; <a class='fakelink' onclick='moreinfo_close();'>return to the list of "+list_category+"</a><br/><br/>";
  t_crawl_list+='<div class="blue_line"><div class="line_inner"><div class="blue_line_a">My Crawl List</div></div></div>';
  t_crawl_list+="<form method='post' action='save_crawl_list.php'>";
  var x=0;
  var ct=0;
  var hr=9;
  
  if(my_crawlpoints.length>0)
  {

   left_list=left_list.replace( "<!-- crawl list link -->","<div class='nav_l'><li><a class='fakelink' onclick='show_crawl_list();'>View My Crawl List</a></div>" );
   t_crawl_list+="<input type='hidden' name='category' value='"+list_category+"'/>";
   t_crawl_list+="<div class='spacer'></div>";

    for(z in my_crawlpoints)
    {
      x=my_crawlpoints[z].location;
      y=my_crawlpoints[z].maps_id;

      ct=ct+1;
   
      t_crawl_list+="<div class='lb2'>";
      t_crawl_list+="<a class='fakelink' onClick='deletecp("+z+");'><img src='images/delete.gif'/></a> ";      
      t_crawl_list+="<span stlye='display: inline'>"+gmarker[x].name+"</span>";
      t_crawl_list+="</div>";
      
      t_crawl_list+="<input type='hidden' name='marker_name["+z+"]' value='"+gmarker[x].name+"'/>";
      t_crawl_list+="<input type='hidden' name='marker_id["+z+"]' value='"+y+"'/>";      

      t_crawl_list+="<div class='lbs'>";
      t_crawl_list+='from <select class="select" id="crawl_start['+z+']" name="crawl_start['+z+']" onchange="updatecp_start('+z+');">';
      var ap='am';
      var hour=0;
      for( hr=0; hr<24; hr++)
      {
        hour=hr;
        if (hr==0)
          {hour=12;}
        if (hr>12)
          hour=hr-12;
        if (hr>11)
          {ap='pm';}
        
        t_crawl_list+="<option value='"+hour+":00"+ap+"' ";
        if(my_crawlpoints[z].start==(hour+":00"))
        {
         t_crawl_list+=" selected ";
        }
        t_crawl_list+=">"+hour+":00"+ap+"</option>";
        
        t_crawl_list+="<option value='"+hour+":30"+ap+"' ";
        if(my_crawlpoints[z].start==(hour+":30"))
        {
         t_crawl_list+=" selected ";
        }
        t_crawl_list+=">"+hour+":30"+ap+"</option>";
        
      }
      t_crawl_list+="</select>";

      t_crawl_list+=' to <select class="select"  id="crawl_end['+z+']" name="crawl_end['+z+']" onchange="updatecp_end('+z+');">';
      
      ap='am';
      hour=0;
      for( hr=0; hr<24; hr++)
      {
        hour=hr;
        if (hr==0)
          {hour=12;}
        if (hr>11)
          {ap='pm';}
        if (hr>12)
          hour=hr-12;
        t_crawl_list+="<option value='"+hour+":00"+ap+"' ";
        if(my_crawlpoints[z].start==(hour+":00"))
        {
         t_crawl_list+=" selected ";
        }
        t_crawl_list+=">"+hour+":00"+ap+"</option>";
        
        t_crawl_list+="<option value='"+hour+":30"+ap+"' ";
        if(my_crawlpoints[z].start==(hour+":30"))
        {
         t_crawl_list+=" selected ";
        }
        t_crawl_list+=">"+hour+":30"+ap+"</option>";
        
      }
      t_crawl_list+="</select>";
      t_crawl_list+="</div>";   
     }
  }
  else
  {
    t_crawl_list+="<br/>Click on the map markers, then use 'Add to my Crawl Route' to add to the Crawl List.";
  }
 
  t_crawl_list+="<br/><br/><input class='submitit' type='submit' name='save' value='save my crawl list' /><br/> or ";  
  t_crawl_list+="<br/>&#171; <a class='fakelink' onclick='moreinfo_close();'>return to the list of "+list_category+"</a>";
  
  return t_crawl_list;
}
    
  
function update_field(x)
{
  x=document.getElementByID(x).value;
}
function deletecp(x)
{

  var temp=[];
  var size=my_crawlpoints.length;

  for(var i=0;i<size;i++)
  {
    if(i!=x)
      temp.push(my_crawlpoints[i]);
  }
  
  my_crawlpoints=[];
  my_crawlpoints=temp;
  
  show_crawl_list();
}
function show_crawl_list()
{
   crawl_list=printcp_list();
   document.getElementById("maps_left").innerHTML=crawl_list;
}
function updatecp_start(x)
{
  my_crawlpoints[x].start=document.getElementById("crawl_start[" + x + "]").value;
}
function updatecp_end(x)
{
  my_crawlpoints[x].end=document.getElementById("crawl_end[" + x + "]").value;
}
function saveCrawlListForm()
{
  var text='';
  var m;

  var cattt='';
  
  switch(list_category)
  {
    case "bars": 
      cattt="Pub"; break;
    default:
  }
  
  
  text+="<div class='red_line'><div class='line_inner'><div class='red_line_a'>Save your crawl</div></div></div>";
  text+="<div class='spacer'></div><form>";

  text+="<label>Name Your "+cattt+" Crawl</label>";
  text+="<input type='text' name='list_name' id='list_name' onChange='checkListName();'/><br/>";
  
  text+="<label>Your Name</label>";
  text+="<input type='text' name='list_author_name' id='list_author_name'/><br/>";
  text+="<label>Your E-Mail</label>";
  text+="<input type='text' name='list_author' id='list_author'/><br/>";

  text+="<label>"+cattt+" Crawl Date</label>";
  text+="<input type='hidden' name='list_date' id='list_date'/>";
  text+="<input style='width: 20px;' value='mm' maxlength=2 type='text' name='list_month' id='list_month' onClick='clear_date(\"list_month\",\"mm\");' onKeyUp='check_date(\"list_month\")';/> / ";
  text+="<input style='width: 20px;' value='dd' maxlength=2 type='text' name='list_day' id='list_day' onClick='clear_date(\"list_day\",\"dd\");'onKeyUp='check_date(\"list_day\")'/> / ";
  text+="<input style='width: 40px;' value='yyyy' maxlength=4 type='text' name='list_year' id='list_year' onClick='clear_date(\"list_year\",\"yyyy\");'/><br/>";
  
  text+="<input type='hidden' name='category' id='category' value='"+list_category+"'/><br/>";  
  text+="<div id='cl_emails'>";
  text+="<div class='blue_line'><div class='line_inner'><div class='blue_line_a'>Mail to friends</div></div></div>";
  text+="<div class='spacer'></div>";
  text+="<label>Friend's E-Mail</label>";
  text+="<input type='text' name='cl_email[0]' id='cl_email[0]' onChange='clFriends();'/><br/>";
  text+="<label>Friend's E-Mail</label>";
  text+="<input type='text' name='cl_email[1]' id='cl_email[1]' onChange='clFriends();'/><br/>";
  text+="</div>";
  text+="<br/><input class='submitit' type='button' id='cl_save' name='Save' value='Save and Mail' onClick='saveThisList();'/>";
  text+="</form>";
  
  return text;
}
function clear_date(field,def)
{
  f=document.getElementById(field);
  
  if (f.value=def)
    f.value='';
}
function check_date(field)
{
  var f;
  f=document.getElementById(field);
  //alert(f);
  
  if(field=='list_month')
  {
    if(f.value.length==1 && f.value!='1' && f.value!='0' )
    {
      f.value='0'+f.value;
    }
    if(f.value.length==2 && f.value!='mm')
    {
      clear_date('list_day','dd');
      document.getElementById('list_day').focus();
    }
  }
  
  
  if(field=='list_day')
  {
    if(f.value.length==1 && f.value>3 )
    {
      f.value='0'+f.value;
    }
    if(f.value.length==2 && f.value!='dd')
    {
      clear_date('list_year','yyyy');
      document.getElementById('list_year').focus();
    }
  }
  
}
function clFriends()
{
  var text='';
  var m;
  var t1;
  var ok=0;
  
 for (m=0; m<my_friends.length; m++)
 {
   my_friends[m]=document.getElementById("cl_email["+m+"]").value;
   var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	  if(my_friends[m].length>0 && !filter.test(my_friends[m])) 
    {
      alert('Invalid E-Mail address');
      document.getElementById("cl_email["+m+"]").style.borderColor="red";
      return;
    }
    else
    {
      document.getElementById("cl_email["+m+"]").style.borderColor="black";
      ok=1;
    }
 }

 if( document.getElementById("cl_email["+(my_friends.length-2)+"]").value!='' && ok)
   my_friends.push('');
 
 text+="<div class='sb'>Mail to Friends</div>"; 
 for (m=0; m<my_friends.length; m++)
 {
  text+="<label>Friend's E-Mail</label>";
  text+="<input type='text' name='cl_email["+m+"]' id='cl_email["+m+"]' value='"+my_friends[m]+"'onChange='clFriends();'/><br/>";
 }

 document.getElementById("cl_emails").innerHTML=text;
 if(ok)
   document.getElementById("cl_email["+(my_friends.length-2)+"]").focus();
 
}
function saveThisList()
{
  document.getElementById("cl_save").value='checking data...';
     
  var la=document.getElementById("list_author").value;
  var lan=document.getElementById("list_author_name").value;
  var ln=document.getElementById("list_name").value;
  var ld=document.getElementById("list_month").value+"/"+document.getElementById("list_day").value+"/"+document.getElementById("list_year").value;
 
  
  var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	  if(!filter.test(la)) 
    {
      alert('Invalid E-Mail address in the "Your E-Mail" field');
      document.getElementById("cl_save").value='Check Data';
      return;
    }

    if(lan.length<2)
    {
      alert('Please enter Your Name');
      document.getElementById("cl_save").value='Check Data';
      return;
    }
    
    if(ld.length !=10)
    {
      alert('Please enter the Crawl List Date in the mm/dd/yyyy format');
      document.getElementById("cl_save").value='Check Data';
      return;
    }
    else
    {
      document.getElementById("list_date").value=ld;
    }

    if(cl_name_ok==0)
    {
      alert('That Crawl List Name is already used, please choose another');
      document.getElementById("cl_save").value='Check Data';
      return;
    }
 
    if(ln.length<1)
    {
      alert('Please enter a Crawl List Name');
      document.getElementById("cl_save").value='Check Data';
      return;
    }
    
    document.getElementById("cl_save").value='Save and Mail';

    save_and_mail();
    
}
function checkListName() 
{
  name=document.getElementById("list_name").value;

  	Send_obj.open("GET",'crawl_list_check_name.php?name='+name, true);
    Send_obj.onreadystatechange = handlehHttpCheckName; 
    try
    {
      Send_obj.send(null);
    }
    catch (e) 
    {
    }
    
}
function handlehHttpCheckName() 
{
	if (Send_obj.readyState == 4) 
	{  
    var x=Send_obj.responseText;
    cl_name_ok=x;
    
     if(cl_name_ok==0)
    {
      document.getElementById("cl_save").value='Check Data';
      document.getElementById("list_name").focus();
      document.getElementById("list_name").style.borderColor="red";
      alert('That Crawl List Name is already used, please choose another');
      return;
    }
    else
    {
      document.getElementById("list_name").style.borderColor="black"; 
    }
	}
}
function save_and_mail()
{
  var la=document.getElementById("list_author").value;
  var lan=document.getElementById("list_author_name").value;  
  var ln=document.getElementById("list_name").value;
  var ld=document.getElementById("list_date").value;
  var m;
  
  param="list_author_name="+lan+"&list_author="+la+"&list_name="+ln+"&list_date="+ld;
  
  for(m=0;m<my_friends.length;m++)
  {
    if(my_friends[m].length>0) 
      param+="&email["+m+"]="+my_friends[m];
  }

  if (Send_obj.readyState == 4 || Send_obj.readyState == 0)
  {
    Send_obj.open("POST", 'crawl_save.php', true);
    Send_obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    Send_obj.send(param); 
  }
  
  list_link=crawlURL+"?name="+ln;

  document.getElementById("maps_left").innerHTML="<div class='sb'>Save Your Crawl</div><br/>List saved and sent...<br/>You can see it <a href='"+list_link+"'>here</a><br/><br/><a class='fakelink' href='index.php'>Start a New Search</a>";
}

