var DEF_VAL_SEARCH   = "Search";

var idloop;
var dCusto;
var dPt;

function selectSearchOperator(strFormName, strSearchType) {
   var form = document.forms[strFormName];
   var searchOperator;
   
   if (form == null) {
      _formFatal("cannot find a valid form ("+strFormName+"). Probably because some fields are missing");
      return false;
   }

   //searchOperator = document.getElementById('SearchOperator');
   /*
    * Fixed for seagate.
    */
   searchOperator = document.getElementById('ssdSearchOperator');
   
   searchOperator.value = strSearchType;
   return false;
}

function moveTitleDivs() {
   var left = dCusto.offsetLeft;
   if (left < 120) {
      left += 4;
      dCusto.style.left = left + "px";
      left = dPt.offsetLeft;
      dPt.style.left = (left - 4) + "px";
   } else {
      window.clearInterval(idloop);
   }
}

function moveTitle() {
   dCusto = document.getElementById("custolounge");
   dPt = document.getElementById("pagetitle");
   idloop = window.setInterval(moveTitleDivs, 25);
}

function setContextNav(strGuidedNav, strProductNav, nDocId, bSubmit) {
   var form = document.forms["ssdForm"];
   
   if (form == null)
      return false;

   if (form.GuidedNavItem != null)
      form.GuidedNavItem.value = strGuidedNav;
   
   if (bSubmit)
      form.submit();
      
   return false;
}

function contextNavSearch() {
   var form = document.forms["ssdForm"];

   if (form == null) {
      alert("form not found");
      return false;
   }
   
   form.DocId.value = '';
   
   form.submit();
   
   return false;
}

function focusField(obj, defaultValue) {
   // removes the initial value from the search field
   if (obj.value==defaultValue) {
      obj.value = '';
      obj.setAttribute('class', 'ssdsearchfocused');
   }
}

function blurField(obj, defaultValue) {
   // assigns default value, if no value has been entered
   if (obj.value=='') {
      obj.value = defaultValue;
      obj.setAttribute('class', 'ssdsearchunfocused');
   }
}

function focusSearch(obj) {
   focusField(obj, DEF_VAL_SEARCH);
}
function blurSearch(obj) {
   blurField(obj, DEF_VAL_SEARCH);
}

/* Resize the iframe of the blob renderer */
function ssdFrameSizerById(idFrame, width, strBgColor) {
   ssdFrameSizer(document.getElementById(idFrame), width, strBgColor);
   
//   alert("fired: " + idFrame);
}

/* iframe re-sizer */
function ssdFrameSizer(theFrame, width, strBgColor) {
   var framewidth = "600";
   if (width!=null) framewidth = width;
   try {
      var innerDoc;
      if (theFrame.Document)                    innerDoc = theFrame.Document;
      else if (theFrame.contentDocument)        innerDoc = theFrame.contentDocument;
      else if (theFrame.contentWindow.document) innerDoc = theFrame.contentWindow.document;
      else {
         window.status = "unable to resize the iframe...";
         return;
      }
      objToResize = (theFrame.style) ? theFrame.style : theFrame;

      objToResize.width = framewidth+"px";

      var strHeight;
      if (innerDoc.documentElement.scrollHeight>innerDoc.body.scrollHeight)
         strHeight = innerDoc.documentElement.scrollHeight + 25;
      else
         strHeight = innerDoc.body.scrollHeight + 25;
      //if (strHeight<125) 
      //   strHeight = 125;
      objToResize.height = strHeight + "px";

      innerDoc.getElementsByTagName("body")[0].style.backgroundColor = strBgColor;
      innerDoc.getElementsByTagName("html")[0].style.backgroundColor = strBgColor;
   } catch (e) {
      window.status = e.message;
   }
}

function handleCharForLogin(strFormName, pwInputName, evt) {
   var nCharCode;
   if (evt.keyCode != null)
      nCharCode = evt.keyCode;
   else if (evt.which != null)
      nCharCode = evt.which;
   if (nCharCode == 13) {
      ilSetFieldFocus(strFormName, pwInputName);
      return false;
   }
   return true;
}

function handleCharForPassword(strFormName, evt, strFunc) {
   var nCharCode;
   if (evt.keyCode != null)
      nCharCode = evt.keyCode;
   else if (evt.which != null)
      nCharCode = evt.which;
   if (nCharCode == 13) {
      eval(strFunc);
      return false;
   }
   return true;
}

function loginFormSubmit() {
   var form = document.forms["loginForm"];
   
   form.submit();
   
   return false;
}

/* Functions from IL */
function ilSetFieldFocus(strFormName, strFieldName) {
   return _ilSetFocus(strFormName, strFieldName, false, false, true);
}

function _ilSetFocus(strFormName, strFieldName, bSelectField, bEditableField, bExactFieldName) {
   var form = document.forms[strFormName];
   if (form == null) {
      alert("Cannot find a valid form ("+strFormName+"). Probably because some fields are missing");
      return false;
   }

   if (bExactFieldName == true) {
      if (strFieldName != null && strFieldName.length > 0) {
         var field;
         field = form.elements[strFieldName];

         return _ilFocusField(strFormName, field, bSelectField, bEditableField);
      }
   } else {
      var i;
      var currentElement;

      for (i=0; i<form.elements.length; i++) {
         currentElement = form.elements[i];
         if (currentElement.type == "hidden") {
            continue;
         }

         if (strFieldName != null && strFieldName.length > 0) {
            var strName = currentElement.name.toLowerCase();
            if (strName.indexOf(strFieldName.toLowerCase()) == -1) {
               continue;
            } else {
               if (_ilFocusField(strFormName, currentElement, bSelectField, bEditableField))
                  return true;
            }
         } else {
            if (_ilFocusField(strFormName, currentElement, bSelectField, bEditableField))
               return true;
         }
      }
   }
   return false;
}

function _ilFocusField(strFormName, field, bSelectField, bEditableField) {
   if (bEditableField) {
      if ((field.type != "text" && field.type != "textarea") || field.disabled == true)
         return false;
   }

   try {
      field.focus();
      if (bSelectField == true)
         field.select();
   } catch (e) {
      return false;
   }
   return true;
}

function openPopup(popupName, url, width, height) {
   var strFeatures = "toolbar=0,location=0,directories=0,status=0,resizable=1,copyhistory=0,menuBar=0,width="+width+",height="+height;

   var newPopup = window.open(url, popupName, strFeatures);
}

function DocSubscribeSubmit(strFormName, docId) {
   var form = document.forms[strFormName];

   form.submit();
   /*
   var openerForm = window.opener.document.forms["ssdForm"];
   
   if (! openerForm.DocId)
      openerForm.innerHTML += "<input type='hidden' name='DocId' value='" + docId + "' />";
   openerForm.submit();
    */
   return false;
}

function SubscriptionManagementSubmit(strFormName, strUrl) {
   var form = document.forms[strFormName];
   form.action = strUrl;

   form.submit();

   var openerForm = window.opener.document.forms["ssdForm"];

   openerForm.submit();

   return false;
}

function SubscriptionManagementChangeMail(strFormName, strUrl) {
   var form = document.forms[strFormName];
   form.action = strUrl;
   form.Done.value = "";

   form.submit();
   
   return false;
}

function changePage (strFormName, strPageName, strPage) {
   var form = document.forms['ssdForm'];
   
   var page = eval("form."+strPageName);
   page.value=strPage;
   
   form.submit();
   
   return false;
}