

  function email_friend_v2(url,title)
  {
      window.open("http://www.myrateplan.com/email_a_friend.php?ptitle="+title+"&url="+url,"EMAILFRIEND","WIDTH=500,HEIGHT=700");
  }


  function bookmark(url,title) 
  {
    if ((navigator.appName == "Microsoft Internet Explorer") &&
        (parseInt(navigator.appVersion) >= 4)) {
        // What is the URL of the current page?

        // What is the title of the current page?
        //var title="MyRatePlan - Cell Phones and Plans";

        window.external.AddFavorite(url,title);
    } else {
        var msg = "Netscape users please press CTRL-D to bookmark this site";
        alert(msg);
    }
  }


  // | *
  // | *  Element Position
  // | *
  var isNav, isIE, isNavMac, isIEMac, isSafariMac, isFirefoxMac;


  if (parseInt(navigator.appVersion) >= 4)
  {
    //alert(navigator.appName +  " " + navigator.appVersion );
    if (navigator.appName == "Netscape")
    {
        isNav = true
        if( navigator.appVersion.match("Mac") )
        {
            isNavMac = true;
            //alert("NavMac");
        }
    }

    if (navigator.appName == "Microsoft Internet Explorer")
    {
        isIE = true
        if( navigator.appVersion.match("Mac") )
        {
            isIEMac = true;
        }
    }

  }


  if( navigator.appVersion.match("Mac") && navigator.appVersion.match("Safari") )
  {
      isSafariMac = true;
  }

  if( navigator.appVersion.match("Mac") && navigator.appVersion.match("Firefox") )
  {
      isFirefoxMac = true;
  }

  function getElementPosition(elemID)
  {
      var offsetTrail = document.getElementById(elemID);
      var offsetLeft = 0;
      var offsetTop = 0;
      while (offsetTrail)
      {
          offsetLeft += offsetTrail.offsetLeft;
          offsetTop += offsetTrail.offsetTop;
          offsetTrail = offsetTrail.offsetParent;
      }
      if (navigator.userAgent.indexOf("Mac") != -1 &&
          typeof document.body.leftMargin != "undefined")
      {
          offsetLeft += document.body.leftMargin;
          offsetTop += document.body.topMargin;
      }

      //if( navigator.userAgent.indexOf("Mac") != -1 )
      if( (isIEMac || isSafariMac) )
      {
          //alert('Updating');
          offsetLeft = offsetLeft / 10;
          offsetTop  = offsetTop  / 10;
      }

      return {left:offsetLeft, top:offsetTop};
  }





  // | *
  // | *  CLEAR
  // | *  use:  array_name.clear()
  // | *
  Array.prototype.clear = function ()
  {
      this.length = 0;
  };


  // | *
  // | *  REMOVE - remove an element from an array
  // | *  use:  array_name.remove(elem)
  // | *
  Array.prototype.remove = function (element)
  {
        var result = false;
        var array = [];
        for (var i = 0; i < this.length; i++) {
                if (this[i] == element) {
                        result = true;
                } else {
                        array.push(this[i]);
                }
        }
        this.clear();
        for (var i = 0; i < array.length; i++) {
                this.push(array[i]);
        }
        array = null;
        return result;
  };


  // | *
  // | *  CONTAINS - similar to in_array(), does the key exist?
  // | *
  // | *  return True/False use: array_name.contains(elem_name)
  // | *
  Array.prototype.contains = function (element)
  {
      for (var i = 0; i < this.length; i++)
      {
          if (this[i] == element) {   return true;  }
      }
      return false;
  };

  // | *
  // | *  IMPLODE
  // | *
  // | *  returns a string... use: array_name.implode(sep)
  // | *  [2,4,5] returns "2,4,5"
  Array.prototype.implode = function (sep)
  {
      var out = new String();
      for (var i = 0; i < this.length; i++)
      {
          if( out.length > 0 )  out = out + sep;
          out = out + this[i];
      }
      return out;
  };



  // | * 
  // | * From the header.. not sure if these are still used
  // | *

   var iph_pad = "iph_pad";
   var iph_nuc = false;
   var iph_closable = true;

   function iph_click(pad)
   {
       try {
           document.getElementById(iph_pad).innerHTML = "";
           document.getElementById(iph_pad).style.display = "none";
       } catch(e) {}
 

       dt = new Date;
       tm = dt.getTime();

       iph_pad = pad;
       iph_nuc = false;

       document.getElementById(iph_pad).style.display = "";
       document.getElementById(iph_pad).innerHTML = "<br><br><font style='font-size: 15pt; color: #aaa;'>..:.:: Loading ::.:..</font>";

       url = "/iph_signup.php?tm="+tm+"&closable="+iph_closable;
       ajax_dorequest(url,"iph_loader","raw");
   }

   function iph_loader(data)
   {
       document.getElementById(iph_pad).innerHTML = data;
   }
   
   function iph_close()
   {
       if( iph_closable ) document.getElementById(iph_pad).style.display = "none";
   }

   function iph_signup()
   {
       document.getElementById("iph_errmsg").innerHTML = "";

       var errmsg = "";
       var name  = document.getElementById("iph_name").value;
       var email = document.getElementById("iph_email").value;
       var zip   = document.getElementById("iph_zip").value;
       var carr  = document.getElementById("iph_carrier").value;
       var mon   = document.getElementById("iph_exp_mon").value;
       var yr    = document.getElementById("iph_exp_yr").value;
       var agree = document.getElementById("iph_agree").checked;

       var nuc   = "";
       var pre   = "";

       if( iph_nuc )
       {
           if( document.getElementById("iph_nuc_NUC").checked )  nuc   = "true";
           if( document.getElementById("iph_nuc_PRE").checked )  pre   = "true";
       }

       var regex = new RegExp("^[0-9]{5,5}$","i");
       var regex_em = new RegExp("^.+@.*\\..+$","i");

       if( name.length == 0 )  errmsg += "Invalid Name<br>";
       if( email.length == 0 ) errmsg += "Invalid Email<br>";
       else if( !regex_em.test(email) )  errmsg += "Invalid Email Format<br>";

       if( zip.length == 0 )   errmsg += "Invalid Zip<br>";
       else if( !regex.test(zip) )  errmsg += "Invalid Zip Format<br>";

       if( carr == -1 )        errmsg += "Invalid Carrier<br>";
       if( !agree )            errmsg += "You must read the Official Rules to enter<br>";

 

       if( errmsg.length > 0 )
       {
            document.getElementById("iph_errmsg").innerHTML = "<font style='background-color: #ffffaa;'>"+errmsg+"</font>";
       }
       else
       { 
            dt = new Date;
            tm = dt.getTime();
            iph_nuc = false;

            url = "/iph_signup.php?signup=true&tm="+tm+"&closable="+iph_closable;
            url += "&carr="+carr;
            url += "&mon="+mon;
            url += "&yr="+yr;
            url += "&agree="+agree;
            url += "&zip="+zip;
            url += "&nuc="+nuc;
            url += "&pre="+pre;
            url += "&email="+email;
            url += "&name="+name;
            ajax_dorequest(url,"iph_submit","raw");
       }
   }

   function iph_submit(data)
   {
       document.getElementById(iph_pad).innerHTML = data;
   } 

   function iph_not_contract()
   {
       document.getElementById("iph_exp").style.display = "none";
       document.getElementById("iph_exp_q").style.display = "none";
       document.getElementById("iph_exp_no").style.display = "";
       iph_nuc = true;
       
   }


