
var PopupBackgroundDIV = null;
var PopupFrameDIV      = null;
var PopupTitle         = null;
var PopupBody          = null;
var btPopupCancel      = null;
var btPopupOK          = null;
var PopupAction        = "";
var PopupIsShowing = false;

var ResponseCacheString = "";


function launchUploadAppointments(){
  var myWidth = 800;
  var myHeight = 600;
  
  if(screen.availWidth < myWidth){
    myWidth = screen.availWidth;
  }// end if
  
  if(screen.availHeight < myHeight){
    myHeight = screen.availHeight;
  }// end if
  
  var myArgs = "?CompanyID=" + gev("SelectCompany");
  
  window.open("UploadAppointments.aspx" + myArgs, "UploadAppointments", "width=" + myWidth + ",height=" + myHeight + ",scrollbars,resizable");
}


function LogIn(Username, Password){
  var tString = new String("" + document.location);
  //if(tString.indexOf("https") < 0){
  //  gscPD("LogInPre", "&Username=" + Username + "&Password=" + Password);
 // }
  //else{
    gscPD("LogIn", "&Username=" + Username + "&Password=" + Password);
  //}
  
}// end Login


function LoadDashboardTabs(){
  var myArguments = LoadDashboardTabs.arguments;
  if(myArguments.length > 0 && myArguments[0] != ""){
    gsc("LoadDashboardTabs", "&currentTab=" + myArguments[0]);
  }
  else{
    gsc("LoadDashboardTabs");
  }// end if/else
}// end LoadDashboardTabs

function LoadDashboardCompanies(){
  gsc("LoadDashboardCompanies");
}// end LoadDashboardCompanies

function LoadSalesDashboard(){
  gsc("LoadSalesDashboard");
}// end LoadDashboardCompanies

function SendContactEmail(){

  var argString = "";
  
  argString += "&FirstName="  + gev('tfFirstName');
  argString += "&LastName="   + gev('tfLastName');
  argString += "&Company="    + gev('tfCompany');
  argString += "&Email="      + gev('tfEmail');
  argString += "&Phone="      + gev('tfPhone');
  argString += "&City="       + gev('tfCity');
  argString += "&State="      + gev('tfState');
  argString += "&BestTime="   + gev('tfBestTime');

  gsc("SendContactEmail", argString);
  
  //window.open("acservices.aspx?function=SendContactEmail" + argString);

}// end SendContactEmail

function SendReferralEmail(){

  var argString = "";
  
  argString += "&FirstName="  + gev('tfFirstName');
  argString += "&LastName="   + gev('tfLastName');
  argString += "&EmailFrom="  + gev('tfEmailFrom');
  argString += "&EmailTo="    + gev('tfEmailTo');
  argString += "&Message="    + gev('tfMessage');

  gsc("SendReferralEmail", argString);
  
  //window.open("acservices.aspx?function=SendContactEmail" + argString);

}// end SendContactEmail

function SendLeadEmail(){

  var argString = "";
  
  argString += "&RepFirstName="       + gev('tfRepFirstName');
  argString += "&RepLastName="        + gev('tfRepLastName');
  argString += "&SignerFirstName="    + gev('tfSignerFirstName');
  argString += "&SignerLastName="     + gev('tfSignerLastName');
  argString += "&OCFirstName="        + gev('tfOCFirstName');
  argString += "&OCLastName="         + gev('tfOCLastName');
  argString += "&Company="            + gev('tfCompany');
  argString += "&Address="            + gev('tfAddress');
  argString += "&City="               + gev('tfCity');
  argString += "&State="              + gev('tfState');
  argString += "&Zip="                + gev('tfZip');
  argString += "&Email="              + gev('tfEmail');
  argString += "&Phone="              + gev('tfPhone');
  argString += "&Fax="                + gev('tfFax');
  argString += "&CallerID="           + gev('tfCallerID');
  argString += "&ManagementSoftware=" + gev('tfManagementSoftware');
  argString += "&SoftwareVersion="    + gev('tfSoftwareVersion');
  argString += "&BestTime="           + gev('tfBestTime');
  argString += "&Comments="           + gev('tfComments');

  gsc("SendLeadEmail", argString);
  
  //window.open("acservices.aspx?function=SendLeadEmail" + argString);

}// end SendLeadEmail

