
var messagetext = '';

function FadeLayer() {
	
	var newdiv_width, newdiv_height;
	var Overlay = document.getElementById('overlay3');
	 
	if(document.body && ( document.body.scrollWidth || document.body.scrollHeight)) {	
		newdiv_width = document.body.scrollWidth + 'px';
		newdiv_height = document.body.parentNode.scrollHeight + 'px';
	} else if( document.body.offsetWidth ) {
		newdiv_width = document.body.offsetWidth + 'px';
		newdiv_height= document.body.offsetHeight + 'px';    
	} else {
		newdiv_width = '100%';
		newdiv_height = '100%';
	}
	 
	 
	Overlay.style.width = newdiv_width;
	Overlay.style.height = newdiv_height;
	Overlay.style.top = document.body.offsetTop;
	Overlay.style.left = document.body.offsetLeft;
	Overlay.style.display = 'block';
	 
	var selectBoxes =  document.getElementsByTagName('select');
	for (i = 0;i < selectBoxes.length;i++) {
		selectBoxes[i].style.visibility="hidden";
	}
	displayLayer('overlay3',10); 
	displayLayer('progress',100);
}

function displayLayer(id, opacity) {
	
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
	object.display = "block";
}

function scroll() {	
	hideProgress();
	showProgress(messagetext);
}

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
		);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel))) {
		n_result = n_docel;
	}	
	
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function showProgress(loadingMessage) {
	
	messagetext = loadingMessage;
	window.onscroll = scroll;
	var nleft = ((document.body.clientWidth - 300) / 2);
	var ntop = f_scrollTop() + 350;
	
	var progressDiv = document.getElementById('progress');
	progressDiv.style.width = '360px';
	progressDiv.style.left = nleft + 'px';
	progressDiv.style.top = ntop + 'px';
	FadeLayer();
	progressDiv.style.display = '';
	restartGif();
}

function hideProgress() {
	window.onscroll = null; 
	var selectBoxes =  document.getElementsByTagName('select');
	for (i=0;i<selectBoxes.length;i++) {
		selectBoxes[i].style.visibility = "visible";
	}
	document.getElementById('progress').style.display = 'none';
	document.getElementById('overlay3').style.display = 'none';
}

function restartGif() {
          for(var i = 0; i < document.images.length; i++) {
                   var img = document.images[i];
                   var imgName = img.src.toUpperCase();
                   if (imgName.substring(imgName.length-3, imgName.length) == "GIF") {
                             img.src = img.src;
                   }
          }
}


function FormKeyPressed(form_input,search_form)
	{
		  
		if (13 == event.keyCode) {
			var query = document.getElementById(form_input);
			if (query.value != null && query.value == "\\" ) {
				alert("The following characters are not valid  ' \\'.\nPlease enter a valid search term.");
				return false ;
			}
			var cleanQuery = checkForSpecialCharacters(query.value);
			if(cleanQuery == true) {
				    query.value = trimBadChars(query.value);
				    if(query.value != "") {

					// Set the values for MSDS query.
					var msdsType = document.getElementById('formHeaderSearchSelect');
					if(msdsType != null && msdsType.value == "MSDS")
					{
						// set the searchType property to msds so that it becomes msds search request.
						msdsType.value = "MSDS";
						search_form.searchType.value = "msds";
						search_form.action ="http://www.appliedbiosystems.com/support/msds_search.cfm";
					}
				    search_form.submit();
				}
				else {
					return false ;
				}
			}
			else
			{
				alert("Please enter a search term");   
				return false ;     
			}
		}
		
	}



function checkForSpecialCharacters(queryStr)
{
	var thisForm = null;
	var upload = null;

	thisForm = document.forms['searchForm'];
	if(thisForm != null)
	{
		upload = document.getElementById('UploadedFileID');
		// check if it is batch file upload
		if(upload!=null && upload.value!="")
			return true;
	}
	
	if(queryStr!=null && queryStr!="")
	{
		queryStr = queryStr.toLowerCase();       
//		Commented for Enabling Alphanumeric  Characters Slash characters and Pipe Characters for Search .
//		if(queryStr.indexOf('=') != -1 || queryStr.indexOf('|')!=-1 || queryStr.indexOf('||')!=-1 || queryStr.indexOf('javascript')!=-1 )
		if(queryStr.indexOf('=') != -1   || queryStr.indexOf('javascript')!=-1 )
		{
			alert(queryStr + " character is not allowed.\nPlease enter a valid search term.");    
			queryStr.value = "";
			return false;
		}
		return true;
	}
	return false;
}


function trimBadChars(term)
{

	var newterm =  trimLeft(term);
	newterm =     trimRight(newterm);
	return newterm;
}

function trimLeft(term)
{
	var newterm = "";
	for (var i=0; i < term.length; i++)
	{
		var ch = term.charAt(i);
		if (ch != "[" && ch != "@" && ch != ",")
		{
			newterm = term.substring(i,term.length);
			break;
		}
	}
	return newterm;
}



function clickButton(e, btnLogin){ 
      var bt = document.getElementById(btnLogin); 
      if (typeof bt == 'object'){ 
            if(navigator.appName.indexOf("Netscape")>(-1)){ 
                  if (e.keyCode == 13){ 
                        bt.click(); 
                        return false; 
                  } 
            } 
            if (navigator.appName.indexOf("Microsoft Internet Explorer")>(-1)){ 
                  if (event.keyCode == 13){ 
                        bt.click(); 
                        return false; 
                  } 
            } 
      } 
}










function trimRight(term)
{
	var newterm = "";
	for (i=term.length-1; i >= 0; i--)
	{
		var ch = term.charAt(i);
		if (ch != "=" && ch != "<" && ch != ">" && ch != "\\" && ch != "["){
			newterm = term.substring(0,i+1);
			break;
		}
	}
	return newterm;
};

function processSearch(form_input,search_form)
{	
	var query = document.getElementById(form_input);
	if( query != null && query.value == "Enter search term") {
		alert("Please enter a search term");
		return;
	}
	
	var cleanQuery = checkForSpecialCharacters(query.value);    
	if(cleanQuery == true)
	{
			if(query.value != "") 
			{

				// strip the query of any illegal terms or chars and replace with whitespace
				query.value = trimBadChars(query.value);
				
				// Set the values for MSDS query.
				var msdsType = document.getElementById('formHeaderSearchSelect');
				if(msdsType != null && msdsType.value == "MSDS")
				{
					// 	set the searchType property to msds so that it becomes msds search request.
					msdsType.value = "MSDS";
					search_form.searchType.value = "msds";
					search_form.action ="http://www.appliedbiosystems.com/support/msds_search.cfm";
				}
				
				if (query.value == "javascript")
				{
					alert ("javascript is an invalid search string");
				} else if (query.value == "\\" ) {
					alert("The following characters are not valid  ' \\'.\nPlease enter a valid search term.");
				}
				else       
				{

					showProgress();	
					search_form.submit();
					showProgress();   
				}
			}   
			else
			{

				alert("Please enter a search term");        
			}
	}
	
	
}