﻿
var IsForPost = false;


this.tooltip = function() {
    /* CONFIG */
    xOffset = 10;
    yOffset = 20;
    // these 2 variable determine popup's distance from the cursor
    // you might want to adjust to get the right result		
    /* END CONFIG */
    $("td.tooltip").hover(function(e) {
        this.t = this.title;
        this.title = "";
        $("body").append("<p id='tooltip'>" + this.t + "</p>");
        $("#tooltip")
			.css("top", (e.pageY - xOffset) + "px")
			.css("left", (e.pageX + yOffset) + "px")
			.fadeIn("fast");
    },
	function() {
	    this.title = this.t;
	    $("#tooltip").remove();
	});
	$("td.tooltip").mousemove(function(e) {
        $("#tooltip")
			.css("top", (e.pageY - xOffset) + "px")
			.css("left", (e.pageX + yOffset) + "px");
    });
};


function activateModelIPTV() {
//    if ($('#chkSomeModel').attr('checked') == true) {
        $('#chkmodel').removeAttr('disabled');
        $('#chkIPTV').removeAttr('disabled');
        Show_model_or_iptv = true;
        $('#inxEvryzon').hide();

        if ($('#chkmodel').attr('checked') == false && $('#chkIPTV').attr('checked') == false) {
            $('#chkmodel').attr('checked', "true");
            ShowHidemodel(true);
        } 
        else if ($('#chkmodel').attr('checked') == true)
        {
            ShowHidemodel(true);
        }
        else if ($('#chkIPTV').attr('checked') == true) {
            ShowHideIPTV(true);
        }
        myMap.setMapType(1);
//    }
//    else {
//     
//        $('#chkmodel').attr('disabled', "disabled");
//        $('#chkIPTV').attr('disabled', "disabled");
//                
//        Show_model_or_iptv = false;
//        
//        $('#inxmodel').hide();
//        $('#inxIPTV').hide();
//    }
    $(".hybrid_tile_Map").remove();
    myMap.checkTiles();
}
function ShowHidemodel(force)
{
    if (force) {
        Show_model = true;
        Show_IPTV = false;
        $('#chkmodel').attr('checked', "true");

    }
    else {
        Show_model = $('#chkmodel').attr('checked');
        Show_IPTV = !Show_model;
    }

    if (Show_model) {
        $('#inxmodel').show();
        $('#inxIPTV').hide();
        
    }
    else
        $('#inxmodel').hide();

    $(".hybrid_tile_Map").remove();
    myMap.checkTiles();
}


function ShowHideIPTV(force) {
    if (force) {
        Show_IPTV = true;
        Show_model = false;
        $('#chkIPTV').attr('checked', "true");

    }
    else {
        Show_IPTV = $('#chkIPTV').attr('checked');
        Show_model = !Show_IPTV;
    }

    if (Show_IPTV) {
        $('#inxIPTV').show();
        $('#inxmodel').hide();
    }
    else
        $('#inxIPTV').hide();
        
    $(".hybrid_tile_Map").remove();
    myMap.checkTiles();
}

function ShowHideCentrespoly(force) {
    if (force) {
        Show_Centrespoly = true;
        $('#chkCentrespoly').attr('checked', "true");
    }
    else
        Show_Centrespoly = $('#chkCentrespoly').attr('checked');
    if (Show_Centrespoly) {
        $('#inxCentrespoly').show();


        $('#inxmodel').hide();
        $('#inxIPTV').hide();
		if (!IsForPost)
			$('#inxEvryzon').show();
			
        $('#chkmodel').attr('disabled', "disabled");
        $('#chkIPTV').attr('disabled', "disabled");
        Show_model_or_iptv = false;
        $(".hybrid_tile_Map").remove();
        
    }
    else {
        $('#inxEvryzon').hide();
        Show_model_or_iptv = true;
    }
    myMap.setMapType(2);
    myMap.checkTiles();
}

function ShowHideForeis(force) {
    if (force) {
        Show_Foreis = true;
        $('#chkForeis').attr('checked', "true");
    }
    else
        Show_Foreis = $('#chkForeis').attr('checked');
    if (Show_Foreis)
        $('#inxForeis').show();
    else
        $('#inxForeis').hide();
    $(".hybrid_tile_Map").remove();
    myMap.checkTiles();
}

// JScript File

var next_trans = "επόμενη";
var prev_trans = "προηγούμενη";
var Image_trans = "Εικόνα";
var from_trans = "από";
var close_trans = "κλείσιμο";
var orEscKey_trans = " ή πλήκτρο ESC";

function MyInit(cag)
{
    var n;
    
    if (typeof(cag)=="undefined")
        cag = false;
    myMap = new GV_Map('Map',2, 10 , cag, false,n,true, true);
    myOverviewMap = new GV_Map('OverviewMap',0, 0 , true, true, myMap);
    myMap.MyOverview = myOverviewMap;
    myMap.DoResize();
    myMap.ZoomToExtent(92777,4624355,914300,3846678); //that's greece
    
}

function MyInitXYPicker()
{
    var n;
    myMap = new         GV_Map('Map'        ,2, 10  , true, false,n     ,true, true,n,n,n,true);
    myOverviewMap = new GV_Map('OverviewMap',0, 0   , true, true, myMap);
    myMap.MyOverview = myOverviewMap;
    myMap.DoResize();
    myMap.ZoomToExtent(92777,4624355,914300,3846678);
}

function MyInitEETT(forPost)
{
	if (forPost)
		IsForPost = true;
		
    var n;
    myMap = new         GV_Map('Map'        ,2, 10  , true, false,n     ,false, true,n,n,n,true);
    myOverviewMap = new GV_Map('OverviewMap',0, 0   , true, true, myMap);
    myMap.MyOverview = myOverviewMap;
    myMap.DoResize();
//    myMap.Zoom(12);
//    myMap.ZoomToExtent(406853,4501264,415821,4492100); // that's thessaloniki
    myMap.ZoomToExtent(92777, 4624355, 914300, 3846678); //that's greece
    $("#inxmodel").show();
    tooltip();
	

}



function InsertAddressPin(x,y, h,id)
{
    myMap.Zoom(12);
    var header = unescape(h);
    myMap.InsertPin(x,y, header, 0, id, true,false );
}