function AddNewCompany(){
  gsc("EditCompany", "&CompanyID=-1");
}// end AddNewCompany

function EditCompany(inString){
  gsc("EditCompany", "&CompanyID=" + inString);
}// end AddNewCompany

function SaveAppointment(){
  
  var tString = "";
  var myReturnFunction = "LoadDashboardAppointments";
  
  if(ge('Appointments')){
    myReturnFunction = "LoadAppointments";
  }// end if
  
  tString += "&AppointmentID="        + gev('AppointmentID');
  tString += "&Month="                + gev('Month');
  tString += "&Day="                  + gev('Day');
  tString += "&Year="                 + gev('Year');
  tString += "&Hours="                + gev('Hours');
  tString += "&Minutes="              + gev('Minutes');
  tString += "&AMPM="                 + gev('SelectAMPM');
  tString += "&UserID="               + gev('User');
  tString += "&AppointmentStatusID="  + gev('AppointmentStatus');
  tString += "&Notes="                + gev('Notes');
  tString += "&CompanyID="            + gev('SelectCompany');
  tString += "&ReturnFunction="       + myReturnFunction;
  
  if(ge("PreMed").checked){
    tString += "&PreMed=true"
  }
  else{
    tString += "&PreMed=false"    
  }// end if/else
  
  //alert(tString);
  gsc("SaveAppointment", tString);
  //window.open("acservices.aspx?function=SaveAppointment" + tString);
  //setTimeout('try{RefreshDashboardAppointments()}catch(e){}', 100);
  
}// end SaveAppointment

function SaveCompany(inString){

  var myArgString = "&CompanyID=" + inString;
  
  myArgString += "&Name="             + gev("Name");
  myArgString += "&Address="          + gev("Address");
  myArgString += "&City="             + gev("City");
  myArgString += "&State="            + gev("State");
  myArgString += "&Zip="              + gev("Zip");
  myArgString += "&Country="          + gev("Country");
  myArgString += "&Phone="            + gev("Phone");
  myArgString += "&Fax="              + gev("Fax");
  myArgString += "&Email="            + gev("Email");
  myArgString += "&FromEmail="        + gev("FromEmail");
  myArgString += "&FromPhone="        + gev("FromPhone");
  myArgString += "&CompanyStatusID="  + gev("CompanyStatusID");
  
  try{
    myArgString += "&AdminUsername="    + gev("AdminUsername");
    myArgString += "&AdminPassword="    + gev("AdminPassword");
  }catch(e){}
  
  gsc("SaveCompany", myArgString);
  
}// end SaveCompany

function DeleteCompany(inString){
  if(confirm("Are you sure?")){
    gsc("DeleteCompany", "&CompanyID=" + inString);
  }// end if
}// end AddNewCompany

function LoadMyDashboardCompanyAdmin(){
  gsc("LoadMyDashboardCompanyAdmin", "&CompanyID=" + gev("SelectCompany"));
  //window.open("acservices.aspx?function=LoadMyDashboardCompanyAdmin&CompanyID=" + gev("SelectCompany"));
}// end LoadMyDashboard

function LoadCompanySelect(inString){
  gsc("LoadCompanySelect", "&SelectAction=" + inString);
}// end LoadCompanySelect

function LoadDemoCompanySelect(){
  gsc("LoadDemoCompanySelect");
}// end LoadCompanySelect

function LoadRepCompanySelect(inString){
  gsc("LoadCompanySelect", "&SelectButton=false");
}// end LoadRepCompanySelect

