<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>
</head>
<body>

Testing .....<br/>

Send an HTTP GET request to a page and get the result back<br/>

<button>Get Workflow Information</button>

<!--curl -v http://localhost:7080/airavata-registry-rest-services/registry/api/configuration?key=gfac.url-->

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script>
    console.log("x_host_display javascript loaded!");
    $(document).ready(function(){
        $("button").click(function(){
            console.log("Button click event triggered");
            $.get("http://localhost:7080/airavata-registry-rest-services/registry/api/configuration?key=gfac.url",function(data,status){
                alert("Data: " + data + "\nStatus: " + status);
                $('#dataDiv').html(data);
                console.log("Status : " + status);
            });
        });
    });
</script>

<div id="dataDiv"></div>

<script>
    $(document).ready(function(){
        $("#hide").click(function(){
            $("p").hide();
        });
        $("#show").click(function(){
            $("p").show();
        });
    });
</script>

<p>Click on the "Hide" button. I will disappear.</p>
<button id="hide">Hide</button>
<button id="show">Show</button>

</body>
</html>
