var AJAX_MapReference;
var mapReferenceData="";


function ajax_getMapReference ()
{
	
    var url = AjaxServer + "getmapreference.php" ;
    url = url + "?lon=" + mapObj.getCurrLong() ;
    url = url + "&lat=" + mapObj.getCurrLat() ;
    url = url + "&state=" + mapObj.getState() ;

    AJAX_MapReference = new ajax();
    AJAX_MapReference.Ajax_ID = "GetMapReference";
    AJAX_MapReference.url = url ;
    AJAX_MapReference.method = "GET" ;
    AJAX_MapReference.timeout = 60 ;
    AJAX_MapReference.callback = "getMapReference();";
    AJAX_MapReference.request();               
   // LoadingStart("PS", "Please wait... Loading map reference");       
}

function hide_auswayMap() {
	if(document.getElementById("mapReferenceImage")){
		var mapAuswayDiv = document.getElementById("mapReferenceImage") ;
		mapAuswayDiv.style.position = "absolute";
		mapAuswayDiv.style.top = "5px";
		mapAuswayDiv.style.left = "110px";
		mapAuswayDiv.innerHTML ="<b>PSMA&nbsp;Map&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>";	    
	}
	  this.mapObj.showhideButtonAusway() ;  		

}

function getMapReference() {

  mapReferenceData = AJAX_MapReference.resultText();  
  delete AJAX_MapReference;
  mapObj.setmapReference();
  LoadingStop("PS");
}


genMap.prototype.enableAusway = function () {
	this.Ausway = 1;
}

genMap.prototype.disableAusway = function () {
	this.Ausway = 0;
}

genMap.prototype.checkAusway = function () {
	var result = 0;
	var state  = 0;
	//if (parseInt(this.level)>11 && parseInt(this.level)<15) {
	  state = this.getState();
	  switch (state)
	  {
      case "vic" : result = this.checkMelwayPolygon();  break;
      case "nsw" : result = this.checkSidwayPolygon();  break;
      case "qld" : result = this.checkBriswayPolygon(); break;
      default    : result = 0; break
    }	    
	/*
  } else {
	    result = 0;
	}
	*/
	this.flagAusway = 1 ;

	if (result==0)
	{
		this.flagAusway==0;
		hide_auswayMap();
	} 

	return result;
}



genMap.prototype.getState = function () {

    var result=0;
    for (var i=1; i< dataPolyState.length-1;i++) {
    	if (InsidePolygon(this.getCurrLong(),this.getCurrLat(),dataPolyState[i])) {
    		result = i;
    		break;		
    	}
    }

    var dataState = new Array () ;
    dataState[1]="vic";  // Melway
    dataState[2]="nsw";  // Sidway
    dataState[3]="wa";
    dataState[4]="qld";  // Brisway
    dataState[5]="tas";
    dataState[6]="sa";
    dataState[7]="act";
    dataState[8]="nt";

    return dataState[result];
}

