<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Charter Fishing | Fishing Charters: Link Exchange</title>
<meta http-equiv="description" content="Charter fishing site listing at Northeast Angling TV - Inshore and offshore saltwater fishing for Striped Bass, Fluke, Shark, Tuna, Striper, Flounder, Sea Bass and much more!: Link Exchange" />
<meta http-equiv="keywords" content="Charter Fishing, Fishing Charters" />
<meta http-equiv="author" content="Sound Strategies, Inc." />
<link href="?action=css" rel="stylesheet" type="text/css" />
<META name="Robots" content="INDEX,FOLLOW">
<meta http-equiv="revisit-after" content="7 days">
<meta http-equiv="abstract" content="media, tv, web, northeast angling">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="en-us">
</head>

<body background="Images/WebBack.jpg">
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" style="border-left:2px solid #800000; border-right:2px solid #800000; border-collapse: collapse" width="650" bgcolor="#FFFFFF">
  <tr>
      <td align="center" height="54" style="border-left: 2px solid #800000; border-right: 2px solid #800000; border-top: 2px solid #800000; padding:">
      <img border="0" src="_borders/WebBanner.jpg" width="646" height="54"></td>
    </tr>
  <tr>
    <td valign="top" align="center">
    <div align="left">
      <table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse">
      <tr>
        <td>
        <form method="POST" action="javascript:history. go(-1)">
          <p><input border="0" src="Images/BlueNavB.gif" name="I4" type="image" width="118" height="36"></p>
        </form>
        </td>
      </tr>
    </table>
    </div>
    </td>
  </tr>
  <tr>
    <td align="center"><div id="LinkMgrPath">
<a href="http://www.neangling.com/links.php" title="Saltwater Fishing | Striped Bass FIshing | Links">Links</a>:
<a href="?action=view&amp;CatID=497" title="Charter Fishing | Fishing Charters">Charter Links</a>:
Link Exchange
[<a href="#" onclick="javascript:window.history.go(-1); return false;" title="Back">Back</a>]
</div>
<div id="LinkMgrContainer">

<h2>LINK EXCHANGE STEP 1: PLACE OUR LINK TO YOUR WEBSITE </h2>
Please place a link to http://www.neangling.com on your website before submitting your link.
Once our link is on your website go to STEP 2 below.
Your link will be activated ONLY after you respond to the confirmation emails.
Here is the link information for this website:<br />
<table border="0" cellpadding="2">
	<tr>
		<th>URL</th>
		<td><a href="http://www.neangling.com">http://www.neangling.com</a></td>
	</tr>
	<tr>
		<th>Name</th>
		<td>Saltwater Fishing | Striped Bass FIshing</td>
	</tr>
	<tr>
		<th>Title (mouseover)</th>
		<td>Saltwater Fishing | Striped Bass FIshing</td>
	</tr>
	<tr>
		<th>Description</th>
		<td>Northeast Angling TV - Inshore and Offshore fishing for Striped Bass, Fluke, Shark, Tuna, Striper, Flounder, Sea Bass and much more!</td>
	</tr>
			</table>
<table class="LinkMgrCodeSample" align="center">
	<tr>
		        				<th>Text Link Only</th>
	</tr>
	<tr>
								<td>
						<textarea onclick="this.select()"><a href="http://www.neangling.com" title="Saltwater Fishing | Striped Bass FIshing">Saltwater Fishing | Striped Bass FIshing</a>: Northeast Angling TV - Inshore and Offshore fishing for Striped Bass, Fluke, Shark, Tuna, Striper, Flounder, Sea Bass and much more!</textarea>
					</td>
	</tr>
	<tr>
								<td>
						<a href="http://www.neangling.com" title="Saltwater Fishing | Striped Bass FIshing">Saltwater Fishing | Striped Bass FIshing</a>: Northeast Angling TV - Inshore and Offshore fishing for Striped Bass, Fluke, Shark, Tuna, Striper, Flounder, Sea Bass and much more!
					</td>
	</tr>
</table>
<p>
<strong>If you need to contact our webmaster with a special request or need a new category <a href="?action=contact">click here</a>.</strong>
</p>
<h2>LINK EXCHANGE STEP 2: SUBMIT YOUR LINK</h2>
<p><b>All links are posted on a reciprocal basis.</b> Please complete STEP 1 (above) before submitting this form.</p>

