// JavaScript Document
function showGlobalDisc($disc){
	var discMsg = document.getElementById($disc);
	var divMsgH = discMsg.offsetHeight;
	var divMsgW = discMsg.offsetWidth;
	discMsg.style.top = '-' + (divMsgH +5) + 'px'; 
	discMsg.style.left =  '-' + (divMsgW/2) + 'px'; 
	discMsg.style.visibility = 'visible';
}

	
function hideGlobalDisc($disc){
	var discMsg = document.getElementById($disc);
	discMsg.style.visibility = 'hidden';

}

function clearForm(){
	document.searchform.searchterms.value="";
}
function unClearForm(){
	var input = document.getElementById('searchterms').value;
	if(input == ''){
		document.getElementById('searchterms').value = document.getElementById('defaultInputVal').value;
	}
}

function verifyChks(theForm,theFormId,len){
	var isACheckedVal = false;
	for (i = 0; i < parseInt(len); i++){
		if(theForm.elements.AddItem[i].checked==true){
			isACheckedVal = true;
			break;
		}
	}
	if(isACheckedVal==false){
		alert(' Please check one of this items\' options.');
		return false;
	}else{
		//return true;
		
		document.getElementById(theFormId).submit();
	}
}  


function getUrlParam(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];
}

function setMinHeight(){
	var divh = document.getElementById('navMenu').offsetHeight + 10;
	 document.getElementById('content').style.minHeight = divh + 'px'; 
}

