function doRefresh(comingFromDays) { 
     document.submitHome.i_days.value = document.mainForm.i_days[document.mainForm.i_days.selectedIndex].value;
     if(document.submitHome.expand)
       document.submitHome.expand.value = "Y";
       
     //if user selects date range which is less than the current date range, set focus to current date range before submit
     if(comingFromDays > document.mainForm.i_days[document.mainForm.i_days.selectedIndex].value) {
       for(i=0;i<document.mainForm.i_days.length;i++) {
         if(document.mainForm.i_days[i].value == comingFromDays)
           document.mainForm.i_days.selectedIndex = i;
       }
     }
     
     document.submitHome.submit();
} 


//function to validate demo registration form
function submitForm() {
  errFlag = 0;
  errMsg = "Please enter all the fields.";

  // check if any mandatory field kept blank
  if(document.demouserForm.i_first_name.value.replace(/ /g,"").length == 0 ||
     document.demouserForm.i_last_name.value.replace(/ /g,"").length == 0 ||
     document.demouserForm.i_position_title.value.replace(/ /g,"").length == 0 ||
     document.demouserForm.i_organization.value.replace(/ /g,"").length == 0 ||
     document.demouserForm.i_address.value.replace(/ /g,"").length == 0 ||
     document.demouserForm.i_city.value.replace(/ /g,"").length == 0 ||
     document.demouserForm.i_postal_code.value.replace(/ /g,"").length == 0 ||
     document.demouserForm.i_country.value.replace(/ /g,"").length == 0 ||
     document.demouserForm.i_email.value.replace(/ /g,"").length == 0 ||
     document.demouserForm.i_telephone.value.replace(/ /g,"").length == 0) {
     errFlag = 1;
     alert(errMsg);
  }
    
  // check if only numbers entered in any character field
  if(errFlag == 0) {
     if(!isNaN(document.demouserForm.i_first_name.value) || !isNaN(document.demouserForm.i_last_name.value) ||
        !isNaN(document.demouserForm.i_position_title.value) || !isNaN(document.demouserForm.i_organization.value)||
        !isNaN(document.demouserForm.i_address.value) || !isNaN(document.demouserForm.i_city.value) ||
        !isNaN(document.demouserForm.i_country.value) || !isNaN(document.demouserForm.i_email.value)) {
       errFlag = 1;
       alert("Please enter valid character data.");
    }
  }

  //check email address
  if(errFlag == 0) {
    if((document.demouserForm.i_email.value).indexOf("@") == -1) {
      alert("Please enter valid email address.");
      errFlag = 1;
    }
  }

  //check if proper country is selected
  if(errFlag == 0) {
    if(document.demouserForm.i_country.selectedIndex == 0) {
      alert("Please select your country.");
      errFlag = 1;
    }
  }


  //check for tel number
  if(errFlag == 0) {
    //allow space,"+" and "-" signs in phone number
    if (isNaN(document.demouserForm.i_telephone.value.replace(/ /g,"").replace(/\+/g,"").replace(/\-/g,""))) {
      alert("Please enter valid phone number.");
      errFlag = 1;
    }
  }

  if(errFlag == 0) {
    document.demouserForm.action = "sddb_demo.log_demo_user";
    document.demouserForm.submit();
  }
}

function submitHomeForm(days) { 
     if (days == "undefined" || days == null) {
       days = 10;  
     }
     document.submitHome.expand.value = "Y";
     document.submitHome.i_days.value = days;
     document.submitHome.submit();
}

function sortBy(sortField) { 
     document.submitHome.i_sort_by.value = sortField;
     document.submitHome.action = document.submitHome.action + "#strategic_drug_profiles";
     document.submitHome.submit();
}

function navigateTo(rowNum)
{
  window.document.showResults.i_current_row.value = rowNum;
  window.document.showResults.submit();
}

function submitSearch(formName)
{
  
  err = 0;
  formObj = eval("document."+formName);

  if(formObj.searchtext.value.replace(/ /g,"").length == 0 && err == 0)
  {
      alert("Please enter the search text.");
      formObj.searchtext.value = "";	
      err = 1;
  }
  
  if(err == 0 && formObj.entity[formObj.entity.selectedIndex].value == "Any")
  {
    alert("Please select the entity.");
    err = 1;
  }
    
  if(err == 0)
  {
    formObj.submit();
  } 
  
}