function LoadAppointments(){
  var AppointmentStatusFilter = "none";
  
  try{
    AppointmentStatusFilter = qso.appointmentstatusfilter;
  }catch(e){}  
  
  gsc("LoadAppointments", "&CompanyID=" + gev("SelectCompany") + "&AppointmentStatusFilter=" + AppointmentStatusFilter);
  //window.open("acservices.aspx?function=LoadAppointments&CompanyID=" + gev("SelectCompany") + "&AppointmentStatusFilter=" + AppointmentStatusFilter);
  
}// end LoadUsers

function initSelectCompanyValue(){

  var myQSO = new QueryStringObject();
  var mySelectedCompany = -1;
  var objSelectCompany = ge("SelectCompany");
  
  if(myQSO.selectedcompany != null && myQSO.selectedcompany != ""){
    mySelectedCompany = parseInt(myQSO.selectedcompany);
  }// end if
  
  if(mySelectedCompany > 0){
    for(var i=0; i<objSelectCompany.length; i++){
      if(objSelectCompany.options[i].value == mySelectedCompany){
        objSelectCompany.selectedIndex = i;
      }// end if
    }// end for
  }// end if
  
}// end initSelectCompanyValue

function resetComLinks(){
  try{
    ge('EmailDIVLink2').style.visibility    = "hidden"; 
    ge('EmailDIVContent').style.visibility  = "hidden";
    
    ge('TextDIVLink2').style.visibility     = "hidden"; 
    ge('TextDIVContent').style.visibility   = "hidden";
    
    ge('PhoneDIVLink2').style.visibility    = "hidden"; 
    ge('PhoneDIVContent').style.visibility  = "hidden";
  }
  catch(e){
  
  }// end try/catch
  
}// end resetComLinks

function showComEmail(){

  resetComLinks();
  
  ge('EmailDIVLink2').style.visibility    = "visible"; 
  ge('EmailDIVContent').style.visibility  = "visible";

}// end showComEmail

function showComText(){

  resetComLinks();
  
  ge('TextDIVLink2').style.visibility    = "visible"; 
  ge('TextDIVContent').style.visibility  = "visible";

}// end showComEmail

function showComPhone(){

  resetComLinks();
  
  ge('PhoneDIVLink2').style.visibility    = "visible"; 
  ge('PhoneDIVContent').style.visibility  = "visible";

}// end showComEmail

function SendDemoEmail(){

  var tString = new String("" + gev('DemoEmail'));
  var tFN     = new String("" + gev('DemoFirstName'));
  var tLN     = new String("" + gev('DemoLastName'));
  
  var keepGoing = true;
  
  if(tFN.length == 0 || tLN.length == 0){
    alert("Please enter a first and last name.");
    keepGoing = false;
  }// end if
  
  if(keepGoing && !(tString.length > 0 && tString.indexOf('@') > 0 && tString.indexOf('.', 3) > 0)){
    keepGoing = false;
    alert("Please enter a valid email address.");
  }// end if/else
  
  if(keepGoing){
    gsc("SendDemoEmail", "&FirstName=" + tFN + "&LastName=" + tLN + "&Email=" + tString + "&CompanyID=" + gev("SelectCompany"));
    //window.open("acservices.aspx?function=SendDemoEmail&FirstName=" + tFN + "&LastName=" + tLN + "&Email=" + tString + "&CompanyID=" + gev("SelectCompany"));
  }// end if
  
}// end function

function SendDemoPhone(){

  var tString = new String("" + gev('DemoPhone'));
  var tFN     = new String("" + gev('DemoFirstName'));
  var tLN     = new String("" + gev('DemoLastName'));
  
  var keepGoing = true;
  
  if(tFN.length == 0 || tLN.length == 0){
    alert("Please enter a first and last name.");
    keepGoing = false;
  }// end if
  
  if(keepGoing && !(tString.length > 9)){
    keepGoing = false;
    alert("Please enter a valid phone number.");
  }// end if/else
  
  if(keepGoing){
    gsc("SendDemoPhone", "&FirstName=" + tFN + "&LastName=" + tLN + "&Phone=" + tString + "&CompanyID=" + gev("SelectCompany"));
    //window.open("acservices.aspx?function=SendDemoPhone&FirstName=" + tFN + "&LastName=" + tLN + "&Phone=" + tString);
  }// end if
  
}// end function

