var isNN4,isNN7, isIE
var context = "/";
var coll = "";
var styleObj = "";
var hidden, visible;
var IEversion = true;
visible = 'visible'
hidden = 'hidden'
if (parseInt(navigator.appVersion)>=4){
	if(navigator.appName == "Netscape") {
	   if (parseInt(navigator.appVersion)==4){
		  isNN4 = true;
		} else {
		  isNN7 = true;
		}
	} else {
		isIE = true;
	}
}


  
function writeOut(div,content){
var cObj = document.getElementById(div);
cObj.style.visibility = visible;
cObj.innerHTML = content;
}


 function submitLogFrm(){
		document.cLogon.submit()
		
  }
// Marker function
// Creates a marker at the given point with the given number label 
  function createMarker(point,htmltext) {
		  var marker = new GMarker(point);
		    GEvent.addListener(marker, "click", function() {
			    marker.openInfoWindowHtml(htmltext);
  		   });
  		   return marker;
  }
		 
  function load(mapname) {
      if (GBrowserIsCompatible()) {
        var smap = new GMap2(document.getElementById(mapname));
		smap.addControl(new GSmallMapControl());
		smap.addControl(new GMapTypeControl());
		//
		smap = loadmap(smap,mapname);
		//
		// Add course line
		var spoints = [];
		spoints = makepoints(mapname);
		
		// Make line
		smap.addOverlay(new GPolyline(spoints));
}
}
function loadmap(smap,mapname){
      switch (mapname){
	 case "T165x2":
	   smap.setCenter(new GLatLng(54.650399,-1.76885), 13);
	   smap.addOverlay(createMarker(new GLatLng(54.650399,-1.76885),"<b>Start & Finish</b>"));
	   break;
	 case "T103":
	   smap.setCenter(new GLatLng(54.439201,-1.530018), 13);
	   smap.addOverlay(createMarker(new GLatLng(54.439201,-1.530018),"<b>Start</b>"));
       break;  
     case "T204":
	   smap.setCenter(new GLatLng(54.580561,-1.800518), 13);
	   smap.addOverlay(createMarker(new GLatLng(54.580561,-1.800518),"<b>Start</b>"));
       break;  
	 case "T243":
	   smap.setCenter(new GLatLng(54.55727,-1.920891), 13);
	   smap.addOverlay(createMarker(new GLatLng(54.55727,-1.920891),"<b>Start</b>"));
	   break;	   
   	 case "T091":
	   smap.setCenter(new GLatLng(54.466745,-1.211929), 13);
	   smap.addOverlay(createMarker(new GLatLng(54.466745,-1.211929),"<b>Start</b>"));
	   break;	
	 case "T405":
	   smap.setCenter(new GLatLng(54.55727,-1.920891), 13);
	   smap.addOverlay(createMarker(new GLatLng(54.55727,-1.920891),"<b>Start</b><br>click for more on the <a href=\"http://www.teesdalecrc.org.uk\" target=\"_new\">mountain time trial</a> "));
	   break;
	 case "T181":
	   smap.setCenter(new GLatLng(54.412837,-1.273727), 13);
	   smap.addOverlay(createMarker(new GLatLng(54.412837,-1.273727),"<b>Start</b>"));
	   break;   
	  case "stokemap":
        smap.setCenter(new GLatLng(54.4666, -1.2123), 13);
		//
		smap.addOverlay(createMarker(new GLatLng(54.4666, -1.2123),"<b>Start</b><br>Lay-by approx 200 yds east of Seamer Road "));
		smap.addOverlay(createMarker(new GLatLng(54.4709,-1.1716),"<b>FINISH</b> ON bridge over stream"));
		break;
	  case "belsaymap":
	    smap.setCenter(new GLatLng(55.108819, -1.846437), 13);
		//
		smap.addOverlay(createMarker(new GLatLng(55.108819, -1.846437),"<b>Start</b><br>at Belsay on unclassified road 200m north of Junction A696 and B6524"));
		smap.addOverlay(createMarker(new GLatLng(55.1731,-1.9278),"<b>Turn Left</b>"));	
		smap.addOverlay(createMarker(new GLatLng(55.1726,-1.9383),"<b>Turn right</b>"));	
		smap.addOverlay(createMarker(new GLatLng(55.2009,-1.9329),"<b>Turn left</b>"));	
		smap.addOverlay(createMarker(new GLatLng(55.1986,-1.9726),"<b>Turn left</b>"));	
		smap.addOverlay(createMarker(new GLatLng(55.1671,-1.9607),"<b>Turn left</b>"));	
		smap.addOverlay(createMarker(new GLatLng(55.1727,-1.9284),"<b>Turn right with care</b>"));	
        break;
	   case "staindropmap":
		smap.setCenter(new GLatLng(54.5823,-1.7924), 13);
		//
		smap.addOverlay(createMarker(new GLatLng(54.5823,-1.7924),"<b>Start & Finish</b>"));
		smap.addOverlay(createMarker(new GLatLng(54.5822,-1.7412),"<b>Left Turn</b>"));
		smap.addOverlay(createMarker(new GLatLng(54.6019,-1.7633),"<b>Left Turn</b>"));
		smap.addOverlay(createMarker(new GLatLng(54.5785,-1.8116),"<b>Left Turn</b>"));
		smap.addOverlay(createMarker(new GLatLng(54.5506,-1.8148),"<b>Left Turn</b>"));
		smap.addOverlay(createMarker(new GLatLng(54.5451,-1.836),"<b>Left Turn<br>Take care</b>"));
		smap.addOverlay(createMarker(new GLatLng(54.5641,-1.6772),"<b>Left Turn</b>"));
		smap.addOverlay(createMarker(new GLatLng(54.582,-1.7401),"<b>Left Turn</b>"));
	    break;
	   case "bishoptonmap":   
		smap.setCenter(new GLatLng(54.5847,-1.4325), 13);
		smap.addOverlay(createMarker(new GLatLng(54.5847,-1.4325),"<b>Start & Finish</b>"));
		break;		
	   case "m18map":
   		smap.setCenter(new GLatLng(55.0498,-1.7399), 13);
		smap.addOverlay(createMarker(new GLatLng(55.0498,-1.7399),"<b>Start & Finish</b>"));
		break;
	   case "m20map":
   		smap.setCenter(new GLatLng(55.0498,-1.7399), 13);
		smap.addOverlay(createMarker(new GLatLng(55.0498,-1.7399),"<b>Start & Finish</b>"));
		break;
	   case "m9map":
   		smap.setCenter(new GLatLng(54.8255,-1.5387), 13);
		smap.addOverlay(createMarker(new GLatLng(54.8255,-1.5387),"<b>Start & Finish</b>"));
		break;
	   case "m14map":
   		smap.setCenter(new GLatLng(54.8477,-1.9802), 13);
		smap.addOverlay(createMarker(new GLatLng(54.8477,-1.9802),"<b>Start & Finish</b>"));
		smap.addOverlay(createMarker(new GLatLng(54.8466,-2.0521),"<b>Left</b>"));
		smap.addOverlay(createMarker(new GLatLng(54.838,-2.0661),"<b>Left</b>"));
		smap.addOverlay(createMarker(new GLatLng(54.7857,-2.0044),"<b>Left</b>"));
		break;
	   case "t183map":
   		smap.setCenter(new GLatLng(54.4478,-1.6465), 13);
		smap.addOverlay(createMarker(new GLatLng(54.4478,-1.6465),"<b>Start & Finish</b>"));	    
	    break;
	   case "m47map":
	    smap.setCenter(new GLatLng(55.108819, -1.846437), 13);
		smap.addOverlay(createMarker(new GLatLng(55.108819, -1.846437),"<b>Start</b><br>at Belsay on unclassified road 200m north of Junction A696 and B6524"));

	  }				
   return smap;
}
function makepoints(mapname){
   	  var spoints = [];
      switch (mapname){
  	  case "T103":
	    spoints.push(new GLatLng(54.439201,-1.530018));
		break;	
  	  case "T204":
	    spoints.push(new GLatLng(54.580561,-1.800518));
		break;		
  	  case "T091":
	    spoints.push(new GLatLng(54.466745,-1.211929));
		break;						  
  	  case "T243":
	    spoints.push(new GLatLng(54.412837,-1.273727));
		break;	
	  case "T181":
	    spoints.push(new GLatLng(54.412837,-1.273727));
		break;	  
	  case "T165x2":
	    spoints.push(new GLatLng(54.650399,-1.76885));
		break;
	  case "T405":
		spoints.push(new GLatLng(54.55727,-1.920891));
		break;		
	  case "stokemap":
		spoints.push(new GLatLng(54.4663,-1.2145));

		break;
	case "belsaymap":
		spoints.push(new GLatLng(55.108819, -1.846437));
		spoints.push(new GLatLng(55.1117, -1.8518));
		spoints.push(new GLatLng(55.1131, -1.8525));		
		spoints.push(new GLatLng(55.1142, -1.8546));		
		spoints.push(new GLatLng(55.1222, -1.8583));	
		spoints.push(new GLatLng(55.1229, -1.862));	
		spoints.push(new GLatLng(55.1245, -1.8629));	
		spoints.push(new GLatLng(55.1266, -1.8692));	
		spoints.push(new GLatLng(55.1286, -1.8698));	
		spoints.push(new GLatLng(55.1303, -1.8812));	
		spoints.push(new GLatLng(55.1356, -1.891));	
		spoints.push(new GLatLng(55.1426, -1.9062));	
		spoints.push(new GLatLng(55.1449, -1.9133));	
		spoints.push(new GLatLng(55.173, -1.928));	
		spoints.push(new GLatLng(55.1727, -1.9379));	
		spoints.push(new GLatLng(55.1812, -1.9421));	
		spoints.push(new GLatLng(55.1839, -1.9407));	
		spoints.push(new GLatLng(55.1872, -1.9367));			
		spoints.push(new GLatLng(55.2004, -1.9327));			
		spoints.push(new GLatLng(55.2023, -1.9449));			
		spoints.push(new GLatLng(55.1989, -1.9724));
		spoints.push(new GLatLng(55.1659, -1.9615));	
		spoints.push(new GLatLng(55.1714, -1.9448));	
		spoints.push(new GLatLng(55.173, -1.9284));				
	    break;
	case "staindropmap":
		spoints.push(new GLatLng(54.5823,-1.7924));
		spoints.push(new GLatLng(54.5857,-1.7741));
		spoints.push(new GLatLng(54.5844,-1.7735));
		spoints.push(new GLatLng(54.5833,-1.7623));
		spoints.push(new GLatLng(54.5835,-1.7574));
		spoints.push(new GLatLng(54.5822,-1.7412));
		spoints.push(new GLatLng(54.5845,-1.7409));
		spoints.push(new GLatLng(54.5868,-1.7434));
		spoints.push(new GLatLng(54.5883,-1.7475));
		spoints.push(new GLatLng(54.5902,-1.7483));
		spoints.push(new GLatLng(54.593,-1.7463));
		spoints.push(new GLatLng(54.593,-1.7463));
		spoints.push(new GLatLng(54.5937,-1.7468));
		spoints.push(new GLatLng(54.6019,-1.7633));
		spoints.push(new GLatLng(54.5987,-1.7784));
		spoints.push(new GLatLng(54.5984,-1.785));
		spoints.push(new GLatLng(54.5943,-1.7953));
		spoints.push(new GLatLng(54.5805,-1.798));
		spoints.push(new GLatLng(54.5794,-1.8099));
		spoints.push(new GLatLng(54.5785,-1.8116));
		spoints.push(new GLatLng(54.5708,-1.808));
		spoints.push(new GLatLng(54.5692,-1.8087));
		spoints.push(new GLatLng(54.567,-1.8087));
		spoints.push(new GLatLng(54.5667,-1.8092));
		spoints.push(new GLatLng(54.5587,-1.806));
		spoints.push(new GLatLng(54.5574,-1.807));
		spoints.push(new GLatLng(54.5554,-1.8079));
		spoints.push(new GLatLng(54.5537,-1.8143));
		spoints.push(new GLatLng(54.5537,-1.8143));
		spoints.push(new GLatLng(54.5506,-1.8148));
		spoints.push(new GLatLng(54.5497,-1.8209));
		spoints.push(new GLatLng(54.55,-1.8267));
		spoints.push(new GLatLng(54.5474,-1.8348));
		spoints.push(new GLatLng(54.5451,-1.836));
		spoints.push(new GLatLng(54.5425,-1.8125));
		spoints.push(new GLatLng(54.5449,-1.7942));
		spoints.push(new GLatLng(54.5479,-1.7831));
		spoints.push(new GLatLng(54.5479,-1.7831));
		spoints.push(new GLatLng(54.553,-1.7576));
		spoints.push(new GLatLng(54.5526,-1.7536));
		spoints.push(new GLatLng(54.5479,-1.744));
		spoints.push(new GLatLng(54.5471,-1.7379));
		spoints.push(new GLatLng(54.542,-1.7103));
		spoints.push(new GLatLng(54.5393,-1.6846));
		spoints.push(new GLatLng(54.5385,-1.6738));
		spoints.push(new GLatLng(54.5641,-1.6772));
		spoints.push(new GLatLng(54.5649,-1.6835));
		spoints.push(new GLatLng(54.5658,-1.6862));
		spoints.push(new GLatLng(54.5665,-1.6895));
		spoints.push(new GLatLng(54.5682,-1.7009));
		spoints.push(new GLatLng(54.5709,-1.7063));
		spoints.push(new GLatLng(54.5724,-1.7153));
		spoints.push(new GLatLng(54.5776,-1.7208));
		spoints.push(new GLatLng(54.5793,-1.7294));
		spoints.push(new GLatLng(54.582,-1.7401));
	    break;
	   case "bishoptonmap":
	    spoints.push(new GLatLng(54.5847,-1.4325));
	    break;
	   case "m18map":
	    spoints.push(new GLatLng(55.0498,-1.7399));
		break;
	   case "m20map":
	    spoints.push(new GLatLng(55.0498,-1.7399));
		break;
	   case "m9map":
	    spoints.push(new GLatLng(54.8255,-1.5387));
		break;	
	   case "m14map":
	    spoints.push(new GLatLng(54.8477,-1.9802));
		break;		
	   case "t183map":
	    spoints.push(new GLatLng(54.4478,-1.6465));
		break;		
	case "m47map":
		spoints.push(new GLatLng(55.108819, -1.846437));
		
	}
	return spoints;
}
/****************************************************
*	        DOM Image rollover:
*		by Chris Poole
*		http://chrispoole.com
*               Script featured on http://www.dynamicdrive.com
*		Keep this notice intact to use it :-)
****************************************************/