function InsertDimosPin(x,y, h,id)
{
    myMap.Zoom(9);
    var header = unescape(h);
    myMap.InsertPin(x,y, header, 0, id, true,false );
}

    function ShowTab(tabName)
	{
	    var MapsFrameContainer = document.getElementById('MapsFrame');
	    var AddressFrameContainer = document.getElementById('AddressFrame');
		var poiContainer = document.getElementById('PoiFrame');
		var taxydContainer = document.getElementById('TaxydFrame');
		var peContainer = document.getElementById('ParoxoiFrame');
		
		AddressFrameContainer.style.display = 'none';
		if (MapsFrameContainer)
		MapsFrameContainer.style.display = 'none';
		if (poiContainer)
		poiContainer.style.display = 'none';
		if (taxydContainer)
		taxydContainer.style.display = 'none';
		if (peContainer)
		peContainer.style.display = 'none';
		
		switch(tabName)
		{
			case 'AddressFrame':
				AddressFrameContainer.style.display = 'block';
				//myMap.setMapType(1);
				break;

            case 'MapsFrame':
				MapsFrameContainer.style.display = 'block';
				//myMap.setMapType(1);
				break;

			case 'PoiFrame':
				poiContainer.style.display = 'block';
				//myMap.setMapType(1);
				break;
				
			case 'TaxydFrame':
				taxydContainer.style.display = 'block';
				//myMap.setMapType(1);
				break;
				
			case 'ParoxoiFrame':
				peContainer.style.display = 'block';
				//myMap.setMapType(2);
				break;
		}
		
		//resultsManager.setHeight(MainContainer.getHeight() - LeftContainer.getHeight() - 55);
	    FixResultAreaHeight();
	};
	
	function MouseOutHeader(tabHeaderName)
	{
	    var tabHeader = document.getElementById(tabHeaderName);
	    tabHeader.style.color = '#005aa9';
	};
	
	function MouseOverHeader(tabHeaderName)
	{
	    var tabHeader = document.getElementById(tabHeaderName);
	    tabHeader.style.color = '#ef0000';
	};
	
    function MouseOutResult(tabHeaderName)
	{
	    var tabHeader = document.getElementById(tabHeaderName);
	    tabHeader.style.color = '#ffffff';
	};
	
	function MouseOverResult(tabHeaderName)
	{
	    var tabHeader = document.getElementById(tabHeaderName);
	    tabHeader.style.color = 'Red';
	};
	
	function ChangedNaviText()
	{
	    var NaviFrom = document.getElementById('navi_from');
	    var NaviTo = document.getElementById('navi_to');
	    var DoNavi = document.getElementById('do_navi');
	
	    if (NaviFrom.value == '' || NaviTo.value=='')
	        DoNavi.disabled = true;
	    else
	        DoNavi.disabled = false;  
	};

var searching=false;

function searchPraxi()
{
    if (searching)
        return;
    searching=true;
    
    var praxi = document.getElementById("txtPraxi");

    var d = '<div id="ResultHeaderTmp" class="result_header">' +
        '<img style="float:left" alt="Παρακαλώ περιμένετε..." src="resources/images/callbackActivityIndicator.gif" />' +
        '<span id="resheadtxtTmp" class="result_header_text">&nbsp;' +
        praxi.value +'</span></div>';

    $("#Results").prepend(d);
    var sType = "ArxIdioCode";
    if ($("#DropDownList2")[0][1].selected)
    {
        sType = "Onoma";
    }
    else if ($("#DropDownList2")[0][2].selected)
    {
        sType = "OikTet";
    }
    
    $.get(handlers_url+"GetPraxeis.ashx?"+sType+"="+escape(praxi.value), function(data){
    $("#ResultHeaderTmp").remove();
    var newPinId = "addrPin"+(addrPinCnt++);
    res = FindPraxi(praxi.value,data,"undefined",newPinId);
    DisplayResult("Πράξεις: "+praxi.value,res,"undefined",0,newPinId);
//    if (res[2]==1)
//        eval(res[3]);
    searching=false;
    });
    setTimeout('FixResultAreaHeight();',100);

}

var addrPinCnt=0;
function searchStreet()
{
    if (searching)
        return;
    searching=true;
    var address = document.getElementById("search_address");

    var d = '<div id="ResultHeaderTmp" class="result_header">' +
        '<img style="float:left" alt="Παρακαλώ περιμένετε..." src="resources/images/callbackActivityIndicator.gif" />' +
        '<span id="resheadtxtTmp" class="result_header_text">&nbsp;' +
        address.value +'</span></div>';

    $("#Results").prepend(d);
    
    //$.get(handlers_url+"GetAddressTom3.ashx?add="+escape(address.value), function(data){
    var url = "http://www.terra.gr/map/services/getAddress.ashx?lat=0&add=" + escape(address.value);
    $.getJSON(url + "&callback=?", function(data) {
    $("#ResultHeaderTmp").remove();
    var newPinId = "addrPin"+(addrPinCnt++);
    res = FindAddress(address.value,data,false,false,"undefined",newPinId);
    DisplayResult("Διεύθυνση: "+res[0],res[1],"undefined",0,newPinId);
    if (res[2]==1)
        eval(res[3]);
    searching=false;
    });
    setTimeout('FixResultAreaHeight();',100);
}

