//Deletes a hotspot from memory only
function deletehotspot(parent_id, id)
{
  var s = id;

  var n =s.substring(4);

  var parent = document.getElementById(parent_id);
  var pin = document.getElementById(id);
  var topleft = document.getElementById('topleft_'+n);
  var topright = document.getElementById('topright_'+n);
  var bottomleft = document.getElementById('bottomleft_'+n);
  var bottomright = document.getElementById('bottomright_'+n);

  parent.removeChild(topleft);
  parent.removeChild(topright);
  parent.removeChild(bottomleft);
  parent.removeChild(bottomright);
  parent.removeChild(pin);
}

function creatediv(parent_id, id, html, width, height, left, top, image)
{
  var newdiv = document.createElement('div');
  newdiv.setAttribute('id', id);

  newdiv.style.position = "absolute";

  //Sometime there is a 'px', sometimes not.  To be sure, strip it and add it
  if (width)
    newdiv.style.width = strip_px(width)+'px';

  if (height)
    newdiv.style.height = strip_px(height)+'px';

/*
  if (image)
    newdiv.style.backgroundImage = 'url(http://webaflyer.com/images/'+image+')';
*/

  if ((left || top) || (left && top))
  {
    if (left)
      newdiv.style.left = strip_px(left)+'px';

    if (top)
      newdiv.style.top = strip_px(top)+'px';
  }

  newdiv.style.display = 'block';

  if (html)
    newdiv.innerHTML = html;
/*newdiv.style.border = 'border 1px solid;';*/
  obj = document.getElementById(parent_id);
  obj.appendChild(newdiv);
}

/*
   Adds an html hidden input field (dynamically created) to the given HTML form element.
   @param formElement the given HTML form element
   @param fieldName the name of the hidden input field
   @param fieldValue the (string) value of the hidden input field
*/
function addHiddenInputField(form, field, value)
{
  var inputElement = document.createElement("input")
  inputElement.setAttributeNode(createHtmlAttribute("type", "hidden"))
  inputElement.setAttributeNode(createHtmlAttribute("name", field))
  inputElement.setAttributeNode(createHtmlAttribute("id", field))
  inputElement.setAttributeNode(createHtmlAttribute("value", value))
  obj = document.getElementById(form);
  obj.appendChild(inputElement);
}

/*
   Creates an html attribute.
   @param name the name of the attribute.
   @param value the (string) value of the attribute.
   @return the newly created html attribute
*/
function createHtmlAttribute(name, value)
{
   var attribute = document.createAttribute(name);
   attribute.nodeValue = value;
   return attribute;
}

function strip_px(s)
{
  s=String(s);
  var i = s.indexOf('px');
  if(i!=-1)
    return (s.substring(0,i)-0);
  else
    return s;
}

