function advMenu(action, selected, value, dispValue){
  document.getElementById("bylineInfo").innerHTML = "";
  document.getElementById("bylineInfo").style.display = "none";

  makeRequest("xmlMenuData.jsp?selected=" + selected + "&value=" + value + "&action=" + action + "&dispVal=" + unescape(dispValue), "xmlMenuData", new Array() );
}

function setView(vs){
  viewsize = vs;
// --------- Index Page ----------
  document.getElementById("frame").style.width = (1008 + (viewsize * 252));
  document.getElementById("frame").style.height = 714 + (viewsize * 133);

  document.getElementById("donttouch").style.width = 1008 + (viewsize * 252);

  document.getElementById("thumbnailTag").style.width = 756 + (viewsize * 252);
  document.getElementById("previewTag").style.width = 756 + (viewsize * 252);

  document.getElementById("viewsize_td_1").style.width = 504 + (viewsize * 252);
  document.getElementById("viewsize_td_2").style.width = 504 + (viewsize * 252);
  document.getElementById("viewsize_td_3").style.width = 504 + (viewsize * 252);
  document.getElementById("viewsize_td_4").style.width = 504 + (viewsize * 252);

  document.getElementById("right_cell_1").style.width = 504 + (viewsize * 252);
  document.getElementById("left_cell_1").style.width = 504 + (viewsize * 252);

  document.getElementById("menuContentHolder").style.height = 527 + (viewsize * 133);

  document.getElementById("dragback").style.height = 527 + (viewsize * 133);

  document.getElementById("results").style.width = 709 + (viewsize * 252);

  document.getElementById("menuContent").style.position = "relative";
  document.getElementById("menuContent").style.width = "164";
  document.getElementById("menuContent").style.top = "0";


  // style="position: relative; width: 164px; top: 0px;">

//  alert(document.getElementById("logo_holder").innerHTML)
// ----------- Page Display -----------

  for (i = 0; i < (4 + viewsize); i++) {
    var ymargin = 0;
    if (i != ((viewsize + 4) - 1)) {
      ymargin = 5;
    }

    var wid = "pd_viewsize_td_" + i;
    if (document.getElementById(wid) != null) {
    document.getElementById(wid).style.width = 709 + (viewsize * 252);
    document.getElementById(wid).style.height = 128 + ymargin;
    }
  }

// ----------- reload the menu --------

//loadMenu();
scrollwindowHeight = parseInt(document.getElementById("menuContentHolder").style.height);
scrollwindowWidth = parseInt(document.getElementById("hitsDisplay").style.width);

scrollRecalc();


//document.getElementById("outwrap").align = "center";
//var mt = document.getElementById("mainTable").InnerHTML;
//document.getElementById("mainTable").InnerHTML = "";
//document.getElementById("mainTable").InnerHTML = mt;
//scrollwindowHeight = parseInt(document.getElementById("menuContentHolder").style.height);
//alert(scrollwindowHeight);

//  var lh = document.getElementById("logo_holder").innerHTML;
//  document.getElementById("logo_holder").innerHTML = lh;

}

// Send image using ftp.
  function sendImage(id) {
        var page = 'exportFtp.jsp?multiImageIds=' + id;
        var name = 'externalFtpsend';
        var w = 300;
        var h = 220;
        var scroll = 'no'
        var resize = 'noresize';
	openNewWin(page, name, w, h, scroll, resize);
  }
// open new window.
  function openNewWin(mypage, namer, w, h, scroll, resizer) {
    var winl = (screen.width - w) / 2;
    var wint = (screen.height - h) / 2;
    winprops = 'height=' + h + ',width=' + w + ',top=' + wint + ',left=' + winl + ',scrollbars=' + scroll + ',' + resizer + ",status=yes";
    win = window.open(mypage, namer, winprops)
  }

// advanced search
function advancedSearch(advSearch, translate, arcIn){

updateUrl('advSrc');
var ml = "";
  if (translate == true) {
    ml = "&multiLingual=true";
  }
//  query = document.getElementById("box_search").value;
  var query ="";
  if (advSearch == "unindexed") {
    query = "status:new";
  } else if (advSearch == "internal"){
    //query = "publicImage:1 AND status:upd";
	query = "publicImage:1";	
  } else {
    query = advSearch;
  }

  // display searchQuery.
  displaySearchQuery("");

  // displayInfoholder
  displayInfoHolder("");

// reset the dragbar!.
 document.getElementById("dragbutton2").style.left = 0;


  // display correct basket
  displayBasketIcon(true);
  inBasket = false;
  document.getElementById("rotater").style.display = "";
  document.getElementById("bylineInfo").innerHTML = "";
  document.getElementById("bylineInfo").style.display = "none";

  //alert("main.js advancedSearch() searching for : " + query);

  //makeRequest("xmlSearch.jsp?advSearch=true" + ml + "&freetext=" + escape(query), "xmlSearch", new Array() );
    makeRequest("xmlSearch.jsp?advSearch=true" + ml + "&arcIn=" + arcIn + "&freetext=" + escape(query), "xmlSearch", new Array() );
//makeRequest("xmlSearch.jsp?advSearch=true" + ml + "&freetext=" + query, "xmlSearch", new Array() );

}


