/* toggleDisabled(oForm, bDisabled, sElement1 [, sElementn ...]) */

/*
if(self != top)
  top.location.replace(self.location.href);
*/
  
function ListFindNoCase(list, value)
{
  var returnValue = -1;
  var i = 0;
  var delimiter = ',';
  var _tempArray = new Array();
  if(ListFindNoCase.arguments.length == 3) delimiter = ListFindNoCase.arguments[2];
  list = list.toLowerCase();
  value = value.toLowerCase();
  _tempArray = list.split(delimiter);
  for(i = 0; i < _tempArray.length; i++)
  {
    if(_tempArray[i] == value)
    {
      returnValue = i;
      break;
    }
  }
  return returnValue;
};

function toggleDisabled(oForm, bDisabled)
{
  if(toggleDisabled.arguments.length < 3) return;
  for(var i = 2; i < toggleDisabled.arguments.length; i++)
  {
    element = oForm.elements[toggleDisabled.arguments[i]];
    if(element)
    {
      if(typeof element.length != 'undefined' && element.length > 0 && typeof element[0].type != 'undefined' && ListFindNoCase('checkbox,radio', element[0].type) != -1)
      {
        for(var j = 0; j < element.length; j++)
          element[j].disabled = bDisabled;
      }
      else
      {
        element.disabled = bDisabled;
        if(ListFindNoCase('input,textarea,select', element.tagName) != -1)
        {
          if(ListFindNoCase('checkbox,radio,button,submit,reset', element.type) == -1)
          {
            if(!element.enabledClass && !element.disabled) element.enabledClass = element.className;
            if(!element.disabledClass && element.disabled) element.disabledClass = element.className;
            element.className = (bDisabled) ? element.disabledClass : element.enabledClass;
            if(element.type.toLowerCase() == 'file' && element.reset)
              element.reset();
          }
          if(element.type.toLowerCase() == 'select-one')
          {
            if(bDisabled)
            {
              if(element.selectedIndex != -1)
                element.defaultSelected = element.selectedIndex;
              element.selectedIndex = -1;
            }
            else
            {
              if(typeof element.defaultSelected != 'undefined')
                element.selectedIndex = element.defaultSelected;
              element.defaultSelected = element.selectedIndex;
            }
          }
        }
      }
    }
  }
//  if(!bDisabled && ListFindNoCase('text,password,textarea,checkbox,radio,select-one,select-multiple,submit,reset,button', form.elements[toggleDisabled.arguments[2]].type) != -1) form.elements[toggleDisabled.arguments[2]].focus();
}

/* toggle_displayed.js */

var toggledDisplay = new Object();

function toggleDisplayed(bDisplayed)
{
  if(!document.getElementById || toggleDisplayed.arguments.length < 2) return;
  var displayed = new Object();
      displayed['true'] = '';
      displayed['false'] = 'none';
  for(var i = 1; i < toggleDisplayed.arguments.length; i++)
  {
    oDisplay = document.getElementById(toggleDisplayed.arguments[i]);
    if(oDisplay)
    {
      oDisplay.style.display = displayed[bDisplayed];
      if(typeof toggledDisplay[toggleDisplayed.arguments[i]] != 'undefined')
        toggledDisplay[toggleDisplayed.arguments[i]] = !bDisplayed;
    }
  }
}

/* newWindow.js */

function newWindow(href, target, width, height)
{
  var returnValue = false;
  var features = (arguments.length == 4) ? 'scrollbars,status,width=' + width + ',height=' + height : ((arguments[4]) ? arguments[4] + ',width=' + width + ',height=' + height : 'width=' + width + ',height=' + height);
  if (window.screen)
  {
    var pxLeft = ((screen.availWidth - width - 10) * .5);
    var pxTop = ((screen.availHeight - height - 30) * .5);
    features += ',left=' + pxLeft + ',top=' + pxTop + ',x=' + pxLeft + ',y=' + pxTop;
  }
  if(!window.open)
    returnValue = true;
  else
  {
    self[target + 'Win'] = window.open(href, target, features);
    if(self[target + 'Win'].focus)
      self[target + 'Win'].focus();
  }
  return returnValue;
}

function fieldFocus(oElement) {
  switch(oElement.type) {
    case 'select-one':
    {
      oElement.className = (arguments.length > 1) ? arguments[1] + ' focused' : 'focused';
      break;
    }
    case 'text':
    case 'password':
    case 'textarea':
    {
      oElement.className = (arguments.length > 1) ? arguments[1] + ' focused' : 'focused';
      if(oElement.value == oElement.defaultValue)
        oElement.value = '';
      break;
    }
  }
}

function fieldBlur(oElement) {
  switch(oElement.type) {
    case 'select-one':
    {
      if(oElement.selectedIndex <= 0) {
        oElement.className = (arguments.length > 1) ? arguments[1] + ' blurred' : 'blurred';
      }
      break;
    }
    case 'text':
    case 'password':
    case 'textarea':
    {
      if(oElement.value == oElement.defaultValue || oElement.value == '') {
        oElement.className = (arguments.length > 1) ? arguments[1] + ' blurred' : 'blurred';
        oElement.value = oElement.defaultValue;
      }
      break;
    }
  }
}

function closeFeedback(feedbackID) {
  var oFeedback = Ext.fly(feedbackID);
  if(oFeedback) {
      oFeedback.remove();
  }
  return false;
}

function resizeIframe(){
  if(self !== top){
  	var i = parent.document.getElementById(window.name);
  	var iHeight = document.body.scrollHeight;
  	i.style.height = iHeight + 'px';
  }
}

var homeForm = null;
var industryError = null;
var emailError = null;
var pretestWin = null;

function startPretest(form) {
  var returnValue = true;
  Ext.QuickTips.init();
  if(!homeForm)
      homeForm = form;
  if(!industryError) {
      industryError = new Ext.ToolTip({
          title: 'Error!',
          id: form.industry_id.id + '-div-tip',
          target: form.industry_id.id + '-div',
          anchor: 'left',
          html: 'Please choose an industry.',
          autoHide: false,
          width: 150,
          iconCls: 'error',
          headerAsText: false
      });
  }
  if(!emailError) {
      emailError = new Ext.ToolTip({     
          title: 'Error!',
          id: form.email.id + '-div-tip',
          target: form.email.id + '-div',
          anchor: 'left',
          html: 'Please provide your email address.',
          autoHide: false,
          width: 150,
          iconCls: 'error',
          headerAsText: false
      });
  }  
  if(form.industry_id.selectedIndex <= 0) {
      Ext.get(form.industry_id.id + '-div').addClass('error');
      industryError.show();
      returnValue = false;
  }
  else
  {
      Ext.get(form.industry_id.id + '-div').removeClass('error');
      industryError.hide();
  }
  if(form.email.value == form.email.defaultValue || !form.email.value) {
      Ext.get(form.email.id + '-div').addClass('error');
      emailError.show();
      returnValue = false;
  }
  else
  {
      Ext.get(form.email.id + '-div').removeClass('error');
      emailError.hide();
  }
  if(returnValue){
      if(!pretestWin){
          pretestWin = new Ext.Window({
              layout: 'fit',
              width: 700,
              height: 400,
              modal: true,
              resizable: false,
              closable: false,
              draggable: false,
              animateTarget: 'home-form-signup-submit',
              html: '<iframe name="pretest" id="pretest" src="/register/start/' + form.industry_id.value + '/' + escape(form.email.value) + '/?embedded=true" width="100%" height="100%" frameborder="0"></iframe>'
          });
      }
      pretestWin.show(this);
  }
  return false;
}