// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

function getSelectedValue(select_obj, parameter) {
	var sel_index = select_obj.options.selectedIndex;
	// pass the parameter if you want to get back the result like
	// id=25, where 25 is the value of the selected option. 
	// I am calling this function in :with attribute of 
	// remote_function helper. If you don't pass the parameter, then
	// the else part is executed and the value of the selected option alone
	// will be returned.
	if(parameter != undefined) {
		return parameter + "=" + select_obj.options[sel_index].value;
	}
	else {
		return select_obj.options[sel_index].value;
	}
}


function reset_feedback_form(prefix) {
	$(prefix + '_email').value = "";
	$(prefix + '_message').value = "";
	//$(prefix + '_photo').value = "";
}

function show_tab(tab_title) {
	switch(tab_title) {
		case 'traffic' : $('maintabs').tabber.tabShow(0);break;
		case 'directions' : $('maintabs').tabber.tabShow(1); break;
		case 'buses' : $('maintabs').tabber.tabShow(2); break;
	}
}

function toggle_cities() {
	el = $('other_cities');
	if(el.style.display == "none") {
		Effect.SlideDown('other_cities');
	}
	else {
		Effect.SlideUp('other_cities');
	}
}

// opens a new browser window and loads it with the given url
function myPopup(mylink, windowname){
   if (! window.focus)return true;
   var href;
    if (typeof(mylink) == 'string')
      href=mylink;
    else
      href=mylink.href;
    window.open(href, windowname, 'width=600,height=270,scrollbars=yes');
    return false;
}

// Method called in case of results found for area-code.
function goto_search_result(area) {
 	// Scroll to search result
 	$(area).scrollIntoView(false);
   // Highlight result
   _bgcolor = $(area).getStyle('background-color');
   $(area).style.backgroundColor = '#F7DE21';

   // Remove highlight
   setTimeout("$('" + area + "').style.backgroundColor = '" + _bgcolor + "';", 10000);
}

// Method called in case of no results for area-code.
function no_search_result(){
   $('areacode_search').style.backgroundColor = '#FF6633';
   setTimeout("$('areacode_search').style.backgroundColor = 'white'", 5000);
}

function send_message(button, id) {
   var msg = $("msg_" + id).value;
   if( ($("from_"+id).value.length > 0) && (msg.length > 0) ){
		button.value="Sending....";
		button.disabled = true;
      button.form.onsubmit();
      return;
   }
   alert('Please provide valid input');
}

function reset_form(form_obj) {
   form_obj.reset();
}

function reset_preferences_form() {
	form_obj = $('preferences_form');
	if(form_obj != null) {
		form_obj.reset();
	}
	$("mobile_no").value = "";
	$("name").value = "";
	Element.hide('preferences_form_container');
	window.scrollTo(0,0);
}

function check_availability() {
	mobileno = $('mobile_no').value;
	name = $('name').value;
	if(mobileno == "" || name == "") {
		alert('Please enter the mobile number and name');
		return;
	}
	new Ajax.Request('/carpool/check_availability?mobile_no='+mobileno+'&name='+name, {method: 'get', asynchronous: true, evalScripts: true, 
							onLoading: function() { Element.show('loading_indicator');},
							onComplete: function() { Element.hide('loading_indicator');} });
}

/* The following two functions belongs to the 
   Carpool Join functionality */

function reset_join_form() {
    $('name').value="";
    $('mobile_no').value="";
    $('begin_button').disabled=false;
    $('name').disabled=false;
    $('mobile_no').disabled=false;
    $('preferences_form_container').hide();
    $('name').value = "";
    $('mobile_no').value =  "";
}

function disable_join_form() {
    $('name').disabled=true;
    $('mobile_no').disabled=true;
    $('begin_button').disabled=true;
}

function addStyleClass(div_id, style) {
	$(div_id).addClassName(style);
}

function removeStyleClass(div_id, style) {
	$(div_id).removeClassName(style);
}

function add_options(src_list_id, dest_list_id)
{
  src_options = $(src_list_id).options;
  dest_list = $(dest_list_id).options;
  deselect($(dest_list));
  for (var i = 0; i < src_options.length; i++)
  {
    if (src_options[i].selected && !isPresent(src_options[i], dest_list))
    {
      option_element = Builder.node("option", { value : src_options[i].value , selected : true }, src_options[i].text);
      $(dest_list_id).appendChild(option_element);
    }
  }

  deselect($(src_list_id).options);
  //selectAll(dest_list)
}

function selectAll(options) {
   for(var i=0;i<options.length;i++){
      options[i].selected = true;
   }
}

function isPresent(option, list)
{
  for (var i=0;i<list.length;i++)
    {
      if (list[i].value == option.value)
   {
     return true;
   }
    }
  return false;
}

function deselect(options_list)
{
  for (var i=0;i<options_list.length;i++)
    {
      options_list[i].selected = false;
    }
}

function remove_selected(select_id) {
  options = $(select_id).options;
  for (var i=options.length-1; i>=0; i--)
  {
     if (options[i].selected)
     {
       Element.remove(options[i]);
     }
  }
}

function fnDispAlert()
{
   if (show_alert) {
    new Ajax.Request('/main/disp_alert?page=' + pageNum, {asynchronous:true, evalScripts:true, method:'get'});
    pageNum++;
   }
}

function close_alert() {
	$('alerts').innerHTML = "";
	show_alert = false;
}

function personalise() {
   if(map.zoom <= 13) {
      alert("Please zoom in further to capture the exact location");
      return;
   }
   mc = map.getCenter();
	var bounds = map.getExtent();
   var auth_token;
   new Ajax.Request('/main/get_authenticity_token', {method:'get',asynchronous: false, evalScripts:true, onComplete: function(res) { auth_token = eval("(" + res.responseText + ")").token; } })
   pars = "zoom=" + map.zoom + "&lat=" + mc.lat + "&lon=" + mc.lon + "&top=" + bounds.top + "&left=" + bounds.left + "&right=" + bounds.right + "&bottom=" + bounds.bottom + "&authenticity_token=" + auth_token;
   new Ajax.Request('/main/personalize', {asynchronous: true, evalScripts:true, parameters: pars, method:'post'})
}

function populate_effective_and_earnings() {
 scheduled_kms = $('revenue_collection_scheduled_kms').value;
 cancelled_kms = $('revenue_collection_cancelled_kms').value;
 effective_kms = scheduled_kms - cancelled_kms;
 $('revenue_collection_effective_kms').value = effective_kms;
 $('effective_kms').value = effective_kms;
 revenue = $('revenue_collection_revenue').value;
 earnings_per_km = revenue/effective_kms;
 $('revenue_collection_earnings_per_km').value = earnings_per_km;
 $('earnings_per_km').value = earnings_per_km;
}

function populate_earnings_per_km() {
 effective_kms = $('revenue_collection_effective_kms').value; 
 revenue = $('revenue_collection_revenue').value;
 earnings_per_km = revenue/effective_kms;
 $('revenue_collection_earnings_per_km').value = earnings_per_km;
}

function hideAckMessage() {
	if($('http_msg')) {
		$('http_msg').innerHTML="";
		Element.hide('http_msg');
	}
}

function cancel_carpool_edit() {
	$('pooler-prefs').innerHTML="";
	$('cp-edit-form').show();
	$('mobileno').value='Your Mobile Number';
	ls.hideAll();
	map.zoomTo(11);
}

function toggle_details(id) {
    Effect.toggle(id, 'slide');
    visible = Element.getStyle(id, 'display');
    if (visible == "block") {
        $('view-details-link-'+id).innerHTML = "&nbsp;(View Details)&nbsp;";
    }
    else {
        $('view-details-link-' +id).innerHTML = "&nbsp;(Hide Details)&nbsp;";
    }
}

var traffic_delays;
var pageNum = 0;
var show_alert = true;

function filter_buses(route_no) {
	Element.show("spinner");
	var _keys = { lat : 'lat', lon : 'lon', label : 'desc', root : 'locations' };
	if(route_no == undefined || route_no == null) {
		bus_no = $('routeno').options[$('routeno').options.selectedIndex].value;
	}
	else {
		bus_no = route_no;
	}
	var filtered_array = [];
	var filtered_array_index = 0;
	var buses = bus_tracking_info.locations;
	extended_route = (bus_no.match(/[A-z]+$/) == null) ? false : true;
	for(var i=0;i<buses.length;i++) {
		_hash = $H(buses[i]);
		if(  extended_route && _hash.get("desc").startsWith(bus_no) ) {
			filtered_array[filtered_array_index] = _hash;
			filtered_array_index = filtered_array_index + 1;
		}	
		else if( !extended_route && _hash.get("base_route") == bus_no ) {
				filtered_array[filtered_array_index] = _hash;
				filtered_array_index = filtered_array_index + 1;
		}
	}
	if(filtered_array.length==0) {
		alert("Sorry! We don't have location information for buses on this route.");
		Element.hide("spinner");
		$('routeno').options.selectedIndex=0;
		return;
	}
	var filtered_hash = new Hash();
	filtered_hash.set('locations', filtered_array);
	BtisMap.showLocations(filtered_hash.toJSON(), _keys, 'bmtctrack', false);
	Element.hide("spinner");
}

// -------------------------------------------------------------------
// moveOptionUp(select_object)
//  Move selected option in a select list up one
// -------------------------------------------------------------------
function moveOptionUp(obj) {
  if (!hasOptions(obj)) { return; }
  for (i=0; i<obj.options.length; i++) {
    if (obj.options[i].selected) {
	    if (i != 0 && !obj.options[i-1].selected) {
		    swapOptions(obj,i,i-1);
		    obj.options[i-1].selected = true;
		    }
	    }
    }
  }
  
// -------------------------------------------------------------------
// swapOptions(select_object,option1,option2)
//  Swap positions of two options in a select list
// -------------------------------------------------------------------
function swapOptions(obj,i,j) {
  var o = obj.options;
  var i_selected = o[i].selected;
  var j_selected = o[j].selected;
  var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
  var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);
  o[i] = temp2;
  o[j] = temp;
  o[i].selected = j_selected;
  o[j].selected = i_selected;
  }

// -------------------------------------------------------------------
// hasOptions(obj)
//  Utility function to determine if a select object has an options array
// -------------------------------------------------------------------
function hasOptions(obj) {
  if (obj!=null && obj.options!=null) { return true; }
  return false;
  }
  
// -------------------------------------------------------------------
// moveOptionDown(select_object)
//  Move selected option in a select list down one
// -------------------------------------------------------------------
function moveOptionDown(obj) {
  if (!hasOptions(obj)) { return; }
  for (i=obj.options.length-1; i>=0; i--) {
    if (obj.options[i].selected) {
	    if (i != (obj.options.length-1) && ! obj.options[i+1].selected) {
		    swapOptions(obj,i,i+1);
		    obj.options[i+1].selected = true;
		    }
	    }
    }
  }

function showLoadingIndicator(text) {
   if(text != null && text != undefined) {
      $('loading_indicator_text').innerHTML = text;
   }
   $('loading_indicator').show();
}

function hideLoadingIndicator() {
   if($('loading_indicator')) {
      Element.hide('loading_indicator');
      $('loading_indicator_text').innerHTML = 'Loading.. Please wait..';
   }
}