var dataPolyState = new Array () ; // australia state polygon
dataPolyState[1]="140.928887,-34.08249974,141.5011046,-34.18054101,141.8262915,-34.00448258,142.4865196,-34.66070274,142.9003937,-34.56467087,143.4029557,-35.05283407,144.2096157,-35.76924599,144.8648119,-36.12299678,145.0584525,-35.87711119,146.044165,-35.88716292,147.8767402,-35.94113244,147.878747,-35.94612139,148.2718647,-36.65361585,149.0690899,-37.17354679,150.0409107,-37.47902961,149.4731111,-37.78975396,148.2063615,-37.83277803,147.6821718,-37.95069495,147.1580148,-38.54027486,146.7648972,-38.95298174,146.1752042,-39.12985476,145.6510473,-38.65818942,145.0613544,-38.24548491,144.9958511,-37.83277803,144.6027334,-38.30444337,143.9475373,-38.83506481,142.8991907,-38.59923332,142.1784585,-38.24548491,141.5887983,-38.42235793,140.953186,-38.03862444,140.928887,-34.08249974";
dataPolyState[2]="150.0409107,-37.47902961,149.0690899,-37.17354679,148.2718647,-36.65361585,147.8767402,-35.94113244,146.0340132,-35.88511384,145.0584525,-35.87711119,144.8648119,-36.12299678,144.2096157,-35.76924599,143.4029557,-35.05283407,142.9003937,-34.56467087,142.4865196,-34.66070274,141.8262915,-34.00448258,141.5011046,-34.18054101,140.928887,-34.08249974,140.9454147,-28.98872371,148.8818611,-29.04281434,149.3857146,-28.51741175,150.310714,-28.522641,151.4143815,-29.16285585,151.4833581,-29.00280036,152.1337374,-28.86675639,151.9957759,-28.40259998,152.4195071,-28.26655364,153.3063815,-28.28255895,153.4344798,-28.05048074,153.5921513,-28.19453092,153.5527314,-28.57865841,153.641418,-28.68269412,153.3753582,-29.2828945,153.3162283,-29.72304414,153.1092984,-30.38726695,152.9713369,-30.72337969,153.0403136,-30.87543015,153.0895884,-30.91544343,152.941772,-31.32358126,152.7545438,-31.85976098,152.508194,-32.08383654,152.5673157,-32.45996326,152.1534395,-32.78007068,151.7297164,-32.99614298,151.3158402,-33.80441501,151.0596354,-34.23655962,150.892109,-34.47664049,150.7935675,-34.85276709,150.8132774,-35.06883969,150.6654692,-35.1888797,150.4092562,-35.48497916,150.2515929,-35.82909573,150.1431964,-36.17321053,150.1037765,-36.50932356,149.9559682,-36.8454366,149.9362583,-37.06951143,150.0446548,-37.21356042,150.0643648,-37.28558432,149.9461132,-37.2535737,150.0409107,-37.47902961";
dataPolyState[3]="129.0112111,-14.8981587,129.0112111,-31.760161,127.3076847,-32.40869937,126.3248741,-32.3497409,124.4247889,-33.1161962,123.4419782,-34.05952689,121.4108538,-33.94160996,119.8383666,-34.11848535,119.3797129,-34.41327294,118.331399,-35.00285284,116.8244151,-35.12076977,115.6450538,-34.76702372,115.0553691,-34.29535601,114.8588102,-33.46994225,115.448495,-33.58785918,115.6450538,-32.82140388,115.7105734,-31.760161,114.7932906,-30.22725041,114.9243299,-29.22496599,114.2036059,-28.34059377,113.7449604,-26.9845633,112.8276776,-25.68748657,113.0242364,-25.51060644,113.8760078,-26.45394186,113.4173623,-24.80311434,113.81048,-23.50603761,113.5484015,-22.50374846,114.0725667,-21.67833943,114.2036059,-22.44479473,114.8588102,-21.5014593,116.6278563,-20.55813335,117.4796276,-20.73500401,118.5934775,-20.20438257,119.8383666,-19.90959498,121.3453341,-19.49689047,121.8694911,-18.43564759,122.459184,-18.08189681,122.2626088,-17.96397988,122.0660499,-17.19752458,122.9178213,-16.43106929,123.6385371,-17.37439524,123.8351123,-16.96169073,123.310939,-16.31315236,123.3764586,-16.0773185,124.2937496,-16.43106929,124.5558281,-15.95941105,124.4247889,-15.60566026,125.079985,-14.42650046,125.9317564,-13.95483274,126.7835278,-13.66004516,127.9628973,-14.36753726,128.4215346,-14.78024177,127.9628973,-14.9571219,128.0939365,-15.19295575,128.356015,-15.01607562,128.2904954,-14.72128804,129.0112111,-14.8981587";
dataPolyState[4]="140.9454147,-28.98872371,148.8615576,-29.04802846,149.3857146,-28.51741175,150.3029892,-28.51741175,150.9582181,-28.87115307,151.416839,-29.16594539,151.482375,-28.98906999,152.1375712,-28.87115307,152.006532,-28.39949483,152.3996497,-28.2815779,153.3169571,-28.2815779,153.5790355,-27.75095646,152.9893426,-27.10241809,153.3169571,-26.45387972,152.8583034,-25.21575671,151.8099567,-24.33138449,150.8926821,-23.32909534,150.7616429,-22.56264951,149.9098715,-22.0909818,149.5822898,-22.14993553,148.7305184,-20.49911748,148.8615576,-20.0864035,147.0269756,-19.14307755,146.109701,-18.37662225,145.4545048,-15.90038571,145.3234656,-14.95705975,144.340655,-14.13164126,143.8164653,-14.48539204,143.4233476,-12.42186001,142.6371122,-10.77104196,142.1784585,-10.77104196,141.8508768,-11.71435844,141.6543016,-12.48081374,141.6543016,-13.54205662,141.5232623,-14.78017963,141.5232623,-15.54663492,141.2611839,-16.72579473,140.8025302,-17.49225003,140.0162948,-17.78704708,139.1645234,-17.25642564,139.0990202,-16.96162859,137.9851703,-16.54892407,137.9874936,-26.0304217,140.9247089,-26.04116574,140.9454147,-28.98872371";
dataPolyState[5]="144.6810738,-40.63631701,144.9842597,-40.74137807,145.2549562,-40.75754204,145.4065491,-40.83835951,145.753042,-40.96766415,146.1320244,-41.10505314,146.4352104,-41.16162466,146.6625957,-41.09697116,146.9116407,-40.98382812,147.0848851,-40.97574613,147.2581377,-40.91917461,147.388071,-40.9272566,147.442212,-40.9919101,147.6154564,-40.81411356,147.7237382,-40.85452111,147.886161,-40.87876706,147.9402938,-40.70097052,148.2543095,-40.87068508,148.3192803,-41.05656361,148.2976206,-41.33133922,148.3192803,-41.63035961,148.3192803,-41.85664569,148.3301019,-42.11525852,148.2001686,-42.12333932,148.0918867,-42.14758527,147.9727832,-42.49509519,147.8969827,-42.58399346,147.9294721,-42.72946325,148.0160943,-43.14970866,147.9078125,-43.24668833,147.7020786,-43.14970866,147.6479459,-42.92342258,147.5721453,-42.84260629,147.3664114,-42.92342258,147.3555898,-43.09313714,147.4205523,-43.34366858,147.3231003,-43.50530116,147.0090927,-43.52954593,146.8358401,-43.66693403,146.5434922,-43.56187268,146.1536841,-43.53762791,146.0345724,-43.55379129,145.7097309,-43.13354529,145.5689678,-42.98807609,145.4715158,-42.95574933,145.1791597,-42.36578937,145.1791597,-42.22031957,145.3524082,-42.31729983,145.4931713,-42.47893241,145.5364865,-42.37387135,145.265786,-42.15566607,145.2224749,-42.03444223,145.0600521,-41.84048172,144.8976334,-41.68693113,144.7893556,-41.43640028,144.6919036,-41.29093167,144.6161071,-40.95958453,144.6485925,-40.89493103,144.7027293,-40.74946005,144.6810738,-40.63631701	";
dataPolyState[6]="129.0147097,-25.99810704,137.9874922,-26.0305467,140.9247089,-26.04116574,140.9451589,-28.9887243,140.928887,-34.08249974,140.953186,-38.03862444,140.4689166,-38.00965105,139.6875865,-37.18423966,139.8178082,-36.77153278,139.2317942,-35.41549995,138.1248935,-35.76924599,137.2784687,-36.06403831,137.8644501,-35.53341214,138.0597989,-34.2363354,137.1482145,-35.29758302,136.5622331,-35.35654148,137.9295772,-33.70571396,137.6691338,-32.70342955,137.0831199,-33.52883857,135.8459975,-34.94383223,135.4553324,-35.0027907,134.7390968,-33.52883857,133.8926395,-32.93925867,134.0879883,-32.52655415,133.1764038,-32.11384491,132.1997411,-32.11384491,131.0928404,-31.46530654,129.0112111,-31.760161,129.0147097,-25.99810704";
dataPolyState[7]="148.8249708,-36.06987036,148.5881236,-35.76393424,148.5516856,-35.32368515,149.1529149,-34.87597449,149.4170947,-35.06998237,149.6812703,-35.19683376,149.6539418,-35.36099417,149.4535327,-35.47292243,149.3259996,-35.88332406,149.207572,-36.07733253,148.8249708,-36.06987036";
dataPolyState[8]="137.9874936,-26.0304217,137.9875461,-16.62223952,136.8734015,-15.79474954,135.4315556,-14.90815791,136.086958,-13.78514055,135.8247774,-13.54871486,136.4801797,-12.89855841,136.8734015,-12.1892813,136.4146264,-11.65732821,136.2180319,-11.95285559,136.3491058,-12.36660532,135.8247774,-12.07107794,135.0383339,-12.13017961,134.0552631,-11.89375392,133.7275947,-11.59822652,133.1377293,-11.42090251,132.4168228,-10.88894942,131.9580641,-11.1844768,132.7445076,-11.89375392,132.2202119,-12.30750365,131.3026781,-12.13017961,130.7128455,-12.60303103,130.1229965,-13.13498412,130.2540704,-13.48961317,129.8608487,-13.60783551,129.4676269,-14.37620482,129.6642378,-14.78994505,129.0088518,-14.90815791,129.0088518,-26.02009004,137.9874936,-26.0304217";



