noLoadSites = typeof(noLoadSites) != 'undefined' ? noLoadSites : false;
loadZone = typeof(loadZone) != 'undefined' ? loadZone : '';
window.onload=function(){  
  if(embed){ 
     loadEmbed('Embed' + embed,'jerbrooapp',loadZone);
  }else{
     alert('Error: No content specified for loading'); 
  }
}
loadContent = function(what,where,zone,func){
  zone = (zone == 'false' || ! zone) ? 'ab' : zone;
  var url='/skeleton/index.php/' + zone + '/' + what;
  alert(what + ' '  + where + ' ' + zone + ' ' + url);
  barberPole(true);
  new Ajax.Updater(where,url,{method: 'get'
                                               ,onComplete: function(){barberPole();}});
  //barberPole();
}
loadURL = function(what,where,func){
  var url=what;
  barberPole(true);
  new Ajax.Updater(where,url,{method: 'get'
                                               ,onComplete: function(){barberPole();}});

}
loadEmbed = function(what,where,zone,func){
  zone = zone == false ? 'ab' : zone;
  var url='/skeleton/index.php/' + zone + '/' + what;
  // noLoadSites is global
  
  new Ajax.Updater(where,url,{method: 'get', onComplete: function(transport){ 
                                                if(noLoadSites != true){                                           
                                                    reloadSites();
                                                }
                                                barberPole();
                                                }
                                             });
}

