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_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

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_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 error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

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 P7_Snap() { //v2.61 by PVII
  var x,y,ox,bx,oy,p,tx,a,b,k,d,da,e,el,args=P7_Snap.arguments;a=parseInt(a);
  for (k=0; k<(args.length-3); k+=4)
   if ((g=MM_findObj(args[k]))!=null) {
    el=eval(MM_findObj(args[k+1]));
    a=parseInt(args[k+2]);b=parseInt(args[k+3]);
    x=0;y=0;ox=0;oy=0;p="";tx=1;da="document.all['"+args[k]+"']";
    if(document.getElementById) {
     d="document.getElementsByName('"+args[k]+"')[0]";
     if(!eval(d)) {d="document.getElementById('"+args[k]+"')";if(!eval(d)) {d=da;}}
    }else if(document.all) {d=da;} 
    if (document.all || document.getElementById) {
     while (tx==1) {p+=".offsetParent";
      if(eval(d+p)) {x+=parseInt(eval(d+p+".offsetLeft"));y+=parseInt(eval(d+p+".offsetTop"));
      }else{tx=0;}}
     ox=parseInt(g.offsetLeft);oy=parseInt(g.offsetTop);var tw=x+ox+y+oy;
     if(tw==0 || (navigator.appVersion.indexOf("MSIE 4")>-1 && navigator.appVersion.indexOf("Mac")>-1)) {
      ox=0;oy=0;if(g.style.left){x=parseInt(g.style.left);y=parseInt(g.style.top);
      }else{var w1=parseInt(el.style.width);bx=(a<0)?-5-w1:-10;
      a=(Math.abs(a)<1000)?0:a;b=(Math.abs(b)<1000)?0:b;
      x=document.body.scrollLeft + event.clientX + bx;
      y=document.body.scrollTop + event.clientY;}}
   }else if (document.layers) {x=g.x;y=g.y;var q0=document.layers,dd="";
    for(var s=0;s<q0.length;s++) {dd='document.'+q0[s].name;
     if(eval(dd+'.document.'+args[k])) {x+=eval(dd+'.left');y+=eval(dd+'.top');break;}}}
   if(el) {e=(document.layers)?el:el.style;
   var xx=parseInt(x+ox+a),yy=parseInt(y+oy+b);
   if(navigator.appName=="Netscape" && parseInt(navigator.appVersion)>4){xx+="px";yy+="px";}
   if(navigator.appVersion.indexOf("MSIE 5")>-1 && navigator.appVersion.indexOf("Mac")>-1){
    xx+=parseInt(document.body.leftMargin);yy+=parseInt(document.body.topMargin);
    xx+="px";yy+="px";}e.left=xx;e.top=yy;}}
}

<!--
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 P7_VScroller(el,dr,ty,oy,spd) { //v1.5 by PVII
 var g,gg,fr,sp,pa='',slw=true,m=false,h,ly;ty=parseInt(ty);
 if((g=MM_findObj(el))!=null){gg=(document.layers)?g:g.style;}else{return;}
 if(dr=="Stop"){if(g.toMove){clearTimeout(g.p7Magic);}g.toMove=false;}
 if((parseInt(navigator.appVersion)>4 || navigator.userAgent.indexOf("MSIE")>-1)&& !window.opera){pa="px";}
 if(navigator.userAgent.indexOf("NT")>-1 || navigator.userAgent.indexOf("Windows 2000")>-1){slw=false;}
 if(spd=="Slow"){sp=(slw)?2:1;fr=(slw)?40:30;}else if(spd=="Medium"){sp=(slw)?4:1;fr=(slw)?40:10;
 }else{sp=(slw)?8:4;fr=(slw)?40:10;}if(spd=="Warp"){sp=5000;}var yy=parseInt(gg.top);if(isNaN(yy)){
 if(g.currentStyle){yy=parseInt(g.currentStyle.top);}else if(document.defaultView){
 yy=parseInt(document.defaultView.getComputedStyle(g,"").getPropertyValue("top"));}else{yy=0;}}
 if(document.all || document.getElementById){h=parseInt(g.offsetHeight);
 if(!h){h=parseInt(g.style.pixelHeight);}
 }else if(document.layers){h=parseInt(g.clip.height);}ly=ty+parseInt(oy)-h;
 if(dr=="Down"){if(yy>ly){m=true;yy-=sp;if(yy<ly){yy=ly;}}}
 if(dr=="Up"){if(yy<ty){m=true;yy+=sp;if(yy>ty){yy=ty;}}}
 if(dr=="Reset"){gg.top=ty+pa;if(g.toMove){clearTimeout(g.p7Magic);}g.toMove=false;}
 if(m){gg.top=yy+pa;if(g.toMove){clearTimeout(g.p7Magic);}g.toMove=true;
  eval("g.p7Magic=setTimeout(\"P7_VScroller('"+el+"','"+dr+"',"+ty+","+oy+",'"+spd+"')\","+fr+")");
 }else{g.toMove=false;}
}

