function getAmpliconSequence(name)
{
	var sequence = '';
	var currentSequence = '';
	var currentTag = '';
	var currentClasses = [];
	var replaceClasses = [];
        replaceClasses[0] = 'interstitial';
        replaceClasses[1] = 'repeatSequenceBegin';
        replaceClasses[2] = 'repeatSequenceEnd';

	var openTags = 0;
	var html = document.getElementById('masked_sequences').innerHTML;
	for(var i = 0; i < html.length; i++)
        {
		var currentChar = html.substr(i, 1);
		if(currentChar != '<')
		{
		  var doneLooping = false;
		  for(i; i < html.length && !doneLooping; i++)
		  {
		    currentChar = html.substr(i, 1);
		    if(currentChar == '<')
		    {
		      doneLooping = true;
		      i = i - 2;
		    }
		    else if(currentChar != ' ')
		    {
		      currentSequence += currentChar;
		    }
		  }
		  if(currentSequence != '')
		  {
		    var hidden = false;
		    var foundStyle = false;
		    var classConcat = '';
		    for(var j = 0; j < openTags; j++)
		    {
		      if(currentClasses[j] && currentClasses[j] != '')
		      {
			if(classConcat != '')
			{
			  classConcat += ' ';
			}
			classConcat += currentClasses[j];
		      }
		    }
		    var concatStyle = getCssValue(classConcat, 'display');
		    if(trimString(concatStyle) == 'none')
		    {
		      hidden = true;
		    }
		    
		    
		    if(!hidden)
		    {
		      sequence += currentSequence;
		    }
		  }
		  currentSequence = '';
		}
		else if(i != html.length - 1 && html.substr(i + 1, 1) == '/')
		{
		  openTags--;
		  var doneLooping = false;
		  for(i; i < html.length && !doneLooping; i++)
		  {
		    if(html.substr(i, 1) == '>')
		    {
		      doneLooping = true;
		      i--;
		    }
		  }
		}
		else
		{
		  var currentTag = '';
		  var doneLooping = false;
		  for(i; i < html.length && !doneLooping; i++)
		  {
		    var currentChar = html.substr(i, 1);
		    currentTag = currentTag + currentChar;
		    if(currentChar == '>')
		    {
		      doneLooping = true;
		      i--;
		    }
		  }
		  currentClasses[openTags] = '';
		  var classIndex = currentTag.indexOf('class');
		  if(classIndex != -1)
		  {
		    var j = classIndex + 5;
		    var foundEqual = false;
		    for(var k = j; k < currentTag.length; k++)
         	    {
		      var currentChar = currentTag.substr(k, 1);
		      if(currentChar == '=')
		      {
		        foundEqual = true;
		      }
		      else if(currentChar == '"' || currentChar == "'")
		      {
		        if(!foundEqual)
		        {
		          j = currentTag.length;
		        }
		        else
		        {
		          j = k + 1;
		          currentClasses[openTags] = 'span.';
		        }
		        k = currentTag.length;
		      }
		      else if(currentChar != ' ')
		      {
		        j = currentTag.length;
		        k = currentTag.length;
		      }
		    }
		    for(j; j < currentTag.length; j++)
		    {
		      
		      var currentChar = currentTag.substr(j, 1);
		      if(currentChar == '"' || currentChar == "'")
		      {
		        j = currentTag.length;
		      }
		      else if(currentChar == ' ')
		      {
		        if(currentClasses[openTags].substr(currentClasses[openTags].length-1, 1) != '.')
		        {
		          currentClasses[openTags] += '.';
		        }
		      }
		      else
		      {
			currentClasses[openTags] += currentChar;
		      }
		    }
		    for(var k = 0; k < replaceClasses.length; k++)
		    {
		      var interIndex = currentClasses[openTags].indexOf(replaceClasses[k]);
		      var classLength = replaceClasses[k].length + 1;
		      if(interIndex != -1)
		      {
		        currentClasses[openTags] = currentClasses[openTags].substr(0, interIndex) + currentClasses[openTags].substr(interIndex + classLength, currentClasses[openTags].length - interIndex - classLength);
		      }
		    }
		  }
		  openTags++;
		}
	}
        var servletType;
        if(this.warName()=='/FeatureBrowser'){
            servletType='Public';
        }else{
            servletType='Private';
        }
        document.getElementById('amplicon_drag_anchor').href = 'http://cgemm-test.louisville.edu/DragDropServlet'+servletType+'/Sequence?seq='+sequence+"&name="+name+"&format=excel";
        //document.getElementById('amplicon_drag_anchor').href = 'http://cgemm-test.louisville.edu/DragDropServlet/Sequence?seq='+seq+"&name="+name;
	//document.getElementById('amplicon_drag_anchor').href = 'http://cgemm-test.louisville.edu/DragDropServlet/Sequence?seq='+sequence;

	/*/if(document.getElementById('amplicon_drag_anchor').href.indexOf('?seq=') >= 0)
	{
		document.getElementById('amplicon_drag_anchor').href = document.getElementById('amplicon_drag_anchor').href.substr(0, document.getElementById('amplicon_drag_anchor').href.indexOf('?seq='));
	}
	if(document.getElementById('amplicon_drag_anchor').href.indexOf('&seq=') >= 0)
	{
		document.getElementById('amplicon_drag_anchor').href = document.getElementById('amplicon_drag_anchor').href.substr(0, document.getElementById('amplicon_drag_anchor').href.indexOf('&seq='));
	}
	if(document.getElementById('amplicon_drag_anchor').href.indexOf('#')
			== (document.getElementById('amplicon_drag_anchor').href.length - 1))
	{
		document.getElementById('amplicon_drag_anchor').href = document.getElementById('amplicon_drag_anchor').href.substr(0, (document.getElementById('amplicon_drag_anchor').href.length - 1));
	}
	if(document.getElementById('amplicon_drag_anchor').href.indexOf('?') >= 0)
	{
		document.getElementById('amplicon_drag_anchor').href += '&seq=' + sequence;
	}
	else
	{
		document.getElementById('amplicon_drag_anchor').href += '?seq=' + sequence;
	}*/
}

