// ---------------------- IMAGE & GALLERY DATABASE ---------------------------------

databaseArrayWidth = 10
var databaseNoTopRightText = false ;



databaseResult = new Array(databaseArrayWidth) ;

function databaseFind(imgNumInput) {
      for ( i=0 ; i < phG.length ; i++ ) {
         if ( phG[i][0] == imgNumInput ) {
            databaseResult = phG[i] ;
            break ;
         }
      }
}

function databaseFind2(Input,inputIndex,outputIndex) {
   for ( i=0 ; i < phG.length ; i++ ) {
      if ( phG[i][inputIndex] == Input ) {
         return phG[i][outputIndex]
         break ;
      }
   }
}





databaseRegExpResult1 = new Array() ;
databaseRegExpResult2 = new Array() ;
databaseRegExpResult3 = new Array() ;
databaseRegExpResult4 = new Array() ;

function databaseSplitGallery(imgRow) {
      var re1 = /^([VH]{1,3})\,/ ;
      var re2 = /[HV]\,([A-Z]{2}\d{3})/ ;
      var re3 = /\d\,([A-Z]{2}\d{3})\,[A-Z]/ ;
      var re4 = /\d\,([A-Z]{2}\d{3})$/ ;
      
      databaseRegExpResult1 = re1.exec(imgRow) ;
      databaseRegExpResult2 = re2.exec(imgRow) ; 
      if (re3.test(imgRow)) { re3.lastIndex=0; databaseRegExpResult3 = re3.exec(imgRow) ; }
      if (re4.test(imgRow)) { re4.lastIndex=0; databaseRegExpResult4 = re4.exec(imgRow) ; }
}


