/*****************************************************************
    File name: queryBuild.js
    Author: Jessie Shulman
    Last modified: May 30th, 2007
    Builds CONTENTdm query based on text found in advanced search fields
    Returns query string to calling function
    **************************************************************/


function buildQuery (form) {
	//default CONTENTdm String
    var queryString ="http://content.lib.washington.edu/cdm4/results.php?CISORESTMP=/cdm4/results.php&CISOVIEWTMP=/cdm4/item_viewer.php&CISOMODE=thumb&CISOGRID=thumbnail,A,1;title,A,1;subjec,A,0;descri,200,0;none,A,0;20;title,none,none,none,none&CISOBIB=title,A,1,N;subjec,A,0,N;descri,200,0,N;none,A,0,N;none,A,0,N;20;title,none,none,none,none&CISOTHUMB=30;title,none,none,none,none&CISOTITLE=20;title,none,none,none,none&CISOHIERA=20;subjec,title,none,none,none&CISOSUPPRESS=0&CISOTYPE=link&";
    var queryParam1="CISOOP";
    var queryParam2="=all&CISOFIELD";
    var queryParam3="&CISOBOX";
    var queryTemp="";
    
    
    var valString ="";
    var count =1;
    
   //tests for fields with entered values
   //appends search params and variables
    
  
    //Title field test
    if (form.title.value!=""){
	queryTemp= queryParam1 + count + queryParam2 + count + "=" +"title" +queryParam3 +count +"=";
    valString = form.title.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
     
    }
    
    //Description field test
     if (form.publis.value!=""){
    queryTemp= queryParam1 + count + queryParam2 + count + "=" +"publis" +queryParam3 +count +"=";
    valString = form.publis.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
    
    //Municipality field test
        if (form.type.value!=""){
	queryTemp= queryParam1 + count + queryParam2 + count + "=" +"type" +queryParam3 +count +"=";
    valString = form.type.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
    
    //Address field test
          if (form.contri.value!=""){
    	queryTemp= queryParam1 + count + queryParam2 + count + "=" +"contri" +queryParam3 +count +"=";
    valString = form.contri.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
    
    
     //Date field test
          if (form.subjec.value!="" && count<5){
 	queryTemp= queryParam1 + count + queryParam2 + count + "=" +"subjec" +queryParam3 +count +"=";
    valString = form.subjec.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
    
         //Format field test
          if (form.langua.value!="" && count<5){
  	queryTemp= queryParam1 + count + queryParam2 + count + "=" +"langua" +queryParam3 +count +"=";
    valString = form.langua.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
  
            //Materials field test
          if (form.relati.value!="" && count<5){
   	queryTemp= queryParam1 + count + queryParam2 + count + "=" +"relati" +queryParam3 +count +"=";
    valString = form.relati.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
               //Process field test
          if (form.covera.value!="" && count<5){
    	queryTemp= queryParam1 + count + queryParam2 + count + "=" +"covera" +queryParam3 +count +"=";
    valString = form.covera.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
              //Surfaces field test
          if (form.rights.value!="" && count<5){
  queryTemp= queryParam1 + count + queryParam2 + count + "=" +"rights" +queryParam3 +count +"=";
    valString = form.rights.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
                //Architectural Detail field test
          if (form.audien.value!="" && count<5){
      queryTemp= queryParam1 + count + queryParam2 + count + "=" +"audien" +queryParam3 +count +"=";
    valString = form.audien.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
                 //Photographer Detail field test
          if (form.photog.value!="" && count<5){
      queryTemp= queryParam1 + count + queryParam2 + count + "=" +"photog" +queryParam3 +count +"=";
    valString = form.photog.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
                   //Producer Detail field test
          if (form.produc.value!="" && count<5){
        queryTemp= queryParam1 + count + queryParam2 + count + "=" +"produc" +queryParam3 +count +"=";
    valString = form.produc.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
                   //Collector Detail field test
          if (form.sourca.value!="" && count<5){
     queryTemp= queryParam1 + count + queryParam2 + count + "=" +"sourca" +queryParam3 +count +"=";
    valString = form.sourca.value;
    valString +="&";
    queryString += queryTemp;
     queryString += valString;
     count++;
     queryTemp="";
    }
 
    
    //adds Urban Archives database value
     queryString +="c=all&CISOROOT=%2Fua";

    //popup window does not have tool bar and menu so users will be forced to close the window and return to UA search
    window.open(queryString,'mywindow','width=750,height=500,scrollbars=yes,resizable=yes')

return queryString;
}