function FindAddress(address, data, IsForNavi, IsStart, rn, newPinId) {
    // format data and call DisplayResult
    var foundAddr = "";
    var formatted = data;
    var calloutExp;
    var command;

    var xy;
    var isDimos = false;
    //    if (data.indexOf('%%')==0)
    //    {
    //    // Found coords!
    //        var coords = data.split('%');
    //        xy=[ replaceAll(coords[2],",","."), replaceAll(coords[3],",",".") ];
    //        results_count=1;
    //        foundAddr="Συντεταγμένες "+ coords[2] +", "+ coords[3];
    //        formatted="Συντεταγμένες "+ coords[2] +", "+ coords[3];
    //        if (IsForNavi)
    //        {
    //            if (IsStart)
    //                command = 'FindProor('+xy[0]+','+xy[1]+',"abba","'+foundAddr+'");';
    //            else
    //                command = 'FindRouteWithProor('+xy[0]+','+xy[1]+',"abba","'+foundAddr+'");';
    //            if (typeof(rn) !="undefined")
    //                command = replaceAll(command,"abba",rn);
    //        }
    //        else
    //            command = 'InsertAddressPin('+xy[0]+','+xy[1]+',escape("'+foundAddr+'"),"'+newPinId+'");';
    //    }
    //    else 
    //    {
    if (data.length > 0) {



        formatted = "";

        foundAddresses = data;

        var htmlAdd = '';
        var htmlPoleis = '';

        var countAddress = 0;
        var countPoleis = 0;

        var done = false;
        var lastType = 0;
        var lastG = '';


        for (var i = 0; i < data.length; i++) {

            if (data[i].addType != lastType) {
                if (lastType == 1 && i == 1)
                    break;

                lastType = data[i].addType;

                switch (lastType) {
                    case 1: { htmlAdd += "<br/><b><span class='result_desc'>Οδοί όπου βρέθηκε ο αριθμός</span></b><br/>"; break; }
                    case 5: { htmlAdd += "<br/><b><span class='result_desc'>Οδοί όπου δεν βρέθηκε ο αριθμός</span></b><br/>"; break; }
                    case 3: { htmlAdd += "<br/><b><span class='result_desc'>Διασταύρωση</span></b><br/>"; break; }
                    case 4: { htmlPoleis += "<br/><b><span class='result_desc'>Πόλεις – Χωριά</span></b><br/>"; break; }
                }

            }

            if ((data[i].addNumb == 0) && (done == false)) {
                htmlAdd += '<br/><br/> διευθύνσεις που δεν βρέθηκε ο αριθμός:'; done = true;
            }

            //lastG = guid();

            data[i].addFormated = replaceAll(data[i].addFormated, "<b>", "");
            data[i].addFormated = replaceAll(data[i].addFormated, "</b>", "");

            if (lastType != 4) {
                if (IsForNavi) {
                    if (IsStart)
                        command = 'FindProor(' + data[i].addPoint.x + ',' + data[i].addPoint.y + ',"abba","' + data[i].addFormated + '");';
                    else
                        command = 'FindRouteWithProor(' + data[i].addPoint.x + ',' + data[i].addPoint.y + ',"abba","' + data[i].addFormated + '");';
                    if (typeof (rn) != "undefined")
                        command = replaceAll(command, "abba", rn);

                }
                else
                    command = 'InsertAddressPin(' + data[i].addPoint.x + ',' + data[i].addPoint.y + ',"' + escape(data[i].addFormated) + '","' + newPinId + '");';
                var f = '<span class="result" onmouseout="this.style.color = \'#5a74a0\'" onmouseover="this.style.color = \'Red\'" onclick=\'' + command + '\'>' + data[i].addFormated + '</span><br/>';



                htmlAdd += f; //"<br/><a href='#' onclick='selectAddress(\"" + lastG + "\"," + i + ");return false;'>" + data[i].addFormated + "</a>";
                countAddress += 1;
            } else {

                if (IsForNavi) {
                    if (IsStart)
                        command = 'FindProor(' + data[i].addPoint.x + ',' + data[i].addPoint.y + ',"abba","' + data[i].addFormated + '");';
                    else
                        command = 'FindRouteWithProor(' + data[i].addPoint.x + ',' + data[i].addPoint.y + ',"abba","' + data[i].addFormated + '");';
                    if (typeof (rn) != "undefined")
                        command = replaceAll(command, "abba", rn);

                }
                else
                    command = 'InsertDimosPin(' + data[i].addPoint.x + ',' + data[i].addPoint.y + ',"' + escape(data[i].addFormated) + '","' + newPinId + '");';

                var f = '<span class="result" onmouseout="this.style.color = \'#5a74a0\'" onmouseover="this.style.color = \'Red\'" onclick=\'' + command + '\'>' + data[i].addFormated + '</span><br/>';

                htmlPoleis += f; //"<br/><a href='#' onclick='selectAddress(\"" + lastG + "\"," + i + ");return false;'>" + data[i].addFormated + "</a>";
                countPoleis += 1;
            }

        }
        formatted = htmlAdd + htmlPoleis;


        //        var categories = data.split('@');
        //        var oneGood=false;
        //        for (var j=0; j<categories.length;j++)
        //        {
        //            var results = categories[j].split('$');
        //            var Header;
        //            if (j == 0) {
        //                if (results[0] == "") {
        //                    if (categories[2] == '')
        //                        Header = '<span class="result_desc">Δεν βρέθηκαν διευθύνσεις "' + address + '" με σωστή αρίθμηση</span><br/>';
        //                    else
        //                        Header = '';
        //                }
        //                else {
        //                    Header = '<span class="result_desc">Διευθύνσεις "' + address + '":</span><br/><br/>';
        //                    oneGood = true;
        //                }
        //                formatted += Header;
        //            }
        //            else if (j == 1) {
        //                if (results[0] != "") {
        //                    Header = '<br/><span class="result_desc">Οδοί που δεν βρέθηκε ο αριθμός:</span><br/><br/>';
        //                    oneGood = true;
        //                    formatted += Header;
        //                }
        //            }
        //            //                else if (j==2 && !oneGood)
        //            //                {
        //            //                    Header = '<br/><span class="result_desc">Οδοί που δεν βρέθηκε ο αριθμός:</span><br/><br/>';                    
        //            //                    formatted += Header;
        //            //                }
        //            else if (j == 2) {
        //                if (results[0] != "") {
        //                    Header = '<br/><span class="result_desc">Διασταυρώσεις:</span><br/><br/>';
        //                    oneGood = true;
        //                    formatted += Header;
        //                }
        //            }

        //            else if (j == 3) {
        //                if (results[0] != "") {
        //                    Header = '<span class="result_desc">Βρέθηκαν πόλεις ή/και χωριά:</span><br/><br/>';
        //                    formatted += Header;
        //                    isDimos = true;
        //                }
        //            }
        //            if (j!=3)
        //            {                
        //                var onlyAccept100=false;

        //                for (var i=0; i<results.length;i++)
        //                {
        //                    var res = results[i].split(';');
        //                    if (res[0]!="" && (!onlyAccept100 || res[0]==100) )
        //                    {
        //                        var score = parseInt(res[0]);
        //    //                            if (score==100)
        //    //                                onlyAccept100=true;
        //                        results_count++;
        //                        if (j == 0 || j == 1) {
        //                            var num = "";
        //                            if (j != 1)
        //                                num = ' ' + res[3];
        //                            xy = res[5].split('-');
        //                            foundAddr = res[2] + num + ', ' + res[4];
        //                        }
        //                        else // j==2! Diastayrwseis
        //                        {
        //                            var num1 = "";
        //                            var num2 = "";
        //                        
        //                            if (res[3] != "0")
        //                                num1 = ' ' + res[3];
        //                            if (res[6] != "0")
        //                                num2 = ' ' + res[6];
        //                            
        //                            xy = res[8].split('-');
        //                            foundAddr = res[2] + num1 + ' και ' + res[5] + num2 + ', ' + res[7];
        //                        }
        //                        calloutExp = escape(foundAddr);
        //                        if (IsForNavi)
        //                        {
        //                            if (IsStart)
        //                                command = 'FindProor('+xy[0]+','+xy[1]+',"abba","'+foundAddr+'");';
        //                            else
        //                                command = 'FindRouteWithProor('+xy[0]+','+xy[1]+',"abba","'+foundAddr+'");';
        //                            if (typeof(rn) !="undefined")
        //                                command = replaceAll(command,"abba",rn);

        //                        }
        //                        else
        //                            command = 'InsertAddressPin('+xy[0]+','+xy[1]+',"'+escape(calloutExp)+'","'+newPinId+'");';
        //                        var f = '<span class="result" onmouseout="this.style.color = \'#5a74a0\'" onmouseover="this.style.color = \'Yellow\'" onclick=\''+command+'\'>' + foundAddr + '</span><br/>';
        //                        
        //                        formatted += f;
        //                    }   
        //                }
        //            }
        //            else
        //            {
        //                for (var i=0; i<results.length;i++)
        //                {
        //                    var res = results[i].split(';');
        //                    if (res[0]!="")
        //                    {
        //                        results_count++;

        //                        xy = res[3].split('-');
        //                        calloutExp = escape( res[2]);
        //                        foundAddr = res[2];
        //                        if (IsForNavi)
        //                        {
        //                            if (IsStart)
        //                                command = 'FindProor('+xy[0]+','+xy[1]+',"abba","'+foundAddr+'");';
        //                            else
        //                                command = 'FindRouteWithProor('+xy[0]+','+xy[1]+',"abba","'+foundAddr+'");';
        //                            if (typeof(rn) !="undefined")
        //                                command = replaceAll(command,"abba",rn);

        //                        }
        //                        else
        //                            command = 'InsertDimosPin('+xy[0]+','+xy[1]+',"'+escape(calloutExp)+'","'+newPinId+'");';
        //                        var f = '<span class="result" onmouseout="this.style.color = \'#5a74a0\'" onmouseover="this.style.color = \'Yellow\'" onclick=\''+command+'\'>' + foundAddr + '</span><br/>';
        //                        
        //                        formatted += f;
        //                    }
        //                }
        //            }
        //        }
    }
    else {
        if (IsForNavi) {
            if (IsStart) {
                formatted = 'Η διεύθυνση αφετηρίας δεν βρέθηκε';
            }
            else {
                formatted = 'Η διεύθυνση προορισμού δεν βρέθηκε';
            }
        }
        else
            formatted = 'Η διεύθυνση δεν βρέθηκε';
    }
    if (typeof (rn) != "undefined" && rn != "undefined" && rn != "abba")
        formatted = replaceAll(formatted, "abba", rn);

    //}
    if (data.length > 0)
        return [address, formatted, i, command, [data[0].addPoint.x, data[0].addPoint.y], data[0].addFormated, data[0].addType == 4];
    else
        return [address, formatted, 0, null, null, null, false];
}