var melwayPoly = new Array () ; // melway polygon
melwayPoly[0]="143.992804,-38.559683,143.993426,-38.513594,143.959574,-38.513345,143.950074,-38.51322,143.949124,-38.514129,143.949078,-38.515585,143.948837,-38.531301,143.948462,-38.531213,143.948175,-38.545692,143.94802,-38.558847,143.948954,-38.559393,143.960113,-38.559434,143.976085,-38.559642,143.992804,-38.559683,143.993011,-38.559642,143.992804,-38.559683";
melwayPoly[1]="144.205401,-38.430786,144.206348,-38.430028,144.206829,-38.385367,144.205934,-38.384634,144.165309,-38.384365,144.163076,-38.384344,144.162197,-38.385089,144.161686,-38.430465,144.163125,-38.430495,144.205401,-38.430786,144.205401,-38.430786";
melwayPoly[2]="144.217181,-38.22456,144.218244,-38.002433,144.489265,-38.004076,144.488381,-38.050493,144.399206,-38.049935,144.398647,-38.136738,144.573928,-38.136599,144.574207,-38.09236,144.754931,-38.092918,144.754373,-38.226612,144.708459,-38.226891,144.70832,-38.270711,144.665058,-38.270571,144.664918,-38.298622,144.633673,-38.298743,144.619144,-38.298622,144.619005,-38.314392,144.36634,-38.312228,144.365915,-38.357234,144.273743,-38.356815,144.274226,-38.310611,144.305442,-38.310611,144.306253,-38.225182,144.217181,-38.22456";
melwayPoly[3]="144.64552,-38.29925,144.645311,-38.332813,144.691503,-38.332952,144.691294,-38.357514,144.70811,-38.357514,144.707901,-38.368399,144.752628,-38.368539,144.752419,-38.40266,144.79589,-38.40273,144.795541,-38.445783,144.796658,-38.44662,144.841595,-38.44662,144.841525,-38.489463,144.881856,-38.489393,144.881786,-38.501465,144.948773,-38.501674,144.948842,-38.489533,144.975428,-38.489463,144.975637,-38.490649,145.065301,-38.490719,145.066417,-38.489812,145.066348,-38.44669,145.108214,-38.44669,145.108144,-38.40266,145.243861,-38.40259,145.244768,-38.401893,145.24435,-38.22703,145.4197,-38.228496,145.419072,-38.192211,145.377625,-38.191653,145.377346,-38.137994,145.377415,-38.094662,145.419212,-38.094593,145.419282,-38.138762,145.51076,-38.138273,145.51062,-38.094174,145.522692,-38.094104,145.643895,-38.093685,145.644035,-38.085312,145.643198,-38.003533,145.552975,-38.004161,145.552766,-37.961108,145.596935,-37.960969,145.597075,-37.940524,145.596516,-37.916102,145.553813,-37.916241,145.553045,-37.80076,145.640058,-37.80048,145.639988,-37.785967,145.728605,-37.785618,145.728256,-37.757707,145.818269,-37.757288,145.817711,-37.711096,145.727698,-37.711584,145.727698,-37.739425,145.639709,-37.739844,145.63936,-37.754148,145.552347,-37.754706,145.551789,-37.65004,145.560511,-37.649901,145.560651,-37.638806,145.551719,-37.638806,145.55144,-37.608453,145.497851,-37.608802,145.497851,-37.59673,145.484384,-37.59672,145.484314,-37.608313,145.329269,-37.60943,145.32906,-37.5654,144.974939,-37.565749,144.975079,-37.521999,144.624447,-37.521301,144.62361,-37.433102,144.577906,-37.433311,144.577347,-37.476853,144.533388,-37.477132,144.533388,-37.523324,144.577627,-37.523324,144.576929,-37.567005,144.665127,-37.568261,144.665267,-37.60922,144.400043,-37.608383,144.399206,-37.742495,144.486707,-37.742775,144.487125,-37.830834,144.575463,-37.831113,144.574626,-37.962853,144.665058,-37.962992,144.664918,-37.981413,144.710971,-37.981693,144.710692,-37.963271,144.799868,-37.96355,144.799868,-37.919451,144.844107,-37.919591,144.844107,-37.875212,144.976125,-37.875631,144.975707,-38.00751,145.065161,-38.00765,145.064464,-38.050633,145.107726,-38.050354,145.107726,-38.137296,145.064743,-38.137017,145.064464,-38.180698,145.019108,-38.180977,145.019108,-38.226193,145.020364,-38.226193,145.019946,-38.256058,144.975567,-38.256476,144.975567,-38.312996,144.885275,-38.312856,144.884717,-38.356677,144.797356,-38.356537,144.797356,-38.357514,144.781725,-38.357933,144.781865,-38.312577,144.736091,-38.312577,144.736091,-38.313973,144.70497,-38.313694,144.704831,-38.310205,144.691364,-38.309716,144.691433,-38.299389,144.64552,-38.29925";
melwayPoly[4]="144.929788,-37.377415,144.929455,-37.423768,144.976251,-37.423879,144.975586,-37.467681,145.020992,-37.467642,145.02083,-37.377526,144.929788,-37.377415";
melwayPoly[5]="145.046252,-37.483481,145.046391,-37.528697,145.137241,-37.528488,145.137172,-37.482295,145.047577,-37.482225,145.046252,-37.483481";
melwayPoly[6]="145.320128,-37.495623,145.320198,-37.541606,145.366111,-37.541397,145.365483,-37.495204,145.320128,-37.495623";
melwayPoly[7]="145.669687,-37.705291,145.690437,-37.705095,145.690507,-37.717445,145.669573,-37.717585,145.669687,-37.705291";
melwayPoly[8]="144.485727,-37.946366,144.531637,-37.946989,144.531261,-37.992921,144.485655,-37.992686,144.485727,-37.946366";

