////////////////////////////
/// Macromedia Functions
////////////////////////////

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following information is required:\n'+errors);
  document.MM_returnValue = (errors == '');
}

////////////////////////////
/// Shopping Cart
////////////////////////////
var pageIP = "/fnimall/cart.phtml?";
var itemSelected = "";

//getting the value from the drop down menu
//in order to use it in the submitAction menu.
function setItem(selected){
  itemSelected = selected;
}

function validateForm()
{
  if(itemSelected.value == "" || itemSelected == "")
  {
    alert("You must choose a color");
    return false;
  }
  return true;
}

//function that will concat the option selected with the etools ip address.
function submitAction(){
  if(validateForm())
  {
    document.form1.method = "post";
    //set the action to equal the ip address of the cart + the item that was selected.
    document.form1.action = pageIP + itemSelected.value;
    //submit the form.
    document.form1.submit();
  }
}

////////////////////////////
/// Open New Window
////////////////////////////
function openWindow(url, w, h, sb) {
  var options = "width=" + w + ",height=" + h + ",";
  options += "resizable=no, status=no,";
  options += "menubar=no, toolbar=no, location=no, directories=no,";
  options += "scrollbars=" + sb;
  var newWin = window.open(url, 'newWin', options);
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

var photoWin;
function openBrWindow(theURL,winName,features) {
  photoWin=window.open(theURL,winName,features);
  if (window.focus) {photoWin.focus()}
}

// to change the URL in the window of a javascript pop up and resize window
function popupWinLink()  {
  self.resizeTo('800','600');
  self.location.href = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&promoid=BIOW";
}

////////////////////////////
///  Flash Object Usage:
////////////////////////////

var flashVersion = 0; // required

function Flash(_file, _width, _height, _version, _no_flash, _query) 
{
  this.file = _file;
  this.width = _width;
  this.height = _height;
  this.default_version = 8;
  this.default_query = '';
  this.required_version = (arguments.length > 3) ? arguments[3] : this.default_version;
  this.query = (arguments.length > 5) ? arguments[5] : this.default_query;
  this.latest_flash_version = 8;
  this.agent = navigator.userAgent.toLowerCase(); 
  this.flashVersion_DONTKNOW = -1;
  this.flash_detected = false;
  this.default_no_flash = '';
  this.default_no_flash += '<table width="332" height="220" border="0" cellpadding="0" cellspacing="25">'+"\n";
  this.default_no_flash += '  <tr>'+"\n";
  this.default_no_flash += '    <td style="background-color:#FFF; border:1px solid #CC0000; text-align:center; vertical-align:middle;">'+"\n";
  this.default_no_flash += '      <h2>The Flash Player '+this.required_version+' or higher is needed to display this content.</h2>'+"\n";
  this.default_no_flash += '      <p style="text-align:center;"><a href="javascript:popupWinLink();">Download the Flash Player here.</a> <br />'+"\n";
  this.default_no_flash += '      it will only take a minute</p>'+"\n";
  this.default_no_flash += '    </td>'+"\n";
  this.default_no_flash += '  </tr>'+"\n";
  this.default_no_flash += '</table>'+"\n";
  this.flash_content = '';
  this.flash_content += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+this.width+'" height="'+this.height+'">'+"\n";
  this.flash_content += '  <param name="movie" value="'+this.file+this.query+'" />'+"\n";
  this.flash_content += '  <param name="quality" value="high" />'+"\n";
  this.flash_content += '  <param name="wmode" value="transparent" />'+"\n";
  this.flash_content += '  <embed wmode="transparent" src="'+this.file+this.query+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+this.width+'" height="'+this.height+'"></embed>'+"\n";
  this.flash_content += '</object>'+"\n";
  if (arguments.length > 4) {
    if (arguments[4] != "") {
      this.no_flash = arguments[4];
    } else {
      this.no_flash = this.default_no_flash;
    }
  }
  
  // Flash Version Detector  v1.2.1
  // documentation: http://www.dithered.com/javascript/flash_detect/index.html
  // license: http://creativecommons.org/licenses/by/1.0/
  // code by Chris Nott (chris[at]dithered[dot]com)
  // with VBScript code from Alastair Hamilton (now somewhat modified)
  this.getFlashVersion = function() {
    // NS3+, Opera3+, IE5+ Mac (support plugin array):  check for Flash plugin in plugin array
    if (navigator.plugins != null && navigator.plugins.length > 0) {
      var flashPlugin = navigator.plugins['Shockwave Flash'];
      if (typeof(flashPlugin) == 'object') { 
        for (var i = this.latest_flash_version; i >= 3; i--) {
          if (flashPlugin.description.indexOf(i + '.') != -1) {
            flashVersion = i;
            break;
          }
        }
      }
    } // IE4+ Win32:  attempt to create an ActiveX object using VBScript
    else if (this.agent.indexOf("msie") != -1 && parseInt(navigator.appVersion) >= 4 && this.agent.indexOf("win")!=-1 && this.agent.indexOf("16bit")==-1) {
       var doc = '<scr' + 'ipt language="VBScript"\> \n';
        doc += 'On Error Resume Next \n';
        doc += 'Dim obFlash \n';
        doc += 'For i = ' + this.latest_flash_version + ' To 3 Step -1 \n';
        doc += '   Set obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash." & i) \n';
        doc += '   If IsObject(obFlash) Then \n';
        doc += '      flashVersion = i \n';
        doc += '      Exit For \n';
        doc += '   End If \n';
        doc += 'Next \n';
        doc += '</scr' + 'ipt\> \n';
        document.writeln(doc);
    }
    else if (this.agent.indexOf("webtv/2.5") != -1) flashVersion = 3;  // WebTV 2.5 supports flash 3
    else if (this.agent.indexOf("webtv") != -1) flashVersion = 2; // older WebTV supports flash 2
    else {
      flashVersion = this.flashVersion_DONTKNOW;  // Can't detect in all other cases
    }
    return flashVersion;
  }

  this.flashFound = function(_version, _required) {
    if (_version >= _required) {
      this.flash_detected = true;
      return true;
    } else {
      return false;      
    }
  }

  this.displayFlash = function() { 
    if (this.flash_detected) {
      document.writeln( this.flash_content );
    } else {
      document.writeln( this.no_flash );
    }
  }
  
  this.flash_version = this.getFlashVersion();
  this.flash_detected = this.flashFound(this.flash_version, this.required_version);
  
} // end flash object

function MakeContact(obj, mb, dmn, tld, sbj)
{
  var fin;
  fin = '';
  fin += 'mail';
  fin += 'to';
  fin += ':';
  fin += mb;
  fin += '@';
  fin += dmn;
  fin += '.';
  fin += tld;
  if(sbj > '')
  {
    fin += '?';
    fin += 'subject';
    fin += '=';
    fin += sbj;
  }
  obj.href = fin;
}