reloadSites = function(){
  //loadContent('GetSites','siteSelect');
  var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/GetSites';
   barberPole(true);
   reloadSitesXML(url);
   barberPole();
   //Effect.Appear('mygrid_sites',{duration:2});
}
var mygrid; 
reloadSitesXML = function(url){
   document.getElementById('siteSelect').innerHTML = '';
   mygrid = new dhtmlXGridObject('siteSelect'); 
   mygrid.setImagePath("/skeleton/public/resources/js/ab/datagrid/dhtmlxGrid/codebase/imgs/"); 
   mygrid.setHeader("Remove,Site Address,Name,Description,Date Added,Genius Code"); 
   //mygrid.setInitWidths("35,200,80,300,80,140,140,140,140,140,140,140,140,200"); 
   mygrid.setInitWidths("30,200,120,120,70,70"); 
   //mygrid.setColAlign("left,right,right,right,right,right,right,right,right,right,right,right,right,right");
   mygrid.setColAlign("center,center,center,center,center,center");
   mygrid.setSkin("xp");
   mygrid.setColSorting("str,str,str,str,strstr");
   mygrid.setColTypes("ro,ro,ro,ro,ro,ro");
   mygrid.attachEvent('onRowSelect',siteSelected);
   mygrid.preventIECaching(true);
   mygrid.init();
   mygrid.clearAll(false);
   mygrid.loadXML(url);
   barberPole();
}
siteSelected = function(id){
   var s = document.getElementById('site_' + id);
   document.getElementById('site').value=s.value;
   changeSite();
}
deleteSite = function(thing){
  var site = thing.id;
  if(! confirm('Do you really want to remove ' + site)) return;
  barberPole(true);
  var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/DeleteSite';
  
  var postParams = 'site=' + site;
  postParams += '&site=' + site;
  
  new Ajax.Request(url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(transport){fillId('midbox',transport.responseText);barberPole();}
                  }); 
   reloadSites();
}
hideId = function(id){
  var i=document.getElementById(id);
  if(i){
    if(i.style){
      i.style.display="none";
    }
  }
}
showId = function(id,disp){
  var i=document.getElementById(id);
  if(! disp) disp = 'block';
  if(i){
    if(i.style){
      i.style.display=disp;
    }
  }
}
toggleId =  function(id){
  if(id){
      Effect.toggle(id,'slide',{duration: .7});
  }
}
emptyTxtId = function(id){
  var i=document.getElementById(id);
  if(i){
    i.value='';
  }
}
fillTxtId = function(id,fill){
  
  var i=document.getElementById(id);
  if(i){
    i.value=fill;
  }
}
emptyId = function(id){
  var i=document.getElementById(id);
  if(i){
    i.innerHTML='';
  }
}
fillId = function(id,fill){
  
  var i=document.getElementById(id);
  if(i){
    i.innerHTML=fill;
  }
}
function selectAll(id) {
  var i=document.getElementById(id);
  i.select();
}
changeSite = function(){
  // Hide the code box
  hideId('txt1');
  hideId('topbox');
  hideId('topboxmsg');
  hideId('mygrid_container');
  hideId('midbox');
  hideId('my_chart1');
  hideId('my_chart2');
  hideId('my_chart3');
  CheckIntegrationStatus();
}
function importGoogle(){
  var site = document.getElementById('site').value;
  var f = document.getElementById('importCampaign');
  if(f){
    f.importsite.value=site;
    f.submit();
  }    else{
    alert('could not upload');
  }
  return false;
}
function importGoogleLocal(){
  var site = document.getElementById('site').value;
  var f = document.getElementById('importCampaign');
  if(f){
    f.importsite.value=site;
    f.submit();
  }    else{
    alert('could not start remote import');
  }
  return false;
}
function getBounceCode(){
  var s = document.getElementById('site').value;
  var f = document.getElementById('bounceCodeForm');
  if(f){
    //alert(s);
    f.fsite.value=s;
    f.submit();
  }
  getBounceCodeTag();
  document.getElementById('site').value = s;
}
function importYsm(){

  var site = document.getElementById('site').value;
  var onBehalfOfUser = document.getElementById('onBehalfOfUser').value;
  var onBehalfOfPass = document.getElementById('onBehalfOfPass').value;
  var ysmAccount = document.getElementById('ysmAccount').value;
  var replaceAll = document.getElementById('replaceAll').value;
  var masterAccountID = document.getElementById('masterAccountID').value;
  
  var postParams = 'site=' + site;
  postParams += '&onBehalfOfUser=' + onBehalfOfUser;
  postParams += '&onBehalfOfPass=' + onBehalfOfPass;
  postParams += '&ysmAccount=' + ysmAccount
  postParams += '&replaceAll=' + replaceAll;
  postParams += '&masterAccountID=' + masterAccountID;
  var url = 'https://www.brooksresearch.com/skeleton/index.php/bm/ImportYsm';  
  barberPole(true);
  fillId('midbox','...Please wait while Bid Master converses with Yahoo!. This can take several minutes');
  showId('midbox');
  new Ajax.Request(url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onInteractive: function(transport){fillId('midbox',transport.responseText);}
                  ,onComplete: function(transport){barberPole();}
                  }); 
}
barberPole = function(on){
  if(on){
    new Effect.Appear('animImg',{duration: .3});
  }else{
    new Effect.Fade('animImg',{duration: .3});
  }
}
function getCode(){
  // Get js code for tagging a site
  var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/GetCode';
  var site = document.getElementById('site').value;
  var postParams = 'site=' + site;
  barberPole(true);
  new Ajax.Request(url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onLoaded: function(transport){showId('txt1','block');emptyTxtId('txt1');}
                  ,onComplete: function(transport){fillTxtId('txt1',transport.responseText);barberPole();}
                  }); 

}
function getBounceCodeTag(){
  // Get js code for tagging a site
  var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/GetBounceCodeTag';
  var site = document.getElementById('site').value;
  var postParams = 'site=' + site;
  barberPole(true);
  new Ajax.Request(url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onLoaded: function(transport){showId('txt1','block');emptyTxtId('txt1');}
                  ,onComplete: function(transport){fillTxtId('txt1',transport.responseText);
                                                                                     barberPole(true);}
                  }); 

}
function CheckIntegrationStatus(){
  // Get integration status of selected site 
  var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/CheckIntegrationStatus';
  var site = document.getElementById('site').value;
  var postParams = 'site=' + site;
  showId('intStatus','block');
  fillId('intStatus','...Checking Integration Status for ' + site);
  barberPole(true);
  new Ajax.Request(url 
                  ,{method: 'post'
                  ,postBody: postParams
                  //,onLoaded: function(transport){emptyId('intStatus');}
                  ,onComplete: function(transport){fillId('intStatus',transport.responseText);barberPole();}
                  }); 

}
function addSite(){
  // Add a site for the user
  var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/AddSite';
  //var url = 'http://www.brooksresearch.com/skeleton/public/resources/php/dump.php';
  var fqdn = document.getElementById('fqdn').value;
  var description = document.getElementById('desc').value;
  var short_description = document.getElementById('short_desc').value;

  var postParams = '&fqdn=' + fqdn;
  postParams += '&desc=' + description;
  postParams += '&short_desc=' + short_description;

  new Ajax.Updater('topboxmsg'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(transport){reloadSites();}
                  }); 
}
function addConversionGoal(){
  // Add a site for the user
  var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/AddConversionGoal';
  //var url = 'http://www.brooksresearch.com/skeleton/public/resources/php/dump.php';
  var match = document.getElementById('match').value;
  var desc = document.getElementById('desc').value;
  var site = document.getElementById('site').value;
  var str = document.getElementById('string').value;
  var postParams = 'desc=' + desc;
  postParams += '&match=' + match;
  postParams += '&site=' + site;
  postParams += '&string=' + str;
  barberPole(true);
  new Ajax.Updater('topbox'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(transport){loadFChart(); barberPole();}
                  }); 
}
function addProxyAB(){
  // Add a site for the user
  var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/AddProxyAB';
  //var url = 'http://www.brooksresearch.com/skeleton/public/resources/php/dump.php';
  var pageA = document.getElementById('pageA').value;
  var desc = document.getElementById('desc').value;
  var pageB = document.getElementById('pageB').value;
  var site = document.getElementById('site').value;
  var postParams = 'desc=' + desc;
  postParams += '&pageA=' + pageA;
  postParams += '&pageB=' + pageB;
  postParams += '&site=' + site;
  barberPole(true);
  new Ajax.Updater('topbox'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onLoaded: function(transport){showId('txt1','block');emptyTxtId('txt1');}
                  ,onComplete: function(transport){fillTxtId('txt1',transport.responseText);loadProxyABControls();showId('topbox','block');barberPole();}
                  }); 

}
poxyABTestingAndLive = function(thing){

  var id = thing.id;
  var group = thing.getAttribute('group');
  var site = document.getElementById('site').value;
  
  if(group){
    if(confirm('Do you want to configure your browser for full page testing of group ' + group)){
       createCookie('brcapab',group);
       fillId('topmsg','<b>Your browser is currently configured for full page testing of group ' + group + '</b><br/><br/>');
    }
  }
  /* var nav = confirm('OK, are you ready to navigate ' + site + ' and inject ' + id + ' code for group ' + group + '?');
  if(nav){
    var win = site + group + id;
    window.open('http://' + site,win);
  } */
}