function SendDemoText(){

  var tString = new String("" + gev('DemoPhone'));
  var tFN     = new String("" + gev('DemoFirstName'));
  var tLN     = new String("" + gev('DemoLastName'));
  
  var keepGoing = true;
  
  if(tFN.length == 0 || tLN.length == 0){
    alert("Please enter a first and last name.");
    keepGoing = false;
  }// end if
  
  if(keepGoing && !(tString.length > 9)){
    keepGoing = false;
    alert("Please enter a valid phone number.");
  }// end if/else
  
  if(keepGoing){
    gsc("SendDemoText", "&FirstName=" + tFN + "&LastName=" + tLN + "&Phone=" + tString + "&CompanyID=" + gev("SelectCompany"));
    //window.open("acservices.aspx?function=SendDemoText&FirstName=" + tFN + "&LastName=" + tLN + "&Phone=" + tString);
  }// end if
  
}// end function

function LoadDashboardAppointments(){
  gsc("LoadDashboardAppointments", "&CompanyID=" + gev("SelectCompany"));
}// end LoadUsers

function RefreshDashboardAppointments(){
  //window.open("acservices.aspx?function=LoadDashboardAppointments&CompanyID=" + gev("SelectCompany"), "gsctest");
  gsc("LoadDashboardAppointments", "&CompanyID=" + gev("SelectCompany") + "&rand=" + parseInt("" + Math.round(Math.random()*1000)));
  //alert("LoadDashboardAppointments&CompanyID=" + gev("SelectCompany"));
}// end LoadUsers

function AddNewAppointment(){
  EditAppointment("-1");
}// end AddNewAppointment

function EditAppointment(inString){

  try{
    var myCompanyID = -1;
    
    try{
      myCompanyID = gev("SelectCompany");
    }
    catch(e){}
    
    try{
      myCompanyID = gev("CompanyStatusID");
    }
    catch(e){}
    
    gsc("EditAppointment", "&AppointmentID=" + inString + "&CompanyID=" + myCompanyID);
    
    showPopup();
    PopupTitle.innerHTML = "Edit Appointment";
    //PopupAction = "";
    
    
   }
   catch(e){alert('error: ' + e.description);}
  
}// end EditAppointment

function showPopup(){
  var tInt = ge('SelectCompany').selectedIndex;
  PopupIsShowing = true;
  checkPopupCode();
  
  PopupBackgroundDIV.style.zIndex     = 100;
  PopupBackgroundDIV.style.visibility = "visible";
  
  
  PopupFrameDIV.style.zIndex     = 101;
  PopupFrameDIV.style.visibility = "visible";
  ge('SelectCompany').selectedIndex = tInt;
}// end ShowPopup

function hidePopup(){
  var tInt = ge('SelectCompany').selectedIndex;
  try{
    PopupBackgroundDIV.style.zIndex     = -100;
    PopupBackgroundDIV.style.visibility = "hidden";
    
    PopupFrameDIV.style.zIndex     = -100;
    PopupFrameDIV.style.visibility = "hidden";
    
    PopupTitle.innerHTML = '';
    PopupBody.innerHTML = '';
    btPopupCancel.value = 'Cancel Edit';
    btPopupOK.value = 'Save Changes';
    ge('SelectCompany').selectedIndex = tInt;
    
    PopupIsShowing = false;
    
  }
  catch(e){
    // do nothing
  }// end try/catch
  
  
}// end ShowPopup


