function trim(str) {
   return new String(str).replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
function getHTTPObject() {
   var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
   try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
      try {
         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
         xmlhttp = false;
      }
   }
@else
   xmlhttp = false;
@end @*/
   if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
      try {
         xmlhttp = new XMLHttpRequest();
      } catch (e) {
         xmlhttp = false;
      }
   }
   return xmlhttp;
}
function m_curl(url) {
   var http = getHTTPObject();
   http.open("GET",url,true);
   http.send(null);
}
function m_rpc(url,lay) {
   var http = getHTTPObject();
   http.open("GET",url,true);
   http.onreadystatechange = function() {
      if(http.readyState == 4) lay.innerHTML = http.responseText;
   }
   http.send(null);
}

function m_logout(re) {
   if(!re) re = '/';
   var url = '/rpc/login?do=logout';
   var http = getHTTPObject();
   http.open("GET",url,true);
   http.onreadystatechange = function() {
      if(http.readyState == 4) {
         var s = http.responseText;
         if(s == 'OK') {
            document.location = re;
         } else if(s.indexOf('OK') == 0) {
            document.location = s.substring(2);
         } else {
            alert('Logout Failed ' + s);
         }
      }
   }
   http.send(null);
}
function m_login(fm,errorLayId) {
   if(!fm) {
      alert('Form Not Found ' + fm);
      return;
   }
   var errorLay = document.getElementById(errorLayId);
   var e = trim(fm.e.value).toLowerCase();
   var p = trim(fm.p.value);
   var re = trim(fm.re.value);
   if(!re) re = '/user/';
   if(e == '' || p == '') {
      errorLay.innerHTML = 'Login Failed';
      return;
   }

   var c = fm.rememberme && fm.rememberme.checked;

   var params = 'do=login'
              + '&e='+encodeURIComponent(e)
              + '&p='+encodeURIComponent(p)
              + '&c='+(c?'Y':'N')
              + '';

   var url = '/rpc/login';
   var http = getHTTPObject();
   http.open("POST",url,true);
   http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   http.setRequestHeader("Content-length", params.length);
   http.setRequestHeader("Connection", "close");

   http.onreadystatechange = function() {
      if(http.readyState == 4) {
         var s = http.responseText;
         if(s == 'OK') {
            document.location = re;
         } else if(s == 'DISABLED') {
             document.location = '/login/disabled.jsp';
         } else {
            errorLay.innerHTML = s;
         }
      }
   }
   http.send(params);
   Set_Cookie( 'email', e, 100, '/', '', '');
}
function m_preview_statusemail() {
   window.open('/user/handler?do=preview-status-email','A','width=700,height=400,status=0,toolbar=0,scrollbars=1,resizable=1,location=0');
}
function m_signup(fm,errorLayId,landing) {

   var su_firstname = trim(fm.firstName.value);
   var su_lastname = trim(fm.lastName.value);
   var su_email = trim(fm.email.value).toLowerCase();
   var su_phone = trim(fm.phone.value).toLowerCase();
   var su_password1 = trim(fm.password1.value);
   var su_password2 = trim(fm.password2.value);
   var ele_errors = document.getElementById(errorLayId);

   var errors = '';

   if(su_firstname == '') errors += '<br>Required: First Name';
   if(su_lastname == '') errors += '<br>Required: Last Name';
   if(su_email == '') errors += '<br>Required: Email';
   if(su_phone == '') errors += '<br>Required: Phone';
   if(su_password1 == '') errors += '<br>Required: Password';
   if(su_password2 == '') errors += '<br>Required: Confirm Password';

   if(errors != '') {
      ele_errors.innerHTML = trim(errors);
      return;
   }

   var params = 'do=signup'
              + '&email='+encodeURIComponent(su_email)
              + '&phone='+encodeURIComponent(su_phone)
              + '&firstName='+encodeURIComponent(su_firstname)
              + '&lastName='+encodeURIComponent(su_lastname)
              + '&password1='+encodeURIComponent(su_password1)
              + '&password2='+encodeURIComponent(su_password2)
              + '';


   var url = '/rpc/signup';
   var http = getHTTPObject();
   http.open("POST",url,true);
   http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   http.setRequestHeader("Content-length", params.length);
   http.setRequestHeader("Connection", "close");

   http.onreadystatechange = function() {
      if(http.readyState == 4) {
         var s = trim(http.responseText);
         if(s == 'OK') {
            //document.location = '/landing/thankyou.jsp?landing=' + landing;
            document.location = '/user/dashboard?newuser=1';
         } else {
            ele_errors.innerHTML = s;
         }
      }
   }
   http.send(params);
}

function m_help(id) {
   var url = '/user/support/help/';
   if(id) url += '?itemId='+id;
   var win = window.open(url,'HELP','WIDTH=700,HEIGHT=350,status=0,toolbar=0,location=0,menubar=0,directories=0,resizable=1,scrollbars=0');
   win.focus();
}

function Set_Cookie( name, value, expires, path, domain, secure ) {
   var today = new Date();
   today.setTime( today.getTime() );
   if ( expires ) { expires = expires * 1000 * 60 * 60 * 24; }
   var expires_date = new Date( today.getTime() + (expires) );
   
   document.cookie = name + "=" +escape( value ) +
   ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
   ( ( path ) ? ";path=" + path : "" ) +
   ( ( domain ) ? ";domain=" + domain : "" ) +
   ( ( secure ) ? ";secure" : "" );
}

function m_popupServiceLevels() {
   window.open('/popup-compare-service-levels.jsp','','width=670,height=800,,status=0,toolbar=0,scrollbars=1,resizable=1,location=0')
}
function ringme() {
   var wind = window; 
   var winop = wind.open; 
   winop("http://www.ringcentral.com/ringme/?uc=F535E04AA0A55519AAD219FC75E657DF780157084664,0,&s=no&v=2&number=1234", "Callback_RingMe", "resizable=no,width=380,height=360"); 
}

function dialNum(num) {
   var url = '/rpc/dial?dial='+num;
   var http = getHTTPObject();
   http.open("GET",url,true);
   http.onreadystatechange = function() {
      if(http.readyState == 4) {
         var s = trim(http.responseText);
         if(s != 'OK') {
             alert(s);
         }
      }
   }
   http.send(null);
}

function chat() {
   var proto = location.protocol.indexOf("https")==0?"https":"http";
   var url = proto + '://messenger.providesupport.com/messenger/automaticsitemap.html';
   var opt = 'width=484,height=361,left=50,top=50';
   window.open(url,'LIVECHAT',opt);
}


function windowWidth() {
   if (parseInt(navigator.appVersion)>3) {
      if (navigator.appName=="Netscape") return window.innerWidth;
      if (navigator.appName.indexOf("Microsoft")!=-1) return document.body.offsetWidth;
   }
}
function windowHeight() {
   if (parseInt(navigator.appVersion)>3) {
      if (navigator.appName=="Netscape") return window.innerHeight;
      if (navigator.appName.indexOf("Microsoft")!=-1) return document.body.offsetHeight;
   }
}
function screenWidth() {
   return screen.width;
}
function screenHeight() {
   return screen.height;
}

