// onload function

/*

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

*/

/* 
  This function checks for the required form elements on the 
  community_ed.jsp page.
*/
function checkAutoSubscribeForm(formObj)  {
  var f_email = formObj.email.value;
  var f_first_name = formObj.first_name.value;
  var f_last_name = formObj.last_name.value;
  var f_company = formObj.company.value;
  var f_title = formObj.title.value;
  var f_phone = formObj.phone.value;
  var f_state = formObj.state.value;
  var f_country_abbrev = formObj.country_abbrev.value;
  
  var f_how_did_you_hear = formObj.How_Did_You_Hear_About_Rally__c.value;
  var f_industry = formObj.industry.value;
  var f_size_of_team = formObj.Number_of_Developers_Company__c.value;
  var f_purchase_intent = formObj.mv_will_be_purchasing_agile_tools__c.value;
  var f_agreed_to_terms = formObj.agreed_to_terms.checked;
  
  var f_level_of_agile_adoption = formObj.Agile_Adoption__c.value;

  if (f_email == "" || !checkemail(f_email)) {
    alert("Please provide a valid email address and try again.");
    return false;
  }
    
  if ((f_first_name == "") || (f_last_name == "") || (f_company = "") || (f_title == "") || (f_state == "") || (f_phone == "")) {
    alert("We're Sorry!\nYou didn't provide all the required information.\nPlease fill out all the required information and try again.");
    return false;
  }
    
  if (f_country_abbrev == "US" && f_state == "XX") {
    alert("Please select a US State and try again.");
    return false;
  }
  
  if ((f_how_did_you_hear == "") || (f_industry == "") || (f_size_of_team = "") || (f_level_of_agile_adoption == "") || (f_purchase_intent == "")) {
    alert("We're Sorry!\nYou didn't provide all the additional information.\nPlease fill out all the additional information and try again.");
    return false;
  } 
  
  if (!f_agreed_to_terms) {
    alert("You must agree to the terms of Rally's Trial subscription agreement.");
    return false;
  }   

  return true;
}

function checkCaseForm(formObj)  {
  var f_Name = formObj.name.value;
  var f_subject = formObj.subject.value;
  var f_email = formObj.email.value;
  var f_reason = formObj.reason.selectedIndex;
  var validated = true;
  if ((f_Name == "") || (f_subject == "") || (f_email == "") || (f_email.indexOf("@") == -1) || (f_reason == 0)) {
    alert("We're Sorry!\n You didn't provide all the required information.\nPlease fill out the form completely, then click Send Question to Rally.");
    validated = false;
  }
  return validated;
}

function checkForm(formObj)  {
  var f_firstName = formObj.first_name.value;
  var f_lastName = formObj.last_name.value;
  var f_email = formObj.email.value;
  if (f_firstName == "" || f_lastName == "" || f_email == "") {
    alert("We're Sorry!\n You didn't provide all the required information.\nPlease fill out the form completely, then click Download Whitepaper.");
    return false;
  }
  return true;
}

// Called from free_sample_project.jsp

function checkProjectForm(formObj){
  var f_email = formObj.email.value;
  var f_first_name = formObj.first_name.value;
  var f_last_name = formObj.last_name.value;
  var validated = true;
  if ((f_email == "") || (!checkemail(f_email)) || (f_first_name == "") || (f_last_name == "")) {
    alert("We're Sorry!\nYou didn't provide all the required information.\nPlease fill out all the required information.\nThen click Send me Sample Project Login.");
    validated = false;
  }
  return validated;
}

// Called from white_paper_download.jsp

function checkWhitePaperForm(formObj){
  var f_email = formObj.email.value;
  var f_first_name = formObj.first_name.value;
  var f_last_name = formObj.last_name.value;
  var f_company = formObj.company.value;
  var f_title = formObj.title.value;
  var validated = true;
  if ((f_email == "") || (!checkemail(f_email)) || (f_first_name == "") || (f_last_name == "") || (f_company = "") || (f_title =="") ) {
    alert("We're Sorry!\nYou didn't provide all the required information.\nPlease fill out all the required information.\nThen click Send me Free Rally Whitepaper.");
    validated = false;
  }
  return validated;
}

// Called from register_for_webinar.jsp

function checkWebinarForm(formObj){
  var f_email = formObj.email.value;
  var f_first_name = formObj.first_name.value;
  var f_last_name = formObj.last_name.value;
  var f_company = formObj.company.value;
  var f_title = formObj.title.value;
  var validated = true;
  if ((f_email == "") || (!checkemail(f_email)) || (f_first_name == "") || (f_last_name == "") || (f_company = "") || (f_title =="") ) {
    alert("We're Sorry!\nYou didn't provide all the required information.\nPlease fill out all the required information.\nThen click Sign up for FREE Webinar.");
    validated = false;
  }
  return validated;
}

function isoOnChange(selectObj) {
  if (selectObj == null || selectObj.selectedIndex == null) {
    return;
  }
  
  var v = selectObj.options[selectObj.selectedIndex];
  if (v == null || v.value == null) {
    return;
  }
  
  var state = document.getElementById("state");
  if (state == null) {
    return;
  }
  
  if (v.value != "US") {
    state.selectedIndex = 1;
  }
  else if (state.selectedIndex == 1) {
    state.selectedIndex = 0;
  }
}

