// JavaScript Document

// *** Home Page Specific and General Scripts ***

// Used for creating a new window for the overview video
function popup(mylink, windowname)
    {
    if (! window.focus)return true;
    var href;
    if (typeof(mylink) == 'string')
       href=mylink;
    else
       href=mylink.href;
    window.open(href, windowname, 'width=655,height=515,left=30,top=30,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=no');
    return false;
    }

function popupWebinar(mylink, windowname)
    {
    if (! window.focus)return true;
    var href;
    if (typeof(mylink) == 'string')
       href=mylink;
    else
       href=mylink.href;
    window.open(href, windowname, 'width=760,height=530,left=30,top=30,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=no');
    return false;
    }

function popupPRGraphic(mylink, windowname)
    {
    if (! window.focus)return true;
    var href;
    if (typeof(mylink) == 'string')
       href=mylink;
    else
       href=mylink.href;
    window.open(href, windowname, 'width=844,height=606,left=30,top=30,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=no');
    return false;
    }


// Used to swap images (main image) on mouse out
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;
}

// Used to swap images (main image) on load <body>
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];}}
}

// Used to swap images (main image) on mouse over
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];}
}

// Used where?
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;
}

// Used on purchase pages to jump between currencies
function MM_jumpMenuGo(objId,targ,restore){ //v9.0
  var selObj = null;  with (document) { 
  if (getElementById) selObj = getElementById(objId);
  if (selObj) eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0; }
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

// *** Download Page Specific Scripts ***
// Used to check the Download Trial form before submission to SF
function checkDownloadForm() {

	name = document.getElementById("first_name").value;
	last_name = document.getElementById("last_name").value;
	company = document.getElementById("company").value;
	country = document.getElementById("country").value;
	email = document.getElementById("email").value;
	confirmemail = document.getElementById("confirmemail").value;
	emailoptin = document.getElementById("00N20000001NhAG").checked;
	phoneoptin = document.getElementById("00N20000001NhAp").checked;
	
	if (emailoptin == false) {
	document.getElementById("emailOptOut").setAttribute("value", 1);
	}
	else if (emailoptin == true) {
	document.getElementById("emailOptOut").setAttribute("value", 0);
	} 
	   
	if (phoneoptin == false) {
	document.getElementById("doNotCall").setAttribute("value", 1);
	}
	else if (phoneoptin == true) {
	document.getElementById("doNotCall").setAttribute("value", 0);
	}
	
	var expireDate = getCalendarDateString();
	document.getElementById("00N200000017IHb").setAttribute("value", expireDate);

	if (name == "") {
		hideAllErrors();
		document.getElementById("first_nameError").style.display = "inline";
		document.getElementById("first_name").select();
		document.getElementById("first_name").focus();
		return false;
	}
	else if (last_name == "") {
		hideAllErrors();
		document.getElementById("last_nameError").style.display = "inline";
		document.getElementById("last_name").select();
		document.getElementById("last_name").focus();
		return false;
	}
	else if (company == "") {
		hideAllErrors();
		document.getElementById("companyError").style.display = "inline";
		document.getElementById("company").select();
		document.getElementById("company").focus();
		return false;
	}
	else if (country == "none") {
		hideAllErrors();
		document.getElementById("countryError").style.display = "inline";
		document.getElementById("country").focus();
		return false;
	}
	else if (email == "" || emailAddressCheck(email) == false){
		hideAllErrors();
		document.getElementById("emailError").style.display = "inline";
		document.getElementById("email").select();
		document.getElementById("email").focus();
		return false;
	}
	else if (confirmemail != email){
		hideAllErrors();
		document.getElementById("confirmemailError").style.display = "inline";
		document.getElementById("confirmemail").select();
		document.getElementById("confirmemail").focus();
		return false;
	}
	hideAllErrors();
	return true;
	}
	
// Used to check the Download Trial form before submission to SF
function hideAllErrors() {
		document.getElementById("first_nameError").style.display = "none"
		document.getElementById("last_nameError").style.display = "none"
		document.getElementById("companyError").style.display = "none"
		document.getElementById("countryError").style.display = "none"
		document.getElementById("emailError").style.display = "none"
		document.getElementById("confirmemailError").style.display = "none"
}

// Used to check the Download Trial form before submission to SF
function getCalendarDateString()
{
   var now         = new Date();
   var monthnumber = now.getMonth() + 1; // getMonth returns a number 0 to 11
   var monthday    = now.getDate();
   var year        = now.getFullYear() + 1;

   var dateString = monthday +
					'/' +
					monthnumber +
					'/' +
					year;
   return dateString;
}

// Used to check the Download Trial form before submission to SF
function emailAddressCheck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
			return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
			return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
			return false
		}

		if (str.indexOf(at,(lat+1))!=-1){
			return false
		}

		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
			return false
		}

		if (str.indexOf(dot,(lat+2))==-1){
			return false
		}
		
		if (str.indexOf(" ")!=-1){
			return false
		}
		return true					
}