function FindAddressOld(address,data, IsForNavi, IsStart, rn,newPinId) {
    // format data and call DisplayResult
    var foundAddr = "";
    var formatted = data;
    var calloutExp;
    var command;
    var results_count = 0;
    var xy;
    var isDimos = false;
    if (data.indexOf('%%') == 0) {
        // Found coords!
        var coords = data.split('%');
        xy = [replaceAll(coords[2], ",", "."), replaceAll(coords[3], ",", ".")];
        results_count = 1;
        foundAddr = "Συντεταγμένες " + coords[2] + ", " + coords[3];
        formatted = "Συντεταγμένες " + coords[2] + ", " + coords[3];
        if (IsForNavi) {
            if (IsStart)
                command = 'FindProor(' + xy[0] + ',' + xy[1] + ',"abba","' + foundAddr + '");';
            else
                command = 'FindRouteWithProor(' + xy[0] + ',' + xy[1] + ',"abba","' + foundAddr + '");';
            if (typeof (rn) != "undefined")
                command = replaceAll(command, "abba", rn);
        }
        else
            command = 'InsertAddressPin(' + xy[0] + ',' + xy[1] + ',escape("' + foundAddr + '"),"' + newPinId + '");';
    }
    else {
        if (data != "@@@") {
            if (data.indexOf('$') != -1) {
                formatted = "";
                var categories = data.split('@');
                var oneGood = false;
                for (var j = 0; j < categories.length; j++) {
                    var results = categories[j].split('$');
                    var Header;
                    if (j == 0) {
                        if (results[0] == "") {
                            if (categories[2] == '')
                                Header = '<span class="result_desc">Δεν βρέθηκαν διευθύνσεις "' + address + '" με σωστή αρίθμηση</span><br/>';
                            else
                                Header = '';
                        }
                        else {
                            Header = '<span class="result_desc">Διευθύνσεις "' + address + '":</span><br/><br/>';
                            oneGood = true;
                        }
                        formatted += Header;
                    }
                    else if (j == 1) {
                        if (results[0] != "") {
                            Header = '<br/><span class="result_desc">Οδοί που δεν βρέθηκε ο αριθμός:</span><br/><br/>';
                            oneGood = true;
                            formatted += Header;
                        }
                    }
                    //                else if (j==2 && !oneGood)
                    //                {
                    //                    Header = '<br/><span class="result_desc">Οδοί που δεν βρέθηκε ο αριθμός:</span><br/><br/>';                    
                    //                    formatted += Header;
                    //                }
                    else if (j == 2) {
                        if (results[0] != "") {
                            Header = '<br/><span class="result_desc">Διασταυρώσεις:</span><br/><br/>';
                            oneGood = true;
                            formatted += Header;
                        }
                    }

                    else if (j == 3) {
                        if (results[0] != "") {
                            Header = '<br/><span class="result_desc">Βρέθηκαν πόλεις ή/και χωριά:</span><br/><br/>';
                            formatted += Header;
                            isDimos = true;
                        }
                    }
                    if (j != 3) {
                        var onlyAccept100 = false;

                        for (var i = 0; i < results.length; i++) {
                            var res = results[i].split(';');
                            if (res[0] != "" && (!onlyAccept100 || res[0] == 100)) {
                                var score = parseInt(res[0]);
                                //                            if (score==100)
                                //                                onlyAccept100=true;
                                results_count++;
                                if (j == 0 || j == 1) {
                                    var num = "";
                                    if (j != 1)
                                        num = ' ' + res[3];
                                    xy = res[5].split('-');
                                    foundAddr = res[2] + num + ', ' + res[4];
                                }
                                else // j==2! Diastayrwseis
                                {
                                    var num1 = "";
                                    var num2 = "";

                                    if (res[3] != "0")
                                        num1 = ' ' + res[3];
                                    if (res[6] != "0")
                                        num2 = ' ' + res[6];

                                    xy = res[8].split('-');
                                    foundAddr = res[2] + num1 + ' και ' + res[5] + num2 + ', ' + res[7];
                                }
                                calloutExp = escape(foundAddr);
                                if (IsForNavi) {
                                    if (IsStart)
                                        command = 'FindProor(' + xy[0] + ',' + xy[1] + ',"abba","' + foundAddr + '");';
                                    else
                                        command = 'FindRouteWithProor(' + xy[0] + ',' + xy[1] + ',"abba","' + foundAddr + '");';
                                    if (typeof (rn) != "undefined")
                                        command = replaceAll(command, "abba", rn);

                                }
                                else
                                    command = 'InsertAddressPin(' + xy[0] + ',' + xy[1] + ',"' + escape(calloutExp) + '","' + newPinId + '");';
                                var f = '<span class="result" onmouseout="this.style.color = \'#5a74a0\'" onmouseover="this.style.color = \'Red\'" onclick=\'' + command + '\'>' + foundAddr + '</span><br/>';

                                formatted += f;
                            }
                        }
                    }
                    else {
                        for (var i = 0; i < results.length; i++) {
                            var res = results[i].split(';');
                            if (res[0] != "") {
                                results_count++;

                                xy = res[3].split('-');
                                calloutExp = escape(res[2]);
                                foundAddr = res[2];
                                if (IsForNavi) {
                                    if (IsStart)
                                        command = 'FindProor(' + xy[0] + ',' + xy[1] + ',"abba","' + foundAddr + '");';
                                    else
                                        command = 'FindRouteWithProor(' + xy[0] + ',' + xy[1] + ',"abba","' + foundAddr + '");';
                                    if (typeof (rn) != "undefined")
                                        command = replaceAll(command, "abba", rn);

                                }
                                else
                                    command = 'InsertDimosPin(' + xy[0] + ',' + xy[1] + ',"' + escape(calloutExp) + '","' + newPinId + '");';
                                var f = '<span class="result" onmouseout="this.style.color = \'#5a74a0\'" onmouseover="this.style.color = \'Red\'" onclick=\'' + command + '\'>' + foundAddr + '</span><br/>';

                                formatted += f;
                            }
                        }
                    }
                }
            }

        }

        if (formatted == '@@@') {
            if (IsForNavi) {
                if (IsStart) {
                    formatted = 'Η διεύθυνση αφετηρίας δεν βρέθηκε';
                }
                else {
                    formatted = 'Η διεύθυνση προορισμού δεν βρέθηκε';
                }
            }
            else
                formatted = 'Η διεύθυνση δεν βρέθηκε';
        }
        if (typeof (rn) != "undefined" && rn != "undefined" && rn != "abba")
            formatted = replaceAll(formatted, "abba", rn);

    }
    return [address, formatted, results_count, command, xy, foundAddr, isDimos];
}