function onChangeCountry(selectObj,stateid) {
  if (selectObj == null || selectObj.selectedIndex == null) {
    return;
  }
  
  var v = selectObj.options[selectObj.selectedIndex];
  if (v == null || v.value == null) {
    return;
  }
  
  var state = document.getElementById(stateid);
  if (state == null) {
    return;
  }
  
  if (v.value != "US") {
    state.selectedIndex = 1;
  }
  else if (state.selectedIndex == 1) {
    state.selectedIndex = 0;
  }
}

function checkGettingStartedOptionForm(formObj, phoneRequired) {
  var f_email = formObj.email.value;
  var f_first_name = formObj.first_name.value;
  var f_last_name = formObj.last_name.value;
  var f_company = formObj.company.value;
  var f_title = formObj.title.value;
  var f_phone = formObj.phone.value;
  var f_state = formObj.state.value;
  var f_country_abbrev = formObj.country_abbrev.value;
  var f_webinar_option = formObj.webinar_option.value;
  var f_how_did_you_hear = formObj.how_did_you_hear.value;
  var f_industry = formObj.industry.value;
  var f_size_of_team = formObj.size_of_team.value;
  var f_level_of_agile_adoption = formObj.level_of_agile_adoption.value;  
  
  var validated = true;
  
  if (f_email == "" || !checkemail(f_email)) {
    alert("Please provide a valid email address and try again.");
    validated = false;
  }
  else if (f_webinar_option == "") {
    alert("Please select a webinar option and try again.");
    validated = false;
  }
  else { 
    if ((f_first_name == "") || (f_last_name == "") || (f_company = "") || (f_title == "") || (f_state == "") || (phoneRequired == true && f_phone == "")) {
      alert("We're Sorry!\nYou didn't provide all the required information.\nPlease fill out all the required information and try again.");
      validated = false;
    }
    else {
      if (f_country_abbrev == "US" && f_state == "XX") {
        alert("Please select a US State and try again.");
        validated = false;
      }
      else if ((f_how_did_you_hear == "") || (f_industry == "") || (f_size_of_team = "") || (f_level_of_agile_adoption == "")) {
        alert("We're Sorry!\nYou didn't provide all the additional information.\nPlease fill out all of the additional information and try again.");
        validated = false;
      }
    }
  }  
  
  return validated;
}

function checkCommonForm(formObj, phoneRequired) {
  var f_email = formObj.email.value;
  var f_first_name = formObj.first_name.value;
  var f_last_name = formObj.last_name.value;
  var f_company = formObj.company.value;
  var f_title = formObj.title.value;
  var f_phone = formObj.phone.value;
  var f_state = formObj.state.value;
  var f_country_abbrev = formObj.country_abbrev.value;

  var validated = true;

  if (f_email == "" || !checkemail(f_email)) {
    alert("Please provide a valid email address and try again.");
    validated = false;
  }
  else { 
    if ((f_first_name == "") || (f_last_name == "") || (f_company = "") || (f_title == "") || (f_state == "") || (phoneRequired == true && f_phone == "")) {
      alert("We're Sorry!\nYou didn't provide all the required information.\nPlease fill out all the required information and try again.");
      validated = false;
    }
    else 
    {
      if (f_country_abbrev == "US" && f_state == "XX") {
        alert("Please select a US State and try again.");
        validated = false;
      }
    }
  }
  return validated;
}

function checkDownloadForm(formObj) {
  var f_email = formObj.email.value;
  var f_first_name = formObj.first_name.value;
  var f_last_name = formObj.last_name.value;
  var f_company = formObj.company.value;
  var f_title = formObj.title.value;
  var f_phone = formObj.phone.value;
  var f_state = formObj.state.value;
  var f_country_abbrev = formObj.country_abbrev.value;
  var f_how_did_you_hear = formObj.how_did_you_hear.options[formObj.how_did_you_hear.selectedIndex].value;
  var f_industry = formObj.industry.options[formObj.industry.selectedIndex].value;
  var f_size_of_team = formObj.size_of_team.options[formObj.size_of_team.selectedIndex].value;
  var f_level_of_agile_adoption = formObj.level_of_agile_adoption.options[formObj.level_of_agile_adoption.selectedIndex].value;
  var f_mv_will_be_purchasing_agile_tools__c = formObj.mv_will_be_purchasing_agile_tools__c.options[formObj.mv_will_be_purchasing_agile_tools__c.selectedIndex].value;
  
  var validated = true;

  if (f_email == "" || !checkemail(f_email)) {
    alert("Please provide a valid email address and try again.");
    validated = false;
  }
  else { 
    if ((f_first_name == "") || (f_last_name == "") || (f_company = "") || (f_title == "") || (f_state == "") || (f_phone == "") || (f_how_did_you_hear=="") || (f_industry=="") || (f_size_of_team=="") || (f_level_of_agile_adoption=="") || (f_mv_will_be_purchasing_agile_tools__c=="")) {
      alert("We're Sorry!\nYou didn't provide all the required information.\nPlease fill out all the required information and try again.");
      validated = false;
    }
    else 
    {
      if (f_country_abbrev == "US" && f_state == "XX") {
        alert("Please select a US State and try again.");
        validated = false;
      }
    }
  }
  return validated;
}