function proxyTestFormPop(thing){
  var id = thing.id;

  var Ainj = document.getElementById('pab_' + id + '_pageA').innerHTML;
  document.getElementById('pageAinput').value = Ainj;

  var Binj = document.getElementById('pab_' + id + '_pageB').innerHTML;
  document.getElementById('pageBinput').value = Binj;

  var desc = document.getElementById('pab_' + id + '_desc').innerHTML;
  document.getElementById('pabDesc').value = desc;
 
  document.getElementById('selectedPabId').value = id;
  
}
function updateProxyAB(thing,del){
   var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/ProxyAB';
   var apab = document.getElementById('pageAinput').value;
   var bpab = document.getElementById('pageBinput').value;
   var site = document.getElementById('site').value;
   var desc = document.getElementById('pabDesc').value;

   //var url = document.getElementById('url').value;
   var pabId = document.getElementById('selectedPabId').value;
   var postParams = 'pageA=' + apab;
   if(thing){
       pabId = thing.getAttribute('pabId');
       if(pabId){
           postParams += '&pabId=' + pabId;
       }
       if(del == true){
           postParams += '&delete=' + del;
            if(! confirm('Do you want to delete test ' + pabId + '?')){
               return false;
            }
       }
   }
   postParams += '&pageB=' + bpab;
   postParams += '&site=' + site;  
   postParams += '&desc=' + desc;
   postParams += '&pabId=' + pabId;
    barberPole(true);
   new Ajax.Updater('topboxmsg'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onSuccess: function(transport){loadProxyABControls();barberPole();}
                  });

}
loadFChart = function(){
  // Add a site for the user
  var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/FChartControls';
  //var url = 'http://www.brooksresearch.com/skeleton/public/resources/php/dump.php';
  var site = document.getElementById('site').value;
  var postParams = 'site=' + site;
  barberPole(true);
  new Ajax.Updater('topbox'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(transport){barberPole();}
                  }); 
}
loadInjectorControls = function(){
   var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/ABInjectorControls';
   var site = document.getElementById('site').value;
   var postParams = 'site=' + site;
   barberPole(true);
   new Ajax.Updater('topbox'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(){barberPole();}
                  });

}
loadProxyABControls = function(){
   var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/ProxyABControls';
   var site = document.getElementById('site').value;
   var postParams = 'site=' + site;
   barberPole(true);
   new Ajax.Updater('topbox'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(){barberPole();}
                  });

}
injectorTestingAndLive = function(){
   var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/InjectorTestingAndLive';
   var site = document.getElementById('site').value;
   var postParams = 'site=' + site;
   barberPole(true);
   new Ajax.Updater('catCode'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(){barberPole();}
                  });

}
function injectionFormPop(thing){
  var id = thing.id;
  
  var status = thing.getAttribute('status');
  document.getElementById('injStatus').selectedIndex = status;   
  
  var Ainj = document.getElementById('inj_' + id + '_a_code').innerHTML;
  document.getElementById('Ainj').value = Ainj;

  var Binj = document.getElementById('inj_' + id + '_b_code').innerHTML;
  document.getElementById('Binj').value = Binj;

  var name = document.getElementById('inj_' + id + '_name').innerHTML;
  document.getElementById('injName').value = name;
  
  var desc = document.getElementById('inj_' + id + '_desc').innerHTML;
  document.getElementById('injDesc').value = desc;
 
  document.getElementById('selectedInjId').value = id;
  
}
function updateInjectors(thing,del){
   var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/ABInjector';
   var ainj = document.getElementById('Ainj').value;
   var binj = document.getElementById('Binj').value;
   var site = document.getElementById('site').value;
   var name = document.getElementById('injName').value;
   var desc = document.getElementById('injDesc').value;
   //var url = document.getElementById('url').value;
   var status = document.getElementById('injStatus').value;
   var injId = document.getElementById('selectedInjId').value;
   var postParams = 'ainj=' + ainj;
   postParams += '&injId=' + injId 
   if(thing){
       injId = thing.getAttribute('injId');
       if(injId){
           postParams += '&injId=' + injId;
       }
       if(del == true){
           postParams += '&delete=' + del;
            if(! confirm('Do you want to delete test ' + injId + '?')){
               return false;
            }
       }
   }
   postParams += '&binj=' + binj;
   postParams += '&site=' + site;  
   postParams += '&status=' + status;
   postParams += '&name=' + name;
   postParams += '&desc=' + desc;
   postParams += '&url=' + url;
    
   new Ajax.Updater('topboxmsg'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onSuccess: function(transport){loadInjectorControls();}
                  });
}
testInjection = function(thing){
  var id = thing.id;
  var group = thing.getAttribute('group');
  var site = document.getElementById('site').value;
  if(id == 'live'){
    //alert('setting l' + group);
    createCookie('brca_injt','l' + group);
  }else if(id == 'test'){
    //alert('setting t' + group);
    createCookie('brca_injt','t' + group);
  }
  var nav = confirm('OK, are you ready to navigate ' + site + ' and inject ' + id + ' code for group ' + group + '?');
  if(nav){
    var win = site + group + id;
    window.open('http://' + site,win);
  }
}