<p><b>PLEASE DO NOT:</b></p>
<ul>
	<li><b>submit websites with the following content:</b><ul>
		<li>adult, dating</li>
		<li>illegal, offensive, copyright infringing</li>
		<li>casinos, gambling, lottery</li>
		<li>replica products</li>
		<li>drugs</li>
		<li>Applications for Financial Services or Loans</li>
	</ul></li>
	<li><b>submit websites in other language than English</b></li>
	<li><b>submit websites with excessive advertising and no content</b></li>
	<li><b>submit the same website more than once</b></li>
	<li><b>remove the link to http://www.neangling.com after your site has been accepted</b><br>
	Our system automatically checks for the reciprocal link on a regular basis
	and if<br>the link to http://www.neangling.com cannot be found your link will be automatically removed.</li>
</ul>
<p>We reserve the right to delete any link that we, at our sole discretion, find inappropriate.</p>






<SCRIPT type="text/javascript" LANGUAGE="JavaScript">
<!--
function check_email(e){
	ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
	for(i=0; i < e.length ;i++){
		if(ok.indexOf(e.charAt(i))<0){ 
			return false;
		}
	} 
	if (document.images) {
		re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
		re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		if (!e.match(re) && e.match(re_two)) {
			return (-1);
		} 
	}
}
function LNK_REQ_VALIDATE(oForm){
	if (oForm.U_Name.value == ""){
		alert("Please enter Webmaster name");
		oForm.U_Name.focus();
		return (false);
	}
	if (oForm.Email.value == ""){
		alert("Please enter Webmaster e-mail");
		oForm.Email.focus();
		return (false);
	}
	var email_check = check_email(oForm.Email.value);
	if(!email_check){
		alert("The email you entered is not a valid email address");
		oForm.Email.focus();
		return (false);
	}
	
	if (oForm.URL.value == ""){
		alert("Please enter Link URL");
		oForm.URL.focus();
		return (false);
	}
	if (oForm.Name.value == ""){
		alert("Please enter Link Name");
		oForm.Name.focus();
		return (false);
	}
	if (oForm.Title.value == ""){
		alert("Please enter Link Title (mouseover)");
		oForm.Title.focus();
		return (false);
	}
	if (oForm.Description.value == ""){
		alert("Please enter Link Description");
		oForm.Description.focus();
		return (false);
	}

	
	if (oForm.ReciprocalURL.value == ""){
		alert("Please enter Reciprocal URL");
		oForm.ReciprocalURL.focus();
		return (false);
	}

	
	if (!CheckCAPTCHA(oForm)){
		alert("Please enter the code value that appears");
		oForm.txtCaptcha.value='';
		oForm.txtCaptcha.focus();
		return (false);
	}
}
-->
</script>


<form name="CAT_REQ_FORM" method="post" action="#" onsubmit="return LNK_REQ_VALIDATE(this);">
<input type="hidden" name="PHPSESSID" value="9027c5b6388b8b13e8f651d6c25fd6e4">
<input type="hidden" name="action" value="save">
<input type="hidden" name="CatID" value="497">
<h3>Webmaster contact settings</h3>
<table border="0" cellpadding="2" align="center">
	<col width="120px" />
	<tr>
		<td align="right">
			<b>Name</b>
		</td>
		<td><input type="text" name="U_Name" maxlength="60" value="" class="LinkMgrWideInput"></td>
	</tr>
	<tr>
		<td align="right">
			<b>Email</b>
		</td>
		<td><input type="text" name="Email" maxlength="60" value="" class="LinkMgrWideInput"></td>
	</tr>
	<tr>
		<td align="right">
			Contact Phone
		</td>
		<td>
			<input type="text" name="Phone" maxlength="32" size="12" value="">
			Ext:
			<input type="text" name="PhoneExt" maxlength="5" size="5" value="">
		</td>
	</tr>
	<tr>
		<td align="right">
			Contact Details
		</td>
		<td><textarea rows="3" name="ContactDetails" wrap="off" class="LinkMgrWideInput"></textarea></td>
	</tr>
</table>
<h3>Link Settings</h3>
<table border="0" cellpadding="2" align="center">
	<col width="120px" />
	<tr>
		<td align="right">
			<b>URL</b>
		</td>
		<td><input type="text" name="URL" maxlength="255" value="" class="LinkMgrWideInput"></td>
	</tr>
	<tr>
		<td align="right">
			<b>Website Name</b>
		</td>
		<td><input type="text" name="Name" maxlength="255" value="" class="LinkMgrWideInput"></td>
	</tr>
	<tr>
		<td align="right">
			<b>Title (mouseover)</b>
		</td>
		<td><input type="text" name="Title" maxlength="255" value="" class="LinkMgrWideInput"></td>
	</tr>
	<tr>
		<td align="right">
			<b>Description</b>
		</td>
		<td><textarea rows="3" name="Description" wrap="off" class="LinkMgrWideInput"></textarea></td>
	</tr>
		<tr>
		<td align="right">
					<b>Reciprocal URL</b>
				</td>
		<td><input type="text" name="ReciprocalURL" maxlength="255" value="" class="LinkMgrWideInput"></td>
	</tr>