// keyword search
function keywordSearch(word){
  updateUrl('keywSerc');
  displayQuickData('');
  document.getElementById("thumbnailTag").style.display = "";
  document.getElementById("previewTag").style.display = "none";
  displaySearchQuery("");
    document.getElementById("topInfoRight").innerHTML = "";
    document.getElementById("right_cell_2").innerHTML = "";
  document.getElementById("bylineInfo").innerHTML = "";
  document.getElementById("bylineInfo").style.display = "none";

// reset the dragbar!.
 document.getElementById("dragbutton2").style.left = 0;


  inBasket = false;
  displayBasketIcon(true);
  document.getElementById("rotater").style.display = "";

    makeRequest("xmlSearch.jsp?keyWord=" + escape(word), "xmlSearch", new Array() );
}

// Simple freetext search.
function freeTextSearch() {
  updateUrl('freSrc');
  query = document.getElementById("box_search").value;
  var ml = true; // we are ALWAYS using multi lingular!
/*
  if (document.getElementById("adv_multi_lingual") != null) {
    if (document.getElementById("adv_multi_lingual").checked){
      ml = true;
    }
  }
*/
  // Display searchQuery.
  displayQuickData('');
  document.getElementById("thumbnailTag").style.display = "";
  document.getElementById("previewTag").style.display = "none";
   
    document.getElementById("topInfoRight").innerHTML = "";
    document.getElementById("right_cell_2").innerHTML = "";

  document.getElementById("bylineInfo").innerHTML = "";
  document.getElementById("bylineInfo").style.display = "none";

// reset the dragbar!.
 document.getElementById("dragbutton2").style.left = 0;


  displaySearchQuery("");


  inBasket = false;
  displayBasketIcon(true);

  

    
//alert("main.js freetextSearch() searching for : " + escape(query));

  makeRequest("xmlSearch.jsp?freetext=" + escape(query) + "&multiLingual=" + ml, "xmlSearch", new Array() );
  //makeRequest("xmlSearch.jsp?freetext=" + query + "&multiLingual=" + ml, "xmlSearch", new Array() );
}

// search from klicked menu.
function menuSearch(where, sval, bioAvailable, isAdmin){
    // display searchQuery.
//  displaySearchQuery(sval + "&nbsp;&nbsp;");
    // displayInfoholder
    document.getElementById("bylineInfo").innerHTML = "";
    document.getElementById("bylineInfo").style.display = "none";
  if (where == "byline") {
//    displayInfoHolder("<a href=\"bylineInfo.jsp\">Mera information</a>&nbsp;&nbsp;");
    document.getElementById("bylineInfo").style.display = "";
    
    if (bioAvailable == true) {
  //      alert("main.js bio is available.");
        document.getElementById("bylineInfo").innerHTML = "<div id='bylineAccess' onclick='javascript:displayPhotographer(\""+ escape(sval) +"\");' >" + gw("information om", 1) + " " + sval + "</div>";
    } else {
        if (isAdmin) {
            document.getElementById("bylineInfo").innerHTML = "<div id='bylineAccess' onclick='javascript:displayPhotographer(\""+ escape(sval) +"\");' >Add bio for : " + sval + "</div>";
        }
    }
//    document.getElementById("bylineInfo").innerHTML = "<div id='bylineAccess' onclick='javascript:displayPhotographer(\""+ escape(sval) +"\");' >" + gw("information om", 1) + " " + sval + "</div>";
    displayInfoHolder('');
  } else {
    displayInfoHolder('');
  }

// reset the dragbar!.
 document.getElementById("dragbutton2").style.left = 0;


  displayBasketIcon(true);
  inBasket = false;
  document.getElementById("rotater").style.display = "";
  makeRequest("xmlSearch.jsp?" + where + "=" + escape(sval), "xmlSearch", new Array() );

}
// search from klicked menu.

function displayBasketIcon(on){

//alert("dispasket: " + on + " loggedin?: " + document.getElementById("isLoggedIn") + " isInBasket : " + inBasket);

    document.getElementById("lbox_img").src = "images/folder_lightbox.gif"

    if (on == true && document.getElementById("isLoggedIn") != null) {
    document.getElementById("basket_image").style.display = "";
    } else {
    document.getElementById("basket_image").style.display = "none";
//  document.getElementById("basket_image").style.background-image = "url(images/folder_lightbox_open.gif)";
    }
}


// a login request.
function login() {
  var usr = document.getElementById("loginTag").value;
  var psw = document.getElementById("passwordTag").value;
  if (usr != "" && psw != ""){
//    alert("låt oss skjuta mot menuDisplay!");
    makeRequest("menuDisplay.jsp?username=" + usr + "&password=" + psw,"menuDisplay",new Array("initialize"));
    //alert(document.getElementById("langHolderHidden").innerHTML + " main.js");
/*
        var submitForm = document.createElement("FORM");
        document.body.appendChild(submitForm);
        submitForm.method = "POST";
        //var newElement = document.createElement("<input name='loadLang' type='hidden'>");
        var newElement = document.createElement("input");
        newElement.name = "default";
        newElement.type = "hidden";
        submitForm.appendChild(newElement);
        newElement.value = "reload";
        submitForm.action= "index.jsp";
        submitForm.submit();
*/
  }

}

