function ReloadNavigation()
{
  frames['Navigation_IFrame'].location.replace(frames['Navigation_IFrame'].location.href);
  frames['Banner_IFrame'].location.replace(frames['Banner_IFrame'].location.href);
  document.getElementById('Navigation_IFrame').height = document.getElementById('PageContent').clientHeight;
}


function cmbBreeds_AfterCloseUp(webComboId)
{
  if(NewBreed(webComboId) == false)
  {
  }
}

function cmbBreeds_AfterSelectChange(webComboId)
{
  var oCombo = igcmbo_getComboById(webComboId);

  if(oCombo.getDropDown() == false)
  {
    if(NewBreed(webComboId) == false)
    {
    }
  }
}

function NewBreed(webComboId)
{
  var oGrid = igtbl_getGridById('grdDogs');
  var oCombo = igcmbo_getComboById(webComboId);
  var oCell = igtbl_getCellById(oGrid.ActiveCell);

  if(oCombo.dataValue == 0)
  {
    var NewBreedName = prompt(document.getElementById('NewBreedDescription').value, '');
    if(NewBreedName == null)
    {
      return false;
    }
    else
    {
      if(NewBreedName == '')
      {
        return false;
      }
      else
      {
        document.getElementById('NewBreedName').value = NewBreedName;
        document.getElementById('ActiveRow').value = oCell.Row.getIndex();
        document.forms[0].submit();
        return true;
      }
    }
  }
  else
  {
    return true;
  }
}

function grdDogs_AfterRowInsertHandler(gridName, RowId)
{
  var oGrid = igtbl_getGridById(gridName);
  var oRow = oGrid.Rows.getRowById(RowId);
  var oCell = oRow.getCellFromKey('Portrait');
  oCell.Element.style.visibility = 'hidden';
}

function SetFocus()
{
  if(document.getElementById('FocusField').value == '')
  {
    return;
  }
  try 
  {
    document.getElementById(document.getElementById('FocusField').value).select() 
  }
  catch(e)
  {
    document.getElementById(document.getElementById('FocusField').value).focus() 
  }
}

function SelectUnselectGridRows(gridName)
{
  var oGrid = igtbl_getGridById(gridName); 
  var oRows = oGrid.Rows;
  var answer = false;
  
  if(document.getElementById('SelectionFlag').value != 'true')
  {
    answer = confirm(document.getElementById('MemberTypeConfirmDesc').value);
  }

  for(i=0; i<oRows.length; i++) 
  {
    oRow = oRows.getRow(i);
    if(document.getElementById('SelectionFlag').value != 'true')
	  {
	  if((answer) || (oRow.getCellFromKey('MemberType').getValue() != 'I'))
	  {
	    oRow.setSelected(true);
	  }
	}
	else
	{
	  oRow.setSelected(false);
	}
  }
  //change flag
  if(document.getElementById('SelectionFlag').value != 'true')
  {
    document.getElementById('SelectionFlag').value = 'true';
  }
  else
  {
    document.getElementById('SelectionFlag').value = 'false';
  }
}

function grdMembers_ClickCellButtonHandler(gridName, cellId)
{

  var oCell = igtbl_getCellById(cellId);
  var oGrid = igtbl_getGridById(gridName);

  //check for delete button
  if(oCell.Column.Key == 'DeleteEntry')
  {
    //user decision
    var Decision = confirm(document.getElementById('DeleteMemberText').value);
    if(Decision != true)
    {
      oGrid.CancelPostBack = true;
    } 
  }
}

function ResizeMessageDropDown()
{
  var oCombo = igcmbo_getComboById('cmbMessage');
  oCombo.getGrid().MainGrid.style.width = oCombo.inputBox.clientWidth;
}

function ResizeCollectionDropDown()
{
  var oCombo = igcmbo_getComboById('cmbCollection');
  oCombo.getGrid().MainGrid.style.width = oCombo.inputBox.clientWidth;

  var oCombo = igcmbo_getComboById('cmbAssignment');
  oCombo.getGrid().MainGrid.style.width = oCombo.inputBox.clientWidth;
}

function ConfirmMessageDeletion()
{
  var oCombo = igcmbo_getComboById('cmbMessage');

  if(oCombo.getDisplayValue() != '')
  {
    return confirm(document.getElementById('DeleteMessageText').value);
  }

  return false;
}