</table>
<center>
<noscript>JavaScript should be enabled in your browser to use this form.</noscript>
<script language="JavaScript" type="text/javascript" src="?action=ajax_captcha.js"></script><br />

<button type="submit" title="Submit" class="Btn">Submit</button>
<button type="button" onclick="window.location.href = '?action=cancel&amp;CatID=497';" class="Btn">Cancel</button>
</center>
</form>

	<a name="error"></a>
	<div class="LinkMgrErrorMsg"></div>

	<div id="LinkMgrFooBan">Powered by <a href="http://linkmgr.soundst.com/" title="Links Manager" target="_blank"><b>LinkMgr</b></a> of <a href="http://www.soundst.com" title="Web Design - Search Engine Optimization - SEO" target="_blank">Sound Strategies, Inc.</a></div>
</div>&nbsp;</td>
  </tr>
  <tr>
    <td>
    <div align="center">
      <center>
      <table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" id="AutoNumber6">
        <tr>
          <td align="center">
          <div align="left">
            <table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse" id="AutoNumber51" width="100%">
              <tr>
                <td width="20%" align="center">
          <font size="2" face="Arial">
                <a target="_blank" title="Fishing TV Shows - Saltwater Fishing TV Shows" href="http://www.saltwater-fishing-directory.com/links.php?action=view&CatID=199">
          <img src="http://www.saltwater-fishing-directory.com/images/SWFD_Logo108.gif" border="0" ALT="Fishing TV Shows - Saltwater Fishing TV Shows" align="right" width="108" height="36"></a></font></td>
                <td width="20%" align="center"><font face="Arial" size="1">
                <a title="Fishing DVD - Saltwater Fishing DVD" target="_blank" href="http://www.captainjackies.com">
                <img alt="Fishing DVD - Saltwater Fishing DVD" src="Images/Logos/CaptainJackiesLogo120.gif" border="0" width="120" height="45"></a></font></td>
                <td width="20%" align="center"><font face="Arial">
                <a title="Saltwater Fishing - Freshwater Fishing - Free Fishing TV" target="_blank" href="http://www.efishingtv.com/">
                <img border="0" src="Images/Logos/eFishingTV108.gif" width="108" height="41"></a></font></td>
                <td width="20%" align="center"><table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse" id="AutoNumber52">
                  <tr>
                    <td align="center"><font size="1" face="Arial">
                    <a href="Links.php?action=view&CatID=75">Resources</a></font></td>
                    <td align="center"><font size="1" face="Arial">
                    <a href="Links.php">Links</a>&nbsp;</font></td>
                    <td align="center"><font size="1" face="Arial">
          <a href="Sitemap.htm">Sitemap</a></font></td>
                  </tr>
                  <tr>
                    <td align="center"><font size="1" face="Arial">
                    <a href="http://www.neangling.com/Links.php?action=view&CatID=83">
                    Marine</a></font></td>
                    <td align="center"><font size="1" face="Arial">
                    <a href="http://www.neangling.com/Links.php?action=view&CatID=163">
                    Charters</a></font></td>
                    <td align="center"><font size="1" face="Arial">
          &nbsp;<a href="http://www.neangling.com/Links.php?action=view&CatID=240">Reports</a></font></td>
                  </tr>
                  <tr>
                    <td align="center"><font size="1" face="Arial">
                    <a href="http://www.neangling.com/Links.php?action=view&CatID=84">
                    Business</a></font></td>
                    <td align="center"><font size="1" face="Arial">
                    <a href="http://www.neangling.com/Links.php?action=view&CatID=307">
                    Services</a></font></td>
                    <td align="center">&nbsp;</td>
                  </tr>
                </table></td>
                <td width="20%" align="center"><span style="font-weight: 400">
                <font size="1" color="#000080" face="Arial">This site was built and is maintained by
          <a title="Web Design - SEO Optimization" target="_blank" href="http://www.soundst.com">Sound Strategies, Inc.</a> </font>
          </span></td>
              </tr>
            </table>
          </div>
          </td>
        </tr>
        <tr>
          <td align="center" style="border-bottom: 2px solid #800000; padding: 0">
          <p align="center"><b><font size="1" face="Arial">Fluke fishing - Tuna fishing - Shark fishing - Flounder fishing - 
          Cod fishing - Weakfish, Blackfish, Sea Bass, and much more!&nbsp; Striped Bass fishing - Saltwater 
          fishing - Striper Fishing using only Shimano reels and Shimano fishing 
          Rods!&nbsp; </font></b></td>
        </tr>
      </table>
      </center>
    </div>
    </td>
  </tr>
  </table></center>
</div>
    
<p>&nbsp;</p>

</body>
</html>