function browserSniffer()
{
	browserName=navigator.appName;
	browserVer=parseInt(navigator.appVersion);

	if ((browserName=="Netscape" && browserVer>=4) && (browserName=="Netscape" && browserVer<5)) 
	{   
  		document.write("<LINK rel='stylesheet' href='/stylesheets/sddb_ns.css' type='text/css'>");  
  	}

	else if((browserName=="Microsoft Internet Explorer")||(browserName=="Netscape" && browserVer==5))
	{  
  		document.write("<LINK rel='stylesheet' href='/stylesheets/sddb_ie.css' type='text/css'>");

  	}
}

function openWindow(id,entity) {
	if(entity == "Drug")
	  window.open('sddb_reports.print_drug_competive_analysis?id='+id,'CompetitiveAnalysis','height=450,width=630,resizable=yes,scrollbars=yes');
	else if(entity == "Company" || entity == "Franchise")
	  window.open('sddb_reports.print_competitor_selector?id='+id+'&i_entity_type='+entity,'CompetitiveAnalysis','height=450,width=630,resizable=yes,scrollbars=yes');
}

//---------------functions to update the drug list ( screen:Drug Competitive Analysis ) -----------------
function updateDrugList(chkbox,removeRest)
{
  var fr_chk = eval("document.drug_list."+ chkbox.name +"_all");

  if(chkbox.checked == true) { 
    insert(chkbox.value);
  }
  else {
    remove(chkbox.value);
    fr_chk.checked = false;
  }
}

function updateCheckBoxList(chkbox,removeRest)
{
  var fr_chk = eval("document.drug_list."+ chkbox.name +"_all");
  var fr_chkbox =  eval("document.drug_list."+chkbox.name);
  
  if(chkbox.checked == true) { 
  
    //set franchise id in a form variable
    window.document.analysisForm.i_franchise_id.value = chkbox.name;
    if(removeRest != "N")
      uncheckRest(fr_chk);
      
    //check if all the checkbox in group are set - if yes then check check_all checkbox also
    allChecked = true;
    for(var i=0;i<fr_chkbox.length;i++)
    {
      if(!fr_chkbox[i].checked) 
      {
        allChecked = false;
      }
    }

    if(allChecked) 
    {
      fr_chk.checked = true;
    }
   
  }
  else {
    fr_chk.checked = false;
  }
}

function insert(drugId){
  if(window.document.analysisForm.i_competitor_ids.value.length == 0)
    window.document.analysisForm.i_competitor_ids.value = drugId;
  else
    window.document.analysisForm.i_competitor_ids.value = window.document.analysisForm.i_competitor_ids.value + "," + drugId;
}

function remove(drugId){
  tempArr1 = new Array();
  tempArr2 = new Array();
  tempStr = window.document.analysisForm.i_competitor_ids.value;  
  tempArr1 = tempStr.split(",");
  cnt = 0;
  for(var i=0;i<tempArr1.length;i++)
  {
    if(tempArr1[i] != drugId)
    {
      tempArr2[cnt] = tempArr1[i];
      cnt++;
    }
  }
  result = tempArr2.join();
  window.document.analysisForm.i_competitor_ids.value = result;
}

function checkUncheck(chk_box) {
  var fr_chk = eval("document.drug_list."+chk_box+"_all");
  var fr_chk_all =  eval("document.drug_list."+chk_box);	
	                   
  if (fr_chk.checked) {
    if (fr_chk_all.length == "undefined" || fr_chk_all.length == null) {
      fr_chk_all.checked = true;
      updateCheckBoxList(fr_chk_all);                                
    } else {
        for(var i=0;i<fr_chk_all.length;i++) {
          fr_chk_all[i].checked = true;
          updateCheckBoxList(fr_chk_all[i],"N");
      }
    }
    uncheckRest(fr_chk);
  } else {
    if (fr_chk_all.length == "undefined" || fr_chk_all.length == null) {
      fr_chk_all.checked = false;
      updateCheckBoxList(fr_chk_all);                                
    } else {
      for(j=0;j<fr_chk_all.length;j++) {
        fr_chk_all[j].checked = false;
        updateCheckBoxList(fr_chk_all[j]);
      }
    }
  }
}

