YAHOO.util.Event.onDOMReady(pageInit);





function pageInit() {

    var signupFormEl = document.getElementById('signup_block');

    signupFormEl.tmt_validator = new tmt_formValidator(signupFormEl);



	YAHOO.util.Event.addListener("signup_block", "submit", signupSubmit);



    if (document.getElementById("home_container")) {

        var so = new SWFObject("swf/home.swf",

                               "vantage_home_movie", // id

                               "474", // width

                               "465", // height

                               "6", // required version

                               "#ffffff" // bgcolor

                               );

        so.write("home_container");

    }



    if (document.getElementById("video_trigger")) {

        YAHOO.util.Event.addListener("video_trigger", "click", showVideo);

    }









    // rollovers for arrow buttons

    var arrow_buttons = YAHOO.util.Dom.getElementsByClassName("arrow_button");



    var arrowMouseover = function() { this.src = arrowOverImage.src; };

    var arrowMouseout = function() { this.src = arrowOffImage.src; };

    var arrowMousedown = function() { this.src = arrowDownImage.src; };



    for (var i=0; i < arrow_buttons.length; i++) {

        YAHOO.util.Event.addListener(arrow_buttons[i], "mouseover", arrowMouseover);

        YAHOO.util.Event.addListener(arrow_buttons[i], "mouseout", arrowMouseout);

        YAHOO.util.Event.addListener(arrow_buttons[i], "mousedown", arrowMousedown);

    }



    // dynamic definitions

    var definition_links = YAHOO.util.Dom.getElementsByClassName("definition_toggle", "A");

    for (var i=0; i < definition_links.length; i++) {

        YAHOO.util.Event.addListener(definition_links[i], "click", showDefinition);

    }



    // print friendly icon

    YAHOO.util.Event.addListener("print_friendly", "click", showPopup);



    // overlays for segmentation whitepaper

    if (document.getElementById("segmentation_figure3_trigger")) {

        for (i=3; i < 17; i++) {

            YAHOO.util.Event.addListener("segmentation_figure" + i + "_trigger", "click", showOverlay);

        }

    }



    // overlays for modeling whitepaper

    if (document.getElementById("modeling_figure1_trigger")) {

        for (var i=1; i < 5; i++) {

            YAHOO.util.Event.addListener("modeling_figure" + i + "_trigger", "click", showOverlay);

        }

    }



}



function showOverlay(e) {

    YAHOO.util.Event.stopEvent(e);

    target_id = this.id.replace(/_trigger$/, "");

    document.getElementById(target_id).style.display = "block";

    document.getElementById(target_id).style.visibility = "hidden";

    var overlay = new YAHOO.widget.Overlay(target_id, { fixedcenter:true, visible:true, width:"600px" });

    overlay.setHeader('<a href="#">Close</a>');

    overlay.render();

    YAHOO.util.Event.addListener(target_id, "click", hideOverlay, overlay, true);

    return false;

}



function hideOverlay(e) {

    YAHOO.util.Event.stopEvent(e);

    this.hide();

    return false;

}









function showDefinition(e) {

    YAHOO.util.Event.stopEvent(e);

    var event_target = YAHOO.util.Event.getTarget(e);

    var nearest_definition = event_target.parentNode.nextSibling.nextSibling;

    var definition_links = nearest_definition.getElementsByTagName('A');

    var close_link = definition_links[definition_links.length-1];

    YAHOO.util.Dom.addClass(nearest_definition, "definition_visible");

    event_target.parentNode.style.display = 'none';



    YAHOO.util.Event.addListener(close_link,"click", hideDefinition);

    return false;

}



function hideDefinition(e) {

    YAHOO.util.Event.stopEvent(e);

    var event_target = YAHOO.util.Event.getTarget(e);

    var parent_node = event_target.parentNode.parentNode;

    YAHOO.util.Dom.removeClass(parent_node, "definition_visible");

    parent_node.previousSibling.previousSibling.style.display = 'inline';

}



function displaySignupErrors(formNode, validators){

    var el = document.getElementById("signup_errors");

    var errorHTML = "";

    for(var i=0;i<validators.length;i++){

        errorHTML += validators[i].message;

        if (errorHTML != "") {

            break;

        }

    }

    if (errorHTML != "") {

        el.innerHTML = errorHTML;

        el.className = "active";

    }

}







function signupSubmit(e) {

    YAHOO.util.Event.stopEvent(e);

    var signup_form = document.getElementById("signup_block");

    var result = tmt_validateForm(signup_form);



    if (result === true) {

        var input_fields  = signup_form.getElementsByTagName('input');

        var audience_value = '';

        for (i=0; i < input_fields.length; i++) {

            if (input_fields[i].type == "radio" && input_fields[i].checked) {

                audience_value = input_fields[i].value;

            }

        }



        var responseSuccess = function(o){			
			if (o.responseText == "success") {
                document.getElementById("signup_block").innerHTML = document.getElementById("signup_confirmation").innerHTML;
            }else if(o.responseText == "email_error") {
				document.getElementById("signup_errors").innerHTML = "Please provide a valid email address.";
			}else if(o.responseText == "first_name_error") {
				document.getElementById("signup_errors").innerHTML = "Please provide your first name.";
			}else if(o.responseText == "last_name_error") {
				document.getElementById("signup_errors").innerHTML = "Please provide your last name.";
			}else if(o.responseText == "audience_error") {
				document.getElementById("signup_errors").innerHTML = "Please tell us which audience you belong to.";
			}
        };



        var responseFailure = function(o) {

        }



        var signupCallback = {

            success:responseSuccess,

            failure:responseFailure

        };





        YAHOO.util.Connect.setForm(signup_form);

        var transaction = YAHOO.util.Connect.asyncRequest('POST', signup_form.action, signupCallback);

    }

}