function EnterNewMessageTitle(ctrl)
{
  var oCombo = igcmbo_getComboById('cmbMessage');

  //check if combox is empty
  if(oCombo.getSelectedIndex() != 0 && ctrl.id == "cmdSave")
  {
    return true;
  }

  var NewMessageTitle = prompt(document.getElementById('NewMessageTitleDesc').value,'');  

  if(NewMessageTitle == null)
  {
    return false;
  }
  else
  {
    if(NewMessageTitle == '')
    {
      return false;
    }
    document.getElementById('NewMessageTitle').value = NewMessageTitle;
    return true;
  }
}

function GeneralGrid_BeforeRowDeletedHandler(gridName, rowId)
{
  var Decision = confirm(document.getElementById('GeneralDeletionText').value);
  if(Decision != true)
  {
    return true;
  }
}

function cmbSelectionChanged(webComboId)
{
  var doc = WYSIWYG.getEditorWindow('txtMessage').document;
  var oCombo = igcmbo_getComboById(webComboId);
  var HTMLText = '';

  //check for initial control
  if(oCombo.getSelectedIndex()==(-1))
  {
    return;
  }
  //check for no changes in selection
  if(oCombo.getSelectedIndex()==0)
  {
    oCombo.setDisplayValue(oCombo.getGrid().Rows.getRow(0).cells[1].getValue());
    return;
  }
  //insert field text
  HTMLText = oCombo.getGrid().getActiveRow().cells[0].Value;
  oCombo.getGrid().setActiveRow(oCombo.getGrid().Rows.getRow(0));
  oCombo.setDisplayValue(oCombo.getGrid().Rows.getRow(0).cells[1].getValue());
  oCombo.setDropDown(false);
  InsertHTML('txtMessage', 'TextSelectionStart', 'TextSelectionEnd', HTMLText);
  //save selection
  SaveSelectionPositions('txtMessage', 'TextSelectionStart', 'TextSelectionEnd', null);
}

function SaveSelectionPositions(TextareaID,StartValElementID,EndValElementID,e)
{
  //check if test flag is set
  if(testRun())
  {
    debugger;
  }
  //check for initial deletion
  if(document.getElementById('deleteSelection').value == 1)
  {
    var range = WYSIWYG.getSelection(TextareaID).createRange();
    range.moveToPoint(e.x, e.y);
    range.select();
  }
  //get type of Browser
  if (WYSIWYG_Core.isMSIE) 
  {
    //Internet Explorer
    // get editor document
    var doc = WYSIWYG.getEditorWindow(TextareaID).document;
    // get current selection
    var sel = WYSIWYG.getSelection(TextareaID);
    var innerTextBody = doc.body.innerText;
    var totalLength = innerTextBody.length;
    var range = sel.createRange();
    var dpl = range.duplicate();
    dpl.moveToElementText(doc.body);
    dpl.setEndPoint("StartToEnd", range);
    endPosition = totalLength - dpl.text.length;
    endPosition = endPosition - getCRLFNumber(innerTextBody.substr(0, endPosition));
    dpl.setEndPoint("StartToStart", range);
    startPosition = totalLength - dpl.text.length;
    startPosition = startPosition - getCRLFNumber(innerTextBody.substr(0, startPosition));
    //ensure start position is always lower value
    if(startPosition > endPosition)
    {
      var tmpEndPosition = startPosition;
      startPosition = endPosition;
      endPosition = tmpEndPosition;
    }
    //set values
    document.getElementById(StartValElementID).value = startPosition;
    document.getElementById(EndValElementID).value = endPosition;
  }
  //reset value for deletion of selection
  document.getElementById('deleteSelection').value = 0;
}

