﻿// JScript File

var toolErrorMsg = "Please select a product first.\nThank you."

// loads the selected option
function loadOption(formList, errorMsg)
{
    var chosen = formList.selectedIndex;
    if (chosen > 0)
    { top.location = formList.options[chosen].value; }
}
// end hiding


function changeAction(theval) {

    
   switch(theval)
   {
       case 'Serial Connectivity and Control':
       case 'Audio/Visual Extension':
       case 'Broadcast KVM Switching':
       case 'Mobile Server Administration':
       case 'Mobile Device Administration':
        document.aspnetForm.action = 'http://global.avocent.com/us/ProcessContact.asp';
        break;
        
       default:
        document.aspnetForm.action = 'http://www.salesforce.com/servlet/servlet.WebToLead?encoding=EUC';
        
   }
  
}

/**
 * This function allows the programmer to retrieve objects biased on the class name you 
 * want to retrieve. Similar to the GetElementByID and GetElementByTagName.
 * @member UtilNS
 * @param {object} oElm The object you want to search, could be a whole document or something more specific.
 * @param {string} strTagName The string containing the name of the tag name i.e. "a", "div", "span" what ever the class name is attached to.
 * If no tag is given it will search all elements.
 * @param {string} strClassName The string containing the class name you're searching for
 * @returns An array filled with the class names found in the search
 * @type Array
 * {@link  http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/#more-256 getElementsByClassName} Utility Function
 */


function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];		
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}	
	}
	return arrReturnElements;
}
var ieModel = false;
var ie6 = false;
if (window.addEventListener){
//	window.addEventListener('load', menuState, false );
}
else {
//	window.attachEvent('onload', addMouseMenu);   
//	window.attachEvent('onload', menuState);
	ieModel = true;
}

var hoverClass = 'hover';

function menuState()
{
    var menuHolder = getElementsByClassName(document,"span","menu");
    //console.debug("menu holder",menuHolder);
	menuHolder = menuHolder[0];    
    //document.getElementById("ctl00_Header1_FlexMenu1");
    var liMenu = menuHolder.getElementsByTagName("li");
    for(i=0; i < liMenu.length; i++)
    {
		//console.debug("%d %o",i, liMenu[i]);
        if(liMenu[i].className == "")
        {
            if(!ieModel)    // w3c event
            {             
                liMenu[i].addEventListener('mouseover', hover, false);
                liMenu[i].addEventListener('mouseout', unhover, false);
            }
            else    
            {
                liMenu[i].attachEvent('onmouseover', hover);
                liMenu[i].attachEvent('onmouseout', unhover);
            }
        }
    }
}

function hover(evt){
evt = (evt) ? evt : ((window.event) ? window.event : "");
var relTarg = evt.relatedTarget || evt.fromElement;
//console.debug("hover: %o %o", relTarg, relTarg.parentNode);
if(relTarg && (relTarg.parentNode.className != "") && (relTarg.parentNode.tagName == "LI"))
{
    relTarg.parentNode.className = hoverClass; /* (relTarg.parentNode.className == '')?hoverClass:relTarg.parentNode.className + ' ' + hoverClass; */
}

}

function unhover(evt){
evt = (evt) ? evt : ((window.event) ? window.event : "");
var relTarg = evt.relatedTarget || evt.fromElement;
//console.debug("element", relTarg);
//console.debug("parent", relTarg.parentNode);
//console.debug("unover: %o %o", relTarg, relTarg.parentNode);
    if(relTarg && (relTarg.parentNode.className != "") && (relTarg.parentNode.tagName == "LI"))
    {
    //var replaceString = new RegExp('\s*' + hoverClass + '|' + hoverClass + '\s+');
    	relTarg.parentNode.className = '';
    }
}

function addMouseMenu()
{
    var homePage = document.getElementById("flash")
    
    if(document.getElementById("ie6") && !homePage)
    {
        fakeImg = document.getElementById("standinDD");
        proSelect = document.getElementById("prodselect");
        
        var sol = document.getElementById("solution");
        var pro = document.getElementById("product");
            
        sol.attachEvent('onmouseover', swapBoxes);
        sol.attachEvent('onmouseout', swapBoxes);
        pro.attachEvent('onmouseover', swapBoxes);
        pro.attachEvent('onmouseout', swapBoxes);
    }
}
var proSelect = null;
var fakeImg = null;
function swapBoxes()
{
   
    if(fakeImg.className == "hid")
    {
        fakeImg.className = "";
        proSelect.className = "hid";
    }
    else
    {
        fakeImg.className = "hid";
        proSelect.className = "";
    }
    
}