function FindPraxi(praxi,data, rn,newPinId)
{
    var formatted = "";

    if (data.length!=0)
    {
    // Found Praxi!
        var praxeis = data.split('$');
        
        for (var i=0; i<praxeis.length-1;i++)
        {
            var praxi = praxeis[i].split('#');

            var command1 ="CenterAtPraxiPiece(1,"+praxi[5]+","+praxi[6]+")";
            var command2 ="CenterAtPraxiPiece(2,"+praxi[7]+","+praxi[8]+")";
            var command3 ="CenterAtPraxiPiece(3,"+praxi[9]+","+praxi[10]+")";
            
            if (praxi[0]!='')
            {
                formatted += '<span class="result_text">Αρ. Ιδιοκτησία:</span><span class="result" onmouseout="this.style.color = \'#5a74a0\'" onmouseover="this.style.color = \'Red\'" onclick=\''+command1+'\'>' + praxi[0] + '</span><br/>';
            }

            if (praxi[1]!='')
            {
                formatted += '<span class="result_text">' + praxi[1] + '</span><br/>';
            }
            
            if (praxi[2]!='')
                formatted += '<span class="result_text">Οικ. Τετράγωνο:</span><span class="result" onmouseout="this.style.color = \'#5a74a0\'" onmouseover="this.style.color = \'Red\'" onclick=\''+command2+'\'>' + praxi[2] + '</span>';

            formatted +="-";

                
            if (praxi[3]!='')
                formatted += '<span class="result" onmouseout="this.style.color = \'#5a74a0\'" onmouseover="this.style.color = \'Red\'" onclick=\''+command3+'\'>' + praxi[3] + '</span>';

            if (praxi[2]!='')
                formatted += '<br/><span class="result" onmouseout="this.style.color = \'#5a74a0\'" onmouseover="this.style.color = \'Red\'" onclick=\'window.open("Docs/OikTetXLS/'+praxi[2].replace('Γ','G')+'.xls")\'>XLS τετραγώνου</span>';

            formatted +="<br/>";
            var pdfs = praxi[4].split(" ");
            
            if (pdfs.length>0)
            {
            
                for (var j=0; j<pdfs.length;j++)
                {
                    
                    
                    if (pdfs[j].length>2)
                    {
                        if (j==0)
                            formatted +='<span class="result_text">Σχετικά έγγραφα:</span>';

                        formatted += '<span class="result" onmouseout="this.style.color = \'#5a74a0\'" onmouseover="this.style.color = \'Red\'" onclick="window.open(\'Docs/Diorthotikes-PE/DEC/DEC'+pdfs[j]+'.pdf\');">' + pdfs[j] + '</span> ';
                    }
                    if (j!=pdfs.length-1)
                        formatted +="-";
                    else
                        formatted += '<br/>';
                }
            }
            
            formatted += '<br/>';

        }
        
        
    }
    else 
        formatted = '<span class="result_desc blueTxt10B">Δεν βρέθηκαν πράξεις με "'+praxi+'"</span>';    
    
    if (typeof(rn)!="undefined" && rn != "undefined" && rn!="abba")
        formatted = replaceAll(formatted,"abba",rn);
        
       
    return formatted;
}

function CenterAtPraxiPiece(type,x,y)
{
    myMap.Zoom(15);
    myMap.CenterAtCoords(x,y);
    if (type==1)
        ShowHideArxiki(true);
    else if (type==3)
        ShowHideNew(true);
    else if (type==2)
        ShowHideRymot(true);
        
    $('#pinPraxi').remove();
    myMap.InsertPin(x,y, '', 3, "pinPraxi", false, true);
    setTimeout("$('#pinPraxi').hide();",1000);
    setTimeout("$('#pinPraxi').show();",1500);
    setTimeout("$('#pinPraxi').hide();",2000);
    setTimeout("$('#pinPraxi').show();",2500);
    setTimeout("$('#pinPraxi').hide();",3000);
    setTimeout("$('#pinPraxi').show();",3500);
    setTimeout("$('#pinPraxi').remove();",4000);
}


ResCounter=0;
var VisibleRes = new Array;
function DisplayResult(header,data, rn, resType,idOrClass)
{
    var Resnum=ResCounter++;
    if (typeof(rn) !="undefined" && rn !="undefined" & rn !="abba")
    {
        Resnum=rn;
        document.getElementById('ResultArea'+Resnum).innerHTML=data;
        $('#resheadtxt'+Resnum).html(header);
    }
    else
    {
        var ndata = data;
        if (typeof(rn) !="undefined")
            ndata = replaceAll(data,"abba",rn);
            
            
        var d = '<div id="ResultHeader'+Resnum+'" class="result_header">' +
            '<img id="ResultPW'+Resnum+'" style="float:left;display:none;" alt="Παρακαλώ περιμένετε..." src="resources/images/callbackActivityIndicator.gif" />' +
            '<img class="result_close" alt="Απόκρυψη αποτελέσματος" src="resources/images/close_gray.png" onclick="CloseResult('+Resnum+',true);" />' +
            '<span id="resheadtxt'+Resnum+'" class="result_header_text" onmouseout="MouseOutResult(\'resheadtxt'+Resnum+'\');" onmouseover="MouseOverResult(\'resheadtxt'+Resnum+'\')" onclick="ToggleVisibleResultArea(\'ResultArea'+Resnum+'\');">' +
            header +'</span></div>'+
            '<div id="ResultArea'+Resnum+'" class="result_area">'+ndata+'</div>';

        if (typeof(VisibleRes[2])!="undefined")
        {
            CloseResult(VisibleRes[2][0],true);
        }
        VisibleRes[2] = VisibleRes[1];
        VisibleRes[1] = VisibleRes[0];
        VisibleRes[0] = [Resnum,resType,idOrClass];

        if (typeof(VisibleRes[1])!="undefined")
            $("#ResultArea"+VisibleRes[1][0]).hide();

        if (typeof(VisibleRes[2])!="undefined")
            $("#ResultArea"+VisibleRes[2][0]).hide();
        d = replaceAll(d,"abba",Resnum);
        $("#Results").prepend(d);
    }
    setTimeout('FixResultAreaHeight();',100);
    return Resnum;
}

function CloseNavResults()
{
    for (var i=0;i<3;i++)
    {
        if (typeof(VisibleRes[i])!="undefined")
        {
            if (VisibleRes[i][1]==1)
                CloseResult(VisibleRes[i][0],false);
        }
    }
}

function ToggleVisibleResultArea(elemid)
{
    $(".result_area").hide();
    $("#"+elemid).toggle();
    $(".result_area").css("height",myMap.viewportHeight-200);
    FixResultAreaHeight();
}

function CloseResult(res,fromUser)
{
    myMap.HideCallouts();
    $("#ResultHeader"+res).remove();
    $("#ResultArea"+res).remove();
    if (VisibleRes[0][0]==res)
    {
        RemoveMapItems(VisibleRes[0][1],VisibleRes[0][2],fromUser);
        VisibleRes.splice(0,1);
    }
    else if (VisibleRes[1][0]==res)
    {
        RemoveMapItems(VisibleRes[1][1],VisibleRes[1][2],fromUser);
        VisibleRes.splice(1,1);
    }
    else if (VisibleRes[2][0]==res)
    {
        RemoveMapItems(VisibleRes[2][1],VisibleRes[2][2],fromUser);
        VisibleRes.splice(2,1);
    }
    FixResultAreaHeight();    
}


function RemoveMapItems(type,idOrClass,fromUser)
{
    if (type==0)
    {
        $("#"+idOrClass).remove();
        myMap.ClearFromAllPinsCoordsById(idOrClass);
    }
    else if (type==1)
    {
        myMap.ClearRoute(true,fromUser);        
    }
    else if (type==2)
    {
        $("."+idOrClass).remove();
        myMap.ClearFromAllPinsCoordsByClass(idOrClass);
    }
}

