﻿/* Function to find a document object */
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;
}

/* Functions that swap layers - used only in product nav menu */
function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

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_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 that handle preload. */
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_checkPlugin(plgIn, theURL, altURL, autoGo) { //v3.0
  var ok=false; document.MM_returnValue = false;
  with (navigator) if (appName.indexOf('Microsoft')==-1) ok=(plugins && plugins[plgIn]);
  else if (appVersion.indexOf('3.1')==-1) { //not Netscape or Win3.1
    if (plgIn.indexOf("Flash")!=-1 && window.MM_flash!=null) ok=window.MM_flash;
    else if (plgIn.indexOf("Director")!=-1 && window.MM_dir!=null) ok=window.MM_dir;
    else ok=autoGo; }
  if (!ok) theURL=altURL; if (theURL) window.location=theURL;
}

function sifr450(ref,divID){
   var so = new SWFObject("../swf/sifr450x23.swf", "sifr450x23", "450", "23", "7", "#336699");  
   so.addParam("wmode", "transparent");
   so.addVariable("titleText", ref);
   so.write("flashcontent" + divID);
}

function setObjectClass(ob, cl)
{
    var o=MM_findObj(ob);
    if(o) o.className=cl;
}

/*  Contact Us form */  
function validateContact(){
    var msg = "";
   
    if (document.getElementById('firstname').value == ""){msg += "-- First Name\n";}  
    if (document.getElementById('lastname').value == ""){msg += "-- Last Name\n";}  
    if (document.getElementById('company').value == ""){msg += "-- Company\n";}  
    if (ValidateEmail(document.getElementById('email')) == false){msg += "-- E-mail Address\n";}  
    if (document.getElementById('phone').value == ""){msg += "-- Phone Number\n";}  
    if (document.getElementById('state').selectedIndex == 0){msg += "-- State\n";}
    if (document.getElementById('department').selectedIndex == 0){msg += "-- Department\n";}
    if (document.getElementById('comments').value == ""){msg += "-- Comments\n";} 

    if (msg != ""){
        alert("The following required field(s) are missing:\n\n" + msg + "\nPlease complete the form and resubmit.");
        
    }else{
        var x = getFormElementsXML("formfield", "contactUs");
        MedToxCT.AjaxAPI.MedToxCTAjax.FormSave(x, Process_SubmitForm);    
    }
}

function validateEmailSignup(){
    var msg = "";
   
    if (document.getElementById('firstname').value == ""){msg += "-- First Name\n";}  
    if (document.getElementById('lastname').value == ""){msg += "-- Last Name\n";}  
    if (document.getElementById('business').value == ""){msg += "-- Company\n";}  
    if (ValidateEmail(document.getElementById('email')) == false){msg += "-- E-mail Address\n";}  

    if (msg != ""){
        alert("The following required field(s) are missing:\n\n" + msg + "\nPlease complete the form and resubmit.");
        
    }else{
        var x = getFormElementsXML("formfield", "emailSignup");
        MedToxCT.AjaxAPI.MedToxCTAjax.EmailSignupFormSave(x, Process_SubmitEmailSignupForm);    
    }
}

function Process_SubmitForm(res){
    if (res.error){
        alert("An error occurred.\nYour inquiry could not be processed.  " + res.error.Message)
    }
    else
    {
        document.getElementById('contactUsForm').style.display = 'none';
        document.getElementById('divConfirmation').style.display = 'block';
    }
}

function Process_SubmitEmailSignupForm(res){
    if (res.error){
        alert("An error occurred.\nYour inquiry could not be processed.  " + res.error.Message)
    }
    else
    {
        document.getElementById('emailSignupForm').style.display = 'none';
        document.getElementById('divConfirmation').style.display = 'block';
    }
}

function getFormElementsXML(strAttributeName, strAttributeValue){
    var arrElements = document.body;
    if (!arrElements.all)	
    {
        arrElements = arrElements.getElementsByTagName('*');
    }
    else
    {
       arrElements = arrElements.all;
    }
	
    var arrRetEl = new Array();
    var oAttribVal = (typeof strAttributeValue != "undefined")? new RegExp("(^|\\s)" + strAttributeValue + "(\\s|$)") : null;
    var oCurrent;
    var oAttribute;
    var sReturn='';
	
    var aReturn =new Array();
    aReturn.push('<root>');
    
        for(var i=0; i<arrElements.length; i++){
	    oCurrent = arrElements[i];
	    oAttribute = oCurrent.getAttribute && oCurrent.getAttribute(strAttributeName);
	    
	    if(typeof oAttribute == "string" && oAttribute.length > 0){
		    
		    
		    
		    if(typeof strAttributeValue == "undefined" || (oAttribVal && oAttribVal.test(oAttribute))){
		        if(oCurrent.type=="checkbox"){
		            aReturn.push('<' + oCurrent.name + ' id=\"' + oCurrent.id + '\">' + oCurrent.checked + '</' + oCurrent.name + '>');
		        }else{
                    aReturn.push('<' + oCurrent.id + '>' + oCurrent.value + '</' + oCurrent.id + '>'); 
		        }
		    }
	    }
    }
    aReturn.push('</root>');
    sReturn = aReturn.join('');

    return sReturn;
}


function ValidateEmail(obj)
{
    var str = obj.value;
    if (str == "")
        return false;
        
    var at="@";
    var dot=".";
    var lat=str.indexOf(at);
    var lstr=str.length;
    var ldot=str.indexOf(dot);
    if (str.indexOf(at)==-1){
        //EmailAlert(obj);
       return false;
    }

    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
        //EmailAlert(obj);
       return false;
    }

    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        //EmailAlert(obj);
        return false;
    }

     if (str.indexOf(at,(lat+1))!=-1){
        //EmailAlert(obj);
        return false;
     }

     if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        //EmailAlert(obj);
        return false;
     }

     if (str.indexOf(dot,(lat+2))==-1){
        //EmailAlert(obj);
        return false;
     }

     if (str.indexOf(" ")!=-1){
        //EmailAlert(obj);
        return false;
     }

     return true;
}

function EmailAlert(obj)
{
    obj.focus();
    obj.select();
    alert("The email address entered is not valid.\r\nPlease enter an email address with the format email@domain.com.");
}                        

 /*
 * Clear the named field to an empty string, if it exists.
 * --pok 01/02/04
 */
function MM_clearField(fieldName) {
  var field = MM_findObj(fieldName);
  if(field != null) {
    field.value = '';
  }
}