function checkPopupCode(){

  var tString = "";
  
  var bgString    = "<div id=\"PopupBackgroundDIV\"></div>";
  
  var frameString = "";
  
  frameString += "<div id=\"PopupFrameDIV\"><div style=\"margin-left: 6px; margin-right: 18px; height: 310px; overflow: hidden;\">";
  frameString += "<div class=\"DashboardSectionTitle\" align=\"left\" style=\"text-align: left;\"><table style=\"height: 22px; margin-top: 2px; margin-bottom: 2px;\"><tr><td align=\"left\" style=\"width: 202px; font-size: 14px; padding-left: 10px; text-align: left;\"><font style=\"font-weight: bold;\" id=\"PopupTitle\">My Popup</font></td><td  style=\"width: 360px; text-align: left;\">&nbsp;</td><td>&nbsp;</td></tr></table></div>";
  frameString += "<div id=\"PopupBody\" style=\"width: 100%; height: 255px; overflow: auto;\"></div>";
  frameString += "<div style=\"width: 100%; height: 30px;\"><div style=\"float: right;\"><input type=\"button\" class=\"button\" id=\"btPopupCancel\" onclick=\"hidePopup();\" value=\"Cancel Edit\" style=\"width: 130px; margin-right: 20px;\"/><input type=\"button\" class=\"button\" id=\"btPopupOK\" value=\"Save Changes\" onclick=\"eval(PopupAction);\" style=\"width: 130px; margin-right: 20px;\"/></div></div>";
  framestring =+ "</div></div>";
  
  if(PopupBackgroundDIV == null){
    tString += bgString;
  }
  
  if(PopupFrameDIV == null){
    tString += frameString;
  }
  
  document.body.innerHTML += tString;
  
  PopupBackgroundDIV = ge('PopupBackgroundDIV');
  PopupFrameDIV      = ge('PopupFrameDIV');
  PopupTitle         = ge('PopupTitle');
  PopupBody          = ge('PopupBody');
  btPopupCancel      = ge('btPopupCancel');
  btPopupOK          = ge('btPopupOK');
  PopupAction        = "hidePopup();";
  
}// end checkPopupBackground


function LoadUsers(){
  gsc("LoadUsers", "&CompanyID=" + gev("SelectCompany"));
}// end LoadUsers


function EditUser(inString){

  try{
  
    
    
    showPopup();
    PopupTitle.innerHTML = "Edit Patient";
    
    //alert(tInt);
   
    
    gsc("EditUser", "&UserID=" + inString);
    //PopupAction = "";    
    
   }
   catch(e){alert('error: ' + e.description);}
   
  //gscPD("EditUser", "&UserID=" + inString);
}// end EditUser

function SaveUser(inString){
  
  var myReturnFunction = "LoadDashboardAppointments";
  
  if(ge('Users')){
    myReturnFunction = "LoadUsers";
  }// end if

  var myArgString = "&UserID=" + inString;
  
  myArgString += "&CompanyID="        + gev("SelectCompany");
  myArgString += "&FirstName="        + gev("FirstName");
  myArgString += "&MiddleName="       + gev("MiddleName");
  myArgString += "&LastName="         + gev("LastName");
  myArgString += "&Address="          + gev("Address");
  myArgString += "&City="             + gev("City");
  myArgString += "&State="            + gev("State");
  myArgString += "&Zip="              + gev("Zip");
  myArgString += "&Country="          + gev("Country");
  myArgString += "&ReturnFunction="   + myReturnFunction;
 
  try{
    myArgString += "&Username=" + gev("Username");
  }
  catch(e){
    // do nothing
  }// end try/catch
 
  try{
    var pString = new String("" + gev("Password"));
      myArgString += "&Password=" + gev("Password");
  }
  catch(e){
    // do nothing
  }// end try/catch
  
  myArgString += "&Phone="            + gev("Phone");
  myArgString += "&Fax="              + gev("Fax");
  myArgString += "&Mobile="           + gev("Mobile");
  myArgString += "&Email="            + gev("Email");
  
  gsc("SaveUser", myArgString);
  //window.open("acservices.aspx?function=SaveUser" + myArgString);
  
}// end SaveUser

function DeleteUser(inString){
  if(confirm("Are you sure?")){
    gsc("DeleteUser", "&UserID=" + inString);
  }// end if
}// end DeleteUser

