//-------------------------------------------------------------------------
//Generate HTML
//-------------------------------------------------------------------------
loadFile('http://www.sacredmint.com/gadget/sacredsearch/sacredsearch.css', 'css')

var frame
var query = getParam('keyword')
if (query=='') {frame='top'}else{frame='sub'}

if(frame=='top'){

	//Container Div
	dvContainer			=	document.createElement('div');
	dvContainer.id		=	'container'
	dvContainer.align	=	'center'
	
	//Search Div
	dvSearch 			= 	document.createElement('div');
	dvSearch.className 	=	'dv_search'
	dvSearch.onmouseover= 	Show;
	dvSearch.onmouseout	=	Hide;
	dvContainer.appendChild(dvSearch);
	
	//Keyword Text Box
	tbKeyword = document.createElement('input');
	tbKeyword.type		= 	'text';
	tbKeyword.className =	'tb_search'
	tbKeyword.id		=	'xkeyword'
	tbKeyword.onkeypress = function(){checkEnter(event);};
	dvSearch.appendChild(tbKeyword);
		
	//Search Href/Button
	aSearch				=	document.createElement('a');
	aSearch.href		=	'javascript:Search()'
	aSearch.innerHTML	= 	'Search'
	aSearch.className	=	'bt_search'
	dvSearch.appendChild(aSearch);
	
	//OptionButtons
	cbOld				=	document.createElement('input');
	cbOld.className		=	'cb_old'
	cbOld.id			=	'xold'
	cbOld.type			= 	'checkbox';
	cbOld.value			=	'1'
	cbOld.onclick		=	Check;
	dvSearch.appendChild(cbOld)
	cbOld.checked		=	true
	
	cbNew				=	document.createElement('input');
	cbNew.className		=	'cb_new'
	cbNew.id			=	'xnew'
	cbNew.type			= 	'checkbox';
	cbNew.value			=	'1'
	cbNew.onclick		=	Check;
	dvSearch.appendChild(cbNew)
	cbNew.checked		=	true
	
	//Container Div
	dvResult						= document.createElement('div');
	dvResult.id						= 'xresult'
	dvResult.className				= 'dv_container'
	dvResult.align					= 'center'
	dvResult.style.filter 			= "alpha(opacity=0)"; 
	dvResult.style.opacity 			= 0; 
	dvResult.style.MozOpacity 		= 0; 
	dvResult.style.KhtmlOpacity 	= 0; 
	dvSearch.appendChild(dvResult)
	
	//Content Div
	dvContent 							= document.createElement('div');
	dvContent.className					= 'dv_content'
	dvResult.appendChild(dvContent)
	
	//Inline Frame
	iframe 						= document.createElement('iframe')
	iframe.name 				= 'resultframe'
	iframe.id 					= 'resultframe'
	iframe.className			= 'in_result'
	iframe.scrolling			= 'no'
	iframe.border				= 0
	iframe.frameBorder			= 0
	dvContent.appendChild(iframe)
	
	//Result Bottom
	dvResultBot				=  document.createElement('div');
	dvResultBot.className	= 'dv_resultbot'
	dvResult.appendChild(dvResultBot)
	
	//Place Entire Container On Page
	document.getElementById('sacredsearch').appendChild(dvContainer);
	}
	
	
