//########################################################################
// NewVista site main javascript file

// preload the bubble stuff
		if (document.images) {
		  image5Pre = new Image();
		  image5Pre.src = "images/layout/infowindow/close.gif";
		  image7Pre = new Image();
		  image7Pre.src = "images/layout/infowindow/iw_e.png";
		  image8Pre = new Image();
		  image8Pre.src = "images/layout/infowindow/iw_n.png";
		  image9Pre = new Image();
		  image9Pre.src = "images/layout/infowindow/iw_ne.png";
		  image10Pre = new Image();
		  image10Pre.src = "images/layout/infowindow/iw_nw.png";
		  image11Pre = new Image();
		  image11Pre.src = "images/layout/infowindow/iw_s0.png";
		  image12Pre = new Image();
		  image12Pre.src = "images/layout/infowindow/iw_se0.png";
		  image13Pre = new Image();
		  image13Pre.src = "images/layout/infowindow/iw_sw0.png";
		  image15aPre = new Image();
		  image15aPre.src = "images/layout/infowindow/iw_w.png";
		  image14Pre = new Image();
		  image14Pre.src = "images/layout/infowindow/iw_tap_ur.png";
		  image23Pre = new Image();
		  image23Pre.src = "images/layout/infowindow/iw_tap_ur2.png";
		  image30Pre = new Image();
		  image30Pre.src = "images/layout/headLine.jpg";
		  image31Pre = new Image();
		  image31Pre.src = "images/layout/prevArrow3.jpg";
		  image32Pre = new Image();
		  image32Pre.src = "images/layout/nextArrow3.jpg";
		}



//////////////////////////////////////////////////////////////////////////////////
// cookies... 
		function setCookie(keyOf,valueSet,days) {
			if (days) {
				var date = new Date();
				date.setTime(date.getTime()+(days*24*60*60*1000));
				var expires = "; expires="+date.toGMTString();
			}
			else var expires = "";
			document.cookie = keyOf+"="+valueSet+expires+"; path=/";
		}
		
		function readCookie(keyOf) {
			var nameEQ = keyOf + "=";
			var ca = document.cookie.split(';');
			for(var i=0;i < ca.length;i++) {
				var c = ca[i];
				while (c.charAt(0)==' ') c = c.substring(1,c.length);
				if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
			}
			return '';
		}
		
		function eraseCookie(keyOf) {
			createCookie(keyOf,"",-1);
		}
		
//////////////////////////////////////////////////////////////////////////////////




//////////////////////////////////////////////////////////////////////////////////
// general utility
		function urldecode(str) {
		    var ret = str;
		    ret = ret.replace(/\+/g, '%20');
		    ret = decodeURIComponent(ret);
		    ret = ret.toString();
		    return ret;
		}
		function addslashes(str) {
			return str.replace('/(["\'\])/g', "\\$1").replace('/\0/g', "\\0");
		}
		function stripslashes(str) {
			return str.replace('/\0/g', '0').replace('/\(.)/g', '$1');
		}


		function in_array(needle, haystack)	{
			for (h in haystack) {
				if (haystack[h] == needle) {
				  return h;
				}
			}
			return false;
		}

		function strstr(haystack,needle,bool) {
		    var pos = 0;
		    pos = haystack.indexOf( needle );
		    if(pos == -1) {
		        return false;
		    } else {
		        if(bool) {
		            return haystack.substr(0,pos);
		        } else{
		            return haystack.slice(pos);
		        }
		    }
		}

	 function setOptions(selBox, dataArr, dispArr) {
	   //alert("Setting: "+dispArr[0]);
		selBox.options.length = 1; // 0 to overwrite the first default option 
		//if (chosenOne != "") {
		  //dataArr = dataArr[chosenOne];
		  //dispArr = dispArr[chosenOne];
		//}
		//alert("num: "+dataArr.length);
		if (dataArr) {
			for(var i=0;i < dataArr.length;i++) {
				  selBox.options[selBox.options.length] = new Option(urldecode(dispArr[i]),dataArr[i]);
			}
		}
		// chooseWhich
	}

	function enDisAble(eleMent) {
	  if (eleMent.disabled == false) {
	    eleMent.disabled = true;
	  } else {
	    eleMent.disabled = false;
	  }
	}

	function printDiv(eleMent) {
		var a = window. open('','','scrollbars=yes,width=900,height=500');
		a.document.open("text/html");
		a.document.write('<html><head><link rel="stylesheet" href="styles.css" /><style type="text/css">#frame{background-image:none;background-color:#FFFFFF;}</style></head><body style="padding-left:20px;background-image:none;background-color:#FFFFFF;">&nbsp;<br>');
		a.document.write(document.getElementById(eleMent).innerHTML);
		a.document.write('</body></html>');
		a.document.close();
		a.print();
	}