var sidwayPoly = new Array() ; // sidway polygon
sidwayPoly[0]="151.011876,-33.375844,151.009738,-33.467038,151.022278,-33.467251,151.020995,-33.511495,151.104993,-33.512706,151.105919,-33.468463,151.235728,-33.470457,151.235229,-33.514416,151.278333,-33.514914,151.278333,-33.516054,151.407215,-33.517907,151.406146,-33.562364,151.364824,-33.561936,151.361333,-33.743255,151.318159,-33.742899,151.316306,-33.831813,151.315024,-33.832027,151.312815,-33.922864,151.271351,-33.922223,151.268501,-34.05766,151.182009,-34.056449,151.180727,-34.101476,151.007601,-34.098911,151.006817,-34.142157,151.049992,-34.142869,151.048994,-34.188608,151.027336,-34.188323,151.026196,-34.234277,150.937211,-34.232852,150.938208,-34.187326,150.959582,-34.18754,150.960935,-34.1418,150.917405,-34.141587,150.918687,-34.097201,150.834333,-34.095918,150.830699,-34.231071,150.601931,-34.225371,150.601147,-34.243538,150.546004,-34.242327,150.54636,-34.225727,150.526269,-34.2253,150.527836,-34.17899,150.569728,-34.179347,150.570583,-34.154981,150.626653,-34.154767,150.627009,-34.136457,150.658571,-34.136671,150.658927,-34.092285,150.485588,-34.089008,150.486133,-34.043347,150.572578,-34.044266,150.582624,-33.730003,150.497201,-33.728864,150.496346,-33.747031,150.410642,-33.745508,150.410709,-33.734919,150.389051,-33.734492,150.388694,-33.743896,150.367321,-33.743184,150.367535,-33.735276,150.345876,-33.734706,150.345449,-33.742828,150.335118,-33.742614,150.335261,-33.734492,150.323078,-33.734207,150.322793,-33.742115,150.281186,-33.741118,150.281328,-33.732141,150.237085,-33.731286,150.241431,-33.596276,150.199182,-33.595778,150.199824,-33.550394,150.287883,-33.551392,150.286743,-33.596561,150.329632,-33.597274,150.326711,-33.687613,150.411635,-33.689251,150.411707,-33.698299,150.498198,-33.700152,150.498697,-33.682697,150.49713,-33.682768,150.498626,-33.636886,150.584761,-33.638881,150.587255,-33.549468,150.588893,-33.549682,150.589036,-33.532298,150.502687,-33.53066,150.502045,-33.548756,150.415411,-33.546262,150.416551,-33.500452,150.503898,-33.501805,150.504753,-33.483852,150.589748,-33.485561,150.589463,-33.5038,150.761164,-33.507362,150.761805,-33.461908,150.967205,-33.466111,150.968274,-33.374989,151.011876,-33.375844";
sidwayPoly[1]="150.110256,-33.451427,150.123106,-33.45177,150.122962,-33.457723,150.204613,-33.459355,150.203096,-33.505346,150.116208,-33.504401,150.117582,-33.460413,150.110198,-33.460242,150.110256,-33.451427";