BidHistoryFChartControl = function(){
  // Add a site for the user
  var url = 'https://www.brooksresearch.com/skeleton/index.php/bm/BidHistoryFChartControl';
  //var url = 'http://www.brooksresearch.com/skeleton/public/resources/php/dump.php';
  var site = document.getElementById('site').value;
  var postParams = 'site=' + site;
  barberPole(true);
  new Ajax.Updater('topbox'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(){barberPole();}
                  }); 

}

function loadBidHistory(){
     
  // Content-Type: text/javascript  is set on the server along with the 
  // response. This tells Prototype Ajax to eval() the transport.responseText
  var url = 'https://www.brooksresearch.com/skeleton/index.php/bm/BidHistory';
  //var url = 'http://www.brooksresearch.com/skeleton/public/resources/php/dump.php';

  var interval = document.getElementById('interval').value;
  var shaggsame = 0; //document.getElementById('shaggsame').value;
  var gtype = document.getElementById('gtype').value;
  var site = document.getElementById('site').value;
   var fromDate = document.getElementById('fromDate').value;
  var toDate = document.getElementById('toDate').value;
  var sort = document.getElementById('sort').value;
  var sortdir = document.getElementById('sortdir').value;
  var perPage = document.getElementById('perPage').value;
  var page = document.getElementById('page').value;
  var advBidStatus = document.getElementById('advBidStatus').value;
  var searchText = document.getElementById('searchText').value;
  
  var postParams = 'interval=' + interval; 
  postParams += '&gtype=' + gtype;
  postParams += '&site=' + site;
  postParams += '&fromDate=' + fromDate;
  postParams += '&toDate=' + toDate;  
  postParams += '&sort=' + sort; 
  postParams += '&page=' + page;
  postParams += '&advBidStatus=' + advBidStatus;
  postParams += '&perPage=' + perPage; 
  postParams += '&sortdir=' + sortdir;    
  postParams += '&searchText=' + searchText;  
  
  /*new Ajax.Request(url
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(transport){initBMhistorySelector(transport.responseText);}
                  });*/
   barberPole(true);
   initBMhistorySelector(url,postParams);
   Effect.Appear('mygrid_container',{duration:2});
   barberPole();
}