//////////////////////////////////////////////////////////////////////////////////



	function showResults() {
	  var numShown = 0;
		// look at current state of form, and then return results based on selections
		myChosenCat = document.patentBrowser.category.options[document.patentBrowser.category.selectedIndex].value;
		//myChosenSubCat = document.patentBrowser.subcategory.options[document.patentBrowser.subcategory.selectedIndex].value;
		//if (document.patentBrowser.licensedFromOther.checked == true) {
		  //licensedFromOther = 'y';
		  //--licensedFromChoice = document.patentBrowser.licensedFrom.options[document.patentBrowser.licensedFrom.selectedIndex].value;
		  //licensedFromChoice = '';
		//} else {
		  //licensedFromOther = 'n';
		  //licensedFromChoice = '';
		//}
		//if (document.patentBrowser.licensedToOther.checked == true) {
		  //licensedToOther = 'y';
		  //licensedToChoice = document.patentBrowser.licensedTo.options[document.patentBrowser.licensedTo.selectedIndex].value;
		//} else {
		  //licensedToOther = 'n';
		  //licensedToChoice = '';
		//}
		mySearchStr = document.patentBrowser.searchStr.value;
		//alert("str: "+mySearchStr);
		
		myStatus = document.patentBrowser.status.options[document.patentBrowser.status.selectedIndex].value;
		//alert("myStatus: "+myStatus);
		
		numAll = patentsData.length;
		myDataHTML = "<div id='resultsDisplay' style='width: 795px; height: 470px; overflow: auto; background-color: #f9f9f9; border: 1px dotted #e0e0e0; display: block; margin-left: 0px; padding: 10px;'>"+
			"<table cellpadding='3' cellspacing='0' width='775' border='1' bordercolor='#c9c9c9' rules='cols'>"+
			"	<tr>"+
			"		<td align='center' class='tinystrSansWht' bgcolor='#6f6f6f' width='170'>Title</td>"+
			"		<td align='center' class='tinystrSansWht' bgcolor='#6f6f6f'>Docket #</td>"+
			"		<td align='center' class='tinystrSansWht' bgcolor='#6f6f6f'>Serial #</td>"+
			"		<td align='center' class='tinystrSansWht' bgcolor='#6f6f6f'>Date Filed</td>"+
			"		<td align='center' class='tinystrSansWht' bgcolor='#6f6f6f'>Status</td>"+
			"		<td align='center' class='tinystrSansWht' bgcolor='#6f6f6f'>Downloads</td>"+
			"	</tr>";
			//"		<td align='center' class='tinystrSansWht' bgcolor='#6f6f6f' nowrap>Licensed for</td>"+
		for(var i=0;i < numAll; i++) {
		  displayThis = true;
		  if (myChosenCat != '' && patentsData[i].patentCategory != myChosenCat) {
		    displayThis = false;
		  }
		  //if (displayThis && myChosenSubCat != '' && patentsData[i].patentSubCategory != myChosenSubCat) {
		    //displayThis = false;
		  //}
		  if (displayThis && myStatus != '' && patentsData[i].patentStatus != myStatus) {
		    displayThis = false;
		  }
		  if (mySearchStr) {
		    if (!strstr(patentsData[i].patentTitle.toLowerCase(), mySearchStr.toLowerCase(), false)
		    		&& !strstr(patentsData[i].shortDescription.toLowerCase(), mySearchStr.toLowerCase(), false)
		    		&& !strstr(patentsData[i].patentDocketNum.toLowerCase(), mySearchStr.toLowerCase(), false)
		    		&& !strstr(patentsData[i].patentSerialNum.toLowerCase(), mySearchStr.toLowerCase(), false)
		    		&& !strstr(patentsData[i].patentIssueNum.toLowerCase(), mySearchStr.toLowerCase(), false)
		    		&& !strstr(patentsData[i].isLicensedDescrip.toLowerCase(), mySearchStr.toLowerCase(), false)) {
		      displayThis = false;
		    }
		  }
		  //alert(patentsData[i].isLicensedToProject+'|'+myProjectID+'|');
		  mylicensedForDesc = "";
		  //if (patentsData[i].isLicensedToProject  && patentsData[i].isLicensedDescrip) {
		      //licensedIDs = urldecode(patentsData[i].isLicensedToProject).split("|");
		      //numLicFr = licensedIDs.length;
		    //licensedForDescs = urldecode(patentsData[i].isLicensedDescrip).split("|");
		    //for(var j=0;j < numLicFr; j++) {
		      //if (licensedIDs[j] == myProjectID) {
		        //mylicensedForDesc = "<strong>Licensed from:</strong> "+projectsByIds[patentsData[i].projectID]+"<br> <strong>Licensed for:</strong> "+licensedForDescs[j];
		      //}
		    //}
		  //}
		  //if (displayThis && licensedFromOther == 'y' 
		  		//&& !strstr(urldecode(patentsData[i].isLicensedToProject), '|'+myProjectID+'|', false)
		  		//&& patentsData[i].projectID == myProjectID) {
		      //displayThis = false;
		 // }
		  //if (displayThis && licensedFromOther == 'y' && patentsData[i].projectID != licensedFromChoice) {
		    //if (licensedFromChoice == '' && patentsData[i].projectID == myProjectID) {
		      //displayThis = false;
		    //} else if (licensedFromChoice != '' && patentsData[i].projectID != licensedFromChoice) {
		      //displayThis = false;
		    //}
		  //}
		  //alert(patentsData[i].isLicensedToProject+'|'+licensedToChoice+'|');
		  //if (displayThis && licensedToOther == 'y' && patentsData[i].isLicensedToProject && licensedToChoice != ''
		  		//&& !strstr(urldecode(patentsData[i].isLicensedToProject), '|'+licensedToChoice+'|', false)) {
		     //displayThis = false;
		  //} else if (displayThis && licensedToOther == 'y' && !patentsData[i].isLicensedToProject && licensedToChoice == '') {
		     //displayThis = false;
		  //}


		  if (displayThis) {
			 bgcol = (numShown % 2 == 0) ? "#f1f1f1" : "";
		    myDataHTML += "	<tr>"+
				"		<td class='tinySans' bgcolor='"+bgcol+"'>"+urldecode(patentsData[i].patentTitle)+"</td>"+
				"		<td class='tinySans' bgcolor='"+bgcol+"' nowrap> "+urldecode(patentsData[i].patentDocketNum)+" </td>"+
				"		<td class='tinySans' bgcolor='"+bgcol+"' nowrap> "+urldecode(patentsData[i].patentSerialNum)+" </td>"+
				"		<td class='tinySans' bgcolor='"+bgcol+"'> "+urldecode(patentsData[i].patentFiledDate)+" </td>"+
				"		<td class='tinySans' bgcolor='"+bgcol+"'> &nbsp;"+urldecode(patentsData[i].patentStatus)+"</td>"+
				"		<td class='tinySans' bgcolor='"+bgcol+"' nowrap>"+urldecode(patentsData[i].fullThere)+"<br>"+urldecode(patentsData[i].abstThere)+"</td>"+
				"	</tr>";
		    ++numShown;
		    // "		<td class='tinyestSans' bgcolor='"+bgcol+"'> &nbsp;"+mylicensedForDesc+"</td>"+

		  }
		}
	
		myDataHTML += "</table></div>";
		document.getElementById("dataHolder").innerHTML = myDataHTML;
	} // end function showResults
