﻿// JavaScript File

var strContactGroupIds;//Holds ids from the checboxes checked on the contactlist panel
var errorGlobal; //Error object which holds the global validation error
var passwordHash;
var blnRefreshNow = true;
var objRefresh;
var blnRefreshNowStatusPane = true;
var objRefreshStatusPane;
var sendNowClickCount = 0;
var creditsCountMain = 0;


function pageLoad()
{
    fnInitializeErrorObject();   
    var objResetContainer = document.getElementById("ResetPasswordContainer");
    
    if(objResetContainer != null)
    {
      //show reset pane by first show new voice msg tab, then setting login active pane 
        document.getElementById("selectedTab").value="1";//"2";
        fnSetSelectedTab();
        document.getElementById("createAccountActivePane").value = "3"//hf that maintains state of login container
        SetLoginPaneState();
        passwordHash=getQuerystring("passwordreset");
    }
     var login = document.getElementById("LoginSuccess");
     
    if(login)
    {
        if(login.value != "")
        {
            initFileUploads();
            fnShowSignout();        
            fnCheckMonitorDirect();
            fnSetSelectedTab();
            fnShowLastWizardStep();
            fnMaintainActionstate();
            fnShowXlsUploadStatus();
            fnShowVoiceUploadStatus();
            ShowBuyCreditsPane();
        }
        else
        {
            fnSetSelectedTab();
            SetLoginPaneState();
        }
    }
    
     fnFixPageHeight('true');
     //update db if user is connected. This is used to block the multiple logins of the same user.
     //window.setInterval( "CheckSession();" , 5000 ); 
}

function CheckSession()
{
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
        {
          var msgNoAjax = document.getElementById("TransNoAjax").value;
          errorGlobal.innerHTML = msgNoAjax;
          errorGlobal.className="ErrorGlobal_Show";
          return;
        } 
       
       var loggedin=document.getElementById("loggedinCheck").value;
        var url="ajaxresults.aspx";
        url=url+"?action=checksession&checklogin="+loggedin;
        xmlHttp.open("GET",url,false);
        xmlHttp.send(null);
        if (xmlHttp.readyState==4)
        { 
           var _responseText = xmlHttp.responseText;
           var splitResponse = _responseText.split("$#");
           if(splitResponse[1] == 'signout')
           {
             document.location.href='../../default.aspx?action=timeout';
           }
        }
        return true;
}

function fnAllNavigated()
{
  //Need to check if it is called from somewhere
}
function fnMaintainActionstate()//maintains styling of actions tab in the wizard as per value of "ActivePane" hf
{
    if(document.getElementById("LoginSuccess").value=="")
    {
        return;
    }
    var activePaneId = document.getElementById("ActivePane").value;
    var arrBullets = new Array();
    
    if(activePaneId=="")
    return;
        
    //arrBullets[0] = document.getElementById("RecordBullet");
    arrBullets[1] = document.getElementById("ContactsBullet");
    arrBullets[2] = document.getElementById("ResultCodeBullet");
    arrBullets[3] = document.getElementById("SendMessageBullet");
    arrBullets[4] = document.getElementById("MonitorResultsBullet");

    for(var i=1;i<arrBullets.length;i++)
    {
        if(activePaneId==i)
        {   
                
                arrBullets[i].className="bullet_pink";
        }
        else
        {
                arrBullets[i].className="bullet_white";
        }
    }

    var arrLabels = new Array();
    arrLabels[0]=document.getElementById("lblRecord");
    arrLabels[1]=document.getElementById("lblContacts");
    arrLabels[2]=document.getElementById("lblResultCode");
    arrLabels[3]=document.getElementById("lblSendMessage");
    arrLabels[4]=document.getElementById("lblMonitorResults");
    for(var j=0;j<arrLabels.length;j++)
    {
        if(j<activePaneId)
            arrLabels[j].className="action_normal_navigated";
        else if(j==activePaneId)
            arrLabels[j].className="action_bold";
        else
            arrLabels[j].className="action_normal";
    }

}
function fnSetSelectedTab()
{
    
    fnHideHomePane();
    var lastSelectedTab = document.getElementById("selectedTab").value;
    if(lastSelectedTab=="") 
        lastSelectedTab=1;
    lastSelectedTab = parseInt(lastSelectedTab,10)
   
     switch(lastSelectedTab)
      {
        case 1:fnShowHome();
                fnTabSelected(document.getElementById(lastSelectedTab.toString()), lastSelectedTab);
                break;
        case 2: fnNewVoiceMsg();
                /*GoToNewVoiceMsg();*/
                fnTabSelected(document.getElementById(lastSelectedTab.toString()), lastSelectedTab);
                EnlargeFooterMenusDiv();
                fnHideLeftSidebar(); 
                var newVoiceTitle = document.getElementById("transNewVoiceMessage").value;
                document.getElementById("WizardTitle").innerHTML=newVoiceTitle;
                break;
        case 3:fnmessageStatus_NoLogin();
                fnTabSelected(document.getElementById(lastSelectedTab.toString()), lastSelectedTab);
                var statusVoiceTitle = document.getElementById("transStatusOfVoiceMessage").value;
                document.getElementById("WizardTitle").innerHTML=statusVoiceTitle;
                break;
        case 4:fnShowTutorial();
                fnTabSelected(document.getElementById(lastSelectedTab.toString()), lastSelectedTab);
                break; 
        case 5:fnShowPartners();
                fnTabSelected(document.getElementById(lastSelectedTab.toString()), lastSelectedTab);
                break;
        case 6:fnShowContacts();
                fnTabSelected(document.getElementById(lastSelectedTab.toString()), lastSelectedTab);
                break;                                             
      } 
}
function fnShowLastWizardStep()
{
    
    var lastWizardStep = document.getElementById("ActivePane").value;
    var vmActionValue = document.getElementById("VMAction").value;
    var loginActionValue = document.getElementById("LoginSuccess").value;
    
    if(lastWizardStep=='')
        lastWizardStep=-1;
    if(loginActionValue =='true' && lastWizardStep==-1)
    {
        document.getElementById("ActivePane").value = parseInt(lastWizardStep,10) +1;
        hideLoginpanel();
        fnPaneChanged();
    } 
    if(vmActionValue && vmActionValue!='')
    {
      
        if(vmActionValue.toLowerCase()=="upload")
        {
            //check for upload success or failure
            var isUploaded=document.getElementById("IsVoiceUploaded").value;
            if(isUploaded != "false" && isUploaded.indexOf("false_length")== -1) 
            {
                fnSetActivePaneNumber(parseInt(lastWizardStep,10) +1);
            }
            hideLoginpanel();
            fnPaneChanged();
            fnHideLeftSidebar();
            if(isUploaded != "false" && isUploaded.indexOf("false_length")== -1) 
            {
                errorGlobal.innerHTML=document.getElementById("msgCreditsPerCall").value;
                errorGlobal.className="ErrorGlobal_Green";
            }
        }
        if(vmActionValue.toLowerCase()=="sendnow" )
        {
            fnSetActivePaneNumber(parseInt(lastWizardStep,10) +1);
            hideLoginpanel();
            fnPaneChanged();
            var objSendButton = document.getElementById("SendNow");
            fnHideLeftSidebar();
        }
        if(vmActionValue.toLowerCase()=="uploadxls" || vmActionValue.toLowerCase()=="uploadsourcedata")
        {
            hideLoginpanel();
            fnPaneChanged();
            
            //get last element id and add a new row for contact entry
            if(document.getElementById("GridContacts"))
                var arrobjContactInputs = getElementsByClassName(document.getElementById("GridContacts"),'input',"Contacts_textbox");
            var lastContactNo = arrobjContactInputs[arrobjContactInputs.length-2];
            if(document.getElementById("ActivePane").value==1 &&( document.getElementById("contactActivePane").value == 1 ||document.getElementById("contactActivePane").value == ""))
            {
                if(lastContactNo)
                fnAddBlankContactEntry("txtContactNos",lastContactNo.id.replace("txtContactNos",""));
            }
            fnHideLeftSidebar();
        }
        if(vmActionValue.toLowerCase()=="savecontacts")//not reachable 
        {
            hideLoginpanel();
            fnPaneChanged();
            document.getElementById("contactActivePane").value="3";
            fnHideLeftSidebar();
        }
        
    }
    else if(lastWizardStep !=-1)
    {
        hideLoginpanel();
        fnPaneChanged();
    }
    lastWizardStep = document.getElementById("ActivePane").value;
   if(lastWizardStep == 3)
    {
        document.getElementById("NextButton").className = "footer_next_label_Hidden";
    }
    //state of contacts pane
        var objContactState=document.getElementById("contactActivePane");
        if(objContactState.value.length < 0)
        {
            objContactState.value=1;
        }
        else
        {
            switch(parseInt(objContactState.value,10))
            {
                case 1:
                fnShowCreateList();
                break;
                case 2:
                //fnShowCallListOptions();
                fnShowcallList();
                break;
            }
        }
        
    if(lastWizardStep == 4)
    {
        
        document.getElementById("NextButton").className = "footer_next_label_Hidden";
        document.getElementById("PreviousButton").className = "footer_previous_label_Hidden";
        document.getElementById("VMAction").value= "";
        fnStartAutoRefreshStatus();
        
    }
        //button state in monitor results
        //hide next and previous buttons
      SetLoginPaneState();
        
}
//get global error object
function fnInitializeErrorObject()
{
    errorGlobal=document.getElementById("ErrorGlobal");
    passwordHash="";
}
 //state of login pane
function SetLoginPaneState()
{
    var createAccountState=document.getElementById("createAccountActivePane").value
        if(createAccountState=="" || createAccountState =="0")
        {
            //activate login 
            document.getElementById("CreateContainer").className="CreateContainer_Hide";
            document.getElementById("LoginContainer").className="LoginContainer";
        }
        else if(createAccountState=="1")
        {
            //activate create account
            document.getElementById("CreateContainer").className="CreateContainer_Show";
            document.getElementById("LoginContainer").className="LoginContainer_Hide";
        }
        else if(createAccountState=="2")//"2"
        {   //activate forgot pass pane
            document.getElementById("ForgotPasswordContainer").className="ForgotPasswordContainer";
            document.getElementById("LoginContainer").className="LoginContainer_Hide";
        }
        else //if(createAccountState=="3")//"2"
        {
            //activate reset pane
            if(document.getElementById("ResetPasswordContainer"))
            {
            document.getElementById("ResetPasswordContainer").className="ResetPasswordContainer";
            document.getElementById("LoginContainer").className="LoginContainer_Hide";
            }
        }
}
//change pane in the wizard when next button is pressed.
function fnNextPane(checkValidations)
{

    var flagUploadCancelled=false;
    var active=fnGetActivePaneNumber();
  if(active ==1)//added for atleast one group selection
      {
        
         var objGridContactList = document.getElementById("GridContactList");
         if(objGridContactList && (checkValidations || document.getElementById("VMAction").value=="sendnow"))
         {
                
                var validationResult=fnvalidateContactInput();
                if(validationResult=="NoContact")
                {
                    errorGlobal.innerHTML=document.getElementById("transContactAvailable").value;
                    errorGlobal.className="ErrorGlobal_Show";
                    return false;
                     
                }
                else if(validationResult=="contactincorrect")
                {
                    errorGlobal.innerHTML=document.getElementById("ContactsIncorrect").value;
                    errorGlobal.className="ErrorGlobal_Show";
                    return false;
                }
                else //allok
                {
                    errorGlobal.className="ErrorGlobal_Hidden";
                   //save ids to hf for reading on vertsur nu .
                    fnfillContactIds();
                    //clear xls upload successful message before going to next pane
                    if( document.getElementById("XlsUploadSuccessfull") )
                        document.getElementById("XlsUploadSuccessfull").innerHTML="";
                    if( document.getElementById("IsXlsUploaded") )
                        document.getElementById("IsXlsUploaded").value="";
                        //false 20090513
   
                    
                }
        }
     }
         
      if(checkValidations==true)
        {
            //if active pane is record/upload pane
            
            var blnFileExists=checkFilenameForCampaign();

            if(blnFileExists == "absent")// if there is no filename for current cmpg.!blnFileExists
            {
                //check if file has been uploaded when you are on first pane and have clicked next
                if( ( document.getElementById("IsVoiceUploaded").value!="true" )&& active == 0)//document.getElementById("VMAction").value.toLowerCase()!="upload" ||
                {
                    var msgSelectToUpload=document.getElementById("TransSelectFileToUpload").value;
                    errorGlobal.innerHTML=msgSelectToUpload;
                    errorGlobal.className="ErrorGlobal_Show";
                    flagUploadCancelled=true;
                    //fnPaneChanged();
                    active = 5;
                    return;
                }
            }
            else if(blnFileExists.indexOf("incorrect_length")>=0)
            {
                var arrParts = blnFileExists.split("~");
                
                var msgExceedsMaxlength = document.getElementById("transVoiceUploadFailureLength").innerHTML;
                errorGlobal.innerHTML = msgExceedsMaxlength.replace("#len#",arrParts[1]);
                errorGlobal.className = "ErrorGlobal_Show";
                flagUploadCancelled=true;
                active = 5;
                return;
                
            }
            else
            {
                //filename for cmpg exists. just post to get to contacts pane
                if(active==0)
                {   document.getElementById("VMAction").value="upload";
                    document.forms[0].submit();
                    document.getElementById("IsVoiceUploaded").value="true";
                    return;//20090511
                }
            }
    //if active pane is contacts pane

    }//check validations on each pane
    if(active < 4)
    {
    active=active+1;
    }
    fnSetActivePaneNumber(active);

if(flagUploadCancelled==false)
        fnPaneChanged();
        
    
}