var mygrid; 
initBMhistorySelector = function(url,postParams){
   document.getElementById('mygrid_container').innerHTML = '';
   mygrid = new dhtmlXGridObject('mygrid_container'); 
   mygrid.setImagePath("/skeleton/public/resources/js/ab/datagrid/dhtmlxGrid/codebase/imgs/"); 
  mygrid.setHeader("no.,Search Term,Term Type,Search Engine,Adgroup,Live Bid,Average Position,Paused,Advanced Bid Management Status,Last Interaction,Click Conversion Rate,Conversions,CPA%,CPA$,Historical High,Impressions,Clicks,Cost,Net Spend"); 
   //mygrid.setInitWidths("35,200,80,300,80,140,140,140,140,140,140,140,140,200"); 
   mygrid.setInitWidths("*,100,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42"); 
   //mygrid.setHeader("*,*,*,*,*,*,*,*");
   //mygrid.setInitWidths("*,*,*,*,*,*,*,*");
   //mygrid.setColAlign("left,left,left,left,left,left,left,left,left,left,left,left,left,left");
   //mygrid.setColAlign("center,center,center,center,center,center,center,center");
   mygrid.setColAlign("left,center,center,center,center,center,center,center,center,center,center,center,center,center,center,center,center,center,center");
   mygrid.setSkin("xp");
   mygrid.setColSorting("int,str,str,str,str,int,int,int,str,int,int,int,int,int,int,int,int,int,str");
   mygrid.setColTypes("ro,ro,ro,ro,ro,price,ro,ro,ro,ro,ro,ro,ro,price,ro,ro,ro,price,ro");
   mygrid.attachEvent('onRowSelect',onBMHistorySelect);
   mygrid.preventIECaching(true);

   mygrid.init();
   mygrid.clearAll(false);
   mygrid.xmlLoader.loadXML(url + '?',true,postParams);
   barberPole();
}

function onBMHistorySelect(id){
    var bhElem = document.getElementById('_'+id);
    var criteria_id = bhElem.getAttribute('criteria_id');
    var adgroup_id = bhElem.getAttribute('adgroup_id');
    barberPole(true);
    chartBidHistory(criteria_id,adgroup_id,this);
    barberPole();
}

function pageHistoryNext(){
    document.getElementById('page').value++;
    loadBidHistory();
}
function pageHistoryPrev(){
    var p = document.getElementById('page');
    if(p.value > 1){
       p.value -= 1;
    }else{
       p.value = 1;
    }
    loadBidHistory();
}
function chartBidHistory(criteria_id,adgroup_id){ //,selectorElement){      
  // Content-Type: text/javascript  is set on the server along with the 
  // response. This tells Prototype Ajax to eval() the transport.responseText
  //var se = document.getElementById('selectedElement');
  //new Effect.Highlight(selectorElement.id, {startcolor:"#ccffcc",endcolor:"#e5f2ff", restorecolor:"#e5f2ff",duration:.4} );
 // if(se.value){
    // set the color for the no longer selected item
 //   document.getElementById(se.value).style.background='';    
 //}
  //// set the color for the selected item
  //selectorElement.style.background='#e5f2ff';
 // se.value=selectorElement.id;
  var url = 'https://www.brooksresearch.com/skeleton/index.php/bm/BidHistoryFChart';
  var interval = document.getElementById('interval').value;
  var site = document.getElementById('site').value;
  var fromDate = document.getElementById('fromDate').value;
  var toDate = document.getElementById('toDate').value;
  var gtype = document.getElementById('gtype').value;
   var conversions = document.getElementById('conversions').checked;
   var cost = document.getElementById('cost').checked;
   var clicks = document.getElementById('clicks').checked;
   var impressions = document.getElementById('impressions').checked;
   var bid = document.getElementById('bid').checked;
   var costPerSale = document.getElementById('costPerSale').checked;
   var percentPerSale = document.getElementById('percentPerSale').checked;
   var clickConversionRate = document.getElementById('clickConversionRate').checked;
   var impressionConversionRate = document.getElementById('impressionConversionRate').checked;
   var averagePosition = document.getElementById('averagePosition').checked;
   var net_sale = document.getElementById('net_sale').checked;
   var net_spend = document.getElementById('net_spend').checked;
   var usd_net_spend = document.getElementById('usd_net_spend').checked;
   var netSalesROI = document.getElementById('netSalesROI').checked;
   
  var postParams = '&interval=' + interval;
  postParams += '&site=' + site;
  postParams += '&fromDate=' + fromDate;
  postParams += '&toDate=' + toDate;  
  postParams += '&criteria_id=' + criteria_id;
  postParams += '&adgroup_id=' + adgroup_id;
  postParams += '&gtype=' + gtype;
  postParams += '&conversions=' + conversions;
  postParams += '&cost=' + cost;
  postParams += '&clicks=' + clicks;
  postParams += '&impressions=' + impressions;
  postParams += '&bid=' + bid;
  postParams += '&costPerSale=' + costPerSale;
  postParams += '&percentPerSale=' + percentPerSale;
  postParams += '&clickConversionRate=' + clickConversionRate;
  postParams += '&impressionConversionRate=' + impressionConversionRate;
  postParams += '&averagePosition=' + averagePosition;  
  postParams += '&netSalesROI=' + netSalesROI;
  postParams += '&net_sale=' + net_sale; 
  postParams += '&net_spend=' + net_spend; 
  postParams += '&usd_net_spend=' + usd_net_spend;
  barberPole(true);
  showId('my_chart1');
  new Ajax.Request(url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(transport){barberPole();}
                  });
}