function UnsavedChanges()
{

  if(document.getElementById('ChangeFlag').value != '')
  {
    //hide controls to avoid error behavior in Firefox
    document.getElementById('txtMessage').style.visibility = 'hidden';
    igcmbo_getComboById('cmbTabField').setVisible(false);
    igcmbo_getComboById('cmbSpecField').setVisible(false);
    igcmbo_getComboById('cmbIf').setVisible(false);
    igcmbo_getComboById('cmbOperator').setVisible(false);
    igcmbo_getComboById('cmbCondValue').setVisible(false);
    igcmbo_getComboById('cmbThen').setVisible(false);
    igcmbo_getComboById('cmbElse').setVisible(false);
    document.getElementById('lblTableField').style.visibility = 'hidden';
    document.getElementById('lblSpecialField').style.visibility = 'hidden';
    document.getElementById('lblIf').style.visibility = 'hidden';
    document.getElementById('lblThen').style.visibility = 'hidden';
    document.getElementById('lblElse').style.visibility = 'hidden';
    document.getElementById('cmdInsert').style.visibility = 'hidden';
    document.getElementById('cmdReset').style.visibility = 'hidden';

    //user decision
    var Decision = confirm(document.getElementById('UnsavedChangeDesc').value);
    if(Decision != true)
    {

      var oCombo = igcmbo_getComboById('cmbMessage');
      oCombo.setDropDown(false);
      //to avoid complete processing of this function as result of selected index changed temporary reset of change flag
      document.getElementById('ChangeFlag').value = '';
      oCombo.setSelectedIndex(oCombo._oldSelectedIndex);
      document.getElementById('ChangeFlag').value = 'X';
      //unhide hidden controls
      document.getElementById('txtMessage').style.visibility = '';
      igcmbo_getComboById('cmbTabField').setVisible(true);
      igcmbo_getComboById('cmbSpecField').setVisible(true);
      igcmbo_getComboById('cmbIf').setVisible(true);
      igcmbo_getComboById('cmbOperator').setVisible(true);
      igcmbo_getComboById('cmbCondValue').setVisible(true);
      igcmbo_getComboById('cmbThen').setVisible(true);
      igcmbo_getComboById('cmbElse').setVisible(true);
      document.getElementById('lblTableField').style.visibility = '';
      document.getElementById('lblSpecialField').style.visibility = '';
      document.getElementById('lblIf').style.visibility = '';
      document.getElementById('lblThen').style.visibility = '';
      document.getElementById('lblElse').style.visibility = '';
      document.getElementById('cmdInsert').style.visibility = '';
      document.getElementById('cmdReset').style.visibility = '';
      return false;
    }
    else
    {
      return true;
    }
  }
  else
  {
    return true;
  }
}

function ResetFormula()
{
  var oCombo = igcmbo_getComboById('cmbIf');
  oCombo.getGrid().setActiveRow(oCombo.getGrid().Rows.getRow(0));
  oCombo.setDisplayValue(oCombo.getGrid().Rows.getRow(0).cells[1].getValue());
  oCombo.setDropDown(false);

  var oCombo = igcmbo_getComboById('cmbOperator');
  oCombo.getGrid().setActiveRow(oCombo.getGrid().Rows.getRow(0));
  oCombo.setDisplayValue('');
  oCombo.setDropDown(false);

  var oCombo = igcmbo_getComboById('cmbCondValue');
  oCombo.getGrid().setActiveRow(oCombo.getGrid().Rows.getRow(0));
  oCombo.setDisplayValue('');
  oCombo.setDropDown(false);

  var oCombo = igcmbo_getComboById('cmbThen');
  oCombo.getGrid().setActiveRow(oCombo.getGrid().Rows.getRow(0));
  oCombo.setDisplayValue('');
  oCombo.setDropDown(false);

  var oCombo = igcmbo_getComboById('cmbElse');
  oCombo.getGrid().setActiveRow(oCombo.getGrid().Rows.getRow(0));
  oCombo.setDisplayValue('');
  oCombo.setDropDown(false);
}

function cmbCondValue_AfterCloseUp(webComboId)
{

  var oCombo = igcmbo_getComboById(webComboId);

  //check if initial row selected
  if(oCombo.getSelectedIndex()==0)
  {
    oCombo.setDisplayValue('');
  }

}