function P7_HScroller(el,dr,tx,ox,spd) { //v1.6 by PVII
 var g,gg,fr,sp,pa='',slw=true,m=false,w,ww,lx,rx;tx=parseInt(tx);
 if((g=MM_findObj(el))!=null){gg=(document.layers)?g:g.style;}else{return;}
 if(dr=="Stop"){if(g.toMove){clearTimeout(g.p7Magic);}g.toMove=false;}
 if((parseInt(navigator.appVersion)>4 || navigator.userAgent.indexOf("MSIE")>-1)&& !window.opera){pa="px";}
 if(navigator.userAgent.indexOf("NT")>-1 || navigator.userAgent.indexOf("Windows 2000")>-1){slw=false;}
 if(spd=="Slow"){sp=(slw)?2:1;fr=(slw)?40:30;}else if(spd=="Medium"){sp=(slw)?4:1;fr=(slw)?40:10;
 }else{sp=(slw)?8:4;fr=(slw)?40:10;}if(spd=="Warp"){sp=5000;}var xx = parseInt(gg.left);if(isNaN(xx)){
 if(g.currentStyle){xx=parseInt(g.currentStyle.left);}else if(document.defaultView){
 xx=parseInt(document.defaultView.getComputedStyle(g,"").getPropertyValue("left"));}else{xx=0;}}
 if(document.all || document.getElementById){w=parseInt(g.offsetWidth);if(!w){w=parseInt(g.style.pixelWidth);}
 if(g.hasChildNodes){for(wx=0;wx<g.childNodes.length;wx++){ww=parseInt(g.childNodes[wx].offsetWidth);
 if(ww>w){w=ww;}}}}else if(document.layers){w=parseInt(g.clip.width);}lx=tx-w+parseInt(ox);rx=tx;
 if(dr=="Right"){if(xx>lx){m=true;xx-=sp;if(xx<lx){xx=lx;}}}
 if(dr=="Left"){if(xx<rx){m=true;xx+=sp;if(xx>rx){xx=rx;}}}
 if(dr=="Reset"){gg.left=tx+pa;if(g.toMove){clearTimeout(g.p7Magic);}g.toMove=false;}
 if(m){gg.left=xx+pa;if(g.toMove){clearTimeout(g.p7Magic);}g.toMove=true;
  eval("g.p7Magic=setTimeout(\"P7_HScroller('"+el+"','"+dr+"',"+tx+","+ox+",'"+spd+"')\","+fr+")");
 }else{g.toMove=false;}
}

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_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function pviiClassNew(obj, new_style) {
    obj.className = new_style;
}

//added by PG on 12-28-2004

function P7_autoLayers() { //v1.5 by PVII
 var g,b,k,f,u,k,j,args=P7_autoLayers.arguments,a=parseInt(args[0]);if(isNaN(a))a=0;
 if(!document.p7setc){p7c=new Array();document.p7setc=true;for(u=0;u<10;u++){
 p7c[u]=new Array();}}for(k=0;k<p7c[a].length;k++){if((g=MM_findObj(p7c[a][k]))!=null){
 b=(document.layers)?g:g.style;b.visibility="hidden";}}for(k=1;k<args.length;k++){
 if((g=MM_findObj(args[k]))!=null){b=(document.layers)?g:g.style;b.visibility="visible";f=false;
 for(j=0;j<p7c[a].length;j++){if(args[k]==p7c[a][j]) {f=true;}}
 if(!f){p7c[a][p7c[a].length++]=args[k];}}}
}