function graphSettings(){ 
  var b = document.getElementById('graphSettingsButton');
  var gs = document.getElementById('graphSettings');
  if(b.innerHTML == 'Hide Graph Settings'){
    //hideId('graphSettings');
    Effect.Puff('graphSettings',{duration: .2});
    b.innerHTML = 'Graph Settings';
  }else{
   // showId('graphSettings','block');
    Effect.Appear('graphSettings');
    b.innerHTML = 'Hide Graph Settings';
  }
}
function updateChart(thing){
  
  // Content-Type: text/javascript  is set on the server along with the 
  // response. This tells Prototype Ajax to eval() the transport.responseText
  var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/FChart';
  //var url = 'http://www.brooksresearch.com/skeleton/public/resources/php/dump.php';
  var goal = document.getElementById('goal').value;
  var interval = document.getElementById('interval').value;
  //var period = document.getElementById('period').value;
  //var period_count = document.getElementById('period_count').value; 
  var conv = document.getElementById('show_conversion_rates').value;
  var shagg = document.getElementById('show_dist_agg').value;
  var shaggsame = 0; //document.getElementById('shaggsame').value;
  var gtype = document.getElementById('gtype').value;
  var site = document.getElementById('site').value;
   var fromDate = document.getElementById('fromDate').value;
  var toDate = document.getElementById('toDate').value;
  var ad = document.getElementById('ads').value;
  var ref = document.getElementById('referrer').value;
  var pab = document.getElementById('pab').value;
  var entry = document.getElementById('entry').value;
  var postParams = 'goal=' + goal;
  postParams += '&interval=' + interval;
  if(ad) postParams += '&ad=' + ad;
  if(ref) postParams += '&ref=' + ref;
  if(pab) postParams += '&pab=' + pab;
  if(entry) postParams += '&entry=' + entry;
 //postParams += '&period=' + period;
  //postParams += '&period_count=' + period_count;
  postParams += '&conv=' + (conv == false ? '' : 1);
  postParams += '&shagg=' + (shagg == false ? '' : 1);
  postParams += '&shaggsame=' + shaggsame; 
  postParams += '&gtype=' + gtype;
  postParams += '&site=' + site;
  postParams += '&fromDate=' + fromDate;
  postParams += '&toDate=' + toDate;  
  //alert(postParams);
  barberPole(true);
  new Ajax.Request(url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(){barberPole();}
                  });

}
loadBMC = function(){
  // load the Bid Master Console
  var url = 'https://www.brooksresearch.com/skeleton/index.php/bm/BMC';
  var site = document.getElementById('site').value;
  var postParams = 'site=' + site;
  barberPole(true);
  new Ajax.Updater('topbox'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(){barberPole();}
                  });

}