/*------------------------White papers ---------------------------------*/	

function validate(){
	var doc = document.forms['wpForm'];
	var sel = false;
	var i;
	var dispfields = doc.DisplayFields.value;
	var validemail = /^\w+([\.-]?[\w\']+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	
	if (!checktextfield(doc.first_name, "Please enter your first name.")) return false;
	if (!checktextfield(doc.last_name, "Please enter your last name.")) return false;
	
	if(dispfields=="1111111111"){
		if (!checktextfield(doc.company, "Please enter the company name.")) return false;
		if (!checktextfield(doc.street, "Please enter the company address.")) return false;
		if (!checktextfield(doc.city, "Please enter the city.")) return false;
		if (!checktextfield(doc.country, "Please select the Country.")) return false;
		if (!checktextfield(doc.zip, "Please enter the Postal Code.")) return false;
		if (!checktextfield(doc.email, "Please enter your Email Address.")) return false;
		if (!validemail.test(doc.email.value))
		{
			alert("A valid email is required");
			doc.email.focus();
			return false;
		}
	}else{
		if(dispfields.substr(0,1) == "1"){
			if (!checktextfield(doc.company, "Please enter the company name.")) return false;
		}
		if(dispfields.substr(1,1) == "1"){
			if (!checktextfield(doc.street, "Please enter the company address.")) return false;
		}
		if(dispfields.substr(2,1) == "1"){
			if (!checktextfield(doc.city, "Please enter the city.")) return false;
		}
		if(dispfields.substr(6,1) == "1"){
			if (!checktextfield(doc.zip, "Please enter the Postal Code.")) return false;
		}
		if(dispfields.substr(3,1) == "1"){
			if (!checktextfield(doc.country, "Please select the Country.")) return false;
		}
		/*
		if(dispfields.substr(5,1) == "1"){
			if (!checktextfield(doc.phone, "Please enter the phone.")) return false;
		}
		*/
		if(dispfields.substr(7,1) == "1"){
			if (!validemail.test(doc.email.value))
			{
				alert("A valid email is required");
				doc.email.focus();
				return false;
			}
		}
	}
	
	return true;
}

function checktextfield(field, errmsg){
    if (field.type == "text" | field.type== "textarea"){  
	if(field.value == ""){
		alert('*ERROR:' + errmsg);
		field.focus();
		return false;
	}
   }

	if (field.type == "select-one") {
     	if (field.selectedIndex <= 0 ) {
          	alert('*ERROR:' + errmsg);
          	field.focus();
            	return false;
        }
    }
    
     if (field.type == "hidden"){  
	 if(field.value == ""){
		alert('*ERROR:' + errmsg);
		return false;
 	}
    }
    
	return true
}

function checknumericfield(field, errmsg){
	if(isNaN(field.value.split(",").join("")) == true){
		alert('*ERROR:' + errmsg);
		field.focus();
		return false;
	}
	return true
}

var currtab = "";

function showtab( tabname ) {
		if ( tabname == 'divusstate' ) {
			currtab = 'divotherstate';
		}
		else{
			currtab = 'divusstate';
		}
		
	if (window.document.layers) {
           handle="window.document.layers";
         	 stylevar="";
	       }else{
            handle="document.all";
         	  stylevar=".style";
	}
	if(currtab != "") eval(handle+'["'+currtab+'"]'+stylevar+'.display = "none"');
     if(tabname != "") eval(handle+'["'+tabname+'"]'+stylevar+'.display = ""');
     //currtab = tabname;
}

document._domino_target = "_self";
function _doClick(v, o, t, h) {
  var form = document._Reg;
  if (form.onsubmit) {
     var retVal = form.onsubmit();
     if (typeof retVal == "boolean" && retVal == false)
       return false;
  }
  var target = document._domino_target;
  if (o.href != null) {
    if (o.target != null)
       target = o.target;
  } else {
    if (t != null)
      target = t;
  }
  form.target = target;
  form.__Click.value = v;
  if (h != null)
    form.action += h;
  form.submit();
  return false;
}

/*------------------------White papers ---------------------------------*/	
/*------------------------Newsletter Home Page--------------------------*/
function validateEmail(){
 /*var doc = document.newsletterform;*/
 /*var doc = document.getElementById("aspnetForm");*/
 
 var txtEmail = document.getElementById("email");
 var validemail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
 if (!validemail.test(txtEmail.value))
 {
 	alert("A valid email is required");
/* doc.email.focus();*/
	txtEmail.focus();
	
 return true;
 }
 /*doc.action = "http://partners.avocent.com/Avocent/eNewsletter.nsf/Newsletter?OpenForm=&email=" + doc.email.value + "&btnG.x=7&btnG.y=13" ;
 doc.method = "get";
 doc.target="_blank"
 doc.submit;  */
 /*var strURL = "http://partners.avocent.com/Avocent/eNewsletter.nsf/Newsletter?OpenForm=&email=" + doc.email.value + "&btnG.x=7&btnG.y=13";*/
 
 var strURL = "http://partners.avocent.com/Avocent/eNewsletter.nsf/Newsletter?OpenForm=&email=" + txtEmail.value + "&btnG.x=7&btnG.y=13"; 
 var win = popUpWindow(strURL, 200, 200,730,450);
 if(ie6) return true;
}

var popUpWin=0;
function popUpWindow(URLStr, left, top, width, height)
{
  if(popUpWin)
  {
    if(!popUpWin.closed) popUpWin.close();
  }
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}

var checkedIE6 = false;
function setfocus(va, evt)
{   
    
    evt = (evt && evt.keyCode) ? evt : ((window.event) ? window.event : "");
    var NewsInput = (evt.target) ? evt.target : evt.srcElement;   
	var cancelBbl = false;
	if(!checkedIE6) {
		ie6 = (document.getElementById("ie6"))? true : false;
		checkedIE6 = true;
	}
	if (evt && (evt.keyCode == 13) && (va.length > 0) && (NewsInput.value == va)) 
    {
        cancelBbl = validateEmail();
    }
	if(cancelBbl)
	{
		endBubble(evt);	
		if(ie6)
		{
			cancelBbl.setfocus();
		}
	}
}

/*------------------------Newsletter Home Page--------------------------*/
/*------------ Google Search--------------------------------------------*/
/* <form method="get" action="http://search.avocent.com/search" name="searchForm" id="searchForm"> */
function SetSearchForm () {
        var form = document.getElementById("aspnetForm");
	    form.action="http://search.avocent.com/search";
	    form.method="get";
}

function setfocusSearch(va, evt)
{   
    evt = (evt && evt.keyCode) ? evt : ((window.event) ? window.event : "");
    var searchInput = (evt.target) ? evt.target : evt.srcElement;   
	if (evt && (evt.keyCode == 13) && (va.length > 0) && (searchInput.value == va)) 
    {
        var form = document.getElementById("aspnetForm");
	    form.action="http://search.avocent.com/search";
	    form.method="get";
        form.submit()
    } 
}
function SetClickSearchForm () {
        var form = document.getElementById("aspnetForm");
	    form.action="http://search.avocent.com/search";
	    form.method="get";
	    form.submit();
}


function setKeyfocusSearch(va, evt)
{
    evt = (evt && evt.keyCode) ? evt : ((window.event) ? window.event : "");
    var searchInput = (evt.target) ? evt.target : evt.srcElement;   
    if (evt && (evt.keyCode == 13) && (va.length > 0) && (searchInput.value == va)) 
    {
        var form = document.getElementById("aspnetForm");
	    form.action="http://search.avocent.com/search";
	    form.method="get";
        form.submit();
    } 
}
// utility functions 
function endBubble(evt)
{
	if(evt.cancelBubble == false){ 
        evt.cancelBubble = true; 
        evt.returnValue = false;   
     }
	 if (evt.stopPropagation) {
	    evt.stopPropagation(); 
	    evt.preventDefault();
    	
	 }
}

// code yanked from the Yahoo media player. Thanks, Yahoo.

if (! ("console" in window) || !("firebug" in console)) {
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group"
                 , "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
    window.console = {};
    for (var i = 0; i <names.length; ++i) window.console[names[i]] = function() {};
}

function ShowDate()   
        {  
        var txtDate=document.getElementById("txtYear");
        var _NewDate = new Date();
        txtDate.innerHTML =_NewDate.getFullYear();
     }

function SetClickSalesForce (fname,lname,cname,emailAdd) {
        var form = document.getElementById("aspnetForm");
	    //form.action="http://www.salesforce.com/servlet/servlet.WebToLead?encoding=EUC";
		//form.action="https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8"
	    //form.method="post";
		if(fname=="")
		{
			alert("Please enter your first name")
			return false;		
		}
		else if(lname=="")
		{
			alert("Please enter your last name")
			return false;		
		}
		else if(cname=="")
		{
			alert("Please enter your company name")
			return false;		
		}
		else if(emailAdd=="")
		{
			alert("Please enter your email address")
			return false;		
		}
		else
		{
		return true;
		}
}