function P7_hideEl(evt) { //v1.5 by PVII-www.projectseven.com
 var b,r,m=false;if(document.layers){b=evt.target;if(b.p7aHide){
 b.visibility="hidden";}else{routeEvent(evt);}
 }else if(document.all&&!window.opera){b=event.srcElement;while(b){
 if(b.p7aHide){break;}b=b.parentElement;}if(!b.contains(event.toElement)){
 b.style.visibility="hidden";}}else if(document.getElementById){
 b=evt.currentTarget;r=evt.relatedTarget;while(r){if(b==r){m=true;
 break;}r=r.parentNode;}if(!m){b.style.visibility="hidden";}}
}

function P7_autoHide() { //v1.5 by PVII-www.projectseven.com
 var i,g;for(i=0;i<arguments.length;i++){
 if((g=MM_findObj(arguments[i]))!=null){g.p7aHide=true;if(document.layers){
 g.captureEvents(Event.MOUSEOUT);}g.onmouseout=P7_hideEl;}}
}


/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("Please enter a valid date (mm/dd/yyyy)")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true
}

function ValidateDate(){
	var dt=document.addEvent.eventDate
	if (isDate(dt.value)==false){
		dt.focus()
		return false
	}
    return true
 }



function isValidPhoneNumber(s) {
	var temp = s.replace(/\D/g, "")
	return temp.length > 9 && temp.length < 26
}

function isValidZipCode(s) {
	var temp = s.replace(/\D/g, "")
	return temp.match(/^\d{5}$|^\d{9}$/) != null
}

function isValidSelectBox(o) {
	return (o.options[o.selectedIndex].value != "_none_" && 
			o.options[o.selectedIndex].value.trim() != "")
}

function isValidEmailAddress(s) {
	var temp = s.replace(/\s/g, "")
	return (temp.match(/^[\w\.\-]+\x40[\w\.\-]+\.\w{3}$/)) && 
			temp.charAt(0) != "." && !(temp.match(/\.\./))
}
	
	
	


// masking functions - attempt to parse and reformat 
// element's values as a specific datatype
// to use, tack them to the form field's onblur handler.
// document.myForm.phone_number.onblur = phoneFieldBlurHandler	
//   -> this field will now mask for phone numbers onblur
function textFieldBlurHandler() {
	this.value = this.value.trim()
}

function dateFieldBlurHandler() {
	var d = new Date(this.value)
	if (!isNaN(d)) {
		// if the user didn't specify the century/millenium,
		// then assume the present.
		if (this.value.search(/\d{3}/) == -1) 
			d.setYear(Math.floor((new Date()).getFullYear() / 100) * 100 + d.getFullYear() % 100);

		this.value = d.getHumanDateString()
	}
}

function timeFieldBlurHandler() {
	var t = new Time(this.value)
	if (!isNaN(t)) this.value = t.getHumanTimeString()
}

function phoneFieldBlurHandler() {
	var temp = this.value.replace(/\D/g, "")

	if (temp.length > 9 && temp.length < 26)
		if (temp.length == 10) {
			this.value = "(" + temp.substring(0,3) + ") " 
			this.value += temp.substring(3,6) + "-" + temp.substring(6,10)
		}
	}

function zipcodeFieldBlurHandler() {
	var temp = this.value.replace(/\D/g, "")

	if (temp.length == 5 || temp.length == 9) { 
		if (temp.length == 5) this.value = temp
		else this.value = temp.substring(0,5) + "-" + temp.substring(5,9)
	}
}


// convenience function.
// attaches textFieldBlurHandler to the onblur event 
// of every text or textarea element in f
// var myForm = document.myForm
// attachAllTextHandlers(myForm) 
//		-> every text element in myForm now will call 
//		   textFieldBlurHandler (above) onblur
function attachAllTextHandlers(f) {
	var el
	for (var i = 0; (el = f.elements[i]); i++) {
		if (el.type == "text" || el.type == "textarea") 
			el.onblur = textFieldBlurHandler
	}
}






// as convenient a place as any to store this...
var STD_ERROR_PREFIX = "There were one or more problems with the form values "
STD_ERROR_PREFIX += "you entered.\nPlease check the following and try submitting "
STD_ERROR_PREFIX += "the form again:\n\n"





// Extensions to the Date class:
// var myDate = new Date();
// myDate.getMonthName(); -> "February"
// myDate.getHumanDateString(); -> "February 29, 2000"
// myDate.getHumanTimeString(); -> "4:00 pm"


// returns the name of the month
Date.prototype.getMonthName = function() {
	return ["January","February","March","April","May","June","July","August",
			"September","October","November","December"][this.getMonth()]
}