function highlightOnLoad(hl,subdir) {
	
	setMinHeight();
	
	var sPath = window.location.pathname;
	 sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
	var doneBackLinkCont = false;
	var madeNode = false;
	if (/searchterms\=/.test(window.location.search)||/searchword\=/.test(window.location.search)) {
	  var doneOnce = false;
	  var doneBackLink = false;
	  var doneFwdLink = false;
	  var searchString = getSearchString();
	 
      var offsetString = getOffsetString();
	  if(offsetString != parseInt(offsetString)){
			offsetString = '0';
	  }
	  var sortString = getSortString();
	  //alert(sortString);
	  if(sortString != 'date'){
			sortString = '';
	  }else{
	 		sortString = '&amp;sortby=date';  
	  }
	  offsetString = offsetString + sortString;
	  
	 // alert(offsetString);
	  
	  if(searchString.indexOf('nw-')==-1){
		var doHilight = '';
		 if (document.cookie!=""){
		  	if (readCookie('showhilight') != null) { 
              	doHilight = readCookie('showhilight') ;
		  	}else{
				setCookie('showhilight','yes');
			}
		 }
		 //alert('Before Preocessing = ' + doHilight);
		var tglLink = '';
		var elemsToSearch = new Array("searchIt","stHdr","prod_elem_name","prod_elem_item_is_new","prod_elem_subtitle","prod_elem_description","prod_elem_special_notice","prod_elem_discount","prod_elem_price","prod_elem_avail_messages");
		var searchInfo = '';
		var searchTerms = '';
		searchTerms = searchString.replace(/%20/g, " ");
		
		if(sPage != 'search-results.php' && doneOnce ==false){
			var myMsgDiv = document.createElement("div");
			myMsgDiv.className = 'foundSearchTermMessage';
		}
		
		for(var x in elemsToSearch){
   			var arrContainerNode = getElementsByClassName(elemsToSearch[x]);

			if(arrContainerNode != null){
				if(hl=='y'){
					if(doHilight == 'no'){
						var css = 'nohilight';
					}else{
						var css = 'csshilight';
					}
					for(var e in arrContainerNode){
						highlightTextNodes(arrContainerNode[e], searchTerms,css);
						
						if(doHilight == 'yes'){
							if(hl !='nohl'){
								tglLink = '&nbsp;&nbsp;<a href="javascript:setCookie(\'showhilight\',\'no\');highlightOnLoad(\'n\',\''+subdir+'\')" title="Click Here To Hide Highlighting" >Hide</a>';
							}
							searchInfo = '<div>Keyword/s:  <span class="csshilight">'+searchTerms+'</span> are highlighted. ' + tglLink + '</div>';
						}else{
							if(hl !='nohl'){
								tglLink = '&nbsp;&nbsp;<a href="javascript:setCookie(\'showhilight\',\'yes\');highlightOnLoad(\'r\',\''+subdir+'\')" title="Click Here To Show Highlighting" >Show</a>';
							}
							searchInfo = '<div>Keyword/s:  <span class="csshilight">'+searchTerms+'</span> are not highlighted. '+tglLink+'</div>';
						}
     					
						if(doneOnce == false && sPage != 'search-results.php'){
							myMsgDiv.innerHTML = searchInfo;
							if(arrContainerNode[e].childNodes[0]){
								arrContainerNode[e].insertBefore(myMsgDiv, arrContainerNode[e].childNodes[0]);
								doneOnce = true;
								var pageNavNode = document.getElementById('pageNav');
								if(pageNavNode == null){
									var myPageNavDiv = document.createElement("div");
									var guts = '<table id="pageNav" class="searchResultNav2"><tr><td><div id="backLink" class="returnlink"><a href="search-results.php?searchterms='+searchTerms+'">&lt;&nbsp;Return&nbsp;to&nbsp;Search&nbsp;Results</a></div></td></tr></table>';
									madeNode = true;
									myPageNavDiv.innerHTML = guts;
									arrContainerNode[e].insertBefore(myPageNavDiv, arrContainerNode[e].childNodes[0]);
								}
							}
						}

						if(doneOnce == false && sPage == 'search-results.php' && doHilight == 'no'){
							var msgElem = getElementsByClassName('foundSearchTermMessage');
							if(hl !='nohl'){
								tglLink = '&nbsp;&nbsp;<a href="javascript:setCookie(\'showhilight\',\'yes\');highlightOnLoad(\'r\',\''+subdir+'\')" title="Click Here To Show Highlighting" >Show Keywords</a>';
							}
							msgElem[0].innerHTML = '<div>Searching for <span class="searchTerms csshilight">' +searchTerms + '</span> located the following results. '+tglLink+'</div>';
							doneOnce = true;
						}
					}
				}
				if(hl=='n'){
					for(var e in arrContainerNode){
						unHighlightTextNodes(arrContainerNode[e]);
					}
					if(doneOnce == false){
						var msgElem = getElementsByClassName('foundSearchTermMessage');
						if(sPage != 'search-results.php'){
							if(hl !='nohl'){
								tglLink = '&nbsp;&nbsp;<a href="javascript:setCookie(\'showhilight\',\'yes\');highlightOnLoad(\'r\',\''+subdir+'\')" title="Click Here To Show Highlighting" >Show</a>';
							}
							msgElem[0].innerHTML = ' <div>Keyword/s:  <span class="csshilight">'+searchTerms+'</span> are not highlighted.'+tglLink+' </div>';
						}else{
							if(hl !='nohl'){
								tglLink = '&nbsp;&nbsp;<a href="javascript:setCookie(\'showhilight\',\'yes\');highlightOnLoad(\'r\',\''+subdir+'\')" title="Click Here To Show Highlighting" >Show Highlighting</a>';
							}
							msgElem[0].innerHTML = '<div>Searching for <span class="searchTerms csshilight">' +searchTerms + '</span> located the following results. '+tglLink+'</div>';
						}
						doneOnce = true;
					}
				}
				if(hl=='r'){
					for(var e in arrContainerNode){
						reHighlightTextNodes(arrContainerNode[e]);
					}
					if(doneOnce == false ){
						var msgElem = getElementsByClassName('foundSearchTermMessage');
						if(sPage != 'search-results.php'){
							if(hl !='nohl'){
								tglLink = '&nbsp;&nbsp;<a href="javascript:setCookie(\'showhilight\',\'no\');highlightOnLoad(\'n\',\''+subdir+'\')" title="Click Here To Hide Highlighting" >Hide</a>';
							}
							msgElem[0].innerHTML = '<div>Keyword/s:  <span class="csshilight">'+searchTerms+'</span> are highlighted. '+tglLink+'</div>';
						}else{
							if(hl !='nohl'){
								tglLink = '&nbsp;&nbsp;<a href="javascript:setCookie(\'showhilight\',\'no\');highlightOnLoad(\'n\',\''+subdir+'\')" title="Click Here To Hide Highlighting" >Remove Highlighting</a>';
							}
							msgElem[0].innerHTML = '<div>Searching for <span class="searchTerms csshilight">' +searchTerms + '</span> located the following results. '+tglLink+'</div>';
						}
						doneOnce = true;
					}
				}
				var fwdLinkNode = document.getElementById('fwdLink');
 				if(fwdLinkNode != null && sPage != 'search-results.php'){
					fwdLinkNode.innerHTML = '';
				}
				var backLinkNode = document.getElementById('backLink');
				
 				if(backLinkNode != null && sPage != 'search-results.php' && doneBackLink == false && madeNode == false){
					
					var bLinkPath = backLinkNode.innerHTML;
					bLinkPath = bLinkPath.substring(bLinkPath.indexOf('#'),bLinkPath.indexOf('>')-1);

					var pathUp = '';
					if(subdir=='s'){
						pathUp = '../';
					}else if(subdir =='no'){
						pathUp = '../';
					}else{
						pathUp = '';
					}
					
					backLinkNode.innerHTML = '<a href="'+pathUp+'search-results.php?searchterms='+searchTerms+'&amp;offset='+offsetString+bLinkPath+'">&lt;&nbsp;Return&nbsp;to&nbsp;Search&nbsp;Results</a>';
					
					doneBackLink = true;
				}
			}
		} //for(var x in elemsToSearch)

   }else{
	   	var backLinkNode = document.getElementById('backLink');
		//doneBackLinkCont = showPgNavNode(sPage,doneBackLinkCont);
 		if(backLinkNode != null && sPage != 'new-products.php' && doneBackLink == false){
			var bLinkPath = backLinkNode.innerHTML;
			bLinkPath = bLinkPath.substring(bLinkPath.indexOf('#'),bLinkPath.indexOf('>')-1);
			//alert(subdir);
			var pathUp = '';
			if(subdir=='s'){
				pathUp = '../';
			}else if(subdir =='no'){
				pathUp = '../';
			}else{
				pathUp = '';
			}
			backLinkNode.innerHTML = '<a href="'+pathUp+'new-products.php?searchterms='+searchString+'&amp;offset='+offsetString+bLinkPath+'">&lt;&nbsp;Return&nbsp;to&nbsp;New&nbsp;Products&nbsp;List</a>';
			doneBackLink = true;
		}	
		var fwdLinkNode = document.getElementById('fwdLink');
 		if(fwdLinkNode != null && sPage != 'new-products.php' && doneFwdLink == false){
			fwdLinkNode.innerHTML = '';
			doneFwdLink = true;
		}
	  }
	}
	
   loadSlims(); // lloads Slimbox scripting after processing search highlighting
}