function fnvalidateContactInput()
{

        //check if there are any contacts filled in the contacts textboxes.[ for xls uploaded ]
                var flagContactsFilled =false;
                var flagContactIncorrect = false;
                var arrobjContactInputs = getElementsByClassName(document.getElementById("GridContacts"),'input',"Contacts_textbox");
                
                var msgIncorrect = document.getElementById("transContactIncorrect").value;
                var msgDuplicate = document.getElementById("transContactDuplicate").value;
                //var totalContacts = document.getElementById("ContactsCount").value;
                var duplicateRegex=null;
                var arrDup =null;
                var strAllContactNumbers = null;
                strAllContactNumbers = fngetAllContactNumbers();
                var strDuplicates="";
                var totalContacts = null;
                totalContacts= fngetContactTextboxCount();


                for(var cno=0;cno < arrobjContactInputs.length;cno++)
                 {
                 if(arrobjContactInputs[cno].id.toString().indexOf("Nos")!=-1)
                 {
                    //contactNo = document.getElementById("txtContactNos" + cno).value;
                    var objContactNo = arrobjContactInputs[cno];
                    var objContactName = document.getElementById(objContactNo.id.toString().replace("Nos","Name"));
                    var objErrContactNos = document.getElementById(objContactNo.id.toString().replace("txt","err"));
                    var currentId = objContactNo.id.toString().replace("txtContactNos","");
                    
                    var objErrContactMessage = document.getElementById("errContactMessage" + currentId);
                    
                    var contactNo=objContactNo.value;
                    var contactName = objContactName.value;
                    if(contactNo.toString().length > 0) 
                    {
                        flagContactsFilled=true;
                        //check for phone number eighter #### or ##-###### hypen in middle allowed, no other chars except digit or hyphen
                        var phoneRegEx = null;
                        phoneRegEx = new RegExp("^[0]{1}[1-7]+[-]*[0-9]+$");//^[0-9]+[-]*[0-9]+$  ^[0]+[0-9]+[-]*[0-9]+$
                        if(!phoneRegEx.test(contactNo))//if phone is not ok
                        {   //show error icon near that textbox
                            objErrContactNos.className="Contact_Error";
                            objErrContactMessage.innerHTML=msgIncorrect;
                            objErrContactMessage.className="Contact_Message_Error";
                            flagContactIncorrect=true;
                        
                        }
                        else
                        {
                        //passed regex test. now excluding hyphen check the length
                            contactNo = contactNo.replace("-","");
                            if(contactNo.length != 10)
                            {
                                //show error icon near that textbox
                                objErrContactNos.className="Contact_Error";
                                objErrContactMessage.innerHTML=msgIncorrect;
                                objErrContactMessage.className="Contact_Message_Error";
                                flagContactIncorrect=true;
                            }
                            else
                            {
                            // passed length test. now check for duplicates
                            
                            
                            duplicateRegex = null;
                            duplicateRegex = new RegExp(contactNo.toString() + ";" ,"g");
                            var arrDuplicates = strAllContactNumbers.match(duplicateRegex);
                            if(arrDuplicates.length > 1) //there is a duplicate number
                            {
                             //check in duplicates str
                                arrDup = strDuplicates.match(duplicateRegex);
                                if(arrDup)
                                {//show duplicate error
                                    objErrContactNos.className="Contact_Error";
                                    objErrContactMessage.innerHTML=msgDuplicate;
                                    objErrContactMessage.className="Contact_Message_Error";
                                    flagContactIncorrect=true;
                                }
                                else
                                {//hide duplicate error
                                    strDuplicates = strDuplicates + contactNo + ";";
                                    //if duplicate is for the first time, add it to dup string
                                    objErrContactNos.className="Contact_Error_Hide";
                                    objErrContactMessage.innerHTML="";
                                    objErrContactMessage.className="Hide";
                                }
                            }
                            else //20090505
                            {//hide incorrect nos error
                                objErrContactNos.className="Contact_Error_Hide";
                                objErrContactMessage.innerHTML="";
                                objErrContactMessage.className="Hide";
                            }
                               
                            }
                        }
                    }
                    else //blank phone number validation
                    {
                        if(contactName=='')
                        {
                            //do nothing except clearing error msg if later the entry is cleared
                            objErrContactNos.className="Contact_Error_Hide";
                            objErrContactMessage.innerHTML="";
                            objErrContactMessage.className="Hide";
                        }
                        else
                        {
                            objErrContactNos.className="Contact_Error";
                            objErrContactMessage.innerHTML=msgIncorrect;
                            objErrContactMessage.className="Contact_Message_Error";
                            flagContactIncorrect=true;
                            //return false;
                        }
                    }
                    
                    }//if contact is phone nummer
                 } //for each contact number textbox
    

    if(flagContactsFilled==false)//atleast one phone number entered
     {
        var msgContactAvailable=document.getElementById("transContactAvailable");
        if(msgContactAvailable)
            {
                errorGlobal.innerHTML=msgContactAvailable.value;
                errorGlobal.className="ErrorGlobal_Show";
            }
        //return false;
        return "NoContact";
     }
     if(flagContactIncorrect==true) //if entered phone number is incorrect
    {
        var msgContactsIncorrect = document.getElementById("ContactsIncorrect").value;
        errorGlobal.innerHTML=msgContactsIncorrect;
        errorGlobal.className="ErrorGlobal_Show";
        //return false;
        return "contactincorrect";
        
    }

//all ok
return "allok";
}
//change pane  in the wizard when previous  button is clicked
function fnPreviousPane()
{
    sendNowClickCount = 0;
    var active=fnGetActivePaneNumber();
    if(active >0 )
    {
      if(active ==1)
      {
         var objCallListpanel = document.getElementById("Contact_Info");
         if(objCallListpanel)
         {
             if(objCallListpanel.className!='Record_Info')
             {
                fnShowCallListOptions();
                
                var objContactState=document.getElementById("contactActivePane");
                objContactState.value="1"; // set the hidden field for contact pane state
                document.getElementById("NextButton").className = "footer_next_label_Hidden"; 
               
                return false;
             } 
         }
      
      } 
     active=active-1;
       
    
    }
    fnSetActivePaneNumber(active);

    fnPaneChanged();
    
    var arrLabels = new Array();
    arrLabels[0]=document.getElementById("lblRecord");
    arrLabels[1]=document.getElementById("lblContacts");
    arrLabels[2]=document.getElementById("lblResultCode");
    arrLabels[3]=document.getElementById("lblSendMessage");
    arrLabels[4]=document.getElementById("lblMonitorResults");
    
    arrLabels[parseInt(active+1,10)].className="action_normal_navigated";

}
//get the current active pane number in the wizard
function fnGetActivePaneNumber()
{
    var activeID = parseInt(document.getElementById("ActivePane").value,10) ;
    return activeID;

}
//set  the current active pane number in the hidden field.
function fnSetActivePaneNumber(number)
{
    var objActivePane=document.getElementById("ActivePane");
    objActivePane.value=number;
}
//called when next or previous button is pressed.
function fnPaneChanged()
{
    //hide error label on every new pane
    errorGlobal.innerHTML="";
    errorGlobal.className="ErrorGlobal_Hidden";
    // div swap
    var arrDivs=new Array();

    arrDivs[0] = document.getElementById("RecordPanel");
    if (!arrDivs[0])
    {
        arrDivs[0] = document.getElementById("zeroCreditsPage");  
    }    
    arrDivs[1] = document.getElementById("ContactsPanel");
    arrDivs[2] = document.getElementById("ResultCodesPanel");
    arrDivs[3] = document.getElementById("SendMessage");
    arrDivs[4] = document.getElementById("MonitorResultsPanel");

    var activeDivId= document.getElementById("ActivePane").value;
    if(activeDivId=="")
    {
       activeDivId=0;
    }
    for(i=0;i<arrDivs.length;i++)
    {
        arrDivs[i].className="Pane_Content";
    }
    arrDivs[parseInt(activeDivId,10)].className="Pane_Content_Visible";


switch(parseInt(activeDivId,10))
{       
        case 0:
        document.getElementById("PreviousButton").className="footer_previous_label_Hidden";
        document.getElementById("NextButton").className = "footer_next_label";
        document.getElementById("SendNow").className = "Button_SendNow_Hidden";
        break;
        case 1:
        document.getElementById("lblRecord").className="action_normal_navigated";
        document.getElementById("PreviousButton").className="footer_previous_label";
        document.getElementById("NextButton").className = "footer_next_label";//20090317
        
        document.getElementById("SendNow").className = "Button_SendNow_Hidden";
        break;
        case 2:
        document.getElementById("lblContacts").className="action_normal_navigated";
        document.getElementById("PreviousButton").className="footer_previous_label";
        document.getElementById("NextButton").className = "footer_next_label";
        document.getElementById("SendNow").className = "Button_SendNow_Hidden";
        break;
        case 3:
        document.getElementById("lblResultCode").className="action_normal_navigated";
        document.getElementById("PreviousButton").className="footer_previous_label";
        document.getElementById("NextButton").className = "footer_next_label_Hidden";
        document.getElementById("SendNow").className = "Button_SendNow";
        document.getElementById("SendMessagePanel").className="SendMessage_Visible";
        break;
        case 4:
        document.getElementById("lblSendMessage").className="action_normal_navigated";
        document.getElementById("PreviousButton").className="footer_previous_label";
        document.getElementById("NextButton").className = "footer_next_label_Hidden";
        document.getElementById("SendNow").className = "Button_SendNow_Hidden";
        break;
}

    //nav swap
var arrBullets = new Array();

//arrBullets[0] = document.getElementById("RecordBullet");
arrBullets[1] = document.getElementById("ContactsBullet");
arrBullets[2] = document.getElementById("ResultCodeBullet");
arrBullets[3] = document.getElementById("SendMessageBullet");
arrBullets[4] = document.getElementById("MonitorResultsBullet");

for(i=1;i<arrBullets.length;i++)
{
        
            arrBullets[i].className="bullet_white";
}
    if(parseInt(activeDivId,10)!=0)
            arrBullets[parseInt(activeDivId,10)].className="bullet_pink";


    var arrLabels = new Array();
    arrLabels[0]=document.getElementById("lblRecord");
    arrLabels[1]=document.getElementById("lblContacts");
    arrLabels[2]=document.getElementById("lblResultCode");
    arrLabels[3]=document.getElementById("lblSendMessage");
    arrLabels[4]=document.getElementById("lblMonitorResults");

    arrLabels[parseInt(activeDivId,10)].className="action_bold";
    
    if(activeDivId==3)
       writeDivContent(); 
       
       if(activeDivId==0)//when coming back from contacts to voice upload
        fnfillContactIds();
}
function fnCheckFileExtension()
{
  
    var fileName = document.getElementById("uploader").value; 
    var arrFileName = fileName.split(".");
    var fileExtention = arrFileName[arrFileName.length-1];
    
    if(fileExtention!='')
    {
            if(fileExtention.toLowerCase()=='wav' ||fileExtention.toLowerCase()=='vox' ||fileExtention.toLowerCase()=='mp3' )
            {
                
                document.getElementById("VMAction").value="upload";
                document.forms[0].submit();
            }
            else
            {
                
                var msgFileTypeAllowed = document.getElementById("TransFileTypeAllowed").value;
                errorGlobal.innerHTML=msgFileTypeAllowed;
                errorGlobal.className="ErrorGlobal_Show";
                return false;
            }
    }
    else
    {
        var msgSelectFile = document.getElementById("TransSelectFileToUpload").value;
        
        errorGlobal.innerHTML=msgSelectFile;
        errorGlobal.className="ErrorGlobal_Show";
        return false;
    }
    
}
function writeDivContent()
{
    
    var objSendmessageDiv = document.getElementById("SendMessagePanel");
    var objChecktable = document.getElementById("summaryMaintable");
    
    if(objChecktable)
        objSendmessageDiv.removeChild(objChecktable);
        
    var objtable = document.createElement('TABLE');
    objtable.setAttribute("align","left");
    
    objtable.setAttribute("class","SendMessage_Container");
    objtable.id = "summaryMaintable";
    //objtable.border = "1";
    
    var objRowCampaignMsg = objtable.insertRow(0);
    var objCellCampaignMsg = objRowCampaignMsg.insertCell(0);
        objCellCampaignMsg.setAttribute("colspan","2");
        if(Trim(document.getElementById("campaignMessageBox").innerHTML) != "")
        {
            WriteCampaignMessage(objCellCampaignMsg);
        }
    var objRow = objtable.insertRow(1);
    var cellContact = objRow.insertCell(0);
    var cellResultCode = objRow.insertCell(1);
      writeContacts(cellContact);
      WriteResultCode(cellResultCode);
    
    objSendmessageDiv.appendChild(objtable); 
}
//add campaign message to the summary table
function WriteCampaignMessage(objTd)
{
     objTd.style.verticalAlign="top";
     //add container table
     var objCampaignMsgTable = document.createElement('TABLE');  
         objCampaignMsgTable.cellspacing ="0px";
         objCampaignMsgTable.className = "summaryCampaignMessage";
         //objCampaignMsgTable.border=1;
     //add headers
     var objRowHeader  = objCampaignMsgTable.insertRow(0);
     var objCellHeader = objRowHeader.insertCell(0);
         objCellHeader.className = "Contact_Summary_Caption";
         if(document.getElementById("campaignMessageHeader"))
            objCellHeader.innerHTML = document.getElementById("campaignMessageHeader").value;
     //add message
     var objRowMessage = objCampaignMsgTable.insertRow(1);
     var objCellMessage = objRowMessage.insertCell(0);
         objCellMessage.className = "Contact_CellStyle";
         objCellMessage.innerHTML = document.getElementById("campaignMessageBox").innerHTML;//.replace(/\n/g,'<br>');
    objTd.appendChild(objCampaignMsgTable);
}
function writeContacts(objTd)
{ 
    objTd.style.verticalAlign="top";
    var tempValue;
    var captionDelete=false;
    var objSendmessageDiv = document.getElementById("SendMessagePanel");
    var objChecktable = document.getElementById("summaryContacts");       
    var objContactstable = document.createElement('TABLE');
    
    
    objContactstable.cellspacing="0px";
    objContactstable.className = "summaryContacts";
    
    objContactstable.id = "summaryContacts";
    //insert row for headings
    var row = objContactstable.insertRow(0)
    
    var cell1 = row.insertCell(0);
    cell1.className="Contact_Summary_Caption";
    cell1.innerHTML = document.getElementById("ContactNumberSummaryCaption").value;
    
    var cell2 = row.insertCell(1);
    cell2.innerHTML = document.getElementById("ContactNameSummaryCaption").value;
    cell2.className="Contact_Summary_Caption";
    
    //create the entire table of 10 rows
    if(!document.getElementById("GridContacts"))
        return;
    var arrobjContactInputs = getElementsByClassName(document.getElementById("GridContacts"),'input',"Contacts_textbox");
    for(var dt=1;dt<=arrobjContactInputs.length/2;dt++)
    {
        row = objContactstable.insertRow(dt)
        cell1 = row.insertCell(0);      
        cell2 = row.insertCell(1);
    }
    
    
    var rowCount = 1;
    var cellCount=0;
    var flagRightCaptionsShow = false;
    var flagLeftCaptionsShow = false;
    var flagFirstTimeRight=false;
    //===
    var valueToSend="";
    var currentRow=1;
    if(objContactstable)
    {
        
        //for(var i=1;i<6;i++)//traverse the contactnos and names
        for(var i=0;i<arrobjContactInputs.length;i++)//traverse the contactnos and names
        {
        if(document.getElementById(arrobjContactInputs[i].id))
            if(arrobjContactInputs[i].id.toString().indexOf("Nos")!=-1)
            {
                var contactNumber1 = arrobjContactInputs[i].value;
                var contactName1 = arrobjContactInputs[i+1].value;
                if(contactName1=="")
                {
                    contactName1="--";
                }
                var row;
                
                if(contactNumber1!="")
                {
                valueToSend = valueToSend + contactNumber1 + ";" + contactName1 + "#$";
                
                var theRow;
                            //rowCount=1;
                            objContactstable.rows[currentRow].cells[0].innerHTML = contactNumber1;
                            objContactstable.rows[currentRow].cells[0].className="Contact_CellStyle";
                            if(contactName1!="")
                                {objContactstable.rows[currentRow].cells[1].innerHTML = contactName1;
                                 objContactstable.rows[currentRow].cells[1].className="Contact_CellStyle";
                                flagRightCaptionsShow=true;
                                }
                            rowCount++;
                        objContactstable.rows[currentRow].cells[0].innerHTML = contactNumber1;
                        objContactstable.rows[currentRow].cells[0].className="Contact_CellStyle";
               currentRow+=1;
                }//if
            
            }
        }//for
        document.getElementById("hfContactSummary").value = valueToSend;
    }
    objTd.appendChild(objContactstable);
}