function BuildFormula()
{
  var oIf   = igcmbo_getComboById('cmbIf');  
  var oOperator = igcmbo_getComboById('cmbOperator');  
  var oCondValue = igcmbo_getComboById('cmbCondValue');  
  var oThen = igcmbo_getComboById('cmbThen');
  var oElse = igcmbo_getComboById('cmbElse');

  var FormulaString;
  var CondValueString;
  var ThenValueString;
  var ElseValueString;
  var SelectionMove = 0;

  //check if Condition value is variable or string
  if(oCondValue.getSelectedIndex() < 1)
  {
    CondValueString = '\'' + oCondValue.inputBox.value + '\'';
  }
  else
  {
    if(oCondValue.getGrid().Rows.getRow(oCondValue.getSelectedIndex()).cells[1].getValue() == oCondValue.displayValue)
    {
      CondValueString = oCondValue.dataValue;
    }
    else
    {
      CondValueString = '\'' + oCondValue.displayValue + '\'';
    }
  }

  //check if IF value is variable or string
  if(oThen.getSelectedIndex() < 1)
  {
    ThenValueString = '\'' + oThen.inputBox.value + '\'';
  }
  else
  {
    if(oThen.getGrid().Rows.getRow(oThen.getSelectedIndex()).cells[1].getValue() == oThen.displayValue)
    {
      ThenValueString = oThen.dataValue;
    }
    else
    {
      ThenValueString = '\'' + oThen.displayValue + '\'';
    }
  }

  //check if ELSE value is variable or string
  if(oElse.getSelectedIndex() < 1)
  {
    ElseValueString = '\'' + oElse.inputBox.value + '\'';
  }
  else
  {
    if(oElse.getGrid().Rows.getRow(oElse.getSelectedIndex()).cells[1].getValue() == oElse.displayValue)
    {
      ElseValueString = oElse.dataValue;
    }
    else
    {
      ElseValueString = '\'' + oElse.displayValue + '\'';
    }
  }

  //check for next formula
  if(ElseValueString == 'FORMULA')
  {
    alert(document.getElementById('FormulaCaretPos').value);
    ElseValueString = '';
    SelectionMove = -2;
  }

  //check for next record formula
  if(oThen.getSelectedIndex() == 1 && oThen.getGrid().Rows.getRow(1).cells[1].getValue() == oThen.displayValue)
  {
    FormulaString = '{ NEXTIF ' + oIf.dataValue + '&nbsp;' + oOperator.dataValue + '&nbsp;' + CondValueString + ' }';
  }
  else
  {
    FormulaString = '{ IF ' + oIf.dataValue + '&nbsp;' + oOperator.dataValue + '&nbsp;' + CondValueString + '&nbsp;' + ThenValueString + '&nbsp;' + ElseValueString + ' }';
  }

  //calculate selection movement
  if(SelectionMove != 0)
  {
    FormulaString = '/' + SelectionMove +'/' + FormulaString;
  }
 
  return FormulaString;
}

function InsertFormula()
{
  var SelectionMove = 0;

  //check for valid formula
  if(CheckFormula() != 'true')
  {
    alert(document.getElementById('FormulaError').value);
    return;
  }
  var FormulaString = BuildFormula();
  //extract selection movement from formula string
  if(FormulaString.substr(0,1) == '/')
  {
    SelectionMove = parseInt(FormulaString.substr(1, FormulaString.indexOf('/', 1) - 1));
    FormulaString = FormulaString.substr(FormulaString.indexOf('/', 1) + 1);
  }
  //insert formula
  InsertHTML('txtMessage', 'TextSelectionStart', 'TextSelectionEnd', FormulaString)  
  //init formula fields
  ResetFormula();
  //set change flag
  document.getElementById('ChangeFlag').value = 'X';
  //move caret position if requried
  if(SelectionMove != 0)
  {
    //get selection
    var sel = WYSIWYG.getSelection('txtMessage');
    //get type of Browser
    if (WYSIWYG_Core.isMSIE) 
    {
      var range = sel.createRange();
      range.move('character', SelectionMove);
      range.select();
      SaveSelectionPositions('txtMessage', 'TextSelectionStart', 'TextSelectionEnd', null);
    }
    else
    {
      if(sel.anchorNode.previousSibling.childNodes.length == 1)
      {
        var range = sel.getRangeAt(0);
        //get start range
        var startRange = sel.anchorNode.previousSibling.firstChild;
        range.setStart(startRange, startRange.textContent.length - 2);
        range.collapse(true);
      }
    }
  }
}

function CheckFormula()
{

  var oCombo = igcmbo_getComboById('cmbIf');
  if(oCombo.getSelectedIndex() < 1)
  {
    return 'false';
  }

  var oCombo = igcmbo_getComboById('cmbOperator');
  if(oCombo.getSelectedIndex() < 1)
  {
    return 'false';
  }

  return 'true';
}

function cmbThen_AfterCloseUp(webComboId)
{
  var oCombo = igcmbo_getComboById(webComboId);

  //check for type NEXT RECORD
  if(oCombo.getSelectedIndex() == 1)
  {
    //check if formula complete
    if(CheckFormula()=='true')
    {
      //insert formula
      InsertFormula();     
    }   
  }
}

function cmbElse_AfterCloseUp(webComboId)
{
  var oCombo = igcmbo_getComboById(webComboId);

  //check for type NEXT RECORD
  if(oCombo.getSelectedIndex() >= 1)
  {
    //check if formula complete
    if(CheckFormula()=='true')
    {
      //insert formula
      InsertFormula();     
    }   
  }
}