var briswayPoly = new Array() ; // brisway polygon
briswayPoly[0]="152.628849,-26.154777,152.711382,-26.154777,152.71121,-26.247626,152.628333,-26.246251,152.628849,-26.154777";
briswayPoly[1]="152.989727,-26.280435,152.999975,-26.280506,152.999921,-26.289376,152.989978,-26.289412,152.989906,-26.287499,152.987581,-26.287463,152.987563,-26.282312,152.989817,-26.282277,152.989727,-26.280435";
briswayPoly[2]="152.757681,-26.35398,153.121284,-26.353981,153.121567,-26.669687,153.161527,-26.670113,153.162093,-26.851913,153.039664,-26.852339,153.039523,-26.941043,153.081608,-26.940618,153.081891,-26.985962,153.161668,-26.986245,153.16266,-27.031022,153.242863,-27.031164,153.243004,-27.12256,153.081324,-27.12256,153.081608,-27.166204,153.122276,-27.167337,153.122417,-27.347579,153.202761,-27.347296,153.20347,-27.438551,153.282255,-27.439684,153.281972,-27.483611,153.323349,-27.483611,153.323632,-27.528105,153.363875,-27.528955,153.363591,-27.573449,153.405251,-27.573165,153.405818,-27.636647,153.417437,-27.63693,153.418004,-27.645149,153.405535,-27.645432,153.407802,-27.843529,153.447761,-27.843812,153.448328,-28.067698,153.488287,-28.068548,153.489704,-28.114458,153.529664,-28.114175,153.530514,-28.158952,153.571324,-28.159236,153.572175,-28.24964,153.612984,-28.248507,153.613268,-28.295835,153.578799,-28.295829,153.578799,-28.321753,153.561405,-28.321624,153.561298,-28.29561,153.529358,-28.29561,153.52938,-28.250774,153.243323,-28.250654,153.24376,-28.02489,152.91955,-28.023577,152.919987,-27.752746,152.755836,-27.755223,152.755836,-27.726536,152.73681,-27.727279,152.736513,-27.709146,152.674681,-27.709889,152.676466,-27.573112,152.594406,-27.572937,152.594465,-27.618317,152.513749,-27.617617,152.513064,-27.482056,152.797832,-27.483986,152.799993,-27.348545,152.838307,-27.348078,152.838148,-27.213025,152.757941,-27.212578,152.757425,-27.166948,152.838852,-27.167124,152.83845,-26.400741,152.758106,-26.400458,152.757681,-26.35398";
briswayPoly[3]="153.437062,-27.384764,153.453453,-27.384708,153.454031,-27.385287,153.454124,-27.407501,153.437249,-27.407539,153.436502,-27.407016,153.436409,-27.385399,153.437062,-27.384764";
briswayPoly[4]="153.399014,-27.486402,153.417547,-27.48646,153.418614,-27.487526,153.418637,-27.507752,153.41764,-27.509038,153.39913,-27.509189,153.398423,-27.508539,153.398307,-27.487062,153.399014,-27.486402";
briswayPoly[5]="151.865393,-27.477895,152.028469,-27.479423,152.026828,-27.66135,151.863526,-27.660501,151.865393,-27.477895";