function WriteResultCode(objtd)
{
    var flagResultCodeEntered = false;
    var objChecktable = document.getElementById("summaryResultCode");
    
    objtd.setAttribute("align","left");
    objtd.style.verticalAlign="top";
    
    if(objChecktable)
        objtd.removeChild(objChecktable);

    var objResult = document.createElement('TABLE');
    //objResult.border = 0;
    objResult.className = "summaryContacts";
    objResult.id = "summaryResultCode";
    if(objResult)
    {
            var row0 = objResult.insertRow(0);
            row0.className="summary_captions";
            var cell0 = row0.insertCell(0);
            cell0.className="summary_captions";
            cell0.innerHTML = document.getElementById("CodeSummaryCaption").value.toString();
            
            var cell00 = row0.insertCell(1);
            cell00.className="summary_captions";
            cell00.innerHTML = document.getElementById("DescriptionSummaryCaption").value.toString();
            
        for(var i=1;i<11;i++)
        {
        if(document.getElementById("txtDescription"+i))
           { var resultCodeDesc = document.getElementById("txtDescription"+i).value;
                if(resultCodeDesc!='')
                {
                var row = objResult.insertRow(objResult.rows.length);
                var cell1 = row.insertCell(0);
                cell1.className="Summary_CellStyle";
                
                var resultCode = i-1;// document.getElementById("txtCode"+i).value;
                cell1.innerHTML = resultCode;

                var cell2 = row.insertCell(1);
                cell2.className="Summary_CellStyle";
                cell2.innerHTML = resultCodeDesc;

                flagResultCodeEntered=true;
                }
           }
        } 
          objtd.appendChild(objResult);
          if(flagResultCodeEntered!=true)
            {
                objResult.rows[0].cells[0].innerHTML="";
                objResult.rows[0].cells[1].innerHTML="";
                objResult.className="";
                objResult.rows[0].cells[0].className="";
                objResult.rows[0].cells[1].className="";
            }
    }
}

function fnSendNowClicked()
{
    sendNowClickCount ++;
    var CreditCheckOK = CheckAvailableCredits();
    if(creditsCountMain > 0)
    { 
        if(CreditCheckOK || (sendNowClickCount == 2))
        {
            document.getElementById("VMAction").value="sendnow";
            document.forms[0].submit();
        }
     }       
}

function fnNewVoiceMsg()
{   //go to pane 0

    if(document.getElementById("LoginSuccess").value=="" ||document.getElementById("LoginSuccess").value=="false")
        {
        document.getElementById("HomePane").className="HomePane_Hidden";
        document.getElementById("dummyNewVoiceMessagePane").className="dummyNewVoiceMessagePane";
        return;
        }
    fnHideLoginPane();
    var objmainpane =document.getElementById("ActionContentWrapper") ;
        objmainpane.className = "ActionContentWrapper";
    
    var objHomepane =document.getElementById("HomePane") ;
        objHomepane.className = "HomePane_Hidden";
    
    var objleftbar = document.getElementById("leftSideBar");
    objleftbar.className='leftSideBar_hidden';
    document.getElementById("tdleftsidebar").className="leftSideBar_Zeroed";

    var activePaneNumber = document.getElementById("ActivePane").value;
     if(activePaneNumber=='')
        activePaneNumber = 0;
           
    if(activePaneNumber==0)
    {
        var loginSuccess =  document.getElementById("LoginSuccess").value;
        if(loginSuccess=='false' || loginSuccess =='')
        {
             var objTable = document.getElementById("LoginContainer");
             var objNewAccountTable = document.getElementById("CreateContainer");
                     objTable.className='LoginContainer';
                     objNewAccountTable.className='CreateContainer_Hide';
            //document.getElementById("txtUserName").focus();
        }
    }
}

//tab click new voice msg
function GoToNewVoiceMsg(thrustatus)
{

var newVoiceTitle = document.getElementById("transNewVoiceMessage").value;
if(document.getElementById("WizardTitle"))
    document.getElementById("WizardTitle").innerHTML=newVoiceTitle;
if(document.getElementById("LoginSuccess").value=="" ||document.getElementById("LoginSuccess").value=="false")
{
    //fnHideHomePane();
    var objHomepane =document.getElementById("HomePane") ;
    if(thrustatus==null||thrustatus==undefined )
    {
        var newLoginFirstValue=document.getElementById("transNewVoiceLoginFirst").value;
        document.getElementById("newAndStatusError").innerHTML=newLoginFirstValue;
        //document.getElementById("newAndStatusError").className="newAndStatusError";
        if(objHomepane)
            {
            objHomepane.className = "HomePane_Hidden";
            document.getElementById("dummyNewVoiceMessagePane").className="dummyNewVoiceMessagePane";
            document.getElementById("dummyStatusVoiceMessagePane").className="dummypane_Hidden";
            }
    }
    else 
    {
        var statusLoginFirstValue=document.getElementById("transStatusVoiceLoginFirst").value;
        document.getElementById("newAndStatusError").innerHTML=statusLoginFirstValue;
        //document.getElementById("newAndStatusError").className="newAndStatusError";
        if(objHomepane)
         {
            objHomepane.className = "HomePane_Hidden";
            document.getElementById("dummyNewVoiceMessagePane").className="dummypane_Hidden";
            document.getElementById("dummyStatusVoiceMessagePane").className="dummyStatusVoiceMessagePane";
        }
        
    }
return;
}
else
{
    document.getElementById("leftSideBar").className="leftSideBar_hidden";
    document.getElementById("tdleftsidebar").className="leftSideBar_Zeroed";
}

var flagResetWizard;
//flagResetWizard=false;
if(document.getElementById("ActionContentWrapper").className == "ActionContentWrapper_Hidden" )
    flagResetWizard = false;
else
    flagResetWizard = true;//if(document.getElementById("ActivePane").value!=4)
        
    if(flagResetWizard)
        if(document.getElementById("LoginSuccess").value.length > 0 && document.getElementById("LoginSuccess").value=="true" )
        {
            fnClearFieldHistory();
            // set session campaign code  and get a new campaign code to put in the validation code label
            //------
            if(document.getElementById("ActivePane"))
            if(document.getElementById("ActivePane").value!="0")
            {
            xmlHttp=GetXmlHttpObject();
            if (xmlHttp==null)
                {
                    var msgNoAjax = document.getElementById("TransNoAjax").value;
                    errorGlobal.innerHTML = msgNoAjax;
                    errorGlobal.className="ErrorGlobal_Show";
                    return;
                } 
                
                    var url="ajaxresults.aspx";
                    url=url+"?action=getnewcampaign";
                    xmlHttp.open("GET",url,false);
                    xmlHttp.send(null);
                     if (xmlHttp.readyState==4)
                        { 
                           var _responseText = xmlHttp.responseText;
                           var _document = _responseText.split("=#=");
                           var newCodeMsg = _document[1];
                           var objValidationCodeLabel = document.getElementById("CurrentCampaignCode");
                           objValidationCodeLabel.innerHTML=newCodeMsg;
                           if(document.getElementById("campaignMessageBox"))
                           {
                            document.getElementById("campaignMessageBox").innerHTML='';
                           }
                        }
             }   
            //------
            
        }

    //clear direct redirection to monitor results on postback
    
    var objmainpane =document.getElementById("ActionContentWrapper") ;
        if(objmainpane)
            objmainpane.className = "ActionContentWrapper";
    
    var objHomepane =document.getElementById("HomePane") ;
        if(objHomepane)
            objHomepane.className = "HomePane_Hidden";

    if(flagResetWizard)
    {
        var activePaneNumber = document.getElementById("ActivePane").value;
        if(activePaneNumber=='')
            activePaneNumber = 0;
       
        if(activePaneNumber!=0)
            {
                while(activePaneNumber!=0)
                {
                    activePaneNumber = parseInt(document.getElementById("ActivePane").value.toString(),10);
                    fnPreviousPane();    // fnNextPane();       
                }
            }        
    }
    //else
//    {         
        var loginSuccess =  document.getElementById("LoginSuccess").value;
        if(loginSuccess=='false' || loginSuccess =='')
        {
             var objTable = document.getElementById("LoginContainer");
             var objNewAccountTable = document.getElementById("CreateContainer");
             var objForgetPasswordTable = document.getElementById("ForgotPasswordContainer");
             var objResetPasswordContainer = document.getElementById("ResetPasswordContainer");
             objTable.className='LoginContainer';
             objNewAccountTable.className='CreateContainer_Hide';
             objForgetPasswordTable.className='ForgotPasswordContainer_Hide';
             if(objResetPasswordContainer)
                objResetPasswordContainer.className="ResetPasswordContainer_Hide";
           // document.getElementById("txtUserName").focus();
        }
    //}
    var objSendButton = document.getElementById("SendNow");
// Clear fetch results textbox
//if(document.getElementById("txtValidationCode"))
   // document.getElementById("txtValidationCode").value="";
fnMaintainActionstate();


}
function fnClearFieldHistory()
{
    //clear uploaded file name for voice and xls
    fnStopAutoRefreshStatus();
    fnStopAutoRefreshMonitor();
    var isVoiceUploaded = document.getElementById("IsVoiceUploaded");
    //isVoiceUploaded.value="false";
    isVoiceUploaded.value="";
    //objVoiceUploadedSuccessfullyLabel=document.getElementById("VoiceUploadSuccessfull");
    //objVoiceUploadedSuccessfullyLabel.className="VoiceUploadSuccessfull_Hidden";
    document.getElementById("ErrorGlobal").className="ErrorGlobal_Hidden";
    if(document.getElementById("XlsUploadSuccessfull"))
    {
        var isXlsUploaded = document.getElementById("IsXlsUploaded");
        if(isXlsUploaded)
            isXlsUploaded.value="";//"false";
        objXlsUploadedSuccessfullyLabel=document.getElementById("XlsUploadSuccessfull");
        objXlsUploadedSuccessfullyLabel.className="XlsUploadSuccessfull_Hidden";
    }
    
    //clear uploaded resultcode textbox entries
    for(var i=1;i<11;i++)
    {
        if(document.getElementById("txtDescription" + i))
        document.getElementById("txtDescription" + i).value="";
    }
    
    //clear contact nos and contact name textboxes
    //var contactsInPane=document.getElementById("ContactsCount");
//   
 document.getElementById("hfContactIds").value="";
 if(document.getElementById("GridContacts"))
 {
         var arrobjContactInputs = getElementsByClassName(document.getElementById("GridContacts"),'input',"Contacts_textbox");
        if(arrobjContactInputs.length>0)
        {
           //remove textbox rows
              for(var i=0 ;i < arrobjContactInputs.length;i=i+2)
              {
                var row = document.getElementById("ContactRow" + arrobjContactInputs[i].id.replace("txtContactNos",""));
                var parentEl = row.parentNode;
                parentEl.removeChild(row);
                
              }
                
        }
 }   
    //clear callist group checks
    var groupCheckBoxGrid = document.getElementById("GridContactList");
    if(groupCheckBoxGrid)
    {
        checkBoxCount=groupCheckBoxGrid.getAttribute("totalrows");
        if(checkBoxCount!="")
        {
            for(var k=1;k <= checkBoxCount;k++)
            {
                var objCheckbox=document.getElementById("chkContactGroup" + k);
                if(objCheckbox)
                    objCheckbox.checked=false;
                
            }
        }
    }
    //clear group name
    var objGroupTextbox = document.getElementById("listname");
    if(objGroupTextbox)
        objGroupTextbox.value="";
 
}
function fnFunctionalityNA()
{
 //   alert("This functionality is not yet implemented");
}
function fnActivateContacts()
{
     var activePaneNumber = parseInt(document.getElementById("ActivePane").value,10);
    if(activePaneNumber!=1)
        {
            while(activePaneNumber!=1)
            {
                
            fnNextPane(true);        
            activePaneNumber = parseInt(document.getElementById("ActivePane").value,10);
                
            }
        }        
}

function fnActivateMonitorResults()
{
    var activePaneNumber = parseInt(document.getElementById("ActivePane").value,10);
    if(activePaneNumber!=4)
        {
            while(activePaneNumber!=4)
            {
            
            fnNextPane(false);     
            activePaneNumber = parseInt(document.getElementById("ActivePane").value,10);
                   
            }
        }        
}
function fnActivateRecordMessage()
{
    var objBullet = document.getElementById("LoginBullet");
    var objlabel = document.getElementById("lblLoginLabel");
    var activePaneNumber = parseInt(document.getElementById("ActivePane").value,10);
    var objCurrentpane = document.getElementById("LoginPanel");
     if(objCurrentpane)
        objCurrentpane.className = "LoginPanel_Hidden";
        
     objBullet.className = "Hide";   
     objlabel.className = "action_normal_navigated";
     
     document.getElementById("ActivePane").value = '-1';
     fnNextPane(true);     
}
function fnSignoutClicked()
{
    document.getElementById("signout").value="yes";
    document.forms[0].submit();
}

function fnHideLoginPane()
{
    var loginSuccess =  document.getElementById("LoginSuccess").value;
    if(loginSuccess=='true')
    {
        //need to check if this function is used.
    }
}

function fnTranslate(locale)
{
    fnfillContactIds();//fill contacts in hf
    document.getElementById("VMAction").value='';
    document.getElementById("Translator").value=locale;
    //clear login pane values on translate if they are default values
    var defaultTextUsername=document.getElementById("lblUserName").value;
    if( document.getElementById("txtUserName").value == defaultTextUsername )
        document.getElementById("txtUserName").value = "";
       
    if( document.getElementById("txtPassword").value == "userpassword" )
        document.getElementById("txtPassword").value = "";
    //clear creat account pane values on translate if they are default values  
    var defaultTextUsername=document.getElementById("lblUserName").value;

    var defaultTextEmail = document.getElementById("createlblEmail").value;
    var defaultTextPhone = document.getElementById("createlblPhone").value;

    if( document.getElementById("CreatetxtUserName").value == defaultTextUsername )
        document.getElementById("CreatetxtUserName").value = "";
    if( document.getElementById("CreatetxtPassword").value == "userpassword" )
        document.getElementById("CreatetxtPassword").value = "";
    if( document.getElementById("createtxtEmail").value == defaultTextEmail )
        document.getElementById("createtxtEmail").value = "";
    if( document.getElementById("createtxtPhone").value == defaultTextPhone )
        document.getElementById("createtxtPhone").value = "";
    
        document.forms[0].submit();
}