function rollover() {
  if (!document.getElementById) return
  var imgOriginSrc;
  var imgTemp = new Array();
  var imgarr = document.getElementsByTagName('img');
  for (var i = 0; i < imgarr.length; i++) {
    if (imgarr[i].getAttribute('hsrc')) {
        imgTemp[i] = new Image();
        imgTemp[i].src = imgarr[i].getAttribute('hsrc');
        imgarr[i].onmouseover = function() {
            imgOriginSrc = this.getAttribute('src');
            this.setAttribute('src',this.getAttribute('hsrc'))
        }
        imgarr[i].onmouseout = function() {
            this.setAttribute('src',imgOriginSrc)
        }
    }
  }
}


function writeNewMenu(){
var html = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" height=40px width=500px>";
 	   html += "<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"/calendar.html\" class=menuleft>Calendar</a>&nbsp;&nbsp;</td>";
 	   html += "<td>&nbsp;<a href=\"/results.html\" class=menuleft>Results</a>&nbsp;&nbsp;</td>";
 	   html += "<td>&nbsp;<a href=\"/league.html\" class=menuleft>League</a>&nbsp;&nbsp;</td>";
 	   html += "<td>&nbsp;<a href=\"/index.php\" class=menuleft target=\"_new\">Photos</a>&nbsp;&nbsp;</td>";
 	   html += "<td>&nbsp;<a href=\"/courses.html\" class=menuleft>Courses</a>&nbsp;&nbsp;</td>";
 	   html += "<td>&nbsp;<a href=\"/rules.html\" class=menuleft>Rules</a>&nbsp;&nbsp;</td>";
 	   html += "<td>&nbsp;<a href=\"/subscribe.html\" class=menuleft>Subscribe</a>&nbsp;&nbsp;</td>";
 	   html += "</table>";
writeOut("newmenu",html)
}
function updateGrid(){
	var rider = dojo.byId("ridername");
	var season = dojo.byId("season");
	var grid = dijit.byId("resultsGrid")
	var urlstr = context+"LeaguePointsHandler";
	var titleStr = " Search by ";
	if(season.value.length>0){
	  titleStr += " Season ";
	  urlstr += "?season="+season.value;
	}
	if(rider.value.length>0){
	    if(season.value.length>0){
	      titleStr += ", Rider Name ";
	      urlstr+="&";
	    } else {
	      titleStr += " Rider Name ";
	      urlstr+="?";
	    }
		urlstr +="ridername="+rider.value;
	}
	document.getElementById("searchtitle").innerHTML = titleStr;
	var gridStore = new dojo.data.ItemFileWriteStore({url:urlstr});
	grid.setStore(gridStore);
	grid.startup();
}