genMap.prototype.checkMelwayPolygon = function () {
   var result=0;
   for (var i=0; i< melwayPoly.length-1;i++) {
    	if (InsidePolygon(this.getCurrLong(),this.getCurrLat(),melwayPoly[i])) {
    		result = 1;
    		break;		
    	}
    }
    return result;
}

genMap.prototype.checkSidwayPolygon = function () {
  var result=0;
  for (var i=0; i< sidwayPoly.length-1;i++) {
   	if (InsidePolygon(this.getCurrLong(),this.getCurrLat(),sidwayPoly[i])) {
  		result = 1;
  		break;		
  	}
  }
  return result;
}

genMap.prototype.checkBriswayPolygon = function () {
   var result=0;
   for (var i=0; i< briswayPoly.length-1;i++) {
    	if (InsidePolygon(this.getCurrLong(),this.getCurrLat(),briswayPoly[i])) {
    		result = 1;
    		break;		
    	}
    }
    return result;
}



function InsidePolygon (lon,lat,poly) {

  	var dataPolygon = poly.split(",") ;
    	var insidePolyLength = dataPolygon.length ;
        var insidePolyOut =1;
        var j = insidePolyLength - 2;
        for (var i=0; i<insidePolyLength-1; i+=2) {
	        if (((dataPolygon[i+1]<=lat) && (lat<=dataPolygon[j+1])) || ((dataPolygon[j+1]<=lat) && (lat<=dataPolygon[i+1]))) {
	
                        if (lon <= (dataPolygon[j]-dataPolygon[i])*(lat-dataPolygon[i+1])/(dataPolygon[j+1]-dataPolygon[i+1])+parseFloat(dataPolygon[i])) {
                                insidePolyOut = 1 - insidePolyOut;
                        }
                }
                j = i;
        }

	return (insidePolyOut)?0:1;

}