function fnnormalizeWrapper()
{
    document.getElementById("Wrapper").className="Wrapper";
}

function fnmessageStatus_NoLogin()//go to monitor results if status is clicked and user has logged in
{
    var loginActionValue2 = document.getElementById("LoginSuccess").value;
    if(loginActionValue2 =='true')
        {
            //----------------20090422
            var objmainpane =document.getElementById("ActionContentWrapper") ;
                    objmainpane.className = "ActionContentWrapper_Hidden";
            var objHomepane =document.getElementById("HomePane") ;
                    objHomepane.className = "HomePane_Hidden";

            document.getElementById("leftSideBar").className="leftSideBar";
            document.getElementById("tdleftsidebar").className="";
            document.getElementById("statusOnlyPane").className="statusOnlyPane";
        }//if logged in 
    //monitor was clicked
   else
   {
       fnnormalizeWrapper();
       fnHidePartners();
       fnHideUploadPanel();
       fnHideTutorial();
       fnHideContacts();
       GoToNewVoiceMsg("thrustatus");
       fnHideLoginPane();
    
   }
   document.getElementById("StatusClicked").value="gotostatus";  
   fnMaintainActionstate();
}

function fnCheckMonitorDirect()
{
    if(document.getElementById("StatusClicked").value.toLowerCase()=="gotostatus" &&  document.getElementById("LoginSuccess").value == "true")
    {
         fnmessageStatus_NoLogin();
         document.getElementById("StatusClicked").value="";
    }
}
function clearStatusClicked()
{
    document.getElementById("StatusClicked").value="";
}
function fnfetchResults()
{
    var objCamapignSelect = document.getElementById("txtValidationCode");
    var campaignCode = objCamapignSelect.options[objCamapignSelect.selectedIndex].value;
        campaignCode = campaignCode.split("_");
        campaignCode =campaignCode[0]; 
    var container = document.getElementById("statusResults");//
    if(campaignCode == -1)
        {
            if(document.getElementById("MonitorResultsTableParent"))
            container.removeChild(document.getElementById("MonitorResultsTableParent"));
             var txt = document.createElement('div')
                txt.id="MonitorResultsTableParent"
                txt.innerHTML=document.getElementById("campaignNotSelectedMessage").value;
                txt.className = "ErrorGlobal_Show";
                container.appendChild(txt);
            return;
        }
         
    if(campaignCode.length>0)
    {

        var returnTable=fngetMonitorResults(campaignCode);
        var txt = document.createElement('div')
        txt.id="MonitorResultsTableParent"
        txt.innerHTML=returnTable;
        if(document.getElementById("MonitorResultsTableParent"))
            container.removeChild(document.getElementById("MonitorResultsTableParent"));
        container.appendChild(txt);
    }
    
}
//export status of selected campaign code
function CampaignExport()
{
    var objCamapignSelect = document.getElementById("txtValidationCode");
    var campaignCode = objCamapignSelect.options[objCamapignSelect.selectedIndex].value;
        //campaignCode = campaignCode.split("_");
        //campaignCode =campaignCode[0]; 
    if(campaignCode.length>0)
    {
       document.location.href='download.aspx?action=export&campaigncode='+campaignCode+'&CurrentLocale=' + document.getElementById("CurrentLocale").value;
    }
}
//export status of all campaign codes for the logged in user
function CampaignExportAll()
{
    var objCamapignSelect = document.getElementById("txtValidationCode");
    var campaignCode = objCamapignSelect.options[objCamapignSelect.selectedIndex].value;
        //campaignCode = campaignCode.split("_");
        //campaignCode =campaignCode[0]; 
    if(campaignCode.length>0)
    {
       document.location.href='download.aspx?action=exportall&CurrentLocale=' + document.getElementById("CurrentLocale").value;
    }
}

function fngetMonitorResults(campaignCode)
{
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
        {
          var msgNoAjax = document.getElementById("TransNoAjax").value;
          errorGlobal.innerHTML = msgNoAjax;
          errorGlobal.className="ErrorGlobal_Show";
          return;
        } 
        if(campaignCode != "")
        {
            var url="ajaxresults.aspx";
            url=url+"?campaigncode=" + campaignCode + "&CurrentLocale=" + document.getElementById("CurrentLocale").value;
            xmlHttp.open("GET",url,false);
            xmlHttp.send(null);
             if (xmlHttp.readyState==4)
                { 
                   var _responseText = xmlHttp.responseText;
                   var _document = _responseText.split("=#=");
                   var _table = _document[1];
                   return _table;
                 }
        } 
}