function MessageChanged(webComboId)
{
  var oCombo = igcmbo_getComboById(webComboId);
  //ignore selection of initial entry
  if(oCombo.getSelectedIndex() == 0)
  {
    var ChangeFlag = document.getElementById('ChangeFlag').value;
    document.getElementById('ChangeFlag').value = '';
    oCombo.setSelectedIndex(document.getElementById('SelectedIndex').value);
    document.getElementById('ChangeFlag').value = ChangeFlag;
    return true;
  }  
  else
  {
    if(UnsavedChanges() == true)
    {
      return false;
    }
    else
    {
      var ChangeFlag = document.getElementById('ChangeFlag').value;
      document.getElementById('ChangeFlag').value = '';
      oCombo.setSelectedIndex(document.getElementById('SelectedIndex').value);
      document.getElementById('ChangeFlag').value = ChangeFlag;

      return true;
    }
  }
}

function saveSelectedIndex(webComboId)
{
  var oCombo = igcmbo_getComboById(webComboId);
  document.getElementById('SelectedIndex').value = oCombo.getSelectedIndex();
}

function exitMessageAdmin()
{
  return UnsavedChanges();
}

function MailSending()
{
  if(document.getElementById('SendFlag').value == '')
  {
    document.body.style.cursor='wait';
    document.getElementById('SendFlag').value = 'X';
    document.getElementById('txtAttachment1').value = document.getElementById('filAttachment1').value;
    document.getElementById('txtAttachment2').value = document.getElementById('filAttachment2').value;
    document.getElementById('txtAttachment3').value = document.getElementById('filAttachment3').value;
    document.getElementById('txtAttachment4').value = document.getElementById('filAttachment4').value;
    document.getElementById('txtAttachment5').value = document.getElementById('filAttachment5').value;
    return true;
  }
  else
  {
    return false;
  }
}

function checkLength(field, MaxLen) 
{ 
  if (field.value.length > MaxLen)
  {
    // too long...trim it! 
    field.value = field.value.substring(0, MaxLen); 
  }
} 

function GetGuestbookPageData(PreviousId, NextId)
{
  var PageSettings = VATH.Guestbook.GetGuestbookPageData(PreviousId,NextId,document.getElementById('CultureID').value);
  // overwrite table 
  var outerDiv = document.getElementById('TableLiteral');
  var innerDiv = document.getElementById('GBTable');
  //check if inner div already exists
  if(innerDiv != null)
  {
    innerDiv.parentNode.removeChild(innerDiv);
  }

  var innerDiv = document.createElement('div');
  innerDiv.setAttribute('id','GBTable');
  outerDiv.appendChild(innerDiv);

  document.getElementById('GBTable').innerHTML = PageSettings.value.HTTPTable;

  // set table title
  document.getElementById('lblTableTitle1').innerHTML = PageSettings.value.TabTitle;
  document.getElementById('lblTableTitle2').innerHTML = PageSettings.value.TabTitle;
  // enable or disable scroll commands
  if(PageSettings.value.NextID == 0)
  {
    document.getElementById('cmdNext1').disabled = true;
    document.getElementById('cmdNext2').disabled = true;
  }
  else
  {
    document.getElementById('cmdNext1').disabled = false;
    document.getElementById('cmdNext2').disabled = false;
  }
  //write next ID to hidden field
  document.getElementById('NextID').value = PageSettings.value.NextID;
  if(PageSettings.value.PreviousID == 0)
  {
    document.getElementById('cmdPrev1').disabled = true;
    document.getElementById('cmdPrev2').disabled = true;
  }
  else
  {
    document.getElementById('cmdPrev1').disabled = false;
    document.getElementById('cmdPrev2').disabled = false;
  }
  //write previous ID to hidden field
  document.getElementById('PrevID').value = PageSettings.value.PreviousID;

}

function GetPictureGalleryPageData(PreviousId, NextId)
{

  var PageSettings = VATH.PictureGallery.GetPictureGalleryPageData(PreviousId,NextId,document.getElementById('CultureID').value,document.getElementById('txtFilterName').value,document.getElementById('txtFilterComment').value,document.getElementById('SessionID').value);
  // overwrite table 
  var outerDiv = document.getElementById('TableLiteral');
  var innerDiv = document.getElementById('GBTable');
  //check if inner div already exists
  if(innerDiv != null)
  {
    innerDiv.parentNode.removeChild(innerDiv);
  }

  var innerDiv = document.createElement('div');
  innerDiv.setAttribute('id','GBTable');
  outerDiv.appendChild(innerDiv);

  document.getElementById('GBTable').innerHTML = PageSettings.value.HTTPTable;

  // set table title
  document.getElementById('lblTableTitle1').innerHTML = PageSettings.value.TabTitle;
  document.getElementById('lblTableTitle2').innerHTML = PageSettings.value.TabTitle;
  // enable or disable scroll commands
  if(PageSettings.value.NextID == 0)
  {
    document.getElementById('cmdNext1').disabled = true;
    document.getElementById('cmdNext2').disabled = true;
  }
  else
  {
    document.getElementById('cmdNext1').disabled = false;
    document.getElementById('cmdNext2').disabled = false;
  }
  //write next ID to hidden field
  document.getElementById('NextID').value = PageSettings.value.NextID;
  if(PageSettings.value.PreviousID == 0)
  {
    document.getElementById('cmdPrev1').disabled = true;
    document.getElementById('cmdPrev2').disabled = true;
  }
  else
  {
    document.getElementById('cmdPrev1').disabled = false;
    document.getElementById('cmdPrev2').disabled = false;
  }
  //write previous ID to hidden field
  document.getElementById('PrevID').value = PageSettings.value.PreviousID;

}

