/**
 * File: dynamic_phone.js
 * Desc: Dynamically determines which phone number to use based on where the
 *       user came from. Requires a div with id="dynaPhone"
 * Author: Jason Gordon
 * Last Modified: 2007/08/15
 */

function dynamic_phone(){
  phone_numbers = document.getElementsByTagName('div');
  referrer = document.referrer

  // Iterate through all dynaPhone divs on the page and update their phone numbers
  for( i=0; i<phone_numbers.length; i++ ){    
    phone_number = phone_numbers.item(i);
    class_node = phone_number.attributes.getNamedItem('class') 

    if( class_node == null || class_node.nodeValue != 'dynaPhone' ){
      continue;
    }
    
    // First, check for a referrer that we're listening for. If we don't find one
    // check the cookie for a stored referrer
    
    // Yahoo
    if( referrer.indexOf('yahoo.com') != -1 ){
      referrer = 'yahoo';
      phone_number.innerHTML = '1 (888) 236-5403';
      dynamic_phone_set_cookie('referrer', referrer, 1);
    }
    // Google
    else if( referrer.indexOf('google.com') != -1 ) {
      referrer = 'google';
      phone_number.innerHTML = '1 (888) 731-7423';
      dynamic_phone_set_cookie('referrer', referrer, 1);
    }
    // Thomasnet
    else if( referrer.indexOf('thomasnet.com') != -1 ){
      referrer = 'thomasnet';
      phone_number.innerHTML = '1 (888) 812-3607';
      dynamic_phone_set_cookie('referrer', referrer, 1);
    }
    // IQS Directory
    else if( referrer.indexOf('iqsdirectory.com') != -1 ){
      referrer = 'iqsdirectory';
      phone_number.innerHTML = '1 (888) 424-6906';
      dynamic_phone_set_cookie('referrer', referrer, 1);
    }
    // Check the cookie
    else{
      referrer = dynamic_phone_get_cookie('referrer');
      switch( referrer ){
        case 'google':
          phone_number.innerHTML = '1 (888) 731-7423';
          break;
        case 'yahoo':
          phone_number.innerHTML = '1 (888) 236-5403';
          break;
        case 'thomasnet':
          phone_number.innerHTML = '1 (888) 812-3607';
          break;
        case 'iqsdirectory':
          phone_number.innerHTML = '1 (888) 424-6906';
          break;
      }
    }
  }
  
  //phone_number.innerHTML = phone_number.innerHTML + "<br>-- " + referrer + " --";
}

function dynamic_phone_set_cookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function dynamic_phone_get_cookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}