function GetXmlHttpObject()
        {
            var xmlHttp=null;
            try
              {
              // Firefox, Opera 8.0+, Safari
                xmlHttp=new XMLHttpRequest();
              }
            catch (e)
              {
              // Internet Explorer
              try
                {
                    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
                }
              catch (e)
                {
                    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
              }
                return xmlHttp;
}



function fnHover(middleTD)
{
    var left =document.getElementById(middleTD.id+ "l");
    var right =document.getElementById(middleTD.id+ "r");
    var middle = middleTD;
    
    left.className="left_hover";
    right.className="right_hover";
    middle.className="middle_hover";
    
}

function fnNormal(middleTD)
{
    var left =document.getElementById(middleTD.id+ "l");
    var right =document.getElementById(middleTD.id+ "r");
    var middle = middleTD;
    
    left.className="left_normal";
    right.className="right_normal";
    middle.className="middle_normal";
    
}
function fnActive(middleTD)
{
    var left =document.getElementById(middleTD.id+ "l");
    var right =document.getElementById(middleTD.id+ "r");
    var middle = middleTD;
    
    left.className="left_active";
    right.className="right_active";
    middle.className="middle_active";
    
}

function fnMouseOver(obj)
 {
    
   if(obj.className=='a_selected')
     return false;
	var objChildNode = document.getElementById((obj.id + "s"));
	obj.className = "a_hover";
	objChildNode.className = "span_hover";
 }
  function fnMouseOut(obj)
 {
    
   if(obj.className=='a_selected')
     return false;
	var objChildNode = document.getElementById((obj.id + "s"));
	obj.className = "a";
	objChildNode.className = "span";
 }
function fnTabSelected(obj,tabNumber)
{
    var objSelectedTab = document.getElementById("selectedTab");
      objSelectedTab.value=tabNumber;

    for (var i=1;i<7;i++)
    {

    var objA = document.getElementById(""+i+"");   
    objA.className = "a";
    var objChildNode = document.getElementById((i + "s"));
    objChildNode.className = "span";

    }
    var objChildNode = document.getElementById((obj.id + "s"));
    obj.className = "a_selected";
    objChildNode.className = "span_selected";
}
 
 
  function fnShowCallListOptions()// not reachable 
{
    var objCallListpanel = document.getElementById("Contact_Info");
        objCallListpanel.className="Record_Info";
    var objShowContactpanel = document.getElementById("showContactInfo");
        objShowContactpanel.className ="Contact_Info_Hidden";
    var objCreatepanel = document.getElementById("CreateListPanel");
        objCreatepanel.className ="CreateList_Hidden"; 
    var objContactState=document.getElementById("contactActivePane");
    objContactState.value=2;
        
}
 
 function fnShowcallList()// called on click of "select an existing call list" and at pageload 
{
    //if(document.getElementById("ContactsContainer").className!="Hide")blnThruPageLoad
    
    if(document.getElementById("contactActivePane").value=="1" || document.getElementById("contactActivePane").value=="")
    {
        var objCreateListPanel = document.getElementById("ContactsContainer");
            objCreateListPanel.className="Hide";
	//alert(document.getElementById("showContactInfo"));
        var objGroupsContainer = document.getElementById("showContactInfo");    
            objGroupsContainer.className="Contact_Info_Show";
        var objContactState=document.getElementById("contactActivePane");
            objContactState.value="2";
    }
    else
    {
        var objCreateListPanel = document.getElementById("ContactsContainer");
            objCreateListPanel.className="ContactsContainer";

        var objGroupsContainer = document.getElementById("showContactInfo");    
            objGroupsContainer.className="Hide";
        var objContactState=document.getElementById("contactActivePane");
            objContactState.value="1";
    
    }
}
function fnShowCreateList() // shows the contact textboxes to create a contact list to send a message
{
    var objContactpanel = document.getElementById("Contact_Info");
        if(objContactpanel)
            objContactpanel.className="Hide";
    var objCreatepanel = document.getElementById("CreateListPanel");
        objCreatepanel.className ="CreateList_Show";
        //change hidden field to persist the value on postbacks
        var objContactState=document.getElementById("contactActivePane");
        objContactState.value="2";
}
function fnShowUploaderXLS()
{
    //var objuploaderXLS = document.getElementById("uploaderXLS");
    var objuploaderXLS = document.getElementById("FileInputsXls");
    var objButton  = document.getElementById("UploadXLSButton");
    if(objuploaderXLS)
    {
        if(objuploaderXLS.className =='FileInputsXls_Hidden')
           {
            //objuploaderXLS.className="uploaderXLS_Show";
            objuploaderXLS.className="FileInputsXls";
            objButton.className = "UploadXlsButton";//"Button_UploadXls";
           }
        else
           {
            objuploaderXLS.className="FileInputsXls_Hidden";
            objButton.className = "UploadXlsButton_Hidden";
            }
    }    
}
function ShowploadSource()
{
    //var objuploaderXLS = document.getElementById("uploaderXLS");
    var SourceDataContainer = document.getElementById("uploaderSourceDataContainer");
    var objButton  = document.getElementById("UploadSorceDataButton");
    if(SourceDataContainer)
    {
        if(SourceDataContainer.className =='FileInputsXls_Hidden')
           {
            SourceDataContainer.className="FileInputsXls";
            objButton.className = "UploadXlsButton";//"Button_UploadXls";
           }
        else
           {
            SourceDataContainer.className="FileInputsXls_Hidden";
            objButton.className = "UploadXlsButton_Hidden";
            }
    }    
}
function fnCheckFileExtensionXLS()
{

    var fileName = document.getElementById("uploaderXLS").value; 
    var arrFileName = fileName.split(".");
    var fileExtention = arrFileName[arrFileName.length-1];
    
        if(fileExtention!='')
        {
                if(fileExtention.toLowerCase()=='xls' || fileExtention.toLowerCase()=='xlsx')
                {
                    fnfillContactIds();
                    document.getElementById("ContactsCount").value=getContactsCount();
                    document.getElementById("VMAction").value="uploadXLS";
                    document.getElementById("form1").submit();
                }
                else
                {
                    var msgSelectXlsFileOnly = document.getElementById("XlsUploadOnly").value;
                    errorGlobal.innerHTML=msgSelectXlsFileOnly;
                    errorGlobal.className="ErrorGlobal_Show";
                    return false;
                }
        }
        else
        {
            var msgSelectXlsFile = document.getElementById("ExcelSelectFile").value;
            errorGlobal.innerHTML=msgSelectXlsFile;
            errorGlobal.className="ErrorGlobal_Show";
            return false;
        }
    
}
function CheckFileExtensionXLS()
{

    var fileName = document.getElementById("uploaderSourceData").value; 
    var arrFileName = fileName.split(".");
    var fileExtention = arrFileName[arrFileName.length-1];
    
        if(fileExtention!='')
        {
                if(fileExtention.toLowerCase()=='xls' || fileExtention.toLowerCase()=='xlsx')
                {
                    fnfillContactIds();
                    document.getElementById("ContactsCount").value=getContactsCount();
                    document.getElementById("VMAction").value="uploadSourceData";
                    document.getElementById("form1").submit();
                }
                else
                {
                    var msgSelectXlsFileOnly = document.getElementById("XlsUploadOnly").value;
                    errorGlobal.innerHTML=msgSelectXlsFileOnly;
                    errorGlobal.className="ErrorGlobal_Show";
                    return false;
                }
        }
        else
        {
            var msgSelectXlsFile = document.getElementById("ExcelSelectFile").value;
            errorGlobal.innerHTML=msgSelectXlsFile;
            errorGlobal.className="ErrorGlobal_Show";
            return false;
        }
    
}

function fnShowVoiceUploadStatus()
{
    var objVoiceUploadedSuccessfullyLabel = document.getElementById("VoiceUploadSuccessfull");
    var transSuccess = document.getElementById("transVoiceUploadSuccess").innerHTML;
    var transFailure = document.getElementById("transVoiceUploadFailure").innerHTML;
    var transFailureLength = document.getElementById("transVoiceUploadFailureLength").innerHTML;
    var isUploaded=document.getElementById("IsVoiceUploaded").value;
    
    if( isUploaded == "true" )
    {
        //dont need to show anything as it goes to next step on success
        //  objVoiceUploadedSuccessfullyLabel.innerHTML=transSuccess;
        //  objVoiceUploadedSuccessfullyLabel.className="VoiceUploadSuccessfull";
    }
    if( isUploaded == "false" )
    {
        errorGlobal = document.getElementById("ErrorGlobal");
        errorGlobal.innerHTML = transFailure;
        errorGlobal.className="ErrorGlobal_Show";
    }
    if( isUploaded.indexOf("false_length")>=0)
    {
        var arrParts = isUploaded.split("~");
        errorGlobal = document.getElementById("ErrorGlobal");
        errorGlobal.innerHTML = transFailureLength.replace("#len#",arrParts[1]);
        errorGlobal.className="ErrorGlobal_Show";
    }
}
function fnShowXlsUploadStatus()
{

    if(document.getElementById("XlsUploadSuccessfull") && parseInt(document.getElementById("ActivePane").value,10) !=4)
    {
        var objXlsUploadedSuccessfullyLabel = document.getElementById("XlsUploadSuccessfull");
        var trans =         document.getElementById("hfXlsUploadSuccess").value;
        var isXlsUploaded = document.getElementById("IsXlsUploaded").value;
        if( isXlsUploaded )
        {
            if(isXlsUploaded=="true")
            {
                errorGlobal.innerHTML=trans;
                errorGlobal.className="ErrorGlobal_Green";
            }
            if(isXlsUploaded=="false")
            {  
                var msgIncorrectXls = document.getElementById("transXlsIncorrect").value;
                errorGlobal=document.getElementById("ErrorGlobal");
                errorGlobal.innerHTML=msgIncorrectXls;
                errorGlobal.className="ErrorGlobal_Show";
            }
        }
    }
}


function initFileUploads()
{

   var W3CDOM = (document.createElement && document.getElementsByTagName);

	
    if (!W3CDOM) return;
	//--------voice upload
	var fakeFileUpload = document.createElement('div');
	fakeFileUpload.className = 'fakefile';
	
	var fakeFileInput = document.createElement('input');
	fakeFileInput.className="VoiceFileName";
	fakeFileInput.type="text";
	fakeFileInput.id="FakeVoiceFileInput";
	
    var fakeFileBrowse = document.createElement('button');
	fakeFileBrowse.className="BrowseButton_Orange";//BrowseButton
	fakeFileBrowse.onclick=function(){return false;}
	
	var fakeFileBrowseSpan = document.createElement('span');
	var fakeFileBrowseEm = document.createElement('em');
	fakeFileBrowseSpan.className="";//BrowseSpan
	fakeFileBrowseEm.className="OrangeEm";//CreateEm
	fakeFileBrowseEm.innerHTML=document.getElementById("BrowseCaption").value;
	fakeFileBrowse.appendChild(fakeFileBrowseSpan);//add span to btn
	fakeFileBrowseSpan.appendChild(fakeFileBrowseEm);//add em to span
	
	fakeFileUpload.appendChild(fakeFileInput);
	fakeFileUpload.appendChild(fakeFileBrowse);
	
	
	var mainDiv = document.getElementById("FileInputs");
	if(mainDiv)
	mainDiv.appendChild(fakeFileUpload);
	
	//--------xls upload
	if(document.getElementById("FileInputsXls"))
	{
	var fakeXlsFileUpload = document.createElement('div');
	fakeFileUpload.className = 'fakefilexls';
	
	var fakeFileInputXls = document.createElement('input');
	fakeFileInputXls.className="FileNameXls";
	fakeFileInputXls.type="text";
	fakeFileInputXls.id="FakeXlsFileInput";
	
	
	var fakeFileBrowseXls = document.createElement('button');
	fakeFileBrowseXls.className="BrowseButton_Orange";//BrowseButton
	fakeFileBrowseXls.onclick=function(){return false;}
	
	var fakeFileBrowseSpanXls = document.createElement('span');
	var fakeFileBrowseEmXls = document.createElement('em');
	fakeFileBrowseSpanXls.className="";//BrowseSpan
	fakeFileBrowseEmXls.className="OrangeEm";//CreateEm
	fakeFileBrowseEmXls.innerHTML=document.getElementById("BrowseCaption").value;
	fakeFileBrowseXls.appendChild(fakeFileBrowseSpanXls);//add span to btn
	fakeFileBrowseSpanXls.appendChild(fakeFileBrowseEmXls);//add em to span
	
	//-- upload button
	var fakeFileUploadXls = document.createElement('button');
	fakeFileUploadXls.className="UploadXlsButton";
	fakeFileUploadXls.id="UploadXLSButton";
	fakeFileUploadXls.onclick=function()
	                        {
       	                        fnCheckFileExtensionXLS();
       	                        return false;
	                        }
	
	var fakeFileUploadSpanXls = document.createElement('span');
	var fakeFileUploadEmXls = document.createElement('em');
	fakeFileUploadSpanXls.className="";//UploadSpan
	fakeFileUploadEmXls.className="OrangeEm";//CreateEm
	fakeFileUploadEmXls.innerHTML=document.getElementById("UploadCaption").value;
	fakeFileUploadXls.appendChild(fakeFileUploadSpanXls);//add span to btn
	fakeFileUploadSpanXls.appendChild(fakeFileUploadEmXls);//add em to span
	
	//--
	
	fakeXlsFileUpload.appendChild(fakeFileInputXls);
	fakeXlsFileUpload.appendChild(fakeFileBrowseXls);
	fakeXlsFileUpload.appendChild(fakeFileUploadXls);
	
	var mainXlsDiv = document.getElementById("FileInputsXls");
	if(mainXlsDiv)
	mainXlsDiv.appendChild(fakeXlsFileUpload);
	
	}
	//--------Source data import
	if(document.getElementById("uploaderSourceDataContainer"))
	{
	var fakeXlsFileUpload = document.createElement('div');
	fakeFileUpload.className = 'fakefilexls';
	
	var fakeFileInputXls = document.createElement('input');
	fakeFileInputXls.className="FileNameXls";
	fakeFileInputXls.type="text";
	fakeFileInputXls.id="FakeSourceDataFileInput";
	
	
	var fakeFileBrowseXls = document.createElement('button');
	fakeFileBrowseXls.className="BrowseButton_Orange";//BrowseButton
	fakeFileBrowseXls.onclick=function(){return false;}
	
	var fakeFileBrowseSpanXls = document.createElement('span');
	var fakeFileBrowseEmXls = document.createElement('em');
	fakeFileBrowseSpanXls.className="";//BrowseSpan
	fakeFileBrowseEmXls.className="OrangeEm";//CreateEm
	fakeFileBrowseEmXls.innerHTML=document.getElementById("BrowseCaption").value;
	fakeFileBrowseXls.appendChild(fakeFileBrowseSpanXls);//add span to btn
	fakeFileBrowseSpanXls.appendChild(fakeFileBrowseEmXls);//add em to span
	
	//-- upload button
	var fakeFileUploadXls = document.createElement('button');
	fakeFileUploadXls.className="UploadXlsButton";
	fakeFileUploadXls.id="UploadSorceDataButton";
	fakeFileUploadXls.onclick=function()
	                        {
       	                        CheckFileExtensionXLS();
       	                        return false;
	                        }
	
	var fakeFileUploadSpanXls = document.createElement('span');
	var fakeFileUploadEmXls = document.createElement('em');
	fakeFileUploadSpanXls.className="";//UploadSpan
	fakeFileUploadEmXls.className="OrangeEm";//CreateEm
	fakeFileUploadEmXls.innerHTML=document.getElementById("UploadCaption").value;
	fakeFileUploadXls.appendChild(fakeFileUploadSpanXls);//add span to btn
	fakeFileUploadSpanXls.appendChild(fakeFileUploadEmXls);//add em to span
	
	//--
	
	fakeXlsFileUpload.appendChild(fakeFileInputXls);
	fakeXlsFileUpload.appendChild(fakeFileBrowseXls);
	fakeXlsFileUpload.appendChild(fakeFileUploadXls);
	
	var mainXlsDiv = document.getElementById("uploaderSourceDataContainer");
	if(mainXlsDiv)
	mainXlsDiv.appendChild(fakeXlsFileUpload);
	
	}
}

function fnassignVoiceFile()
{
    document.getElementById("FakeVoiceFileInput").value=document.getElementById("uploader").value;//uploadValue;
}

function fnassignXlsFile()
{
    document.getElementById("FakeXlsFileInput").value=document.getElementById("uploaderXLS").value;//uploadValue;
}
function AssignSourceDataFile()
{
    document.getElementById("FakeSourceDataFileInput").value=document.getElementById("uploaderSourceData").value;//uploadValue;
}
function fnHideOuterStatus()
{
    if(document.getElementById("statusOnlyPane"))
    document.getElementById("statusOnlyPane").className = "Hide";
}


function fnShowStatusEnter(event)
{
    if(event.keyCode==13)
       fnfetchResults();

}
function getQuerystring(key, default_)
{
  if (default_==null) default_="";
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(window.location.href);
  if(qs == null)
    return default_;
  else
    return qs[1];
} 

function getPasswordHash()
{
return passwordHash;
}

function fnShowLeftSidebar()
{
if(document.getElementById("leftSideBar"))
document.getElementById("leftSideBar").className="leftSideBar";

}

function fnHideLeftSidebar()
{
    //Is it used?
}

function fnFixPageHeight(bool)
{
 
  // bool=true;
   var height = document.body.offsetHeight + 10;//window.screen.availHeight;  
    if(bool)
        {document.getElementById("wrapperCentering").style.height=height +'px';     
        window.onresize = null;}
        return false;
        
}
function fnShowListnameInput()
{
    var currentState = document.getElementById("listname").className;
    if(currentState !="Listname_Show") //visible
    {
         document.getElementById("listname").className="Listname_Show";
         document.getElementById("ListnameLink").className="Record_Lines";
         document.getElementById("ListnameImage").className="Phone_Image";
    }
    else
    {
         document.getElementById("listname").className="Hide";
         document.getElementById("ListnameLink").className="Hide";
         document.getElementById("ListnameImage").className="Hide";
    }
}

function fnAddBlankContactEntry(strElementName,elementIdNo)
{   
    //check if textboxes exist below it .  If not create a new row with error number, delete icon and no and name txtboxes
    var nextElementId = strElementName + (parseInt(elementIdNo,10)+1) ;
    if(!document.getElementById(nextElementId))
    {
    //check for blank
    if(document.getElementById(strElementName+elementIdNo).value=="")
        return;
    //---create and add row
        var table=document.getElementById("GridContacts");
//        var newRow = document.createElement("tr");
        var newRow = table.insertRow(table.rows.length);
        var cellMessage =  document.createElement("td"); 
        var cellError   =  document.createElement("td"); 
        var cellNumber  =  document.createElement("td"); 
        var cellName    =  document.createElement("td"); 
        newRow.id="ContactRow" + (parseInt(elementIdNo,10)+1)
        newRow.appendChild(cellNumber);
        newRow.appendChild(cellName);
        newRow.appendChild(cellError);
        newRow.appendChild(cellMessage);       
        
    //---Create and add controls to row        
        var lblMessage =  document.createElement("span"); 
        lblMessage.id  =  "errContactMessage" + (parseInt(elementIdNo,10)+1) ;
        lblMessage.className="Hide";
        
        var lblError =  document.createElement("span"); 
        lblError.innerHTML="&nbsp;&nbsp;&nbsp;";
        lblError.id  =  "errContactNos" + (parseInt(elementIdNo,10)+1);
        lblError.className="Contact_Error";
        lblError.title = document.getElementById("transDeleteTitle").value;
        lblError.onclick= function()
        {
            fndeleteContact('' + (parseInt(elementIdNo,10)+1)+ '');
        }
        
        var txtNumber =  document.createElement("input"); 
        txtNumber.type="text";
        txtNumber.maxLength = 10;
        txtNumber.id  =  "txtContactNos" + (parseInt(elementIdNo,10)+1);
        txtNumber.name = "txtContactNos" + (parseInt(elementIdNo,10)+1);
        txtNumber.className="Contacts_textbox";
        txtNumber.style.width="75px";
        txtNumber.onblur=function() {
                                        fnAddBlankContactEntry('txtContactNos',(parseInt(elementIdNo,10)+1))
                                      };
        
        
        var txtName =  document.createElement("input"); 
        txtName.type="text";
        txtName.maxLength = 50;
        txtName.style.width = "150px";
        txtName.id  =  "txtContactName" + (parseInt(elementIdNo,10)+1);
        txtName.name  =  "txtContactName" + (parseInt(elementIdNo,10)+1);
        txtName.className="Contacts_textbox";
        txtName.onblur=function() {
                                        fnAddBlankContactEntry('txtContactName',(parseInt(elementIdNo,10)+1))
                                      };
        
        cellNumber.appendChild(txtNumber);
        cellName.appendChild(txtName);
        cellError.appendChild(lblError); 
        cellMessage.appendChild(lblMessage);
        
    }//add new row ends
    else
    {   // show delete icon
        if(document.getElementById("errContactNos" + (parseInt(elementIdNo,10))))
        {
            document.getElementById("errContactNos" + (parseInt(elementIdNo,10))).className = "Contact_Error";
        }
    }
}

function fnClearAllContacts()
    {


    var arrobjContactInputs = getElementsByClassName(document.getElementById("GridContacts"),'input',"Contacts_textbox");
    for(var cno=0;cno < arrobjContactInputs.length;cno++)
    {
        if(arrobjContactInputs[cno].id.toString().indexOf("Nos")!=-1)
             {
                var objContactNos = arrobjContactInputs[cno];
                var objContactName = document.getElementById(objContactNos.id.toString().replace("Nos","Name"));
                var objErrNo = document.getElementById(objContactNos.id.toString().replace("txt","err"));
                var objRow = document.getElementById(objContactNos.id.toString().replace("txtContactNos","ContactRow"));
                var currentId = parseInt(objContactNos.id.toString().replace("txtContactNos",""),10);
                var objErrMsg = document.getElementById("errContactMessage" + currentId);
                if(cno<10)
                {
                //clear textbox values
                    if(objContactNos!=null && objContactName!=null)
                    {
                        objContactNos.value="";
                        objContactName.value="";
                        objErrNo.className="Contact_Error_Hide";
                        objErrMsg.className="Hide";
                    }
                }   
                else
                {
                    if(objRow)
                    {
                        var rowParent = objRow.parentNode;
                        rowParent.removeChild(objRow);
                    }
                }//remove txb else
             }   
    }
    if( document.getElementById("XlsUploadSuccessfull"))
        document.getElementById("XlsUploadSuccessfull").innerHTML="";
    if( document.getElementById("IsXlsUploaded") )
        document.getElementById("IsXlsUploaded").value="false";

        errorGlobal = document.getElementById("ErrorGlobal");
        errorGlobal.innerHTML = "";
        errorGlobal.className="ErrorGlobal_Hidden";     
        
      //set initial count to 0
      lastContactIdNo = 0;
}
function fnAddCallGroupContacts()
{

//clear xls upload successful msg
if( document.getElementById("XlsUploadSuccessfull") )
    document.getElementById("XlsUploadSuccessfull").innerHTML="";
// clear xls upload success hidden field
if( document.getElementById("IsXlsUploaded") )
    document.getElementById("IsXlsUploaded").value="false";
    
    //document.getElementById("contactActivePane").value="1";
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
        {
          var msgNoAjax = document.getElementById("TransNoAjax").value;
          errorGlobal.innerHTML = msgNoAjax;
          errorGlobal.className="ErrorGlobal_Show";
          return;
        } 
        
    //var strContactGroupIds = document.getElementById("hfCallListIDs").value;
    //get all checkboxes
    var allInputs = document.getElementsByTagName("input");
    var chkIndex = 0;
    //var arrChkGroups = new Array();
    var strContactGroupIds="";
    for(var n=0;n<allInputs.length;n++)
    {
        if(allInputs[n].type=="checkbox")
        {   
            //arrChkGroups[chkIndex++]=allInputs[n];
            if(allInputs[n].checked) 
            {
               if((allInputs[n].id).indexOf("chkContactGroup") > -1)
                {
                  if(strContactGroupIds=='')
                          strContactGroupIds=allInputs[n].value ;
                    else
                         strContactGroupIds = strContactGroupIds +','+ allInputs[n].value ;
                }
            }
        }   
    }
    
 if(strContactGroupIds!='')
        {
            document.getElementById("AcceptLoading").style.display="block";
            xmlHttp.onreadystatechange=fnupdateAddContactInfo;
                var url="ajaxresults.aspx";
                url=url+"?action=getcontacts&callListIDs="+strContactGroupIds;
                
                xmlHttp.open("GET",url,true);
                xmlHttp.send(null);
        } 
    return;
}

function fnupdateAddContactInfo()
{
    if (xmlHttp.readyState==4)
       { 
        
        document.getElementById("AcceptLoading").style.display="none";
           var _responseText = xmlHttp.responseText;
           var _document = _responseText.split("=#=");
           var _table = _document[1];
           var pairs = _table.split("$$$");
           blnExitLoop = false;
           lastContactIdNo = 0;
           for(p=0;p<pairs.length;p++)//iterate thru each contact
           {
                var both=pairs[p].split("$#$");
                var cno=both[0];
                var cname = both[1];
                if(blnExitLoop)
                    {
                        lastContactIdNo++;
                    }
                fnaddContactToTable(cno,cname);
           }
        
           //return _table;
           var objContactsPane = document.getElementById("ContactsContainer");
            var objGroupPane = document.getElementById("showContactInfo");
            objGroupPane.className="Hide";
            objContactsPane.className = "ContactsContainer";
            document.getElementById("contactActivePane").value="1";
            
            //get last element id and add a new row for contact entry
            if(document.getElementById("GridContacts"))
            var arrobjContactInputs = getElementsByClassName(document.getElementById("GridContacts"),'input',"Contacts_textbox");
            var lastContactNo = arrobjContactInputs[arrobjContactInputs.length-2];
            if(lastContactNo)
            fnAddBlankContactEntry("txtContactNos",lastContactNo.id.replace("txtContactNos",""));
         }
}
var blnExitLoop = false;
var lastContactIdNo = 0;
function fnaddContactToTable(strContactNo,strContactName)
{
    //navigate and fill empty textboxes
    if(!blnExitLoop)
      { 
        var arrobjContactInputs = getElementsByClassName(document.getElementById("GridContacts"),'input',"Contacts_textbox");
       var totalTextBoxes = arrobjContactInputs.length/2; //fngetContactTextboxCount();
        for(var ttb=0;ttb<arrobjContactInputs.length;ttb=ttb+2)
        {
            if(document.getElementById(arrobjContactInputs[ttb].id)!=null && document.getElementById(arrobjContactInputs[ttb].id.replace("Nos","Name"))!=null)
                if(document.getElementById(arrobjContactInputs[ttb].id).value=='' && document.getElementById(arrobjContactInputs[ttb].id.replace("Nos","Name")).value=='')
                {
                    //directly assign values
                    document.getElementById(arrobjContactInputs[ttb].id).value = strContactNo;
                    document.getElementById(arrobjContactInputs[ttb].id.replace("Nos","Name")).value = strContactName;
                    if(document.getElementById(arrobjContactInputs[ttb].id.replace("txt","err")))
                        document.getElementById(arrobjContactInputs[ttb].id.replace("txt","err")).className ="Contact_Error";
                        lastContactIdNo = parseInt(arrobjContactInputs[arrobjContactInputs.length-2].id.replace("txtContactNos",""),10);
                return;
                }
        }
      }  
        blnExitLoop = true;
        var lastElementIdNo = lastContactIdNo;
        var table=document.getElementById("GridContacts");
        var elementIdNo = lastElementIdNo; //= table.rows.length-1;
        var newRow = table.insertRow(table.rows.length);
        var cellMessage =  document.createElement("td"); 
        var cellError   =  document.createElement("td"); 
        var cellNumber  =  document.createElement("td"); 
        var cellName    =  document.createElement("td"); 
        newRow.id="ContactRow" + (parseInt(elementIdNo,10)+1)
        newRow.appendChild(cellNumber);
        newRow.appendChild(cellName);
        newRow.appendChild(cellError);
        newRow.appendChild(cellMessage);
        
    //---Create and add controls to row        
        var lblMessage =  document.createElement("span"); 
        lblMessage.id  =  "errContactMessage" + (parseInt(elementIdNo,10)+1) ;
        lblMessage.className="Hide";
        
        var lblError =  document.createElement("span"); 
        lblError.innerHTML="&nbsp;&nbsp;&nbsp;";
        lblError.id  =  "errContactNos" + (parseInt(elementIdNo,10)+1);
        lblError.className="Contact_Error";
        lblError.title = document.getElementById("transDeleteTitle").value;
        lblError.onclick= function()
        {
            fndeleteContact('' + (parseInt(elementIdNo,10)+1)+ '');
        }
        
        var txtNumber =  document.createElement("input"); 
        txtNumber.type="text";
        txtNumber.maxLength = 10;
        txtNumber.id  =  "txtContactNos" + (parseInt(elementIdNo,10)+1);
        txtNumber.name = "txtContactNos" + (parseInt(elementIdNo,10)+1);
        txtNumber.className="Contacts_textbox";
        txtNumber.style.width="75px";
        txtNumber.value=strContactNo;
        txtNumber.onblur=function(){
                                        fnAddBlankContactEntry('txtContactNos',(parseInt(elementIdNo,10)+1))
                                      };
        
        var txtName =  document.createElement("input"); 
        txtName.type="text";
        txtName.maxLength = 50;
        //txtNumber.setAttribute("maxlength","50");
        txtName.style.width = "150px";
        txtName.id  =  "txtContactName" + (parseInt(elementIdNo,10)+1);
        txtName.name  =  "txtContactName" + (parseInt(elementIdNo,10)+1);
        txtName.className="Contacts_textbox";
        txtName.value=strContactName;
        txtName.onblur=function() {
                                        fnAddBlankContactEntry('txtContactName',(parseInt(elementIdNo,10)+1))
                                    };
        
       
        
        cellNumber.appendChild(txtNumber);
        cellName.appendChild(txtName);
        cellError.appendChild(lblError); 
        cellMessage.appendChild(lblMessage); 
}
function getContactsCount()
{
    var totalCount=0;
    for(var n=1;n <= parseInt(document.getElementById("ContactsCount").value,10) ;n++)
    {
        //count filled number and/or name textboxes
        if(document.getElementById("txtContactNos" + n))//exizts?
        {
            if(document.getElementById("txtContactNos" + n).value!='' ||document.getElementById("txtContactName" + n).value!='')
            {//name or no filled then count it
                totalCount+=1;
            }
        }
    }

    return totalCount;
}

function fngetContactTextboxCount()
{
    var totalCount=0;
    for(var n=1;n <= parseInt(document.getElementById("ContactsCount").value,10) ;n++)
    {
        //count filled number and/or name textboxes
        if(document.getElementById("txtContactNos" + n))//exizts?
        {
            if(document.getElementById("txtContactNos" + n)!=null )
            {//name or no filled then count it
                totalCount+=1;
            }
        }
    }
    return totalCount;
}
function fngetAllContactNumbers()
{
    //returns a string of contact nos seperated by ;
    var arrControls = getElementsByClassName(document.getElementById("GridContacts"),'input',"Contacts_textbox");
    var allNumbers="";
    for(var j=0;j<arrControls.length;j++)
    {
        if(arrControls[j].id.toString().indexOf("Nos")!=-1)
            allNumbers = allNumbers + arrControls[j].value +  ";" ;
    }
    return allNumbers;
}

function fndeleteContact(rowIdno)
{

    var arrobjContactInputs = getElementsByClassName(document.getElementById("GridContacts"),'input',"Contacts_textbox");
    if(arrobjContactInputs.length>2)
    {
        var elementToRemove = document.getElementById("ContactRow" + rowIdno);
            if(elementToRemove!=null)
            {
                var elementContainer = document.getElementById("ContactRow" + rowIdno).parentNode;
                elementContainer.removeChild(elementToRemove);
                //recalculate the nos of textboxes
                arrobjContactInputs = getElementsByClassName(document.getElementById("GridContacts"),'input',"Contacts_textbox");
            }
    }   
}
function getElementsByClassName(oElm, strTagName, strClassName)
{
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function fnfillContactIds()
{
    var arrobjContactInputs = null;
    if(document.getElementById("GridContacts"))
    {
        arrobjContactInputs = getElementsByClassName(document.getElementById("GridContacts"),'input',"Contacts_textbox");
        var strContactNoId =null;
        var strContactName =null;
        var strAllIds="";

            for(var i=0;i<arrobjContactInputs.length;i=i+2)
            {
                strContactNoId = arrobjContactInputs[i].id;
                
                if(i==arrobjContactInputs.length-2)
                {
                    strAllIds = strAllIds + strContactNoId ;
                }
                else
                {
                    strAllIds = strAllIds + strContactNoId + "$#$";
                }
            }
    if(document.getElementById("hfContactIds"))
        document.getElementById("hfContactIds").value = strAllIds;
    }
}

function checkFilenameForCampaign()
{
    //make ajax request and check if voicemessage filename exists in campaign table
    
    var objCampaignMsgBox = document.getElementById("campaignMessageBox");
    var campaignMessage = "";
    var returnValue = false; 
    if(objCampaignMsgBox)
    {
        campaignMessage = objCampaignMsgBox.innerHTML;
        campaignMessage = encodeURIComponent(campaignMessage);
    }
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
        {
            var msgNoAjax = document.getElementById("TransNoAjax").value;
            errorGlobal.innerHTML = msgNoAjax;
            errorGlobal.className="ErrorGlobal_Show";
            return;
        } 
            var url="ajaxresults.aspx";
            url=url+"?action=checkvoicefilename&campaignMessage="+campaignMessage;
            xmlHttp.open("GET",url,false);
            xmlHttp.send(null);
    if (xmlHttp.readyState==4)
    { 
       var _responseText = xmlHttp.responseText;
       var _document = _responseText.split("=#=");
       var voicefileState = _document[1];
       if(voicefileState == "present")
       {
            return "present"; //filename exists
       }
       else if(voicefileState == "absent")
       {
            return "absent";  //filename absent
       }
       else //incorrect_length~nolen
       {
            return voicefileState; 
       }
    }
}
//periodical caller setter
function fnStartAutoRefreshStatus()
{
    blnRefreshNow =true;
    objRefresh = window.setInterval( "fnRefreshStatus()" , 10000 );
}
function fnStopAutoRefreshStatus()
{
    blnRefreshNow =false;
    window.clearInterval(objRefresh);
}

// called periodically
function fnRefreshStatus()
{
    
    //check if refresh has to be done or not
    if(blnRefreshNow)
    {
        //make ajax call and get the status table
        var campaignCode =document.getElementById("hfCampaignCode").value
        
        var container =  document.getElementById("MonitorResultsContainer");
        
        if(campaignCode.length>0)
        {
                var availableCredits = GetAvailableCredits();
                var returnTable=fngetMonitorResults(campaignCode);
                if(document.getElementById("MonitorResultsTableDiv"))
                    container.removeChild(document.getElementById("MonitorResultsTableDiv"));
                var txt = document.createElement('div')
                txt.id="MonitorResultsTableDiv";
                txt.innerHTML=returnTable.replace("MonitorResults_Table","MonitorResults_Table_Serv");
                if(document.getElementById("MonitorResultsTable"))
                    {
                        document.getElementById("MonitorResultsTable").parentNode.removeChild(document.getElementById("MonitorResultsTable"));
                        if(document.getElementById("MonitorResultsTableDiv"))
                            document.getElementById("MonitorResultsTableDiv").parentNode.removeChild(document.getElementById("MonitorResultsTableDiv"));
                        if(document.getElementById("campaignMessageTable"))
                           document.getElementById("campaignMessageTable").parentNode.removeChild(document.getElementById("campaignMessageTable"));
                         //alert(document.getElementById("campaignMessageTable"));
                    }
        
                container.appendChild(txt);
                document.getElementById("creditsDetailOnNewMessagePane").innerText = "Credits  " +availableCredits;
                document.getElementById("creditDetail").innerText = "Credits  " +availableCredits;
                //alert(document.getElementById("creditsDetailOnNewMessagePane").innerText);
        }
    }
}

function fnStartAutoRefreshMonitor()
{
    blnRefreshNowStatusPane = true;
    objRefreshStatusPane = window.setInterval( "fnfetchResults()" , 10000 ); 
}

function fnStopAutoRefreshMonitor()
{
    blnRefreshNowStatusPane=false;
    window.clearInterval(objRefreshStatusPane);

}
//Enable send button if user aggreed
function EnableSendButton()
{
    if(document.getElementById("iAgreeCheck").checked)
        {
            document.getElementById("sendContactMessage").disabled=false;
        }
    else
        {
            document.getElementById("sendContactMessage").disabled=true;
        }
}
//Sends message of user from contact page 
function SendConatctMessage()
{
    var xmlhttp=null;
    var Name ="",email="",website="",phone="",msg="",sendcopy="";
    var blnValidate=true;
   
    xmlhttp = GetXmlHttpObject();
    Name    = Trim(document.getElementById("contactNameBox").value);
    email   = Trim(document.getElementById("contactEmailBox").value);
    website = Trim(document.getElementById("contactWebsiteBox").value);
    phone   = Trim(document.getElementById("contactPhoneBox").value);
    msg     = Trim(document.getElementById("contactMessageBox").value);
    msg     = encodeURIComponent(msg);
    sendcopy= document.getElementById("sendMeACopyCheck").checked;
    if(sendcopy)
        sendcopy='on';
    else
        sendcopy='off';    
   //return;
     if(Name == '')
      {
         document.getElementById("contactNameErr").className='ContactUs_required';
         blnValidate = false;
      }  
     else
       document.getElementById("contactNameErr").className='Hide';
      if(email == '')
        {
          document.getElementById("contactEmailErr").className='ContactUs_required';
          document.getElementById("contactEmailIncorrectErr").className='Hide';  
          blnValidate = false;
        }
      else if(VMvalidateEmail(email)==false)
      {
        document.getElementById("contactEmailErr").className='Hide';
        document.getElementById("contactEmailIncorrectErr").className='ContactUs_required';  
        blnValidate = false;
      }
      else
        {
            document.getElementById("contactEmailErr").className='Hide';  
            document.getElementById("contactEmailIncorrectErr").className='Hide';  
         }
         
     if(!isValidURL(website) && website !='')
        {
            document.getElementById("contactWebsiteIncorrectErr").className='ContactUs_required';  
            blnValidate = false;
        }
     else
        document.getElementById("contactWebsiteIncorrectErr").className='Hide';  
                    
     if(msg == '')
      {
        document.getElementById("contactMessageErr").className='ContactUs_required';
        blnValidate = false;
      }  
     else
       document.getElementById("contactMessageErr").className='Hide';
       
    if(blnValidate)
     {
         var url="Contact_Ajax.aspx";
        url=url+'?sendContactMsg=True&Name='+ Name +'&email='+ email +'&website='+website+'&phone='+ phone +'&msg='+msg+'&sendcopy='+ sendcopy +''; 
        xmlhttp.open("GET",url,false);
        xmlhttp.send(null);
         if (xmlhttp.readyState==4)
         { 
            var _responseText = xmlhttp.responseText;
            //alert(_responseText);
            if(_responseText.indexOf("#True#") >-1)
            {
                document.getElementById("ContactUs").className='Hide';
                document.getElementById("ContactUsThankU").className='';
                document.getElementById("thankUMsg").innerHTML = (document.getElementById("thankUMsg").innerHTML).replace("#name#",Name);
            }
         }
    }
}
//Sends message of user from contact page 
function SendConatctMessageDefault()
{
    var xmlhttp=null;
    var companyName="",firstName ="",lastName="",address="",houseNr="",postalCode="",town="",email="",website="",phone="",msg="",contactType="";
    var blnValidate=true;
    var errCount = 0;
    var errFieldName = "";
    var objSelect = "";
        objSelect = document.getElementById("contactType");
    xmlhttp = GetXmlHttpObject();
    companyName = Trim(document.getElementById("companyNameBox").value);
    firstName   = Trim(document.getElementById("contactNameBox").value);
    lastName    = Trim(document.getElementById("contactLastNameBox").value);
    address     = Trim(document.getElementById("contactAdressBox").value);
    houseNr     = Trim(document.getElementById("contactHouseNumberBox").value);  
    postalCode  = Trim(document.getElementById("contactPostalCodeBox").value);
    town        = Trim(document.getElementById("contactTownBox").value);
    email       = Trim(document.getElementById("contactEmailBox").value);
    website     = Trim(document.getElementById("contactWebsiteBox").value);
    phone       = Trim(document.getElementById("contactPhoneBox").value);
    contactType = objSelect.options[objSelect.selectedIndex].text;
    msg         = Trim(document.getElementById("contactMessageBox").value);
    msg         = encodeURIComponent(msg);

   //return;
   
     //FirstName Check  
     if(companyName == '')
      {
         document.getElementById("companyNameErr").className='ContactUs_required';
         blnValidate = false;
         errFieldName =  document.getElementById("companyName").innerText;
         errCount++;
      }  
     else
       document.getElementById("companyNameErr").className='Hide';
      //FirstName Check  
     if(firstName == '')
      {
         document.getElementById("contactNameErr").className='ContactUs_required';
         blnValidate = false;
         errFieldName =  document.getElementById("ContactName").innerText;
         errCount++;
      }  
     else
       document.getElementById("contactNameErr").className='Hide';
      //FirstName Check  
     if(lastName == '')
      {
         document.getElementById("contactLastNameErr").className='ContactUs_required';
         blnValidate = false;
         errFieldName =  document.getElementById("contactLastName").innerText;
         errCount++;
      }  
     else
       document.getElementById("contactLastNameErr").className='Hide';
       //Address check
     if(address == '')
      {
         document.getElementById("contactAdressErr").className='ContactUs_required';
         blnValidate = false;
         errFieldName =  document.getElementById("contactAdress").innerText;         
         errCount++;
      }  
     else
       document.getElementById("contactAdressErr").className='Hide';
     //House number check
     if(houseNr == '')
      {
         document.getElementById("contactHouseNumberErr").className='ContactUs_required';
         blnValidate = false;
         errFieldName =  document.getElementById("contactHouseNumber").innerText;         
         errCount++;
      }  
     else
       document.getElementById("contactHouseNumberErr").className='Hide';
     //Postal Code check
     if(postalCode == '')
      {
         document.getElementById("contactPostalCodeErr").className='ContactUs_required';
         blnValidate = false;
         errFieldName =  document.getElementById("contactPostalCode").innerText;         
         errCount++;
      }  
     else
       document.getElementById("contactPostalCodeErr").className='Hide';
       //Town check
     if(town == '')
      {
         document.getElementById("contactTownErr").className='ContactUs_required';
         blnValidate = false;
         errFieldName =  document.getElementById("contactTown").innerText;         
         errCount++;
      }  
     else
       document.getElementById("contactTownErr").className='Hide';
       //Email check       
      if(email == '')
        {
          document.getElementById("contactEmailErr").className='ContactUs_required';
          document.getElementById("contactEmailIncorrectErr").className='Hide';  
          blnValidate = false;
          errFieldName =  document.getElementById("ContactEmail").innerText;         
          errCount++;
        }
      else if(VMvalidateEmail(email)==false)
      {
        document.getElementById("contactEmailErr").className='Hide';
        document.getElementById("contactEmailIncorrectErr").className='ContactUs_required';  
        blnValidate = false;
      }
      else
        {
            document.getElementById("contactEmailErr").className='Hide';  
            document.getElementById("contactEmailIncorrectErr").className='Hide';  
         }
      //Website url check   
     if(!isValidURL(website) && website !='')
        {
            document.getElementById("contactWebsiteIncorrectErr").className='ContactUs_required';  
            blnValidate = false;
        }
     else
        document.getElementById("contactWebsiteIncorrectErr").className='Hide';  
      //Contact Type Check              
     if((contactType == '') || (document.getElementById("contactType").value == '0'))
      {
        document.getElementById("contactTypeErr").className='ContactUs_required';
        blnValidate = false;
        errFieldName = "Contact type";         
        errCount++;
      }  
     else
       document.getElementById("contactTypeErr").className='Hide';
       
     //display alert if required fields are empty  
        if(errCount == 1)
        {
            alert(document.getElementById("ContactRequiredMsgSingle").value +"" + errFieldName.replace(":","").replace("/","") +"" );
        } 
        if(errCount > 1)
        {
            alert(document.getElementById("ContactRequiredMsgAll").value);
        } 
     //If check succeed 
    if(blnValidate)
     {
         var url="Contact_Ajax.aspx";
        url=url+'?sendContactMsg=True&companyName='+companyName+'&firstName='+firstName+'&lastName='+lastName+'&Address='+address+'&housenumber='+houseNr+'&postalcode='+postalCode+'&town='+town+'&email='+email+'&website='+website+'&phone='+ phone +'&msg='+msg+'&contactType='+contactType+''; 
        xmlhttp.open("POST",url,false);
        xmlhttp.send(null);
         if (xmlhttp.readyState==4)
         { 
            var _responseText = xmlhttp.responseText;
            //alert(_responseText);
            if(_responseText.indexOf("#True#") >-1)
            {
                document.getElementById("ContactUs").className='Hide';
                document.getElementById("ContactUsThankU").className='';
                document.getElementById("thankUMsg").innerHTML = (document.getElementById("thankUMsg").innerHTML).replace("#name#", firstName +' '+lastName);
            }
         }
    }
}
//clears contact form if already filled in
function ClearContactForm()
{
   var inputsParentConatiner = document.getElementById("GridContactUs"); 
   var inputs = inputsParentConatiner.getElementsByTagName("INPUT");
    //clear all input boxes   
   for( var inputCount=0;inputCount < inputs.length; inputCount++)
   {
        inputs[inputCount].value = '';
   }
   //clear the message box
   var messageBox = inputsParentConatiner.getElementsByTagName("TEXTAREA");
       messageBox[0].innerHTML = '';
  //show contact form     
  document.getElementById("ContactUs").className='';
  document.getElementById("ContactUsThankU").className='Hide';     
}
function VMvalidateEmail(elementValue)
{
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
    return emailPattern.test(elementValue); 
}
function isValidURL(url)
{
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url)){
        return true;
    }else{
        return false;
    }
} 
function fnContactUsBack()
{
    document.getElementById("ContactUs").className='';
    document.getElementById("ContactUsThankU").className='Hide';
}