function PageRefresh()
{
  window.location.reload(); 
}

function ReloadImages()
{

  frRlImg=function (oFrame)
  {
    if(!oFrame){oFrame=window;}
    for(var x=0,y,z=(new Date()).getTime();y=oFrame.document.images[x];x++)
    {
      y.src=y.src+((y.src.indexOf('?')+1)?'&amp;':'?')+z;
    }
    for(var x=0,y=oFrame.frames;y[x];x++)
    {
      frRlImg(y[x]);
    }
  };
  frRlImg();
}

function ResizeNavigation()
{
  document.getElementById('Navigation_IFrame').height = 0;
  document.getElementById('Navigation_IFrame').height = document.getElementById('PageContent').clientHeight;
}

function ResizePictureGrid()
{
  var oGrid = igtbl_getGridById('grdPictures');
  var colWidth0 = oGrid.Bands[0].Columns[0].getWidth();
  var colWidth1 = oGrid.Bands[0].Columns[1].getWidth();
  var colWidth3 = oGrid.Bands[0].Columns[3].getWidth();
  var colWidth2 = oGrid.MainGrid.clientWidth - colWidth0 - colWidth1 - colWidth3 - 52;
  oGrid.Bands[0].Columns[2].setWidth(colWidth2);
}

function EnterNewCollectionTitle(ctrl)
{
  var oCombo = igcmbo_getComboById('cmbCollection');

  //check if combox is empty
  if(oCombo.getSelectedIndex() != 0 && ctrl.id == "cmdSave")
  {
    return true;
  }

  var NewCollectionTitle = prompt(document.getElementById('NewCollectionTitleDesc').value,'');  

  if(NewCollectionTitle == null)
  {
    return false;
  }
  else
  {
    if(NewCollectionTitle == '')
    {
      return false;
    }
    document.getElementById('NewCollectionTitle').value = NewMessageTitle;
    return true;
  }
}

function grdPictures_CellClickHandler(gridName, cellId, button)
{

  var oCell = igtbl_getCellById(cellId);
  var oGrid = igtbl_getGridById(gridName);
  //check for image col
  if(oCell.Column.Key == 'Image')
  {
    //open new page with image
    window.open('../CollectionDetails.aspx?ID=' + oCell.getRow().getCell(3).getValue());
  }
}

function grdPictures_MouseOverHandler(gridName, id, objectType)
{
  if(objectType == 0)
  {
    var oCell = igtbl_getCellById(id);
    if(oCell != null)
    {
      if(oCell.Column.Key == 'Image')
      {
        document.all('grdPictures_main').style.cursor = 'hand';
      }
      else
      {
        document.all('grdPictures_main').style.cursor = '';
      }
    }
    else
    {
      document.all('grdPictures_main').style.cursor = '';
    }
  }
  else
  {
    document.all('grdPictures_main').style.cursor = '';
  }
}

function ConfirmCollectionDeletion()
{
  var oCombo = igcmbo_getComboById('cmbCollection');

  if(oCombo.getDisplayValue() != '')
  {
    return confirm(document.getElementById('DeleteCollectionText').value);
  }

  return false;
}

function EnterNewCollectionTitle(ctrl)
{
  var oCombo = igcmbo_getComboById('cmbCollection');

  //check if combox is empty
  if(oCombo.getSelectedIndex() != 0 && ctrl.id == "cmdSave")
  {
    return true;
  }

  var NewCollectionTitle = prompt(document.getElementById('NewCollectionTitleDesc').value,'');  

  if(NewCollectionTitle == null)
  {
    return false;
  }
  else
  {
    if(NewCollectionTitle == '')
    {
      return false;
    }
    document.getElementById('NewCollectionTitle').value = NewCollectionTitle;
    return true;
  }
}