genMap.prototype.setMapInfo = function ()
{
	var canvasDiv = "canvasDiv_" + this.divName ;
	var bDiv = "mapInfoDiv_" + this.divName ;
	if (!document.getElementById(bDiv))
	{
		createNewLayer(canvasDiv,bDiv) ;
	}	

	var mapInfoDiv = document.getElementById(bDiv) ;
	mapInfoDiv.innerHTML = "" ;
	mapInfoDiv.style.position = 'absolute' ;		

	var n = this.width - 90;   
	mapInfoDiv.style.left = n + 'px';
	mapInfoDiv.style.top = this.height - 25 + 'px' ;
	mapInfoDiv.style.width = 90 + 'px';
	mapInfoDiv.style.height = 25 + 'px' ;
	mapInfoDiv.style.zIndex = "999999" ;
	mapInfoDiv.style.visibility = 'visible' ;
	mapInfoDiv.style.backgroundColor = "#ffffff";

	var bDiv1 = "mapInfoDiv1_" + this.divName ;
	if (!document.getElementById(bDiv1))
	{
		var tmpDiv = document.createElement("DIV");
		tmpDiv.id = bDiv1;
		document.getElementById(canvasDiv).appendChild(tmpDiv);
	
	}	
	var mapInfoDiv1 = document.getElementById(bDiv1) ;
	mapInfoDiv1.innerHTML = "";
	mapInfoDiv1.vAlign = "bottom";
	mapInfoDiv1.style.backgroundColor = "#e0e0e0";
	mapInfoDiv1.style.position = 'absolute' ;		
	mapInfoDiv1.style.zIndex = parseInt(mapInfoDiv.style.zIndex) + 1 ;
  	mapInfoDiv1.style.left = parseInt(mapInfoDiv.style.left) + 1 + 'px';
	mapInfoDiv1.style.top = parseInt(mapInfoDiv.style.top) + 1 + 'px' ;
  	mapInfoDiv1.style.width = parseInt(mapInfoDiv.style.width) - 1 + 'px';
	mapInfoDiv1.style.height = parseInt(mapInfoDiv.style.height) - 1 + 'px' ;
	mapInfoDiv1.align = "left";

	var maprefTable = document.createElement("TABLE");
	var maprefTBody = document.createElement("TBODY");
	var oRow, oCell;

	maprefTable.id = "maprefTable";
	maprefTable.cellPadding=2;

	oRow = document.createElement("TR");
	maprefTBody.appendChild(oRow);

    oCell = document.createElement("TD");
	oCell.width = "145px";
	oCell.id="mapScale";
    oRow.appendChild(oCell);

/*    oCell = document.createElement("TD");
	oCell.id="mapReferenceImage";
	oCell.style.position = "absolute";
	oCell.style.top = "5px";
	oCell.style.left = "110px";
	oCell.innerHTML ="<b>PSMA&nbsp;Map&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>";
    oRow.appendChild(oCell);
*/
    maprefTable.appendChild(maprefTBody);
	mapInfoDiv1.appendChild(maprefTable);

	this.setmapScale(); // show mapscale at bottom right

}