function uncheckRest(chkBox2) {  
  for(var x=0;x<window.document.drug_list.elements.length;x++) {    
    if(window.document.drug_list.elements[x].type == "checkbox") {
      var chkBoxName = window.document.drug_list.elements[x].name;
      if(chkBoxName != chkBox2.name && chkBoxName.indexOf("_all") != -1) {
        window.document.drug_list.elements[x].checked=false;
        checkUncheck((window.document.drug_list.elements[x].name).replace(/_all/g,""));
      }
    }
  }
}

function populateDrugList() {  
  for(var x=0;x<window.document.drug_list.elements.length;x++) {    
    if(window.document.drug_list.elements[x].type == "checkbox") {
      var chkBoxName = window.document.drug_list.elements[x].name;
      if(chkBoxName.indexOf("_all") == -1 && window.document.drug_list.elements[x].checked == true) {
        insert(window.document.drug_list.elements[x].value);
      }
    }
  }
}

function uncheckAll() {
	                   
  for(i=0;i<window.document.drug_list.elements.length;i++) {
    if(window.document.drug_list.elements[i].type == "checkbox")
      window.document.drug_list.elements[i].checked=false;
  }
  return;
} 

//--------------------------------------------------------------------------------------------------------

function displayAnalysis() {

  if(window.document.analysisForm.i_competitor_ids.value == ""){
    populateDrugList();
  }
  
  if(window.document.analysisForm.i_competitor_ids.value == "") {
    alert("Please select at least one drug for analysis.");
  }
  else {
    //check if all the drugs of specific franchise are selected - if it is show franchise report
    var drugChkbox = eval("window.document.drug_list." + window.document.analysisForm.i_franchise_id.value);
    var allSelected = true;
    for(var k=0;k<drugChkbox.length;k++) {
      if(!drugChkbox[k].checked) {
        allSelected = false;
      }
    }

    window.opener.name = "mainWindow";
    //if all the checkboxes are selected display franchise report
    if(allSelected) {
      window.document.franchiseAnlyForm.target = "mainWindow";
      window.document.franchiseAnlyForm.id.value = window.document.analysisForm.i_franchise_id.value;
      window.document.franchiseAnlyForm.submit();
    }
    else {
      window.document.analysisForm.target = "mainWindow";
      window.document.analysisForm.submit();
    } 
    window.close();
  }
}

function displayRange(range) {
  document.displayRangeForm.i_selected_ids.value = document.analysisForm.i_competitor_ids.value;
  document.displayRangeForm.i_list_range.value = range;
  document.displayRangeForm.submit();
}

//-------------------functions used in company selection logic in for Company analsysis report
function getMaxLength()
{
  var maxLength = 0;

  browserName=navigator.appName;
  browserVer=navigator.appVersion;
  var i=browserVer.indexOf("MSIE 5");
  //set 72 as maxLength for all IE 5 browsers
  if(i == -1)
    maxLength = 53;
  else
    maxLength = 72;
    
  return maxLength;
  
}

listLimit = 10;
maxLength = getMaxLength();
function selectElements(entity)
{
  if(entity == "Company")
    str = "Companies";
  else if(entity == "Franchise")
    str = "Franchises";

  var notUpdated = true;
  companyArr = new Array();
  var index = 0;
  for (j = 0;j<document.companySelectForm.marketeerList.options.length; j++) {
    if(document.companySelectForm.marketeerList.options[j].selected == true && document.companySelectForm.marketeerList[j].value != "#")
    {
      var itemVal = document.companySelectForm.marketeerList[j].value;
      var itemText = document.companySelectForm.marketeerList[j].text;

      if (document.holder.selectedCompanies[document.holder.selectedCompanies.options.length-1].value == "#") {
	document.holder.selectedCompanies.options[document.holder.selectedCompanies.options.length-1] = null;
      }

      var noSpace = true;
      var limitHit = false;
      if(document.holder.selectedCompanies.options.length < listLimit) {
	var optionObj = new Option(itemText,itemVal);
	document.holder.selectedCompanies.options[document.holder.selectedCompanies.options.length] = optionObj;
	document.companySelectForm.marketeerList.options[j] = null;
	j--;
	notUpdated = false;
	noSpace = false;
      }
      else {
	limitHit = true;
	break;
      }
    } // if selected = true
  } // for loop

  //add single blank line so as to maintain the width of the listbox
  if(document.holder.selectedCompanies[0].value != "#" && !notUpdated) {
    padding = "";
    pad = " ";
    reqLen = maxLength;
    while (reqLen > 0 ) {
      padding = padding + pad;
      reqLen--;
    };
    var optionObj = new Option(padding,"#");
    document.holder.selectedCompanies.options[document.holder.selectedCompanies.options.length] = optionObj;
  } 

  //update the selection button images
  updateImages();

  if(limitHit == true) { 
    alert("A maximum of " + listLimit+ " " + str + " can be selected. To delete a selected " + entity + ", double click on the name");
  }

} // end of function selectElements