function grdPictures_GridCornerImageClickHandler(gridName)
{
  var CollectionID = document.getElementById('CollectionID').value;
  if(CollectionID == 0 || document.getElementById('ChangeFlag').value != '')
  {
    alert(document.getElementById('UnableToAddImageText').value);
    return;
  }
  window.location = 'ImageUpload.aspx?CollectionID=' + CollectionID;
}

function cmbAssignment_AfterSelectChange(webComboId)
{
  document.getElementById('ChangeFlag').value='X';
}

function grdPictures_AfterRowDeletedHandler(gridName, rowId)
{
  document.getElementById('ChangeFlag').value='X';
}

function grdPictures_AfterCellUpdateHandler(gridName, cellId)
{
  document.getElementById('ChangeFlag').value='X';
}

function UnsavedCollectionChanges()
{

  if(document.getElementById('ChangeFlag').value != '')
  {
    var oGrid = igtbl_getGridById('grdPictures');
    //hide controls to avoid error behavior in Firefox
    document.getElementById('chkActive').style.visibility = 'hidden';
    igcmbo_getComboById('cmbCollection').setVisible(false);
    document.getElementById('lblAssignment').style.visibility = 'hidden';
    igcmbo_getComboById('cmbAssignment').setVisible(false);
    document.getElementById('lblComment').style.visibility = 'hidden';
    document.getElementById('txtComment').style.visibility = 'hidden';
    oGrid.MainGrid.style.visibility = 'hidden';

    //user decision
    var Decision = confirm(document.getElementById('UnsavedChangeDesc').value);
    if(Decision != true)
    {

      var oCombo = igcmbo_getComboById('cmbCollection');
      oCombo.setDropDown(false);
      //to avoid complete processing of this function as result of selected index changed temporary reset of change flag
      document.getElementById('ChangeFlag').value = '';
      oCombo.setSelectedIndex(oCombo._oldSelectedIndex);
      document.getElementById('ChangeFlag').value = 'X';
      //unhide hidden controls
      document.getElementById('chkActive').style.visibility = '';
      igcmbo_getComboById('cmbCollection').setVisible(true);
      document.getElementById('lblAssignment').style.visibility = '';
      igcmbo_getComboById('cmbAssignment').setVisible(true);
      document.getElementById('lblComment').style.visibility = '';
      document.getElementById('txtComment').style.visibility = '';
      oGrid.MainGrid.style.visibility = '';
      return false;
    }
    else
    {
      return true;
    }
  }
  else
  {
    return true;
  }
}

function CollectionChanged(webComboId)
{
  var oCombo = igcmbo_getComboById(webComboId);
  //ignore selection of initial entry
  if(oCombo.getSelectedIndex() == 0)
  {
    var ChangeFlag = document.getElementById('ChangeFlag').value;
    document.getElementById('ChangeFlag').value = '';
    oCombo.setSelectedIndex(document.getElementById('SelectedIndex').value);
    document.getElementById('ChangeFlag').value = ChangeFlag;
    return true;
  }  
  else
  {
    if(UnsavedCollectionChanges() == true)
    {
      return false;
    }
    else
    {
      var ChangeFlag = document.getElementById('ChangeFlag').value;
      document.getElementById('ChangeFlag').value = '';
      oCombo.setSelectedIndex(document.getElementById('SelectedIndex').value);
      document.getElementById('ChangeFlag').value = ChangeFlag;

      return true;
    }
  }
}

function exitCollectionAdmin()
{
  return UnsavedCollectionChanges();
}

function prepareTextEditor()
{
  //define initial layout
  var mysettings = new WYSIWYG.Settings();
  mysettings.ImagesDir = "../openwysiwyg_v147/images/";
  mysettings.PopupsDir = "../openwysiwyg_v147/popups/";
  mysettings.CSSFile = "../openwysiwyg_v147/styles/wysiwyg.css";
  mysettings.ReplaceLineBreaks = true;
  mysettings.InvertIELineBreaks = true;
  mysettings.DefaultStyle = "font-family: Verdana, Arial, Sans Serif; font-size: 12px; background-color: #FFFFFF";
  mysettings.StatusBarEnabled = false;

  //define available functions
  mysettings.clearToolbar();
  mysettings.addToolbarElement("font", 1, 1);
  mysettings.addToolbarElement("fontsize", 1, 2);
  mysettings.addToolbarElement("bold", 1, 3);
  mysettings.addToolbarElement("italic", 1, 4);
  mysettings.addToolbarElement("underline", 1, 5);
  mysettings.addToolbarElement("forecolor", 1, 6);
  mysettings.addToolbarElement("backcolor", 1, 7);
  mysettings.addToolbarElement("unorderedlist", 1, 8);
  mysettings.addToolbarElement("orderedlist", 1, 9);
  mysettings.addToolbarElement("createlink", 1, 10);

  //attach settings
  WYSIWYG.attach('txtMessage', mysettings);
}

