// JavaScript Document

//----------------------------------------------------------------------------------------------------------BEGIN FUNCTION
function calcTime(a){
	var monthdays = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
	var thisdate= new Date();
	var revdate = a;
	
	var revyear = revdate.substring(6,10); revyear=parseFloat(revyear); //alert(revyear);
	var revmonth = revdate.substring(0,2); revmonth=parseFloat(revmonth);
	var revdate = revdate.substring(3,5); revdate=parseFloat(revdate);//alert(revdate);
	var days=0;
	var days1=0;
	var days2=0;
	var thisyear=thisdate.getFullYear(); thisyear=parseFloat(thisyear);
	var thismonth=thisdate.getMonth(); thismonth=parseFloat(thismonth); thismonth=thismonth+1;
	var thisday=thisdate.getDate(); thisday=parseFloat(thisday);
	
	
	for(z=0; z<thismonth; z++){//get current year total days
		days1=days1+parseFloat(monthdays[z]);}
	
	days1=days1+thisday; // current month
	
	
	for(y=0; y<revmonth; y++){//get review date total days
		days2=days2+parseFloat(monthdays[y]);}
	
	days2=days2+revdate; // current month
	
	if(thisyear>revyear){ //adjust for year's past
		var yrs=thisyear-revyear; days1=days1+(yrs*365);}
	
	days=days1-days2;
	return days;
}//---------------------------------------------------------------------------------------------------------END FUNCTION
//----------------------------------------------------------------------------------------------------------BEGIN FUNCTION
function byAttrib(a){
	
	var desc='<div>DISPLAYING RESULTS | '+String(a.id)+': '+String(a.value)+'</div>';
	var searchtag = String(a.id);
	var searchtxt = String(a.value);
	var nodeslength = String(xmlObj.length);
	var myObj=new Array();
	var myObj2=new Array();
	var cnt=0;
	var cnt2 = 0;
	
	if(searchtag=='targetspecies'){
		
		for (i=0; i<nodeslength; i++){
		var thisproduct=String(xmlObj[i].targetspecies);
		var daysold=calcTime(xmlObj[i].revdate);
		if(thisproduct==searchtxt){myObj[cnt]=xmlObj[i]; myObj[cnt].daysold=daysold; cnt=cnt+1;}}
		
	myObj=myObj.sort(sortBydays);
	
	
	if(!myObj.length){desc+='<p style="color:#C00; text-align:center; font-size:12px;">Sorry. No primary lures found.</p>'}else{
		
		
		
		for (p=0; p<myObj.length; p++){
			
			desc+='<div class="icon_shell"><div class="icon_container" onclick="javascript:document.location=\''+myObj[p].revlink+'\'"><img src="'+String(myObj[p].imgsrc)+'" alt="'+myObj[p].text+'" width="105" height="72" class="icon_img" /><br />'+myObj[p].text+'</div></div>';}
	}
		
		for (i=0; i<nodeslength; i++){
			var thisproduct=String(xmlObj[i].altspecies);
			var daysold=calcTime(xmlObj[i].revdate);
			var findit = thisproduct.indexOf(searchtxt);
			if(findit!=-1){myObj2[cnt2]=xmlObj[i]; myObj2[cnt2].daysold=daysold; cnt2=cnt2+1;}
		}
		
	myObj2=myObj2.sort(sortBydays);
		
		if(myObj2.length){
			if(!myObj.length){desc+='<div class="clear">&nbsp;</div><p style="text-align:center; color:#360">However, secondary lures for '+searchtxt+' include:</p>';}else{desc+='<div class="clear">&nbsp;</div><p style="text-align:center; font-size:14px; color:#360;">You may also want to try...</p>';}
			for (p=0; p<myObj2.length; p++){
				desc+='<div class="icon_shell"><div class="icon_container" onclick="javascript:document.location=\''+myObj2[p].revlink+'\'"><img src="'+String(myObj2[p].imgsrc)+'" alt="'+myObj2[p].text+'" width="105" height="72" class="icon_img" /><br />'+myObj2[p].text+'</div></div>';}
		}
	
	}else{
		
	for (i=0; i<nodeslength; i++){
		//STUPID HARD-CODE FIX UNTIL I FIND AN ALTERNATIVE
			if(searchtag=='category'){var thisproduct=String(xmlObj[i].category);}
			if(searchtag=='manufacturer'){var thisproduct=String(xmlObj[i].manufacturer);}
			if(searchtag=='rating'){var thisproduct=String(xmlObj[i].rating);}
		//END OF STUPID FIX
		
		var daysold=calcTime(xmlObj[i].revdate);
		if(thisproduct==searchtxt){myObj[cnt]=xmlObj[i]; myObj[cnt].daysold=daysold; cnt=cnt+1;}}
		
	myObj=myObj.sort(sortBydays);
	
	if(!myObj.length){desc+='<p style="color:#C00; text-align:center; font-size:12px;">Sorry. No results found.</p>'}else{
		for (p=0; p<myObj.length; p++){
			desc+='<div class="icon_shell"><div class="icon_container" onclick="javascript:document.location=\''+myObj[p].revlink+'\'"><img src="'+String(myObj[p].imgsrc)+'" alt="'+myObj[p].text+'" width="105" height="72" class="icon_img" /><br />'+myObj[p].text+'</div></div>';}
	}
	
	}

	desc=desc+'<div class="clear">&nbsp;</div>';
	
	loadDiv(desc);
}//---------------------------------------------------------------------------------------------------------END FUNCTION
//----------------------------------------------------------------------------------------------------------BEGIN FUNCTION
function byDate(a){
	var desc='';
	var timestring='';
	if(a.value=='9999'){timestring='DISPLAYING ALL';}else{timestring='LESS THAN '+String(a.value)+' DAYS OLD';}
	desc+='<div>FISHING LURE &amp; GEAR REVIEWS | <strong>'+timestring+'</strong></div>';
	var searchtxt = String(a.value);
	var nodeslength = String(xmlObj.length);
	var myObj=new Array();
	var cnt=0;
	
	for (i=0; i<nodeslength; i++){
		var daysold=calcTime(xmlObj[i].revdate);
		if(daysold<=searchtxt){myObj[cnt]=xmlObj[i]; myObj[cnt].daysold=daysold; cnt=cnt+1;}}
	
	myObj=myObj.sort(sortBydays);
	
	if(!myObj.length){desc+='<p style="color:#C00; text-align:center; font-size:12px;">Sorry. No results found.</p>'}else{
		for (p=0; p<myObj.length; p++){
			desc+='<div class="icon_shell"><div class="icon_container" onclick="javascript:document.location=\''+myObj[p].revlink+'\'"><img src="'+String(myObj[p].imgsrc)+'" alt="'+myObj[p].text+'" width="105" height="72" class="icon_img" /><br />'+myObj[p].text+'</div></div>';}
	}
	desc+='<div class="clear">&nbsp;</div>';
	loadDiv(desc);
}//---------------------------------------------------------------------------------------------------------END FUNCTION
//----------------------------------------------------------------------------------------------------------BEGIN FUNCTION
function sortBydays(a, b) {
    var x = parseFloat(a.daysold);
    var y = parseFloat(b.daysold);
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}//---------------------------------------------------------------------------------------------------------END FUNCTION
//----------------------------------------------------------------------------------------------------------BEGIN FUNCTION
function loadDiv(a){
	var srch=document.getElementById('srch_terms'); srch.reset();
	var mydiv=document.getElementById('iconframe');
	mydiv.innerHTML=a;
}//---------------------------------------------------------------------------------------------------------END FUNCTION
//----------------------------------------------------------------------------------------------------------BEGIN FUNCTION
function reviewsLoadInitial(){
	var nodeslength = String(xmlObj.length);
	var triObj=new Array();
	var cn=0;
	
	var desc='<fieldset><legend>FISHING LURE &amp; GEAR REVIEWS | <strong>MOST RECENT</strong></legend>';
var thm_desc='';
	
	triObj=xmlObj.sort(sortBydays);

	if(!triObj.length){
		desc=desc+'<p style="color:#C00; text-align:center; font-size:12px;">Sorry. No results found.</p>';
		thm_desc+='<p style="color:#C00; text-align:center; font-size:12px;">Sorry. No results found.</p>'
		}
	else{
		for (n=0; n<4; n++){
			desc+='<div class="reviewitem"><a href="'+triObj[n].revlink+'"><img src="'+String(triObj[n].imgsrc)+'" alt="'+triObj[n].text+'" width="105" height="72" /></a><p class="review_title"><a href="'+triObj[n].revlink+'">'+triObj[n].text+'</a></p><p class="review_tease">'+triObj[n].lead+'&nbsp;<a href="'+triObj[n].revlink+'">More...</a></p></div>';
		}
		for(n=0; n<triObj.length; n++){
			thm_desc+='<a href="'+triObj[n].revlink+'"><img src="'+String(triObj[n].imgsrc)+'" alt="'+triObj[n].text+'" width="105" height="72" class="review_pic" /></a>';
		}
	}
	desc+='</fieldset>';
	loadDiv(desc);
	var thumbnails = document.getElementById('thumbnails');
	thumbnails.innerHTML = '<fieldset style="padding-left:4px;"><legend>Index of All Reviews</legend><p style="color:#666; text-align:center; margin:8px;">Click on any thumbnail for more information</p>'+thm_desc+'</fieldset>';
}//---------------------------------------------------------------------------------------------------------END FUNCTION
//--------------------------------------------------------------------------------------------BEGIN FUNCTION
function loadXMLDoc(url) {
    // branch for IE/Windows ActiveX version
    if (window.ActiveXObject) {
		//alert('window.ActiveXObject');
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();}
	// branch for native XMLHttpRequest object
	}else if (window.XMLHttpRequest) {
			//alert('window.XMLHttpRequest');
       		req = new XMLHttpRequest();
        	req.onreadystatechange = processReqChange;
        	req.open("GET", url, true);
        	req.send(null);}
}//--------------------------------------------------------------------------------------------END FUNCTION
//---------------------------------------------------------------------------------------------BEGIN FUNCTION
// handle onreadystatechange event of req object
function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
		   var myObj = new Array();
		   var items = req.responseXML.getElementsByTagName("product");
		   for (i=0; i<items.length; i++){
			   var tempObj = new Object();
			   tempObj.category=items[i].getAttribute("category");
			   tempObj.manufacturer=items[i].getAttribute("manufacturer");
			   tempObj.lead=items[i].getAttribute("lead");
			   tempObj.imgsrc=items[i].getAttribute("imgsrc");
			   tempObj.revlink=items[i].getAttribute("revlink");
			   tempObj.revdate=items[i].getAttribute("revdate");
			   tempObj.rating=items[i].getAttribute("rating");
			   tempObj.targetspecies=items[i].getAttribute("targetspecies");
			   tempObj.altspecies=items[i].getAttribute("altspecies");
			   tempObj.text=items[i].firstChild.nodeValue;
			   tempObj.daysold=calcTime(tempObj.revdate);
			   myObj[i]=tempObj;
		
		   }
			xmlObj=myObj;

        } else {
            alert("There was a problem retrieving the review data:\n" + req.statusText);
        }
    }
}//--------------------------------------------------------------------------------------------END FUNCTION
//----------------------------------------------------------------------------------------------------------BEGIN FUNCTION
function showAll() {
    var obj = new Object();
	obj.value='9999';
	byDate(obj);
}//---------------------------------------------------------------------------------------------------------END FUNCTION