function showPopup(e) {

    YAHOO.util.Event.stopEvent(e);

    childwindow({url:this.href,w:800,h:'full',position:'parentCM',chrome:'scrollbars,resizable,toolbar'});

}



function showVideo(e) {

    YAHOO.util.Event.stopEvent(e);

    container = document.getElementById('barrett_container');

    container.style.display = 'block';

    trigger = document.getElementById('video_trigger');

    trigger.style.display = 'none';



    var so = new SWFObject("/videos/barrett.swf",

                           "about_video", // id

                           "330", // width

                           "247", // height

                           "8", // required version

                           "#ffffff" // bgcolor

                           );

    so.write("barrett_container");

}



function childwindow(params) {

    if (!params.url) {

        return false;

    }



    if (!params.name) {

        params.name = 'mychildwindow';

    }



    if (!params.position) {

        params.position = 'screenCM';

    }



    if (!params.w) {

        params.w = 'half';

    }



    if (!params.h) {

        params.h = 'half';

    }



    if (!params.chrome) {

        params.chrome = 'resizable,scrollbars';

    }



    var bod = document.body;

    var screenW = screen.availWidth;

    var screenH = screen.availHeight;

    var parentW = window.outerWidth || bod.offsetWidth;

    var parentH = window.outerHeight || bod.offsetHeight;

    var parentX = (window.screenX || window.screenLeft);

    var parentY = (window.screenY || window.screenTop);



    switch (params.w) {

    case "full":

        params.w = screenW;

        break;

    case "half":

        params.w = screenW/2;

        break;

    case "quarter":

        params.w = screenW/4;

        break;

    }



    switch (params.h) {

    case "full":

        params.h = screenH;

        break;

    case "half":

        params.h = screenH/2;

        break;

    case "quarter":

        params.h = screenH/4;

        break;

    }





    switch (params.position) {

    case "screenCT":

        params.x = (screenW - params.w)/2;

        params.y = 0;

        break;



    case "screenCM":

        params.x = (screenW - params.w)/2;

        params.y = (screenH - params.h)/2;

        break;



    case "screenCB":

        params.x = (screenW - params.w)/2;

        params.y = screenH - params.h;

        break;



    case "screenLT":

        params.x = 0;

        params.y = 0;

        break;



    case "screenLM":

        params.x = 0;

        params.y = (screenH - params.h)/2;

        break;



    case "screenLB":

        params.x = 0;

        params.y = screenH - params.h;

        break;



    case "screenRT":

        params.x = screenW - params.w;

        params.y = 0;

        break;



    case "screenRM":

        params.x = screenW - params.w;

        params.y = (screenH - params.h)/2;

        break;



    case "screenRB":

        params.x = screenW - params.w;

        params.y = screenH - params.h;

        break;



    case "parentCT":

        params.x = parentX + (parentW - params.w)/2;

        params.y = parentY;

        break;



    case "parentCM":

        params.x = parentX + (parentW - params.w)/2;

        params.y = parentY + (parentH - params.h)/2;

        break;



    case "parentCB":

        params.x = parentX + (parentW - params.w)/2;

        params.y = parentY + (parentH - params.h);

        break;



    case "parentLT":

        params.x = parentX;

        params.y = parentY;

        break;



    case "parentLM":

        params.x = parentX;

        params.y = parentY + (parentH - params.h)/2;

        break;



    case "parentLB":

        params.x = parentX;

        params.y = parentY + (parentH - params.h);

        break;



    case "parentRT":

        params.x = parentX + (parentW - params.w);

        params.y = parentY;

        break;



    case "parentRM":

        params.x = parentX + (parentW - params.w);

        params.y = parentY + (parentH -  params.h)/2;

        break;



    case "parentRB":

        params.x = parentX + parentW - params.w;

        params.y = parentY + parentH - params.h;

        break;

    default:

        params.x = 0;

        params.y = 0;

    }



    var windowAttributes = "left=" + params.x + ",top=" + params.y + ",screenX=" + params.x + ",screenY=" + params.y;

    windowAttributes += ",width=" + params.w + ",height=" + params.h + "," + params.chrome;



    var childWin = window.open(params.url, params.name, windowAttributes);

    childWin.focus();

    return false;

}







<!-- Rollover Image



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 printDiv(divId) {
	var cssURL="http://" + document.location.host +"/css/vantage-print.css";
	var w = window.open('','newwin');
	var Html = document.getElementById(divId).innerHTML;
  	w.document.write('<body onLoad="window.print();">'+'<link href="'+cssURL+'" rel="stylesheet" type="text/css"/><style media="print" >h6{display:none}</style><style media="screen" >h6{display:none}</style><div class="whitepapers-left-sub-column1">'+ Html +'</div></body>');
  	w.document.close();
	//w.window.setTimeout('close()',250);
}