function CheckAvailableCredits()
{
    creditsCountMain = 0;
    var returnValue = false; 
    var xmlHttp=GetXmlHttpObject();
    var url="ajaxresults.aspx";
    url=url+"?action=checkcredits";
    xmlHttp.open("GET",url,false);
    xmlHttp.send(null);
    if (xmlHttp.readyState==4)
    { 
    var _responseText = xmlHttp.responseText;
        //alert(_responseText);
        var splittedValues = _responseText.split("$#");
        var creditAvailables = parseInt(splittedValues[1]);
        creditsCountMain = creditAvailables;
        var allNumbers = fngetAllContactNumbers();
        var allNumbersSplitted = allNumbers.split(';');
        var allNumbersCount = 0;    
        for(var numberCount = 0;numberCount < allNumbersSplitted.length; numberCount++)
        {
           if(Trim(allNumbersSplitted[numberCount]) != '')
                allNumbersCount ++;
        }
       //alert(allNumbers);
       //alert(allNumbersCount);
       //alert(creditAvailables);
       //multiply to get total credits needed send the message
        var creditNeeded = (allNumbersCount * parseInt(document.getElementById("creditsPerCall").value));
        
        if(creditAvailables < creditNeeded)
        {
            var msgSendCount = Math.floor((creditAvailables / parseInt(document.getElementById("creditsPerCall").value)));
            if(Math.floor((creditAvailables / parseInt(document.getElementById("creditsPerCall").value)) < 1 ))
            {
                msgSendCount = 0;
                creditsCountMain = 0;
            }
            var insufficientCreditsMsg = document.getElementById("creditsMessage").value;
                insufficientCreditsMsg = insufficientCreditsMsg.replace("#credits#",creditAvailables);
                insufficientCreditsMsg = insufficientCreditsMsg.replace("#credits#",msgSendCount);
                errorGlobal.innerHTML = insufficientCreditsMsg;
                errorGlobal.className="ErrorGlobal_Show";
                return false;
               // alert(insufficientCreditsMsg);
               
        }  
        else
            {
                return true;
            }   
    }

}