function testRun()
{
  return document.getElementById("testFlag").checked;
}

function TestFunction()
{
  debugger;
}

function deleteSelection(e, TextareaID)
{
  //check browser type
  if (WYSIWYG_Core.isMSIE)
  {  
    //remove selection only in case of standard mouse key for IE
    if(e.button < 2)
    {
      var sel = WYSIWYG.getSelection(TextareaID);
      var range = sel.createRange();
      //check if click was within the selection range
      if(e.offsetX >= range.boundingLeft &&
         e.offsetX <= parseInt(range.boundingLeft + range.boundingWidth) &&
         e.offsetY >= range.boundingTop &&
         e.offsetY <= parseInt(range.boundingTop + range.boundingHeight))
      {
        //set flag to delete selection before saving
        document.getElementById('deleteSelection').value = 1;
      }
    }
  }
}

function DropObject(TextareaID,StartValElementID,EndValElementID,DragObjLengthElementID)
{
  //get value of drag object length
  if(document.getElementById(DragObjLengthElementID).value < 0)
  {
    return false;
  }
  //get type of Browser
  if (WYSIWYG_Core.isMSIE)
  {   
    // get editor document
    var doc = WYSIWYG.getEditorWindow(TextareaID).document;
    // get current selection
    var sel = WYSIWYG.getSelection(TextareaID);
    var innerTextBody = doc.body.innerText;
    var totalLength = innerTextBody.length;
    var range = sel.createRange();
    var dpl = range.duplicate();
    dpl.moveToElementText(doc.body);
    dpl.setEndPoint("StartToEnd", range);
    var position = totalLength - dpl.text.length;
    position = position - getCRLFNumber(innerTextBody.substr(0, position));
    //check if target is within selection
    if(position >= parseInt(document.getElementById(StartValElementID).value) &&
       position <= parseInt(document.getElementById(EndValElementID).value))
    {
      return false;
    }
    else
    {
      //check move direction
      if(position < parseInt(document.getElementById(StartValElementID).value))
      {
        startPosition = position;
        endPosition = startPosition + parseInt(document.getElementById(DragObjLengthElementID).value);
      }
      else
      {
        endPosition = position;
        startPosition = endPosition - parseInt(document.getElementById(DragObjLengthElementID).value);
      }
    }
    //set values
    document.getElementById(StartValElementID).value = startPosition;
    document.getElementById(EndValElementID).value = endPosition;
  }
  //reset drag object length
  document.getElementById(DragObjLengthElementID).value = -1;
}

function DragObject(TextareaID, DragObjLengthElementID)
{
  //get type of Browser
  if (WYSIWYG_Core.isMSIE)
  {   
    if(document.getElementById(DragObjLengthElementID).value < 0)
    {
      // get editor document
      var doc = WYSIWYG.getEditorWindow(TextareaID).document;
      // get current selection
      var sel = WYSIWYG.getSelection(TextareaID);
      var range = sel.createRange();
      //set drag object length
      document.getElementById(DragObjLengthElementID).value = range.text.length;
    }
  }
}

function InsertHTML(ElementID, StartValElementID, EndValElementID, HTMLText)
{

  var StartPos = document.getElementById(StartValElementID).value;
  var EndPos = document.getElementById(EndValElementID).value;
  // get editor document
  var doc = WYSIWYG.getEditorWindow(ElementID).document;

  //check browser type
  if (WYSIWYG_Core.isMSIE)
  {
    //IE
    var area = doc.body;
    if(area.createTextRange) 
    {
      var range = area.createTextRange();
      range.collapse(true);
      range.moveEnd('character', EndPos);
      range.moveStart('character', StartPos);
      range.select();
      range.pasteHTML(HTMLText);
    }
  }
  else
  {
    //Mozilla
    WYSIWYG.insertHTML(HTMLText, ElementID);
  }
  //set focus to text editor
  doc.body.focus(); 
}

function getCRLFNumber(text)
{
  var offset = 0;
  var CRLF = 0;

  //count number of paragraph end
  while(text.indexOf("\r\n", offset) > 0)
  {
    CRLF++;
    offset = text.indexOf("\r\n", offset) + 2;
  } 

  return CRLF;
}