﻿// JScript File
    //Purpose: Get Chemical Data using the appropriate control (activeX or plugin) based on Browser type for search mode
    //Parameters: plugin control form element
    //Return Values: Base64 string
    
    function GetStruct() 
    {   
        if (cd_getMolWeight("mycdx", 0)>0) 
        {         
            document.aspnetForm.MolTable.value=cd_getData("mycdx", "chemical/x-cdx");
            alert(document.aspnetForm.MolTable.value);
        }       
        else
        {
            //alert("Please select any structure from control");
        }
     }
     
     //Purpose: Initialize the variable for the waiting screen.
     //Parameters: Nil
     //Return Values: Value of the variable  
    
     function  check()
     {
    
        document.aspnetForm.checksearch.value=1;
       
     }

    
    //Purpose       : This function will clear the plugin Control.
    //Parameters    : Nil
    //Return Values : Nil
   
    function clearplugin()  
    {
        cd_clear("mycdx");
    }
    
    //Purpose       : This function checks if molecular weight entered is in the correct format.
    //Parameters    : Nil
    //Return Values : Hidden variable stores the molecular weight in the correct format.
    
    function checkvalidwt()
    {  
       var result;
       var min1;
       var max1;
       result = MolWtValidation();
      
       if(result!="null")
       {
           if (result.indexOf(",")!= -1)
           {
               document.aspnetForm.HiddenmoleWt.value=result;
           }
           else
           {
               var i=0.5;
               
               min1=result-0.5;                     
               max1=parseInt(result) + parseFloat(.5);
               result=min1+"," + max1
               document.aspnetForm.HiddenmoleWt.value=result;
           }
                        
       }        
       else
       {    
           alert("please enter a positive integer. >,<,>=,<= and = allowed at start of number, - allowed within range.");
           document.aspnetForm.txtChemPropMoleWt1.focus();        
       }     
    }
   
    //Purpose       : Checks the valid Molecular Weight.
    //Parameters    : Nil
    //Return Values : variable containing the Molecular Weight.
    
    function MolWtValidation()
    {
        var arrayAlpha=new Array();
        var arrayValue=new Array();
        var temp;
        var count=0;
        var min;
        var max;
        var tempVar;         

        tempVar=document.aspnetForm.txtChemPropMoleWt1.value;   
        
        var i=tempVar;  
        var j=0; 
        var k=(i.indexOf(">=")); 
        
        if (i.indexOf(">=")!=-1)
        {
            arrayValue= i.split(">=");
            min=arrayValue[1];
            max=arrayValue[0];            
           
            if (isNaN(min)||isNaN(max))
            {               
                tempVar="null";
                return tempVar;
            }        
            else
            {      
                if(max!="")
                {
                    if (min<=max)  
                    {                     
                    }
                    else
                    {
                     max=arrayValue[1];
                     min=arrayValue[0];                   
                    } 
                }
                else
                {
                     min=arrayValue[1];
                     max=10000;
                     
                     var minTemp=min-0.1;
                     
                     min=minTemp;
                }               
                tempVar=min+","+max;  
                return tempVar;  
            }         
        }
        else if (i.indexOf("<=")!=-1)
        {
            arrayValue= i.split("<=");
            min=arrayValue[0];
            max=arrayValue[1];
            if (isNaN(min)||isNaN(max))
            { 
                tempVar="null";
                return tempVar;
            }
            else
            {         
                if (min<=max)  
                {             
                }
                else
                {
                    min=arrayValue[1];
                    max=arrayValue[0];
                } 
                var minTemp=min-0.1;
                
                min=minTemp;
                tempVar=min+","+max; 
                return tempVar;         
            }
        }
        else if (i.indexOf(">")!=-1)
        {
            arrayValue= i.split(">");
            min=arrayValue[1];
            max=arrayValue[0];
            if (isNaN(min)||isNaN(max))
            { 
                tempVar="null";
                return tempVar;
            }
            else
            {         
               if (min<=max)  
               {   
                   min=arrayValue[0];
                   max=arrayValue[1];       
               }
               else
               {           
               } 
               if(max=="")
               {
                   max=10000;                 
               }
               var minTemp=min-.5;
               min=minTemp;
               tempVar=min+","+max;
               return tempVar;                  
            }
        }
        else if (i.indexOf("<")!=-1)
        {
            arrayValue= i.split("<");
            min=arrayValue[0];
            max=arrayValue[1];
            if (isNaN(min)||isNaN(max))
            { 
                tempVar="null";
                return tempVar;               
            }
            else
            {         
                if (min<=max)  
                {             
                }
                else
                {
                    min=arrayValue[1];
                    max=arrayValue[0];               
                } 
                tempVar=min+","+max;  
                return tempVar;        
            }
        }        
        else if (i.indexOf("-")!=-1)
        {
            arrayValue= i.split("-");
            min=arrayValue[0];
            max=arrayValue[1];
            
            if (isNaN(min)||isNaN(max))
            {              
                tempVar="null";  
                return tempVar;
            }
            else
            {         
               if (min<max)  
               {    
                      
               }
               else
               {
                   max=arrayValue[1];
                   min=arrayValue[0];                
               }   
               var minTemp=min-0.1;
               min=minTemp;
                
               tempVar=min+","+max; 
               return tempVar;         
            }           
        }
        else
        {
            if(isNaN(i))
            {
                tempVar="null";
            }
            return tempVar;

        }   
    } 
    
    function check_uncheck(Val)
{
  var ValChecked = Val.checked;
  var ValId = Val.id;
  alert(ValId);
  var frm = document.forms[0];
  // Loop through all elements
 // alert(frm.elements["sctext"].value);
  for (i = 0; i < frm.length; i++)
  {
 
    // Look for Header Template's Checkbox
    //As we have not other control other than checkbox we just check following statement
    if (this != null)
    {
      if (ValId.indexOf('CheckAll') !=  - 1)
      {
        // Check if main checkbox is checked,
        // then select or deselect datagrid checkboxes
        
        if (ValChecked)
       
          frm.elements[i].checked = true;
          
        else
          frm.elements[i].checked = false;
      }
      else if (ValId.indexOf('deleteRec') !=  - 1)
      {
        // Check if any of the checkboxes are not checked, and then uncheck top select all checkbox
        if (frm.elements[i].checked == false)
          frm.elements[1].checked = false;
      }
    } // if
  } // for
  
  
  
  
} // function
function checkon(Val)
{
 var ValChecked = Val.checked;
  var ValId = Val.id;
  alert(ValId);
  var frm = document.forms[0];
   var strtable=document.getElementsByName("martable").item(0);
	  
  // Loop through all elements
 // alert(frm.elements["sctext"].value);
 var strsccode="";
  for (i = 0; i < frm.length; i++)
  {
 
    // Look for Header Template's Checkbox
    //As we have not other control other than checkbox we just check following statement
    if (this != null)
    {
      if (ValId.indexOf('CheckAll') !=  - 1)
      {
           
        // Check if main checkbox is checked,
        // then select or deselect datagrid checkboxes
        
        if (ValChecked)
        {
         strtable.style.visibility="visible";
         frm.elements[i].checked = true;
         
        }
        else
        {
         strtable.style.visibility="hidden";
       
          frm.elements[i].checked = false;
          
        }
               
      }
      if (frm.elements[i].name.indexOf("sctext") !=  - 1)
        {
            strsccode=strsccode +"~" + frm.elements[i].value;
           // alert(frm.elements[i].value);
        }
     
    } // if
  } // for
  document.aspnetForm.tstrsccode.value=strsccode;
  
}
function checkvalue()
{
 var frm = document.forms[0];
  // loop through all elements
  for (i = 0; i < frm.length; i++)
  {
    // Look for our checkboxes only
    if (frm.elements[i].name.indexOf("deleteRec") !=  - 1)
    {
      if (frm.elements[i].checked)
      {
        alert(frm.elements["ctl00_ContentPlaceHolder1_DataList2_ctl"+i+"_TT"].value);
      }
    }
  }
}