function GetAvailableCredits()
{
    var returnValue = 0; 
    var xmlHttp=GetXmlHttpObject();
    var url="ajaxresults.aspx";
    url=url+"?action=checkcredits";
    xmlHttp.open("GET",url,false);
    xmlHttp.send(null);
    if (xmlHttp.readyState==4)
    { 
    var _responseText = xmlHttp.responseText;
        //alert(_responseText);
        var splittedValues = _responseText.split("$#");
        var creditAvailables = parseInt(splittedValues[1]);
        returnValue = creditAvailables;
    }
    return returnValue;
}
function SignOut()
{
    var xmlHttp=GetXmlHttpObject();
    var url="ajaxresults.aspx";
    url=url+"?action=signout";
    xmlHttp.open("GET",url,false);
    xmlHttp.send(null);
    if (xmlHttp.readyState==4)
    { 
        var _responseText = xmlHttp.responseText;
    }
}
//get Ideal details
function GetIdealData(creditsToBuy)
{
    var returnValue = 0; 
    var xmlHttp=GetXmlHttpObject();
    var url="ajaxresults.aspx";
    url=url+"?action=getIdealData&creditsToBuy=" + creditsToBuy;
    xmlHttp.open("GET",url,false);
    xmlHttp.send(null);
    if (xmlHttp.readyState==4)
    { 
        var _responseText = xmlHttp.responseText;
        var _document = _responseText.split("=#=");
        var newCodeMsg = _document[1];
    }
    return newCodeMsg;
}


