// (c) 2010 CodeGen International

var circleUnits;var radius_icon;var city_icon;function drawPolygon(centerMarker,radiusMarker,circle,lable,tid,radius_val){this.centerMarker=centerMarker;this.radius=radiusMarker;this.circle=circle;this.lable=lable;this.tid=tid;this.city_radius=radius_val;}
function showDiv(){if(document.getElementById('weather_div').className=="weather_hide"){document.getElementById('weather_div').className="weather_show";document.getElementById('weather_link').title="Hide weather data";document.getElementById('weather_link').innerHTML="Hide weather data";}
else{document.getElementById('weather_div').className="weather_hide";document.getElementById('weather_link').title="Show weather data";document.getElementById('weather_link').innerHTML="Show weather data";}}
function createLable(lat,lan,name,tid,ACCcount,TSScount,TSDcount){var hotel_html="<a href='javascript:city_accomm_list(\""+name+"\",\""+tid+"\",\""+ACCcount+"\");' style='text-decoration:none; display:visible;' align='center' title='Accommodation'><img id='city_ledgend_accom"+tid+"' src='sites/all/modules/cgpathfinder/icons/stay_icon.png' width='15' height='17' alt='Accomodation' title='Show Accommodation: "+ACCcount+"'/></a><br>";var see_html="<a href='javascript:city_things_see(\""+name+"\",\""+tid+"\",\""+TSScount+"\");' style='text-decoration:none' align='center' title='Things to see'><img  id='city_ledgend_see"+tid+"' src='sites/all/modules/cgpathfinder/icons/see_icon.png' width='15' height='17' alt='See' title='Show things to see: "+TSScount+"'/></a><br>";var do_html="<a href='javascript:city_things_do(\""+name+"\",\""+tid+"\",\""+TSDcount+"\");' style='text-decoration:none' align='center' title='Things to do'><img  id='city_ledgend_do"+tid+"' src='sites/all/modules/cgpathfinder/icons/do_icon.png' width='15' height='17' alt='Do' title='Show things to do: "+TSDcount+"'/></a>";var final_html="";if(ACCcount>0){final_html+=hotel_html;}
if(TSScount>0){final_html+=see_html;}
if(TSDcount>0){final_html+=do_html;}
var lable=new ELabel(new GLatLng(lat,lan+0.09),final_html,"style1");return lable;}
function distance(lat1,lng1,lat2,lng2)
{var O=Math.PI/180;var b=lat1*O;var c=lat2*O;var d=b-c;var e=(lng1*O)-(lng2*O);var f=2*Math.asin(Math.sqrt(Math.pow(Math.sin(d/2),2)+Math.cos(b)*Math.cos(c)*Math.pow(Math.sin(e/2),2)));return f*6378.137;}
function drawAgainCircle(lat,lan,latlng){var acircle;if(acircle){map.removeOverlay(acircle);}
centerMarker=new GMarker(new GLatLng(lat,lan),{draggable:false});var bounds=new GLatLngBounds();var pointx=centerMarker.getPoint();var new_point=new GMarker(new GLatLng(latlng.lat(),latlng.lng()));var Cradius=pointx.distanceFrom(new_point.getPoint())*0.000621371192;var b=new_point.getPoint();var circlePoints=Array();var d;if(circleUnits=='KM'){d=Cradius/6378.8;}
else{d=Cradius/3963.189;}
var lat1=(Math.PI/180)*lat;var lng1=(Math.PI/180)*lan;for(var a=0;a<361;a++){var tc=(Math.PI/180)*a;var y=Math.asin(Math.sin(lat1)*Math.cos(d)+Math.cos(lat1)*Math.sin(d)*Math.cos(tc));var dlng=Math.atan2(Math.sin(tc)*Math.sin(d)*Math.cos(lat1),Math.cos(d)-Math.sin(lat1)*Math.sin(y));var x=((lng1-dlng+Math.PI)%(2*Math.PI))-Math.PI;var point=new GLatLng(parseFloat(y*(180/Math.PI)),parseFloat(x*(180/Math.PI)));circlePoints.push(point);bounds.extend(point);}
if(d<7.8688232820198305){acircle=new GPolygon(circlePoints,'#000022',1,0.8,'#550066',0.2);}
else{acircle=new GPolygon(circlePoints,'#000022',1,0.8,'#550066',0.2);}
map.addOverlay(acircle);return acircle;}
function doDrawCircle(lat,lan,lable_name,name,image_url,tid,content,ACCcount,TSScount,TSDcount,radius,nid,body_images,heritage_nid,ancient_nid){var hotel_label;var circle;var centerMarker;var city_lable;var html="<b>"+lable_name+"</b>";city_lable=new ELabel(new GLatLng(lat,lan),html,"style3");if(circle){map.removeOverlay(circle);map.clearOverlays();}
if(centerMarker){centerMarker=new GMarker(new GLatLng(lat,lan),{draggable:false,title:name,icon:city_icon});GEvent.addListener(centerMarker,'click',function(latlng){map.setCenter(new GLatLng(lat,lan),12);});GEvent.addListener(centerMarker,"mouseover",function(){centerMarker.openInfoWindowHtml("<b>"+name+"<b>");});GEvent.addListener(centerMarker,"mouseout",function(){centerMarker.closeInfoWindow();});map.addOverlay(centerMarker);}
else{if((!empty(content))&&(!empty(image_url))){centerMarker=new GMarker(new GLatLng(lat,lan),{draggable:false,title:lable_name,icon:city_icon});}
else{centerMarker=new GMarker(new GLatLng(lat,lan),{draggable:false,title:lable_name+" ( click to zoom to city) ",icon:city_icon});}
GEvent.addListener(centerMarker,'click',function(latlng){if((!empty(content))&&(!empty(image_url))){if(empty(content)){content="Information content is not specified";}
if(empty(image_url)){}
var body_images_div="";if(!empty(body_images)){var body_imagesArr=body_images.split(",");for(var i=0;i<body_imagesArr.length;i++){if(i<4){if(!empty(body_imagesArr[i])){var item_str="[";for(var j=0;j<body_imagesArr.length;j++){var image_info_arr=body_imagesArr[j].split("|");if(j<4){if(j>0){item_str+=",";}
var titleStr=" "+image_info_arr[1];item_str+="[\""+image_info_arr[0]+"\",\""+titleStr.replace("'","")+"\",\"350 350\"]";}}
item_str+="],"+i;var final_image_info=body_imagesArr[i].split("|");body_images_div+="<div class='galThumb' align='center' ><a href='javascript:;' onclick='Mediabox.open("+item_str+")' ><img src='"+final_image_info[0]+"' width='100' height='59' title='"+final_image_info[1]+"'/></a></div>";}}
else{break;}}}
else{body_images_div="No Images available...";}
var html_content="<table width='400' border='0' cellspacing='0' cellpadding='0'>"+"<tr>"+"<td class='infoBg'>"+"<div class='infoLeft'></div>"+"<div class='hotName'>"+name+"</div>"+"<div class='infoRight'></div>"+"</td>"+"</tr>"+"<tr>"+"<td class='infoCage'>"+"<table width='100%' border='0' cellspacing='0' cellpadding='5' >"+"<tr>"+"<td width='120' valign='top'>"+"<div class='itinImg'><img src='"+image_url+"' width='116' height='100'></div></td>"+"<td valign='top' class='desc'>"+content+" "+generateMoreLinkValue(nid)+"</td>"+"</tr>";html_content+=getContentNodeLinks(heritage_nid,ancient_nid);html_content+="<tr>"+"<td align='right' valign='top' class='details'></td>"+"<td valign='top' class='details' align='right'><a href='javascript:cityzoom("+lat+","+lan+")' >Zoom to City</a>&nbsp;&nbsp;&nbsp;</td>"+"</tr>"+"</table>"+"</td>"+"</tr>"+"</table>"+"<table width='400' border='0' cellspacing='0' cellpadding='0'>"+"<tr>";html_content+=" </td></tr></table>";var galleryHTML="<table width='400' border='0' cellspacing='0' cellpadding='0'>"+"<tr>"+"<td class='infoBg'>"+"<div class='infoLeft'></div>"+"<div class='hotName'>Gallery</div>"+"<div class='infoRight'></div>"+"</td>"+"</tr>"+"<tr>"+"<td class='infoCage'>"+"<table width='100%' border='0' cellspacing='0' cellpadding='5'>"+"<tr>"+"<td>"+
body_images_div+"</td>"+"</tr>"+"</table>"+"</td>"+"</tr>"+"</table>";centerMarker.openInfoWindowTabsHtml([new GInfoWindowTab("Info",html_content),new GInfoWindowTab("Gallary",galleryHTML)]);}
else{map.setCenter(new GLatLng(latlng.lat(),latlng.lng()),12);}});GEvent.addListener(centerMarker,"mouseover",function(){});GEvent.addListener(centerMarker,"mouseout",function(){});map.addOverlay(centerMarker);centerMarkerPoint=centerMarker.getPoint();map.panTo(centerMarkerPoint);}
var bounds=new GLatLngBounds();var pointx=centerMarker.getPoint();var Cradius=pointx.distanceFrom(radius.getPoint())*0.000621371192;var b=radius.getPoint();var circlePoints=Array();var d;if(circleUnits=='KM'){d=Cradius/6378.137;}
else{d=Cradius/3963.189;}
var lat1=(Math.PI/180)*lat;var lng1=(Math.PI/180)*lan;for(var a=0;a<361;a++){var tc=(Math.PI/180)*a;var y=Math.asin(Math.sin(lat1)*Math.cos(d)+Math.cos(lat1)*Math.sin(d)*Math.cos(tc));var dlng=Math.atan2(Math.sin(tc)*Math.sin(d)*Math.cos(lat1),Math.cos(d)-Math.sin(lat1)*Math.sin(y));var x=((lng1-dlng+Math.PI)%(2*Math.PI))-Math.PI;var point=new GLatLng(parseFloat(y*(180/Math.PI)),parseFloat(x*(180/Math.PI)));circlePoints.push(point);bounds.extend(point);}
if(d<7.8688232820198305){circle=new GPolygon(circlePoints,'#000022',1,0.5,'#550066',0.2);}
else{circle=new GPolygon(circlePoints,'#000022',1,0.5,'#550066',0.2);}
hotel_label=createLable(lat,lan,name,tid,ACCcount,TSScount,TSDcount);map.addOverlay(hotel_label);map.addOverlay(circle);var cur_distance=distance(radius.getLatLng().lat(),radius.getLatLng().lng(),centerMarker.getLatLng().lat(),centerMarker.getLatLng().lng());var objPolygon=new drawPolygon(centerMarker,radius,circle,hotel_label,tid,cur_distance);return objPolygon;}
function getNewContent(updateDistance,name,tid,ACCcount,TSScount,TSDcount){var hotel_html="";var see_html="";var do_html="";var ElementArr=city_ledgen_status[tid];if(empty(ElementArr)||(ElementArr.indexOf("accom")==-1)){hotel_html="<a href='javascript:city_accomm_list(\""+name+"\",\""+tid+"\",\""+ACCcount+"\");' style='text-decoration:none; color=white' align='center' title='Accommodation'><img id='city_ledgend_accom"+tid+"' src='sites/all/modules/cgpathfinder/icons/stay_icon.png' width='15' height='17' alt='Accomodation' title='Show Accommodation: "+ACCcount+"'/></a><br>";}
else{hotel_html="<a href='javascript:city_accomm_list(\""+name+"\",\""+tid+"\",\""+ACCcount+"\");' style='text-decoration:none; color=white' align='center' title='Accommodation'><img id='city_ledgend_accom"+tid+"' src='sites/all/modules/cgpathfinder/icons/stay_icon.png' width='15' height='17' alt='Accomodation' title='Hide Accommodation'/></a><br>";}
if(empty(ElementArr)||(ElementArr.indexOf("things_to_see")==-1)){see_html="<a href='javascript:city_things_see(\""+name+"\",\""+tid+"\",\""+TSScount+"\");' style='text-decoration:none' align='center' title='Things to see'><img id='city_ledgend_see"+tid+"' src='sites/all/modules/cgpathfinder/icons/see_icon.png' width='15' height='17' alt='See' title='Show things to see: "+TSScount+"'/></a><br>";}
else{see_html="<a href='javascript:city_things_see(\""+name+"\",\""+tid+"\",\""+TSScount+"\");' style='text-decoration:none' align='center' title='Things to see'><img  id='city_ledgend_see"+tid+"' src='sites/all/modules/cgpathfinder/icons/see_icon.png' width='15' height='17' alt='See' title='Hide things to see'/></a><br>";}
if(empty(ElementArr)||(ElementArr.indexOf("things_to_do")==-1)){do_html="<a href='javascript:city_things_do(\""+name+"\",\""+tid+"\",\""+TSDcount+"\");' style='text-decoration:none' align='center' title='Things to do'><img  id='city_ledgend_do"+tid+"' src='sites/all/modules/cgpathfinder/icons/do_icon.png' width='15' height='17' alt='Do' title='Show things to do: "+TSDcount+"'/></a>";}
else{do_html="<a href='javascript:city_things_do(\""+name+"\",\""+tid+"\",\""+TSDcount+"\");' style='text-decoration:none' align='center' title='Things to do'><img  id='city_ledgend_do"+tid+"' src='sites/all/modules/cgpathfinder/icons/do_icon.png' width='15' height='17' alt='Do' title='Hide things to do'/></a>";}
var final_html="";if(ACCcount>0){final_html+=hotel_html;}
if(TSScount>0){final_html+=see_html;}
if(TSDcount>0){final_html+=do_html;}
return final_html;}
function cityzoom(lat,lng){map.setCenter(new GLatLng(lat,lng),12);}
function drawCircle(glat,glan,label_name,city_name,image_url,tid,objPolygon,content,ACCcount,TSScount,TSDcount,nid,body_images,heritage_nid,ancient_nid){var circle;var radius;if(circle){map.removeOverlay(circle);}
radius=new GMarker(new GLatLng(glat,glan-0.09),{icon:radius_icon,draggable:true});map.addOverlay(radius);radius.enableDragging();GEvent.addListener(radius,'drag',function(latlng){var new_distance=distance(glat,glan,latlng.lat(),latlng.lng());if(new_distance<20){if(circle){map.removeOverlay(circle);}
circle=drawAgainCircle(glat,glan,latlng);if(!empty(objPolygon)){objPolygon.circle=circle;}}
else{radius.setLatLng(new GLatLng(glat,glan-0.18));}});GEvent.addListener(radius,'dragend',function(latlng){var new_distance=distance(glat,glan,latlng.lat(),latlng.lng());var round_distance=Math.round(new_distance*Math.pow(10,0))/Math.pow(10,0);get_Updated_content(tid,round_distance,objPolygon);get_city_attractions(tid,round_distance,city_name);if(circle){map.removeOverlay(circle);}
circle=drawAgainCircle(glat,glan,latlng);if(!empty(objPolygon)){objPolygon.circle=circle;objPolygon.city_radius=round_distance;objPolygon.lable.setPoint(new GLatLng(glat+(glat-latlng.lat()),glan+(glan-latlng.lng())));}
map.removeOverlay(lable);});GEvent.addListener(radius,'mouseout',function(latlng){var new_distance=distance(glat,glan,latlng.lat(),latlng.lng());map.removeOverlay(lable);});GEvent.addListener(radius,'mouseover',function(latlng){var new_distance=distance(glat,glan,latlng.lat(),latlng.lng());var newnumber=Math.round(new_distance*Math.pow(10,0))/Math.pow(10,0);var dist_html="Drag to change the radius "+"<br> Current radius : "+newnumber+" KM<br> Maximum Radius : 20 KM";lable=new ELabel(new GLatLng(latlng.lat(),latlng.lng()),dist_html,"style2");map.addOverlay(lable);});objPolygon=doDrawCircle(glat,glan,label_name,city_name,image_url,tid,content,ACCcount,TSScount,TSDcount,radius,nid,body_images,heritage_nid,ancient_nid);circle=objPolygon.circle;return objPolygon;}
