var currentId = '';

function doClear()
{
  document.forms['mf'].ta.value='';
  var s = '<p>For tests:'
        + ' <br>'
        + ' <br>&nbsp;1. <a href="javascript:void(0)" title="Neigbors Moscow" onClick="example1();return false;">MSK neighbors</a>'        
        + ' <br>&nbsp;2. <a href="javascript:void(0)" title="Msk Job" onClick="example2();return false;">Msk Job</a>'
        + ' <br>&nbsp;3. <a href="javascript:void(0)" title="Realty flats" onClick="example3();return false;">Realty (flats)</a>'
        + ' <br>&nbsp;4. <a href="javascript:void(0)" title="Realty loans" onClick="example4();return false;">Realty (loans)</a>'
        + ' <br>&nbsp;5. <a href="javascript:void(0)" title="Realty new build" onClick="example5();return false;">Realty (new)</a>'
        + ' <br>&nbsp;6. <a href="javascript:void(0)" title="Navigator real estate" onClick="example6();return false;">Navigator</a>'
        + ' <br>&nbsp;7. <a href="javascript:void(0)" title="Kvartira_msk livejournal" onClick="example7();return false;">Kvartira Msk</a>'
        + ' <br>&nbsp;8. <a href="javascript:void(0)" title="Msk_Kvartira livejournal" onClick="example8();return false;">Msk Kvartira</a>'
        + ' <br>'; 
  document.getElementById('discovery').innerHTML = s;
  currentId = '';
  map.clearOverlays(); 
}

function showLink()
{
  if (currentId=='')
  {
    alert("Could not get data for this link");
    return;
  }
      var s = "Link: <a href='http://linkstore.ru/metromap/pattern.jsp?w=600&h=400&id="+currentId+"' target='_blank' title='Link to this map'>My map</a>";

      s+= "<br><br>";
      s+= "For site/blog:<br>";
      s+= "<textarea style='height:70px;width:380px'>";
      s+= "<iframe src='http://linkstore.ru/metromap/pattern.jsp?w=600&h=400&id="+currentId+"' width='600px' height='400px' scrolling='none' frameborder='0'>";
      s+= "</iframe>";
      s+= "</textarea>";

  document.getElementById('mylink').innerHTML = s;
}

function doIt()
{
 
 var s = document.forms['mf'].ta.value;
 if (s=='')
 {
   alert("Please, provide RSS feeds");
   return;
 }

 var res = ''; 
 
 while (s.length>0)
 {
   var i = s.indexOf("\n");
   if (i==0)
   {
     if (s.length==1) break;
     s = s.substring(1);
     continue; 
   }
   if (i<0)
   { 
     res=processString(res,s);
     break;
   }
   else
   {
     res = processString(res,s.substring(0,i));
     s = s.substring(i);
   }
 }

 if (res!='')
 {
   document.forms['mf'].feeds.value=res;
   document.forms['mf'].submit();
   showBlock('loading');   
 }

}

function processResponse(total,geocoded,dataId,s)
{
  if (s=='')
  {
    hideBlock('loading');
    alert("Could not proceed your request");
    return;
  }

  if (s.length==0)
  {
    hideBlock('loading');
    alert("Could not geocode your data");
    return;
  }   

  for (var i=0; i<s.length; i++)
  {
    var poi = s[i];
    var point = new GLatLng(poi.lat, poi.lng);

    addPoint(point,poi.title,poi.link,poi.desc);
  }  

  hideBlock('loading');

  var ans="<table border='0'>";
  ans += "<tr>";
  ans += "<td>Total records</td>";
  ans += "<td><em>"+total+"</em></td>";
  ans += "</tr>";
  ans += "<tr>";
  ans += "<td>Geocoded</td>";
  ans += "<td><em>"+geocoded+"</em></td>";
  ans += "</tr>";
  //ans += "<tr><td colspan='2'>&nbsp;</td></tr>";
  if (geocoded>0)
  {
   ans += "<tr><td colspan='2'>";
   ans += "<a href='javascript:void(0)' style='text-decoration:none' onClick=\"showLink();return false;\">Link for my site/blog</a>";   
   ans += "<br/><br/>";
   ans += "<span id='mylink'></span>";
   ans += "</td></tr>";
  }
  ans += "</table>";

  if (dataId!='') 
    currentId = dataId;
  else
    currentId = '';

  document.getElementById('discovery').innerHTML = ans;
}

function processString(res, s)
{
  if (!validFeed(s))
  {
    alert("Invalid URL:"+s);
    return res;
  }

  var ans=res;
  if (ans.length>0) ans+="|";

  return ans+s;
}

function addPoint(point,title,link,desc)
{
//alert(title+":"+point);
    var m = new GMarker(point,{title:title});

    GEvent.addListener(m, "click", function() {
          m.openInfoWindowHtml("<div style='width:250px;height:200px;overflow:scroll'>"+title+"<br/><br/><span>"+desc+"</span><br/><a href='"+link+"' title='Details' style='text-decoration:none' target='_blank'>&gt;&gt;</a></div>");
    });
         
    map.addOverlay(m);         
}

function example1()
{
 if (document.forms['mf'].ta.value!='') document.forms['mf'].ta.value+="\n";
 document.forms['mf'].ta.value+='http://community.livejournal.com/msk_neighbors/data/rss.xml';
}

function example2()
{
  if (document.forms['mf'].ta.value!='') document.forms['mf'].ta.value+="\n";
  document.forms['mf'].ta.value+='http://community.livejournal.com/msk_job/data/rss.xml';
}

function example3()
{
  if (document.forms['mf'].ta.value!='') document.forms['mf'].ta.value+="\n";
  document.forms['mf'].ta.value+='http://realty.subscribe.ru/main/moscow/flats/rss20.xml';
}

function example4()
{
  if (document.forms['mf'].ta.value!='') document.forms['mf'].ta.value+="\n";
  document.forms['mf'].ta.value+='http://realty.subscribe.ru/main/moscow/loan/rss20.xml';
}

function example5()
{
  if (document.forms['mf'].ta.value!='') document.forms['mf'].ta.value+="\n";
  document.forms['mf'].ta.value+='http://realty.subscribe.ru/main/moscow/newb/rss20.xml';
}

function example6()
{
  if (document.forms['mf'].ta.value!='') document.forms['mf'].ta.value+="\n";
  document.forms['mf'].ta.value+='http://www.r2-navigator.ru/feeds/bsn.xml';
}

function example7()
{
  if (document.forms['mf'].ta.value!='') document.forms['mf'].ta.value+="\n";
  document.forms['mf'].ta.value+='http://community.livejournal.com/kvartira_msk/data/rss.xml';
}

function example8()
{
  if (document.forms['mf'].ta.value!='') document.forms['mf'].ta.value+="\n";
  document.forms['mf'].ta.value+='http://community.livejournal.com/msk_kvartira/data/rss.xml';
}

function errorHandler()
{
  alert("Could not proceed Geo request. Sorry ...");
}

function validFeed(s)
{
  if (s.length<10) return false;
  if (s.indexOf("http://")!=0) return false;
  return true;
}


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

function showBlock(id)
    {
      if (document.getElementById(id))
        document.getElementById(id).style.display="block";
    }

function hideBlock(id)
    {
      if (document.getElementById(id))
        document.getElementById(id).style.display="none";
    }