// a logout request. 
function logout() {
  // remove all basket items.
    document.getElementById("basket_image").style.display = "none";
    inBasket = false;
    // set small image view.
    setView(0);
    displayLink('newMain');
    language = 1;
    document.getElementById("right_cell_2").innerHTML = "<span id=\"stepHolder\" class=\"normal_link\" onclick=\"loadLang('1')\">English</span>";

    makeRequest("menuDisplay.jsp?logout=true","menuDisplay",new Array("initialize"));
}

// Navigate results width gotopage functions.

function gotoHotId(hotId){
    document.getElementById("rotater").style.display = "";
  // Change thumbnail page.
  query = document.getElementById("box_search").value;
//ndc.updlastDispId = hotId;
//alert("hotId main.js" + hotId);
ndc.currentpage = hotId;
//alert("main.js hotoHotId : " + ndc.currentpage);

  // load thumbinfo display
  showThumbInfoDisplay();
  makeRequest("pageDisplay.jsp?currentpage=1&hotid=" + hotId + "&hits=" + ndc.hits, "pageDisplay", new Array() );

}

function gotopage(page) {
document.getElementById("rotater").style.display = "";
  // Change thumbnail page.
  query = document.getElementById("box_search").value;

  // load thumbinfo display
  showThumbInfoDisplay();
  // display searchQuery.
//  displaySearchQuery(query);
  // displayInfoholder
//  displayInfoHolder("Mera information&nbsp;&nbsp;");

//alert("main.js gotopage " + ndc.currentpage);
//alert("main.js gotopage " + page);

    if (page < 1) page = 0;


  if ( page == -1 ) {
    makeRequest("pageDisplay.jsp?currentpage=" + ndc.currentpage + "&hits=" + ndc.hits, "pageDisplay", new Array("noinit") );
  } else {
//    alert("ndc.maxpage: " + ndc.maxpage + " page: " + page);
    if ( (!ndc.maxpage) || (page <= ndc.maxpage) ) {
      ndc.currentpage = page;
      //makeRequest("pageDisplay.jsp?currentpage=" + page + "&hits=" + ndc.hits, "pageDisplay", new Array() );
      //test hotid.
    makeRequest("pageDisplay.jsp?hotid=" + page + "&currentpage=" + page + "&hits=" + ndc.hits, "pageDisplay", new Array() );
    }
  }

}

function displayPhotographer(bylineIn){
    document.getElementById("topInfo").innerHTML = "";
    document.getElementById("right_cell_2").innerHTML = "";
    document.getElementById("topInfoRight").innerHTML = "";
    document.getElementById("dragback2").style.display = "none";
    var nowmilisec = new Date().getMilliseconds();

    makeRequest("photographer.jsp?bylineIn=" + bylineIn + "&now=" + nowmilisec, "photographer", new Array("nonav") );
}
function displayLink(link) {

document.getElementById("topInfo").innerHTML = "";
document.getElementById("right_cell_2").innerHTML = "";
document.getElementById("topInfoRight").innerHTML = "";
document.getElementById("dragback2").style.display = "none";

  if (link != "Admin"){
    makeRequest("pageDisplay.jsp?" + link, "pageDisplay", new Array("nonav") );
  } else {
    document.location = "admin/admin.jsp";
  }
}

// display download page
function displayDownload(imageid){
  document.getElementById("rotater").style.display = "";
  makeRequest("pageDisplay.jsp?download=" + imageid, "pageDisplay", new Array() );
}

// display request page
function displayRequest(imageid){
  document.getElementById("rotater").style.display = "";
  makeRequest("pageDisplay.jsp?request=" + imageid, "pageDisplay", new Array() );
}

// display request page
function addtobasket(imageid, userId){
  document.getElementById("rotater").style.display = "";
//  alert("add this image to my basket! : " + imageid + " for userId : " + userId);
  makeRequest("xmlImageHandler.jsp?imageId=" + imageid + "&action=addToBasket&arcId=1", "xmlImageHandler", new Array());

}

function addSelectedToBasket(){
//alert(imc.getCheckedIds());
  document.getElementById("rotater").style.display = "";
  makeRequest("xmlImageHandler.jsp?dataIn=" + imc.getCheckedIds() + "&action=addToBasket&arcId=1", "xmlImageHandler", new Array());
}

function removeSelectedFromBasket(){
//alert(imc.getCheckedIds());
  document.getElementById("rotater").style.display = "";
  makeRequest("xmlImageHandler.jsp?dataIn=" + imc.getCheckedIds() + "&action=removeFromBasket&arcId=1", "xmlImageHandler", new Array());

}