function onEnterAddress( evt, frm ) {
    var keyCode = null;

    if( evt.which ) {
    keyCode = evt.which;
    } else if( evt.keyCode ) {
    keyCode = evt.keyCode;
    }
    if( 13 == keyCode ) {
    searchStreet();
    return false;
    }
    return true;
}

function onEnterAddress1( evt, frm ) {
    var keyCode = null;

    if( evt.which ) {
    keyCode = evt.which;
    } else if( evt.keyCode ) {
    keyCode = evt.keyCode;
    }
    if( 13 == keyCode ) {
    $('#navi_to').focus(); 
    return false;
    }
    return true;
}


function onEnterAddress2( evt, frm ) {
    var keyCode = null;

    if( evt.which ) {
    keyCode = evt.which;
    } else if( evt.keyCode ) {
    keyCode = evt.keyCode;
    }
    if( 13 == keyCode ) {
    searchRoute();
    return false;
    }
    return true;
}


function searchRoute()
{
    if (searching)
        return;
    searching=true;
    var address1 = document.getElementById("navi_from");
    var address2 = document.getElementById("navi_to");

    var d = '<div id="ResultHeaderTmp" class="result_header">' +
        '<img style="float:left" alt="Παρακαλώ περιμένετε..." src="resources/images/callbackActivityIndicator.gif" />' +
        '<span id="resheadtxtTmp" class="result_header_text">&nbsp;Από ' +
        address1.value +' προς '+address2.value+'</span></div>';

    $("#Results").prepend(d);
    
    //$.get(handlers_url+"GetAddressEETT.ashx?dim="+escape($("#ddlDimos")[0].value)+"&lat=0&add="+escape(address1.value), function(data){
    var url = "http://www.terra.gr/map/services/getAddress.ashx?lat=0&add=" + escape(address1.value) + " " + escape($("#ddlDimos")[0].value);
    $.getJSON(url + "&callback=?", function(data) {
    $("#ResultHeaderTmp").remove();
    res = FindAddress(address1.value,data, true, true);
    if (res[2]==1)
    {
        address1.value = res[5];
        myMap.xyStart = [res[4][0],res[4][1]];
        ///////////////////////////////
        //$.get(handlers_url+"GetAddressEETT.ashx?dim="+escape($("#ddlDimos")[0].value)+"&lat=0&add="+escape(address2.value), function(data){
        var url = "http://www.terra.gr/map/services/getAddress.ashx?lat=0&add=" + escape(address1.value) + " " + escape($("#ddlDimos")[0].value);
        $.getJSON(url + "&callback=?", function(data) {
        $("#ResultHeaderTmp").remove();
        res = FindAddress(address2.value,data, true, false);
        if (res[2]==1)
        {        
            address2.value = res[5];
            var ud;
            FindRouteWithProor(res[4][0],res[4][1],ud,res[5]);
        }
        else
            rn=DisplayResult(' Πλοήγηση από ' +address1.value +' προς '+address2.value, res[1],"undefined", 1);
            
        searching=false;
        });
        
        ///////////////////////////////
    }
    else
        rn=DisplayResult(' Πλοήγηση από ' +address1.value +' προς '+address2.value, res[1],"undefined", 1);
        
    searching=false;
    });
    setTimeout('FixResultAreaHeight();',100);
}

function FindProor(x,y,rn,addrStart)
{
    var address1 = document.getElementById("navi_from");
    
    myMap.xyStart = [x,y];
    address1.value = addrStart;
    var address2 = document.getElementById("navi_to");
    
    ///////////////////////////////
    $("#ResultPW"+rn).toggle();
    //$.get(handlers_url+"GetAddressEETT.ashx?dim="+escape($("#ddlDimos")[0].value)+"&lat=0&add="+escape(address2.value), function(data){
    var url = "http://www.terra.gr/map/services/getAddress.ashx?lat=0&add=" + escape(address2.value) + " " + escape($("#ddlDimos")[0].value);
    $.getJSON(url + "&callback=?", function(data) {
    $("#ResultHeaderTmp").remove();
    res = FindAddress(address2.value,data, true, false, rn);
    if (res[2]==1)
    {
        address2.value = res[5];
        FindRouteWithProor(res[4][0],res[4][1],rn,res[5]);
    }
    else
        DisplayResult(' Πλοήγηση από ' +address1.value +' προς '+address2.value, res[1],rn,1);
        
    searching=false;
    $("#ResultPW"+rn).toggle();

    });
    
    ///////////////////////////////
}

function FindRouteWithProor(x,y,rn,addrEnd)
{
    var address1 = document.getElementById("navi_from");
    var address2 = document.getElementById("navi_to");
    $("#addrDep").remove();
    $("#addrDest").remove();
    myMap.xyEnd = [x,y];
    address2.value = addrEnd;
//myMap.xyStart = [412234,4491792];kalamaria
    myMap.InsertPin(myMap.xyStart[0],myMap.xyStart[1],address1.value, 1, 'startPin', false,true );
    myMap.InsertPin(myMap.xyEnd[0],myMap.xyEnd[1], address2.value, 2, 'endPin', false,true );
    myMap.CalculateRoute(rn);
}

function FormatDirections(directions,points, lengths, times)
{
    var address1 = document.getElementById("navi_from");
    var address2 = document.getElementById("navi_to");
    var formatted = "";
    var command;
    var results_count=0;
    if (directions.length>0)
    {
        formatted ="";
        var xy;
        var xy_prev;
        var totaltime=0;
        var totalLen =0 ;
        myMap.ClearNaviPoints();
        myMap.DirIds = new Array();
        
        for (var i=0; i<directions.length;i++)
        {
            var res = directions[i];
            totaltime += parseFloat(times[i]);
            totalLen += parseFloat(lengths[i]);
            results_count++;
            if (typeof(xy)!="undefined")
                xy_prev = xy;
            else
                xy_prev = [0,0];
            xy = points[i].split('-');
            myMap.PutNaviPoint(xy[0],xy[1],i);
            command = 'ShowRouteMap('+xy[0]+','+xy[1]+','+i+', "route_abba_ResN'+i+'");';
            var HoverCommand = '';//HoverNaviPoint('+i+');';
            var mouseoutCommand = '';//'UnHoverNaviPoint('+i+');';
            var len = "";
            var j=i+'. ';
            if (i!=0 && i!=directions.length-1)
            {
                if (res.indexOf("Συνεχίστε")==0)
                    len = ' για ' + FormatLen(lengths[i]) + 'm';
                else 
                    len = ' και συνεχίστε για ' + FormatLen(lengths[i]) + 'm';
            }
            else
            {
                res = res.replace("Location 1",address1.value );
                res = res.replace("Location 2",address2.value );
                j="";
            }
            
            var f = '<div id="route_abba_ResN'+i+'" class="result naviresult" onclick=\''+command+'\'>'+j+  res + len +'</div>';
            
            myMap.DirIds[myMap.DirIds.length] = j+  res + len;
            
            formatted += f;
        }
        formatted = "Συνολικός εκτιμώμενος χρόνος " + FormatTime(totaltime) + "<br/><br/>" +formatted;
        formatted = "Συνολική απόσταση " + FormatLen(totalLen)+ 'm<br/>' + formatted;
        
    }  
    return formatted;
}