function highlightTextNodes(element, searchFor, css) {
	var myHtml = element.innerHTML;
	// The following was written with a little help from J. Roberson via the regexbuddy.com forum. 
	var regex = new RegExp(searchFor,"ig");
	var replaceWith = '<span class="'+css+'">$&</span>'; 
	var re_parse_html_tags = /(<\/?\w+[^>]*>)|([^<]+)/g;
	var newHtml = myHtml.replace(re_parse_html_tags,
		function(m0, m1, m2){
            if (m1) { // m1 contains opening or closing tag
				//alert('m1 =' + m1);
                return m1; // Return tags unmodofied.
            }
            if (m2) { // m2 contains stuff between tags
				//alert('m2 =' + m2);
                return m2.replace(regex, replaceWith);
            }
        });
    element.innerHTML = newHtml; // Write out processed HTML.
    return false;
}

function unHighlightTextNodes(element) {
	var myHtml = element.innerHTML; 
	var hiLi = 'csshilight';
	var regex = new RegExp(hiLi,"ig");
	var replaceWith = 'nohilight'; 
    element.innerHTML = myHtml.replace(regex, replaceWith); 
    return false;
}
function reHighlightTextNodes(element) {
	var myHtml = element.innerHTML; 
	var hiLi = 'nohilight';
	var regex = new RegExp(hiLi,"ig");
	var replaceWith = 'csshilight'; 
    element.innerHTML = myHtml.replace(regex, replaceWith); 
    return false;
}
function getSearchString() {
  // Return sanitized search string if it exists
   var rawSearchString = window.location.search.replace(/[a-zA-Z0-9\?\&\=\%\#]+searchword\=(\w+)(\&.*)?/,"$1");
   if(rawSearchString.indexOf("&")>-1){
	   rawSearchString = rawSearchString.substring(0,rawSearchString.indexOf("&"));
   }
   if(rawSearchString.indexOf("?")>-1){
	   var rawSearchString = window.location.search.replace(/[a-zA-Z0-9\?\&\=\%\#]+searchterms\=(\w+)(\&.*)?/,"$1");
	   if(rawSearchString.indexOf("&")>-1){
		   rawSearchString = rawSearchString.substring(0,rawSearchString.indexOf("&"));
	   }
   }
  return rawSearchString;
}

function getOffsetString() {
  // Return sanitized search string if it exists
  var rawOffsetString = window.location.search.replace(/[a-zA-Z0-9\?\&\=\-\%\#]+offset\=(\w+)(\&.*)?/,"$1");
  return rawOffsetString;
}  
function getSortString() {
  // Return sanitized search string if it exists
  var rawSortString = window.location.search.replace(/[a-zA-Z0-9\?\&\=\-\%\#]+sortby\=(\w+)(\&.*)?/,"$1");
  return rawSortString;
} 
function getHlString() {
  // Return sanitized search string if it exists
  var rawOffsetString = window.location.search.replace(/[a-zA-Z0-9\?\&\=\%\#]+hl\=(\w+)(\&.*)?/,"$1");
  return rawOffsetString;
}


function readCookie(cookieName){
	 var cookieNameToFind = cookieName + "=";
	 var arrCookies = document.cookie.split(';');
     for(var i=0;i < arrCookies.length;i++) {
		var desiredValue = arrCookies[i];
		while (desiredValue.charAt(0)==' '){
		    desiredValue = desiredValue.substring(1,desiredValue.length);
		}
	    if(desiredValue.indexOf(cookieNameToFind) == 0){
	         return desiredValue.substring(cookieNameToFind.length,desiredValue.length);
		}
	 }
	 return null
}

  // Creates and initializes a new Date object
  expireDate = new Date
  expireDate.setMonth(expireDate.getMonth()+1)

function setCookie(name,value){
	document.cookie = escape(name) + "=" + escape(value) + "; expires=" + expireDate.toGMTString() + '; path=/'
}
  /*
  	getElementsByClassName()
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
  */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('2 7=r(f,g,h){9(4.7){7=r(a,b,c){c=c||4;2 d=c.7(a),t=(b)?z A("\\\\b"+b+"\\\\b","i"):n,3=[],5;o(2 i=0,B=d.p;i<B;i+=1){5=d[i];9(!t||t.C(5.t)){3.u(5)}}v 3}}D 9(4.w){7=r(a,b,c){b=b||"*";c=c||4;2 d=a.E(" "),6="",x="L://M.N.O/P/Q",F=(4.R.S===x)?x:n,3=[],8,y;o(2 j=0,G=d.p;j<G;j+=1){6+="[T(U(\' \', @V, \' \'), \' "+d[j]+" \')]"}W{8=4.w(".//"+b+6,c,F,0,n)}X(e){8=4.w(".//"+b+6,c,n,0,n)}Y((y=8.Z())){3.u(y)}v 3}}D{7=r(a,b,c){b=b||"*";c=c||4;2 d=a.E(" "),6=[],8=(b==="*"&&c.H)?c.H:c.10(b),5,3=[],q;o(2 k=0,I=d.p;k<I;k+=1){6.u(z A("(^|\\\\s)"+d[k]+"(\\\\s|$)"))}o(2 l=0,J=8.p;l<J;l+=1){5=8[l];q=11;o(2 m=0,K=6.p;m<K;m+=1){q=6[m].C(5.12);9(!q){13}}9(q){3.u(5)}}v 3}}v 7(f,g,h)};',62,66,'||var|returnElements|document|current|classesToCheck|getElementsByClassName|elements|if||||||||||||||null|for|length|match|function||nodeName|push|return|evaluate|xhtmlNamespace|node|new|RegExp|il|test|else|split|namespaceResolver|jl|all|kl|ll|ml|http|www|w3|org|1999|xhtml|documentElement|namespaceURI|contains|concat|class|try|catch|while|iterateNext|getElementsByTagName|false|className|break'.split('|'),0,{}))


// below is for integrated cart summary display

function fadeOut(x) {
	var duration = 2000;  /* 1000 millisecond fade = 1 sec */
	var steps = 20;       /* number of opacity intervals   */
	var ctr = steps;
	 for (i = 0; i <= 1; i += (1 / steps)) {
		ctr = ctr -1;
		if(ctr==0){
			setTimeout("setOpacity(" + 0 + ", '" + x + "')", i * duration);
		}else{
			setTimeout("setOpacity(" + (1 - i) + ", '" + x + "')", i * duration);
		}
	 }
}

function setOpacity(level, x) {
 var el = document.getElementById(x);
  el.style.opacity = level;
  el.style.MozOpacity = level;
  el.style.KhtmlOpacity = level;
 // el.style.filter = "alpha(opacity=" + (level * 100) + ");"; //looks like crap for IE
  
  if(level==0){
  	  el.style.visibility = 'hidden';
	  el.style.opacity = 1;
	  el.style.MozOpacity = 1;
	  el.style.KhtmlOpacity = 1;
	 // el.style.filter = "alpha(opacity=" + (1 * 100) + ");";//looks like crap for IE
  }
}
function confirmAddition(x,theForm,opts){
	var btnMsg = document.getElementById(x);
	if(opts != ''){
		//alert("'prodform" + x.substr(10) + "'");
		//alert(opts);
		if(verifyChecks(theForm, "'prodform" + x.substr(10) + "'",opts)){
			btnMsg.style.visibility = 'visible';
			setTimeout("fadeOut('"+ x +"')", 2000);
		}
	}else{
		var btnMsg = document.getElementById(x);
		btnMsg.style.visibility = 'visible';
		setTimeout("fadeOut('"+ x +"')", 2000);
	}
}

function verifyChecks(theForm,theFormId,len){
	var isACheckedVal = false;
	for (i = 0; i < parseInt(len); i++){
		if(theForm.elements.AddItem[i].checked==true){
			isACheckedVal = true;
			break;
		}
	}
	if(isACheckedVal==false){
		return false;
	}else{
		return true;
	}
}  