function viewBasket(){
  inBasket = true;
  displayInfoHolder("");
//  displayBasketIcon(false);
    document.getElementById("lbox_img").src = "images/folder_lightbox_open.gif"
//    document.getElementById("basket_image").style.display = "none";
    document.getElementById("basket_image").style.display = "";

  document.getElementById("rotater").style.display = "";
  makeRequest("xmlSearch.jsp?basket=true", "xmlSearch", new Array() );
}

// Display searchQuery
function displaySearchQuery(query) {
  // Display what the user is searching for
  document.getElementById("searchQuery").innerHTML = query;
}

// Display searchQuery

// Display InfoHolder
function displayInfoHolder(info){
  // if this is a klicked search then have more information regarding this search.
  document.getElementById("dataHolder").innerHTML = info;
}


// Enter keypress detection

function key(evt, field) {
    var code = evt.which ? evt.which : evt.keyCode;
    if (code == 13) {
        if (field == "searchSubmit") {
          freeTextSearch();
        }
        if (field == "login") {
          login();
        }
    }
}
// DISPLAY QUICK DATA FOR THUMBNAIL

function displayQuickData(data){
//alert(id);
//  document.getElementById("infoHolder").innerHTML = "&nbsp;&nbsp;" + data;

  document.getElementById("infoHolder").innerHTML = data;
}

// DISPLAY QUICK DATA FOR THUMBNAIL

// Load Preview dispay html setup
function showPreviewInfoDisplay(){
  document.getElementById("thumbnailTag").style.display = "none";
  document.getElementById("previewTag").style.display = "";
}
// Load Preview dispay html setup

// load thumb display html setup
function showThumbInfoDisplay(){
  document.getElementById("thumbnailTag").style.display = "";
//  document.getElementById("thumbnailTag").style.width = 504 + (viewsize * 252);
  document.getElementById("previewTag").style.display = "none";
//  alert("debug");
}

// load thumb display html setup
var editingResId = 0;
function pStep(direction, resId, oldImgId) {
document.getElementById("rotater").style.display = "";
//alert("resId :" + resId);

editingResId = resId;
  if ( (direction == "right") && (editingResId < (ndc.hits -1 ) ) ) {
    editingResId++;
    makeRequest("xmlPreviewStep.jsp?oldImgId=" + oldImgId + "&resId=" + editingResId,"xmlPreviewStep", new Array());
  } else if ((direction == "left") && (editingResId > 0)) {
    editingResId--;
    makeRequest("xmlPreviewStep.jsp?oldImgId=" + oldImgId + "&resId=" + editingResId,"xmlPreviewStep", new Array());
  }
}


// PREVIEW IMAGE --------------------------------------------------------------

function preview(firstDispId, id, currentHit, caption, keyword, size, mr, userId, byline) {
    //alert("main.js : " + language);
  updateUrl('preview');
  showPreviewInfoDisplay();
  document.getElementById("rotater").style.display = "";
  var query = document.getElementById("searchQuery").innerHTML;
  var kwArray = keyword.split(" ");
  var kw = "";
  for (var i=0; i < kwArray.length; i++){
    kw += "<span class=\"normal_link\" onmouseover=\"this.style.color='#ffa200';\" onmouseout=\"this.style.color='#000000';\" onclick=\"keywordSearch('" + kwArray[i] + "');\">" + kwArray[i] + " </span>"
  }
  var addToBasket = "";
  if (userId != -1){
//      if (document.getElementById("basket_image").style.display == "") {
//      if (inBasket == false) {
      if (inBasket == "false") {
        addToBasket = "&nbsp;&nbsp;&nbsp;<span onmouseover=\"this.style.color='#ffa200';\" class=\"normal_link\" onmouseout=\"this.style.color='#000000';\" onclick=\"addtobasket('" + id + "', '" + userId + "');\">" + gw('lägg&nbsp;i&nbsp;ljusbord', 1)+ "</span>";
      }
  }
// + "onclick=\"menuSearch('byline','kalle Olsson')\"" +
  document.getElementById("topInfo").innerHTML = query + "<span onmouseover=\"this.style.color='#ffa200';\" onmouseout=\"this.style.color='#000000';\" class=\"normal_link\" onclick=\"menuSearch('byline','" + byline + "')\">" + byline + "</span>&nbsp;&nbsp;&nbsp;" + gw('bildnummer', 1)+ ":&nbsp;" + id + "&nbsp;&nbsp;&nbsp;" + gw('bildtext', 1) + ":&nbsp;" + caption + "&nbsp;&nbsp;&nbsp;" + gw('bildstorlek', 1) + ":&nbsp;" + size + "&nbsp;Mb";

  var appendMe = "&nbsp;&nbsp; <span class=\"normal_link\" onmouseover=\"this.style.color='#ffa200';\" onmouseout=\"this.style.color='#000000';\" onclick=\"displayDownload(" + id + ");\">" + gw('ladda hem bild', 1) + "</span>" +
  addToBasket + "&nbsp;&nbsp; <span class=\"normal_link\" onmouseover=\"this.style.color='#ffa200';\" onmouseout=\"this.style.color='#000000';\" onclick=\"displayRequest('" + id + "');\">" + gw('förfrågan', 1) + "</span>" +
//  "&nbsp;&nbsp;&nbsp;<span class=\"normal_link\" onmouseover=\"this.style.color='#ffa200';\" onmouseout=\"this.style.color='#000000';\" onclick=\"gotopage(-1);\">" + gw('tillbaka', 1) + "</span>";
"&nbsp;&nbsp;&nbsp;<span class=\"normal_link\" onmouseover=\"this.style.color='#ffa200';\" onmouseout=\"this.style.color='#000000';\" onclick=\"gotoHotId(" + firstDispId + ");\">" + gw('tillbaka', 1) + "</span>";

  document.getElementById("bottomInfo").style.display = "none";
//  document.getElementById("topInfo").innerHTML += '&nbsp;&nbsp;&nbsp;<span class="normal_link" onclick="pStep(\'right\', ' + currentHit + ', ' + id + ')">+</span>\n';
  document.getElementById("topInfoRight").align = "right";
//  document.getElementById("topInfoRight").innerHTML = '&nbsp;&nbsp;&nbsp;<span class="normal_link" onclick="pStep(\'right\', ' + currentHit + ', ' + id + ')">+</span>\n';



  var topInfoRightInfo = '<img src=\"images/plus_grey.gif\" style=\"cursor: pointer; border: none;\" onclick=\"pStep(\'right\', ' + currentHit + ', ' + id + ')\" />\n ';
  document.getElementById("topInfoRight").innerHTML = topInfoRightInfo;

//  var testElement = document.getElementById("topInfoRight");
//  document.getElementById("topInfoRight").innerHTML = "";
//  document.getElementById("topInfoRight").innerHTML = "Jernis";


//  alert("main : topInfoRightInfo : " + topInfoRightInfo);
//  alert("main : topInfoRight : " + document.getElementById('topInfoRight').innerHTML);


  var topInfoInfo = "<br />" + gw('sökord', 1) + ":&nbsp;" + kw + "&nbsp;&nbsp;&nbsp;Model&nbsp;Released:&nbsp;" + gw(mr.toLowerCase(), 1) + appendMe;
  document.getElementById("topInfo").innerHTML += topInfoInfo;

//  alert("main : topInfoInfo : " + topInfoInfo);
//  alert("main : topInfo : " + document.getElementById("topInfo").innerHTML);

//  alert("main: appendMe" + appendMe);
//  alert("main : previewTag" + document.getElementById("previewTag").innerHTML);
  makeRequest("pageDisplay.jsp?previewimage=" + id, "pageDisplay", new Array("noinit", "noredraw") );
}