/*
Tabs Menu (mouseover)
*/

var submenu=new Array()

//Set submenu contents. Expand as needed. For each content, make sure everything exists on ONE LINE. Otherwise, there will be JS errors.
 
submenu[0]='<font size="2" face="Verdana" ><b><a href="#"></a>  <a href="#"> </a>  </b></font>'
submenu[1]='<font size="2" face="Verdana"><b><a href="http://www.cambridgesoft.com/register/" target="_blank">Register with us</a> | <a href="http://www.cambridgesoft.com/RequestInfo/" target="_blank">Register Literture & Demo DVD</a> | <a href="http://www.cambridgesoft.com/membership/" target="_blank">Manage your Account </a> | <a href="http://www.cambridgesoft.com/membership/services/software/" target="_blank">Register your software</a></b></font>'
submenu[2]='<font size="2" face="Verdana"><b><a href="http://chemfinder.cambridgesoft.com" target="_blank" >Chemfinder</a> | <a href="http://www.cambridgesoft.com/databases/details/?db=7" target="_blank">Chem Index</a> | <a href="http://www.cambridgesoft.com/databases/details/?db=1" target="_blank">The Merck Index</a> | <a href="http://www.cambridgesoft.com/databases/details/?db=8" target="_blank"sss>NCI</a> | <a href="http://www.cambridgesoft.com/databases/details/?db=2" target="_blank">Ashgate drugs</a> | <a href="http://nametostruct.cambridgesoft.com" target="_blank">Name=Struct</a></b></font>'
submenu[3]='<font size="2" face="Verdana" ><b>  </b></font>'
submenu[4]='<font size="2" face="Verdana" ><b><a href="http://www.orgsyn.org" target="_blank">Organic Syntheses(Free Search)</a> | <a href="http://chemfinder.cambridgesoft.com/reactions/chemreact.asp" target="_blank">Chem React</a> | <a href="http://chemfinder.cambridgesoft.com/reactions/chemsynth.asp" target="_blank"> ChemSynth</a> </b></font>'
submenu[5]='<font size="2" face="Verdana"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://chemfinder.cambridgesoft.com/safety/chemmsdx.asp" target="_blank">ChemMSDX CD-ROM</a> </b></font>'
submenu[6]='<font size="2" face="Verdana"><b><a href="http://chemfinder.cambridgesoft.com/about/" target="_blank">About ChemFinder.com</a> | <a href="http://chemfinder.cambridgesoft.com/about/awards.asp" target="_blank">Awards</a> | <a href="http://chemfinder.cambridgesoft.com/about/chemfinder/faqs.asp" target="_blank">ChemFinder Free Searching FAQ</a> | <a href="http://chemfinder.cambridgesoft.com/about/chemfinder/indexedsites.asp" target="_blank">Indexed Sites</a> | <a href="http://chemfinder.cambridgesoft.com/about/chemfinder/glossary.asp" target="_blank">Glossary</a></b></font>'
submenu[7]='<font size="2" face="Verdana"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://chemfinder.cambridgesoft.com/contact/#sales" target="_blank">Sales</a> | <a href="http://chemfinder.cambridgesoft.com/contact/#support">Support</a> | <a href="http://chemfinder.cambridgesoft.com/contact/#info" target="_blank">General Information</a> </b></font>'
//Set delay before submenu disappears after mouse moves out of it (in milliseconds)
var delay_hide=100