function populateSearch(){
	 var treeVar = dijit.byId("searchTreeView");
      // Track the parameters and load them in
     var urlWithParams = context+"TreeRetrieveHandler";
     var nodedesc = "folders";
     var title = "";
     var rider = dojo.byId("ridername");
     var match = 0;
     if(rider.value.length>0){
        urlWithParams += "?ridername=";
        urlWithParams += rider.value;
        match++;
        nodedesc="children";
        title +=" Rider ";
     }
     var season = dojo.byId("season");
     if(season.value.length>0){
       if(match>=1){
         urlWithParams +="&";
         title += ",";
       } else {
         urlWithParams +="?";
       }
       match++;
       urlWithParams += "season=";
       urlWithParams += season.value;
       title +=" Season ";
     }    
  
     // Remove old store
     if (dijit.byId("treeStore")) {dijit.byId("treeStore").destroy()}
     // Create new store
     var newStore = new dojo.data.ItemFileWriteStore({url:urlWithParams},{id:"treeStore"});
     // Remove old tree
     if (dijit.byId("searchTreeView")) {dijit.byId("searchTreeView").destroy()}
     // Create new Tree
	 var newTree = new dijit.Tree({store:newStore,childrenAttr:["children"],id:"searchTreeView",label:"Search by"+title}, document.createElement("div"));
	 // Attach it to DOM
     dojo.byId("treeView").appendChild(newTree.domNode);
     dojo.connect(dijit.byId("searchTreeView"),"onClick",onTreeClick);
}
function treeClickFunction(){
   dojo.connect(dijit.byId("searchTreeView"),"onClick",onTreeClick);
}
function onTreeClick(item,event){
	       var eKey = dijit.byId("searchTreeView").store.getValue(item,"key");
	       var url = context+"GridRetrieveHandler?eKey="+eKey;
	       var gridStore = new dojo.data.ItemFileReadStore({url:url,urlPreventCache: true});
	       var grid = dijit.byId("resultsGrid")
		   grid.store.close();
	       grid.setStore(gridStore);
	       grid.startup();
  }