//submit this form to Ideal
function SubmitToIdeal()
{
    var itemBox = document.getElementById("itemQuantityBox");
    if(Trim(itemBox.value) != '')
    {
        if(parseInt(Trim(itemBox.value)) >= 100)
        {
            var min = 5;
            var numberFormat = new RegExp(/^\d{1,5}$/);

            if(document.getElementById("itemQuantityBox").value.length <= min)
            {
                if (numberFormat.test(document.getElementById("itemQuantityBox").value))
                {	
                    var val = GetIdealData(itemBox.value);

                    var _document = val.split(";");
                    var itemQuantity = document.getElementById("itemQuantityBox").value;
                    //alert(_document[11]);
                    //set required values
                    document.getElementById("merchantID").value =_document[0];//config                                                 
                    document.getElementById("subID").value =_document[1];//config                                                           
                    document.getElementById("amount").value =_document[11];//web  IN EUROCENT                                                         
                    document.getElementById("purchaseID").value =_document[10];//DB                                              
                    document.getElementById("description").value =_document[2];//config                                       
                    document.getElementById("validUntil").value =_document[3];//web + config                              
                    document.getElementById("itemNumber1").value =_document[4];//config                                                 
                    document.getElementById("itemDescription1").value =_document[5];//config                                       
                    document.getElementById("itemQuantity1").value =1;//itemQuantity;//web                                                      
                    document.getElementById("itemPrice1").value =_document[6];//config  IN EUROCENT                                                     
                    document.getElementById("urlCancel").value =_document[7]; //config + DB
                    document.getElementById("urlSuccess").value =_document[8]; //config + DB
                    document.getElementById("urlError").value =_document[9]; //config + DB
                    //submit the Ideal form
                    document.forms["IdealForm"].submit();
                }
            }
            document.getElementById("insufficientCreditsToOrder").className = 'Hide';
         }
         else
         {
            document.getElementById("insufficientCreditsToOrder").className = 'ErrorGlobal_Show';
         }
    }
    document.getElementById("itemQuantityBox").value ='';
    document.getElementById("itemQuantityBox").focus();
}
//display total
function DisplayTotal(objTextBox)
{
    if(objTextBox.value != '')
    {
        if(!isNaN(objTextBox.value))
        {
            if(document.getElementById("QuantityTotalAmount"))
            {
                
                if(objTextBox.value <= 1000)
                {
                    //calculate total price including BTW
                    var totalIncBTW = ((parseFloat(objTextBox.value) * 49)/100);
                        totalIncBTW = (totalIncBTW * 0.19) + totalIncBTW;
                        totalIncBTW = totalIncBTW.toFixed(2);
                    //display total price excluding BTW
                     document.getElementById("QuantityTotalAmount").innerHTML ='&euro;&nbsp;'+ ((parseFloat(objTextBox.value) * 49)/100);
                     document.getElementById("QuantityTotalAmount").innerHTML = (document.getElementById("QuantityTotalAmount").innerHTML).replace(".",",");
                     //display total price including BTW
                     document.getElementById("totalAmtIncBTW").innerHTML ='&euro;&nbsp;'+ totalIncBTW;
                     document.getElementById("totalAmtIncBTW").innerHTML = (document.getElementById("totalAmtIncBTW").innerHTML).replace(".",",");
                     //display credit rate
                     document.getElementById("itemPrice").innerHTML='&euro;&nbsp;0,49';
                }    
                if(objTextBox.value > 1000 && objTextBox.value <= 10000)
                {
                     //calculate total price including BTW
                    var totalIncBTW = ((parseFloat(objTextBox.value) * 44)/100);
                        totalIncBTW = (totalIncBTW * 0.19) + totalIncBTW;
                        totalIncBTW = totalIncBTW.toFixed(2);
                    //display total price excluding BTW   
                    document.getElementById("QuantityTotalAmount").innerHTML ='&euro;&nbsp;'+ ((parseFloat(objTextBox.value) * 44)/100);
                    document.getElementById("QuantityTotalAmount").innerHTML = (document.getElementById("QuantityTotalAmount").innerHTML).replace(".",",");
                    //display total price including BTW
                    document.getElementById("totalAmtIncBTW").innerHTML ='&euro;&nbsp;'+ totalIncBTW;
                    document.getElementById("totalAmtIncBTW").innerHTML = (document.getElementById("totalAmtIncBTW").innerHTML).replace(".",",");
                    //display credit rate
                    document.getElementById("itemPrice").innerHTML='&euro;&nbsp;0,44';
                }    
                if(objTextBox.value > 10000)
                {
                     //calculate total price including BTW
                    var totalIncBTW = ((parseFloat(objTextBox.value) * 39)/100);
                        totalIncBTW = (totalIncBTW * 0.19) + totalIncBTW;
                        totalIncBTW = totalIncBTW.toFixed(2);
                    //display total price excluding BTW   
                    document.getElementById("QuantityTotalAmount").innerHTML ='&euro;&nbsp;'+ ((parseFloat(objTextBox.value) * 39)/100);
                    document.getElementById("QuantityTotalAmount").innerHTML = (document.getElementById("QuantityTotalAmount").innerHTML).replace(".",",");
                    //display total price including BTW
                    document.getElementById("totalAmtIncBTW").innerHTML ='&euro;&nbsp;'+ totalIncBTW;
                    document.getElementById("totalAmtIncBTW").innerHTML = (document.getElementById("totalAmtIncBTW").innerHTML).replace(".",",");
                    //display credit rate
                    document.getElementById("itemPrice").innerHTML='&euro;&nbsp;0,39';
                }    
            }
        }
        else
        {
            document.getElementById("QuantityTotalAmount").innerHTML = '&euro;&nbsp;'+0;
        }
    }
    if(objTextBox.value == '')
    {
        document.getElementById("QuantityTotalAmount").innerHTML = '&euro;&nbsp;'+0;;
    }    
}
function ValidateDate()
{
    var objDateFrom = document.getElementById("fromDateBox");
    var objDateTo = document.getElementById("toDateBox");
    //if both object are vailable
    if(objDateFrom && objDateTo)
      {
        //if both values date from and to are filled in 
        if(Trim((objDateFrom.value)) != "" && Trim((objDateTo.value)) != "")
        {
          if(checkExtDate(objDateFrom,1043) && checkExtDate(objDateTo,1043))
           {
                GetCampaignCodesReports(objDateFrom.value,objDateTo.value);
           }        
        }
        //if from-date is filled in and to-date is empty
        if(Trim((objDateFrom.value)) != "" && Trim((objDateTo.value)) == "")
        {
            if(checkExtDate(objDateFrom,1043))
           {
                GetCampaignCodesReports(objDateFrom.value);
           }  
        }
        //if to-date is filled in and from-date is empty 
        if(Trim((objDateFrom.value)) == "" && Trim((objDateTo.value)) != "")
        {
            if(checkExtDate(objDateTo,1043))
           {
                GetCampaignCodesReports(objDateTo.value);
           }  
        } 
        //if both fileds are empty
        if(Trim((objDateFrom.value)) == "" && Trim((objDateTo.value)) == "")
        {
            
            GetCampaignCodesReports();
        }
        
      }
}
function GetCampaignCodesReports(dateFrom,dateTo)
{
    
    var xmlHttp=GetXmlHttpObject();
    var options ="";
    var url="ajaxresults.aspx";
    if(dateFrom && dateTo)
        url=url+"?action=GetCampaignCodesReports&datefrom="+ dateFrom +"&dateto="+dateTo+"";
    else if(dateFrom)
         url=url+"?action=GetCampaignCodesReports&datefrom="+ dateFrom +"&dateto=";
    else if(dateTo)
        url=url+"?action=GetCampaignCodesReports&datefrom=&dateto="+dateTo+"";
    else
        url=url+"?action=GetCampaignCodesReports&datefrom=&dateto=";
        //return false;
    xmlHttp.open("GET",url,false);
    xmlHttp.send(null);
    if (xmlHttp.readyState==4)
    { 
        var _responseText = xmlHttp.responseText;
        //alert(_responseText);
        var splittedValues = _responseText.split("=#=");
        options  ="<OPTION value='1'>Selecteer..</OPTION>";
        options += splittedValues[1];
        document.getElementById("campaignCodeBox").innerHTML ='';
        document.getElementById("campaignCodeBox").innerHTML = '<'+ options +'';
        //please dont remove this otherwise options will not be shown
        document.getElementById("campaignCodeBox").outerHTML = document.getElementById("campaignCodeBox").outerHTML;
        //clear the contact-names dropdown
         document.getElementById("userNameBox").innerHTML ="<<OPTION value='1'>Selecteer..</OPTION>";
         document.getElementById("userNameBox").outerHTML = document.getElementById("userNameBox").outerHTML;
    }
    
}
function FillContacts()
{
    var xmlHttp=GetXmlHttpObject();
    var options ="";
    var objCampaignCodeBox = document.getElementById("campaignCodeBox");
    var campaigncode = "";
    if(objCampaignCodeBox)
    {
       if(objCampaignCodeBox.selectedIndex == 0)
       {
        document.getElementById("userNameBox").innerHTML ='';
        document.getElementById("userNameBox").innerHTML = "<<OPTION value=1>Selecteer..</OPTION>";
        document.getElementById("userNameBox").outerHTML = document.getElementById("userNameBox").outerHTML;
        return false;
       }
        campaigncode = objCampaignCodeBox.options[objCampaignCodeBox.selectedIndex].text;
        if(campaigncode.indexOf("_") > -1)
        {
            campaigncode = campaigncode.split("_");
            campaigncode = campaigncode[0];
            //alert(campaigncode);
        }
    }
    //proceed if campaigncode is not empty
    if(campaigncode != "")
    {
        var url="ajaxresults.aspx";
        url=url+"?action=GetContactNamesForCampaign&cmpCode="+campaigncode+"";
        
        xmlHttp.open("GET",url,false);
        xmlHttp.send(null);
        if (xmlHttp.readyState==4)
        { 
            var _responseText = xmlHttp.responseText;
            //alert(_responseText);
            var splittedValues = _responseText.split("=#=");
            options  ="<OPTION value='1'>Selecteer..</OPTION>";
            options += splittedValues[1];
            document.getElementById("userNameBox").innerHTML ='';
            document.getElementById("userNameBox").innerHTML = '<'+ options +'';
            //please dont remove this otherwise options will not be shown
            document.getElementById("userNameBox").outerHTML = document.getElementById("userNameBox").outerHTML;
        }
   }
}
function ClearReportFields()
{
    document.getElementById("fromDateBox").value ='';
    document.getElementById("toDateBox").value ='';
    document.getElementById("campaignCodeBox").innerHTML ="<<OPTION value='1'>Selecteer..</OPTION>";
    document.getElementById("campaignCodeBox").outerHTML =document.getElementById("campaignCodeBox").outerHTML;
    document.getElementById("userNameBox").innerHTML ="<<OPTION value='1'>Selecteer..</OPTION>";
    document.getElementById("userNameBox").outerHTML = document.getElementById("userNameBox").outerHTML;    
    document.getElementById("reportsDiv").innerHTML = "";
    GetCampaignCodesReports();
}
//
function ShowReport()
{
  
    var dateFrom = "",dateTo = "",campaignCode = "",contactName = "";
    if(document.getElementById("fromDateBox"))
    {
        dateFrom = document.getElementById("fromDateBox").value;
    }
    if(document.getElementById("toDateBox"))
    {
        dateTo = document.getElementById("toDateBox").value;
    }
    if(document.getElementById("campaignCodeBox"))
    {
        var objCCBox = document.getElementById("campaignCodeBox");
        if(objCCBox.selectedIndex == 0)
            campaignCode = "";
        else
            campaignCode = objCCBox.options[objCCBox.selectedIndex].text;
       if(campaignCode.indexOf("_") > -1)
        {
            campaignCode = campaignCode.split("_");
            campaignCode = campaignCode[0];
            //alert(campaigncode);
        }
    }
    if(document.getElementById("userNameBox"))
    {
        var objUNBox = document.getElementById("userNameBox");
        if(objUNBox.selectedIndex == 0)
            contactName = "";
        else
            contactName = objUNBox.options[objUNBox.selectedIndex].text;
    }

    //return if all fields are empty
    if(Trim(dateFrom) =="" && Trim(dateTo) == "" && Trim(campaignCode) == "" && Trim(contactName) == "")
    {
        return false;
    }
    var xmlHttp=GetXmlHttpObject();
    var options ="";
    var url="ajaxresults.aspx";
    url=url+"?action=ShowReports&datefrom="+ dateFrom +"&dateto="+dateTo+"&CampCode="+campaignCode+"&contactName="+ contactName +"";

    xmlHttp.open("GET",url,false);
    xmlHttp.send(null);
    if (xmlHttp.readyState==4)
    { 
        var _responseText = xmlHttp.responseText;
        //alert(_responseText);
       var splittedValues = _responseText.split("=#=");

        document.getElementById("reportsDiv").innerHTML = splittedValues[1]+"<br /><br />";
        
//        document.getElementById("campaignCodeBox").innerHTML ='';
//        document.getElementById("campaignCodeBox").innerHTML = '<'+ options +'';
//        //please dont remove this otherwise options will not be shown
//        document.getElementById("campaignCodeBox").outerHTML = document.getElementById("campaignCodeBox").outerHTML;
//        //clear the contact-names dropdown
//         document.getElementById("userNameBox").innerHTML ="<<OPTION value='1'>Selecteer..</OPTION>";
//         document.getElementById("userNameBox").outerHTML = document.getElementById("userNameBox").outerHTML;
    }

}
//show change password pane
function ShowChangePassword()
{
    var objChangePasswordDiv =  document.getElementById("changePwdContainer");
    if(objChangePasswordDiv)
    {
        if(objChangePasswordDiv.className =='Hide')
        {
            objChangePasswordDiv.className ='';
        }
        else
        {
            objChangePasswordDiv.className ='Hide';
        }
    }
}
//change password
function ChangePassword()
{
    //get all required objects
    var objChangePasswordDiv =  document.getElementById("changePwdContainer");
    var objOldPassword =  document.getElementById("oldPasswordBox");
    var objNewPassword =  document.getElementById("newPasswordBox");
    var objRePassword =   document.getElementById("reEnterPasswordBox");
    var objOldPasswordErr = document.getElementById("oldPasswordBoxErr");
    var objNewPasswordErr = document.getElementById("newPasswordBoxErr");  
    var objreEnterPasswordErr = document.getElementById("reEnterPasswordBoxErr"); 
    var objReEnterMatchErr = document.getElementById("reEnterPwdMatchErr");
    var objPwdChangeSuccessMsg = document.getElementById("pwdChangeSuccessMsg"); 
    var objPwdChangeFailureMsg = document.getElementById("pwdChangeFailureMsg");  
    var validationSuccess = true;
    //proceed if all objects available
    if(objChangePasswordDiv && objOldPassword && objNewPassword && objRePassword && objOldPasswordErr && objNewPasswordErr && objreEnterPasswordErr && objReEnterMatchErr && objPwdChangeSuccessMsg && objPwdChangeFailureMsg)
    {
        //old password check
        if(Trim(objOldPassword.value) == "" || Trim(objOldPassword.value).length < 6)
           {
                objOldPasswordErr.className = 'ErrorGlobal_Show';
                validationSuccess = false;
           }
        else
           {
            objOldPasswordErr.className = 'Hide';
           }
        //new password check
        if(Trim(objNewPassword.value) == "" || Trim(objNewPassword.value).length < 6)
           {
              objNewPasswordErr.className = 'ErrorGlobal_Show';
              validationSuccess = false;
           }
        else
           {
            objNewPasswordErr.className = 'Hide';
           }
       //re-enter new password check
        if(Trim(objRePassword.value) == "" || Trim(objRePassword.value).length < 6)
           {
             objreEnterPasswordErr.className = 'ErrorGlobal_Show';
             validationSuccess = false;
           }
        else
           {
             objreEnterPasswordErr.className = 'Hide';
           }
        //if new and re-enter new password do not match
        if(Trim(objNewPassword.value) != "" && Trim(objRePassword.value) != "")
        {
            if(Trim(objNewPassword.value)!= Trim(objRePassword.value))
            {
                objReEnterMatchErr.className = 'ErrorGlobal_Show';
                validationSuccess = false;
            }
            else
            {
                objReEnterMatchErr.className = 'Hide';
            }
        }
        if(validationSuccess)
        {
            var oldPassword = encodeURIComponent(Trim(objOldPassword.value));
            var newPassword = encodeURIComponent(Trim(objNewPassword.value));
            var xmlHttp=GetXmlHttpObject();
            var url="ajaxresults.aspx";
            url=url+"?action=changepassword&oldpassword="+ oldPassword +"&newpassword="+ newPassword;
            xmlHttp.open("GET",url,false);
            xmlHttp.send(null);
            if (xmlHttp.readyState==4)
            { 
                var _responseText = xmlHttp.responseText;
                var splittedValues = _responseText.split("=#=");
                //alert(splittedValues[1]);
                objChangePasswordDiv.className = 'Hide';
                if(splittedValues[1] == "True")
                {
                    //clear the form
                    ClearChangePasswordForm();
                    objPwdChangeSuccessMsg.className = "ErrorGlobal_Green";
                    objPwdChangeFailureMsg.className = "Hide"; 
                }
                else
                {
                    objPwdChangeFailureMsg.className = "ErrorGlobal_Show";
                    objPwdChangeSuccessMsg.className = "Hide";
                }
            }       
        }
    }
}

function ClearChangePasswordForm()
{
    //get the required objects
    var objOldPassword =  document.getElementById("oldPasswordBox");
    var objNewPassword =  document.getElementById("newPasswordBox");
    var objRePassword =   document.getElementById("reEnterPasswordBox");
    var objOldPasswordErr = document.getElementById("oldPasswordBoxErr");
    var objNewPasswordErr = document.getElementById("newPasswordBoxErr");  
    var objreEnterPasswordErr = document.getElementById("reEnterPasswordBoxErr"); 
    var objReEnterMatchErr = document.getElementById("reEnterPwdMatchErr");
    var objPwdChangeSuccessMsg = document.getElementById("pwdChangeSuccessMsg"); 
    var objPwdChangeFailureMsg = document.getElementById("pwdChangeFailureMsg");  
     //proceed if all objects available
    if(objOldPassword && objNewPassword && objRePassword && objOldPasswordErr && objNewPasswordErr && objreEnterPasswordErr && objReEnterMatchErr && objPwdChangeSuccessMsg && objPwdChangeFailureMsg)
    {
        //clear the change password form
         objOldPassword.value = '';
         objNewPassword.value = '';
         objRePassword.value = '';
         objOldPasswordErr.className = 'Hide';
         objNewPasswordErr.className = 'Hide';
         objreEnterPasswordErr.className = 'Hide';
         objReEnterMatchErr.className = 'Hide';
         objPwdChangeSuccessMsg.className = 'Hide';
         objPwdChangeFailureMsg.className = 'Hide';
    }
}