//-------------------------------------------------------------------------
//Page Functions
//-------------------------------------------------------------------------
	var xopen 		= 0
	var xresult		= 0
	var xcheck		= 0
	var xurl 		= 'http://www.sacredmint.com/gadget/sacredsearch/sacredsearch.asp'
	var xkeyword
	var xold
	var xnew
	var xsrc
	var xpage
	
	//Load Control
	function Load(){
		if(frame=='top'){
			xkeyword 		= document.getElementById('xkeyword').value;
			xold 			= (+document.getElementById('xold').checked);
			xnew 			= (+document.getElementById('xnew').checked);
			xpage			= 1
			xsrc 			= xurl + '?keyword=' + xkeyword + '&old=' + xold + '&new=' + xnew + '&page=' + xpage;
			if(typeof(versionid)!='undefined'){ xsrc = xsrc + '&versionid=' + versionid};
			
			frames['resultframe'].location.href=xsrc
			}
		else{	
			xkeyword	= coalesce(getParam('keyword'),1)
			xold		= coalesce(getParam('old'),1)
			xnew		= coalesce(getParam('new'),1)
			xsrc 		= xurl + '?keyword=' + xkeyword + '&old=' + xold + '&new=' + xnew + '&page=' + xpage;
			document.location.href = xsrc
			}
	}
	
	function Search(){
		if (Validate()==true)
			{
			if(trim(document.getElementById('xkeyword').value).length==0)
				{
				alert('Please Enter A Search Term')
				}
			else{
				xresult=1; xpage = 1; Load(); Show();
				}
			}
		else
			{
			alert("It appears that the HTML code was editted and the 'Powered By The Sacred Mint Christian Community' footer has been removed. Please keep the HTML intact for this search tool to function properly.")
			}
		}
	
	//Navigation Controls
	function Next(){xpage = parseInt(coalesce(getParam('page'),1))+1; Load();}
	function Last(){xpage = parseInt(coalesce(getParam('page'),1))-1; Load();}
	function Check(){if(xresult==1){Search()}}
	
	//function Validate(){if(document.getElementById('power').innerHTML=='Powered By The Sacred Mint Christian Community'){return true}else{return false}}
	//Validate The Anchor
	function Validate(){
	var valid = new Array('Powered By The Sacred Mint Christian Community','Christian Community','Christian Gifts','Christian Gift','Christian Faith','Christian Gift Store','Christian Store')
	
	var anchor = document.getElementById('power').innerHTML
	if(valid.join().indexOf(anchor)>=0&&trim(anchor)!=''){return true}else{return false}
	}

	
	//Hide Controls
	function Hide()		{ if(xopen==1){xcheck = setTimeout("xopen = 0; e = document.getElementById('xresult'); initFade(e,0,300)", 500)}}
	function Show()		{ if(xresult==1){clearTimeout(xcheck); xopen = 1; e = document.getElementById('xresult'); initFade(e,100,300);}}

	//Fade Controls
	function setOpacity(opacity, id, dir) 	{ var obj = e.style; obj.opacity = (opacity / 100); obj.MozOpacity = (opacity / 100); obj.KhtmlOpacity = (opacity / 100); obj.filter = "alpha(opacity=" + opacity + ")"; if(opacity==0&&dir=='down'){obj.display='none'}}
	function initFade(e, end, s) 			{ var cur = 100; if(e.style.opacity < 100) { cur = e.style.opacity * 100;} if(cur==0){e.style.display='inline'} loadFade(e, cur, end, s)} 
	function loadFade(e, start, end, s) 	{ var speed = Math.round(s / 100); var timer = 0; if (start > end) {for(i = start; i >= end; i--) {setTimeout("setOpacity(" + i + ",'" + e + "','" + "down" + "')",(timer * speed)); timer++; }} else if (start < end) {for(i = start; i <= end; i++) {setTimeout("setOpacity(" + i + ",'" + e + "','" + "up" + "')",(timer * speed)); timer++; }}} 
	
	//Other Controls
	function checkEnter(e){
		var keycode; 
		if(e && e.which){
			e = e; keycode = e.which} 
		else 			{
			e = event; keycode = e.keyCode} 
		
		if (keycode== 13) {
			Search()}
		}
		
//Load An External File
function loadFile(filename, filetype){
	if (filetype=="js"){ //if filename is a external JavaScript file
	var fileref=document.createElement('script')
	fileref.setAttribute("type","text/javascript")
	fileref.setAttribute("src", filename)
	}
else if (filetype=="css"){ //if filename is an external CSS file
  	var fileref=document.createElement("link")
  	fileref.setAttribute("rel", "stylesheet")
  	fileref.setAttribute("type", "text/css")
  	fileref.setAttribute("href", filename)
	}	
 	if (typeof fileref!="undefined") document.getElementsByTagName("head")[0].appendChild(fileref)
	}


//Get A Parameter
function getParam(name){  
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
	var regexS = "[\\?&]"+name+"=([^&#]*)";  
	var regex = new RegExp( regexS );  
	var results = regex.exec( window.location.href );  
	if( results == null )    return "";  else    return results[1];
	}

//Coalesce
function coalesce(value,option){
	if(value == null||value==''){return option};
	return value;
	}
	
	
//Trim
function trim(str) 
{

 	var objRegExp = /^(\s*)$/;

    //check for all spaces
    if(objRegExp.test(str)) {
       str = str.replace(objRegExp, '');
       if( str.length == 0)
          return str;
    }

   //check for leading & trailing spaces
   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
   if(objRegExp.test(str)) {
       //remove leading and trailing whitespace characters
       str = str.replace(objRegExp, '$2');
    }
  return str;

}