// alter link color
function alterColorOnTag(mytag){
  document.getElementById(mytag).style.color = "#ffa200";
 // document.getElementById(mytag).style.text-decoration = "none";
}

function alterColorOffTag(mytag){
  //document.getElementById(mytag).style.color = "#000000";
 // document.getElementById(mytag).style.text-decoration = "none";
}

// NAVIGATION DATA CONTAINER --------------------------------------------------

function navigatorDataContainer() {

  // Current search specific data
  this.hits = 0;

  // Page navigation
  this.currentpage = 0;
  this.pagestart = 0;
  this.pagestop = 0;
  this.maxpage = false;

  // Miscellanous
  this.executionTime = 0;
    this.firstDispId = 1;
    this.lastDispId = 0;

  // Reset the object.
  this.reset = function () {
    this.hits = 0;
    this.currentpage = 0;
    this.executionTime = 0;
    this.pagestart = 0;
    this.pagestop = 0;
    this.maxpage = false;
    this.firstDispId = 1;
    this.lastDispId = 0;


  }

  // Display navigation

  this.displayNav = function () {
    var stepHolder = document.getElementById("right_cell_2");

    var output = "";




    if (this.hits > 0)     {

      if (this.pagestop > this.hits) {
        this.pagestop = this.hits - 1;
      }

      output += '<div align="right" style="background-color: #aaa;">';

      if (this.pagestop +1 != this.hits) {
        if ( (this.currentpage < this.maxpage) || (this.maxpage == false) ) {
//          output += '<div style="float: right; margin-left: 0px;"><img src="images/plus_grey.gif" style="cursor: pointer; border: none;" onclick="gotopage(' + (this.currentpage + 1) + ')" /></div>';
            output += '<div style="float: right; margin-left: 0px;"><img src="images/plus_grey.gif" style="cursor: pointer; border: none;" onclick="gotopage(' + this.lastDispId + ')" /></div>';

        }
      }

      if (this.currentpage > 0) {
        output += '<div style="float: right; margin-right: 5px;"><img src="images/minus_grey.gif" style="cursor: pointer; border: none;" onclick="gotopage(' + (this.currentpage - 10) + ')" /></div>';
      }

//alert("main.js gw(bild) : " + language);

       //output += '<div style="float: right; margin-right: 10px;"><span class="normal">' + gw('bild', 1)+ '&nbsp;<span id="firstimgdisp">' + (this.pagestart + 1) + '</span>&nbsp;-&nbsp;<span id="lastimgdisp">' + (this.pagestop + 1) + '</span>  ' + gw('av', 0)+ ' ' + this.hits + '</span></div>';
       output += '<div style="float: right; margin-right: 10px;"><span class="normal" id="gotoDisp"><span class="normal">' + gw('bild', 1)+ '&nbsp;<span id="firstimgdisp">'+ this.firstDispId +'</span>&nbsp;-&nbsp;<span id="lastimgdisp">'+ this.lastDispId +'</span></span>&nbsp;' + gw('av', 0)+ '&nbsp;' + this.hits + '</span></div>';
    }


    output += '</div>';
//alert("main.js jernis : " + lastDispId);
    stepHolder.innerHTML = output;
  }


}