function deSelectElements()
{
  //company record - { companyName , companyId } 
  companyRecordArr = new Array();
  var index = 0; 

  //get all the selected companied in array 
  for (j = 0; j<document.holder.selectedCompanies.options.length; j++) {
    if(document.holder.selectedCompanies.options[j].selected == true && document.holder.selectedCompanies.options[j].value != "#")
    {
      var itemVal = document.holder.selectedCompanies[j].value;
      var itemText = document.holder.selectedCompanies[j].text;
      document.holder.selectedCompanies[j] = null;
      j--;
      companyRecord  = new Array();
      companyRecordArr[index] = companyRecord;
      companyRecordArr[index][0] = itemText;
      companyRecordArr[index][1] = itemVal;
      index++;
    } // if selected = true
  } // for loop

  //add one blank element so as to show the width of the textlist
  if(document.holder.selectedCompanies.options.length == 0) {
    padding = "";
    pad = " ";
    reqLen = maxLength;
    while (reqLen > 0 ) {
      padding = padding + pad;
      reqLen--;
    };
    var optionObj = new Option(padding,"#");
    document.holder.selectedCompanies.options[0] = optionObj;
  } 

  for (j = 0;j<document.companySelectForm.marketeerList.options.length; j++) {
    var itemText = document.companySelectForm.marketeerList[j].text;
    var itemVal = document.companySelectForm.marketeerList[j].value;
    companyRecord  = new Array();
    companyRecordArr[index] = companyRecord;
    companyRecordArr[index][0] = itemText;
    companyRecordArr[index][1] = itemVal;
    index++;
  }

  //sort the company array
  companyRecordArr.sort();

  //remove all the company elements
  document.companySelectForm.marketeerList.options.length = 0;

  //re-populate the company array list
  for (j = 0;j<companyRecordArr.length; j++) {
    var optionObj = new Option(companyRecordArr[j][0],companyRecordArr[j][1]);
    document.companySelectForm.marketeerList.options[j] = optionObj; 
  }

  if(document.holder.selectedCompanies.options.length <= listLimit){
    index = getImageIndex("sd_add_disable.gif");
    if(index != null && index > 0) {
      document.images[index].src = "/images/sd_add_active.gif";
    }
  }
  updateImages();
} // end of function deSelectElements

function updateImages()
{
  // if there are more then one element in selection list - enable deselection button  
  if(document.holder.selectedCompanies.options.length > 0) {
    index = getImageIndex("sd_remove_disable.gif");
    if(index != null && index > 0)
      document.images[index].src = "/images/sd_remove_active.gif";

    //if the selected list is fully occupied, disable selection button 
    if(document.holder.selectedCompanies.options.length > listLimit) {
      index = getImageIndex("sd_add_active.gif");
      if(index != null && index > 0)
	document.images[index].src = "/images/sd_add_disable.gif";                       
    }
  }

  //if the selected list empty 
  list_empty = false;
  if(document.holder.selectedCompanies.options.length == 0) {
    list_empty = true;
  }
  else { 
    if(document.holder.selectedCompanies.options.length == 1) {
      if(document.holder.selectedCompanies.options[0].value == "#") {
	list_empty = true;
      }
    }
  }                        

  if(list_empty == true) {  
    index = getImageIndex("sd_remove_active.gif");
    if(index != null && index > 0)
      document.images[index].src = "/images/sd_remove_disable.gif";
  }
}

function getImageIndex(searchName)
{
  for(i=0;i<document.images.length;i++) {
    imageName = document.images[i].src;
    if(imageName.indexOf(searchName) != -1) {
      return i;
    }
  }
}

