   var map;
   var mapLocation = 'http://10.0.8.60:2323/yh';
   var markersArray = new Object();
   var defaultArea = 'romania';
   var keyPressDelay = null;
   var myPoint;
   var header;
   	  	
   var Application =  {
      lastId: 0,
      currentSampleNb: 0,
    
      getNewId: function() {
        Application.lastId++;
        return "window_id_" + Application.lastId;
      }
    }

   
    function StartYMap() 
	{
		map = new YMap(document.getElementById('ymap'),YAHOO_MAP_REG);
		map.addZoomShort();
		map.addPanControl();
    	//map.addZoomLong();

		myPoint = new YGeoPoint(44.428894, 26.103644);
		map.drawZoomAndCenter(myPoint, 9);
		YLoadMapData(map, YMapJSONObj);
	}

    function YLoadMapData(map, data) 
    {
    	markersArray['map'] = map;
    	
    	for(var idx = 0; idx < data.markers.marker.length; idx++) 
    	{
    			var mapPoint = new YGeoPoint
    						  (parseFloat(data.markers.marker[idx].lat),  
    						   parseFloat(data.markers.marker[idx].lon));    
    			
    			var plotPoint = createYMarker(mapPoint, data.markers.marker[idx], idx);
    			map.addOverlay(plotPoint);
    	}
    }

    function createYMarker(point, data, idx) 
    {

        var myImage = new YImage(); 
        setImage(myImage, data);
      
    	var marker = new YMarker(point, 'id'+idx, myImage);
    	var html_str = getHtmlStr(data);
    	var menuObj = document.getElementById("ymap_links");    	    	    

    	if(data.area != '')
    	{
    	   document.getElementById("ymap_links").innerHTML += '<!--<div id="links_sect_header">&nbsp;' + data.area.toUpperCase() + '</div>--><div id="' + data.area + '_links"></div>';
    	}
    	
    	if(data.area == '') 
    	{
    		menuObj = document.getElementById("romania_links");
    	} 
    	else if(data.area == 'bulgaria') 
    	{
            menuObj = document.getElementById("bulgaria_links")
    	} 
    	else if(data.area == 'france') 
    	{
            menuObj = document.getElementById("france_links")
    	} 
    	else if(data.area == 'romania') 
    	{
            menuObj = document.getElementById("romania_links")
    	} 
    	else 
    	{
    		menuObj = document.getElementById("romania_links");
    	}
    	
    	//menuObj.innerHTML = '<div style="height:200px;text-align:center;margin-top:30px;"> please select a <b>Country</b> first</div>';
    	
    	if(data.area != '') 
    	{
        	menuObj.innerHTML += '<span style="font-size:12px;">&raquo;</span>&nbsp;' 
        					  + '<a href="javascript:focusOnMarker(\'' + data.name + '\',\'' + data.area + '\')">' 
        					  + data.name + '</a><br/>';
    	}
    	markersArray[data.name] = new Object();
    	markersArray[data.name]['html'] = html_str;
    	markersArray[data.name]['marker'] = marker;
    	markersArray[data.name]['point'] = point;
    	
    	YEvent.Capture(marker, EventsList.MouseClick, function() { marker.openSmartWindow(html_str) });
    	return marker;
    }


    function focusOnMarker(name, area) 
    {
    	var marker = markersArray[name]['marker'];
    	var map = markersArray['map'];
    	if (area != defaultArea) 
    	{
    		defaultArea = area;
    		map.drawZoomAndCenter(markersArray[name]['point'], 10);
    	} 
    	marker.openSmartWindow(markersArray[name]['html']);
    }
	
    function allData()
    {             
       var checkboxSelected = '';
       field = document.f;
       for(i = 0; i < field.elements.length; i++)
       {
           if(field[i].type == 'checkbox')
           {
                if(field[i].checked == true)
                {
                    checkboxSelected += field[i].value + '-';
                }   
           }
       }
       return document.getElementById('country_id').value
              + '|' + document.getElementById('region_id').value 
              + '|' + document.getElementById('jud_id').value 
              + '|' + document.getElementById('type_id').value 
              + '|' + checkboxSelected
              + '|' + document.getElementById('sch').value;    
    }
    
	function contains(a, e) 
	{
	   for(j=0;j<a.length;j++)
	   {
	       if(a[j]==e)
	       {
	           return true;
	       }
	   }
	   return false;
    }
        
    
	function handleHttpResponse()
	{
		//alert(http.readyState);
		if (http.readyState == 4)
		{
			//result = http.responseText;	
			result = eval('(' + http.responseText + ')');
              
			if(result.markers.marker.length == 0)
			{
			     document.getElementById("ymap_links").innerHTML = '<div style="height:200px;text-align:center;margin-top:30px;"> No data found<br />Please refine your search</div>';
			}
			else
			{
            	var countries = new Array();
                document.getElementById("ymap_links").innerHTML = '';
                for(var idx = 0; idx < result.markers.marker.length; idx++) 
                {
                    data =  result.markers.marker[idx];
                    var menuObj = document.getElementById("ymap_links");
                    var country = data.area + "_links";
    
                    if(data.area != '') 
                    {
                        if(contains(countries, data.area))
                        {
                            document.getElementById("ymap_links").innerHTML += '';
                        }
                        else
                        {
                            document.getElementById("ymap_links").innerHTML += '<div id="links_sect_header">&nbsp;' + data.area.toUpperCase() + '</div><div id="' + data.area + '_links"></div>';
                            countries[countries.length] = data.area;
                        }
                            
                     }
                                          
                     if(data.area == '_links') 
                     {
                		document.getElementById("romania_links").innerHTML += '<span style="font-size:12px;">&raquo;</span>&nbsp;' 
    					  + '<a href="javascript:focusOnMarker(\'' + data.name + '\',\'' + data.area + '\')">' 
    					  + data.name + '</a><br/>';
                	 } 
                	 else 
                	 {
                		document.getElementById(country).innerHTML += '<span style="font-size:12px;">&raquo;</span>&nbsp;' 
    					  + '<a href="javascript:focusOnMarker(\'' + data.name + '\',\'' + data.area + '\')">' 
    					  + data.name + '</a><br/>';
                	 }
    				 
                	 var html_str = getHtmlStr(data);
        				 
    				var GeoPoint = new YGeoPoint(data.lat, data.lon);
    				var marker = createYahooMarker(GeoPoint, idx, data, html_str);
    				map.addOverlay(marker);	 
                }
            }
             //alert(countries.length);
		}
		else
		{
		  document.getElementById("ymap_links").innerHTML = '<div align="center"><br /><br /><b>Loading...</b> <div align="center" style="padding-top:20px;padding-bottom:20px;"><img src="/images/loader.gif" align="absmiddle" /></div>';
		}

	}
        var headerLabel ='';    
	function getHtmlStr(data)
	{
	  
	  switch(data.typegen)
	  {
	      case '1':
	           headerLabel = '<img src="./type/1.png" width="22" height="22" style="margin-bottom:-5px;" /> Headquarter';
	           break;
	      case '2':
	           headerLabel = ' Gas station';
	           break;     
	      case '3':
	           headerLabel = 'Rafinery';
	           break;     
	      default: 
	  }
	  
	  var str = "<div style='width: 220px; max-width: 220px; margin: 0 3px 2px 3px; font-size:11px;'>" 
    				 + headerLabel + " - <b>" + data.name + "</b><hr class='hrr' />" 
    				 + data.address + "<br/>"
    				 + "<b>Location: </b>" + data.location + "<br/>"
    				 + "<b>District: </b>" + data.district + "<br/>"
    				 + data.description + "</br>"
    				 + "[<a href=\"#\" onclick=\"javascript:var win1 = new Window(Application.getNewId(), {className: 'alphacube', title: 'Details - " + data.name + "', top:70, left:230, width:550, height:400, resizable: true, url: 'details.php?action=preview&typegen="+ data.typegen +"&fsid=" + data.wopen + "', showEffectOptions: {duration:2}}) ;win1.show();\" class=\"details\">more details ...</a>]</div>";
    				 
    	return str;
	}
	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;
	}
	var http = getHTTPObject(); // We create the HTTP Object
	var http1 = getHTTPObject(); // We create the HTTP Object
	
	function services()
	{
        var browser = '';
        uncheckAll(document.f);
        if (browser == '')
        {
             if (navigator.appName.indexOf('Microsoft') != -1)
             {
                  browser = 'IE'
             }
             else if (navigator.appName.indexOf('Netscape') != -1)
             {
                  browser = 'Netscape'
             }
             else 
             {
                 browser = 'IE';
             }
        }

        //alert(browser);
	    if($('type_id').value == 2)
	    {
	        if(browser != 'IE')
	        {
	           new Effect.SlideDown('srv'); 
	        }
	        else
	        {
	            $('srv').style.display = 'block';
	        }
	    }
	    else
	    {
	        if(browser != 'IE' && $('srv').style.display != 'none')
	        {
	           new Effect.SlideUp('srv');
	        }
	        else
	        {
	            $('srv').style.display = 'none';
	        }	        
	    }
	    
	    return false;
	}
	
	function getData(action, str)
	{			    
		map.removeMarkersAll();
		var url = "/yh/world.php?action=" + action + "&q=" + str;
		//alert(url);
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;

		http.send(null);
	}

	function setImage(myImage,data)
	{
      //myImage.src = mapLocation + '/type/'+ data.typegen + '.png';
      myImage.src = 'http://maps.rompetrol.com/yh/type/'+ data.typegen + '.png';
      if(data.typegen == 3 || data.typegen == 1)
      {
        myImage.size = new YSize(30,30);
        myImage.offsetSmartWindow = new YCoordPoint(5,35);
      }
      else
      {
        myImage.size = new YSize(24,25);  
        myImage.offsetSmartWindow = new YCoordPoint(0,12);
      }	    
	}
	
	function createYahooMarker(geopoint, num, data, html_str) 
    {
      var myImage = new YImage(); 
      setImage(myImage,data);
     
      var marker = new YMarker(geopoint,myImage);

      //var label= "<img src=http://us.i1.yimg.com/us.yimg.com/i/us/ls/gr/" + num + ".gif>";
      //marker.addLabel(label);
      myPoint = geopoint;
      markersArray[data.name] = new Object();
      markersArray[data.name]['marker'] =  marker;
      markersArray[data.name]['point'] = myPoint;
      markersArray[data.name]['html'] = html_str;
      
      YEvent.Capture(marker,EventsList.MouseClick, function() { marker.openSmartWindow(html_str); });
      return marker;
    }
    
    function uncheckAll(field)
    {
    	for(i = 0; i < field.elements.length; i++)
    	field[i].checked = false ;
    }
    
	function handleHttpResponsePos() 
	{
		// Split the comma delimited response into an array
		if (http1.readyState == 4)
		{
			resultBig = http1.responseText.split("[ZZZZ]");
			//alert(resultBig[0]);
			//alert(resultBig[1]);

			var resultsJud = resultBig[0].split("[#]");
			document.getElementById('jud_id').length = null;
			for(var i = 0; i <= resultsJud.length-2; i+=2)
			{
                //alert(results[f+1] + '---' + results[f]);
			    document.getElementById('jud_id').options[i/2] = new Option(resultsJud[i+1],resultsJud[i]);
				document.f.jud_id.options[i/2] = new Option(resultsJud[i+1],resultsJud[i]);
			}
			
			
			var resultsReg = resultBig[1].split("[#]");
			document.getElementById('region_id').length = null;
			for(var i = 0; i <= resultsReg.length-2; i+=2)
			{
                //alert(results[f+1] + '---' + results[f]);
			    document.getElementById('region_id').options[i/2] = new Option(resultsReg[i+1],resultsReg[i]);
				document.f.region_id.options[i/2] = new Option(resultsReg[i+1],resultsReg[i]);

				
			}
			
/*			if (i > 2) {
				document.getElementById('region_id').options[1].selected = true;
			}*/
			
			
		}
	}
	
/*	function handleHttpResponsePosR() 
	{
		// Split the comma delimited response into an array
		if (http1.readyState == 4)
		{
			results = http1.responseText.split("[#]");
			//alert(http1.responseText);
            
			document.getElementById('region_id').length = null;
			for(var i = 0; i <= results.length-2; i+=2)
			{
                //alert(results[f+1] + '---' + results[f]);
			    document.getElementById('region_id').options[i/2] = new Option(results[i+1],results[i]);
				document.f.region_id.options[i/2] = new Option(results[i+1],results[i]);
			}
			
		}
	}*/
	
    function updatePossible() 
	{	
		var url = "/yh/world.php?action=newopt&q=" + $('country_id').value + "&r=" + $('region_id').value;
		
		//alert(url)
		http1.open("GET", url, true);
		http1.onreadystatechange = handleHttpResponsePos;
		http1.send(null);
	}
	
/*	function updatePossibleR() 
	{	
		var url = "/yh/world.php?action=newoptR&q=" + $('country_id').value;
		
		//alert(url)
		http1.open("GET", url, true);
		http1.onreadystatechange = handleHttpResponsePosR;
		http1.send(null);
	}*/