function warName(){
        var path=location.pathname;
        var a=path.split("/");
        return '/'+a[1];
}

function getCssValue(className, element) {
  var returnValue = '';
  var alertValue = '';
  for (var i = 0; document.styleSheets && i < document.styleSheets.length; i++){
    if(document.styleSheets[i].media && document.styleSheets[i].media.mediaText != 'print')
    {
      if(document.styleSheets[i].cssRules)
      {
        for(var j = 0; document.styleSheets[i].cssRules && j < document.styleSheets[i].cssRules.length; j++)
        {
	  if(document.styleSheets[i].cssRules[j].selectorText && document.styleSheets[i].cssRules[j].selectorText == className && document.styleSheets[i].cssRules[j].style[element] && document.styleSheets[i].cssRules[j].style[element] != '')
	  {
	    returnValue = document.styleSheets[i].cssRules[j].style[element];
	  }
        }
      }
      else if(document.styleSheets[i].rules)
      {
        //we're in IE, and it reverses the order that the class names are listed (??? not sure why)
        className = (trimString(className)).toLowerCase();
  	className = reverseClassName(className);
        
        for(var j = 0; document.styleSheets[i].rules && j < document.styleSheets[i].rules.length; j++)
        { 
  	  if(document.styleSheets[i].rules[j].selectorText)
  	  {
  	    if((trimString(document.styleSheets[i].rules[j].selectorText)).toLowerCase() == className)
  	    {
  	      if(document.styleSheets[i].rules[j].style[element] && document.styleSheets[i].rules[j].style[element] != '')
	      {
	        returnValue = document.styleSheets[i].rules[j].style[element];
	      }
	    }
	  }
        }
      }
      
    }
  }
  return returnValue;
}

function reverseClassName(className)
{
  var classReversed = '';
  var classBefore = className;
  var spaceSplit = className.split(' ');;
  for(var l = 0; l < spaceSplit.length; l++)
  {
    var tempClassReversed = '';
    if(spaceSplit[l] != '')
    {
      var classSplit = spaceSplit[l].split('.');
      for(var k = classSplit.length - 1; k > 0; k--)
      {
	if(classSplit[k] != '')
	{ 
	  if(tempClassReversed != '')
	  {
	    tempClassReversed += '.';
	  }
	  tempClassReversed += classSplit[k];
	}
      }
    }
    if(tempClassReversed != '' && classSplit[0] != '')
    {
      tempClassReversed = '.' + tempClassReversed;
    }
    tempClassReversed = classSplit[0] + tempClassReversed;
    if(classReversed != '')
    {
      classReversed += ' ';
    }
    classReversed += tempClassReversed;
  }
  return classReversed;
}

function trimString(myString)
{
  return myString.replace(/^\s+|\s+$/g, '');
}
  