publish_adgroup_bids = function(butt,adgroup){
	var customerEmail = document.getElementById('customerEmail').value;
	//alert('calculating adgroup bids for ' + adgroup);
	var criteriaArr = calc_bid_struct[adgroup]['criteria'];
	var criteriaStr = '';
	var bidIdStr = '';
	var delim = '';
	for(i=0; i<criteriaArr.length; i++){
	  criteriaStr += delim + criteriaArr[i];
	  //alert('bid_id_' + criteriaArr[i]);
	  bidIdStr += delim + document.getElementById('bid_id_' + criteriaArr[i]).value;
	  delim = '_';
   }
  
    // load the Bid Master Console
  var url = 'https://www.brooksresearch.com/skeleton/index.php/bm/UpdateLive';
  var site = document.getElementById('site').value;
  var postParams = 'site=' + site;
  var se = butt.getAttribute('se');
        postParams += '&criteria=' + criteriaStr;
        postParams += '&bidId=' + bidIdStr;
        postParams += '&adgroup=' + adgroup;
        postParams += '&clientEmail=' + customerEmail;
        postParams += '&se=' + se;
  barberPole(true);
  new Ajax.Updater('midbox'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(){barberPole();}
                  });
 
}
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; domain=.mobile-o.com; path=/";
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}
// Render the add a Google Adwords Criteria Form
function addCriteriaRender(butt,se,noHide){
  var adgroup = butt.getAttribute('adgroup');
  var se = se ? se : butt.getAttribute('se');
  var where = 'addcrit_' + adgroup;
  var elem = 'addcrit_' + adgroup;
  var url = 'https://www.brooksresearch.com/skeleton/index.php/bm/AddAdwordsCriteriaRender';
  var site = document.getElementById('site').value;

  showId(where,'block');
  if(! noHide)  expand_collapse_div(butt,elem);
  
  var postParams = '&site=' + site;
  postParams += '&adgroup=' + adgroup;
  postParams += '&se=' + se;
  barberPole(true);
  new Ajax.Updater(where
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(){barberPole();}
                  }); 

}
// upload data from the add a Google Adwords Criteria Form
function addCriteria(butt,se){
  var adgroup = butt.getAttribute('adgroup');
  var where = 'kw_' + adgroup;
  //var elem = 'addcrit_' + adgroup;
  var kw = document.getElementById('kw_' + adgroup).value;
  var url = 'https://www.brooksresearch.com/skeleton/index.php/bm/AddAdwordsCriteria';
  var site = document.getElementById('site').value;
  var addMeth = document.getElementById('addMeth_' + adgroup).value;
  if(! addMeth){
     alert('please select an update method');
     exit;
  }
  
  //showId(where,'block');
  //expand_collapse_div(butt,elem);
  
  var postParams = '&site=' + site;
  postParams += '&adgroup=' + adgroup;
  postParams += '&kw=' + kw;
  postParams += '&addMeth=' + addMeth;
  postParams += '&se=' + se;
  msgBox = 'kw_status_' + adgroup;
  barberPole(true);
  new Ajax.Updater(where
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(transport){fillId(msgBox,transport.responseText);addCriteriaRender(butt,se,true); showId('reloadKW','inline');getAdGroupCriterion(site,adgroup);barberPole();}
                  }); 

}

function appendContent(what,where){
    document.getElementById(where).innerHTML += "\n" + document.getElementById(what).value;
}