function submitSelected(entityType)
{ 
  var companyIds = ""; 
  //get all the selected company ids in single string 
  for (j = 0; j<document.holder.selectedCompanies.options.length; j++) {
    if(document.holder.selectedCompanies.options[j].value != "#") {
      if(companyIds == "")
	companyIds = document.holder.selectedCompanies.options[j].value;
      else
	companyIds = companyIds + "," + document.holder.selectedCompanies.options[j].value;
    }
  }
  
  if(companyIds == "") {
    var msg = "Please select at least one " + entityType + " for analysis.";
    msg = msg.replace(/Company/g,"company");
    msg = msg.replace(/Franchise/g,"franchise");
    alert(msg);
  }
  else {    
    document.submitForm.i_competitor_ids.value = companyIds;
    window.opener.name = "mainWindow";
    window.document.submitForm.target = "mainWindow";
    window.document.submitForm.submit();
    window.close();
  }
}

//----------------------javascript to generate charts
function displayGraph(companyId,graphType,apFile,bgColor,height,width,fromDatabase,period)
{
    
    var UseObjectTag = false;


    if(height == null)
	imgHeight = 320;
    else
	imgHeight = height;

    if(width == null)
        imgWidth = 610;
    else
        imgWidth = width;

    if(bgColor == null)
        bgColor = "FFFFFF";

    if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.indexOf("Win") != -1 && parseInt(navigator.appVersion) >= 4)
    {
      UseObjectTag = true
    }
    else
    {
      if(height == undefined)
	imgHeight = 320;
      else
	imgHeight = height;

      if(width == undefined)
        imgWidth = 610;
      else
        imgWidth = width;

      if(bgColor == undefined)
        bgColor = "FFFFFF";
    }

    if (UseObjectTag)
    {
      document.write("<OBJECT CLASSID='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'");
      document.write(" WIDTH= " + imgWidth);
      document.write(" HEIGHT= " + imgHeight);
      document.write(" align=top CODEBASE='http://active.macromedia.com/flash3/cabs/swflash.cab#version=3,0,0,0'>");
      document.write(" <PARAM NAME='MOVIE' Value=\"");
    }
    else
    {
      document.write("<EMBED")
      document.write(" WIDTH=" + imgWidth);
      document.write(" HEIGHT=" + imgHeight);
      document.write(" PLUGINSPAGE=http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash")
      document.write(" SRC=\"")
    }

    if(fromDatabase == "Y")
	  document.write("sddb_utilities.stream_flash?id=" + companyId + "&i_period=" + period + "\" ");
    else
  	  document.write("/IDDB3v2JServ/IDDB3PopServlet?i_statement=xsl_sheet.CallBack(" + companyId + ",'" + graphType + "','" + Math.random() + "')&i_outputType=FLASH&i_appearanceFile=apfiles/" + apFile + "&i_width=" + imgWidth + "&i_height=" + imgHeight + "&i_bgcolor=" + bgColor + "\" ");

    if (UseObjectTag)
      document.write("></OBJECT>")
    else
      document.write("></EMBED>")
}


function openNewWindow(url,height,width,windowName,features) {

  if(height == null || height == "undefined")
    height=460;
    
  if(width == null || width == "undefined")
    height=610;
    
  if(features == null || features == "undefined")
    features="";
  
  windowFeatures = "height=" + height + ",width=" + width + ",resizable=yes,scrollbars" + features;
  window.open(url,windowName,windowFeatures);
  
}


//manage franchise functions
function addFranchise(){
  if((document.addform.i_franchise_name.value==null)||(document.addform.i_franchise_name.value=="")){
    alert("Please enter a Franchise name.");
  }else{
    document.addform.submit();
    //window.opener.location="SDDB_BROWSE_FRANCHISES.manage_franchises?table_suffix=" + Math.random(); 
    window.opener.location.replace("SDDB_BROWSE_FRANCHISES.manage_franchises?table_suffix=" + Math.random()); 

  }
}    	

function search(){
  if((document.addform.i_drug_name.value==null)||(document.addform.i_drug_name.value=="")){
    alert("Please enter a Drug name.");
  }else{
    document.addform.submit();
  }
} 

function editFranchise(){
  if((document.addform.i_franchise_name.value==null)||(document.addform.i_franchise_name.value=="")){
    alert("Please enter a Franchise name.");
  }else{
    document.addform.submit();
    self.window.close();
    window.opener.location="SDDB_BROWSE_FRANCHISES.manage_franchises"; 
  }
}


function positionWindow(){
  
  window.screenX=window.opener.screenX+50;  
  window.screenY=window.opener.screenY+50;
  
}