// returns a nicely formatted date string
Date.prototype.getHumanDateString = function() {
return this.getMonthName() + " " + this.getDate() + ", " + this.getFullYear()
}


// returns a nicely formatted time string
Date.prototype.getHumanTimeString = function() {
	var h = this.getHours()
	var m = this.getMinutes()
	var t = h >= 12 ? "pm" : "am"

	if (h == 0) h = 24
	if (h > 12) h -= 12
	h = String(h)
	m = String(m)
	if (m.length == 1) m = "0" + m

	return h + ":" + m + " " + t
}





// Time is a wrapper class for the Date object
// it accepts a wide variety of strings representing the time
// and returns a date object representing the current date with the
// specified time.
//
// var myTime = new Time('4p');
// myTime now contains a date object representing today at 4PM.
//
// accepted formats include 4p, 4:p, 4:1p, 4:10p, 4:10pm, 16:00, 
// and a bunch more...
/*
function Time(sTimeStr) {
	var a = sTimeStr.match(/(\d{1,2})\s*\x3A?\s*(\d{0,2})\s*(am|pm|a|p)?/i)
	if (a) {
		var d = new Date()
		var h = a[1]
		var m = a[2]
		var t = a[3]
		if (t && t.charAt(0).toLowerCase() == "p") h = h % 12 + 12
		d.setHours(h)
		d.setMinutes(m)
		return d
	}
	return null
}
*/
function Time(sTimeStr) {
	if (sTimeStr.trim() != "")
	{
		var a = sTimeStr.match(/\d{1,2}/g)
		var t = sTimeStr.match(/(am|pm|a|p)/ig)
		if (a) {
			var d = new Date()
			var h = a[0]
			var m = a[1] ? a[1] : 0;
			if (t) t = String(t[0]);
			if (t && t.charAt(0).toLowerCase() == "p") h = h % 12 + 12
			d.setHours(h)
			d.setMinutes(m)
			return d
		}
		return null
	}
}




// Extensions to the String class:
// var myStr = "  yomomma.mpg "
// myStr.trim() -> myStr now contains "hotdogs!"
// myStr.hasFileExtension(".mpg") -> true


// like Trim( ) in vbscript. removes trailing and 
// leading whitespace from a string
String.prototype.trim = function() {
	return this.replace(/^\s*|\s*$/g, "")
}


// determines whether or not a filename has one of the specified extensions
String.prototype.endsWith = function() {
	var bOk = false
	for (var i = 0; i < arguments.length; i++) {
		if (this.indexOf(arguments[i]) == this.length - arguments[i].length) {
			bOk = true
			break
		}
	}
	return bOk
}



// push is a quite useful method of arrays in newer 
// javascript implementations, but not in ie5-
Array.prototype.push = function(v) {
	this[this.length] = v
	return v
}


// Newsletter signup ajax-ified

var newsletter = {
	New : function(){
		$('ajaxmessages').innerHTML = '';
		var url = '/cust/newsletter/ajaxhosts/new/?';
		var pars = $('nl_signup').serialize()
		new Ajax.Request(url, {method: 'post', parameters: pars,
			onComplete: function(transport) {
			if(transport.responseText.length > 20){
				new Insertion.Top('ajaxmessages',transport.responseText);
			}else{
				//new Contacts.takemeto('/?id=10&p=' + transport.responseText);
				new Insertion.Top('ajaxmessages',transport.responseText);
			};
			}
		});
	}
}


// window.location = '/Contacts/' + transport.responseText + '/Details/';
var newsletter2 = {
	New : function(){
		$('ajaxmessages').innerHTML = '';
		var url = '/cust/newsletter_2/ajaxhosts/new/?';
		var pars = $('nl_signup').serialize()
		new Ajax.Request(url, {method: 'post', parameters: pars,
			onComplete: function(transport) {
			if(transport.responseText.length > 20){
				new Insertion.Top('ajaxmessages',transport.responseText);
			}else{
				//new Contacts.takemeto('/?id=10&p=' + transport.responseText);
				window.location = '/about/newsletter/' + transport.responseText + '/thanks/';
			};
			}
		});
	}
}