function FormatLen(l)
{
    l = parseFloat(l)*1000;
    l = Math.round(l);
    if (l>1000)
    {
        l = l/100;
        l = Math.round(l);
        l = l/10;
        l = l + " K";
    }
    else
    {
        l = Math.round(l);
        l = l+" ";
    }
    return l;
}
function FormatTime(t)
{
    t = Math.round(t);
    if (t>60)
    {
        var w = "ώρες";
        if (Math.round(t/60)==1)
            w = "ώρα";
            
        if (t%60==0)
            return Math.round(t/60) + " " +w;
        else if (t%60==1)
            return Math.round(t/60) + " "+ w +" και 1 λεπτό";
        else
            return Math.round(t/60) + " "+ w +" και " + t%60 + " λεπτά";
    }
    else
    {
        if (t==1)
            return "1 λεπτό";
        else
            return t + " λεπτά";
    }
}


function ShowRouteMap(x1,y1,num, where)
{
    myMap.DisplayCalloutWithMap(x1,y1,num);
}
function HoverNaviPoint(num)
{
    myMap.ShowNaviPoint(num);
}

function UnHoverNaviPoint(num)
{
    myMap.HideNaviPoint(num);
}

function FixResultAreaHeight()
{
    var HeadH = 0;
    var u = $(".result_header");
    for (var i=0; i<u.length; i++)
    {
        HeadH+= $("#"+u[i].id).height()+12;
    }
//    HeadH+= $("#addressFinder").height();
//    HeadH+= $("#naviFinder").height();
    
    $(".result_area").css("height",$("#Map").height()+8-$("#lefttable1").height()-HeadH-12);
}


function MainCatSelected()
{
    var categ = document.getElementById("poiCatSel");
     $.get("GetSubcat.ashx?cat="+escape(categ.value), function(data){
    
//     $.get("GetSubcat.ashx?cat=3", function(data){
    DisplaySubcats(data);
    });
    setTimeout('FixResultAreaHeight();',100);   
}

function MainCatTaxydSelected()
{
    var categ = document.getElementById("taxydCatSel");
     $.get("GetSubcatTaxyd.ashx?cat="+escape(categ.value), function(data){
    
//     $.get("GetSubcat.ashx?cat=3", function(data){
    DisplaySubcatsTaxyd(data);
    });
    setTimeout('FixResultAreaHeight();',100);   
}

function DisplaySubcats(data)
{
    var categ = document.getElementById("poiCatSel");
    //var categ_value = 3;
    data = replaceAll(data,"^^^",categ.value+' - ');

    var formatted="";
    var categories = data.split('@');
    for (var i=0; i<categories.length-1;i++)
    {
        var subcat = categories[i].split('$');
        formatted+="<span id=\"subcat"+i+"\" style=\"padding-top:5px; line-height:18px; padding-left:5px;\" class=\"lnkBlue11\" onclick=\"displayCat("+categ.value+","+subcat[0]+",1,'"+escape(subcat[1])+"');\" >"+subcat[1]+"</span><br/>"
    }
    $("#PoiSubcats").html(formatted);
}

function DisplaySubcatsTaxyd(data)
{
    var categ = document.getElementById("taxydCatSel");
    //var categ_value = 3;
    data = replaceAll(data,"^^^",categ.value+' - ');

    var formatted="";
    var categories = data.split('@');
    for (var i=0; i<categories.length-1;i++)
    {
        var subcat = categories[i].split('$');
        formatted+="<span id=\"subcat"+i+"\" style=\"padding-top:5px; line-height:18px; padding-left:5px;\" class=\"lnkBlue11\" onclick=\"displayTaxydCat("+categ.value+","+subcat[0]+",1,'"+escape(subcat[1])+"');\" >"+subcat[1]+"</span><br/>"
    }
    $("#TaxydSubcats").html(formatted);
}

function displayCat(cat,sub,page,cat_name,c,rn)
{
    if (typeof(c)=="undefined")
        c= myMap.GetCenterCoords();
    $.get("GetPois.ashx?cat="+escape(cat+"_"+sub)+"&coo="+escape(c[0]+"_"+c[1])+"&row="+page+"_20", function(data){
        DisplayPoi(data, cat, sub, page, cat_name, c, rn);
        
    });
}

function displayTaxydCat(cat,sub,page,cat_name,c,rn)
{
    if (typeof(c)=="undefined")
        c= myMap.GetCenterCoords();
    $.get("GetPoisTaxyd.ashx?cat="+escape(cat+"_"+sub)+"&coo="+escape(c[0]+"_"+c[1])+"&row="+page+"_20", function(data){
        DisplayPoi(data, cat, sub, page, cat_name, c, rn);
        
    });
}

var poiClsCnt = 0;
var POI_MAX_PAGE = 20;