//////////////////////////////////////////////////////////////////////////////////
// application specific functions... 

		function openSuggestionBox(myMoreInfoID,myMoreInfoTitle,myMoreInfoDesc,slotOf) {
		   var suggestionBubble = document.getElementById("suggestionDiv");
		   var myCkdEmail = urldecode(readCookie("fromEmail"));
		   var myCkdName = urldecode(readCookie("fromName"));
			var newHTMLstring = 
			"<div id='closerSB' style='position:absolute; left:655px; top:59px; width:14px; height:13px; z-index:42;'><a href='javascript:clearSuggestionBox()'><img src='images/layout/infowindow/close.gif' width='14' height='13' border='0' alt=''></a></div>"+
			"<div id='ulSB' style='position:absolute; left:0px; top:50px; width:25px; height:25px; z-index:41;'><img src='images/layout/infowindow/iw_nw.png' width='25' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='u1SB' style='position:absolute; left:25px; top:50px; width:500px; height:25px; z-index:41;'><img src='images/layout/infowindow/iw_n.png' width='500' height='25' alt='' onload='fixPNG(this)'><!-- <img src='images/layout/infowindow/iw_tap_ur.png' width='98' height='75' alt='' onload='fixPNG(this)'> --></div>"+
			"<div id='u2SB' style='position:absolute; left:525px; top:50px; width:130px; height:25px; z-index:41;'><img src='images/layout/infowindow/iw_n.png' width='130' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='upSB' style='position:absolute; left:655px; top:50px; width:25px; height:25px; z-index:41;'><img src='images/layout/infowindow/iw_ne.png' width='25' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='ltSB' style='position:absolute; left:0px; top:75px; width:25px; height:380px; z-index:41;'><img src='images/layout/infowindow/iw_w.png' width='25' height='480' alt='' onload='fixPNG(this)'></div>"+
			"<div id='rtSB' style='position:absolute; left:655px; top:75px; width:25px; height:380px; z-index:41;'><img src='images/layout/infowindow/iw_e.png' width='25' height='480' alt='' onload='fixPNG(this)'></div>"+
			"<div id='blSB' style='position:absolute; left:0px; top:555px; width:25px; height:96px; z-index:41;'><img src='images/layout/infowindow/iw_sw0.png' width='25' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='bSB' style='position:absolute; left:25px; top:555px; width:25px; height:96px; z-index:41;'><img src='images/layout/infowindow/iw_s0.png' width='630' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='brSB' style='position:absolute; left:655px; top:555px; width:25px; height:96px; z-index:41;'><img src='images/layout/infowindow/iw_se0.png' width='25' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='hdSB' style='position:absolute; left:50px; top:54px; width:580px; height:30px; text-align: center; z-index:42;'><span class='tinystrSans'>Submit a Suggestion or Critique";
			if (myMoreInfoTitle) {
			  newHTMLstring += " Regarding "+myMoreInfoTitle;
			}
			newHTMLstring += "<span></div>";
			newHTMLstring += "<div style='position:absolute; left:15px; top:75px; width:650px; height:30px; text-align: left; z-index:42;'><span class='tinySans'>"+myMoreInfoDesc+"<span></div>";
			newHTMLstring += "<form name='formSuggest' onSubmit='makeSuggRq(); return false;'>";
			newHTMLstring += "<input type='hidden' name='myMoreInfoID' value='"+myMoreInfoID+"'>";
			newHTMLstring += "<input type='hidden' name='slotOf' value='"+slotOf+"'>";
			newHTMLstring += "<input type='hidden' name='myMoreInfoTitle' value='"+myMoreInfoTitle+"'>";
			newHTMLstring += "<input type='hidden' name='myMoreInfoDesc' value='"+myMoreInfoDesc+"'>";
			newHTMLstring += "<div style='position:absolute; left:80px; top:150px; width:420px; height:20px; text-align: right; z-index:42;'><span class='tinyeststrSans'>Your Name: <span>";
			newHTMLstring += "<span class='tinyestSans'><input name='fromName' class='forMatt1' type='text' value='"+myCkdName+"' size='40' style='width: 300px;'><span></div>";
			newHTMLstring += "<div style='position:absolute; left:80px; top:180px; width:420px; height:20px; text-align: right; z-index:42;'><span class='tinyeststrSans'>Your Email: <span>";
			newHTMLstring += "<span class='tinyestSans'><input name='fromEmail' class='forMatt1' type='text' value='"+myCkdEmail+"' size='40' style='width: 300px;'><span></div>";
			newHTMLstring += "<div style='position:absolute; left:50px; top:210px; width:580px; height:300px; text-align: left; z-index:42;'><span class='tinyeststrSans'>Your Comments: <span><br \>";
			newHTMLstring += "<span class='tinyestSans'><textarea name='comments' cols='20' rows='8' class='forMattTextArea1' style='height: 280px; width: 580px;' wrap='soft'></textarea><span></div>";
			newHTMLstring += "<div style='position:absolute; left:200px; top:535px; width:300px; height:40px; text-align: left; z-index:42;'><span class='tinyeststrSans'><input type='submit' name='SubmitForm' class='tinystr' value='Send Comments'><span> &nbsp; &nbsp; &nbsp;";
			newHTMLstring += "<span class='tinyestSans'><input type='reset' name='ResetForm' class='tinystr' value='Clear Form'><span></div>";
			newHTMLstring += "</form>";
			newHTMLstring += "";
			newHTMLstring += "<div id='messageState' style='position:absolute; left:75px; top:190px; width:530px; height:200px; z-index:43; visibility: hidden;' class='warningBox'></div>";
			newHTMLstring += "<div id='warnXcloser' style='position:absolute; left:590px; top:191px; width:14px; height:13px; z-index:44; visibility: hidden;'><a href='javascript:clearWarningBox()'><img src='images/layout/infowindow/close.gif' width='14' height='13' border='0' alt=''></a></div>";
			newHTMLstring += "<div id='bkSB' style='position:absolute; left:25px; top:75px; width:630px; height:490px; background-color: #FFFFFF; z-index:41'></div>";
		  suggestionBubble.innerHTML = newHTMLstring;
		  suggestionBubble.style.visibility = "visible";
		}
		
		function clearSuggestionBox() {
		   var suggestionBubble = document.getElementById("suggestionDiv");
			suggestionBubble.innerHTML = "";
			suggestionBubble.style.visibility = "hidden";
		}
		
		function clearWarningBox() {
		   var warningBubble = document.getElementById("messageState");
			warningBubble.innerHTML = "";
			warningBubble.style.visibility = "hidden";
		   var warningX = document.getElementById("warnXcloser");
			warningX.style.visibility = "hidden";
		}

		function suggHandler() {
		  if (requester.readyState == 4) {
		  //alert("my response:"+requester.readyState)
			 if (requester.status == 200) {
				  //responseXML or responseText
				  //alert("your response:"+requester.responseText);
				  var suggRqTarget = document.getElementById("messageState");
				  var myCloserX = document.getElementById("warnXcloser");
				  suggRqTarget.innerHTML = requester.responseText;
					suggRqTarget.style.visibility = "visible";
					myCloserX.style.visibility = "visible";
					setTimeout('clearWarningBox();', 5000);
					if (!strstr(requester.responseText,"error")) {
					  setTimeout('clearSuggestionBox();', 7000);
					}
			 } else {
				  var suggRqTarget = document.getElementById("messageState");
				  suggRqTarget.innerHTML = "an error:";
			 }
		  }
		  return true;
		}

		function makeSuggRq() {
			try {
			 requester = new XMLHttpRequest();
			} catch (error) {
			 try {
			   requester = new ActiveXObject("Microsoft.XMLHTTP");
			 } catch (error) {
			   return false;
			 }
			}
			requester.onreadystatechange = suggHandler;
		   requester.open("POST", "suggest.php");
			requester.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			var rqVars = "myMoreInfoID="+document.formSuggest.myMoreInfoID.value
				+"&slotOf="+document.formSuggest.slotOf.value
				+"&myMoreInfoTitle="+document.formSuggest.myMoreInfoTitle.value
				+"&myMoreInfoDesc="+document.formSuggest.myMoreInfoDesc.value
				+"&fromName="+document.formSuggest.fromName.value
				+"&fromEmail="+document.formSuggest.fromEmail.value
				+"&comments="+document.formSuggest.comments.value;
			requester.send(rqVars);
			return false;
		}

		

		function makeMoreInfoRq(myMoreInfoURL) {
			try {
			 rqMI = new XMLHttpRequest();
			} catch (error) {
			 try {
			   rqMI = new ActiveXObject("Microsoft.XMLHTTP");
			 } catch (error) {
			   return false;
			 }
			}
			rqMI.onreadystatechange = moreInfoRqHandler;
		   rqMI.open("GET", myMoreInfoURL);
			rqMI.send(null);
			return false;
		}
		function moreInfoRqHandler() {
		  if (rqMI.readyState == 4) {
				  var moreInfoRqTarget = document.getElementById("moreInfoContent");
				  moreInfoRqTarget.innerHTML = rqMI.responseText;
		  }
		  return true;
		}

		function openAddInfoBox(myMoreInfoID,myMoreInfoTitle,slotOf) {
		   var addInfoBubble = document.getElementById("addInfoDiv");
			var newHTMLstring = 
			"<div id='closerAI' style='position:absolute; left:825px; top:9px; width:14px; height:13px; z-index:32;'><a href='javascript:clearAddInfoBox()'><img src='images/layout/infowindow/close.gif' width='14' height='13' border='0' alt=''></a></div>"+
			"<div id='ulAI' style='position:absolute; left:0px; top:0px; width:25px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_nw.png' width='25' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='u1AI' style='position:absolute; left:25px; top:0px; width:700px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_n.png' width='700' height='25' alt='' onload='fixPNG(this)'><!-- <img src='images/layout/infowindow/iw_tap_ur2.png' width='98' height='64' alt='' onload='fixPNG(this)'> --></div>"+
			"<div id='u2AI' style='position:absolute; left:725px; top:0px; width:100px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_n.png' width='100' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='upAI' style='position:absolute; left:825px; top:0px; width:25px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_ne.png' width='25' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='ltAI' style='position:absolute; left:0px; top:25px; width:25px; height:400px; z-index:31;'><img src='images/layout/infowindow/iw_w.png' width='25' height='500' alt='' onload='fixPNG(this)'></div>"+
			"<div id='rtAI' style='position:absolute; left:825px; top:25px; width:25px; height:400px; z-index:31;'><img src='images/layout/infowindow/iw_e.png' width='25' height='500' alt='' onload='fixPNG(this)'></div>"+
			"<div id='blAI' style='position:absolute; left:0px; top:525px; width:25px; height:96px; z-index:31;'><img src='images/layout/infowindow/iw_sw0.png' width='25' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='bAI' style='position:absolute; left:25px; top:525px; width:800px; height:96px; z-index:31;'><img src='images/layout/infowindow/iw_s0.png' width='800' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='brAI' style='position:absolute; left:825px; top:525px; width:25px; height:96px; z-index:31;'><img src='images/layout/infowindow/iw_se0.png' width='25' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='hdAI' style='position:absolute; left:50px; top:6px; width:750px; height:30px; text-align: center; z-index:32;'><span class='tinystrSans'>Additional Information";
			if (myMoreInfoTitle) {
			  newHTMLstring += " Regarding "+myMoreInfoTitle;
			}
			newHTMLstring += "<span></div>";
			
			newHTMLstring += "<div id='moreInfoContent' style='position:absolute; left:25px; top:43px; width:815px; height:500px; z-index:32; overflow: auto;'></div>";
			newHTMLstring += "<div id='bkSB' style='position:absolute; left:25px; top:25px; width:800px; height:500px; background-color: #FFFFFF; z-index:31'><span class='regstr'><span></div>";
		  addInfoBubble.innerHTML = newHTMLstring;
		  addInfoBubble.style.visibility = "visible";
		  var addInfoSrc = "moreInfo.php?myMoreInfoID="+myMoreInfoID;
		  makeMoreInfoRq(addInfoSrc);
		}
		function clearAddInfoBox() {
		   var addInfoBubble = document.getElementById("addInfoDiv");
			addInfoBubble.innerHTML = "";
			addInfoBubble.style.visibility = "hidden";
		}

		function makePatentsRq(myPatentsURL) {
			try {
			 rqPa = new XMLHttpRequest();
			} catch (error) {
			 try {
			   rqPa = new ActiveXObject("Microsoft.XMLHTTP");
			 } catch (error) {
			   return false;
			 }
			}
			rqPa.onreadystatechange = patentsRqHandler;
		   rqPa.open("GET", myPatentsURL);
			rqPa.send(null);
			return false;
		}
		function patentsRqHandler() {
		  if (rqPa.readyState == 4) {
				  var patentsRqTarget = document.getElementById("patentsContent");
				  patentsRqTarget.innerHTML = rqPa.responseText;
				  //setSubOptions(document.patentBrowser.category, '', myPatentCatIds, myPatentCats, '');
		  }
		  return true;
		}
		
		function getPatentsCats(myPatentsCatsURL) {
			try {
			 rqPaCa = new XMLHttpRequest();
			} catch (error) {
			 try {
			   rqPaCa = new ActiveXObject("Microsoft.XMLHTTP");
			 } catch (error) {
			   return false;
			 }
			}
			rqPaCa.onreadystatechange = patentsCaRqHandler;
		   rqPaCa.open("GET", myPatentsCatsURL);
			rqPaCa.send(null);
			return false;
		}
		function patentsCaRqHandler() {
		  if (rqPaCa.readyState == 4) {
				  //var patentsRqTarget = document.getElementById("patentsContent");
				 // patentsRqTarget.innerHTML = rqPa.responseText;
				 eval(rqPaCa.responseText);
				 //setSubOptions(document.patentBrowser.category, '', myPatentCatIds, myPatentCats, '');
		  		//var patentsSrc = "patents.php?projectID="+myProjectID;
		  		//makePatentsRq(patentsSrc);
				 //alert("yo:"+rqPaCa.responseText);
		  }
		  return true;
		}

		function openPatents(projectID) {
		  myProjectID = projectID;
		   var patentsBubble = document.getElementById("patentsDiv");
			var newHTMLstring = 
			"<div id='closerPa' style='position:absolute; left:850px; top:9px; width:14px; height:13px; z-index:32;'><a href='javascript:clearPatents()'><img src='images/layout/infowindow/close.gif' width='14' height='13' border='0' alt=''></a></div>"+
			"<div id='ulPa' style='position:absolute; left:0px; top:0px; width:25px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_nw.png' width='25' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='u1Pa' style='position:absolute; left:25px; top:0px; width:700px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_n.png' width='455' height='25' alt='' onload='fixPNG(this)'><!-- <img src='images/layout/infowindow/iw_tap_ur2.png' width='98' height='64' alt='' onload='fixPNG(this)'> --></div>"+
			"<div id='u2Pa' style='position:absolute; left:455px; top:0px; width:370px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_n.png' width='395' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='upPa' style='position:absolute; left:850px; top:0px; width:25px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_ne.png' width='25' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='ltPa' style='position:absolute; left:0px; top:25px; width:25px; height:400px; z-index:31;'><img src='images/layout/infowindow/iw_w.png' width='25' height='500' alt='' onload='fixPNG(this)'></div>"+
			"<div id='rtPa' style='position:absolute; left:850px; top:25px; width:25px; height:400px; z-index:31;'><img src='images/layout/infowindow/iw_e.png' width='25' height='500' alt='' onload='fixPNG(this)'></div>"+
			"<div id='blPa' style='position:absolute; left:0px; top:525px; width:25px; height:96px; z-index:31;'><img src='images/layout/infowindow/iw_sw0.png' width='25' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='bPa' style='position:absolute; left:25px; top:525px; width:800px; height:96px; z-index:31;'><img src='images/layout/infowindow/iw_s0.png' width='825' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='brPa' style='position:absolute; left:850px; top:525px; width:25px; height:96px; z-index:31;'><img src='images/layout/infowindow/iw_se0.png' width='25' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='hdPa' style='position:absolute; left:50px; top:6px; width:750px; height:30px; text-align: center; z-index:32;'><span class='tinystrSans'><span></div>";
			newHTMLstring += "<div id='patentsContent' style='position:absolute; left:30px; top:20px; width:835px; height:520px; z-index:32; overflow: auto;'></div>";
			newHTMLstring += "<div id='bkSBpa' style='position:absolute; left:25px; top:25px; width:825px; height:500px; background-color: #FFFFFF; z-index:31'><span class='regstr'><span></div>";
		  patentsBubble.innerHTML = newHTMLstring;
		  patentsBubble.style.visibility = "visible";
		  var patentsCaSrc = "patentCategories.php?projectID="+projectID;
		  getPatentsCats(patentsCaSrc);
		}
		function clearPatents() {
		   var patentsBubble = document.getElementById("patentsDiv");
			patentsBubble.innerHTML = "";
			patentsBubble.style.visibility = "hidden";
		}


		function makeTestDataRq(myTestDataURL) {
			try {
			 rqTD = new XMLHttpRequest();
			} catch (error) {
			 try {
			   rqTD = new ActiveXObject("Microsoft.XMLHTTP");
			 } catch (error) {
			   return false;
			 }
			}
			rqTD.onreadystatechange = testDataRqHandler;
		   rqTD.open("GET", myTestDataURL);
			rqTD.send(null);
			return false;
		}
		function testDataRqHandler() {
		  if (rqTD.readyState == 4) {
				  var testDataRqTarget = document.getElementById("testDataContent");
				  testDataRqTarget.innerHTML = rqTD.responseText;
		  }
		  return true;
		}

		function openTestData(projectID) {
		   var testDataBubble = document.getElementById("testDataDiv");
			var newHTMLstring = 
			"<div id='closerTD' style='position:absolute; left:825px; top:48px; width:14px; height:13px; z-index:32;'><a href='javascript:clearTestData()'><img src='images/layout/infowindow/close.gif' width='14' height='13' border='0' alt=''></a></div>"+
			"<div id='ulTD' style='position:absolute; left:0px; top:39px; width:25px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_nw.png' width='25' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='u1TD' style='position:absolute; left:25px; top:39px; width:700px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_n.png' width='380' height='25' alt='' onload='fixPNG(this)'><!-- <img src='images/layout/infowindow/iw_tap_ur2.png' width='98' height='64' alt='' onload='fixPNG(this)'> --></div>"+
			"<div id='u2TD' style='position:absolute; left:405px; top:39px; width:420px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_n.png' width='420' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='upTD' style='position:absolute; left:825px; top:39px; width:25px; height:25px; z-index:31;'><img src='images/layout/infowindow/iw_ne.png' width='25' height='25' alt='' onload='fixPNG(this)'></div>"+
			"<div id='ltTD' style='position:absolute; left:0px; top:64px; width:25px; height:400px; z-index:31;'><img src='images/layout/infowindow/iw_w.png' width='25' height='500' alt='' onload='fixPNG(this)'></div>"+
			"<div id='rtTD' style='position:absolute; left:825px; top:64px; width:25px; height:400px; z-index:31;'><img src='images/layout/infowindow/iw_e.png' width='25' height='500' alt='' onload='fixPNG(this)'></div>"+
			"<div id='blTD' style='position:absolute; left:0px; top:564px; width:25px; height:96px; z-index:31;'><img src='images/layout/infowindow/iw_sw0.png' width='25' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='bTD' style='position:absolute; left:25px; top:564px; width:800px; height:96px; z-index:31;'><img src='images/layout/infowindow/iw_s0.png' width='800' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='brTD' style='position:absolute; left:825px; top:564px; width:25px; height:96px; z-index:31;'><img src='images/layout/infowindow/iw_se0.png' width='25' height='96' alt='' onload='fixPNG(this)'></div>"+
			"<div id='hdTD' style='position:absolute; left:50px; top:45px; width:750px; height:30px; text-align: center; z-index:32;'><span class='tinystrSans'>Test Data<span></div>";
			newHTMLstring += "<div id='testDataContent' style='position:absolute; left:25px; top:82px; width:815px; height:500px; z-index:32; overflow: auto;'></div>";
			newHTMLstring += "<div id='bkSBtd' style='position:absolute; left:25px; top:64px; width:800px; height:500px; background-color: #FFFFFF; z-index:31'><span class='regstr'><span></div>";
		  testDataBubble.innerHTML = newHTMLstring;
		  testDataBubble.style.visibility = "visible";
		  var testDataSrc = "testData.php?projectID="+projectID;
		  makeTestDataRq(testDataSrc);
		}
		function clearTestData() {
		   var testDataBubble = document.getElementById("testDataDiv");
			testDataBubble.innerHTML = "";
			testDataBubble.style.visibility = "hidden";
		}
//////////////////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////////////////
// IE specific junk... 
var arVersion = navigator.appVersion.split("MSIE");
var versionOfIe = parseFloat(arVersion[1]);
if (!versionOfIe) versionOfIe = 0;

		function fixPNG(myImage) { // the IE PNG bug workaround
		    if ((versionOfIe >= 5.5) && (versionOfIe < 7) && (document.body.filters)) {
		       var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
			   var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
			   var imgTitle = (myImage.title) ? 
				             "title='" + myImage.title  + "' " : "title='" + myImage.alt + "' "
			   var imgStyle = "display:inline-block;" + myImage.style.cssText
			   //if (myImage.src == "some other image") {
			     //var sizeMethod = "image";
			   //} else {
			     var sizeMethod = "scale";
			   //}
			   //alert(myImage.src);
			   var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + myImage.width + "px; height:" + myImage.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + myImage.src + "\', sizingMethod=\'"+sizeMethod+"\');\"></span>";
			      myImage.outerHTML = strNewHTML;
		    }
		}

//////////////////////////////////////////////////////////////////////////////////