function AddNewUser(){

  try{
    
    showPopup();
    PopupTitle.innerHTML = "Add New Patient";
    
    try{
      unhighlightButton(ge("btAddNewUser"));
    }catch(e){}
    
    //alert(tInt);
   
    
    gsc("EditUser", "&UserID=-1");
    //PopupAction = "";    
    
   }
   catch(e){alert('error: ' + e.description);}
   
  //gsc("EditUser", "&UserID=-1");
  
}// end AddNewUser


function AddNewRep(){

  try{
    
    showPopup();
    PopupTitle.innerHTML = "Add New Sales Representative";
    
    try{
      unhighlightButton(ge("btAddNewRep"));
    }catch(e){}
    
    //alert(tInt);
   
    
    gsc("EditRep", "&UserID=-1");
    
   }
   catch(e){alert('error: ' + e.description);}

}// end AddNewRep

//--------------------------------



function LoadReps(){
  gsc("LoadReps");
}// end LoadReps

function EditRep(inString){
  gsc("EditRep", "&UserID=" + inString);
}// end EditRep

function SaveRep(inString){
  
  var myReturnFunction = "LoadDemoCompanySelect";
  
  if(ge('Users')){
    myReturnFunction = "LoadUsers";
  }// end if

  var myArgString = "&UserID=" + inString;
  
  myArgString += "&CompanyID="        + gev("SelectCompany");
  myArgString += "&FirstName="        + gev("FirstName");
  myArgString += "&MiddleName="       + gev("MiddleName");
  myArgString += "&LastName="         + gev("LastName");
  myArgString += "&Address="          + gev("Address");
  myArgString += "&City="             + gev("City");
  myArgString += "&State="            + gev("State");
  myArgString += "&Zip="              + gev("Zip");
  myArgString += "&Country="          + gev("Country");
  myArgString += "&ReturnFunction="   + myReturnFunction;
 
  try{
    myArgString += "&Username=" + gev("Username");
  }
  catch(e){
    // do nothing
  }// end try/catch
 
  try{
    var pString = new String("" + gev("Password"));
      myArgString += "&Password=" + gev("Password");
  }
  catch(e){
    // do nothing
  }// end try/catch
  
  myArgString += "&Phone="            + gev("Phone");
  myArgString += "&Fax="              + gev("Fax");
  myArgString += "&Mobile="           + gev("Mobile");
  myArgString += "&Email="            + gev("Email");
  
  gsc("SaveRep", myArgString);
  
}// end SaveRep

function DeleteRep(inString){
  if(confirm("Are you sure?")){
    gsc("DeleteRep", "&UserID=" + inString);
  }// end if
}// end DeleteRep
/*
function AddNewRep(){
  gsc("EditRep", "&UserID=-1");
}// end AddNewRep
*/
//--------------------------------

function GetAllInputValues(){
  
  
  
}// end GetAllInputValues


//Generic Service Call
function gsc(){

  var myArguments = gsc.arguments;
  var myString;
  var preDisable = false;
  
  //if(enforceSSL() && myArguments.length > 0){
  if(myArguments.length > 0){
    
    myString = "acservices.aspx?function=" + myArguments[0];
    
    if(myArguments.length > 1){
    
      myString += myArguments[1];
      
      if(myArguments.length > 2 && (String("" + myArguments[2]) == "true" || myArguments[2] == "1")){
        tempDisableAllElements();
      }// end if
      
    }// end if
    
  }// end if
  
  //window.open(myString, "_blank");
  getReturnCode(myString);
  
}// end GenericServiceCall


//Generic Service Call with preDisable
function gscPD(){

  var myArguments = gscPD.arguments;
  
  if(myArguments.length > 0){
  
    if(myArguments.length < 2){
      gsc(myArguments[0], "", "true");
    }
    else{
      gsc(myArguments[0], myArguments[1], "true");
    }// end if/else

  }// end if
  
}// end GenericServiceCall