var sel_field_name;
var sel_field_name_master=new Array();
var sel_field_name_nested=new Array();
var url_list=new Array();
var url_action=new Array();
var nested_action;
var new_search = "";
var action_nm="";
var issunning=false;
var search_context="";
var _CONS_ABSTRACT=1;
var _CONS_ENTITY=2;
var _CONS_FACTS=3;


function getSigletonArray(item)
{
	var array = new Array();
	array.push(item);
	return array;
}

function showExpd(no, ref)
{
	var pidD = ref.parentNode.parentNode.parentNode;
	var childs = pidD.childNodes;

	var i = 0;
	var lis = ref.parentNode.getElementsByTagName("LI");
	for(i = 0; i < lis.length; i++)
	{
		if(lis[i] == ref)
			lis[i].className = 'selected';
		else
			lis[i].className = '';
	}
	var divs = new Array();
	for(i = 0; i < childs.length; i++)
	{
		if(childs[i].nodeName == 'DIV')
			divs.push(childs[i]);
	}
	no++;
	for(i = 1; i < divs.length; i++)
	{
		if(i == (no))
			divs[i].style.display='block';
		else
			divs[i].style.display='none';
	}
}
function showHideSentence(ref)
{
	var action = "";
	if(ref.src.indexOf("expand") != -1)	// then collapse
	{
		ref.src = "./images/close.gif";
		ref.title="Collapse all"
		action="expand";
	}
	else
	{
		ref.src = "./images/expand.gif"
		ref.title="Expand abstract"
		action="collapse";
	}
	var ps = document.forms[0].pS;
	ps = ps.length ? ps : getSigletonArray(ps);
	var i = 0;
	for(i = 0; i < ps.length; i++)
	{
		/*
		var ul = ps[i].parentNode.getElementsByTagName("UL")[0];
		if(ul)
		{
			var li = do
		}
		alert(ul.nodeName + "\t" + ul.className);
		*/

		var childs  = ps[i].parentNode.childNodes;
		var divs = new Array();
		var j = 0;
		for(j = 0; j < childs.length; j++)
		{
			if(childs[j].nodeName == 'DIV')
				divs.push(childs[j]);
		}
		for(j = 1; j < divs.length; j++)
		{
			//if(j == _CONS_ABSTRACT && divs[j].style.display=='block')	//abstract is active
			if(j == _CONS_ABSTRACT)	//for abstract only
			{
				var class_1 = divs[j].className;
				var arr = class_1.split(' ');
				if(action == "expand")
					divs[j].className = arr[0] + " M";
				else
					divs[j].className = arr[0];
				break;
			}
		}
	}
}
function sub(par1, ref)
{
	var ul = ref.parentNode;
		var liList = ul.getElementsByTagName("LI");
		var i = 0;
		for(i = 0; i < liList.length; i++)
		{
			if(liList[i] == ref)
			{
				liList[i].className="selected";
			}
			else
				liList[i].className="";
		}
}

function showMore(ref)
{
	var abDiv = ref.parentNode.parentNode;
	var class_1 = abDiv.className;
	var arr = class_1.split(' ');
	abDiv.className = arr[0] + " M";
}
function showLess(ref)
{
	var abDiv = ref.parentNode.parentNode;
	var class_1 = abDiv.className;
	var arr = class_1.split(' ');
	abDiv.className = arr[0];
}
/*
function openLink(type, param)
{

	if(type == "1")
		x=window.open('http://www.uniprot.org/uniprot/' + escape(param.trim()), param );
	else if(type == "2")
		x=window.open('http://www.nlm.nih.gov/cgi/mesh/2008/MB_cgi?mode=&term=' + escape(param), param);
	else if(type == "3")
		x=window.open('http://www.drugbank.ca/cgi-bin/getCard.cgi?CARD=' + escape(param), param);
	else if(type =="4")
		x=window.open('http://amigo.geneontology.org/cgi-bin/amigo/go.cgi?action=query&view=query&query=' + escape(param), param);
	else
	;
		//alert("Not Yet Linked");;
}
*/

function openLink(typeb,id){
	if(typeb == 0)
	{
		var url="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=" + id + "&dopt=Abstract";
		window.open(url,'links_window','location, toolbar, resizable,scrollbars=1, width=1000, height=800", left=100px');
	}
	if(typeb >= 1 && typeb <= 4)
	{
		var type = typeb == 1? "SWISSPROT" : typeb == 2 ? "MESH" : typeb == 3 ? "DRUG" :typeb == 4 ? "GO" : "";

		var url="/premium/referenceLinks.do?ID=" + id + "&TYPE=" + type;
		window.open(url,'links_window','location, toolbar, resizable,scrollbars=1, width=1000, height=800", left=100px');
   	}

}