var newWin = null;
function showWin (url, name, w, h) {
  leftPos = 0;
  topPos = 0;
  if (screen) {
    leftPos = (screen.width / 2) - 483;
    topPos = (screen.height / 2) - 350;
  }
  if (newWin != null && !newWin.closed) {
        newWin.focus();
  } else {
    var params="width="+w+",height="+h+",location=no,menubar=no,personalbar=no,scrollbars=no,toolbar=no,directories=no,resizable=no,status=no,left=" + leftPos + ",top=" + topPos;
    newWin = window.open (url, name, params);
    newWin.focus();
  }
}


function validateUnsubscribe(formObj) {
  var unsubscribeEmail = formObj.fromEmail.value;
  if (!checkemail(unsubscribeEmail)) {
    alert("Please enter a valid e-mail address. Then click Unsubscribe.");
    return false;
  } else {
    return true;
  }
}

/*
  E-mail Validation Script. It checks for the following:
  - Contains a least one character procedding the "@"
  - Contains a "@" following the procedding character(s)
  - Contains at least one character following the "@", followed by a dot (.), followed by either a two character or three character string (a two character country code or the standard three character US code, such as com, edu etc)
*/

function checkemail(str){
  var filter = /^[a-z0-9]([a-z0-9_\-\.\+]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,4}(\.[a-z]{2}){0,2})$/i;
  if (filter.test(str))
      testresults=true;
  else {
      testresults=false;
  }
  return (testresults);
}

function validateRefer(formObj) 
{
  var email1 = $("referee1").value;
  var email2 = $("referee2").value;
  var email3 = $("referee3").value;

  var result = false;

  if (email1 == "" && email2 == "" && email3 == "")
  {
    alert("Please enter a valid email address.");
    return false;
  }

  if (email1 != "")
  {
    if (checkemail(email1) == false)
    {
      alert("E-Mail 1 is not a valid email address.");
      return false;
    }
  } 
  
  if (email2 != "")
  {
    if (checkemail(email2) == false)
    {
      alert("E-Mail 2 is not a valid email address.");
      return false;
    }
  }   
  
  if (email3 != "")
  {
    if (checkemail(email3) == false)
    {
      alert("E-Mail 3 is not a valid email address.");
      return false;
    }
  } 
  
  return true;
}

function isAnyRadioChecked(radios) {
  if (!radios.length)
    return radios.checked;
    
  for (i = 0; i < radios.length; i++) {
    if (radios[i].checked) {
      return true;
    }
  }
  return false;
}

function checkRoadshowForm(formObj, phoneRequired) {
  var f_email = formObj.email.value;
  var f_first_name = formObj.first_name.value;
  var f_last_name = formObj.last_name.value;
  var f_company = formObj.company.value;
  var f_title = formObj.title.value;
  var f_phone = formObj.phone.value;
  var f_state = formObj.state.value;
  var f_country_abbrev = formObj.country_abbrev.value;
  var eventLocation = document.getElementById("eventLocation");

  var validated = true;

  if (f_email == "" || !checkemail(f_email)) {
    alert("Please provide a valid email address and try again.");
    validated = false;
  }
  else { 
    if ((f_first_name == "") || (f_last_name == "") || (f_company = "") || (f_title == "") || (f_state == "") || (phoneRequired == true && f_phone == "")) {
      alert("We're Sorry!\nYou didn't provide all the required information.\nPlease fill out all the required information and try again.");
      validated = false;
    }
    else {
      if (f_country_abbrev == "US" && f_state == "XX") {
        alert("Please select a US State and try again.");
        validated = false;
      }
    }
  }
  
  if (validated && !isAnyRadioChecked(formObj.eventLocation))
  {
    alert("Please choose an event location.");
    validated = false;
  }
  
  return validated;
}

function MM_openBrWindow(theURL,winName,features) { 
  window.open(theURL,winName,features);
}


/*  Standard Links */

var myWindow = null;
function showPopup(fileName) {
   if (myWindow != null && !myWindow.closed) {
    myWindow.focus();
  } else {
    myWindow = window.open (fileName,"mywindow","location=1,status=1,scrollbars=1,width=600,height=400");
    myWindow.focus();
  }
}
function checkoutNow() {
  var termsAgreed = document.getElementById('termsOfUse').checked;
  var subscriptionAgreed = document.getElementById('subscriptionAgreement').checked;
  if (termsAgreed && subscriptionAgreed) {
    location.href='checkout_step2.jsp';
  } else {
    alert("Please review the Order Terms &amp; Conditions and Subscription Agreement.");
  }
}

function displayEmail (email)
{
	document.write('<a href="mailto:'+email+'">'+email+'</a>');
}