var event = {
	Register : function(){
		var url = '/cust/events/ajaxhosts/register/?';
		var pars = $('regForm').serialize()
		new Ajax.Request(url, {method: 'post', parameters: pars,
			onComplete: function(transport) {
			if(transport.responseText.length > 10){
				//$('eventRegBox').innerHTML = '';
				//$('error').innerHTML = transport.responseText;
				$('error').innerHTML = '<div class="EG-Error">' + transport.responseText + '</div>';
				
			}else{
				//$('eventRegBox').innerHTML = '';
				//new Contacts.takemeto('/?id=10&p=' + transport.responseText);
				//new Insertion.Top('eventRegBox',transport.responseText);
				window.location = '/ToursAndEvents/EventRegistrationThankYou.html';
			};
			}
		});
	}
}
var Conf = {
	Register : function(){
		var url = '/cust/conferences/ajaxhosts/register/?';
		var pars = $('regForm').serialize()
		new Ajax.Request(url, {method: 'post', parameters: pars,
			onComplete: function(transport) {
			if(transport.responseText.length > 20){
				$('TabContent3').innerHTML = '';
				new Insertion.Top('TabContent3',transport.responseText);
			}else{
				$('TabContent3').innerHTML = '';
				//new Contacts.takemeto('/?id=10&p=' + transport.responseText);
				new Insertion.Top('TabContent3',transport.responseText);
			};
			}
		});
	}
}
var Presentations = {
	CreateNewContact : function(){
		$('ajaxmessages').innerHTML = '';
		var url = '/cust/wp/wp_contacts/ajax/newcontact/?';
		var pars = $('newcontactfrm').serialize()
		new Ajax.Request(url, {method: 'post', parameters: pars,
			onComplete: function(transport) {
			if(transport.responseText.length > 24){
				new Insertion.Top('ajaxmessages',transport.responseText);
			}else{
				// new Contacts.takemeto('/?id=12&c=' + transport.responseText);
				window.location = '/Contacts/' + transport.responseText + '/Details/';
			};
			}
		});
	},
	AddToForm : function(addBtn){
		var count = $('ProjectContacts').getElementsByClassName('EG-AutoComplete').length;
		var url = '/cust/wp/wp_contacts/ajax/addcontacttoform/?count=' + count;
		new Ajax.Request(url, {method: 'get',
			onSuccess: function(transport) {
				$('ProjectContacts').setStyle({display:'block'});
				new Insertion.Bottom('ProjectContacts',transport.responseText)
			}
		});
	},
	RemoveFromForm : function(target){
		$('presentation_request_class_' + target).remove();
	},
	InputNewContactNote: function(){
		var url = '/cust/wp/wp_contacts/ajax/newcontactnote/?';
		var pars = $('newcontactnotefrm').serialize()
		new Ajax.Request(url, {method: 'post', parameters: pars,
			onComplete: function(transport) {
			new Insertion.Top('notes',transport.responseText);
			$('Note').clear();
			}
		});
	},
	Delete: function(id){
		var conf = confirm("Are you sure you want to delete this contact?");
		if (conf == true){
			var url = '/cust/wp/wp_contacts/ajax/delete/?';
			var pars = 'contact_id='+id;
			var target = 'contact_'+id;
			var myAjax = new Ajax.Request(url, {method: 'post', parameters: pars, onComplete: function(){window.location='/Contacts/';}});
		}
	},
	InviteForm: function(){
		new Effect.toggle($('newinvitelink'),'blind');
		new Effect.toggle($('inviteform'),'blind');
	},
	SendInvite: function(){
		var conf = confirm("Are you sure you want to invite this contact to Whitepass?");
		if (conf == true){
			var url = '/cust/wp/wp_users/ajax/inviteuser/?';
			var pars = $('inviteform').serialize();
			var myAjax = new Ajax.Request(url, {method: 'post', parameters: pars, onComplete: function(){
				new Effect.toggle($('invitesent'),'blind');
				new Effect.toggle($('inviteform'),'blind');
			;}});
		}
		
	},
	SaveChanges: function(){
		$('ajaxmessages').innerHTML = '';
		var url = '/cust/wp/wp_contacts/ajax/editcontact/?';
		var pars = $('editcontactfrm').serialize()
		new Ajax.Request(url, {method: 'post', parameters: pars,
			onComplete: function(transport) {
			if(transport.responseText.length > 24){
				new Insertion.Top('ajaxmessages',transport.responseText);
			}else{
				new Contacts.takemeto('/Contacts/' + transport.responseText + '/Details/');
			};
			}
		});
	},
	SubmitNewRequest: function(){
		$('ajaxmessages').innerHTML = '';
		var url = '/cust/presentation_requests/ajax/submitnewrequest/?';
		var pars = $('presentationrequest').serialize()
		new Ajax.Request(url, {method: 'post', parameters: pars,
			onComplete: function(transport) {
			if(transport.responseText.length > 7){
				new Insertion.Top('ajaxmessages',transport.responseText);
			}else{
				window.location = ('/education/presentationrequestthankyou.html');
			};
			}
		});
	},
	takemeto: function(url){
		if ($('ajaxmessages').innerHTML == ''){
			window.location = url;
		};
	},
	AddPresentationRequestClassToForm: function(addBtn){
		var url = '/cust/presentation_requests/ajax/addrequestclass/?';
		new Ajax.Request(url, {method: 'get',
			onSuccess: function(transport) {
				new Insertion.Bottom('presentation_request_classes',transport.responseText)
			}
		});
	},
	AddEmailAddressToForm: function(addBtn){
		var url = '/cust/wp/wp_contacts/ajax/addemailaddresstoform/?';
		new Ajax.Request(url, {method: 'get',
			onSuccess: function(transport) {
				new Insertion.Bottom('EmailAddresses',transport.responseText)
			}
		});
	}
}
function Tab1(){
        document.getElementById('TabContent1').style.display = "block";
        document.getElementById('Tab1').className = "TabActive";
        document.getElementById('TabContent2').style.display = "none";
        document.getElementById('Tab2').className = "TabInactive";
        document.getElementById('TabContent3').style.display = "none";
        document.getElementById('Tab3').className = "TabInactive";
}
function Tab2(){
        document.getElementById('TabContent1').style.display = "none";
        document.getElementById('Tab1').className = "TabInactive";
        document.getElementById('TabContent2').style.display = "block";
        document.getElementById('Tab2').className = "TabActive";
        document.getElementById('TabContent3').style.display = "none";
        document.getElementById('Tab3').className = "TabInactive";
}
function Tab3(){
        document.getElementById('TabContent1').style.display = "none";
        document.getElementById('Tab1').className = "TabInactive";
        document.getElementById('TabContent2').style.display = "none";
        document.getElementById('Tab2').className = "TabInactive";
        document.getElementById('TabContent3').style.display = "block";
        document.getElementById('Tab3').className = "TabActive";
}
function writeFlash(src,h,w,WMode){
	
	/* Kill caching issues */
	// movieSrc = src + '?killcache=' + Date();
	movieSrc = src;
	
	/* Determine which protocal the browser is using. */
	var strProtocal = "http";	
	if (location.href.indexOf("http://") > 0)
	{
		strProtocal = "http";
	}else{
		strProtocal = "https";
	};
	
	document.write('<object codebase="'+strProtocal+'://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="'+h+'" width="'+w+'">')
	document.write('		<param name="_cx" value="20320">')
	document.write('		<param name="_cy" value="3942">')
	document.write('		<param name="FlashVars" value="">')
	document.write('		<param name="Movie" value="'+movieSrc+'">')
	document.write('		<param name="Src" value="'+movieSrc+'">')
	document.write('		<param name="WMode" value="'+WMode+'">')
	document.write('		<param name="Play" value="-1">')
	document.write('		<param name="Loop" value="-1">')
	document.write('		<param name="Quality" value="High">')
	document.write('		<param name="SAlign" value="">')
	document.write('		<param name="Menu" value="-1">')
	document.write('		<param name="Base" value="">')
	document.write('		<param name="AllowScriptAccess" value="">')
	document.write('		<param name="Scale" value="ShowAll">')
	document.write('		<param name="DeviceFont" value="0">')
	document.write('		<param name="EmbedMovie" value="0">')
	document.write('		<param name="BGColor" value="">')
	document.write('		<param name="SWRemote" value="">')
	document.write('		<param name="MovieData" value="">')
	document.write('		<param name="SeamlessTabbing" value="1">')
	document.write('		<param name="Profile" value="0">')
	document.write('		<param name="ProfileAddress" value="">')
	document.write('		<param name="ProfilePort" value="0">')
	document.write('		<embed src="'+movieSrc+'" quality="high" pluginspage="'+strProtocal+'://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" wmode="'+WMode+'" height="'+h+'" width="'+w+'">')
	document.write('</object>')
}