function DisplayPoi(data,cat,sub,page,cat_name,center,rn)
{
    var lala=rn;
    if (typeof(rn)=="undefined")
        lala=ResCounter;
    var data2 = data.split("|$|");
    var Total = data2[1];
    var pois = data2[0].split("~@~");
    //$(".poi").remove();

    var formatted="";
    var title = "<span class='result_desc'>Βρέθηκαν " + Total + " σημεία.<br/>Σημεία ";
    if (Total==0)
        title = "<span class='result_desc'>Δεν βρέθηκε κανένα σημείο.</span>";
    var footer=page;
    if (Total < POI_MAX_PAGE + 1)
        footer="";
    var hasNext=false;
    var hasPrev=false;
    for (var i=page+1;i<page+4;i++)
    {
        if ((i - 1) * POI_MAX_PAGE + 1 <= Total)
        {
            footer = footer + " <span class=\"lnkBlue10\" onclick=\"$('.poiCls"+lala+"').remove();displayCat("+cat+","+sub+","+i+",'"+cat_name+"',["+center[0]+","+center[1]+"],"+lala+");\">" + i + "</span>";
            hasNext=true;
        }
        if (Total < i * POI_MAX_PAGE)
            break;
    }
    if (hasNext)
        footer = footer + " <span class=\"lnkBlue10\"  onclick=\"$('.poiCls"+lala+"').remove();displayCat("+cat+","+sub+","+(page+1)+",'"+cat_name+"',["+center[0]+","+center[1]+"],"+lala+");\">Επόμενα</span>";

    for (var i=page-1;i>page-4;i--)
    {
        if (i>0)
        {
            footer = "<span class=\"lnkBlue10\"  onclick=\"$('.poiCls"+lala+"').remove();displayCat("+cat+","+sub+","+i+",'"+cat_name+"',["+center[0]+","+center[1]+"],"+lala+");\">" + i + "</span> "+footer;
            hasPrev=true;
        }
        else
            break;
    }
    if (hasPrev)
        footer = "<span class=\"lnkBlue10\" onclick=\"$('.poiCls"+lala+"').remove();displayCat("+cat+","+sub+","+(page-1)+",'"+cat_name+"',["+center[0]+","+center[1]+"],"+lala+");\">Προηγούμενα</span> "+footer;



    var t = ((page - 1) * POI_MAX_PAGE + POI_MAX_PAGE);
    if (Total<t)
        t = Total;
    if (Total!=0)
        title += ((page - 1) * POI_MAX_PAGE + 1) + "-" + t + ":</span><br/><br/>";
    
    var xMin,yMin,xMax,yMax;
    var l = Math.min(pois.length - 1, POI_MAX_PAGE);
    var cls = "poiCls"+lala;
    for (var i=1; i<l+1;i++)
    {
        var j=l-i;
        var attr = pois[j].split('$%$');

        if (i==1)
        {
            xMin=attr[11];
            yMin=attr[12];
            xMax=attr[11];
            yMax=attr[12];
        }
        else
        {
            if (attr[11]<xMin)
                xMin = attr[11];
            if (attr[11]>xMax)
                xMax = attr[11];
                
            if (attr[12]<yMin)
                yMin = attr[12];
            if (attr[12]>yMax)
                yMax = attr[12];
        }
        var icon=attr[14];
        var BigCallout=false;
        if (attr[35]>2 && attr[35]!='<br />'&& attr[35]!='<br/>')
            BigCallout=true;

        myMap.InsertPoiPin(attr[11], attr[12], attr[9] + attr[10], attr[0], icon, cat, sub, cls, BigCallout);
        myMap.poiArray[attr[0]+"_"+cat+"_"+sub] = attr;
        
        var command = 'if (myMap.GetZoomLevel()<12)myMap.Zoom(12);lala=myMap.CenterAtCoords('+attr[11]+','+attr[12]+',0,0,true,true);lala=replaceAll(lala[1],"$$SPEED$$","400");lala=replaceAll(lala,"$$ANDTHEN$$","if ('+attr[35].length+'>2 && \\"'+attr[35]+'\\"!=\\"<br />\\" && \\"'+attr[35]+'\\"!=\\"<br/>\\") myMap.DisplayBigCallout('+attr[0]+','+cat+','+sub+',\\"'+icon+'\\"); else myMap.DisplayPoiCallout('+attr[0]+','+cat+','+sub+',\\"'+icon+'\\");myMap.AdjustOverview();myMap.clearUnwantedFromView();myMap.checkTiles();");eval(lala);';
        var HoverCommand = 'HoverPoiPoint('+j+');';
        var mouseoutCommand = 'UnHoverPoiPoint('+j+');';

        var address="";
        if (trim(attr[1])!="")
            address=attr[1]+" "+ attr[2]+",";
        formatted = '<div id="poi_abba_ResN'+j+'" class="result poiresult" onclick=\''+command+'\'><b>'+GetLetter(attr[0])+". "+  attr[9] +'</b><br/>'+ address + ' ' + attr[3] +'</div>'+ formatted;
    }
    DisplayResult('Σημεία ενδιαφέροντος: <strong>'+ unescape(cat_name)+'</strong>', title+formatted+footer,rn, 2,cls);
    //myMap.ZoomToExtent(xMin,yMin,xMax,yMax);
    if (myMap.GetLevel() < 11)
        $(".PoiPin").hide();
    else
        $(".PoiPin").show();
    
}

function ShowPoi(zl,mt)
{
    var attr = PoiInfo.split('$%$');
    var icon=attr[14];
    var BigCallout=false;
    if (attr[17]!='')
        BigCallout=true;
    
    myMap.setMapType(mt);
    myMap.InsertPoiPin(attr[11],attr[12],attr[9],attr[0],icon,-1,-1,"SingelPoi",BigCallout);
    myMap.Zoom(zl);
    myMap.CenterAtCoords(attr[11],attr[12],0,0,false);
    myMap.DisplayBigCallout(attr[0],-1,-1,icon);
}

function GetLetter(num)
{
    var ToRet="";
    if (num!=0)
    {
        switch (parseInt(num)%20)
        {
            case 1:ToRet="A";break;
            case 2:ToRet="B";break;
            case 3:ToRet="C";break;
            case 4:ToRet="D";break;
            case 5:ToRet="E";break;
            case 6:ToRet="F";break;
            case 7:ToRet="G";break;
            case 8:ToRet="H";break;
            case 9:ToRet="I";break;
            case 10: ToRet = "J"; break;
            case 11: ToRet = "K"; break;
            case 12: ToRet = "L"; break;
            case 13: ToRet = "M"; break;
            case 14: ToRet = "N"; break;
            case 15: ToRet = "O"; break;
            case 16: ToRet = "P"; break;
            case 17: ToRet = "Q"; break;
            case 18: ToRet = "R"; break;
            case 19: ToRet = "S"; break;
            case 0: ToRet = "T"; break;
        }
    }
    return ToRet;
}
function HoverPoiPoint()
{
}

function UnHoverPoiPoint()
{
}

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}


function ShowVlaves()
{
    $.get("VlaviGet.ashx", function(data){
    var vlaves = data.split('$#@!');
    var formatted ="";
    
    if (data!="")
    {
        for (var i=0; i<vlaves.length;i++)
        {
            var command="";
            var vlavi = vlaves[i].split('#@!');
            myMap.InsertProbPin(vlavi[3],vlavi[4],vlavi[1], vlavi[2], 'probPin'+(probCounter++), false,true );
            command = 'if (myMap.GetZoomLevel()<12)myMap.Zoom(12);lala=myMap.CenterAtCoords('+vlavi[3]+','+vlavi[4]+',0,0,true,true);lala=replaceAll(lala[1],"$$SPEED$$","400");lala=replaceAll(lala,"$$ANDTHEN$$","myMap.AdjustOverview();myMap.clearUnwantedFromView();myMap.checkTiles();");eval(lala);';
            var HoverCommand = 'HoverPoiPoint('+i+');';
            var mouseoutCommand = 'UnHoverPoiPoint('+i+');';
            formatted = '<div id="poi_abba_ResN'+i+'" class="result poiresult" onmouseout="'+mouseoutCommand+'this.style.color = \'#5a74a0\'" onmouseover="'+HoverCommand+';this.style.color = \'Red\'" onclick=\''+command+'\'><b>'+vlavi[1] +'</b><br/></div>'+ formatted;
            
        }
        var rn;
        DisplayResult('Αναφερόμενα προβλήματα: ', formatted,rn, 2,"cls");  
    }
    });
}


function SubmitForm() {
    var myPickerX = pickerX;
    var myPickerY = pickerY;
    if (!GlobalWithPoint) {
        myPickerX = 0;
        myPickerY = 0;
    }

    $.ajax({
        type: "POST",
        data: {
            "Onoma": $('#wOnoma').val(),
            "Epwnymo": $('#wEpwnymo').val(),
            "email": $('#wEmail').val(),
            "Type": $('#wType').val(),
            "CompanyName": $('#wCompanyName').val(),
            "Address": $('#wAddress').val(),
            "TK": $('#wTK').val(),
            "Dimos": $('#wDimos').val(),
            "Nomos": $('#wNomos').val(),
            "Telephone": $('#wPhone').val(),
            "Captcha": $('#wCaptchaText').val(),
            "pointX": myPickerX,
            "pointY": myPickerY
        },
        dataType: "xml",
        url: "SubmitForm.asmx/Submit",

        success: function(response) {
            var myresponse = response.text;
            if (typeof (response.text) == 'undefined')
                myresponse = response.childNodes[0].textContent;
            
            if (myresponse == "OK") {
                alert("Η αίτησή σας καταχωρήθηκε. Θα λάβετε e-mail όταν θα ολοκλήρωθεί η επεξεργασία της.");
                $("#WifiDialog").dialog("close");
            }
            else
                alert(myresponse);

        },
        failure: function(msg) {
            alert("Πρόβλημα στην επικοινωνία, παρακαλώ δοκιμάστε αργότερα.");
        }
    });
}