function sendForm(){
  var kw = {
        url: context+"MailAddressHandler",
        load: function(data){
                document.getElementById("warn").innerHTML = "<p class=calendar>"+data;
        },
        error: function(data){
                document.getElementById("warn").innerHTML = "<p class=calendar> An error has occured: "+data;
       },
        timeout: 10000,
        form: "mailer"
  };
dojo.xhrPost(kw);  //Servlet get argement with doPost
}

function getYear(){
	var e = "searchtitle";
	var time=new Date();
	var year=time.getYear();
	if(isIE){
		if (year<100) year="19" + time.getYear();
		   else year=time.getYear();
	} else {
	  	   year=time.getYear()+1900;
	}
	var el = document.getElementById(e);
    el.innerHTML =  year;
}

function popupStatus(){
var msgbox = dijit.byId('returnStatus')
if(msgbox!=null){
	msgbox.show();
}
}
  function changeGrid(key){
  	var grid = dijit.byId("resultsGrid");
  	var season = dijit.byId("season");
	// Check if grid is loaded...
	if(typeof(grid)=="undefined"){
	  setTimeout(changeGrid, 1000);
	} else {      
	  var urlstr = context+"LeaguePointsHandler?rank="+key+"&season="+season.value;
	  var gridStore = new dojo.data.ItemFileReadStore({url:urlstr,urlPreventCache: true});
	  grid.store.close();
	  grid.setStore(gridStore);
	  grid.startup();;
	}
  }