var ndc = new navigatorDataContainer();


// update dispHolders


// MENU FUNCTIONS -------------------------------------------------------------

function loadMenu() {
  makeRequest("menuDisplay.jsp","menuDisplay",new Array("initialize"));
//  makeRequest("menuDisplay.jsp","menuDisplay",new Array());
}

function switchRootMenu(root) {
  document.getElementById("bylineInfo").innerHTML = "";
  document.getElementById("bylineInfo").style.display = "none";

  if (root == 1) {
    displayLink('advancedSearch');
  }
  makeRequest("menuDisplay.jsp?switchrootmenu=" + root,"menuDisplay",new Array());
}

function switchSubMenu(root,sub) {
  document.getElementById("bylineInfo").innerHTML = "";
  document.getElementById("bylineInfo").style.display = "none";

  makeRequest("menuDisplay.jsp?switchsubmenu&root=" + root + "&sub=" + sub,"menuDisplay",new Array());
}

// MOUSE OVER THUMB -----------------------------------------------------------

function showThumbButtons(id) {
  document.getElementById('imagebutton_' + id).style.display = '';
    if (document.getElementById('colorCoding_' + id) != null) {
    document.getElementById('colorCoding_' + id).style.top = '-128';
    }
  
}

function hideThumbButtons(id) {
  document.getElementById('imagebutton_' + id ).style.display = 'none';
  if (document.getElementById('colorCoding_' + id) != null) {
    document.getElementById('colorCoding_' + id).style.top = '-110';
  }
}

// IMAGE CHECKER --------------------------------------------------------------

function imageChecker() {

  // Object variables.

  var id = new Array();
  var checked = new Array();
  var hitnumber = new Array();
  this.initialized = false;

  // Get hitnumber from an image id

  this.getHitnumber = function (imageId) {
    for (i=0; i<id.length; i++) {
      if (id[i] == imageId) {
        return hitnumber[i];
      }
    }
    return false;
  }


  // Get all checked search ids.

  this.getCheckedIds = function () {
    var ret = new Array();
    for (i = id.length; i > -1; i--) {
      if (this.isChecked(i)) {
        ret.push(hitnumber[i]);
      }
    }

    return ret;
  }


  // Get all checked image ids.

  this.getChecked = function () {
    var ret = new Array();
    for (i = 0; i < id.length; i++) {
      if (this.isChecked(i)) {
        ret.push(id[i]);
      }
    }

    return ret;
  }

  // Get image id from index

  this.get = function (index) {
    return id[index];
  }

  // Get index for an image ID

  this.getIndex = function (imageId) {
    for (i=0; i<id.length; i++) {
      if (id[i] == imageId) {
        return i;
      }
    }

    return false;
  }

  // Check if an image is checked or not, using index.

  this.isChecked = function (index) {
    return checked[index];
  }

  this.updateDisplay = function () {
    return; // disabling this function.
    var display = false;

    for (i=0; i<checked.length; i++) {
      if ( checked[i] == true ) {
        display = true;
      }
    }

    if (display) {
      document.getElementById("markwrap1").style.display = "";
      document.getElementById("markwrap2").style.display = "";
    } else {
      document.getElementById("markwrap1").style.display = "none";
      document.getElementById("markwrap2").style.display = "none";
    }
  }

  // Check/uncheck all images.

  this.allCheck = function (mode) {

    if (this.initialized == false) {
      this.initialize();
    }

    for (var j=0; j<id.length; j++) {
      // Pick out the div-tags with correct ID.

      if ( (mode == "all") && (checked[j] == false) ) {
        document.getElementById(id[j] + "_" + hitnumber[j] ).style.backgroundImage = 'url("' + languagepath + 'pad_dark.gif")';
        checked[j] = true;
      } else if ( (mode == "none") && (checked[j] == true) ) {
        document.getElementById(id[j] + "_" + hitnumber[j] ).style.backgroundImage = 'url("' + languagepath + 'pad.gif")';
        checked[j] = false;
      }
    }

    this.updateDisplay();
  }

  // Initialize images.

  this.initialize = function () {

    if (this.initialized == false) {
      var imgs = document.getElementsByTagName("img");
      var indexStep = 0;

      id = new Array();
      checked = new Array();
      hitnumber = new Array();

      for (i=0; i<imgs.length; i++) {
        if ( imgs.item(i).id.substring(0,imgs.item(i).id.indexOf("_")) == "image" ) {
          var idstr = imgs.item(i).id;
          var numbers = idstr.substring(idstr.indexOf("_") + 1,  idstr.length);
          id[indexStep] = numbers.substring(0, numbers.indexOf("_"));
          hitnumber[indexStep] = numbers.substring(numbers.indexOf("_") + 1, numbers.length);
          checked[indexStep] = false;
          indexStep++;
        }
      }

      this.initialized = true;
      return;

    } else {
      return;
    }
  }

  // Redraw

  this.redraw = function() {
    var indexStep = 0;
    for (i = 0; i < id.length; i++) {
      var elem = document.getElementById("image_" + id[i] + "_" + hitnumber[i] );
//      alert("hmm");

      if ( checked[i] ) {
        elem.style.filter = "alpha(opacity=20)";
        elem.style.opacity = "0.20";
      } else {
        elem.style.filter = "alpha(opacity=100)";
        elem.style.opacity = "1.00";
      }
    }
  }

  // Set checked status for an image

  this.check = function (imageId) {
    var index = 0;

    if (this.initialized == false) {
      this.initialize();
    }

    var index = this.getIndex(imageId);

    if ( checked[index] ) {
      document.getElementById( "image_" + imageId + "_" + this.getHitnumber(imageId) ).style.filter = "alpha(opacity=100)";
      document.getElementById( "image_" + imageId + "_" + this.getHitnumber(imageId) ).style.opacity = "1.00";
      checked[index] = false;
    } else {
      document.getElementById( "image_" + imageId + "_" + this.getHitnumber(imageId) ).style.filter = "alpha(opacity=40)";
      document.getElementById( "image_" + imageId + "_" + this.getHitnumber(imageId) ).style.opacity = "0.40";
      checked[index] = true;
    }

    if (inBasket == false) {
      displayInfoHolder("<span class=\"normal_link\" onclick=\"addSelectedToBasket();\">" + gw('lägg markerade bilder på ljusbordet', 1)+ "</span>&nbsp;&nbsp;&nbsp;<span class=\"normal_link\" onclick=\"viewBasket();\">" + gw('gå till ljusbordet', 1)+ "</span>");
    } else {
      displayInfoHolder("<span class=\"normal_link\" onclick=\"removeSelectedFromBasket();\">" + gw('tabort markerade bilder från ljusbordet', 1)+ "</span>");
    }

    if (this.getChecked().length <= 0) {
      displayInfoHolder("");
    }


    this.updateDisplay();

    return;
  }

  // Get number of images contained

  this.size = function () {
    return id.length;
  }

}