function setFieldname(field_nm) {

   sel_field_name=field_nm
   if(issunning){
   		ArrayQueuePush(sel_field_name_master,sel_field_name);
   }
   else{
   		ArrayQueuePush(sel_field_name_nested,sel_field_name);
   }
}

function encodeSpecial(des_str){
     encodedHtml = escape(des_str);
     encodedHtml = encodedHtml.replace(/\//g,"%2F");
     encodedHtml = encodedHtml.replace(/\?/g,"%3F");
     encodedHtml = encodedHtml.replace(/=/g,"%3D");
     encodedHtml = encodedHtml.replace(/&/g,"%26");
     encodedHtml = encodedHtml.replace(/@/g,"%40");
     encodedHtml = encodedHtml.replace(/\+/g,"%2B");
     des_str= encodedHtml;
     return des_str;
   }
function doNext(){

 	if(document.getElementById(sel_field_name+'_progress') != null){

			document.getElementById(sel_field_name+'_progress').innerHTML="loading..........";

   	}
}

function retrieveURL(url,action) {


	if(issunning){


		ArrayQueuePush(url_list,url+"<!!!>"+action);


	}

	if(!issunning){




		issunning=true;
	    if (window.XMLHttpRequest) { // Non-IE browsers
	      req = new XMLHttpRequest();
	      req.onreadystatechange = processStateChange;
	      try {
	       // req.open("GET", url, true);
	        req.open("POST",action );
	        req.setRequestHeader('Content-Type',
			     'application/x-www-form-urlencoded');
	      } catch (e) {
	        alert(e);
	      }
	      req.send(url);
	    } else if (window.ActiveXObject) { // IE
	      req = new ActiveXObject("Microsoft.XMLHTTP");

	      if (req) {

	        req.onreadystatechange = processStateChange;
	       // req.open("GET", url, true);
			req.open("POST",action );
	        req.setRequestHeader('Content-Type',
			     'application/x-www-form-urlencoded');
	        req.send(url);
	      }
	    }
    }else{
	    alert("Please wait.Process is running...");
    }
  }

  function processStateChange() {
	if (req.readyState == 4) { // Complete
      if (req.status == 200) { // OK response
					issunning=false;

					if(sel_field_name_nested.length > 0){
						sel_field_name=ArrayQueuePop(sel_field_name_nested);
					}
					else{
						sel_field_name=ArrayQueuePop(sel_field_name_master);
					}

                  if(document.getElementById(sel_field_name+'_res') != null){

	                  document.getElementById(sel_field_name+'_res').innerHTML = req.responseText;
	                 // alert( document.getElementById(sel_field_name+'_res').innerHTML);


	      		   }else{
						if(document.getElementById(sel_field_name) != null){
	      		  	 	document.getElementById(sel_field_name).innerHTML = req.responseText;
	      		  	 }
	      		  	// alert(document.getElementById(sel_field_name).innerHTML);
	      		   }


      		 	   if(req.responseText.indexOf("Error::") ==-1){
					//	dataviewChange(sel_field_name);

	         		}else{
	         		  alert("Error in the operation,plz check message")
	         		  // resetData(sel_field_name);

	         		}

	         		if(document.getElementById('InteractionReportResults_progress') != null) {
	         			setDivVisible('InteractionReportResults_progress','invisible');
	         		}


	         		if(document.getElementById('limitValue' + '_div') != null) {
	         			document.getElementById('limitValue' + '_div').className = 'currentpage';
	         		}
					if(document.getElementById('limitChange_progress') != null) {
						setDivVisible('limitChange_progress','invisible');
					}

	      		   if(document.getElementById(sel_field_name+'_button') != null){
	      			   setDivVisible(sel_field_name+'_button','visible');
	      		   }
	      		   if(document.getElementById(sel_field_name+'_searchbtn') != null){
	      		   	 	setSearchBtn(sel_field_name+'_searchbtn',"inline");
	      		   }

	      		   if(document.getElementById(sel_field_name+'_progress') != null){
	      			   setDivVisible(sel_field_name+'_progress','invisible');
	      		   }
	      		    if(document.getElementById(sel_field_name+'_info') != null){
	      			   setDivVisible(sel_field_name+'_info','visible');
	      		   }
	              if(document.getElementById(sel_field_name+'rescnt') != null){
	      			   setDivVisible(sel_field_name+'rescnt','visible');
	      		   }
				 if(document.getElementById(sel_field_name+'rescls') != null){
	      			   setDivVisible(sel_field_name+'rescls','visible');
	      		   }
	      		    if(document.getElementById(sel_field_name+'resexp') != null){
	      			   setDivVisible(sel_field_name+'resexp','invisible');
	      		   }

	      		    if(document.getElementById(sel_field_name+'_search') != null){
	      			   setDivVisible(sel_field_name+'_search','invisible');
	      		   }
	      		   resetData(sel_field_name);
	      		  // alert(url_list.length)
	      		   if(url_list.length >0){

					var url1=ndelimetersplit("<!!!>",ArrayQueuePop(url_list));
					retrieveURL(url1[0],url1[1])


		          }

      }else {

     				 if(sel_field_name_nested.length > 0){
						sel_field_name=ArrayQueuePop(sel_field_name_nested);
					}
					else{
						sel_field_name=ArrayQueuePop(sel_field_name_master);
					}
					 if(document.getElementById(sel_field_name+'_res') != null){
						document.getElementById(sel_field_name+'_res').innerHTML = "Problem in connection:"+req.responseText;
	                  //document.getElementById(sel_field_name+'_res').innerHTML = req.responseText;
	                 // alert( document.getElementById(sel_field_name+'_res').innerHTML);


	      		   }else{

					 //alert(sel_field_name);
	      		  	 //document.getElementById(sel_field_name).innerHTML = "Problem in connection:"+"it's working";
	      		  	//
	      		   }

       			   if(document.getElementById(sel_field_name+'_button') != null){
          			   setDivVisible(sel_field_name+'_button','visible');
          		   }
          		   if(document.getElementById(sel_field_name+'_searchbtn') != null){
	      		   	 	setSearchBtn(sel_field_name+'_searchbtn',"inline");
	      		   }
          		   if(document.getElementById(sel_field_name+'_progress') != null){
          			   setDivVisible(sel_field_name+'_progress','invisible');
          		   }
                  if(document.getElementById(sel_field_name+'rescnt') != null){
          			   setDivVisible(sel_field_name+'rescnt','invisible');
          		  }
				  if(document.getElementById(sel_field_name+'rescls') != null){
          			   setDivVisible(sel_field_name+'rescls','invisible');
          		  }
          		  if(document.getElementById(sel_field_name+'resexp') != null){
          			   setDivVisible(sel_field_name+'resexp','invisible');
          		  }
				/*if(req.statusText != 'Service Unavailable' ){
      	 	  		alert("Problem: 11" + req.statusText + " "+req.status);
      	 	  	}*/
      	 	  	issunning=false;
        	 	if(url_list.length >0){

					var url1=ndelimetersplit("!!!",ArrayQueuePop(url_list));
					retrieveURL(url1[0],url1[1])


		          }

      }

         }
      //alert(req.readyState);
  }

function ArrayQueuePush(arrayName,arrayElement){
             arrayName.push(arrayElement);
  }

function ArrayQueuePop(arrayName){
           return arrayName.shift();
  }

function retrieveURL2(url,action) {
    if (window.XMLHttpRequest) { // Non-IE browsers
      req = new XMLHttpRequest();
      req.onreadystatechange = processStateChange;
      try {
       // req.open("GET", url, true);
        req.open("POST",action );
        req.setRequestHeader('Content-Type',
		     'application/x-www-form-urlencoded');
      } catch (e) {
       // alert(e);
      }
      req.send(url);
    } else if (window.ActiveXObject) { // IE
      req = new ActiveXObject("Microsoft.XMLHTTP");

      if (req) {

        req.onreadystatechange = processStateChange2;
       // req.open("GET", url, true);
		req.open("POST",action );
        req.setRequestHeader('Content-Type',
		     'application/x-www-form-urlencoded');
        req.send(url);
      }
    }
  }

function processStateChange2() {

 if (req.readyState == 4) { // Complete
      if (req.status == 200) { // OK response

                  if(document.getElementById(sel_field_name+'_res') != null){
	                  document.getElementById(sel_field_name+'_res').innerHTML = req.responseText;



	      		   }else{

	      		  	 document.getElementById(sel_field_name).innerHTML = req.responseText;

	      		   }


      		 	   if(req.responseText.indexOf("Error::") ==-1){
					//	dataviewChange(sel_field_name);

	         		}else{
	         		 // alert("Error in the operation,plz check message")
	         		  // resetData(sel_field_name);

	         		}

	         		if(document.getElementById('InteractionReportResults_progress') != null) {
	         			setDivVisible('InteractionReportResults_progress','invisible');
	         		}


	         		if(document.getElementById('limitValue' + '_div') != null) {
	         			document.getElementById('limitValue' + '_div').className = 'currentpage';
	         		}
					if(document.getElementById('limitChange_progress') != null) {
						setDivVisible('limitChange_progress','invisible');
					}

	      		   if(document.getElementById(sel_field_name+'_button') != null){
	      			   setDivVisible(sel_field_name+'_button','visible');
	      		   }
	      		   if(document.getElementById(sel_field_name+'_progress') != null){
	      			   setDivVisible(sel_field_name+'_progress','invisible');
	      		   }
	              if(document.getElementById(sel_field_name+'rescnt') != null){
	      			   setDivVisible(sel_field_name+'rescnt','visible');
	      		   }
				 if(document.getElementById(sel_field_name+'rescls') != null){
	      			   setDivVisible(sel_field_name+'rescls','visible');
	      		   }
	      		    if(document.getElementById(sel_field_name+'resexp') != null){
	      			   setDivVisible(sel_field_name+'resexp','invisible');
	      		   }

	      		    if(document.getElementById(sel_field_name+'_search') != null){
	      			   setDivVisible(sel_field_name+'_search','invisible');
	      		   }
	      		   resetData(sel_field_name);

      }else {


       			   if(document.getElementById(sel_field_name+'_button') != null){
          			   setDivVisible(sel_field_name+'_button','visible');
          		   }
          		   if(document.getElementById(sel_field_name+'_progress') != null){
          			   setDivVisible(sel_field_name+'_progress','invisible');
          		   }
                  if(document.getElementById(sel_field_name+'rescnt') != null){
          			   setDivVisible(sel_field_name+'rescnt','invisible');
          		  }
				  if(document.getElementById(sel_field_name+'rescls') != null){
          			   setDivVisible(sel_field_name+'rescls','invisible');
          		  }
          		  if(document.getElementById(sel_field_name+'resexp') != null){
          			   setDivVisible(sel_field_name+'resexp','invisible');
          		  }

	      }
         }
      //alert(req.readyState);
  }

  function resetData(selectDiv){

  	if(sel_field_name == "assoList"){
  		if(search_context=="display_graph"){
			search_context="";

	  		load_1();
  		 }else if(search_context=="display_cloud"){
			    document.getElementById("assoList").style.display='none';
				document.getElementById("cloud_area").innerHTML="<span class=\"close\" onclick=\"closeGraph()\">x</span>"+document.getElementById("tag_cloud_div").innerHTML

  		 }

	}


  }
  function logout(){
  	var form = window.document.xtractor;
  	form.action="logout.do";
  	form.submit();
  }


  var key="";
  function setData(id , term){

  	key = term ;

  }
  function setDivVisible(div_id,visibility){



     whichpost = document.getElementById(div_id);
     if(whichpost != null){
     	whichpost.className=visibility;
     }
  }
  function populateInstaAdd(div)
  {
  		var Question1 = Math.round(Math.random() * 4);
  		var rand1 = Math.round(Math.random() * 100);
  		var url = "search_field=getRandomIdForInsta&random=" + Question1 + ":" + rand1;


  		setFieldname(div);
  		retrieveURL2(url,'entitySearch.do');
  		var call = "populateInstaAdd('" + div + "')";
  		timer=setTimeout(call,10000);

  }
  function newUser(){
  	var form = window.document.xtractor;
  	form.action="new_user.do";
  	form.submit();
  }

  function isNumberKey(evt)
  {
          if(evt != null){
           var charCode = (evt.which) ? evt.which : event.keyCode
           if (charCode > 31 && (charCode < 48 || charCode > 57))
              return false;
  		}
           return true;
}
function trimStr(str){
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

var emailfilter=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

function checkmail(e){

	var returnval=emailfilter.test(e)
	return returnval;
}
function ndelimetersplit(del, str)
    {
    var ind=0;
    var lastInd=0;
    var count=0;
    var word;
    var del_len=del.length;
    var array = new Object();

    array.length = 0;
    while( ind< str.length )
        {
        ind = str.indexOf( del, lastInd );
        if (ind == -1 )
            ind = str.length;
        array[count++] = str.substring(lastInd,ind);
        array.length++;
        lastInd = ind+del_len;
        }
    return array;
 }

 function toggle_tag_div(exp, div,child_div)
 {

 	if(exp == "1"){
 		setDivVisible(div+exp,"invisible");
 		setDivVisible(div+"2","visible");
 		setDivVisible(child_div,"visible");
 	}
 	else{
 		setDivVisible(div+exp,"invisible");
 		setDivVisible(div+"1","visible");
 		setDivVisible(child_div,"invisible");
 	}
}
function get_radio_value(radio_butn)
{
    var rad_val = "";
   for (var i=0; i < radio_butn.length; i++)
   {
   if (radio_butn[i].checked)
      {
     	rad_val = radio_butn[i].value;
      }
   }
   return rad_val;
}
function getValueFromSelect(name,select_type){

  var select_val="";
  if(select_type =="single"){
	  for(var j=0;j<name.options.length;j++){
		  if(name.options[j].selected){
			   select_val=name.options[j].value;
		  }
	  }
	}else{
	  for(var j=0;j<name.options.length;j++){
		if(name.options[j].selected){
		  if(select_val == ""){
			   select_val=name.options[j].value;
		  }else{
			  select_val=select_val+"<br>"+name.options[j].value;
	      }
		}
	 }
	}
  return select_val;
}
function getAllValueFromSelect(name,select_type){

  var select_val="";
  if(select_type =="single"){
	  for(var j=0;j<name.options.length;j++){
		  if(name.options[j].selected){
			   select_val=name.options[j].value;
		  }
	  }
	}else{
	  for(var j=0;j<name.options.length;j++){

		  if(select_val == ""){
			   select_val=name.options[j].value;
		  }else{
			  select_val=select_val+"<br>"+name.options[j].value;
	      }

	 }
	}
  return select_val;
}
function getAssociation(){


	var form = window.document.xtractor;
	form.action="explore.do?tag=watch&subtab="+subtab;
	form.submit();

}


 function getAssociationAbstracts(aid,tb,sym){
	if(checkLoginStatus()){

		setFieldname('abstract');
		setDivVisible('abstract_progress',"visible");
		var url="search_field=getAssociationAbstracts&asso_id=" + aid + "&asso_sym=" + escape(sym) + "&tb="+escape(tb);
		//alert(url);
		retrieveURL(url,"entitySearch.do");
	}

 }
function getAssociationAbstractsE(aid,tb,sym,t){
	//if(checkLoginStatus()){

		setFieldname('abstract');
		setDivVisible('abstract_progress',"visible");
		var url="search_field=getAssociationAbstracts&asso_id=" + aid + "&asso_sym=" + escape(sym) + "&tb="+escape(tb)+"&e=1&t="+t;

		retrieveURL(url,"entitySearch.do");
	//}

 }
 function getPmidForYear(ref)
 {
 	if(checkLoginStatus()){
		var yearCode = ref.value;
		setFieldname('resSent');

		document.getElementById('resSent_res').innerHTML="<DIV>Loading....</DIV>";

		setDivVisible('resSent_progress',"visible");
		var url="search_field=getPmidForYear&yearCode=" + yearCode;
		retrieveURL(url,"entitySearch.do");
	}
 }
function getPage(pageNum)
{
	if(checkLoginStatus()){
			setFieldname('pmids');
			setDivVisible('pmids_progress',"visible");
			var url="search_field=getPage&pageNum=" + pageNum;
			retrieveURL(url,"entitySearch.do");
	}
}
function getPageSize(pmidsPerPage, ref)
{
	if(checkLoginStatus()){
		var lis = ref.parentNode.getElementsByTagName("LI");
		var i = 0;
		for(i = 0; i < lis.length; i++)
		{
			if(ref == lis[i])
			{
				lis[i].className="selected";
				lis[i].removeAttribute("onclick");
			}
			else
			{
				lis[i].className="";
				var ps = lis[i].innerHTML;
				var js = "getPageSize('" + ps + "',this)";
				lis[i].setAttribute("onclick",js);
			}
		}

		setFieldname('pmids');
		document.getElementById('pmids_res').innerHTML="<DIV>Loading....</DIV>";
		setDivVisible('pmids_progress',"visible");

		var url="search_field=getPageSize&pmidsPerPage=" + pmidsPerPage;
		retrieveURL(url,"entitySearch.do");
	}
}
 function instaSearch(){

	var fom=window.document.xtractor;
	fom.search_field.value="EntitySearchResult";
	//alert(fom.entity_id.value);

	var entity_id = document.getElementById('entity_id').value;
	if(!entity_id || entity_id == 'Enter the Search Term' || entity_id.length == 0)
	{
		alert('Please Enter the search term!');
		return;
	}


	fom.action="entitySearch.do?search_field=EntitySearchResult&entity_type="+fom.entity_type.value+"&entity_id="+document.getElementById('entity_id_hidden').value+"&entity_name="+escape(entity_id);
//	alert(fom.action)

	fom.submit();

}
function keydown()
{
	if (document.layers)
		document.captureEvents(Event.KEYDOWN);
   document.onkeydown =
   function (evt)
   {
         var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode;
	if (keyCode == 13)   //13 = the code for pressing ENTER
	{
          if(document.getElementById('as_ul'))
          {
           	return;
          }else
          {
			instaSearch();
           }
    }
   }
 }
function instaSearchTop(type,entity_id,entity){

	var fom=window.document.xtractor;

	fom.action="entitySearch.do?search_field=EntitySearchResult&entity_type="+type+"&entity_id="+entity_id+"&entity_name="+entity+"&entity_id_hidden="+entity_id;

	fom.submit();

}
function getAssociationListWindow(windowNo){
	if(checkLoginStatus())
	{
		var fom=window.document.xtractor;
		var type = fom.associationListType.value;
		setFieldname('assoList_data');

		var url="search_field=getAssociationListWindow&type="+type+"&windowNo="+windowNo;
		retrieveURL(url,"entitySearch.do");
	}
}

function loginUser(){
	//document.getElementById("error_res").innerHTML = '';
	var gotoPage = "";
		var page = document.getElementById("__pageName");
		if(page)
			gotoPage = page.value;

	var form = window.document.xtractor;
	/*if(document.getElementById('page_loc') != null){
	  if(document.getElementById('page_loc').value != ''){
	  	gotoPage=document.getElementById('page_loc').value;
	  }

	}
	*/
	if(form.email.value == ""){
		alert("Please enter your Email");
		form.email.focus();
	}
	else if(form.password.value == "") {
		alert("Please enter your Password");
		form.password.focus();
	}
	else{
		if(form.remembermechk.checked == true)
		{
			form.rememberme.value = "1";
		}
		form.actionType.value="premiumLogin";

		form.action="loginFreeUser.do?actionType=premiumLogin&tag=home&gotoPage=" + gotoPage;

		form.submit();
	}
}

function registerUser(){
	var form = window.document.xtractor;

	if(trimStr(form.email_reg.value) == "")
	{
		alert("Email Id is required");
		form.email_reg.focus();
	}
	else if(trimStr(form.company.value) == "")
	{
		alert("Organization is required");
		form.company.focus();
	}
	else if(form.terms.checked == false){
		alert("Please agree to the terms & conditions");
		form.terms.focus();
	}
	else {
		if(checkmail(form.email_reg.value))
 		{
 			if(!checkMailDomain(form.email_reg.value)){
	 			form.actionType.value="newUser";
	 			form.email.value=form.email_reg.value;
	 			if(form.promo_mailsChk.checked)
	 				form.promo_mails.value='Y'
	 			else
	 				form.promo_mails.value='N'
				form.action="registerUsers.do?actionType=newUser&page=landing";
				alert("You will receive the activation mail shortly!");
				form.submit();
 			}
 			else{
				setFieldname("emailId");
				document.getElementById(sel_field_name+'_res').innerHTML = '';

				var url = "actionType=logPublicDomain&emailId="+encodeSpecial(form.email_reg.value);
    			retrieveURL(url,"registerUsers.do");
				alert("Public mail domains(gmail,yahoo,hotmail etc.) are not allowed");
				form.email.focus();
			}
 		}
		else
		{
			alert("Please enter a valid Email Id.");
			form.email.focus();
		}
	}
 }

var emailfilter=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

function checkmail(e){

	var returnval=emailfilter.test(e)
	return returnval;
}
function checkMailDomain(email){
	//
	return false;

	var emailId = email.toLowerCase();
	var blockDomains = new Array("gmail","yahoo","rediff","aol","msn","hotmail","indiatimes","zapak","ymail","rocketmail");
	for(var i = 0; i < blockDomains.length;i++){
		if(emailId.indexOf(blockDomains[i]) != -1){
			return true;
		}
	}

	//if((emailId.search("gmail") != -1) || (emailId.search("yahoo") != -1) || (emailId.search("rediff") != -1) || (emailId.search("aol") != -1) || (emailId.search("msn") != -1) || (emailId.search("hotmail") != -1) || (emailId.search("indiatimes") != -1)){
		//return true;
//	}
	return false;
}

function la(a_type, ref){
	if(checkLoginStatus()){
		setFieldname("assoList");
		load_chage();
		search_context="display_graph";
		setDivVisible('assoList_progress',"visible");

		var ul = ref.parentNode;
		var liList = ul.getElementsByTagName("LI");
		var i = 0;
		for(i = 0; i < liList.length; i++)
		{
			if(liList[i] == ref)
			{
				liList[i].className="selected";
			}
			else
				liList[i].className="";
		}

		url="search_field=getAssociationList&type="+a_type+"&windowNo=0";
		retrieveURL(url,"entitySearch.do");
	}


}
function lbaR(num){
	document.getElementById('leftFilter').getElementsByTagName('LI')[num].onclick();
}
function lba(a_type,subcat,graph_type,ref){

	if(checkLoginStatus())
	{
		setFieldname("assoList");
		if(subcat){
			setDivVisible('navcontainer',"visible");
		}else{
			setDivVisible('navcontainer',"invisible");
		}
		document.getElementById("description").style.display="none";

		if(graph_type == "c"){

				document.getElementById("graph_area").style.display="none";
				document.getElementById("assoList").style.display="none";

                document.getElementById("cloud_area").style.display="block";
				search_context="display_cloud";

		}else{


				document.getElementById("assoList").style.display="none";
				document.getElementById("graph_area").style.display="block";
				document.getElementById("my_chart").style.display="block";

				search_context="display_graph";

				document.getElementById("cloud_area").style.display="none";
				if(a_type >4){
					document.getElementById("entityGraphNav").style.display="none";
				}else{
					document.getElementById("entityGraphNav").style.display="block";
				}
		}

		setDivVisible('assoList_progress',"visible");
		// setting navigation highlight
		var ul = ref.parentNode;
		var liList = ul.getElementsByTagName("LI");
		var i = 0;
		for(i = 0; i < liList.length; i++)
		{
			if(liList[i] == ref)
			{
				liList[i].className="selected";
			}
			else
				liList[i].className="";
		}

		// if type == 1 then setting highlighting of Protein tab
		liList = document.getElementById('entityGraphNav').getElementsByTagName("LI");
		for(i = 1; i < liList.length; i++)
		{
			liList[i].className="";
		}
		liList[0].className="selected";
		// done

		url="search_field=getAssociationList&type="+a_type+"&windowNo=0&graph_type="+graph_type;
		retrieveURL(url,"entitySearch.do");
	}


}

function checkLoginStatus(){
	if(!document.getElementById('consistancy'))
	{
		alert("Please wait, page is loading..");
		return false;
	}
	if(document.getElementById('login_status').value != 'null'){

		if(document.getElementById('login_status').value == '0'){
			return true;
		}else{
			alert("Please login to access this feature");
			expandLogin();

			return false;
		}
	}else{
		alert("Please refresh the page to continue")
		return false;

	}



}
function checkLoginStatusStatic(){

	if(document.getElementById('login_status').value != 'null'){

		if(document.getElementById('login_status').value == '0'){
			return true;
		}else{
			alert("Please login to access this feature");
			expandLogin();

			return false;
		}
	}else{
		alert("Please refresh the page to continue")
		return false;

	}



}
 function setSelectValue(name,sel_value){


    for(var i=0;i<name.options.length;i++){
      if(name.options[i].value == sel_value)
      	{
      	 name.options[i].selected=true;
      	}
    }
}
 function closeGraph(){

	document.getElementById("description").style.display="block";
    document.getElementById("graph_area").style.display="none";
	document.getElementById("cloud_area").style.display="none";
	document.getElementById("assoList").style.display="none";
}
function viewAll(isHideSearch){
	isHideSearch = isHideSearch != null && isHideSearch == true ? true : false; // toavoid other datatype errors
	if(checkLoginStatus())
	{
		var url="viewAlldata.do?h=" + isHideSearch;
		window.open(url,'links_window','location, toolbar, resizable,scrollbars=1, width=1000, height=800", left=100px');
	}

}
function getPassword(goBackTo){
	var form = window.document.xtractor;
	if(form.userName_FP.value == ""){
		alert("Please enter your Email!");
		form.userName_FP.focus();
	}
	else{
		setFieldname("forgot_password");
		setDivVisible(sel_field_name,"visible");
		document.getElementById(sel_field_name).innerHTML = '';
		var url = "actionType=forgotPassword&emailId="+encodeSpecial(form.userName_FP.value)+"&goBackTo=" + goBackTo;
		retrieveURL(url,"loginUser.do");
	}

}
function changePassword(){

	var form = window.document.xtractor;

	if(form.oldPassword.value == "") {
		alert("Please enter your Old Password");
		form.oldPassword.focus();
	}
	else if(form.newPassword.value == "")
	{
		alert("Please enter your New Password");
		form.newPassword.focus();
	}
	else{
		setFieldname("change_password");
		setDivVisible(sel_field_name,"visible");
		document.getElementById(sel_field_name).innerHTML = '';
		var url = "actionType=changePassword&oldPasswd="+encodeSpecial(form.oldPassword.value)+"&newPasswd="+encodeSpecial(form.newPassword.value);
		retrieveURL(url,"loginUser.do");
	}
}
function expandLogin()
{
	window.location="#top";
	$("#toggle a").toggle();
	$("div#panel").slideDown("slow");
}
function showHelpTopics()
{
	if(checkLoginStatusStatic()){
		window.open("helpTopics.do") ;
	}

}

function lunchAlerts(){

		window.open("/alert/loginFreeUser.do?actionType=alertLogin&tag=home");
}
function LoginBox(feature){

	var ls = document.getElementById('login_status');

	if(ls && ls.value == '0')
	{
		if(feature == 'Lite')
			instaSearchTop('SWISSPROT','P00533','EGFR');
		else if(feature == 'Alert')
			lunchAlerts();
	}
	else
		expandLogin();
}
function showWidgetCode_searchBox()
{
	if(checkLoginStatusStatic())
	{
		setFieldname("data_kit");
		var data_kit = document.getElementById('data_kit');
		data_kit.style.display="block";
		data_kit.innerHTML = '';
		var url = "search_field=showWidgetCode_searchBox";
		retrieveURL(url,"entitySearch.do");
	}
}

function openChat(){

			var url="chat.do";
			window.open(url,'links_window','resizable=no, toolbar=no, scrollbars=no, menubar=no, status=no, modal=yes, directories=no, width=300, height=250", left=500px');
}
var REQ_FLASH_VERSION = 9.0;
var INSTALLED_FLASH_VERSION_OK = false;
detectFlash();
function detectFlash()
{
	var versionDetectPattern = / (\d+\.\d+)/;
	var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] ?  navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0);
	var version = -1.0;
	if(plugin)
	{
		var result = versionDetectPattern.exec(plugin.description);
		version = result == null ? -1.0 : parseFloat(result[1]);
	}
	INSTALLED_FLASH_VERSION_OK = (plugin && version >= REQ_FLASH_VERSION);
}
function alertTransperant(content, id)
{
var splashDiv = document.createElement("DIV");
	      	var style = "position:fixed; top:20%; left: 30%;width:400px; height:200px; padding:50px; background-color:#FFF1AF; opacity:0.8; border:medium groove #FFF1AF; color:#993333;";
   	      	splashDiv.setAttribute("style", style);
	      	splashDiv.id = id;
			var html = content;//"Flash " + REQ_FLASH_VERSION + " or latter version is required.<br />Please Install the latest version.";
	      	splashDiv.innerHTML = html;
	      	var closeDiv = document.createElement("DIV");
	      	style="width:20px; height:20px; position:absolute; top:2px; right:2px;padding:1px; font-style:italic; color:red";
	      	closeDiv.setAttribute("style", style);
	      	closeDiv.setAttribute("title", "close");
	      	closeDiv.innerHTML="X";
	      	closeDiv.setAttribute("onclick","document.body.removeChild(document.getElementById('" +id +"'))");
	      	splashDiv.appendChild(closeDiv);
	      	document.body.appendChild(splashDiv);
}