function strip_pin(s)
{
  return s.substring(4);
}



      function highlight_pin()
      {
        var obj = document.getElementById(current_pin);
        obj.style.backgroundColor = "blue";
      }

      function deleteLocation()
      {
        if(!document.getElementById(current_pin))
        {
          alert('Please click a hotspot to delete.');
          return;
        }
        obj = document.getElementById(current_pin);
        var msg = "";
        if(obj.name)
        {
          msg = "Delete this hotspot?";
          memory_only=true;
        }
        else
        {
          msg = "Delete this hotspot?  Warning!  Any usaved work will be lost!";
          memory_only=false;
        }

        if(confirm(msg))
        {
          if(memory_only)
            deletehotspot('document',current_pin);
          else
          {
            document.data.action.value = 'delete_pin';
            document.data.pin_id.value = current_pin;
            document.data.submit();
          }
        }
      }

      function deleteDocument()
      {
        if(confirm("Delete this document(All pages will be deleted)?"))
        {
          document.data.action.value = 'delete_document';
          document.data.submit();
        }
      }

      function assignValuesFromForm()
      {
        if(current_pin==0)
          return;

        var v = document.getElementById('link').value;

        obj = document.getElementById('link_'+current_pin);
        if(!obj)
          return;
        obj.value = v;

        v = document.getElementById('popup_background').value;
        obj = document.getElementById('popup_background_'+current_pin);
        obj.value = v;

        for(i=1;i<=10;i++)
        {
          if(document.getElementById('popup_'+i))
          {
            v = document.getElementById('popup_'+i).value;
            obj = document.getElementById('popup_'+i+'_'+current_pin);
            obj.value = v;
          }
        }
/*
        v = document.getElementById('popup_1').value;
        obj = document.getElementById('popup_1_'+current_pin);
        obj.value = v;

        v = document.getElementById('popup_2').value;
        obj = document.getElementById('popup_2_'+current_pin);
        obj.value = v;

        v = document.getElementById('popup_3').value;
        obj = document.getElementById('popup_3_'+current_pin);
        obj.value = v;

        v = document.getElementById('popup_4').value;
        obj = document.getElementById('popup_4_'+current_pin);
        obj.value = v;

        v = document.getElementById('popup_5').value;
        obj = document.getElementById('popup_5_'+current_pin);
        obj.value = v;

        v = document.getElementById('popup_6').value;
        obj = document.getElementById('popup_6_'+current_pin);
        obj.value = v;

        v = document.getElementById('popup_7').value;
        obj = document.getElementById('popup_7_'+current_pin);
        obj.value = v;

        v = document.getElementById('popup_8').value;
        obj = document.getElementById('popup_8_'+current_pin);
        obj.value = v;

        v = document.getElementById('popup_9').value;
        obj = document.getElementById('popup_9_'+current_pin);
        obj.value = v;

        v = document.getElementById('popup_10').value;
        obj = document.getElementById('popup_10_'+current_pin);
        obj.value = v;
*/
        for(i=1;i<=10;i++)
        {
          if(document.getElementById('formatting_'+i+'_'+current_pin))
          {
            obj = document.getElementById('formatting_'+i+'_'+current_pin);
            obj.value = valuesToFormatString(i);
          }
        }
/*
        obj = document.getElementById('formatting_1_'+current_pin);
        obj.value = valuesToFormatString('1');

        obj = document.getElementById('formatting_2_'+current_pin);
        obj.value = valuesToFormatString('2');

        obj = document.getElementById('formatting_3_'+current_pin);
        obj.value = valuesToFormatString('3');

        obj = document.getElementById('formatting_4_'+current_pin);
        obj.value = valuesToFormatString('4');

        obj = document.getElementById('formatting_5_'+current_pin);
        obj.value = valuesToFormatString('5');

        obj = document.getElementById('formatting_6_'+current_pin);
        obj.value = valuesToFormatString('6');

        obj = document.getElementById('formatting_7_'+current_pin);
        obj.value = valuesToFormatString('7');

        obj = document.getElementById('formatting_8_'+current_pin);
        obj.value = valuesToFormatString('8');

        obj = document.getElementById('formatting_9_'+current_pin);
        obj.value = valuesToFormatString('9');

        obj = document.getElementById('formatting_10_'+current_pin);
        obj.value = valuesToFormatString('10');
*/

        v = document.getElementById('item_code').value;
        obj = document.getElementById('item_code_'+current_pin);
        obj.value = v;

        v = document.getElementById('style').value;
        obj = document.getElementById('style_'+current_pin);
        obj.value = v;

        v = document.getElementById('free').checked;
        obj = document.getElementById('free_'+current_pin);
        if(v)
          obj.value = "1";
        else
          obj.value = "0";

        v = document.getElementById('new_window').checked;
        obj = document.getElementById('new_window_'+current_pin);
        if(v)
          obj.value = "1";
        else
          obj.value = "0";
      }


      function valueOf(format_string,token)
      {
        //ie i=true;b=false;colour=blue;size=10;
        index = format_string.indexOf(token);
        if(index==-1)
        {
          return '';
        }
        else
          start_index=index+token.length;

        end_index=format_string.indexOf(';',start_index);
        if(end_index==-1)
          end_index=format_string.length;

        return(format_string.substring(start_index+1,end_index));
      }

      function valuesToFormatString(id)
      {
        var format_string = '';
        if(!document.getElementById('bold_'+id))
          return '';

        if(document.getElementById('bold_'+id).checked)
          format_string = 'b=true;';
        else
          format_string = 'b=false;';

        if(!document.getElementById('italic_'+id))
          return '';

        if(document.getElementById('italic_'+id).checked)
          format_string = format_string+'i=true;';
        else
          format_string = format_string+'i=false;';

        format_string = format_string+'colour='+document.getElementById('colour_'+id).value+';';
        format_string = format_string+'size='+document.getElementById('size_'+id).value+';';
        return format_string;
      }

      function validate(current_page)
      {
        assignValuesFromForm();
        var errors = '';
/*
        if(document.getElementById('TITLE_ID').value=='')
          errors=errors+'Title cannot be blank.\n';
        if(document.getElementById('DESCRIPTION_ID').value=='')
          errors=errors+'Description cannot be blank.\n';
*/
        if(errors!='')
        {
          alert(errors);
          return;
        }

        if(confirm('Save changes to this document?'))
        {
          var element_list = document.getElementsByTagName("*");
          var element_count = element_list.length;
          for(var x=0; x<=element_count-1; x=x+1)
          {
            var id = element_list[x].id;
            if((id.indexOf('pin_')==0) && (id.indexOf('_details')==-1))
            {
              obj = document.getElementById(id);
              objTop = document.getElementById('toppos_'+id);
              objLeft = document.getElementById('leftpos_'+id);
              objHeight = document.getElementById('height_'+id);
              objWidth = document.getElementById('width_'+id);

              objTop.value = obj.style.top;
              objLeft.value = obj.style.left;
              objHeight.value = obj.style.height;
              objWidth.value = obj.style.width;
            }
          }
/*
          document.data.title.value = document.getElementById('TITLE_ID').value;
          document.data.description.value = document.getElementById('DESCRIPTION_ID').value;
          document.data.page.value = current_page;
          document.data.field_1.value = document.getElementById('field_1_id').value;
          document.data.field_2.value = document.getElementById('field_2_id').value;
          document.data.field_3.value = document.getElementById('field_3_id').value;
          document.data.field_4.value = document.getElementById('field_4_id').value;
*/
/*
          document.data.field_5 = document.getElementById('field_5_id').value;
          document.data.field_6 = document.getElementById('field_6_id').value;
*/
/*
          document.data.header_left.value = document.getElementById('header_left_id').value;
          document.data.header_middle.value = document.getElementById('header_middle_id').value;
          document.data.header_right.value = document.getElementById('header_right_id').value;
          document.data.footer_left.value = document.getElementById('footer_left_id').value;
          document.data.footer_middle.value = document.getElementById('footer_middle_id').value;
          document.data.footer_right.value = document.getElementById('footer_right_id').value;
          document.data.page_numbers.value = document.getElementById('page_numbers_id').value;
          if(document.getElementById('show_nav_wings_id').checked)
            document.data.show_nav_wings.value = 1;
          else
            document.data.show_nav_wings.value = 0;
*/
          document.data.submit();
        }
      }

      function setdocument(pindetail_id)
      {
        var obj = document.getElementById('documents');
        obj.CURRENT_DOCUMENT.value = pindetail_id;
        obj.CURRENT_PAGE.value = '';
        obj.submit();
/*
        document.documents.CURRENT_DOCUMENT.value = pindetail_id;
        document.documents.CURRENT_PAGE.value = '';
        document.documents.submit();
*/
      }

      function setpage(page,current_page)
      {
        if(dirty)
        {
          if(!confirm('Unsaved changes to this page will be lost.  Proceed?'))
          {
            document.getElementById('PAGE').value = current_page;
            return;
          }
        }
        var obj = document.getElementById('documents');
        obj.CURRENT_PAGE.value = page;
        obj.submit();
/*
        document.documents.CURRENT_PAGE.value = page;
        document.documents.submit();
*/
      }

      function setactive(checked)
      {
        if(checked)
        {
          document.data.active.value = "true";
          document.getElementById('link_area').style.display = 'block';
          document.getElementById('tip11').style.display = 'block';
        }
        else
        {
          document.data.active.value = "false";
          document.getElementById('link_area').style.display = 'none';
          document.getElementById('tip11').style.display = 'none';
        }
      }

      function setTip(tip)
      {
        document.getElementById("tip").innerHTML=tip;
      }

      function preview_document(user_id,current_document,current_page)
      {
        document.getElementById('USER_ID').value = user_id;
        document.getElementById('CURRENT_DOCUMENT').value = current_document;
        document.getElementById('CURRENT_PAGE').value = current_page;
        document.getElementById('preview').submit();
      }

      function setTab(tab)
      {
        if(current_pin==0)
        {
          alert('Please select a hotspot for editing.');
          return;
        }

        if(tabs_open && (tab==current_tab))
          closeTabs();
        else
          openTabs();

        var f = document.getElementById('tab_'+current_tab);
        $('tab_'+current_tab).className = 'sb tab';

        var f = document.getElementById('tab_content_'+current_tab);
        f.style.display = 'none';

        var f = document.getElementById('tab_'+tab);
        $('tab_'+tab).className = 'sb tab_h';

        current_tab = tab;
        var f = document.getElementById('tab_content_'+current_tab);
        f.style.display = 'block';
      }

      function highlight_tab(id)
      {
        var f = document.getElementById(id);
        $('field_1').className = 'sb tab_h';
/*
        borders.render('field_1');
*/        
      }

      function unhighlight_tab(id)
      {
        var f = document.getElementById(id);
        $('field_1').className = 'sb tab';
/*
        borders.render('field_1');
*/        
      }