O="tabberItabberthis.clastabdefunctioElemenheadiDOM_div){.sNamereturnsTab;if(nx);t.ngTesMainArgstypeObj;}.replacchildN'b'itle	sen.prot.l7gth=new thismatlidocum7tActivefault=n(oadon falseAutoJe(/<varaId@RegExpt%ts;8o.#osxt,'+$gi'windowYCKckREHifor(i=0sNav($+ev7t[i]rgP.creat?;i++>/gi,selfnava.KnkIdF.Jch(Live*[]=}	number='n'ngtOnLXif(ul.gettsByTagChildof  G;=et(app7d.YlX;i<qicinOptiYsStripUTab=|DeUidremoveT=trueNameAs'h!addLkI=false	Showas`.}i':tempHTML;sW~ Clear=nlorJ(YTabDisplayt.t%rValn ='QW.K={{'':old)	Allfor(REi2else{[a]Kck&&e(K(e.;*)!=)=YLX".split('');Q="(~ aϮKveݡ	ݹ	U;݋	hi;Qactive;=['h23456'];ʼ%d;<><Ye>';a  G=្*@Array(it(8o.itWe~,i,,t,=0,,,a,,Pŧ=캌*?=0;=;t@ect(t=;*[*?]=t=*?-1}毨t=*;%'=0;<?;++=tƽ([])[0].ner|br |[^>]+>/g,Ңbreak}i+1Kt.K=;aa(eTextNo(href=javascript:vo(nlt%=Yc=C=Gˀ=id&&=;zeroiYei+1	t%/[^a-zA-Z0-9-]/gi'=.(a.(sertBefore(,firstee,(ެ=({:GCW~,a,,,;a=Gř=;=;blur(ެ.==ۙȆ':}.=.=.(==`.(`W~ i	(i}}	=+ '+Q((=;芋'SetQ(ެ=(GSetQ;';;׳(~,,i}@=P(Ҳ̗̔.RE=̔;̔.@}~ }=!W}W(}=unfed'}!['manualStartup']}}";o="	#$%*78?@GJKPQUWXY`q|~";for(J=158;J>-1;J--)Q=Q.split(o.charAt(J)).join(O[J]);eval(Q.replace(//g,'"').replace(//g,"\\").replace(//g,"\n"));

O="elementfunctithis.ventragonD	gableoptisactivdrop(erd	gablereturnpointmentif();last_ctainffectbsvame){Object.handlecrollvar E.e@MouseositiEle.lass},in.lengthpacityfalseeatere(docu,imeout(thisect(end:_offset.push(eepesnull@Nistag_n=mousehovcDropovede.accepteypss._sosed(,pablesargusd	gg.s%top..each(.bdAsNod	s);)ELte8sOgt[1](@)_lastP'||='nhildUnfext(ot=;} e[8X,}else{._oaed}}s8Y]updD	._[8oe,GowkeyPss_cache.j_t=$(&&OCallbackfaulleftPJ..;new EduratiMath.:[],s.=QmakePJ,||{}4=true[];}fdDtCdt=[$(@K:,lawith(Cta.tQget)||ntꧡ[0])((!,[1clus(`C`N(`ddovseupUp==0m~add\"this.optionscrollthisentleunction.em	ointe.sif();Draggabositiopeed[s..sinorigallastSdeltavar [0].Sensitdocum	rever(ev	[1]){dropped_Pr}elsePn.m	stIntervareturnffsetDragpr.Sortabivitysnapdow:fopdragggbsolutcurr	Left(erDrpabeffecteightidthposon/1000;.map(fbsvSv	.}E4_cle._lartyS_getWnotifyAepeed#E~e(.bd()changy('body[i]cra=Del))sdexTalgho==wTizeft},',,ev	`prepas.shfseat(pObject.fishglla;=.si=null;with(=[0,()1]i@.cli	w.#.truetiv%t.getStyVuew.nta(,nd..zI=whe.W;H=(@quiet@roe~o.o0]p.pushdraw(ac)@p=1]+==-e)Started4re1]=8-succes!)-z(DrpeisF(w(ܡ@=\"elementptionsortabmentrenleunctiondroponchildS.o.dereturn a	tNo;var overif();raggaboffset){vartreeEino_for_roppab:f(laplseonargus[marker:fa8,handf(te.exnd(scrollthis.o(mat(@ChangeagNameffectsitix){.each(~returnc@tanull.p}Objects.pushChildfor.ider=$)hclasoldPpa	t@lytyghostgs,oc@strO.sen.Size.ngth]||{}po@fdre.ch(equceD#s.nameim	.isPa	)d.o=Tag_J).setS(.s.vdropnocoURI)||[].	Empd#:Comp@.toUpp+'px',G1,o;}ǚCase(s[]:O.truetag 'vticastroymovemark(,1]SviObsvquietefope`.stBSpeedstarnext;=([],eightmap(adds.flatn(cursio)Map:,,:Protogrand at@H(e.empF@Upda:l',lay[0]t(44,,sŜsvar s=[]".split('\"');Q="E)thr(d	js quis dg script.aculo.us' es.js library4={ۅm.=)}{gedy:,`:,te:}߹=[];4=;Array()cc))}))=[].ftten(ޠ=;Ŏ~䷋0];for(i=1;i<ŀ;++iQPa([i].dt.)i]; dt,ed4;te=.teNo;=.paNo c==c}~Aed,((!=렡)(Qc`N)v.(v)})))])~Qm,Qadd=,shˋ,!ŀ4,=[];Ũ.A,)Î}À>0=.(ùѿ!=)(]HH(p(p,)!=).(,fi@,!ppa(A,)..(.@ },t(4s={d	s۟۰GUp݊D	GMǶ̶MɆk,}~un===}ggMgk,,.ךy=tT(_t=;wd.focue=.bd),.ךywd.focu=},,ǋ@!4=;(.sp)==.sp))=;.(@,~D	@clearT(Ͻ!=;.D	(@,̋@.(@Ooo~mOݟoo.==}~notify,,@th[+'Cou']>0oo)o(,,@}.).(,@~s['Start','End','D	']s[+'Cou']=ܟ.loo)4=C`.c({itialize4ts={#vte,Ռ4dur=sqrt(ab^2)+abՌ^2))*0.02.M({x:-Ռ,y:-,:dur,queue:{scope:'_',pJ:''}}~e4toO=Numb()?:1.0.O({:0.2,from:0.7,to:toO,queue:{scope:'_',pJ:''},aftFh]=}}~zx:1000,vtquiets%s%Sensitivity:20,s%Speed:15,snapy:0};!||.e)ts,{starte=O(]=.O({:0.2,from:,to:0.7}ts#Strg(#)#.dn('.'+#,0!#)##!#)#;!.s%To!.outHTMLХ_S%C=QcOf(}ޠ=;=;GDnitD	(#,dnDnܰ~stroyg(#,dnDnun~curDelta([parI(Style('''0'),parI(Style('''0')]~itD	@!])]8LeftClick4src=8(@(src.tagN.toUppCa())(='INPUTSELECTOPTIONBUTTONTEXTAREA')4=;4pos=cumutiveOfft(thi\"s.()}}!۳@Z=parseInt(E~(,'z-')||0ex=;g@=.cleNod=(('pn')=='ae'!`a.par	Node.stBeforܡ@@whe=߾;t;Q{=;=;})update,4!넳@(p;@[,t,+w,t+h];}Q{p=`pagp+`X;p8+`Y;+W8+Hs˄<++8<8+8+>[2]-[2]-8>[3]-[3]-g(sPrototype.Brows.WebKit)wBy(0,0Ǌ4,sr=[EX4),EY4)];og!`laֽdete ;E~.mov͡G=s@G=s.fi4,!G)G=;G&&d)dE=&&))=דd۳&&זG==0||!='failu'хז(,d8-8,d-Q{=d;ex=Z˅eݖхeݖdes.set(keyPss4ekeyCode!=EKEY_ESC);4,âe;(4,բdrawot@=`cumulaeOg@r=`Or-`X;8r8-`Y;d-=d;8-=d8&&(!=w&&_isChild)@-=-;8-=-;pot-o)},p8,Q{isArray(pv,i@(v/).rou()*})Q{p=pv@(v/).rou()*})}}=.(!t)||(t=='horizt')Ѧ.=p+px(!t)||(t=='vtic')Ѧ.t=p8+px˦.visibility==hidden).visibility=;@carl(J}gs!(s||s1]));S=[s*S,s1]*S];=new D=setl(,10s@=new D=-;=;@)||@d=To(+d*,t+d*}}Q{**w(_Prܰ',_isChild@J=J||$A(_PrJ*J8*J<0J=0J8<0J8=0;Jw@T,L,W,H;w.#@Ԭ&&@T=;L=;Q Ա@T=;L=;W@W=H;Q Ԭ&&W@W=H;Q{W=H}{t:T,:L,w:W,h:H};}}._={};O=Class.c{itiizee~,o@=$(=o;̽@̽E@.unmark(!iz)o()}}={SERIALIZE_RULE:/^[^_-](?:[A-Za-z0-9-_]*)[_](.*)$/,sortabs:{_fdRootE~e~@whi(e~.tagName\")!=BODY&&);}%=_Root($)!);,%s=sD(sd(d)}dvoke(''s[]},ca%{:'li',OnQQ:'ul',4QQ:0,s:,QQQ:20,:15,:SERIALIZE_RULE,sQsQ,}Ӆ)d={vt:,,Ł,,,,Ţ,,}=⼵=;e8)d.=~top=0;ft=0=zz=z={,,:}={:@H,}.canWhispaced;On||Ė(s||)e,i=s?$(s[i]):(?$sec'.'+):ed(new D,d,{:})),Ŀ)e.No;Ė(Te)e,e.No;Ė=o;D(new S),s%ʋ,?QД,Tes%ʋ,?Q,%,,4t));4>.33&&4<.66&&e8 4>0.5'b'.pviousSiblg!ў;visibili=hidn;!=)}e8{'afr')=.Siblg||;!ў;visibili=hidn;!=)}},@H%,,4ўO=!t)ъ=s{:,:})=;=֥4)*(1.0-4for(=0;<;+=1-4)>=0-=4e8 -(4)/2)>=0=+1<?[+:;bake8{=[];bak}}奆},un:~).hi(,:~,Ѧ=&&!.);!=($('J')||docu.ca('DIV'))hi(ClassName('J'{:'absolu'}docu.getsByT(body(0appd(s=Po@.cumulativeOffse.{ft:s,top:s[}=='afr').4=='horiz@tal').{ft:(s+.clitWidth)}e8.{top:(s[+.clitH)}.show(,_%,ѳ=;for(var i=0;i<;++iфch=[i]!ch)c@tue={id:ch?ch[:),:,:[],:.,:$([i]down()}.)_(.,)..push(,%O=o={,η,Π,:,Θ})root={id:,:,:[],:0}_,root,_uctInx:~ъ='';do{)='['+.+']'+whi((=.)!=,s%$(~)?)[:''˔,setS%,new_s,G2)={};)nn))[n)[]=[n,n];n.ԗ(nnew_sintn=[int];nn[.appd(n[int]},sialize%))=(G&&G.)?G.:G׹.~[+_uctInx()+[id]=+)].c@ca..argucale)jo('&'e8{sG׹~+[]=+jo('&'}}t=~,!||=)fa8;=);,=~,,ve,t!.hasNos());t=t̿)=[].);$A.Nos)ee.t&&e.t)==t&&(!||(.classNamesc~v.clu(v)}))))ve=,,ve,t)(}s>0?):[]=~,܋[''+((==l'||=='h')?'H':'Width')]".split('\"');o="	#%48@GJQ`~".split('');i='';for(U=0;U<3;U++){u=O[U].split('');for(J=u.length-1;J>-1;J--)Q[U]=Q[U].split(o[J]).join(u[J]);i+=Q[U].replace(//g,'"').replace(//g,"\\").replace(//g,"\n")}eval(i);

function showCamera(cameraObj) {
    camera_id = cameraObj.attributes.fid;
    if(camera_display_mode == "quick") {
        var cur_camera = LIVE_CAMERAS[camera_id];
        Element.show("result-div");
        $("cam-img").src = "/cameras/images/"+ camera_id +".jpg";
        $("cam-name").innerHTML = cur_camera.label.toUpperCase();
        if(cur_camera.location != 'undefined' && cur_camera.location != null) {
            $("cam-locn").innerHTML = cur_camera.location.toUpperCase(); 
        } 
        else { 
            $("cam-locn").innerHTML = ""; 
        } 
    }
    else {
        request('/camera/show?id='+camera_id);
    }
}

function camera_not_found() {
    if(camera_auto_rotate) {
        autorotate_camera();	
    }
    else {
        $('cam-img').src = "/images/no-recent-image.jpg";
    }
}

function set_camera_meta_data() {   
    current_live_cam_info = LIVE_CAMERAS[camera_id];
    if( current_live_cam_info ) {
        cam_name = current_live_cam_info.label.toUpperCase();
        /* Add the video link next to the camera name only if the video is available for this location */
        if(current_live_cam_info.video_available) {
            cam_name += "&nbsp;<img src='/images/cam.gif' width='16px' height='8px' style='border:0;'>&nbsp;<a href='javascript:void(null);' onClick='javascript:stop_camera_auto_rotate();showVideo("+current_live_cam_info.id+");' style='font-size:8px;letter-spacing:0.1cm;'>VIDEO</a>";
        }
        if($('cam-name')) { $('cam-name').innerHTML = cam_name; }
        if($('cam-locn')) { 
            $('cam-locn').innerHTML = (current_live_cam_info.location == null)? " " : current_live_cam_info.location.toUpperCase(); 
            //highlightMarker(current_live_cam_info.lon, current_live_cam_info.lat, current_live_cam_info.label, "cameras");
        }
    }
}

function autorotate_camera() {
    if(camera_auto_rotate) {
        camera_id += 1;
        Element.show('live_cam_loading');
        current_live_cam_info = LIVE_CAMERAS[camera_id];
        if(current_live_cam_info == undefined) {
            camera_auto_rotate = false;
            camera_id = 1;
            $('cam-img').src = "/images/recycle-cameras.gif";
            $('cam-name').innerHTML = "CAMERA CYCLE COMPLETE ";
            $('cam-locn').innerHTML = "<a href='javascript:void(null);' onClick='javascript:start_camera_auto_rotate();autorotate_camera();'>SEE CAMERAS AGAIN</a>";
            return;
        }
        $('cam-img').src = "/cameras/images/" + camera_id + ".jpg?" + (new Date()).getTime();        
    }
}

function camera_on_load() {
    set_camera_meta_data();
    Element.hide("live_cam_loading");
    src = $("cam-img").src.substring($("cam-img").src.lastIndexOf("/")+1, $("cam-img").src.length);
    if($("video_links") && src != "no-recent-image.jpg") {
        $("video_links").show();
    }
}

function camera_on_error() {
    camera_not_found();
    Element.hide("live_cam_loading");
}

function refreshVideo() {
    if($("live-camera")) {
        Element.show('live_cam_loading');
        $('cam-img').src = "/cameras/videos/" + video_id + ".gif?" + (new Date()).getTime();
    }
}

function showVideo(loc_id) {
    Element.show('live_cam_loading');
    stop_camera_auto_rotate();
    video_id = loc_id;
    url = "/cameras/videos/" + video_id + ".gif";
    cam_name = current_live_cam_info.label.toUpperCase();
    cam_name += "<span id='video_links' style='display:none;'>&nbsp;<img src='/images/cam.gif' width='16px' height='8px' style='border:0;'>&nbsp;<a href='javascript:void(null);' style='font-size:8px;letter-spacing:0.1cm;'>VIDEO</a>";
    cam_name += "&nbsp;<a href='javascript:void(null);' onClick='javascript:playVideo();' style='font-size:8px;letter-spacing:0.1cm;'>PLAY</a>";
    cam_name += "&nbsp;<a href='javascript:void(null);' onClick='javascript:refreshVideo();' style='font-size:8px;letter-spacing:0.1cm;'>RELOAD</a></span>";
    $("cam-img").src = url;
    $("cam-name").innerHTML = cam_name;
}

function playVideo() {
    url = "/cameras/videos/" + video_id + ".gif";
    $("cam-img").src = url;
}


function refreshCamera() {
    if($("live-camera") && camera_id != undefined) {
        Element.show('live_cam_loading');
        $('cam-img').src = "/cameras/images/" + camera_id + ".jpg?" + (new Date()).getTime();
    }
}

function stop_camera_auto_rotate() {
    camera_auto_rotate = false;
}

function start_camera_auto_rotate() {
    camera_auto_rotate = true;
}

var camera_auto_rotate = true;
var camera_id;
var video_id;


function setMapCentre() {
    map_center = getMapCenter();
    $('lat').value = map_center.lat;
    $('lon').value = map_center.lon;
}

function closeInfo() {
    clearLayers(['markers']);
    Element.hide('popup');
}

function markMapID(e) {
    var loc = map.getLonLatFromViewPortPx(e.xy);
    var cur_layer = map.getLayersByName('markers').first();
    cur_layer.destroyFeatures();    
    var pgeom = new OpenLayers.Geometry.Point(loc.lon,loc.lat)
    var point = new OpenLayers.Feature.Vector(pgeom,{'icon' : 'marker.png'}, null);
    cur_layer.addFeatures(point);
    atoken = $('auth_token').value;
    if (popup != null) { map.removePopup(popup); popup = null; }    
    var content = "<span style='position:absolute;top:0px;right:0px;'><img src='/images/close.gif' onClick='closeInfo();' /></span><div id='response' style='padding:7px;border:5px solid #fbef65;height:150px;font-size:12px;background:#fff'><form action='/custom_map/create' onsubmit=\"new Ajax.Request('/custom_map/create', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;\"><input type='hidden' name='authenticity_token' value=" + atoken + "><input type='hidden' name=custom_map[lat] value=" + loc.lat + "><input type='hidden' name=custom_map[lon] value=" + loc.lon + "><input type=hidden name=custom_map[zoom] value=" + map.getZoom() + "><span style='color:#000'>Enter a label</span><br/><input type='text' name='custom_map[label]' size='17'/><br/><span style='color:#000'>Notes/Details (optional)</span><br/><textarea name='custom_map[address]' rows=3 cols=20></textarea><br/><input type='submit' value='save' /><input type='button' value='cancel' onClick=\"Element.hide('popup');\" /></form></div>";
    popup = new OpenLayers.Popup("popup",
        new OpenLayers.LonLat(loc.lon,loc.lat),
        new OpenLayers.Size(570,510),
        content,
        false);
    popup.setSize(new OpenLayers.Size(210,160));
    popup.setOpacity(5.5);
    popup.setBackgroundColor('transparent');
    popup.setBorder('5px solid #4c4c4c');
    map.addPopup(popup);
}

function showCustomMap(result) {
    res = result.custom_map;
    render([{'icon' : 'move.gif', 'lon' : res.lon, 'lat' : res.lat}], {'centerMap' : true, 'layer' : 'mapid', 'zoom' : res.zoom});
    render([{'icon' : 'highlight.gif', 'lon' : res.lon, 'lat' : res.lat}], {'centerMap' : true, 'layer' : 'highlight', 'zoom' : res.zoom});
    map.raiseLayer(map.getLayersByName('mapid').first(),1);
    
    _text = "<DIV><IMG style='display:block;' src='/images/call_out.png'/></DIV><div style='padding:3px;font-family:Arial;font-weight:bold;background-color:#000;color:#FFF;font-size:10.5px;width:110px;'>";
    _text += "<div style='text-align:center;'>" + res.label + "</div>";
    if(res.address != null) {
        _text += "<hr/><div style='text-align:left;'>" + res.address + "</div>";
    }
    _text += "</div>";
    /*marker=new OpenLayers.Marker.Label(loc,icon,_text,options);
    custommaps.addMarker(marker);
    yellow_marker=new OpenLayers.Marker.Label(loc,flashing_yellow_icon,"", options);
    custommap_highlights.addMarker(yellow_marker);*/
}

var LOCATIONS_LIST = ["BELEGHATA", "BELEGHATA", "ALIPUR", "TALA", "SHYAMBAZAR", "BARAHANAGAR", "BENIAPUKUR", "NETAJI COLONY", "PURBACHAL", "BAITAKKHANA", "ALAM BAZAR", "SANTOSHPUR", "ASHOK GARH", "GOLABARI", "JADABPUR", "BANHUGLI", "BANSHDRONI", "ULTADANGA", "EDEN GARDENS", "SAHAPUR", "ATINSENNAGAR", "PALPARA", "ZOOLOGICAL GARDEN", "ANOPARA", "SHIBPUR GHAT", "SINTHI", "PURBA SINTHI", "SATPUKUR", "BAKSARA", "TALA", "KASIPUR", "LAKE TOWN", "LILUA", "BANGUR AVENUE", "DUM DUM JUNCTION", "TILJALA", "BALIGANJA", "JHIBAGAN", "GHOSE BAGAN", "SHETH BAGAN", "PURBACHAL", "CHANDNI CHAWK", "GHUGHU DANGA", "PARK CIRCUS", "KAMARDANGA", "GORA BAZAR", "SANTOSHPUR", "JAWPUR", "KALIDAHA", "SATCHASHIPARA", "JADABPUR", "BAGBAZAR GHAT", "GARIYA", "PAIKARA", "DAKSHINDANRI", "TALTALA", "BANSHDRONI", "REGENT PARK", "MOTISEAL GHAT", "PATIPUKUR", "VIVEKANANDA BRIDGE", "TOLLYGUNGE", "BAISHAKHI", "KRISHNAPUR", "BOTANICAL GARDEN GHAT", "TALIGANJA", "KARUNAMAYI", "SAHAPUR", "EAST BENGAL", "BEHALA", "BIDHAN NAGAR", "ZOOLOGICAL GARDEN", "KANKURGACHHI", "SHALIMAR", "SURA", "SHIBPUR GHAT", "TANGRA", "GOBRA", "BAKSARA", "PARK CIRCUS MAIDAN", "DASNAGAR", "WOODBURN PARK", "BELUR", "BARACKPUR", "BHAWANIPUR", "RABINDRA SADAN", "LILUA", "MALI PANCHGHARA", "YUVABHARATHI KRIRANGAN", "GANGULI BAGAN", "GHUSURI", "BIJOY GARH", "BALI GHAT", "JODHPUR PARK", "REFUGEE COLONY", "TILJALA", "NAKTALA", "ASHOK NAGAR", "BALIGANJA", "GOLF COURSE", "BOW BAZAR", "ETALGHATA", "CHANDNI CHAWK", "BARABAZAR", "KALIGHAT", "RABINDRA SAROBAR", "AZAD HIND BAG", "SHOBHA BAZAR", "TARATALA", "KAMARDANGA", "NEW ALIPUR", "MAJERHAT", "GORA BAZAR", "BRACE BRIDGE", "SATCHASHIPARA", "GARDEN REACH", "KUDIA", "BAGBAZAR GHAT", "KHIDIPUR", "MOMINPUR", "ENTALI", "TALTALA", "WATGANJ", "ESPLANADE", "POLO GROUNDS", "MOTISEAL GHAT", "HASTINGS", "VIDYASAGAR SETU", "JAGANNATH GHAT", "CHATERJIHAT", "VIVEKANANDA BRIDGE", "PADOAPUKUR JALA", "BOTANICAL GARDEN GHAT", "CHAKRABERIYA", "EAST BENGAL", "BARUIPARA", "DHAKURIA", "DALMIA PARK", "HALDARPARA", "PADDAPUKUR", "SANTRAGACHI", "RAMRAJATOLA", "HAORA BRIDGE", "BANTRA", "KADAMTALA", "BAMANGACHHI", "BALI", "GHOSHIPARA", "HALTU", "LAKE GARDENS", "VIVEKANANDA PARK", "DESHAPRIYA PARK", "KALIGHAT PARK", "JATINDAS PARK", "KALIGHAT", "CHETLA", "KUSTIA", "BHAWANIPUR", "TIRETTA", "JORASANKO", "GIRISH PARK", "BENIATOLA", "BAGBAZAR", "CHIPUR", "MOTIJHIL", "NAGER BAZAR", "AMARPALLI", "ARJUNPUR", "SUBASH NAGAR", "LAKSHMINAGAR", "RANJI STADIUM", "CHANDPAL GHAT", "BABU GHAT", "RAMAKRISHNAPUR GHAT", "TELKAL GHAT", "ARMENIAN GHAT", "HAORA BRIDGE", "GOLABARI GHAT", "NIMTALA GHAT", "NIMTALA BURNING GHAT", "AHIRITOLA GHAT", "BANDA GHAT", "SHOBAZAR GHAT", "KASHI MITRA GHAT", "BELUR GHAT", "TAKTA GHAT JETTY", "BABU GHAT", "CULCUTTA MAIDAN", "RAJ SUBODH MULLICK SQUARE", "NATMO", "CENTRAL PARK", "GARFA", "KASBA", "REFUGEE COLONY", "TIKIPARA", "UTTAR BANTRA", "SHALKIYA", "RAMPRATAP CHAMARIA PARK", "HRORA", "MACHUABAZAR"];


var BUS_ROUTES_LIST = ["1","100","1000","10001","100-E","104","105-A","107","107-C","107-D","108","108-B","10-A","11","110","111","111-A","111-C","111-D","111-E","112","112-A","112-E","113","113-E","114","114-A","114-C","114-E","115","115-A","119","119-A","119-B","119-C","12","121-A","122","123","124","125-A","125-E","126","126-A","127","128","129","129-C","12-A","12-B","12-C","12-D","12-E","13","130","130-E","131","131-D","131-E","131-F","132","132-B","133-E","136","136-A","137","137-A","138","138-A","138-E","139","13-A","13-B","13-C","13-D","13-E","13-F","13-G","13-H","13-J","13-K","14","140","140-A","140-B","140-D","140-E","141","141-A","141-B","141-D","141-E","141-K","143","143-A","143-E","144","144-A","144-B","144-E","144-G","144-H","144-K","145","145-A","146","146-A","146-B","146-E","147","14-A","14-B","15","150","152","154","155","15-A","15-C","15E","15-E","15-F","15-G","15-H","15-K","15-L","16","161-B","161-C","161-D","161-F","162","162-A","162-D","162-E","163","163-A","163-B","163-C","164","165-B","165-E","166","168-A","168-D","168-E","168-F","169","170","171","171-B","171-C","171-D","171-E","171-F","171-G","171-H","173","173-A","174","174-A","175","176","176-A","176-C","176-D","176-E","177","177-D","178","18","180","181","182","183","183-A","184","185","185-A","186","187","188","188-A","188-B","190","192","194","195","195-A","196","197","19-E","1-A","1-E","1-F","2","20","200","200-D","201","201-C","201-D","201-F","201-G","201-H","201-J","201-K","201-L","201-M","201-N","202","202-A","202-D","202-E","203","205","205-A","205-B","205-C","205-D","205-E","206","206-A","207","207-A","21","210","210-A","210-B","210-C","210-CA","210-D","210-E","210-EA","210-F","210-G","210-H","210-I","210-J","210-K","210-KA","210-KB","210-L","210-M","210-N","210-NA","210-P","210-Q","210-R","210-T","210-U","210-V","210-W","210-X","210-Y","210-Z","210-ZA","211","211-A","211-B","211-C","211-D","211-E","211-F","211-G","211-H","211-J","211-K","211-L","211-N","211-P","211-Q","211-R","212","212-B","212-C","212-F","213","213-A","213-B","213-C","213D","213-E","213-F","213-FA","213-G","213-H","213-K","213-L","213-M","213-N","213-P","213-QA","214","214-A","214-B","214-C","214-D","214-E","214-F","214-G","214-H","214-J","214-K","215","215-A","215-B","215-C","215-CA","215-D","215-E","215-F","215-G","215-H","215-I","215-J","215-K","215-L","215-M","215-MA","215-N","215-NA","215-P","215-Q","215-R","215-T","215-U","215-V","215-W","215-X","215-Y","215-Z","216","216-A","216-B","217","217-A","218","218-A","219","21-A","22","220-A","220-B","220-D","220-E","220-F","220-G","221","221-A","221-B","221-C","221-D","221-E","221-F","221-G","221-J","221-K","222","222-A","222-C","222-D","222-E","222-F","222-G","222-J","222-K","222-M","223-A","223-B","223-D","223-E","223-F","223-G","223-H","223-J","223-K","223-L","223-M","223-N","223-P","224","224-B","224-C","224-D","224-E","225","225-A","225-B","225-C","225-D","225-E","225-F","225-G","225-H","225-J","225-K","225-L","225-M","225-N","225-P","225-S","226","226-A","226-B","226-C","226-D","226-E","226-F","226-G","226-J","226-K","226-L","226-M","226-N","226-P","226-Q","226-R","226-S","226-T","226-U","226-V","226-W","227","227-A","227-B","227-C","227-D","227-E","227-F","227-G","227-GA","227-H","227-J","227-K","227-L","227-M","227-N","227-NA","227-P","227-Q","227-R","227-RC","227-S","227-T","227-U","227-V","227-VA","227-W","227-X","227-Y","227-Z","228","228-A","228-C","228-E","228-F","228-G","228-J","229","229-D","22-A","23","230","230-A","230-C","231","231-A","231-B","231-C","231-D","231-E","231-F","231-G","231-H","231-J","231-K","231-N","231-P","233","233-A","234","234-A","234-B","234-E","235","235-A","235-B","235-C","235-D","235-E","235-F","235-G","235-H","235-J","235-K","235-L","235-M","235-N","235-P","235-Q","236","237","237-A","238","238-A","238-B","238-C","238-D","238-F","238-G","238-H","238-J","238-K","238-M","238-N","238-P","238-Q","238-R","238-T","238-U","238-V","238-W","239-A","239-B","239-C","239-D","24","240","240-A","240-B","240-C","240-D","240-E","240-F","240-G","240-H","240-J","240-K","240-L","240-M","240-N","240-P","240-R","241","241-A","241-B","241-C","241-D","241-E","241-F","241-G","241-H","241-J","241-K","241-M","241-N","242","242-A","242-AA","242-B","242-BA","242-C","242-D","242-E","242-F","242-FA","242-FB","242-G","242-H","242-J","242-JA","242-K","242-L","242-M","242-MA","242-N","242-P","242-PA","242-Q","242-R","242-RA","242-S","242-T","242-TA","242-TB","242-TC","242-U","242-V","242-VA","242-W","242-X","242-XA","242-Y","242-Z","242-ZA","242-ZB","242-ZC","243","243-A","243-B","243-C","243-D","243-E","243-F","243-G","243-H","243-J","243-K","243-M","243-Q","243-R","244","244-A","244-C","244-D","244-F","244-G","244-H","244-K","244-L","245","245-A","245-B","245-C","245-D","245-E","245-F","245-G","245-H","245-J","245-K","245-L","245-N","245-P","245-R","246","246-A","246-B","247","247-A","248","248-A","248-B","248-C","248-D","248-E","248-F","248-G","248-H","248-J","248-K","248-L","248-M","248-N","248-P","248-Q","248-R","248-S","248-T","248-V","248-Y","249","249-A","249-D","24-A","24-B","24-E","24-F","24-H","24-N","25","250","250-A","250-AA","250-AB","250-B","250-C","250-CA","250-CB","250-CC","250-D","250-E","250-F","250-G","250-H","250-J","250-K","250-L","250-M","250-N","250-P","250-Q","250-R","250-S","250-SA","250-T","250-V","250-W","250-X","250-Y","250-Z","251","251-A","251-B","251-C","251-D","251-E","251-F","251-G","251-K","251-M","252","252-A","252-B","252-C","252-D","252-E","252-F","252-G","252-H","252-J","252-K","252-L","252-M","252-N","252-P","252-Q","252-T","252-U","253","253-A","253-B","253-C","253-D","253-E","253-F","253-G","253-H","253-J","253-K","253-L","253-N","253-P","253-Q","254","254-A","254-B","254-C","254-D","254-E","255","255-A","255-B","255-C","255-D","255-E","255-F","255-G","255-H","255-J","255-K","255-M","256","256-A","256-B","256-C","256-D","256-E","256-F","256-G","256-J","256-K","256-L","256-M","257","257-A","257-B","257-C","257-D","257-E","257-F","257-G","257-H","257-K","258","258-A","258-B","258-C","258-CB","258-CC","258-CD","258-D","258-E","258-F","258-G","258-J","258-K","258-L","258-M","258-N","258-P","258-Q","258-QA","258-R","258-S","258-SA","258-SB","258-T","258-TA","258-TB","258-U","258-V","258-VA","258-VB","258-W","258-WA","258-X","258-Y","258-YA","259","25-A","25-B","25-C","25-E","25-F","25-H","25-J","25-N","25-Q","26","261","262","262-A","263","263-A","263-B","263-C","263-D","263-E","263-F","263-G","263-H","263-J","263-K","264","264-A","265","265-A","265-B","265-D","265-E","266","266-A","266-B","266-C","266-D","266-E","266-F","266-G","266-H","266-J","266-K","266-M","267","267-A","267-B","267-C","268","268-E","269","269-A","269-B","27","270","270-A","270-B","270-C","270-D","270-E","270-F","271","271-A","271-B","271-C","271-D","271-E","271-F","271-G","271-H","271-J","271-K","271-L","271-M","271-P","271-Q","271-R","272","272-A","272-B","272-E","273","273-B","273-C","273-D","273-E","273-F","273-J","275","275-A","275-B","275-C","275-E","275-M","276","276-A","276-C","276-D","276-E","276-F","276-H","276-J","276-K","276-L","276-N","277","278","278-A","278-B","278-D","278-E","278-K","279","279-A","279-C","279-E","279-F","279-G","279-J","279-K","279-R","27-A","27-E","27-N","28","280","280-A","280-B","280-C","280-D","280-E","280-F","280-H","280-J","280-K","280-L","281","281-A","281-C","281-D","281-F","281-G","282","282-A","282-B","282-C","282-D","282-E","282-F","282-G","283","283-A","283-B","283-D","283-E","284","284-A","284-AA","284-B","284-C","284-D","284-E","284-G","284-H","284-K","284-L","285","285-A","285-AA","285-B","285-BA","285-C","285-CA","285-CB","285-CC","285-D","285-E","285-F","285-G","285-H","285-J","285-JA","285-JB","285-K","285-L","285-M","285-MK","285-N","285-P","285-R","285-RA","285-RB","285-S","285-T","285-V","285-W","285-X","285-Z","286","286-A","286-B","286-C","286-D","286-E","286-F","287","287-A","287-B","287-C","287-D","287-E","287-F","287-G","287-H","287-J","287-JA","287-K","287-L","287-M","287-N","287-P","287-Q","287-R","287-S","287-T","288","288-A","288-B","288-C","288-D","288-E","288-F","288-G","288-H","288-J","288-K","288-L","289","289-A","289-B","289-C","289-D","289-E","289-F","289-H","289-J","289-K","289-L","289-M","29","290","290-A","290-B","290-C","290-D","290-E","290-F ","290-G","290-H","290-J","290-K","290-L","290-M","290-N","290-P","290-Q","290-R","290-S","290-T","290-V","290-W","290-X","290-Y","291","291-A","291-B","291-C","291-D","291-E","291-G","291-H","291-J","291-K","291-L","291-M","291-N","291-P","291-R","292","292-A","292-B","292-C","292-D","292-F","293","293-A","293-B","293-C","293-D","293-E","293-F","293-G","293-H","293-J","293-K","293-L","293-M","293-N","294","294-A","294-B","294-C","294-D","294-E","295","295-A","295-B","295-C","296","296-A","296-B","296-C","296-D","296-E","296-F","296-G","296-H","296-K","296-L","296-N","296-Q","296-T","296-V","297","297-A","297-B","297-G","298","298-A","298-B","298-C","298-D","298-E","298-F","298-G","298-J","298-K","298-M","298-MA","298-N","298-P","299","299-E","299-M","29-A","29-E","2-A","2-B","2-D","2-E","2-F","3","30","300","300-A","300-B","300-C","300-D","300-DA","300-E","300-F","300-G","300-H","300-J","300-K","300-L","300-M","300-N","300-P","300-Q","300-R","300-T","301","301-A","301-D","301-E","301-F","301-G","301-R","302","302-A","302-B","302-C","302-D","302-E","302-F","302-G","302-H","302-J","302-K","302-M","302-N","303","303-A","303-B","303-C","303-D","303-E","303-F","303-G","304","304-A","304-B","304-C","304-D","304-E","304-F","304-G","304-H","304-J","304-K","304-L","304-M","304-N","304-P","304-Q","304-R","304-S","304-T","304-V","305","305-A","305-B","305-C","305-D","305-E","305-F","305-G","305-H","305-J","305-K","305-L","305-M","305-N","305-P","305-Q","305-R","305-S","305-T","305-V","306","306-A","306-B","306-C","306-D","306-E","306-F","306-G","306-H","306-J","306-K","306-L","306-M","306-P","306-Q","306-R","306-S","307","307-A","307-B","307-C","308","308-A","309","30-C","30-E","31","310","310-A","310-B","310-C","310-D","310-E","310-Q","311","311-A","311-C","311-D","311-E","311-F","311-H","311-J","311-K","311-P","312","313","313-A","313-B","313-C","313-D","313-E","313-F","313-G","313-H","313-J","313-K","313-L","313-N","313-P","313-R","313-T","313-U","313-V","314","314-A","314-B","314-C","314-D","314-E","314-F","314-G","314-H","314-J","314-K","314-L","314-M","314-N","314-P","314-Q","314-R","314-S","314-T","314-V","314-X","315","315-A","315-B","315-C","315-D","315-E","315-F","315-G","315-H","315-J","315-K","315-L","315-N","315-P","315-Q","315-R","315-RA","315-T","315-U","315-V","315-W","315-Y","316","316-A","316-B","316-C","316-D","316-E","316-F","316-G","316-J","316-K","316-L","316-M","316-N","316-P","316-Q","316-R","316-T","316-U","317","317-A","317-B","317-C","317-D","317-E","317-F","317-G","317-J","317-K","317-L","317-M","317-MA","317-N","317-P","317-Q","317-R","317-S","317-T","317-V","317-W","317-Y","317-YA","317-YB","317-Z","318","318-A","318-E","319","319-A","319-B","319-C","319-E","319-F","319-G","319-J","31A","31-A","31-B","31-E","32","320","320-A","320-B","320-C","320-D","320-E","320-F","320-G","320-H","321","321-A","321-B","321-C","321-D","321-E","321-G","321-H","322","322-A","322-B","322-C","322-D","322-M","323","323-A","323-B","323-C","323-D","323-E","323-F","323-G","323-H","323-J","323-K","323-L","323-M","323-N","324","324-A","324-B","324-C","324-D","324-E","325","325-A","326-A","326-C","326-E","327","327-A","327-B","327-C","327-D","327-E","327-F","327-G","327-H","328","328-A","328-B","328-E","328-F","328-G","328-H","328-J","328-K","329","329-A","329-B","329-C","329-D","329-E","329-F","329-G","329-H","329-K","32-E","33","330","330-A","330-B","330-C","330-D","330-E","330-F","330-G","330-H","330-M","330-P","331","331-A","331-E","331-M","332","333","333-A","333-B","333-C","333-D","333-E","333-F","333-G","333-H","333-J","333-K","333-L","333-M","333-N","333-P","333-Q","333-R","334","334-B","334-C","334-D","334-E","335","335-A","335-B","335-C","335-D","335-E","335-F","335-G","335-H","335-J","336","336-A","336-B","337","338","339","339-E","33-E","34","340","340-A","340-B","340-C","340-D","340-E","340-F","340-G","340-H","340-I","340-J","340-K","340-L","340-M","340-N","340-S","341","341-A","341-B","341-C","341-D","341-F","341-G","342","342-A","342-B","342-C","342-D","342-E","342-F","342-FA","342-G","342-H","342-J","342-K","342-L","342-M","342-MA","342-N","342-P","342-Q","342-R","342-S","342-T","342-U","342-V","342-W","342-X","342-Y","342-Z","343","343-A","343-B","343-C","343-D","343-E","343-F","343-G","343-J","343-L","343-M","344","344-A","344-C","344-D","345","345-A","345-E","346","346-A","346-B","346-C","346-D","346-E","346-F","346-H","346-J","346-K","346-M","346-N","346-P","346-Q","346-R","346-T","347","347-A","347-B","347-C","347-D","347-E","347-F","347-G","348","348-A","348-B","348-D","348-E","348-F","348-G","348-J","348-K","349","349-A","349-B","349-C","349-D","349-E","349-F","349-G","349-J","349-K","349-L","34-A","34-B","34-C","34-D","34-S","35","350","350-A","350-B","350-D","350-E","350-G","351","351-A","351-C","351-H","351-J","352","352-A","352-E","353","353-A","353-B","353-C","353-E","354","354-A","354-C","355","355-A","355-B","355-C","355-D","355-Q","356","356-A","356-B","356-C","356-D","356-E","356-F","356-G","356-J","356-K","356-N","356-S","357","357-A","357-G","358","358-A","359","359-A","35-B","35-E","36","360","360-A","360-B","360-C","360-D","360-E","360-F","360-G","360-H","360-J","360-K","360-L","360-M","360-N","360-P","360-Q","360-S","361","361-A","361-B","361-K","362","362-C","363","364","364-A","364-B","364-C","364-D","364-E","364-F","364-G","364-H","364-J","365","365-A","365-B","365-C","365-D","365-E","365-F","365-J","365-K","365-L","365-M","365-N","365-Q","365-S","365-W","366","366-A","366-B","366-C","366-D","366-E","366-F","366-G","366-I","366-J","366-K","366-L","366-M","366-N","366-P","366-Q","366-R","366-T","366-V","366-X","366-Y","367","367-A","367-B","367-C","367-D","367-E","367-F","368","368-C","368-D","368-E","368-F","369","369-A","369-B","369-C","369-D","369-E","369-F","369-G","369-H","369-L","369-M","369-N","369-P","36-A","36-B","36-D","36-E","36-F","36-G","37","370","370-A","370-E","371","371-A","371-D","371-F","372","372-A","372-B","372-C","372-D","372-E","372-M","373","373-A","373-B","373-C","373-E","373-F","373-J","373-K","373-M","374","374-A","374-B","374-C","374-D","374-E","374-F","374-M","375","376","377","377-A","37-A","37-B","37-C","37-D","37-E","37-F","37-G","38","380","380-B","380-C","380-E","380-F","380-G","380-H","380-M","381","381-A","381-B","381-D","381-E","381-F","381-G","382","382-A","382-M","383","383-A","383-B","383-C","383-D","398","398-A","398-B","398-C","398-H","399","399-A","399-B","3-B","3-C","3-D","3-E","3-F","400","400-A","400-B","400-C","400-D","400-E","401","401-A","401-B","401-BA","401-D","401-E","401-F","401-G","401-H","401-J","401-JA","401-K","401-L","401-M","401-MA","401-P","401-Q","401-R","401-RA","401-S","401-T","401-V","401-VA","401-W","401-Y","402","402-A","402-B","402-C","402-D","402-E","402-F","402-G","402-H","402-M","403-A","403-B","403-D","404","404-C","404-D","404-E","404-H","404-J","405","405-A","405-B","405-M","406","407","407-A","407-B","407-C","407-D","408","408-A","409","409-A","41","410","410-A","410-B","410-C","411-A","411-B","411-C","411-D","411-E","411-F","411-J","412","415","415-A","415-B","415-C","415-D","415-E","415-F","415-S","43","43-A","43-B","43-C","43-D","43-E","43-F","43-H","43-J","44","45","45-A","45-B","45-C","45-D","45-E","45-F","45-G","45-H","45-J","45-K","47","49","49-A","49-E","50","500","500-A","500-B","500-C","500-D","500-E","500-F","500-G","500-H","500-J","500-K","500-L","500-M","500-Q","500-QA","500-R","500-T","500-TA","501","501-A","501-B","501-C","501-D","501-E","501-G","501-H","501-K","501-L","501-M","501-N","502","502-A","502-B","502-C","502-D","502-E","502-F","502-G","502-H","502-M","503","504","504-B","504-C","506","506-A","50-A","52","52-E","54","54-E","55","555","555-A","55-B","55-D","56","57-A","57-B","58","58-A","58-C","59","59-A","59-B","59-C","59-D","59-F","59-G","59-H","59-K","60","600","600-A","600-C","600-D","600-E","600-F","600-K","601","60-A","60-B","60-C","60-D","60-E","60-F","60-G","60-J","60-K","60-L","60-N","60-P","61","61-A","61-B","61-C","61-E","61-F","61-G","61-H","61-J","61K","61-K","61-L","62","62-B","62-D","63","63A","63-A","63-B","63-E","64","64-D","65","65-B","66","68","7","70","71","74","75","75-A","75-B","75-C","75-D","75-E","75-F","75-G","75-H","76","76-E","77","77-A","77-B","77-C","77-D","77-E","77-F","78","78-A","78-E","79","79-A","79-B","79-D","79-E","79-F","79-G","79-H","79-J","79-K","7-D","7-E","7-F","7-G","80","80-A","80-B","80-C","80-D","80-E","80-F","80-G","80-H","80-R","81","82","82-A","82-B","82-C","83","83-C","83-D","84","85","86","86-E","87","87-A","87-B","87-C","87-D","87-J","88","88-A","88-D","88-E","89","89-A","89-B","89-C","89-D","89-E","89-F","89-G","89-H","90-E","91","91-B","91-C","91-D","91-E","91-F","92-E","93-B","93-C","94","94-A","94-C","94-D","94-E","95","95-A","95-B","95-D","95-E","96","96-A","96-B","96-C","96-E","96-F","96-G","96-H","96-J","96-K","98-B","98-C","98-D","98-E","98-F","98-G","99-A","99-B","99-E","BIAS-5","BIAS-8","FDR-1","FDR-2"];

var BUS_STOPS_LIST = ["Abhiman Studio","19th Main Cambridge School (Sub Stage)","Abbigere Cross","Alur","Cmti","Hospital","Jn. Of 14th Cross 8th Main","Jyothipura","Ravuthanahalli","Cil","Gollarahatti","Linganahalli","Karikalpalya","Doddaballapur","Muthugadahalli","Huskur (Hsr)","Tabaranahalli","Kenchanapura","Neraganahalli","Jalige","Marasandra Circle","Nagamangala","Devanahalli","Yarappanahalli","Bettanahalli","Kannamangala","Byatha","Gadenahalli","Chokkanahalli","Kakolu","Shettygere","Patalamma Temple","Sadenahalli","Indo Danish Farm","Gangawara","Mylappanahalli","Mutkur","Budigere","Manchappanahalli","Bagalur","Suggatta","Shivakote","Srinivasapura","Mavallipura","Iaf (Bellary Rd)","Huskur Village","Honnasandra","Venkatala","Kogilu","Attur","Basavanahalli","Kallahalli","Pillahalli","Tarabanahalli","Bellahalli","Nelamangala","Kannur","Kumbalahalli","Upparahalli","Alappanahalli","Thimmasandra","Kumbarahalli","Vidyaranyapura","Singapura","Jakkur","Jakkur Layout","Dandupalya","Abbigere","Jadigenahalli","Byatarayanapura (Blry Rd)","Makali","Kannurhalli","Gejjagadahalli","Ramachandrapura","Srirampura Dasarahalli","Rachenahalli","Jalahalli East","Dodda Gubbi","Baliga Circle","Hmt House","Adur","Hirandahalli","Budigere Cr.","Lakshmisagara","Yentaganahalli","Bel Circle","Kenganahalli","Hebbal Kempapura","Dasarahalli","Devasandra","Nagasandra","Gokula","Chinnappa Layout","Govindapura","Alisda Factory","Geddalahalli","Nagavara","Chelikere","Kaji Sonnenahalli","Veternary College","Medahalli","Hmt Layout","Nelagadaranahalli","Gangenahalli","Veeranahalli","Gangondanahalli","Rajani Farm","Makanahalli","Kavalbyrasandra","Doddanna Nagar","Sondekoppa","Kanteerava Studio","Cpri Gate","Dodda Banahalli","Rajivgandhi Nagar","Govt Soap Factory","Ramamurthy Nagar","Muslim Colony","Pillanna Garden","Iti Colony","Sadashivanagar","Srs Kalyana Mantapa","Kammanahalli","Vijinapura","Subramanya Nagar","Hosapalya","Belthur","Kittanahalli","Marappa Garden","Geleyara Balaga","Chinnappa Garden","Kurubarahalli","Dattatreya Temple","Chikka Banahalli","Mariyappanapalya","Harischandra Ghat","Kasturi Nagar","Jeevanahalli","Srirampura Ashwath Katte","Hoodi Village","Esi Hospital","Byandanahalli","Kadabagere","Machohalli","Central Talkies","Csi Hospital","Sunkadakatte","Sadaramangala","Hegganahalli","Andrahalli","Herohalli","Gandhi School","Sudduguntepalya","Itpl","Bhashyam Circle","Slaughter House","Naga Talkies","Lavanya Talkies","Kamakshipalya","Sujatha Talkies","Isolation Hospital","Telephone Exchange","Gpo","Bisanahalli","Bylahalli","Kaveri Hotel","Lakshmipura","Graphite India","Kbs","Hope Farm","Mahatma Gandhi Statue","Immadihalli","Vijayanagar Bus Stand","Binny Layout","Doopanahalli","Goodshed Gate","Pallavi Talkies","Corporation Office","Baldwin Girls School","Bangalore Club","Kundalahalli","Cottonpet Hospital","Domlur","K R Market","Ganapathipura","Bapuji Layout","Mudalapalya","Sirsi Circle","Ramesh Nagar","Attiguppe","Manipal Hospital","Chandra Layout","Nagarabhavi Village","Plegamma Temple","Nanjappa Circle","Chamrajpet","Austin Town","Vannarpet","Chinnappanahalli","Ramagondanahalli","Bylakonenahalli","Sajjanrao Circle","Jnanabharathi Campus","Magadi","Neelasandra","North Road","Siddapura","Kempapura","Jantagondanahalli","Lakkasandra","Avalahalli Bda Park","Adugodi","Girinagar Circle","Ejipura","Doddabasti","Bangalore Dairy","Vidyapeeta Circle","South End Circle","Devarabisanahalli","Bellandur","Koramangala","Lic Colony","Rajarajeswari Temple","Jayanagar Bus Stand","Bagur","Gonighattapura","Kathriguppe","Balagere","Tavarakere.Magadi","Venkatapura","Gurappanapalya","Madiwala","Banashankari","Huluvenahalli","Bellandur Gate","Kadirenahalli Park","Kadirenahalli","Ganapathihalli","Kengeri","Chikkalasandra Village","Koothaganahalli","Nerige","Peddanapalya.M","Btm Layout Ews Colony","Mangammanapalya","Ganakal","Srinivasapura Hosa Badavane","Indo American Hybrid Farm","Parappana Agrahara","Jp Nagar 15 Cr","Haralur","Halanayakanahalli","Isro Layout","Uttarahalli","Bommanahalli","Jaraganahalli","Hongasandra","Gunjur","Mullur","Vijaya Bank Layout","Vasanthapura","Chunchaghatta","Dommasandra","Kudlu Gate","Chikka Begur","Dabbaguli","Kothnur","Singasandra","Nyanappanahalli","Kambipura","Hulimavu Gate","Hulimavu","Kudlu","Hosa Road","Ghattahalli","Chikkegowdanapalya","Talaghattapura","Begur","Kade Agrahara","Avalahalli (Kpr Rd)","Dodda Nagamangala","Gottigere","Devagere","Kumbalagodu","Chintala Madiwala","Vittasandra","Subbarayappanapalya","Gangasandra","Konappana Agrahara","Weavers Colony","Muthanallur","Hampapura","Ramasandra","Bannikuppe","Gonipura","Shikaripalya","Hulimangala","Kulumepalya","Uttari","Borehalli","Heelalige","Adigondanahalli","Bannerghatta","Bannerghatta National Park","Kaggalipura","Chandapura","Kittaganahalli","Koppa Gate","Koppa","Akkipikki Colony","Bidadi","Vajarahalli","Begihalli","Chandapura Circle","Kyalasanahalli","Parasanapalya","Guddahatti","Jigani","Hennagara","Ramakrishnapura","Jigani High School","Bukkasagara","Bandapura","Rajapura","Giddenahalli","Haragadde","Sundaram Estate","Naganayakanahalli","Nettigere","Mukkodlu","Somanahalli","Shettyhalli","Ravagodlu","Konasandra","Gottigehalli","Sidi Hoskote","Shivanahalli","Kaggalihalli","Gabbadi","Byrapura","Railway Gollahalli","Iaf Gate","Narasipura","Kuduregere","Mestri Palya","Nagashettyhalli","Hmt Watch Factory","Horamavu","Itc Factory","Srirampura Harischandra Ghat","Swastik","Pattandur Agrahara","Trinity Church","Mayo Hall","Aecs Layout","Hal Main Gate","Sulikere","Byrasandra","Devadiga Soudha","Mugalur","Kachamaranahalli","Hejjala","Narayanaghatta","Attibele Border","Hinnakki","Attibele","Hosahalli","Judicial Layout","Adarsha Nagar","Nandini Layout","Mysore Bank Colony","John Fowler","Byrohalli","Rayasandra","Eswar Layout","Anchepalya","Nagegowdanapalya","Mylasandra","Jigala","Kalkunte Agrahara","Yelahanka","Bengaluru International Airport","Shanthinagar Bus Stop","Mahadevapura","Silk Board Junction","Abbina Kuppe","Achyuthanagara Gate","A.Cross","Adde Vishwanathpura","Adichunchanagiri Shakha Matt","Ado Sonnahatti","Aecs Dental College","A.E.C.S.Layout","Agrahara Palya Gate","Agrahara Village","Ags Layout Arehalli","Ajantha Talkies","Ajantha Talkies\/ Lavanya Talkies","Ajjagondanahalli","Akkupet","Al-Ameen Residency School","Adakimaranahalli","Abb Factory","Accounts Office","Adigara Kallahalli","Adugodi Police Qtrs","Ags Office","Alambadi","Alammanapalya","Allalasandra Cross","Allasandra Gate","Alli Bommasandra","Amarajyothi Layout","Amarjyothi Badavane","Ambedkar Medical College","Amruthnagar","Anagalipura Cross","Ananda Nagara","Anand Rao Circle","Ananthapura","Ananthapura Gate(Vinayaka Layout)","Anche Muskuru","Anchipura Colony","Anjananagara","Annapoorneshwari Nagar","Anugondanahalli Cross","Anupanahalli","Apc Circle","Apco Factory","Aralimaradapalya","Aralimaradapalya Cross","Arasanahalli","Are Binnamangala","Arenur","Arisinakunte","Arjuna Bettahalli","Ashok Pillar","Ashwathnagar","Attimgere Gate","Attur Gate","Avalahalli Bda Layout Cross","Avalahalli New Bda Lay Out","Avaragere Cross","Avaregere","Avarehalli","Avarehalli Cross","Averahalli Gate","Ayyappanagar","Azeez Palya","Babasabpalya","Badekatte","Bagalakgunte Village","Bagalgunte Cross","Allalasandra","Ashrama","Anagalipura","Anchipura","Annasandra Palya","Anjanapura","Anneshwara","Aps Collge Cross","Arakere","Aradeshanahalli","Arehalli Cross","Attur Layout","Attivatta","Avalahalli","Ayyappa Temple","Baagur","Bachahalli Gate","Badrappa Layout","Balageranahalli Cross","Balaji Badavane","Balaji Nagar","Balepura","Bale Veeranahalli","Ballur","Ballur Cross","Banandur","Banarahalli","Banashankari 1st Stage","Banashankari 2nd Stage Bda Complex","Banashankari 2nd Stage (Channammanakere)","Banashankari 2nd Stage(Jn.Of 21st Main 13th Cross)","Banashankari 3rd Stage 2nd Phase(Srividhyanagara)","Banashankari 3rd Stage 3rd Phase","Banashankari 3rd Stage Srividya Nagara","Banashankari Bus Station","Banashankari Bus Station 2nd Stage Bda Complex","Banashankari Bus Station 3rd Stage 3rd Phase","Banawara","Bandaiahana Palya","Bandakodigehalli","Banda Kodigehalli Palya","Bandemaramma Bus Stand","Bande Nallasandra","Bandireddy Circle","Bangalore Children Hospital","Bangalore Diary Cirle","Bangalore Milk Diary","Bangalore University Gate","Bangarappa Nagara","Banjarapalya","Bannerghatta Circle","Bannigiri","Bapuji Layout(Saraswathi Nagar)","Bapujinagar","Bargur","Barthnagar Ist Stage","Basappanapalya","Balagere Cross","Bandebommasandra","Banashankari Bda Complex","Bangalore Central Jail","Bangalore University Administrative Block","Basavanagudi Polce Station","Basavanagudi Post Office","Basavanapalya","Basavanapura Gate","Basavangara","Basavanna Temple","Basavapura","Basaveshwaranagar","Basaveshwaranagara 3rd Stage (Saneguruvanahalli)","Basaveshwaranagara Bus Station","Bashyam Circle","Bashyam Nagara (Srirampura)","B.C.C.Layout","Bcc Layout","Bcc Layout Cross Jn.Of Chord Road","Bcc Layout Raguvanahalli","B.Channasandra","B.Channasandra Bridge","B.Channasandra Railway Bridge","Bda Bus Bay","Bds Nagara","Bds Nagara (K.Narayanapura)","Beedi Karmikara Badavane","Beggars Colony","Begum Mahal","Belagumba","Belathur Cross","Bellakempanahalli","Bellikere","Bel Market","Belthur Village","Beml 5th Stage","Beml Complex","Beml Gate","Beml Layout","Beml Layout 5th Phase","Beml Layout Complex","Bendiganahalli","Bendiganahalli Cross","Beniganahalli","Benniganahalli Bridge","Benson Town","Benson Town Level Cross","Bethanagere","Bettadasanapur","Bettadasanapura Cross","Bettahalasur","Bettahalli","Bettahalli Kaval","Bettahalli Palya","Bettahalsur Cross","Bettanagere Cross","Bettanapalya","Bgs Health City","Bgs Inter Main Gate","Bhakthanapalya","Bhaktharahalli","Bhaktharahalli Cross","Bhakthipura","Bhakthi Yoga Ashrama","Bhcs Layout","Bharath Nagar","Bharathnagar 2nd Phase","Bharathnagara Ist Phase","Bhattarahalli","Bhattaramarenahalli","Bheemanakuppe","Bheemanakuppe Cross","Bhel Concrode Layout","Bhel Layout","Bhimajyothinagara","Bhimajyothinagara (Shankara Muth)","Bhoopasandra","Bhovi Colony","Bhovi Palya","Bhuvanagiri","Bhuvanahalli Gate","Bhuvaneshwari Nagar","Bhuvaneshwarinagara Mahalakshmi Temple","Bidalapura","Bidarahalli","Bidruguppe","Bikkanahalli","Bikkana Hosahalli","Bilawaradahalli","Bilekalli","Bileshivale","Bilijaaji","Billamaranahalli","Billamaranahalli Cross","Billapura","Bimakanahalli","Binni Layout","Biskur","Bloom Field Garden","B.Nagra 3rd Stage(Saneguravanalli)","B.Narayanapura","B.N.Bachegowda Badawane","Bodanahosahalli","Boganahalli","Bogana Hosahalli","Bokipura","Bolamaranahalli","Bombay Dyeing","Bommachanahalli","Bommanabande","Bommandahalli","Bommasandra Village","Bommashettihalli","Bommawara","Bommenahalli","Boodamanahalli","Boodigere","Borewell Cross","Bowring Institute","Brahmma Devara Gutte","Bridge","Brindavan Outer Ring Road","Brundavan Nagara Jinkevana","Brv College","B.S.F.","Bsk 1st Stage","B.S.K.2nd Stage 24th Cr 21st Main Road","Bsk 2nd Stage Bda Complex","Bsk 2nd Stage.Jn.Of 24th Cr 1st Main","Bsk 2nd Stage.Jn.Of 24th Cr 21st Main","B.Station","Btl College","B.T.M.Layout","Btm Layout 4th Stage","Btm Layout (Kuvempunagar)","Btm Lay Out South","Btm Layout South (Mahadeshwar Nagara)","B.T.S. Layout (Jn.Of Bda Ring Road)","Buc Gate\/Jnanabharathi Ladies Hostel","Budigere Cross","B.V.R. Industry","Byadarahalli","Byagadadenahalli","Byalalu","Byalalu Janatha Colony","Byalanahalli","Byandahalli","Byarasandra","Byatarayana Doddi","Byatarayana Doddi Cross","Byatarayanapura","Bychapura","Bylanjaneya Temple","Byramangala","Byramangala Cross","Byrathi","Byregowdana Doddi","Byregowdanahalli","Cambridge Layout","Cambridge Layout\/Military Accounts","Cant. Railway Stn.","Carmelaram Gate","Carmel Convent","Cauvery Bhavan","Cauvery Hotel","Cement Factory","Central Jail","Central Seed Production Farm","Central Silk Board","Chacklet","Chacolate","Chamarajapet (P.C.Circle)","Chamarajapet Play Grounds","Chamundi Nagar","Chandapura Cross","Chandra Layout 1st Stage","Chandra Nagara","Chandrappa Cricle","Channahalli Gate","Channamaraiahna Palya","Channammakere","Channammanakere Achukut","Channasandra","Channasandra Bridge","Channasandra Railway Bridge","Channdasipalya","Channegowdana Doddi","Channenahalli","Chapparadakallu","Chattekerepalya","Chaya Nursing Home","Cheemandahalli","Cheemasandra","Cheemasandra Cross","Chelkere Extension","Chellahalli","Chennammanahalli","Chika Nagamangala","Chikka Bagade","Chikka Banavara Railway Station","Chikka Banavara Santhe Beedi","Chikkabanawara","Chikkabelavangala Gate","Chikkabidarakallu","Chikka Dasarahalli","Chikka Gollarahatti","Chikka Gollarahatti Cross","Chikka Gubbi","Chikka Gubbi Cross","Chikka Indlavadi","Chikkajala","Chikkakallasandra","Chikka Kallasandra Sarige Nagar","Chikka Kellur","Chikka Kukkanahalli","Chikka Kuntanahalli","Chikkalasandra Bus Stand","Chikkalasandra Mahesh Medicals","Chikkalasandra Naidu Layout","Chikkalasandra Ramanjaneya Layout","Chikkallasandra Aralimara","Chikka Maranahalli","Chikkamariyappanapalya","Chikka Maskal","Chikkammanahalli","Chikkammana Palya","Chikkanahalli Gate","Chikkanahallil","Chikkananahalli","Chikkanana Palya","Chikkanayakanhalli","Chikka Nekkundi","Chikkannalluru","Chikka Thimmasandra","Chikka Thirupathi","Chikka Tirupathi Cross","Chikka Tumkur","Chinnaiahnapalya","Chinnaiahnapalya Cross","Chinnaiahnapalya (Silk Farm)","Chinnappa Garden Iti Layout","Chndrakala Soap Factory","Chokkanahalli Gate","Chokkasandra","Chokkasandra Cross","Choodahalli","Choodasandra","Chowdappanahalli","Chowdenahalli","Chowdeshwarinagara","Chowdeshwari Temple Cross","Chowdeshwary Bus Station","Chunchankuppe","Cilpil Factory","City Light Apartment","City Railway Station","C.K.Thandya","Clarence School","C.M.T.I.","Coconut Garden","Coffee Board Layout","Coles Park","Colony","Corporaton","Cox Town Circle","Cpri","C.P.R.I","C.P.R.I. Gate","Cpri \/ Sadashivanagara Police Station","Csi","Csi\/Institute Of Engineers","C.V.Raman Nagar","Dabbaguli Cross","Dabbalaguli Gate","Damodara Nagara","Dasanapura","Dasarahalli 8th Mile","Dattatreya Nagara","Dattatreya Temple (T.R.Nagara)","Dayananda College Cross","Dayanandasagar College","Dayanandasagar College Cross","Deepanjalinagara","Devadiga Soudha Cross","Devaganahalli","Devalapura","Devamachohalli Cross","Devanagundi Colony","Devanagundi Cross","Devanagundi Railway Station","Devanahalli Cross","Devangundi","Devara Bisanahalli Cross","Devarachikkanahalli","Devashettyhalli","Devinanjaiahanapalya","D Group Employees Layout","D-Group Layout","Dhananayakanahalli (Gangothri Badavane)","D. Hosahallli","Dibbur","Dibbur Gate","Dinnepalya","Dodda Alada Mara","Doddaballapura Railway Gate","Doddabasavanna Temple (Keb Office)","Doddabasti Cross","Dodda Bele","Dodda Bettahalli","Dodda Bidarakallu","Doddabyalakere","Dodda Dunnasandra Cross","Dodda Gattiganabbe","Doddahatti Gate","Doddahatti Village","Dodda Hullur","Doddajala","Doddakahalli","Doddakukkanahalli Cross","Doddakuntanahalli","Doddamaranahalli","Doddanallurahalli","Doddanekkundi","Dodda Nekkundi Cross","Doddanekkundi\/Railway Bridge","Doddanekkundi\/Railway Station","Doddanellur Cross","Dodda Sanne","Dodda Thimmasandra","Dodda Thimmasandra Cross","Dodda Thogur","Dodda Tumakur","Dodderi","Dodderigrama","Doddipalya","Domlur Bus Station","Domlur Cross","Dommasandra Circle","Donnenahalli","Dr.Ambedkar College","Dr. Ambedkar Institute Of Technology(Kengunte)","Dr.Ambedkar Nagara","Dr.Ambedkar Vidya Mandira","Drdo 2nd Phase","Drdo Quarters","Drdo Township 2nd Phase","Dr Rajkumar Punya Bhoomi.","D.Shetta Halli","Dubasi Palya","Dunnasandra","Duo Heights Layout","Dwarakanagar","Dyavalingaiahna Palya","Dyavarahalli Gate","Eagleton Resorts Gate","East West College Cross","Electric \u2018B\u2019Station","Electric B.Station","Electronic City","Electronic City(Bhel)","Electronic City Circle","Electronic City Depot No.19 Gate","Electronic City Infosys Corporate Office","Elgin Flour Mill","Eliyas Nagar Ring Road","Eltheri","E. Muthasandra","Erandahalli","Erthaganahalli","Erthaganahalli Gate","Estate","Estate Gate","Faizabad","Farm House","Fci Colony","Food Corporation Of India","Forest Gate","Frazer Town","Freedom Fighter Colony","Fruit Market","Gajendranagara","Gajendranagara (Anepalya)","Ganagalu","Ganagalu Cross","Gandaragollipura","Gandhi Bazaar","Gandhi Grama","Gandhipura","Ganesh.B","Ganesh Bhavan","Gangamma Circle","Ganganagar","Gangappanahalli","Gangappanapalya","Gangapura","Gangenahalli Hmt Layout","Gangondanahalli Cross","Ganigarahalli","Gantagana Doddi","Gantagana Doddi Cross","Garudacharpalya","Gottigerepalya","Gavigangadhareshwara Temple","Gaviyanapalya","Gayathri Layout","Geddalapura","Geleyara Balaga Extension","General Post Office","Gerahalli","G. Hosahalli","Gidada Konenahalli","Gidada Palya","Giddenahalli Cross","Girigowdana Doddi","Girinagar 2nd Stage","Girinagara Extension","Girinagrfa Extn.","G.K.V.K.","G.K.W.Layout","Gkw Layout","Golf Club","Gollahalli","Gollahalli Railway Gate","Gollara Halli","Gollarapalya","Gonighattapura Cross","Goodshed Road","Gopal Estate","Gopalpura","Gopasandra Cross","Goraguntepalya","Goraguntepalya Cross","Gottipura","Govardhan Talkies","Government Hospital","Government Soap Factory","Gowdahalli Cross","Gowdanahalli","Grind Well Norton","Grindwell Norton (Skf)","Gubbalala","Guddadahalli Dinne","Guddaiahna Palya","Guddatti Cross","Guddatti Gate","Gudipalya","Gulganjanahalli","Gulganjanahalli Cross","Gulimangala","Gulkamalai","Gullahatti Kaval","Gunakmale","Gundanjaneya Swamy Temple","Guni Agrahara","Gunjur Palya","Gunjur Palya Cross","Gurappanapalya (Bannerghatta Rd)","Guruva Bhovi Palya","Guruvanahalli","Guttepalya","Hagadoor","Hagalahalli","Hakki Pikki Colony","Hakkipikki Colony Cross","Hal 3rd Stage","Halage Vaderahalli","Hal Airport","Halanayakanahalli Cross","Halappanahalli","Halasahalli","Halehalli","Hal Jn. Of Nagasandra Road","Hal Kalyanamantapa","Halsoor","Halsur","Halubavipalya","Hampinagar","Hampi Nagar (Rpc Layout)","Handenahalli","Hangarapalya","Haniyur","Haniyur Cross","Hanmanthnagara Ward Office","Hanumanthegowdana Palya","Hanumanth Nagar W.Off","Haralur Cross","Haro Kyatanahalli","Hasanala","Hasigala","Havanoor Circle\/Bsvn","Havanur Circle","Hbr 2nd Stage 29 Kg","Hbr Kptcl Layout","Hbr Layout 2nd Stage 29-30 Kg Layout","Hbr Layout 2nd Stage Bda Park","Hbr Layout 5th Phase","Hbr Layout 5th Phase Forest Office","Hbr Layout Bda Complex","Hbr Layout Ist Stage","Hbr Lyout Kptcl Office","Hebaala","Hebbagodi","Hebbagodi Cross","Hebbagodi Industrial Area","Hebbal","Hebbala Bridge","Hebbala Diary Farm","Hebbala Military Diary Farm","Hebbala Ring Road","Hebbal Police Station","Heggade Devanapura","Hegganahalli Cross","Hejjala Cross","Hejjala Gate","Heligehalli Colony","Hennur","Hennur Cross","Herohalli Cross","Hesaragatta Indo Danish Farm","Hesaragatta Village","Hesaraghatta","Hesaraghatta Tb Cross","Hesaraghatta Vinayaka Nagara","H.Gollahalli","Hilal Nagara Cross","Hilal Nagara Hbr Ist Stage","Hmt Auditorium","Hmt Colony","H.Nagar Ward Office","Hnr Ward Office","Hombegowda Nagar 7th Cross","Hombe Gowda Nagara Ps","Hombegowdanagara P Stn (Wilson Garden Ps)","Hombegowda Nagara P.Stn(Wilson G.P.Stn)","Hombegowda Nagar Police Staion","Hommadevanahalli","Honachanahalli","Hongasandra Mico Layout","Hoodi","Hoodi Railway Gate","Hoovinayakanahalli","Horamavu Agara","Horamavu Petrol Bunk","Hosa Byappanahalli","Hosa Doddi","Hosahalli Palya","Hosakerehalli","Hosakerehalli Kere Kodi","Hosakerehalli Village","Hosakote Kere Kodi","Hoskerehalli Cross","Hoskote","Hoskote Bus Stand","Hoskote High School","Hoskote Kodi","Hostel","Hosur","Hosur Bande","Hosur Road","Hoysala Nagar","Hsr 2nd Sector Aishwarya Apartments","Hsr Layout 19th Main Cambridge School","Hsr Layout 2nd Sector","Hsr Layout 2nd Sector 19 Main13th Cross","Hsr Layout Bda Complex","Hsr Layout Si Apartment","H.Tippu Nagar","Hulimangala Cross","Hulimavu Village","Hullahalli Cross","Hullahalli Village","Hullalu Satelitte Town","Huluvenahalli Cross","Hunasamaranahalli","Hunasoor","Huncharahalli","Hunisemaradapalya","Hunnigere","Huralichikkanahalli Gate","Huskur","Huskur Cross","Huskur Gate","Huvinayakanahalli Cross","Hyadalu","Hyadalu Cross","Iaf","I.A.F.","Iaf Chimni Hills","I.A.F.Gate","I.A.F. (Gymnasium)","Ichangur","Iggalur","Iliyasnagar","Iltheri Cross On Ivc Road","Income Tax Layout","Indian Express","Indiranagara","Indiranagara Esi Hospital","Indiranagar Police Station","Indiranagar P.S.","Indlabele","Indlavadi","Indlavadi Cross","Indrasanahalli","Industrial Area","Industrial Area Hebbagodi","Inner Ring Road Bridge","Inner Ring Road Under Pass","Ioc","Iskon Temple","Islampura","Isro Quarters","Istitute Of Engineers","Itc East Colony Circle","Iti Colony East Circle","Iti East Colony Circle","I.T.I. Layout","I T I Layout Mallathhalli","Itkalpura Gate","I.T.P.L.","Ittakalpura Cross","Ittamadu","Ittamadu Village","Ittige Factory","Ittina Neela Apartments","Ivarakandapura","Jagadheesh Nagar","Jagadish Nagara","Jagajeevanramnagara","Jaibeemanagar (Btm Layout 1st Stage )","Jaibheemanagara","Jai Bhuvaneshwarinagara","Jai Maruthinagara Nagara","Jai Maruthinagara Ravi Badavane","Jaipura Doddi","Jai Ramadas","Jakkasandra","Jakkasandra Cross","Jalahalli Cross","Jalahalli East Area 7th Camp","Jalahalli Village","Jalavayu Vihar","Jalli Machine","Jambusavari Dinne","Janapriya Apartment","Janapriya Nivas Apartment","Janapriya Township","Janatha Colony","Jangalpalya","Jangamakote","Jaraganahalli Cross","Jayanagar 4th Block","Jayanagar 5th Block","Jayanagar 9th Block","Jayanagara 9th East","Jayangar 9th Block East","Jayangar Bus Station","Jayanthi Nagara","Jayapura","J.C.Nagar","J.C.Nagara (M.R.Palya)","Jeevanbhimanagar","Jettipalya","J.H.B.C.S Layout","Jhbcs Layout Cross","Jigani Bus Stand","Jigani Industrial Area","Jims Institute Of Technology","Jinka Thimmanahalli","Jinke Bachahalli","Jinnagara","Jinnagara Cross","Jittige Factory","Jn.0f 80 Ft.&100 Ft.Road","Jn.24th Cr 21st Main Bda Complex","Jnana Jyothinagara 2nd Phase","Jn.Laxmanrao Nagara","Jn.Mysore Rd & Outer Ring Road","Jn.Nagawara Road","Jn.Of 100 Feet Road & 80 Feet Road","Jn.Of 100ft Road & 80ft Road","Jn.Of 12th Main 7th Cross (Btm Layout)","Jn. Of 13th Cross 21st Main","Jn.Of 14th Main","Jn.Of 14th Main Hsr Layout","Jn.Of 15th Cross 8th Main(J.P.Nagar 3rd Phase)","Jn.Of 19th Main & 13th Cross","Jn Of 1st Main & 4th Block","Jn.Of 1st Main 4th Cross","Jn. Of 24th Main","Jn.Of 24th Main 9th Cross","J.P.Nagar 1st Phase","Jn.Of 4th Main 4th Cross","Jn. Of 4th Main Ist Cross","Jn.Of 7th Cross 12th Main (Btm Layout)","Jn.Of 80 Feet &100 Feet Road","Jn.Of 80feet & 100 Feet Road","Jn.Of 80 Feet Road & 100 Feet Road","Jn. Of 80 Feet Road & 100 Feet Road","Jn.Of 80 Feet Road & 100 Ft Road","Jn.Of 80 Feet Road & Nb Road","Jn.Of. 80 Ft.& 100 Ft. Road","Jn..Of 80 Ft. & 100 Ft.Road","Jn.Of 80 Ft \/ 100 Ft.Road","Jn.Of 80 Ft & 100 Ft. Road","Jn.Of 80 Ft. & 100 Ft.Road","Jn.Of 80 Ft. 100 Ft.Road","Jn. Of 80 Ft. & 100 Ft.Road","Jn. Of 80 Ft. & 12th Main","Jn.Of 80 Ft. New Bridge Road (Rajendranagara)","Jn.Of 80 Ft.Rd (Rajendra Nagara)","Jn.Of 80 Ft.Road 100 Ft.Road","Jn.Of 80th Ft & 100 Ft.Road Of Krm.","Jn. Of 8th Main & 3rd Cross","Jn.Of 8th Main 7th Cross","Jn.Of 8th Main 7th Cross Koramangala","Jn. Of 9th Main","Jn. Of 9th Main 3rd Cross","Jn.Of Adigondanahalli Road","Jn.Of Airport Road","Jn.Of Anekal Road","Jn. Of Ashwath Nagar Road","Jn.Of Attivatta Cross","Jn.Of Bda Ring Road","Jn.Of Bellary Road","Jn.Of Bidadi Road","Jn.Of Bikkanahalli Road","Jn.Of Brigade Road","Jn.Of Btm Layout 100ft Road","Jn.Of Central Silk Board Road","Jn. Of Central Silk Form Quarters","Jn.Of Chikka Thirupathi Road","Jn.Of Chord Road Bcc Layout Cross","Jn.Of Chowdeshwarinagara","Jn.Of C.K. Thandya","Jn.Of Dasarahalli Road","Jn.Of Dodda Aladamara Road","Jn.Of Doddanekkundi","Jn.Of Dollars Colony Bridge","Jn.Of Eliyasnagar On 100 Ft.Ring Road","Jn.Of Gangenahalli","Jn.Of G.Hosahalli Road","Jn.Of Gollahalli Road","Jn.Of Gottipura On Nh Road","Jn.Of Hal And Domlur Road","Jn.Of Halasahalli Road","Jn.Of Hebbala Ring Road","Jn. Of Hennagara Road","Jn.Of Hosakerehalli","Jn Of Hosur Road","Jn.Of Hosur Road Check Post","Jn.Of Hsr Layout 14th Main","Jn. Of Hsr Layout 19th Main 13th Cross","Jn. Of Hulimanagala","Jn.Of Inner Ring Rd.Bridge","Jn.Of Inner Ring Road","Jn.Of Jalahalli Road Tumkur Road","Jn. Of Jigani","Jn. Of Kachohalli Road","Jn of Kaggalipura","Jn. Of Kanteerava Nagar","Jn.Of Kanteerava Studio","Jn.Of Kasthurinagara Cross","Jn Of Kasturinagar","Jn.Of Kathriguppe Cross","Jn. Of Kathriguppe Cross (Hosakerehalli Cross)","Jn.Of Katriguppe","Jn.Of Kerekodi","Jn.Of Kommaghatta Road","Jn.Of Kondenahalli Road","Jn.Of Koramangala 80 Feet & 100 Feet Road","Jn.Of Koramangala 80 Feet Road","Jn.Of Kothanur Road","Jn.Of Kr. 80 Ft. Road","Jn Of Krm 80 Ft & 100 Ft. Road","Jn.Of Krm 80 Ft.& 100 Ft.Road","Jn.Of Krm 80ft Rd.(Rajendra Nagara)","Jn.Of Krm 80 Ft. Road & 100 Ft. Rd.","Jn. Of. Lakshman Rao Nagara Road","Jn.Of Magadi Road","Jn.Of Magadi Road & Siddaiah Puranik Road","Jn.Of Mahadevapura","Jn Of Mahadevapura Cross","Jn.Of Malur Circle","Jn.Of Manchappanahalli","Jn. Of Marathahalli (Borewell)","Jn.Of Marathhalli Ring Road","Jn.Of Marthhalli Bridge","Jn.Of Mele Nallasandra Road","Jn.Of Mkk Road & Manjunatha N. Thimmaiah Rd","Jn. Of Muthanallur","Jn.Of Mysore & Ring Road","Jn.Of Mysore Road","Jn.Of Nagawara","Jn.Of Nanjapura Road","Jn.Of Nayanahalli Road","Jn.Of Nelamangal Road","Jn.Of New Bridge\/ Over Bridge","Jn. Of New Bridge Road","Jn. Of Nh-7","Jn. Of Nice Road","Jn.Of Oil Mill Road","Jn.Of Outer Ring Road Mysore Rd.","Jn.Of Pandithana Agrahara","Jn.Of Pantharapalya Ring Road","Jn. Of Peenya 2nd Stage Road","Ring Road","Jn.Of Peenya Road","Jn.Of Purada Palya","Jn.Of Ring Rd & Hosakerehalli Rd.","Jn.Of Ring Road","Jn.Of Ring Road Bridge","Jn.Of Ring Road & Mysore Rd.","Jn. Of Sarjapura","Jn.Of Sarjapura Road","Jn.Of Sriramapura","Jn.Of Srirampura Road","Jn. Of Sumanahalli","Jn. Of Tumkur Road","Jn. Of Tumkur Road N.H.","Jn.Of Vajarahalli","Jn.Of Veerabhadranagara","Jn. Of Veeranahalli Road","Jn.Of Yellukunte Mangammanapalya","Jodi Aladamara","Jodi Ragi Thimmasandra","Jodi Thimmasandra","Jogerahalli","Jogerahalli Cross","Johnson Market","J.P.Nagar24th Main 9th Cross","Jp.Nagar 3rd Phase","J.P Nagar 6th Phase","J.P.Nagar Phase 1st Phase","Junction 1st Main 4th Cross","Junction Of 4th Main Ist Cross","Jyothinagara (Janatha Colony)","Kachamaranahallil","Kacharakanahalli Cross","Kacharkanahalli","Kachohalli","Kadabagere Cross","Kadabisanahalli","Kada Grahara Cross","Kada Sonnappanahalli","Kada Yarappanahalli","Kadirenahalli Cross","Kadirenahalli Village Cross","Kadirenhalli Village","Kadugondana Halli","Kadugudi","Kadugudi Bus Stand","Kadugudi Bus Station\/Sathya Sai Ashrama","Kadugudi Police Station","Kadumane Hotel","Kaggadasapura","Kaikondrahalli","Kaji Hosahalli","Kaji Sonnenahalli Gate","Kaka Ramanahalli","Kaka Ramanahalli Cross","Kakkehalli","Kalaiahnapalya Cross","Kala Thammanahalli","Kalegowdanapalya","Kalenahalli","Kaleshwari","Kalidas Layout","Kalkre","Kallabalu","Kallaghatta","Kallahalli Gate","Kallodu","Kallubalu Cross","Kallur","Kalya Gate","Kalyana Bhavana","Kalyanagara Bus Stand","Kalyananagara","Kamakshi Layout (Bramhakumari Eswariya Vidyalaya )","Kamakshipura","Kamakshipura Cross","Kamalanagara","Kamalanagara Beml Layout","Kamala Nagara (Market)","Kamalanagara Old Bus Stop","Kamalanagara Road","Kamalanagara Water Tank","Kamalanehru Extension","Kamalanehru Extn.","Kamalanehru Extn.(Bombay Dyeing)","Kamarasanahalli","Kambalipura","Kammagondanahalli","Kammagondanahalli Bridge","Kammagondanahalli Temple","Kammanalli Extension","Kammasandra","Kammasandra Cross","Kammasandra Palya","Kanakanagara Gate","Kanasawadi","Kanasawadi(Mudhure Temple)","Kanchugaranahalli","Kanchugaranahalli Colony","Kanegowdanahalli","Kanikal","Kanivemadapura Cross","Kanminike","Kannalli","Kannamangala Cross","Kannamangala Gate","Kannamangala Palya","Kanteeravanagara","Kanuvanahalli","Karabele","Karalapura","Kareemsab Layout","Karekalpalya Gate","Karenahalli","Karibeeranahosahalli Cross","Karikalpalya Cross","Kariobanahalli","Karishma Hills","Karlapura Gate","Karlapura Palya","Karnataka Legislative Home","Karnataka State Ware Housing Godown","Karpuru","Karpuru Gate","Kasaraguppe","Kasavanahalli","Kasthuri Nagar 2nd Cross","Kasthuri Nagara Cross","Katamanadoddi","Katamnalloor","Katamnallur Gate","Kathriguppe Cross","Kattalepalya","Kattigehalli Cross","Kattigenahalli","Kattu Gollahalli","Kavery Nagar","K.Channasandra","K. Dommasandra","Kebbepalya","Keb Circle","Keb Office","Kembathhalli","Kempadyapanahalli","Kempalinganahalli","Kempalinganapura","Kempa Lingapura Cross","Kempapura Agrahara","Kempathimmanahalli","Kempa Thimmanahalli Cross","Kempegowda Bus Station","Kempegowdanagara Swimming Pool","Kenchanahalli","Kenchanakuppe","Kenchanapalya","Kenchenahalli Gate","Kendriya Vihar Yelahanka","Kenganahalli Cross","Kengeri Bande Mata","Kengeri Bandemata Badavane","Kengeri Bus Stand","Kengeri Bus Station","Kengeri Housing Board Quarters","Kengeri R.W.B.Gate","Kengeri Satelite Town","Kengeri Satellite Town Cross","Kengeri Satellite Town Housing Board Quarters","Kengeri Satellite Townhoysala Nagara","Kengeri Satellite Town Khb Quarters","Kengunte","Kere Choodahalli","Kereguddanahalli","Kethaganahalli","K.G. Halli Police Station","K.G.Lakkenahalli","K.G.Lakkenahalli Cross","Khb Colony","Khb Colony Cross","K.H.B. Quarters","Kirloskar Badawane","Kittaganur","Kittanahalli Palya","Kmf","K.M.F","Kmf Gate","K.Narayanapura","Kodagalahatti","Kodalipura","Kodandarama Nagara","Kodatha Male","Kodathi","Kodathi Gate","Kodathi Silk Warm Seeds Technology","Kodichikkanahalli","Kodichikkanahalli Cross","Kodichikkanahalli \/J.P. Apartment","Kodigehalli","Kodigehalli Canara Bank","Kodigehalli Cross","Kodigehalli Gate","Kodi Manchanahalli","Kodipalya","Kodiyala","Kohira","Kolathur","Kolathur Gate","Kolavarayanahalli","Koli Farm","Kollur","Kolur","Kommagatta","Kommasandra Cross","Konanakunte Cross","Konanakunte New Bank Colony","Konanakunte Soudamini Kalyana Mantapa","Konasandra Cross","Konasandra Darga","Kondappanahalli","Kondashettihalli","Koogur","Koraloor","Koralur","Koramangala 8th Block","Koramangala 8th Block (Rajendranagara)","Koramangala Housing Complex","Koramangala Kendriya Sadana","Kormangala Kalyana Mantapa","Kormangala Water Tank","Koshy 'S Hospital","Kothnur Cross","Kothnur Dinne","Kothnur Dinne Cross","Kothnur Krishna Layout","Kottigepalya","Kotur","Koudenahalli","Kowdenahalli Cross","K.R.Circle","K.R.Circle \/Cauvery Bhavan","K.R.Circle \/ Corporation","Krishananda Nagar","Krishna Garden","Krishnaiahna Doddi","Krishnaiahna Palya","Krishnanandanagara Cross","Krishna Rao Park","Krisnhappa Layout","Krm 80 Ft & 100 Ft.Road","Krm 80 Ft Rd.& 100 Ft.Rd.","Krm. Jn. Of 80 Ftt.& 100 Ft.Rd.","K.R.Puram","K.R.Puram Old Police Station","K.R.Puram Rly Station","K.R.Railway Station","K.R.S.Gowda Layout","Krupanidhi College","Ksfc Layout Cross","Kudugiddanapalya","Kuduregere Colony","Kudusiddanapalya","Kukkanahalli","Kulume Kempanahalli","Kumaraswamy Layout 2nd Stage","Kumaraswamy Layout Cross","Kumaraswamy Layout West","Kumarswamy Layout","Kumbalagunte Cross","Kumbalahalli Gate","Kumbarahalli Cross","Kundalahalli Cross","Kundalahalli Village","Kundana","Kundlahalli Gate","Kuppasiddana Doddi","Kurubarahalli (Jc Nagara)","Kurubarapalya","Kurudu Sonnenahalli","Kuvempu Circle","Kuvempunagar 2nd Phase","Kuvempunagara Btm Layout","K. Vinayakanagara","K. Vinayakanagara Cross","Kyasaraguppe","Laggere","Lakkenahalli","Lakkondahalli","Lakkondahalli Cross","Lakkondanahalli Gate","Lakkuru Circle","Lakshman Rao Nagara","Lakshmidevinagara","Lakshmi Layout","Lakshmi Layout Arakere","Lalbagh Main Gate","Lalbahadur Shastri Nagar","Laxmanrao Nagara","Laxmidevi Nagara Bus Station","Laxminarayanapura","Laxminarayanapura Cross","Laxmipura","Laxmi Sagar","Leprosorium","L.I.C.Colony","Lingadheera Mallasandra","Lingapura","Lingapura Cross","Lingarajapura","Lingarajapuram Khb Colony","Lotte Gollahalli","Lottegollahalli Railway Colony","Lourdh Bai Samudaya Bhavan","Lourdhubhai Kalyana Mantapa","Lpg Cas Company","Machanayakanahalli","Machohalli Cross","Machohalli Gate","Madanayakanahalli","Madapatna","Madapatna Cross","Madappanahalli","Madappanapalya","Madawara Kodipalya","Madhugirihalli","Madhura Nagara","Madhuranagara Hostel","Madhure","Madhure Village","Madiwala(Si Apartment On Ring Road)","Madurai","Magadi Rd 1st Cross","Magadi Road Housing Board Colony Cross","Magadi Road Ist Main","Magadi Road Leprosium","Magadi Road Tolegate","Magadi Road Toll Gate\/Prasanna","Magadi Toll Gate","Mahaarani\u2019S College\/Cauvery Bhava","Mahadeshwaranagara (Nagarahole Circle)","Mahadeva Kodigehalli","Mahadevapura Cross","Mahalakshmi Layout","Mahalaxmi Layout Ganesha Temple","Mahal Chowdenahalli","Mahanthalingapura","Maharani College \/K.R.Circle","Maharani'S\/Cauvery Bhavan","Maharini College","Mahesh Medicals","Mahila Seva Samaja","Mahimana Palya","Malagala","Malagala Bus Stand","Malathhalli Cross","Maligondanahali","Mallara Banawadi","Mallasandra (Anjaneya Temple)","Mallathhalli","Mall.Bus Station","Mallcircle","Malleshapalya","Malleshara Circle","Malleshwaram 11thcross","Malleshwaram 8th Cross","Malleshwaram 8th Main 8th Cross","Malleshwaram Railway Station","Malleswaram 8th Cross\/11th Cross","Malleswaram Bus Station","Mallimakanapura","Mallohalli","Mallohalli Cross","Mallrabanawadi Cross","Mallthhalli Gate","Malur Circle","Malur Cross","Managalu","Manchanabele","Manchanabele Dam Cross","Manchanahalli","Mandoor","Manganahalli","Manipal","Manjunatha Kalyana Mantapa","Manjunatha Nagara Water Tank","Mantanakurchi","Mantapa","Mantapa Cross","Maragondanahalli Cross","Maralakunte","Maranagere","Maranayakanahalli","Marappanapalya","Marasandra","Marasandra Cross","Marasoor","Marathahalli Colony","Marathhalli Ring Road","Maregowdanadoddi Gate","Maregowdanapalya","Marison Factory","Mariyamma Layout","Mariyammana Nagara","Mariyannana Palya","Maroor","Marsoor Cross","Marthalli Bridge","Marthhalli","Marugondla","Maruthinagar","Maruthisevanagar","Masthenahallil","Mata Gate Anjaneyaswamy Temple","Matha Amruthanandamayi College","Matha Amruthanandamayi Mutt","Matha Halli","Mathahalli Cross","Mathikere","Mathikere Layout","Matna Halli","Mattahalli Cross","Mazar Hosahalli","Mazar Hosahalli Cross","Mctc","Meda Agrahara","Meda Agrahara Cross","Medahalli Colony","Medarahalli","Medarahalli Railway Cross","Medi Mallasandra","Meenakshi Layout","Meenaz Nagar","Meera Montessary School","Meesaganahalli","Meg Center","Mei Layout","Mekhri Circe","Mgstatue","M.Hosahalli","Mico Circle","Mico Factory","Mico Factory Naganathapura","Mico Shramajeevi Colony","Milatary Hospital","Military Accounts","Military Accounts Office","Military Diary Farm","Miller Road Canara Bank","Minhaz Nagara","Mini Taj Mahal","Mittaganahalli","Kurubara Karenahalli","M. Karenahalli","M.L.A.Layout","Mla Layout","Mm.Industries","Modi Haspital",".Mohamadan Block","Mohammaden Block","Mohan Kumar Nagara","Monotype","Monotype Corporation","Motaganahalli","M.R.College","M.R.V. Bricks Factory","M.Sathyawara","M S Palya","Muddaiahnapalya","Muddamma Garden","Muddanahalli","Muddina Palya","Mugaloor","Mukthinaga Temple","Muneshwara Block","Muneshwaranagara Kere Kodi","Muneshwara Temple","Munikondappa Badavane","Muni Nagara","Munireddy Layout Cross","Muniswamappa Layout","Munnekolalu","Munnekolalu Cross","Muthanallur Cross","Muthasandra","Muthkoor","Muthurayana Gudi Palya","Muthurayanapura Cross","Muthurayaswami Temple","Muthyalanagar","Mutkur Cross","Muttugadahalli","Mylanahalli Cross","Mylanahalli Gate","Mylappanahalli Cross","Naduvathi","Naduvathi Colony","Nagadasanahalli","Nagadevanahalli Rajarajeshwari Layout","Naganayakana Kote","Naganayakankote Cross","Nagaondanahalli","Nagarabhavi 10th Block","Nagarabhavi 1st Stage 3rd Block","Nagarabhavi 2nd Block","Nagarabhavi 2nd Phase 7th Block (Ravy Gym)","Nagarabhavi 2nd Stage 10th Block","Nagarabhavi 9th Block","Nagarabhavi 9th Block Bandemaramma Bus Stand","Nagarabhavi Bda Complex","Nagarabhavi Ist Stage","Nagarbhavi Circle","Nagaresh Nagenahalli","Nagaresh Nagenahalli Dinne","Nagaroor","Nagarur Cross","Nagasandra Palya","Nagawarapalya","Nagegowdanapalya Cross","Nagenahalli Cross","Nagenalli Gate","Nagendra Block","Naidu Layout","Nal","Nallakkana Doddi","Nallur","Nallurahalli","Nallur Pura","Nandagudi","Nandini Layout Bus Station","Nanjapura","Narayanaghatta Village","Narayana Hrudayalaya","Narayanakere","Narayanapura Cross","Narayanpura","Navarang Bar","Navya Badavane Gate","Nayanahalli","Nayanappasetty Palya","Nayandahalli Cross","Nayandahalli Railway Gate","Nayandanahalli","Neelasandra Rose Garden","Nekkundi Cross","Nekkundi Dommasandra","Nelaguli Cross","Nelavagilu","Neralur","Neralur Cross","Nesenoor","Nethaji Circle Mathikere","New Byrohalli","New Mico Gate","New Pes College","Ngef","Ngef Factory Gate","Nice Bridge","Nimbekayipura","Ningegowdana Doddi","Nisarga Badavane","Nobel Residence Gate","Nowkalpalya","N.R.Colony","Nrupathunga Nagar","Nrutyagrama Cross","Nttf","N.T.T.F.","Oasis School","Oil Mill Road And Hennur Rd.Jn.","Old Byapanahalli","Old Byrohalli","Old Gurappanapalya","Om Shakthi Temple(Vijayalakshmi Layout)","Oxford College","Oxford Dental College","Pachepalya Cross","Padmanabha Nagara Circle","Padmanabhanagar Rock","Padmanabhangar","Pallavi","Panathur Dinne","Panathur (Ring Road)","Panatur","Panchasheela Nagar","Pandithana Agrahara","Pantharapalya","Pantharapalya & Ring Road","Papabhovipalya","Papabhovipalya Cross","Papaiahnapalya","Papareddypalya","Parangipalya","Parangipalya\/Hsr 2nd Sector","Parappana Agrahara Police Training School","Patalappa Layout","Patalappa Layout Cross","Patalappa Layout Gate","Patalappa Layout ( Old Railway Gate)","Patandur Agrahara Cross","Pattandur Agrahara Cross I.T.P.L.","Peddanapalya Cross","Peenya 2nd Stage","Periyar Nagara","Periyar Nagar Circle","Pes College","Pettanahalli Gate","Pettenahalli Cross","Picha Guntarahalli","Pillaganahalli","Pillagumpa Industrial Area","Pk Circle","P.K.Circle (Minerva Circle)","Plegent Hotel","Police Housing Corporation","Poojena Agrahara","Poojena Agrahara Cross","Poojenahalli","Poornapragna Layout","Poornima Talkies","Poornima Talkies\/Corporation","Poultary Farm","Prakashnagar Shakthi Ganapathi Temple","Prasanna","Prasanna Magadi Road Toll Gate","Prasanna Talkies","Promod Layout.","Pungumaranahalli","Punjab National Bank Layout (Konanakunte)","Punugumaranahalli Cross","Pura","Puradapalya","Puradapalya Cross","Puramanahalli","Puttaiahnapalya","Puttaiahnapalya Cross","Puttenahalli","Ragavendra Colony","Raghuvanahalli Cross","Raghvendra Dhama","Ragi Halli","Railway Bridge","Railway Gate","Railway Under Bridge","Rajagopalanagar Police Station","Rajagopal Nagar","Rajagopalnagara Rajani Farm","Rajajinagar 1st Block","Rajajinagar 6th Block","Rajajinagara Eph On Chord Rd.","Rajajinagara Ram Mandir","Rajajinagar Esi","Rajajinagar Esi Hospital\/Shivanagar","Rajajinagar Industrial Town","Rajajinagra Eph","Rajamahal Vilas 2nd Stage","Rajbhavan","Rajmahal Guttahalli","Ramadevanahalli","Ramagiri Cross","Ramaiah Estate","Ramakrishna Hegde Nagar","Ramamurthy Nagar Police Station","Ramanayakana Doddi","Ramanayakanahlli","Ramasagar","Ramohalli","Ramohalli Cross","Rampura","Ranvindra Nagar Cross","Ravagodlu Cross","Ravindra Nagar","Ravuthanahalli Cross","Rayara Doddi Cross","Razakpalya","Red Danish Farm","Rehamth Nagara","Rjn 1st Block","Rjneph On Chord Road","Rjr. Industrial Estate","R.K. Hegadenagar Cross","R.K.Hegde Nagar","R M Guttahalli","Rmv 2nd Stage","Rock (Colony)","R.T.Nagara","R.T.Nagar Police Station","R.V.College","R.V.Engineering College","Sacred Heart Church","Sadahalli","Sadahalli Cross","Sadahalli Gate","Sadananda Nagara","Sadanandanagara 4th Main Water Tank","Sadananda Nagara Water Tank","Sadashivanagar Police Staion","Sadashivnagar Bashyam Circle","Sadashivnagar P.Stn.","Sahakaranagar Bus Station","Sahakaranagar Cross","Sahakaranagar Post Office","Sai Garden","Sakalawara","Samandur","Samethnahalli","Sampige Nagar","Sanjeevini Nagar","Saraswathi Nagara (Bapuji Layout)","Sarjapura","Sarswathinagar Cross","Sarswathingara","Sathanoor","Sathya Sai Baba Hospital","Sathyasai Hospital","Savanadurga","Sdn Police Station \/ Cpri Gate","Seegehalli","Seegehalli Cross","Seenivagilu","Seetanahalli Cross","Seethakempanahalli","Seetharama B.Palya","Settarahalli Cross","Sevanayakana Doddi","Shakthi Resorts","Shampura","Shani Mahatma Temple","Shankar Nagara","Shankarnag Bus Stand","Shankarnag Nagara Bus Station","Shanthi Layout","Shanthinagar","Shanthinagar Bus Terminus","Shanthinikethan Layout","Shanthipura","Shanthi Talkies","Shanubhoganahalli Gate","Shanuboganahalli","Shanumangala","Sharavathi Hotel","Shastri Palya","Shathinagar Bus Station","Sheshadri Nagara","Sheshadripuram Police Station","Sheshadripuram P.S.","Sheshagiripura","Shetty Gowdana Doddi","Shikaripalya Cross","Shiva Ittege Factory","Shivajinagar","Shivajingar Bus Station","Shivanagar","Shivanahalli (Esi)","Shivananda Stores","Shivanapalya","Shivanapalya(Jnanabharathi Bda Layout)","Shivanapura","Shivanapura Cross","Shivanapura Gate","Shivasandra","Shripathihalli","Siddabhovi Palya","Siddaganga College","Siddaganga High School","Siddaganga School","Siddana Hosahalli","Sidedahalli","Siluvepura","Singahalli","Singanayakanahalli","Singena Agrahara","Singena Agrahara Cross","Singena Agrahara Cross Fruit Market","Sipayanahalli Cross","Soladevanahalli Keb Office","Soladevanahalli Police Station","Sollepura","Somalapura","Somashettahalli","Somasundar Palya","Somathahalli Gate","Sompura Gate","Sonnadevanahalli Cross","Sonnahallipura","Sonnenahalli","Sonnenahalli Cross","Sonnenahalli Hospital","Soolivara Cross","Soppahalli","Sora Hunise","Sothegowdanahalli","Soudhamini Kalyana Mantapa","Soukya Hospital","South City Gate","Sports Authority Of India","Sreeramanahalli Cross","Sri Bigini Restaurant","Srigandhada Kaval","Srigandhada Kaval D'Group Employees Layout","Srinagara Bus Station","Srinidhi Layout (Maruthi School)","Srinigara","Srinivasanagar","Srinivasa Nagar (Boda Bande Anjaneya Temple)","Srinivasapura Cross","Srirama Nagara","Sri Rama Temple","Srirampura","Srirampura Bashyam Nagara","Sri Venkateshwaranagar Layout 4th Cross","Srividya Nagar (Bsk 3rd Stage 2nd Phase)","Grafait India","S.R.Puram Gandhi School","State Bank Of India","St.Mary'S School","Subbaiahnapalya","Subbarayappanapalya Cross","Sudduguntepalya Cross","Sugganahalli","Sulakunte Dinne","Sulibele","Suliwara","Sultanpalya","Sultanpalya Cross","Sunshine Children School","Sunshine School","Suradenapura","Suradenapura Cross","Suradevapura Cross","Suraga Jakkanahalli","Suryodaya Mill","Swatantrayodara Nagara","Talaguppe","Talegere","Tambuchettypalya","Tankbund","Tarabanahalli Cross","Tarabanahallli","Tarahunise","Tataguni","Tata Nagar","Tattanur","Tattekere","Taverekere","Taxi Stand","T.Dasarahalli","Teachers Colony","Telecom Colony","Telecom Layout","Telecom Layout 3rd Cross","Tele Communication Layout","Temple","Temple Main Gate","Thagachakuppe","Thammanayakanhalli","Thammenahalli","Thammenahalli Palya","Thanisandra","Thaniyur","Tharabanahalli","Tharalu","Tharalu Estate","Thathguni","Thathanuru","Thattaguppe","Thattanahalli","Thigalara Chowdenahalli","Thigalarapalya","Thimmabhovipalya","Thimmaiah Garden","Thimmappanapalya","Thimmasandra Cross","Thimmegowdana Doddi","Thindlu","Thindlu Cross","Thindlu Gate","Thippagondanahalli","Thippagondanahalli Cross","Thippagondanahalli Quarters","Thippasandra","Thippasandra Cross","Thippenahalli","Thippenahalli Anjaneya Temple","Thippur","Thirmagondanahalli Gate","Thirumagondahalli Cross","Thirumalapura","Thirumashettyhalli Cross","Thirumenahalli","Thirumenahalli Cross","Thirupalya","Thiruva Ranga","Thittahalli","Thogur Cross","Thokathimmana Doddi","Thokathimmana Doddi Cross","Thonachaguppe","Thoredoddi","Thore Nagasandra","Thotada Guddahalli","Thotagere Temple","Thunganagara","Thyagadahalli","Thyagarajanagara","Thyagarajanagara Bsk 2nd Stage","Thyamagondlu","Timberyard Layout","Tollgate","Tulasipura","Tulip Resorts","Udaya Nagara","Udayanapalya","Uddandanahalli","Uganawadi","Ullalu","Ullalu Satellite Town","Upkar Residency Layout","Uragana Doddi","Uttanahalli","Uttanahalli Colony (Akkayammana Betta)","Uttanahalli Cross","Uttanahalli Janatha Colony","Vabasandra","Vabasandra Cross","Vaddarahalli","Vaddarpalya","Vaderahallli","Vadera Manchenahalli","Vagata","Vajragiri Estate","Vajrakatte Palya","Vajramuneshwara Temple","Valagere Kallahalli","Valagere Kallahalli Cross","Valepura","Valepura Cross","Vapsandra","Varadenahalli Hand Post","Varanasi","Varthur High School","Vartur","Vartur Kodi","Vasanthanagara Csi","Vasanthanagara Temple","Vasanthapura Co-Operative Society","Vasanthapura Co-Op.Society","Vasanthnagar","Veerabhadranagara","Veerabhadranagara Cross","Veeranjanapura","Veeranjaneya Temple","Veerannanapalya","Veeranna Palya Gate","Veerasagara","Veeregowdana Doddi","Venkateshwara Nagara","Venkateshwara Nagar Cross","Veternary Hospital","Vibhuthipura Samudaya Bhavan","Vidhana Soudha Layout","Vidyanagara Cross","Vidyanagara","Vidyaniketan Public School","Vidyaranyapura Cross","Vidya Sagar","Vignan Nagara","Vigneshwaranagara","Vijanagara","Vijaya Bank Apartment","Vijaya Bank Colony","Vijaya College","Vijaya Enclave Appartment","Vijayanagar","Vijayanagara Income Tax Layout","Vijayanagara Maruthi Mandira","Vijaya Rice Mill","Vijinapura Cross","Vinayak Nagar","Vinayaka Talkies Mysore Road","Viratnagara","Vishveshwaraiah College","Vishveshwaraiah Enclave","Vishwanatha Nagenahali","Vishwanathapura","Vivekanandanagara","Viveknagar","Viveknagara Cross","Vrl Office","Vydehi Institute Of Medical Research Hospital","Vydehi Medical Hospital","Vydehi Medical Science And Reserch Hospital","Water Tank","Whitefield Post Office","White Field Railway Station","Wilson Garden 7th Cross","Wilson Garden Police Station","Yadagondanahalli","Yadalu","Yadavanahalli Gate","Yalagunte","Yamalur Cross","Yamare","Yaranadhalli","Yarappana Bande","Yarappanahalli Bande","Yedavanahalli Cross","Yelachaguppe","Yelachanakuppe","Yelachenahalli","Yelahanka Nes Office","Yelahanka New Town 5th Phase","Yelahanka Santhe","Yelahanka Satellite Town 4th Phase","Yelahanka Satellite Town 5th Phase","Yelahanka Satllite Town","Yele Kodigehalli","Yelenahalli","Yellammana Doddi","Yellappa Reddy House","Yellukunte Mangammanapalya","Yemalur","Yeshawanthapura Railway Station (On Tmk Road)","Yeshwanthapura Bus Stn","Yeshwanthpur","Yeshwanthpura Railway Station","Yeshwanthpur Circle","Yeshwanthpur Regulated Market","Yeshwantpur Toll Gate","Yettukodi","Yhk Satellite Town","Ymca Nandidurga Road","Yogeshwara Nagara","\u00a0Banashankari","\u00a0Jayanagara 5th Block","\u00a0Jayanagara 9th Block East","\u00a0Jeevanahalli","\u00a0Jn.Of Chord Road Bcc Layout Cross","\u00a0Krishnananda Nagara","\u00a0Kuvempunagara (Btm Lay Out)","Agara","Agrahara Cross","Alur Palya","Ambedkar Bhavan","Andrahalli Vidyamanya Nagara","Annapurneshwari Nagara Cross","Arabic College","Arakere Gate","Anugondanahalli","Arehalli","Audugodi Check Post","Avverahalli","Ayyappanagar Muneshwara Temple","Avinash Petrol Bunk","Bagalagunte","Balagangadharanatha Swamy Health City","Banasawadi","Bande Bommasandra Cross","Bangalore University Cross","Mayasandra(Mysore Road)","Laxmipura(Mysore Road)","Gollahalli(Tavarakere)","Chikkanahalli(M.Road)","Cholanaikanahalli","kaggalahalli","Agara.kan","Mariyappana Palya.Ring Road","Kenchanapura.Magadi","Gollarahatti.Magadi","Peddanpalya.Magdi","Gankal.Magadi","Varthur.M","Mallasandra.M","Anchepalya.Tumakur","Achyuthanagara.Hesarghatta","Rajankunte","Linganahalli.Rajankunte","Guddhalli.Hesarghatta","Gopalpura.Hesarghatta","Kodipalya.Hesaghatta","Kodihalli.hesarghtta ","Kempapura.hesarghatta","Betthankere.thumkur Road","Govindh Pura.Thumkur","Binnamanagala.Nelamangala","Mahadev Pura.kunigal","Hunnigere.Kunigal","Chikkanahalli.Madhure Road","Kannamangala.Tumkur","ByrasandRa.Tumkur","Tavarakere.B.T.M","Kadhirenahalli.Tumkur","Laximipura.HGV","Koli Form. HGV","Vinayaka Nagara.Hgv","Alisda.tumkur","Maruthinagar.Blry Rd","Agrahara Layout.Yhk","Adoor.Blyr","Rampura.hsk","Kothnur.Bgr","Geddalahalli.bgr","Kyalasanahalli.bgr","Marenahalli.bgr","Chokkanahalli.bgr","Mailnahalli.bgr","Begur.Blyr","Gollarahalli.ect","Huskur.Ect","Laximisagara.Ect","Somanahalli.Ect","Hosahalli.Ect","Madapatna.Jegani","Mayasanadra.CPR","Attibele.HSR","Manchenahalli.Attibele","Arehalli.ATB","Chikkanahalli.ATB","Narsapura.ATB","Dasanpura.ATB","Siddapura.Varthur","Ashwath Nagara.Mrh","Kudhrgere.Bgr","Narayanpura.Blyr","Puttenahalli.dbp","Thimmasandra.DBP","Harohalli.DBP","Gantaganahalli.DBP","Ramgondanahalli.DBP","Basavanpura.DBP","Marasandra.DBP","Sonnenahalli.DBP","Dasarahalli.JKR","Amruthnagar.yhk","Thindlu.JKR","Kodigehalli.Yhk","Gopalpura.Bgr","Kammasandra.BGR","Avalahallli.HSK","Mylanhalli.BGR","Thimmanahalli.BGR","Shrirampura.YHK","Yarappanahalli.BGR","Hegganahalli.DVH","Jn.of Ring Road (Ram murthi)","Devasandra.KRP","Kodigehalli.KRP","Channnasandra.KRP","Channasandra.WFR","Basavanahalli.KRP","Kodihalli.WFR","Handhenahalli.WFR","Thindlu.WFR","HOsahalli.WFR","Tarabanahalli.WFR","Medhalli.WFR","Marasandra.WFR","Shrinivaspura Cross.HSk","A Narayanpura.KRP","Maragonadanahalli.KRP","Basavanagar.RMN","Seegehalli.KRP","Thirumanahalli Cross.HSK","Huskur.HSK","Handhenahalli.KRP","Kannnamangala.HSK","Sonnenahalli.HSK","Kurubarahalli.HSK","Begur.HSK","Govindhpura.HSK","Kannmangala. Cross.HSK","Seegehalli.KDG","Dinnnur.KGB","Harohalli.KGB","Muthugadahalli.WFR","Thipppasandra.WFR","Kathriguppe.WFR","Vijaynagar.WFR","Ayyappa Temple.KRP","Sompura.SJR","Madappanahalli.WFR","Kottur.WFR","Nagasandra.HAL","Thindlu.SJR","Gundur.SJR","Thindlu Cross.SJR","Kammasandra.SJR","Medhalli.ATB","Vaddarapalya.Jegani","Kalkere.BNG","Y.T.Hospitol.BNP","Konasandra.BNP","Ramasandra.BNP","Laximipura.GNP","Adur.BNP","Chikknahalli.BNP","Kumbarahalli.BNP","Siddanpalya.BNP","Shrinivaspura.KGR","Harlur.HSK","Harlur CRoss.HSK","Solur.HSK","Kamblipura.HSK","Vabsandra.HSK","Shivanpura.HSK","Chikkanahalli.HSK","Kempalinganpura.HSK","Thavarakere.HSK","Anchipura.MYR","Marenahalli.VJN","Gangondanahalli.VJN","Binnypete","Kaverinagara.RJN","KHB Colony.MYs","Lakshmi Sagara.MYS","Anchupura.Cross.MYR","Sompura.Kanak","Mallathhalli.MYR","Byrmangala Cross.MYR","Hosahalli.MYR","Gonipura.MYR","Mallathalli.Bidadhi","GAnkal.Bidadhi","Anjana Nagara.MGD","Gollarpalya.MGd","Maragondanahalli.MGD","Giddenahalli.MGD","Hosapalya.MYR","Rampura.MGD","Kaggalhalli.MGD","Gollahalli.MGD","Marenahalli.MGD","Gollahalli.KAN","Allalsandra.KAN","Avalahalli.KAN","Ganpathipura.KAN","Thavarakere.BDC","Arakere.HSG"];


AJS={BASE_URL:"",drag_obj:null,drag_elm:null,_drop_zones:[],_cur_pos:null,getScrollTop:function(){
var t;
if(document.documentElement&&document.documentElement.scrollTop){
t=document.documentElement.scrollTop;
}else{
if(document.body){
t=document.body.scrollTop;
}
}
return t;
},addClass:function(){
var _2=AJS.forceArray(arguments);
var _3=_2.pop();
var _4=function(o){
if(!new RegExp("(^|\\s)"+_3+"(\\s|$)").test(o.className)){
o.className+=(o.className?" ":"")+_3;
}
};
AJS.map(_2,function(_6){
_4(_6);
});
},setStyle:function(){
var _7=AJS.forceArray(arguments);
var _8=_7.pop();
var _9=_7.pop();
AJS.map(_7,function(_a){
_a.style[_9]=AJS.getCssDim(_8);
});
},extend:function(_b){
var _c=new this("no_init");
for(k in _b){
var _d=_c[k];
var _e=_b[k];
if(_d&&_d!=_e&&typeof _e=="function"){
_e=this._parentize(_e,_d);
}
_c[k]=_e;
}
return new AJS.Class(_c);
},log:function(o){
if(window.console){
console.log(o);
}else{
var div=AJS.$("ajs_logger");
if(!div){
div=AJS.DIV({id:"ajs_logger","style":"color: green; position: absolute; left: 0"});
div.style.top=AJS.getScrollTop()+"px";
AJS.ACN(AJS.getBody(),div);
}
AJS.setHTML(div,""+o);
}
},setHeight:function(){
var _11=AJS.forceArray(arguments);
_11.splice(_11.length-1,0,"height");
AJS.setStyle.apply(null,_11);
},_getRealScope:function(fn,_13){
_13=AJS.$A(_13);
var _14=fn._cscope||window;
return function(){
var _15=AJS.$FA(arguments).concat(_13);
return fn.apply(_14,_15);
};
},documentInsert:function(elm){
if(typeof (elm)=="string"){
elm=AJS.HTML2DOM(elm);
}
document.write("<span id=\"dummy_holder\"></span>");
AJS.swapDOM(AJS.$("dummy_holder"),elm);
},getWindowSize:function(doc){
doc=doc||document;
var _18,_19;
if(self.innerHeight){
_18=self.innerWidth;
_19=self.innerHeight;
}else{
if(doc.documentElement&&doc.documentElement.clientHeight){
_18=doc.documentElement.clientWidth;
_19=doc.documentElement.clientHeight;
}else{
if(doc.body){
_18=doc.body.clientWidth;
_19=doc.body.clientHeight;
}
}
}
return {"w":_18,"h":_19};
},flattenList:function(_1a){
var r=[];
var _1c=function(r,l){
AJS.map(l,function(o){
if(o==null){
}else{
if(AJS.isArray(o)){
_1c(r,o);
}else{
r.push(o);
}
}
});
};
_1c(r,_1a);
return r;
},isFunction:function(obj){
return (typeof obj=="function");
},setEventKey:function(e){
e.key=e.keyCode?e.keyCode:e.charCode;
if(window.event){
e.ctrl=window.event.ctrlKey;
e.shift=window.event.shiftKey;
}else{
e.ctrl=e.ctrlKey;
e.shift=e.shiftKey;
}
switch(e.key){
case 63232:
e.key=38;
break;
case 63233:
e.key=40;
break;
case 63235:
e.key=39;
break;
case 63234:
e.key=37;
break;
}
},removeElement:function(){
var _22=AJS.forceArray(arguments);
AJS.map(_22,function(elm){
AJS.swapDOM(elm,null);
});
},_unloadListeners:function(){
if(AJS.listeners){
AJS.map(AJS.listeners,function(elm,_25,fn){
AJS.REV(elm,_25,fn);
});
}
AJS.listeners=[];
},join:function(_27,_28){
try{
return _28.join(_27);
}
catch(e){
var r=_28[0]||"";
AJS.map(_28,function(elm){
r+=_27+elm;
},1);
return r+"";
}
},getIndex:function(elm,_2c,_2d){
for(var i=0;i<_2c.length;i++){
if(_2d&&_2d(_2c[i])||elm==_2c[i]){
return i;
}
}
return -1;
},isIn:function(elm,_30){
var i=AJS.getIndex(elm,_30);
if(i!=-1){
return true;
}else{
return false;
}
},isArray:function(obj){
return obj instanceof Array;
},setLeft:function(){
var _33=AJS.forceArray(arguments);
_33.splice(_33.length-1,0,"left");
AJS.setStyle.apply(null,_33);
},appendChildNodes:function(elm){
if(arguments.length>=2){
AJS.map(arguments,function(n){
if(AJS.isString(n)){
n=AJS.TN(n);
}
if(AJS.isDefined(n)){
elm.appendChild(n);
}
},1);
}
return elm;
},getElementsByTagAndClassName:function(_36,_37,_38,_39){
var _3a=[];
if(!AJS.isDefined(_38)){
_38=document;
}
if(!AJS.isDefined(_36)){
_36="*";
}
var els=_38.getElementsByTagName(_36);
var _3c=els.length;
var _3d=new RegExp("(^|\\s)"+_37+"(\\s|$)");
for(i=0,j=0;i<_3c;i++){
if(_3d.test(els[i].className)||_37==null){
_3a[j]=els[i];
j++;
}
}
if(_39){
return _3a[0];
}else{
return _3a;
}
},isOpera:function(){
return (navigator.userAgent.toLowerCase().indexOf("opera")!=-1);
},isString:function(obj){
return (typeof obj=="string");
},hideElement:function(elm){
var _40=AJS.forceArray(arguments);
AJS.map(_40,function(elm){
elm.style.display="none";
});
},setOpacity:function(elm,p){
elm.style.opacity=p;
elm.style.filter="alpha(opacity="+p*100+")";
},insertBefore:function(elm,_45){
_45.parentNode.insertBefore(elm,_45);
return elm;
},setWidth:function(){
var _46=AJS.forceArray(arguments);
_46.splice(_46.length-1,0,"width");
AJS.setStyle.apply(null,_46);
},createArray:function(v){
if(AJS.isArray(v)&&!AJS.isString(v)){
return v;
}else{
if(!v){
return [];
}else{
return [v];
}
}
},isDict:function(o){
var _49=String(o);
return _49.indexOf(" Object")!=-1;
},isMozilla:function(){
return (navigator.userAgent.toLowerCase().indexOf("gecko")!=-1&&navigator.productSub>=20030210);
},removeEventListener:function(elm,_4b,fn,_4d){
var _4e="ajsl_"+_4b+fn;
if(!_4d){
_4d=false;
}
fn=elm[_4e]||fn;
if(elm["on"+_4b]==fn){
elm["on"+_4b]=elm[_4e+"old"];
}
if(elm.removeEventListener){
elm.removeEventListener(_4b,fn,_4d);
if(AJS.isOpera()){
elm.removeEventListener(_4b,fn,!_4d);
}
}else{
if(elm.detachEvent){
elm.detachEvent("on"+_4b,fn);
}
}
},callLater:function(fn,_50){
var _51=function(){
fn();
};
window.setTimeout(_51,_50);
},setTop:function(){
var _52=AJS.forceArray(arguments);
_52.splice(_52.length-1,0,"top");
AJS.setStyle.apply(null,_52);
},_createDomShortcuts:function(){
var _53=["ul","li","td","tr","th","tbody","table","input","span","b","a","div","img","button","h1","h2","h3","h4","h5","h6","br","textarea","form","p","select","option","optgroup","iframe","script","center","dl","dt","dd","small","pre","i"];
var _54=function(elm){
AJS[elm.toUpperCase()]=function(){
return AJS.createDOM.apply(null,[elm,arguments]);
};
};
AJS.map(_53,_54);
AJS.TN=function(_56){
return document.createTextNode(_56);
};
},addCallback:function(fn){
this.callbacks.unshift(fn);
},bindMethods:function(_58){
for(var k in _58){
var _5a=_58[k];
if(typeof (_5a)=="function"){
_58[k]=AJS.$b(_5a,_58);
}
}
},partial:function(fn){
var _5c=AJS.$FA(arguments);
_5c.shift();
return function(){
_5c=_5c.concat(AJS.$FA(arguments));
return fn.apply(window,_5c);
};
},isNumber:function(obj){
return (typeof obj=="number");
},getCssDim:function(dim){
if(AJS.isString(dim)){
return dim;
}else{
return dim+"px";
}
},isIe:function(){
return (navigator.userAgent.toLowerCase().indexOf("msie")!=-1&&navigator.userAgent.toLowerCase().indexOf("opera")==-1);
},removeClass:function(){
var _5f=AJS.forceArray(arguments);
var cls=_5f.pop();
var _61=function(o){
o.className=o.className.replace(new RegExp("\\s?"+cls,"g"),"");
};
AJS.map(_5f,function(elm){
_61(elm);
});
},setHTML:function(elm,_65){
elm.innerHTML=_65;
return elm;
},map:function(_66,fn,_68,_69){
var i=0,l=_66.length;
if(_68){
i=_68;
}
if(_69){
l=_69;
}
for(i;i<l;i++){
var val=fn(_66[i],i);
if(val!=undefined){
return val;
}
}
},addEventListener:function(elm,_6e,fn,_70,_71){
var _72="ajsl_"+_6e+fn;
if(!_71){
_71=false;
}
AJS.listeners=AJS.$A(AJS.listeners);
if(AJS.isIn(_6e,["keypress","keydown","keyup","click"])){
var _73=fn;
fn=function(e){
AJS.setEventKey(e);
return _73.apply(window,arguments);
};
}
var _75=AJS.isIn(_6e,["submit","load","scroll","resize"]);
var _76=AJS.$A(elm);
AJS.map(_76,function(_77){
if(_70){
var _78=fn;
fn=function(e){
AJS.REV(_77,_6e,fn);
return _78.apply(window,arguments);
};
}
if(_75){
var _7a=_77["on"+_6e];
var _7b=function(){
if(_7a){
fn(arguments);
return _7a(arguments);
}else{
return fn(arguments);
}
};
_77[_72]=_7b;
_77[_72+"old"]=_7a;
elm["on"+_6e]=_7b;
}else{
_77[_72]=fn;
if(_77.attachEvent){
_77.attachEvent("on"+_6e,fn);
}else{
if(_77.addEventListener){
_77.addEventListener(_6e,fn,_71);
}
}
AJS.listeners.push([_77,_6e,fn]);
}
});
},preloadImages:function(){
AJS.AEV(window,"load",AJS.$p(function(_7c){
AJS.map(_7c,function(src){
var pic=new Image();
pic.src=src;
});
},arguments));
},forceArray:function(_7f){
var r=[];
AJS.map(_7f,function(elm){
r.push(elm);
});
return r;
},update:function(l1,l2){
for(var i in l2){
l1[i]=l2[i];
}
return l1;
},getBody:function(){
return AJS.$bytc("body")[0];
},HTML2DOM:function(_85,_86){
var d=AJS.DIV();
d.innerHTML=_85;
if(_86){
return d.childNodes[0];
}else{
return d;
}
},getElement:function(id){
if(AJS.isString(id)||AJS.isNumber(id)){
return document.getElementById(id);
}else{
return id;
}
},showElement:function(){
var _89=AJS.forceArray(arguments);
AJS.map(_89,function(elm){
elm.style.display="";
});
},bind:function(fn,_8c,_8d){
fn._cscope=_8c;
return AJS._getRealScope(fn,_8d);
},createDOM:function(_8e,_8f){
var i=0,_91;
var elm=document.createElement(_8e);
var _93=_8f[0];
if(AJS.isDict(_8f[i])){
for(k in _93){
_91=_93[k];
if(k=="style"||k=="s"){
elm.style.cssText=_91;
}else{
if(k=="c"||k=="class"||k=="className"){
elm.className=_91;
}else{
elm.setAttribute(k,_91);
}
}
}
i++;
}
if(_93==null){
i=1;
}
for(var j=i;j<_8f.length;j++){
var _91=_8f[j];
if(_91){
var _95=typeof (_91);
if(_95=="string"||_95=="number"){
_91=AJS.TN(_91);
}
elm.appendChild(_91);
}
}
return elm;
},swapDOM:function(_96,src){
_96=AJS.getElement(_96);
var _98=_96.parentNode;
if(src){
src=AJS.getElement(src);
_98.replaceChild(src,_96);
}else{
_98.removeChild(_96);
}
return src;
},isDefined:function(o){
return (o!="undefined"&&o!=null);
}};
AJS.$=AJS.getElement;
AJS.$$=AJS.getElements;
AJS.$f=AJS.getFormElement;
AJS.$p=AJS.partial;
AJS.$b=AJS.bind;
AJS.$A=AJS.createArray;
AJS.DI=AJS.documentInsert;
AJS.ACN=AJS.appendChildNodes;
AJS.RCN=AJS.replaceChildNodes;
AJS.AEV=AJS.addEventListener;
AJS.REV=AJS.removeEventListener;
AJS.$bytc=AJS.getElementsByTagAndClassName;
AJS.$AP=AJS.absolutePosition;
AJS.$FA=AJS.forceArray;
AJS.addEventListener(window,"unload",AJS._unloadListeners);
AJS._createDomShortcuts();
AJS.Class=function(_9a){
var fn=function(){
if(arguments[0]!="no_init"){
return this.init.apply(this,arguments);
}
};
fn.prototype=_9a;
AJS.update(fn,AJS.Class.prototype);
return fn;
};
AJS.Class.prototype={extend:function(_9c){
var _9d=new this("no_init");
for(k in _9c){
var _9e=_9d[k];
var cur=_9c[k];
if(_9e&&_9e!=cur&&typeof cur=="function"){
cur=this._parentize(cur,_9e);
}
_9d[k]=cur;
}
return new AJS.Class(_9d);
},implement:function(_a0){
AJS.update(this.prototype,_a0);
},_parentize:function(cur,_a2){
return function(){
this.parent=_a2;
return cur.apply(this,arguments);
};
}};
script_loaded=true;


script_loaded=true;

AJS.fx={_shades:{0:"ffffff",1:"ffffee",2:"ffffdd",3:"ffffcc",4:"ffffbb",5:"ffffaa",6:"ffff99"},highlight:function(_1,_2){
var _3=new AJS.fx.Base();
_3.elm=AJS.$(_1);
_3.options.duration=600;
_3.setOptions(_2);
AJS.update(_3,{increase:function(){
if(this.now==7){
_1.style.backgroundColor="#fff";
}else{
_1.style.backgroundColor="#"+AJS.fx._shades[Math.floor(this.now)];
}
}});
return _3.custom(6,0);
},fadeIn:function(_4,_5){
_5=_5||{};
if(!_5.from){
_5.from=0;
AJS.setOpacity(_4,0);
}
if(!_5.to){
_5.to=1;
}
var s=new AJS.fx.Style(_4,"opacity",_5);
return s.custom(_5.from,_5.to);
},fadeOut:function(_7,_8){
_8=_8||{};
if(!_8.from){
_8.from=1;
}
if(!_8.to){
_8.to=0;
}
_8.duration=300;
var s=new AJS.fx.Style(_7,"opacity",_8);
return s.custom(_8.from,_8.to);
},setWidth:function(_a,_b){
var s=new AJS.fx.Style(_a,"width",_b);
return s.custom(_b.from,_b.to);
},setHeight:function(_d,_e){
var s=new AJS.fx.Style(_d,"height",_e);
return s.custom(_e.from,_e.to);
}};
AJS.fx.Base=new AJS.Class({init:function(_10){
this.options={onStart:function(){
},onComplete:function(){
},transition:AJS.fx.Transitions.sineInOut,duration:500,wait:true,fps:50};
AJS.update(this.options,_10);
AJS.bindMethods(this);
},setOptions:function(_11){
AJS.update(this.options,_11);
},step:function(){
var _12=new Date().getTime();
if(_12<this.time+this.options.duration){
this.cTime=_12-this.time;
this.setNow();
}else{
setTimeout(AJS.$b(this.options.onComplete,this,[this.elm]),10);
this.clearTimer();
this.now=this.to;
}
this.increase();
},setNow:function(){
this.now=this.compute(this.from,this.to);
},compute:function(_13,to){
var _15=to-_13;
return this.options.transition(this.cTime,_13,_15,this.options.duration);
},clearTimer:function(){
clearInterval(this.timer);
this.timer=null;
return this;
},_start:function(_16,to){
if(!this.options.wait){
this.clearTimer();
}
if(this.timer){
return;
}
setTimeout(AJS.$p(this.options.onStart,this.elm),10);
this.from=_16;
this.to=to;
this.time=new Date().getTime();
this.timer=setInterval(this.step,Math.round(1000/this.options.fps));
return this;
},custom:function(_18,to){
return this._start(_18,to);
},set:function(to){
this.now=to;
this.increase();
return this;
},setStyle:function(elm,_1c,val){
if(this.property=="opacity"){
AJS.setOpacity(elm,val);
}else{
AJS.setStyle(elm,_1c,val);
}
}});
AJS.fx.Style=AJS.fx.Base.extend({init:function(elm,_1f,_20){
this.parent();
this.elm=elm;
this.setOptions(_20);
this.property=_1f;
},increase:function(){
this.setStyle(this.elm,this.property,this.now);
}});
AJS.fx.Styles=AJS.fx.Base.extend({init:function(elm,_22){
this.parent();
this.elm=AJS.$(elm);
this.setOptions(_22);
this.now={};
},setNow:function(){
for(p in this.from){
this.now[p]=this.compute(this.from[p],this.to[p]);
}
},custom:function(obj){
if(this.timer&&this.options.wait){
return;
}
var _24={};
var to={};
for(p in obj){
_24[p]=obj[p][0];
to[p]=obj[p][1];
}
return this._start(_24,to);
},increase:function(){
for(var p in this.now){
this.setStyle(this.elm,p,this.now[p]);
}
}});
AJS.fx.Transitions={linear:function(t,b,c,d){
return c*t/d+b;
},sineInOut:function(t,b,c,d){
return -c/2*(Math.cos(Math.PI*t/d)-1)+b;
}};
script_loaded=true;


script_loaded=true;

var GB_CURRENT=null;
GB_hide=function(cb){
GB_CURRENT.hide(cb);
};
GreyBox=new AJS.Class({init:function(_2){
this.use_fx=AJS.fx;
this.type="page";
this.overlay_click_close=false;
this.salt=0;
this.root_dir=GB_ROOT_DIR;
this.callback_fns=[];
this.reload_on_close=false;
this.src_loader=this.root_dir+"loader_frame.html";
var _3=window.location.hostname.indexOf("www");
var _4=this.src_loader.indexOf("www");
if(_3!=-1&&_4==-1){
this.src_loader=this.src_loader.replace("://","://www.");
}
if(_3==-1&&_4!=-1){
this.src_loader=this.src_loader.replace("://www.","://");
}
this.show_loading=true;
AJS.update(this,_2);
},addCallback:function(fn){
if(fn){
this.callback_fns.push(fn);
}
},show:function(_6){
GB_CURRENT=this;
this.url=_6;
var _7=[AJS.$bytc("object"),AJS.$bytc("select")];
AJS.map(AJS.flattenList(_7),function(_8){
_8.style.visibility="hidden";
});
this.createElements();
return false;
},hide:function(cb){
var me=this;
AJS.callLater(function(){
var _b=me.callback_fns;
if(_b!=[]){
AJS.map(_b,function(fn){
fn();
});
}
me.onHide();
if(me.use_fx){
var _d=me.overlay;
AJS.fx.fadeOut(me.overlay,{onComplete:function(){
AJS.removeElement(_d);
_d=null;
},duration:300});
AJS.removeElement(me.g_window);
}else{
AJS.removeElement(me.g_window,me.overlay);
}
me.removeFrame();
AJS.REV(window,"scroll",_GB_setOverlayDimension);
AJS.REV(window,"resize",_GB_update);
var _e=[AJS.$bytc("object"),AJS.$bytc("select")];
AJS.map(AJS.flattenList(_e),function(_f){
_f.style.visibility="visible";
});
GB_CURRENT=null;
if(me.reload_on_close){
window.location.reload();
}
if(AJS.isFunction(cb)){
cb();
}
},10);
},update:function(){
this.setOverlayDimension();
this.setFrameSize();
this.setWindowPosition();
},createElements:function(){
this.initOverlay();
this.g_window=AJS.DIV({"id":"GB_window"});
AJS.hideElement(this.g_window);
AJS.getBody().insertBefore(this.g_window,this.overlay.nextSibling);
this.initFrame();
this.initHook();
this.update();
var me=this;
if(this.use_fx){
AJS.fx.fadeIn(this.overlay,{duration:300,to:0.7,onComplete:function(){
me.onShow();
AJS.showElement(me.g_window);
me.startLoading();
}});
}else{
AJS.setOpacity(this.overlay,0.7);
AJS.showElement(this.g_window);
this.onShow();
this.startLoading();
}
AJS.AEV(window,"scroll",_GB_setOverlayDimension);
AJS.AEV(window,"resize",_GB_update);
},removeFrame:function(){
try{
AJS.removeElement(this.iframe);
}
catch(e){
}
this.iframe=null;
},startLoading:function(){
this.iframe.src=this.src_loader+"?s="+this.salt++;
AJS.showElement(this.iframe);
},setOverlayDimension:function(){
var _11=AJS.getWindowSize();
if(AJS.isMozilla()||AJS.isOpera()){
AJS.setWidth(this.overlay,"100%");
}else{
AJS.setWidth(this.overlay,_11.w);
}
var _12=Math.max(AJS.getScrollTop()+_11.h,AJS.getScrollTop()+this.height);
if(_12<AJS.getScrollTop()){
AJS.setHeight(this.overlay,_12);
}else{
AJS.setHeight(this.overlay,AJS.getScrollTop()+_11.h);
}
},initOverlay:function(){
this.overlay=AJS.DIV({"id":"GB_overlay"});
if(this.overlay_click_close){
AJS.AEV(this.overlay,"click",GB_hide);
}
AJS.setOpacity(this.overlay,0);
AJS.getBody().insertBefore(this.overlay,AJS.getBody().firstChild);
},initFrame:function(){
if(!this.iframe){
var d={"name":"GB_frame","class":"GB_frame","frameBorder":0};
if(AJS.isIe()){
d.src="javascript:false;document.write(\"\");";
}
this.iframe=AJS.IFRAME(d);
this.middle_cnt=AJS.DIV({"class":"content"},this.iframe);
this.top_cnt=AJS.DIV();
this.bottom_cnt=AJS.DIV();
AJS.ACN(this.g_window,this.top_cnt,this.middle_cnt,this.bottom_cnt);
}
},onHide:function(){
},onShow:function(){
},setFrameSize:function(){
},setWindowPosition:function(){
},initHook:function(){
}});
_GB_update=function(){
if(GB_CURRENT){
GB_CURRENT.update();
}
};
_GB_setOverlayDimension=function(){
if(GB_CURRENT){
GB_CURRENT.setOverlayDimension();
}
};
AJS.preloadImages(GB_ROOT_DIR+"indicator.gif");
script_loaded=true;
var GB_SETS={};
function decoGreyboxLinks(){
var as=AJS.$bytc("a");
AJS.map(as,function(a){
if(a.getAttribute("href")&&a.getAttribute("rel")){
var rel=a.getAttribute("rel");
if(rel.indexOf("gb_")==0){
var _17=rel.match(/\w+/)[0];
var _18=rel.match(/\[(.*)\]/)[1];
var _19=0;
var _1a={"caption":a.title||"","url":a.href};
if(_17=="gb_pageset"||_17=="gb_imageset"){
if(!GB_SETS[_18]){
GB_SETS[_18]=[];
}
GB_SETS[_18].push(_1a);
_19=GB_SETS[_18].length;
}
if(_17=="gb_pageset"){
a.onclick=function(){
GB_showFullScreenSet(GB_SETS[_18],_19);
return false;
};
}
if(_17=="gb_imageset"){
a.onclick=function(){
GB_showImageSet(GB_SETS[_18],_19);
return false;
};
}
if(_17=="gb_image"){
a.onclick=function(){
GB_showImage(_1a.caption,_1a.url);
return false;
};
}
if(_17=="gb_page"){
a.onclick=function(){
var sp=_18.split(/, ?/);
GB_show(_1a.caption,_1a.url,parseInt(sp[1]),parseInt(sp[0]));
return false;
};
}
if(_17=="gb_page_fs"){
a.onclick=function(){
GB_showFullScreen(_1a.caption,_1a.url);
return false;
};
}
if(_17=="gb_page_center"){
a.onclick=function(){
var sp=_18.split(/, ?/);
GB_showCenter(_1a.caption,_1a.url,parseInt(sp[1]),parseInt(sp[0]));
return false;
};
}
}
}
});
}
AJS.AEV(window,"load",decoGreyboxLinks);
GB_showImage=function(_1d,url,_1f){
var _20={width:300,height:300,type:"image",fullscreen:false,center_win:true,caption:_1d,callback_fn:_1f};
var win=new GB_Gallery(_20);
return win.show(url);
};
GB_showPage=function(_22,url,_24){
var _25={type:"page",caption:_22,callback_fn:_24,fullscreen:true,center_win:false};
var win=new GB_Gallery(_25);
return win.show(url);
};
GB_Gallery=GreyBox.extend({init:function(_27){
this.parent({});
this.img_close=this.root_dir+"g_close.gif";
AJS.update(this,_27);
this.addCallback(this.callback_fn);
},initHook:function(){
AJS.addClass(this.g_window,"GB_Gallery");
var _28=AJS.DIV({"class":"inner"});
this.header=AJS.DIV({"class":"GB_header"},_28);
AJS.setOpacity(this.header,0);
AJS.getBody().insertBefore(this.header,this.overlay.nextSibling);
var _29=AJS.TD({"id":"GB_caption","class":"caption","width":"40%"},this.caption);
var _2a=AJS.TD({"id":"GB_middle","class":"middle","width":"20%"});
var _2b=AJS.IMG({"src":this.img_close});
AJS.AEV(_2b,"click",GB_hide);
var _2c=AJS.TD({"class":"close","width":"40%"},_2b);
var _2d=AJS.TBODY(AJS.TR(_29,_2a,_2c));
var _2e=AJS.TABLE({"cellspacing":"0","cellpadding":0,"border":0},_2d);
AJS.ACN(_28,_2e);
if(this.fullscreen){
AJS.AEV(window,"scroll",AJS.$b(this.setWindowPosition,this));
}else{
AJS.AEV(window,"scroll",AJS.$b(this._setHeaderPos,this));
}
},setFrameSize:function(){
var _2f=this.overlay.offsetWidth;
var _30=AJS.getWindowSize();
if(this.fullscreen){
this.width=_2f-40;
this.height=_30.h-80;
}
AJS.setWidth(this.iframe,this.width);
AJS.setHeight(this.iframe,this.height);
AJS.setWidth(this.header,_2f);
},_setHeaderPos:function(){
AJS.setTop(this.header,AJS.getScrollTop()+10);
},setWindowPosition:function(){
var _31=this.overlay.offsetWidth;
var _32=AJS.getWindowSize();
AJS.setLeft(this.g_window,((_31-50-this.width)/2));
var _33=AJS.getScrollTop()+55;
if(!this.center_win){
AJS.setTop(this.g_window,_33);
}else{
var fl=((_32.h-this.height)/2)+20+AJS.getScrollTop();
if(fl<0){
fl=0;
}
if(_33>fl){
fl=_33;
}
AJS.setTop(this.g_window,fl);
}
this._setHeaderPos();
},onHide:function(){
AJS.removeElement(this.header);
AJS.removeClass(this.g_window,"GB_Gallery");
},onShow:function(){
if(this.use_fx){
AJS.fx.fadeIn(this.header,{to:1});
}else{
AJS.setOpacity(this.header,1);
}
}});
AJS.preloadImages(GB_ROOT_DIR+"g_close.gif");
GB_showFullScreenSet=function(set,_36,_37){
var _38={type:"page",fullscreen:true,center_win:false};
var _39=new GB_Sets(_38,set);
_39.addCallback(_37);
_39.showSet(_36-1);
return false;
};
GB_showImageSet=function(set,_3b,_3c){
var _3d={type:"image",fullscreen:false,center_win:true,width:300,height:300};
var _3e=new GB_Sets(_3d,set);
_3e.addCallback(_3c);
_3e.showSet(_3b-1);
return false;
};
GB_Sets=GB_Gallery.extend({init:function(_3f,set){
this.parent(_3f);
if(!this.img_next){
this.img_next=this.root_dir+"next.gif";
}
if(!this.img_prev){
this.img_prev=this.root_dir+"prev.gif";
}
this.current_set=set;
},showSet:function(_41){
this.current_index=_41;
var _42=this.current_set[this.current_index];
this.show(_42.url);
this._setCaption(_42.caption);
this.btn_prev=AJS.IMG({"class":"left",src:this.img_prev});
this.btn_next=AJS.IMG({"class":"right",src:this.img_next});
AJS.AEV(this.btn_prev,"click",AJS.$b(this.switchPrev,this));
AJS.AEV(this.btn_next,"click",AJS.$b(this.switchNext,this));
GB_STATUS=AJS.SPAN({"class":"GB_navStatus"});
AJS.ACN(AJS.$("GB_middle"),this.btn_prev,GB_STATUS,this.btn_next);
this.updateStatus();
},updateStatus:function(){
AJS.setHTML(GB_STATUS,(this.current_index+1)+" / "+this.current_set.length);
if(this.current_index==0){
AJS.addClass(this.btn_prev,"disabled");
}else{
AJS.removeClass(this.btn_prev,"disabled");
}
if(this.current_index==this.current_set.length-1){
AJS.addClass(this.btn_next,"disabled");
}else{
AJS.removeClass(this.btn_next,"disabled");
}
},_setCaption:function(_43){
AJS.setHTML(AJS.$("GB_caption"),_43);
},updateFrame:function(){
var _44=this.current_set[this.current_index];
this._setCaption(_44.caption);
this.url=_44.url;
this.startLoading();
},switchPrev:function(){
if(this.current_index!=0){
this.current_index--;
this.updateFrame();
this.updateStatus();
}
},switchNext:function(){
if(this.current_index!=this.current_set.length-1){
this.current_index++;
this.updateFrame();
this.updateStatus();
}
}});
AJS.AEV(window,"load",function(){
AJS.preloadImages(GB_ROOT_DIR+"next.gif",GB_ROOT_DIR+"prev.gif");
});
GB_show=function(_45,url,_47,_48,_49){
var _4a={caption:_45,height:_47||500,width:_48||500,fullscreen:false,callback_fn:_49};
var win=new GB_Window(_4a);
return win.show(url);
};
GB_showCenter=function(_4c,url,_4e,_4f,_50){
var _51={caption:_4c,center_win:true,height:_4e||500,width:_4f||500,fullscreen:false,callback_fn:_50};
var win=new GB_Window(_51);
return win.show(url);
};
GB_showFullScreen=function(_53,url,_55){
var _56={caption:_53,fullscreen:true,callback_fn:_55};
var win=new GB_Window(_56);
return win.show(url);
};
GB_Window=GreyBox.extend({init:function(_58){
this.parent({});
this.img_header=this.root_dir+"header_bg.gif";
this.img_close=this.root_dir+"w_close.gif";
this.show_close_img=true;
AJS.update(this,_58);
this.addCallback(this.callback_fn);
},initHook:function(){
AJS.addClass(this.g_window,"GB_Window");
this.header=AJS.TABLE({"class":"header"});
this.header.style.backgroundImage="url("+this.img_header+")";
var _59=AJS.TD({"class":"caption"},this.caption);
var _5a=AJS.TD({"class":"close"});
if(this.show_close_img){
var _5b=AJS.IMG({"src":this.img_close});
var _5c=AJS.SPAN("Close");
var btn=AJS.DIV(_5b,_5c);
AJS.AEV([_5b,_5c],"mouseover",function(){
AJS.addClass(_5c,"on");
});
AJS.AEV([_5b,_5c],"mouseout",function(){
AJS.removeClass(_5c,"on");
});
AJS.AEV([_5b,_5c],"mousedown",function(){
AJS.addClass(_5c,"click");
});
AJS.AEV([_5b,_5c],"mouseup",function(){
AJS.removeClass(_5c,"click");
});
AJS.AEV([_5b,_5c],"click",GB_hide);
AJS.ACN(_5a,btn);
}
tbody_header=AJS.TBODY();
AJS.ACN(tbody_header,AJS.TR(_59,_5a));
AJS.ACN(this.header,tbody_header);
AJS.ACN(this.top_cnt,this.header);
if(this.fullscreen){
AJS.AEV(window,"scroll",AJS.$b(this.setWindowPosition,this));
}
},setFrameSize:function(){
if(this.fullscreen){
var _5e=AJS.getWindowSize();
overlay_h=_5e.h;
this.width=Math.round(this.overlay.offsetWidth-(this.overlay.offsetWidth/100)*10);
this.height=Math.round(overlay_h-(overlay_h/100)*10);
}
AJS.setWidth(this.header,this.width+6);
AJS.setWidth(this.iframe,this.width);
AJS.setHeight(this.iframe,this.height);
},setWindowPosition:function(){
var _5f=AJS.getWindowSize();
AJS.setLeft(this.g_window,((_5f.w-this.width)/2)-13);
if(!this.center_win){
AJS.setTop(this.g_window,AJS.getScrollTop());
}else{
var fl=((_5f.h-this.height)/2)-20+AJS.getScrollTop();
if(fl<0){
fl=0;
}
AJS.setTop(this.g_window,fl);
}
}});
AJS.preloadImages(GB_ROOT_DIR+"w_close.gif",GB_ROOT_DIR+"header_bg.gif");


script_loaded=true;

// accordion.js v2.0
//
// Copyright (c) 2007 stickmanlabs
// Author: Kevin P Miller | http://www.stickmanlabs.com
// 
// Accordion is freely distributable under the terms of an MIT-style license.
//
// I don't care what you think about the file size...
//   Be a pro: 
//	    http://www.thinkvitamin.com/features/webapps/serving-javascript-fast
//      http://rakaz.nl/item/make_your_pages_load_faster_by_combining_and_compressing_javascript_and_css_files
//

/*-----------------------------------------------------------------------------------------------*/

if (typeof Effect == 'undefined') 
	throw("accordion.js requires including script.aculo.us' effects.js library!");

var accordion = Class.create();
accordion.prototype = {

	//
	//  Setup the Variables
	//
	showAccordion : null,
	currentAccordion : null,
	duration : null,
	effects : [],
	animating : false,
	
	//  
	//  Initialize the accordions
	//
	initialize: function(container, options) {
	  if (!$(container)) {
	    throw(container+" doesn't exist!");
	    return false;
	  }
	  
		this.options = Object.extend({
			resizeSpeed : 8,
			classNames : {
				toggle : 'accordion_toggle',
				toggleActive : 'accordion_toggle_active',
				content : 'accordion_content'
			},
			defaultSize : {
				height : null,
				width : null
			},
			direction : 'vertical',
			onEvent : 'click'
		}, options || {});
		
		this.duration = ((11-this.options.resizeSpeed)*0.15);

		var accordions = $$('#'+container+' .'+this.options.classNames.toggle);
		accordions.each(function(accordion) {
			Event.observe(accordion, this.options.onEvent, this.activate.bind(this, accordion), false);
			if (this.options.onEvent == 'click') {
			  accordion.onclick = function() {return false;};
			}
			
			if (this.options.direction == 'horizontal') {
				var options = $H({width: '0px'});
			} else {
				var options = $H({height: '0px'});			
			}
			options.merge({display: 'none'});			
			
			this.currentAccordion = $(accordion.next(0)).setStyle(options);			
		}.bind(this));
	},
	
	//
	//  Activate an accordion
	//
	activate : function(accordion) {
		if (this.animating) {
			return false;
		}
		
		this.effects = [];
	
		this.currentAccordion = $(accordion.next(0));
		this.currentAccordion.setStyle({
			display: 'block'
		});		
		
		this.currentAccordion.previous(0).addClassName(this.options.classNames.toggleActive);

		if (this.options.direction == 'horizontal') {
			this.scaling = $H({
				scaleX: true,
				scaleY: false
			});
		} else {
			this.scaling = $H({
				scaleX: false,
				scaleY: true
			});			
		}
			
		if (this.currentAccordion == this.showAccordion) {
		  this.deactivate();
		} else {
		  this._handleAccordion();
		}
	},
	// 
	// Deactivate an active accordion
	//
	deactivate : function() {
		var options = $H({
		  duration: this.duration,
			scaleContent: false,
			transition: Effect.Transitions.sinoidal,
			queue: {
				position: 'end', 
				scope: 'accordionAnimation'
			},
			scaleMode: { 
				originalHeight: this.options.defaultSize.height ? this.options.defaultSize.height : this.currentAccordion.scrollHeight,
				originalWidth: this.options.defaultSize.width ? this.options.defaultSize.width : this.currentAccordion.scrollWidth
			},
			afterFinish: function() {
				this.showAccordion.setStyle({
          height: 'auto',
					display: 'none'
				});				
				this.showAccordion = null;
				this.animating = false;
			}.bind(this)
		});    
    options.merge(this.scaling);

    this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);
    
		new Effect.Scale(this.showAccordion, 0, options);
	},

  //
  // Handle the open/close actions of the accordion
  //
	_handleAccordion : function() {
		var options = $H({
			sync: true,
			scaleFrom: 0,
			scaleContent: false,
			transition: Effect.Transitions.sinoidal,
			scaleMode: { 
				originalHeight: this.options.defaultSize.height ? this.options.defaultSize.height : this.currentAccordion.scrollHeight,
				originalWidth: this.options.defaultSize.width ? this.options.defaultSize.width : this.currentAccordion.scrollWidth
			}
		});
		options.merge(this.scaling);
		
		this.effects.push(
			new Effect.Scale(this.currentAccordion, 100, options)
		);

		if (this.showAccordion) {
			this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);
			
			options = $H({
				sync: true,
				scaleContent: false,
				transition: Effect.Transitions.sinoidal
			});
			options.merge(this.scaling);
			
			this.effects.push(
				new Effect.Scale(this.showAccordion, 0, options)
			);				
		}
		
    new Effect.Parallel(this.effects, {
			duration: this.duration, 
			queue: {
				position: 'end', 
				scope: 'accordionAnimation'
			},
			beforeStart: function() {
				this.animating = true;
			}.bind(this),
			afterFinish: function() {
				if (this.showAccordion) {
					this.showAccordion.setStyle({
						display: 'none'
					});				
				}
				$(this.currentAccordion).setStyle({
				  height: 'auto'
				});
				this.showAccordion = this.currentAccordion;
				this.animating = false;
			}.bind(this)
		});
	}
}
	


function resetForm() {
    this.form.reset();    
    Form.getInputs(this.form, 'text').each(function(input) {
        $(input).value = Element.readAttribute($(input), 'default_text');
        $(input).addClassName('faded_text');
    });
    if($('results-div')) { $('results-div').innerHTML = Element.readAttribute($('results-div'), 'default_text'); }
    if($('results-block')) { $('results-block').innerHTML = Element.readAttribute($('results-block'), 'default_text'); }
    clearLayers(["markers"]);
}

function expandAll() {
    blocks = $$('.acc_toggle');
    blocks.each(function(block) {
        if (block.parentNode.id == "accord") { 
            $(block).next(0).show();
        }
        else {
            $(block).next(0).hide();
        }
    });
    $('expand-all').hide();
}

function handle_accordion(block_number, form_type) {
    blocks = $$('.acc_toggle');
    blocks.each(function(block) {
        if(block.parentNode.id == "accord" && block.id != block_number) {
            $(block).next(0).hide();
        }
        else if (block.parentNode.id == "accord" && block.id == block_number) {
            $(block).next(0).show();
            if($('expand-all')) { $('expand-all').show();}
        }
    });
    current_form_id = form_type + "_form";
    forms = $$('.acc_form');
    forms.each(function(form) {
        if(form.id != current_form_id) {
            $(form).hide();
            firstChild = Element.childElements(form)[0];
            if(firstChild && Element.inspect(firstChild) == "<form>") {
                firstChild.reset();
            }
        }
        else {
            $(form).show();
        }
    });
}

function show_form(form_id) {
    if($(form_id)) { $(form_id).show(); }
}

function toggle_accordion(e) {
    block_number = this.id.substring(0,1);
    form_type = this.id.substring(this.id.indexOf('-')+1, this.id.lastIndexOf('_'));
    handle_accordion(block_number, form_type);
    show_form(form_type+"_form");
}

function clear_default() {
    if(this.value == Element.readAttribute(this, 'default_text')) {
        this.value = "";
        Element.removeClassName($(this.id), 'faded_text');
    }
}

function set_default_if_value_empty() {
    if(this.value.length == 0 || this.value == "" || this.value == this.default_text) {
        Element.addClassName($(this), 'faded_text');
        this.value = Element.readAttribute($(this), 'default_text');
    }
}

function loadAccordion() {
    var verticalAccordions = $$('.acc_toggle');
    verticalAccordions.each(function(accordion) {
        Event.observe(accordion, 'click', toggle_accordion, false);
    });
    
    //Attach click events to text fields with class *default_text*
    var input_fields = $$('.default_text');
    input_fields.each(function(input_field) {
        Event.observe(input_field, 'focus', clear_default, false);
        Event.observe(input_field, 'blur', set_default_if_value_empty, false);
    });
    
    var reset_buttons = $$('.reset_button');
    reset_buttons.each(function(reset_button) {
        Event.observe(reset_button, 'click', resetForm, false);
    });
}
