        var key = "";
        function makeEntry (){
                this.Name="";
                this.URL = "";
                this.Desc = "";
                this.Category = "";
                return this;
        }

 function makeArray(n) {
                this.length = n;
                for (var k = 1; k <= n; k++) {
                                this[k] = "";
                }
                return this;
        }               

        function makeLinks(size) {
                                this.length = size;
                                for (var r=1; r<= size; r++) {
                                                        this[r] = new makeEntry();
                                                        this[r].Name = namesArray[r];
                                                        this[r].URL = urlsArray[r];
                                                        this[r].Desc = descArray[r];
                                                        }
                                        return this;
                        }


var linksize=0 

datesArray = new makeArray(linksize);
namesArray = new makeArray(linksize);
urlsArray = new makeArray(linksize);
descArray = new makeArray(linksize);

var arraycount=0

arraycount += 1 
urlsArray[arraycount] = "projects.html"
namesArray[arraycount] = "<b>projects</b>"
descArray[arraycount] = "<small>You The following License Terms govern your use of the accompanying Software unless you You The following License Terms govern your use of the accompanying Software unless you You The following License Terms govern your use of the accompanying Software unless you</small>"

arraycount += 1 
urlsArray[arraycount] = "research.html"
namesArray[arraycount] = "<b>research</b>"
descArray[arraycount] = "<small>hp , the</small>"

arraycount += 1 
urlsArray[arraycount] = "home.html"
namesArray[arraycount] = "<b>home page</b>"
descArray[arraycount] = "<small>You The following License Terms govern your use of the accompanying Software unless you You The following License Terms govern your use of the accompanying Software unless you You The following License Terms govern your use of the accompanying Software unless you</small>"

linksize = arraycount;

// ----end data -------

function searchLinks(links, keyword){
        document.write("<BODY BGCOLOR='#fff5e8' TEXT='#6c000a' LINK='#cc0000' VLINK='#e100052' ALINK='#ef9c00'>")
        document.write("<big><b>Search results for keyword:</b></big>   " +keyword +"<hr><br><br>");
        for (var q=1; q<=links.length; q++) {

        if (links[q].URL.toLowerCase().indexOf(keyword) != -1){
          document.write("<a href=" + links[q].URL +">" + links[q].Name + "</a> - ");
          document.write( links[q].Desc + "<br>");
          continue;
         }
        if (links[q].Desc.toLowerCase().indexOf(keyword) != -1) {
          document.write("<a href=" + links[q].URL +">" + links[q].Name + "</a> - ");
          document.write( links[q].Desc + "<br>");
          continue;
         }
        if (links[q].Name.toLowerCase().indexOf(keyword) != -1) {
          document.write("<a href=" + links[q].URL +">" + links[q].Name + "</a> - ");
          document.write( links[q].Desc + "<br>");
          continue;
         }

     }                                       


}

function validate_form() {
 
  txt = document.form.search.value;
  if (txt.indexOf(".") != -1){
        alert("Search is invalid! Contains a '.'"); return;}
  if (txt.indexOf(",") != -1){
        alert("Search is invalid! Contains a ','"); return;}
  if (txt.indexOf("@") != -1){
        alert("Search is invalid! Contains a '@''"); return;}
  if (txt.indexOf("!") != -1){
        alert("Search is invalid! Contains a '!''"); return;}
  if (txt.indexOf("#") != -1){
        alert("Search is invalid! Contains a '#''"); return;}
  if (txt.indexOf("$") != -1){
        alert("Search is invalid! Contains a '$''"); return;}
  if (txt.indexOf("%") != -1){
        alert("Search is invalid! Contains a '%''"); return;}
  if (txt.indexOf("^") != -1){
        alert("Search is invalid! Contains a '^''"); return;}
  if (txt.indexOf("&") != -1){
        alert("Search is invalid! Contains a '&''"); return;}
  if (txt.indexOf("*") != -1){
        alert("Search is invalid! Contains a '*''"); return;}
  if (txt.indexOf("(") != -1){
        alert("Search is invalid! Contains a '(''"); return;}
  if (txt.indexOf(")") != -1){
        alert("Search is invalid! Contains a ')''"); return;}
  if (txt.indexOf("[") != -1){
        alert("Search is invalid! Contains a '[''"); return;}
  if (txt.indexOf("]") != -1){
        alert("Search is invalid! Contains a ']''"); return;}
  if (txt.indexOf(";") != -1){
        alert("Search is invalid! Contains a ';''"); return;}
  if (txt.indexOf(":") != -1){
        alert("Search is invalid! Contains a ':''"); return;}
  if (txt.indexOf("<") != -1){
        alert("Search is invalid! Contains a '<''"); return;}
  if (txt.indexOf(">") != -1){
        alert("Search is invalid! Contains a '>''"); return;}
  if (txt.indexOf("?") != -1){
        alert("Search is invalid! Contains a '?''"); return;}
  if (txt.indexOf("-") != -1){
        alert("Search is invalid! Contains a '-''"); return;}
  if (txt.indexOf("=") != -1){
        alert("Search is invalid! Contains a '=''"); return;}
  if (txt.indexOf("+") != -1){
        alert("Search is invalid! Contains a '+''"); return;}
  else {
        jsi = new makeLinks(linksize);
        searchLinks(jsi, txt);
document.write("<br><hr><br>");
document.write("<a href='home.html'><b>Back</b></a><br>");

}

}


