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[1]="140.9422946,-33.9989067,141.514513,-34.09694818,141.8397002,-33.92089036,142.4999278,-34.57711033,142.9138019,-34.4810777,143.416364,-34.96924106,144.2230245,-35.6856531,144.8782199,-36.03940356,145.0718607,-35.79351763,146.0575731,-35.80356992,147.8901481,-35.85753939,147.8921549,-35.86252833,148.285273,-36.57002321,149.0824984,-37.08995414,150.0543188,-37.39543692,149.4865194,-37.70616101,148.2197702,-37.74918536,147.6955803,-37.86710218,147.1714225,-38.45668226,146.7783055,-38.86938911,146.1886118,-39.04626233,145.664455,-38.57459606,145.2315974,-38.44872227,144.9136352,-38.62654662,144.589926,-38.32561341,143.9609451,-38.75147229,142.9125994,-38.51563966,142.1918671,-38.16189222,141.6022055,-38.33876544,140.9665939,-37.95503105,140.9422946,-33.9989067";
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.9929851,-38.55972776,143.9929087,-38.51378464,143.9474191,-38.51302554,143.9467384,-38.55927431,143.9929851,-38.55972776";
melwayPoly[1]="144.2079099,-38.43087488,144.2081944,-38.38457282,144.162383,-38.38457282,144.1616691,-38.43034703,144.2079099,-38.43087488";
melwayPoly[2]="145.6431771,-38.02049157,145.6431771,-38.0945073,145.5109963,-38.0945073,145.5109963,-38.13839331,145.4195665,-38.13839331,145.4195665,-38.09468124,145.3775958,-38.09468124,145.3775958,-38.16590891,145.3777698,-38.16590891,145.3777698,-38.19168411,145.4207851,-38.19168411,145.4207851,-38.22964915,145.3768991,-38.22964915,145.3768991,-38.22668815,145.2445443,-38.22668815,145.2445443,-38.32438779,145.2448922,-38.32438779,145.2448922,-38.40258208,145.1095764,-38.40258208,145.1095764,-38.44646809,145.0663861,-38.44646809,145.0663861,-38.49035511,144.9754792,-38.49035511,144.9754792,-38.48965834,144.9540585,-38.48965834,144.9540585,-38.48983228,144.9490082,-38.48983228,144.9490082,-38.50167424,144.8819591,-38.50167424,144.8819591,-38.48983228,144.8417298,-38.48983228,144.8417298,-38.44664203,144.7971471,-38.44664203,144.7971471,-38.40275602,144.7523904,-38.40275602,144.7523904,-38.36862168,144.7079805,-38.36862168,144.7079805,-38.35765143,144.7029313,-38.35765143,144.7029313,-38.35747749,144.6912632,-38.35747749,144.6912632,-38.33257299,144.6456348,-38.33257299,144.6456348,-38.29878653,144.6191639,-38.29878653,144.6191639,-38.31237089,144.5326104,-38.31237089,144.5299983,-38.31237089,144.3662952,-38.31237089,144.3662952,-38.35730154,144.2746905,-38.35730154,144.2746905,-38.3102806,144.3062127,-38.3102806,144.3062127,-38.22545952,144.3062017,-38.22544142,144.2172915,-38.22451039,144.2194834,-38.00272161,144.4887817,-38.00420663,144.4883263,-38.05029654,144.3994553,-38.04986018,144.3988098,-38.13690628,144.3992733,-38.1371868,144.4152365,-38.137039,144.4154648,-38.1222079,144.4330336,-38.12228431,144.4328808,-38.13688718,144.4420835,-38.137039,144.4420835,-38.13597425,144.574193,-38.13646791,144.5743257,-38.09239389,144.7547501,-38.09286041,144.754369,-38.22668011,144.7083555,-38.22675552,144.7083304,-38.22676055,144.7083304,-38.27092305,144.6647923,-38.27092305,144.6647923,-38.29878653,144.6914372,-38.29878653,144.6914372,-38.30993272,144.7044977,-38.30993272,144.7044977,-38.31376442,144.7821702,-38.31376442,144.7821702,-38.35660578,144.7825191,-38.35660578,144.7825191,-38.35782537,144.7971471,-38.35782537,144.7971471,-38.35677972,144.8854419,-38.35677972,144.8853635,-38.31291583,144.9757919,-38.31282937,144.9756833,-38.2563604,145.0203314,-38.25634934,145.0203746,-38.22589386,145.0190686,-38.22589386,145.019156,-38.18118139,145.064696,-38.18118139,145.0646085,-38.13725114,145.1079727,-38.13746932,145.1077344,-38.050197,145.0646528,-38.05027341,145.0646085,-38.00739887,144.9757587,-38.0074421,144.975814,-37.8756041,144.8442635,-37.87546233,144.8444385,-37.91921764,144.8000286,-37.9190437,144.7996808,-37.96319112,144.710841,-37.96312577,144.7107917,-37.98146079,144.6650286,-37.98134717,144.6651271,-37.96302723,144.5809565,-37.96271656,144.5749923,-37.96280403,144.5757323,-37.83356104,144.5757323,-37.83092681,144.4982559,-37.83064932,144.4871539,-37.83060608,144.4876979,-37.74904762,144.4878286,-37.7426923,144.3992944,-37.742267,144.4002516,-37.60826833,144.5783444,-37.6090405,144.5783233,-37.6101515,144.5871721,-37.61017262,144.587161,-37.60286415,144.600483,-37.6028752,144.600483,-37.60654301,144.6048807,-37.60654301,144.6048475,-37.61025405,144.6224918,-37.61027115,144.6224918,-37.60918227,144.6653121,-37.60935118,144.6654418,-37.56760372,144.6653443,-37.56759266,144.5771912,-37.5673041,144.5774516,-37.52336279,144.5333022,-37.52323008,144.5335736,-37.47705872,144.5746304,-37.47723769,144.5776889,-37.47728193,144.5779282,-37.43609952,144.5779392,-37.43385037,144.5779503,-37.43325717,144.6233756,-37.43341301,144.6242473,-37.52132277,144.9759467,-37.52188883,144.9760342,-37.56585427,145.329119,-37.5653968,145.3292789,-37.60934213,145.4845786,-37.60879317,145.4845253,-37.59677124,145.4976633,-37.59678733,145.4978372,-37.60874893,145.4979237,-37.60874893,145.5501688,-37.60850963,145.550387,-37.63892087,145.5604876,-37.63872481,145.5608364,-37.64952213,145.5512577,-37.64934819,145.5524682,-37.75476449,145.6396621,-37.75438444,145.6395747,-37.74139831,145.6396179,-37.73991832,145.7280525,-37.7394146,145.7278263,-37.71163557,145.81758,-37.71111878,145.8181461,-37.75724791,145.7282506,-37.75775364,145.7282556,-37.75778581,145.7285341,-37.78552763,145.6399447,-37.7860022,145.6400864,-37.80040699,145.5528805,-37.80085441,145.5537291,-37.91615309,145.5967665,-37.91596809,145.5970269,-37.94625968,145.5971144,-37.96097616,145.570382,-37.96106262,145.570382,-37.96802925,145.5527045,-37.96802925,145.5529669,-38.0032947,145.5524361,-38.00342541,145.6431771,-38.00342541,145.6431771,-38.01683483,145.6431771,-38.02049157";
melwayPoly[3]="145.0462001,-37.48237242,145.137095,-37.48225277,145.1372126,-37.52811646,145.073409,-37.52835375,145.0464384,-37.52859103,145.0462001,-37.48237242";
melwayPoly[4]="145.0210191,-37.46752222,145.0208864,-37.37746486,144.9301252,-37.37749502,144.9300589,-37.42362616,144.9754762,-37.42366637,144.975446,-37.46755641,144.9529374,-37.4674448,144.9526157,-37.48580395,144.987673,-37.48604123,144.9880883,-37.4675192,145.0210191,-37.46752222,145.0210191,-37.46752222";
melwayPoly[5]="145.3660052,-37.54147762,145.3656071,-37.49521679,145.3202431,-37.49521679,145.3201425,-37.50379109,145.3113692,-37.50389063,145.3114687,-37.52582509,145.3205417,-37.52582509,145.3204422,-37.54147762,145.3660052,-37.54147762";
melwayPoly[6]="145.6691021,-37.71806731,145.6689463,-37.70345942,145.691118,-37.70330257,145.6912749,-37.71801503,145.6691021,-37.71806731";
melwayPoly[7]="144.4854306,-37.94667894,144.532156,-37.94678954,144.5312702,-37.99318209,144.4854306,-37.9925175,144.4854306,-37.94667894";
melwayPoly[8]="143.7847908,-37.46170782, 143.8291614,-37.46332153, 143.8287572,-37.50769116, 143.9614619,-37.50849651, 143.9610577,-37.59602521, 143.9166891,-37.59642939, 143.9166891,-37.68476345, 143.8711099,-37.68355291, 143.8711099,-37.64765504, 143.8674803,-37.6464445, 143.8674803,-37.64120119, 143.8275467,-37.63958848, 143.8271445,-37.59683157, 143.7835812,-37.59602521, 143.7847908,-37.46251518, 143.7847908,-37.46170782";


/*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";
	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 = 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;";
    }
}