function databaseRemoveLocationAbbreviations(inputString) {
  // also add changes to general.php!!!!!!
	inputString = inputString.replace(/N\.P\./g, "National Park");
	inputString = inputString.replace(/Nat\'l/g, "National");
	inputString = inputString.replace(/S\.P\./g, "State Park");
	inputString = inputString.replace(/Res\./g, "Reservoir");
	inputString = inputString.replace(/Mt\./g, "Mount");
	inputString = inputString.replace(/Mtn\./g, "Mountain");
	inputString = inputString.replace(/Mtns\./g, "Mountains");
	inputString = inputString.replace(/Bldg\./g, "Building");
	inputString = inputString.replace(/Univ\./g, "University");
	inputString = inputString.replace(/Ch\./g, "Church");
	inputString = inputString.replace(/I\./g, "Island");
	inputString = inputString.replace(/R\./g, "River");
	inputString = inputString.replace(/Lt\./g, "Light");
	inputString = inputString.replace(/Pt\./g, "Point");
	inputString = inputString.replace(/Ft\./g, "Fort");
	inputString = inputString.replace(/Hbr\./g, "Harbor");
	inputString = inputString.replace(/N\.H\./g, "New Hampshire");
	inputString = inputString.replace(/CO/g, "Colorado");
	inputString = inputString.replace(/Penn\./g, "Pennsylvania");
	inputString = inputString.replace(/Ariz\./g, "Arizona");
	inputString = inputString.replace(/Nev\./g, "Nevada");
	inputString = inputString.replace(/Mass\./g, "Massachusetts");
	inputString = inputString.replace(/ME/g, "Maine");
	inputString = inputString.replace(/VT/g, "Vermont");
	inputString = inputString.replace(/RI/g, "Rhode Island");
	inputString = inputString.replace(/Conn\./g, "Connecticut");
	inputString = inputString.replace(/CA/g, "California");
	inputString = inputString.replace(/Calif\./g, "California");
	inputString = inputString.replace(/QC/g, "Quebec");
	
	return inputString ;
}







//gets today's date in multiple formats ----------------------------------------------------
   var databaseTodayDate = new Date();
   var todayDate = databaseTodayDate.getDate(); todayDate = todayDate.toString() ;
   if (todayDate.length == 1) { todayDate = new String("0" + todayDate) ; }
   var todayMonth = (databaseTodayDate.getMonth() + 1); todayMonth = todayMonth.toString() ;
var databaseDateMDD = new String( todayMonth + todayDate ) ;

   if (todayMonth.length == 1) { todayMonth = new String("0" + todayMonth) ; }
var databaseDateYYYYMMDD = new String( databaseTodayDate.getFullYear() + todayMonth + todayDate ) ;






// ------------------------------------- PRICING DATABASE -------------------------
var databasePriceResult = [] ;

function databasePriceFind(prodType,prodID,exTra) {
   if ( prodType == "prints" ) { prodCode = 0 ; }
   if ( prodType == "cards" ) { prodCode = 1 ; }
   if ( prodType == "screensaver" ) { prodCode = 2 ; }
   if ( prodType == "wallpaper" ) { prodCode = 3 ; }
   if ( prodType == "retailCards" ) { prodCode = 4 ; }
   if ( prodType == "retailMag" ) { prodCode = 5 ; }
   if ( prodType == "retailSS" ) { prodCode = 6 ; }
   if ( prodType == "retailBM" ) { prodCode = 7 ; }
   
   for ( qz=0 ; qz < priceArray[prodCode].length ; qz++ ) { 
      if ( priceArray[prodCode][qz][0] == prodID ) { 
         databasePriceResult = priceArray[prodCode][qz] ; 
         break ;
      } 
   }
}

function databasePrintPriceFind(siZe,outputIndex) {
   for ( aN=0; aN<priceArray[0].length; aN++ ) {
      if ( priceArray[0][aN][0] == siZe ) { return priceArray[0][aN][outputIndex] ; break ; }
   }
}






// ------------------------------------- MAT COLOR DATABASE -------------------------
function databaseSetMatColor(matColorSel2) {
  for ( am=0; am<matColorDB.length; am++ ) {
       if ( matColorDB[am][0] == matColorSel2 ) {
          document.getElementById("matColor").selectedIndex=am ; 
          document.getElementById('showFramedPrintDouble'+HorV).style.backgroundColor=document.getElementById("matColor").value ;
       }
  }
}

function databaseDecodeMatColor(matColorInput,inputIndex,outputIndex) {
   for ( aN=0; aN<matColorDB.length; aN++ ) {
      if ( matColorDB[aN][inputIndex] == matColorInput ) { return matColorDB[aN][outputIndex] ; break ; }
   }
}










   
   
function databaseParseKeywords(abbr) {
   reKeywords = new RegExp( "\\w{2,3}" , "g" ) ;
   keywordResult = abbr.match(reKeywords) ;
   resultArray = new Array() ; var arrayIndex = 0 ;
   
   for ( abr=0; abr<keywordResult.length; abr++ ) {
      for ( rty=0; rty<dirDecodeDB.length; rty++ ) {
         if (keywordResult[abr] == dirDecodeDB[rty][0]) {
            resultArray[arrayIndex] = dirDecodeDB[rty][2] ;
            arrayIndex++ ;
         }
      }
   }
   return ( resultArray.join(", ") );
}






// ------------------------------------- SCREEN SAVERS FUNCTIONS -------------------------

//I think this can be deleted, 11/8/08
function databaseDecodeScreenSaver(scrSvrInput,inputIndex,outputIndex) {
   for ( aN=0; aN<screenSaverDB.length; aN++ ) {
      if ( screenSaverDB[aN][inputIndex] == scrSvrInput ) { return screenSaverDB[aN][outputIndex] ; break ; }
   }
}

function databaseParseScreenSaver(inPut) { 
   if ( inPut == "none" ) { scrSaverArray[0] = "none" ; }
   else {
      var re9 = /(SV\d{3})/g ;
      scrSaverArray = inPut.match(re9);
   }
}







// ------------------------------------- BOOKMARKS DATABASE -------------------------
bookmarkDB = new Array() ; var cvv = 0;

//                         number     location                 location 2            label 1        label 2           keyword
bookmarkDB[cvv] = new Array( "BM001" , "Fishermens' Memorial" , "Gloucester, Mass." , "Gloucester" , "Massachusetts" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM002" , "Eastern Point Light" , "Gloucester, Mass." , "Eastern Point" , "Gloucester" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM003" , "Annisquam Light" , "Gloucester, Mass." , "Annisquam Light" , "Gloucester" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM004" , "Tenpound Light" , "Gloucester, Mass." , "Tenpound Light" , "Gloucester" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM005" , "Thacher I. Twin Lights" , "Rockport, Mass." , "Thacher Island" , "Cape Ann" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM006" , "Motif #1" , "Rockport, Mass." , "Motif #1" , "Rockport" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM007" , "Motif #1" , "Rockport, Mass." , "Motif #1" , "Rockport" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM008" , "Fishermens' Memorial" , "Gloucester, Mass." , "Gloucester" , "Massachusetts" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM009" , "Thacher Island" , "Rockport, Mass." , "Thacher Island" , "Cape Ann" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM010" , "Zakim Bunker Hill Bridge" , "Boston, Mass." , "Boston\'s" , "Zakim Bridge" , "BO" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM011" , "Skyline at Sunrise" , "Boston, Mass." , "Boston" , "Massachusetts" , "BO" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM012" , "Paul Revere Mall" , "Boston, Mass." , "Boston" , "Massachusetts" , "BO" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM013" , "Hancock Bldg. & Trinity Church" , "Boston, Mass." , "Boston" , "Massachusetts" , "BO" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM016" , "Annisquam Light" , "Gloucester, Mass." , "Annisquam Light" , "Gloucester" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM017" , "Hancock Building Reflection" , "Boston, Mass." , "Boston" , "Massachusetts" , "BO" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM018" , "Make Way For Ducklings" , "Boston, Mass." , "Make Way For Ducklings" , "Boston" , "BO" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM019" , "Schooner Roseway" , "Gloucester, Mass." , "Gloucester" , "Massachusetts" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM020" , "Sailboat Reflection" , "Manchester-by-the-Sea" , "Manchester" , "by-the-Sea" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM021" , "Tuck's Point at Dawn" , "Manchester-by-the-Sea" , "Manchester" , "by-the-Sea" , "CP" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM022" , "U.S.S. Constitution" , "Boston, Mass." , "U.S.S. Constitution" , "Boston" , "BO" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM023" , "Public Garden in Bloom" , "Boston, Mass." , "Boston's" , "Public Garden" , "BO" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM024" , "Tall Ships & Skyline" , "Boston, Mass." , "Tall Ships" , "Boston" , "BO" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM025" , "Hancock Building" , "Boston, Mass." , "Boston" , "Massachusetts" , "BO" ) ; cvv++ ;
bookmarkDB[cvv] = new Array( "BM026" , "Boston Light" , "Boston, Mass." , "Boston" , "Light" , "BO" ) ; cvv++ ;


bmDisplayDB = new Array() ;
bmDisplayDB[0] = new Array( "CP" , "BM001" , "BM009" , "BM006" , "BM020" , "BM002" , "BM007" , "BM004" , "BM019" , "BM016" , "BM005" , "BM008" , "BM021" , "BM003" ) ;
bmDisplayDB[1] = new Array( "BO" , "BM012" , "BM010" , "BM024" , "BM025" , "BM022" , "BM018" , "BM023" , "BM017" , "BM026" , "BM013" , "BM011" ) ;


function databaseDecodeBookmark(bmInput,inputIndex,outputIndex) {
   for ( aN=0; aN<bookmarkDB.length; aN++ ) {
      if ( bookmarkDB[aN][inputIndex] == bmInput ) { return bookmarkDB[aN][outputIndex] ; break ; }
   }
}

function bookmarkFind(bmInput) {
      for ( i=0 ; i < bookmarkDB.length ; i++ ) {
         if ( bookmarkDB[i][0] == bmInput ) {
            databaseResult = bookmarkDB[i] ;
            break ;
         }
      }
}