var imc = new imageChecker();


function doSingleWork(set, imageid, hitid) {
    var agree=confirm("Do you wish to " + set + " " + imageid + " Image ?");
    if (agree) {
      makeRequest("xmlImageHandler.jsp?imageId=" + imageid + "&action=" + set + "&dataIn=" + hitid + "&arcId=1", "xmlImageHandler", new Array());
      return true ;
    } else {
      return false ;
    }
}

// take care of user alter settings.
function submitSettings(){
  var email = document.getElementById("box_settings_email").value;
  //var pass1 = document.getElementById("box_settings_pass1").value;
  //var pass2 = document.getElementById("box_settings_pass2").value;
  var imageView = document.getElementById("box_settings_imageview").value;
  var translate = document.getElementById("box_settings_translate").value;

//  alert(document.getElementById("bView").options[document.getElementById("bView").selectedIndex].id)
//  alert(document.getElementById("bView").options.selectedIndex.id)
  // document.getElementById("selected_profile").options[document.getElementById("selected_profile").options.
/*
  var bView = document.getElementById("bView").checked;
  var trans = document.getElementById("trans").checked;

  // Small view
  if (bView) {
    imageView = "2";
  } else {
    imageView = "3";
  }
  */
  imageView = document.getElementById("bView").options[document.getElementById("bView").selectedIndex].id;

  if (imageView == 2) {setView(0);}
  if (imageView == 3) {setView(1);}
  if (imageView == 4) {setView(2);}


  if (document.getElementById("trans").checked) {
    translate = "4";
  } else {
    translate = "3";
  }

  var query = "";

query = "updateSettings=true&email=" + email + "&imgView=" + imageView + "&translate=" + translate;
/*
  if (pass1.length > 4) {
    if (pass1 == pass2){
      query = "updateSettings=true&email=" + email + "&passWord=" + pass1 + "&imgView=" + imageView + "&translate=" + translate;
    } else {
      alert("Lösenord stämmer inte.");
    }
  } else {
    alert("Lösenord för kort.");
  }
*/
//  document.getElementById("settingsform").style.height = 528 + (viewsize * 133);
//  alert(document.getElementById("settingsform").style.height);

//alert("olle");
  makeRequest("pageDisplay.jsp?" + query, "pageDisplay", new Array("nonav") );

}

// take care of requests from the users
function submitQuestion(imageId){
  var question = document.getElementById("question").value;
  var query_from = document.getElementById("query_from").value;
  var query_mail = document.getElementById("query_mail").value;

  document.getElementById("question").value = "";
  document.getElementById("query_from").value = "";
  document.getElementById("query_mail").value = "";

  question += "\n For Imageid " + imageId;

  var appendme = "?question=" + escape(question) + "&from=" + query_from + "&mail=" + query_mail;
  document.getElementById("questionTag").innerHTML = "" + gw('tack för din förfrågan. vi återkommer snarast', 1)+ ".";
  makeRequest("pageDisplay.jsp" + appendme, "pageDisplay", new Array() );

}