/////No need to edit beyond here
function showit(which){
clear_delayhide()
thecontent=(which==-1)? "" : submenu[which]
if (document.getElementById||document.all)
menuobj.innerHTML=thecontent
else if (document.layers){
menuobj.document.write(thecontent)
menuobj.document.close()
}
}

function resetit(e){
if (document.all&&!menuobj.contains(e.toElement))
delayhide=setTimeout("showit(-1)",delay_hide)
else if (document.getElementById&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhide=setTimeout("showit(-1)",delay_hide)
}

function clear_delayhide(){
if (window.delayhide)
clearTimeout(delayhide)
}


function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}
	
var horizontal_offset="9px" //horizontal offset of hint box from anchor link

/////No further editting needed

var vertical_offset="0" //horizontal offset of hint box from anchor link. No need to change.
var ie=document.all
var ns6=document.getElementById&&!document.all

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
if (whichedge=="rightedge"){
var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth+parseInt(horizontal_offset)
}
else{
var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight
}
return edgeoffset
}

function showhint(menucontents, obj, e, tipwidth){
if ((ie||ns6) && document.getElementById("hintbox")){
dropmenuobj=document.getElementById("hintbox")
dropmenuobj.innerHTML=menucontents
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (tipwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=tipwidth
}
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+obj.offsetWidth+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+"px"
dropmenuobj.style.visibility="visible"
obj.onmouseout=hidetip
}
}

function hidetip(e){
dropmenuobj.style.visibility="hidden"
dropmenuobj.style.left="-500px"
}

function createhintbox(){
var divblock=document.createElement("div")
divblock.setAttribute("id", "hintbox")
document.body.appendChild(divblock)
}

if (window.addEventListener)
window.addEventListener("load", createhintbox, false)
else if (window.attachEvent)
window.attachEvent("onload", createhintbox)
else if (document.getElementById)
window.onload=createhintbox

