
function display(action, id){
  if (action == 'show'){
    document.getElementById("exp"+id).style.display = "block";
    document.getElementById("link"+id).href= "javascript:display('hide', "+id+")";
  }
  if (action == 'hide'){
    document.getElementById("exp"+id).style.display = "none";
    document.getElementById("link"+id).href= "javascript:display('show', "+id+")";
  }
}

function displayQueries(action){
  if (action == 'show'){
    document.getElementById("queries").style.display = "block";
  }
  if (action == 'hide'){
    document.getElementById("queries").style.display = "none";
  }
}

function sendEmail(){

    var xmlhttp;
    if (window.XMLHttpRequest)
	{
	    // code for IE7+, Firefox, Chrome, Opera, Safari
	    xmlhttp=new XMLHttpRequest();
	}
    else if (window.ActiveXObject)
	{
	    // code for IE6, IE5
	    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
    
    xmlhttp.onreadystatechange = function(){
	if(xmlhttp.readyState==4){
	    myResponse = xmlhttp.responseText;
	    document.getElementById("emailtext").innerHTML = myResponse;
	    document.getElementById("emailbutton").style.display = "none";
	    document.getElementById("e0").style.display = "none";
	}
    }

    url = 'email.php?id=' + 
	document.getElementById("e1").value +
	'&route=' + 
	document.getElementById("e2").value +
	'&dest=' + 
	document.getElementById("e3").value +
	'&orig=' + 
	document.getElementById("e4").value +
	'&email=' + 
	document.getElementById("e0").value

    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);

    return false;
}

function showRestaurants(){
    document.getElementById("whatsnearby").innerHTML =     document.getElementById("restaurants").innerHTML;
}

function nextPic(){
    var urls = document.getElementById("flickr").childNodes;
    if(picNo < urls.length){
	var url = urls[picNo].innerHTML;
	document.getElementById("mainflickrpic").src = url;
	picNo++;
	if(picNo >= urls.length){
	    document.getElementById("nextpiclink").style.display = "none";
	}
    }
}

var picNo = 1;

function displayPics(action){
  if (action == 'show'){
      document.getElementById("flickrmainpic").style.display = "block";
  }
  else{
      document.getElementById("flickrmainpic").style.display = "none";
  }
}

function displayEmail(action, id, content, dest, orig ){
  if (action == 'show'){
    document.getElementById("emailbar").style.display = "block";
    document.getElementById("e1").value = id;
    document.getElementById("e2").value = content;
    document.getElementById("e3").value = dest;
    document.getElementById("e4").value = orig;
    document.getElementById("emailtext").innerHTML = "Send this route via email";
    document.getElementById("emailbutton").style.display = "inline";
    document.getElementById("e0").style.display = "inline";

  }
  if (action == 'hide'){
    document.getElementById("emailbar").style.display = "none";
  }
}

function toggleRoute(action, id){
  if (action == 'show'){
    document.getElementById("route"+id).style.display = "block";
    document.getElementById("routelink"+id).href= "javascript:toggleRoute('hide', "+id+")";
  }
  if (action == 'hide'){
    document.getElementById("route"+id).style.display = "none";
    document.getElementById("routelink"+id).href= "javascript:toggleRoute('show', "+id+")";
  }
}

function hideCandidates(id){
    if(document.getElementById("candidates"+id)){
	document.getElementById("candidates"+id).style.display = "none";
    }
}

function doSearchStart(me){
    me.style.color = "black";
    me.value = '';
}

function doStart(){

    if(document.getElementById("searchform")){
	document.searchform.search.focus();
    }

    if(document.getElementById("flickrthumb")){
	document.getElementById("flickrimage").src = document.getElementById("flickrthumb").innerHTML;
    }
    else{
	if(!document.getElementById("foursquare")){
	    document.getElementById("rightbox").style.display="none";
	}
    }
}

//Global Declarations
var ie = (document.all) ? true : false;

function toggleClass(objClass){
//  This function will toggle obj visibility of an Element
//  based on Element's Class
//  Works with IE and Mozilla based browsers
  if (getElementByClass(objClass).style.display=="inline"){
    hideClass(objClass)
  }else{
    showClass(objClass)
  }
}

function hideClass(objClass){
//  This function will hide Elements by object Class
//  Works with IE and Mozilla based browsers

document.getElementById("link2").innerHTML = "Show Japanese Names";
  
var elements = (ie) ? document.all : document.getElementsByTagName('*');
  for (i=0; i<elements.length; i++){
    if (elements[i].className==objClass){
      elements[i].style.display="none"
    }
  }
}

function showClass(objClass){

  document.getElementById("link2").innerHTML = "Hide Japanese Names";
  
  //  This function will show Elements by object Class
  //  Works with IE and Mozilla based browsers
var elements = (ie) ? document.all : document.getElementsByTagName('*');
  for (i=0; i<elements.length; i++){
    if (elements[i].className==objClass){
      elements[i].style.display="inline"
    }
  }
}

function getElementByClass(objClass){
//  This function is similar to 'getElementByID' since there
//  is no inherent function to get an element by it's class
//  Works with IE and Mozilla based browsers
var elements = (ie) ? document.all : document.getElementsByTagName('*');
  for (i=0; i<elements.length; i++){
    //alert(elements[i].className)
    //alert(objClass)
    if (elements[i].className==objClass){
    return elements[i]
    }
  }
}