function submitAccountReq(){

  var alertMess = "";


  var name = document.getElementById("account_name").value;
  var company = document.getElementById("account_company").value;
  var orgNr = document.getElementById("account_orgnr").value;
  var adress1 = document.getElementById("account_adress1").value;
  var adress2 = document.getElementById("account_adress2").value;
  var zip = document.getElementById("account_zip").value;
  var city = document.getElementById("account_city").value;
  var country = document.getElementById("account_country").value;
  var mail = document.getElementById("account_mail").value;
  var phone = document.getElementById("account_phone").value;
  var psw = document.getElementById("account_psw").value;

  var adress = adress1 + " " + adress2 + " " + zip + " " + city + " " + country;

  var appendme = "&name=" + name + "&company=" + company + "&orgNr=" + orgNr + "&adress=" + adress + "&mail=" + mail + "&phone=" + phone + "&psw=" + psw;

  if (name.length < 1 || adress1 < 1 || zip < 1 || city < 1) {
    alert(gw('saknar information'));
  } else {

  makeRequest("pageDisplay.jsp?newAccount=true" + appendme, "pageDisplay", new Array() );
  }
}

function createAndSubmitForm(formType, formArgs){
    if (formType == "loadLang"){
        var submitForm = document.createElement("FORM");
        document.body.appendChild(submitForm);
        submitForm.method = "POST";
        //var newElement = document.createElement("<input name='loadLang' type='hidden'>");
        var newElement = document.createElement("input");
        newElement.name = "loadLang";
        newElement.type = "hidden";
        submitForm.appendChild(newElement);
        newElement.value = formArgs;
        submitForm.action= "index.jsp";
        submitForm.submit();
    }
}

// load language code.
  function loadLang(langId){
    language = langId;
    //alert("main.js loading lang:" + langId);
    createAndSubmitForm("loadLang", langId);
    //top.location="index.jsp?loadLang=" + langId;
  }




// hit holders

function updfirstDispId(first){
    this.firstDispId = first;
    document.getElementById("firstimgdisp").innerHTML = first;
    
}

function updlastDispId(last){
    this.lastDispId = last;
    document.getElementById("lastimgdisp").innerHTML = last;
}



// auto logout code.

var logoutTicker;

function logoutCommand() {
  // Kill the timer.
  clearTimeout(logoutTicker);

//  makeRequest("logout.jsp?logout=yes", "forceLogout", new Array());
  logout();
}

function pushLogout() {
  clearTimeout(logoutTicker);
  logoutTicker = setTimeout("logoutCommand();", sessionTimeoutMs);
//  logoutTicker = setTimeout("logoutCommand();", 10000);
}

function updateUrl(newUrl){
if (BrowserDetect.browser != "Safari") {
  var cDate = new Date();
  location.href = "#" + cDate.getTime();
}
//alert(BrowserDetect.browser);
}


  function updateBio(photogropher){
    
    bId = document.getElementById("bId").innerHTML;
    bylineIn = document.getElementById("bylineIn").innerHTML;
    mainTextData = document.getElementById("mTextData").value;
    headerTextData = document.getElementById("hTextData").value;
    image1 = document.getElementById("image1Holder").value;
    image2 = document.getElementById("image2Holder").value;
    image3 = document.getElementById("image3Holder").value;
    image4 = document.getElementById("image4Holder").value;
    mall = document.getElementById("mall").value;

//alert(mall);

    //Validate input only numbers is allowed.
    if (isNaN(image1) || isNaN(image2) || isNaN(image3) || isNaN(image4) ) {
        alert("Image number must be numbers. check input!.");
        return;
    }

    makeRequest("photographer.jsp?update=update&bId=" + bId +
    "&bylineIn=" + escape(bylineIn) +
    "&mText=" + escape(mainTextData) +
    "&hText=" + escape(headerTextData) +
    "&iId1=" + image1 +
    "&iId2=" + image2 +
    "&iId3=" + image3 +
    "&iId4=" + image4 +
    "&mid=" + mall, "updatePhotographerBio", new Array() );

    //alert("herbnus main.js");
    setTimeout(function(){displayPhotographer(photogropher);}, 500);
    
  }


function validatePhotoTextInput(targetDiv, maxLength){
    //alert(document.getElementById(targetDiv).value);
    var textIn = document.getElementById(targetDiv).value;
    if (textIn.length > maxLength) {
        document.getElementById(targetDiv).style.backgroundColor = "#f90606";
    } else {
        document.getElementById(targetDiv).style.backgroundColor = "#ffffff";
    }

}


function createNewFormElement(inputForm, elementName, elementValue){
    var newElement = document.createElement("input");
    inputForm.appendChild(newElement);
    newElement.name = elementName;
    newElement.type = 'text';
    newElement.value = elementValue;
    return newElement;
}

pushLogout();


var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();