function dateChooser(elem){   
   Effect.toggle('cal_','appear',{duration:.3});
   Effect.toggle('calCont','appear',{duration:.3});
   if(document.getElementById('cal_').style.display=='none'){
      document.getElementById('cal_').innerHTML='';
      var mCal = new dhtmlxDblCalendarObject('cal_',false,{isMonthEditable: true, isYearEditable: true});
      var fromDateVal = document.getElementById('fromDate').value;
      var toDateVal = document.getElementById('toDate').value;
      mCal.leftCalendar.setFormatedDate('%Y-%m-%d',fromDateVal);
      mCal.rightCalendar.setFormatedDate('%Y-%m-%d',fromDateVal);
      mCal.leftCalendar.setOnClickHandler(function(date){setRangeDate(this,date,'fromDate');return true;});
      mCal.rightCalendar.setOnClickHandler(function(date){setRangeDate(this,date,'toDate');return true;});
      mCal.setSensitive();
      mCal.draw(); 
   }
}
setRangeDate = function(calObj,date,elem){
   var d  = calObj.getFormatedDate("%Y-%m-%d",date);
   document.getElementById(elem).value=d;
   return true;
   //document.getElementById(elem).value=d;
}
showNonConvBid = function(adgroup){
   //alert('adgroup: ' + adgroup);
   var a = document.getElementById('settings_max_spend_no_sale_'+adgroup).value;
   var b = document.getElementById('settings_max_clicks_no_sale_'+adgroup).value;
   var c = document.getElementById('settings_net_sale_'+adgroup).value;
   var d = document.getElementById('settings_funnel_cost_'+adgroup).value;
   var e = Math.round(document.getElementById('settings_funnel_interval_'+adgroup).value);
   //alert('a:' + a + ' b:' + b+ ' c:' + c + ' d:' + d + ' e:' + e );
   var applyFunnel = document.getElementById('settings_apply_funnel_'+adgroup).checked ? 'on' : 'off';
   var currencyPerTerm = Math.round((a*c))/100;
   var bidEst = Math.round((currencyPerTerm/b)*100)/100;
   var termsPerInterval = Math.round(d/currencyPerTerm);
   var costPer100 = Math.round(currencyPerTerm*10000)/100;
   
   var extraMsg = applyFunnel=='off' ?  '. Each non-converting search term can cost you up to <b>$' + currencyPerTerm 
   + '</b>.  Since Advanced Cost Controls are turned off, there is no cap on the total cost of non-converting search terms. <i>For example</i>, a list of 100 non-converting search terms can cost you <b>$' + costPer100 + '</b> in a short time depending on the popularity of each search term.'
   : '. Advanced Cost Controls are turned on.  See below....';
   
   fillId('bidEst_'+adgroup,'Your bid for non-converting terms will be <b>$' + bidEst + '</b>' + extraMsg);
   
   fillId('funnelEst_'+adgroup,'Genius will be able to experiment with at least <b>' + termsPerInterval 
   + '</b> non-converting search terms every <b>' + e + '</b> days by bidding <b>$' + bidEst 
   + '</b> per term.  Each of these terms will cost you up to <b>$' + currencyPerTerm 
   + '</b>.  Your total cost will be up to <b>$' + d + '</b>.  Any non-converting search term will <i>not</i> be experimented with again unless you reset it.');
   
   new Effect.Highlight('bidEst_'+adgroup, {endcolor:"#e5f2ff", restorecolor:"#e5f2ff",duration:2} );
   new Effect.Highlight('funnelEst_'+adgroup, {endcolor:"#e5f2ff", restorecolor:"#e5f2ff",duration:2} );
}

saveGeniusSettings = function(){
  var emailnotif = document.getElementById('emailnotif').checked;
  var emails = document.getElementById('emails').value;
  var bmauto = document.getElementById('bmauto').checked;
  var bmautog = document.getElementById('bmautog').checked;
  var bmautoy = document.getElementById('bmautoy').checked;
  var bmacw = document.getElementById('bmacw').value;
  var url = 'https://www.brooksresearch.com/skeleton/index.php/ab/UpdateGSet';
  var postParams = '&emailnotif=' + emailnotif;
  postParams += '&emails=' + emails;
  postParams += '&bmauto=' + bmauto;
  postParams += '&bmautoy=' + bmautoy;
  postParams += '&bmautog=' + bmautog;
  postParams += '&bmacw=' + bmacw;
  barberPole(true);
  emptyId('midbox');
  new Ajax.Updater('midbox'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onComplete: function(transport){barberPole();}
                  }); 

}
function freeCalcBid(){
  var perc = document.getElementById('perc').value;
  var net = document.getElementById('net').value;
  var clicks = document.getElementById('clicks').value;
  var conv = document.getElementById('conv').value;
  var url = '/skeleton/index.php/bm_free/CalcBid';
  var postParams = '&perc=' + perc;
  postParams += '&net=' + net;
  postParams += '&conv=' + conv;
  postParams += '&clicks=' + clicks;
  barberPole(true);
  emptyId('midbox');
  new Ajax.Updater('midbox'
                  ,url 
                  ,{method: 'post'
                  ,postBody: postParams
                  ,onException: function(transport){barberPole();alert('Error: An exception occured ' + transport.status);}
                  ,onComplete: function(transport){barberPole();}
                  });
}
function CampaignSiteOrg(){
  var url = 'https://www.brooksresearch.com/skeleton/index.php/bm/CampaignSiteOrg';
  emptyId('topbox');
  barberPole(true);
  new Ajax.Request(url 
                  ,{method: 'get'
                  //,postBody: postParams
                  ,onComplete: function(){barberPole();}
                  });
  
}
function updateCampaignSiteOrg(container,name){
      var url = 'https://www.brooksresearch.com/skeleton/index.php/bm/CampaignSiteOrg';
      var postParams = Sortable.serialize( container,{ name:name} );
      barberPole(true);
      new Ajax.Request(url
                       ,{method: 'post'
                       ,postBody: postParams
                       ,onComplete: function(){barberPole();}
                       });

}