genMap.prototype.setmapScale = function ()
{
	var mapscaleDiv = document.getElementById("mapScale") ;
	var img = document.createElement("IMG");
	img.src = imageURL + "images/aus_level"+this.level+".gif" ;
	img.style.position = "absolute";	
	img.style.top = "5px";
	img.style.left = "10px";
	img.alt = this.imageAlt;
	mapscaleDiv.appendChild(img);

}

genMap.prototype.setmapReference = function ()
{
    var bDiv1 = "mapInfoDiv1_" + this.divName ;
    if (!document.getElementById(bDiv1))
    {
	    setMapInfo();
     }

    if ((mapReferenceData) && (this.ausway)) {
		var dataAusway = mapReferenceData.split(",") ;	
		var mapAuswayDiv = document.getElementById("mapReferenceImage") ;
		mapAuswayDiv.style.position = "relative";

		var img = document.createElement("IMG");
		img.src = "map reference";
		img.src = imageURL + "images/"+ dataAusway[0] ;
		img.style.position = "absolute";	
		img.style.top = "5px";
		img.style.left = "95px";
		img.style.height = "15px";
		img.alt=dataAusway[1];
		img.title=dataAusway[1];
		dataAusway[2]= dataAusway[2].replace(/ or.*/,"");
		mapAuswayDiv.innerHTML ="<b>"+dataAusway[2]+"</b>";
    	mapAuswayDiv.appendChild(img);
    } else {
		var mapAuswayDiv = document.getElementById("mapReferenceImage") ;
		mapAuswayDiv.innerHTML ="loading...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
    }
}
