function checkRapidshareLink(url, id, linkId, div, good, bad)
{
	if (url.match(/^http:\/\/(www\.)?rapidshare\.com\/files\/\d+\/.+/gi)) {
						 
		$.post(phpRoot+"ajaxProxy.php?url=http://rapidshare.com/cgi-bin/checkfiles.cgi", {'urls': encodeURIComponent(url) }, function(data){ 
			 if (data.indexOf("inexistent") > -1) {
					div.appendChild(bad); //invalid
					flagPost("dead", linkId);
					flaggedDead = true;
				  }
				  else
				  {
					  div.appendChild(good); //valid
				  }
				  numToCheck--;
				  if(numToCheck <= 0)
					markLinksChecked();
			   
			   }, "html");
			   
	}
	else
	{
	  numToCheck--;
	  if(numToCheck <= 0)
		markLinksChecked();
	}
}
function checkOtherLink(url, id, linkId, div, good, bad)
{
  numToCheck--;
  if(numToCheck <= 0)
	markLinksChecked();
}
function checkHuluLink(url, id, linkId, div, good, bad)
{
	if (url.match(/^http:\/\/(www\.)?hulu\.com\/([^\/]*)\/([0-9]*)\/([a-zA-Z0-9]+)/gi)) {
		var temp = url.replace(/^http:\/\/(www\.)?hulu\.com\/([^\/]*)\/([0-9]*)\//i, "").replace(/#.*/ig, '').replace(/\/$/, '');
		var temp2 = url.replace(/^http:\/\/(www\.)?hulu\.com\/([^\/]*)\//i, "").replace(/#.*/ig, '').replace(/\/$/, '');
		$.post(phpRoot+"ajaxProxy.php?url=http://www.hulu.com/search?query="+temp, { test: false }, function(data){ 
			 if (data.indexOf(temp2) == -1) {
					div.appendChild(bad); //invalid
					flagPost("dead", linkId);
					flaggedDead = true;
				  }
				  else
				  {
					  div.appendChild(good); //valid
				  }
				  numToCheck--;
				  if(numToCheck <= 0)
					markLinksChecked();
			   
			   }, "html");
			   
	}
	else if(url.match(/^http:\/\/(www\.)?hulu\.com\/([^\/]*)\/([0-9]*).*/gi))
	{
		$.post(phpRoot+"ajaxProxy.php?url="+url, { test: false }, function(data){
			 if (data.indexOf("looking for doesn't exist") > -1) {
			 
					div.appendChild(bad); //invalid
					flagPost("dead", linkId);
					flaggedDead = true;
				  }
				  else
				  {
					  div.appendChild(good); //valid
				  }
				  numToCheck--;
				  if(numToCheck <= 0)
					markLinksChecked();
			   
			   }, "html");
	}
	else
	{
	  numToCheck--;
	  if(numToCheck <= 0)
		markLinksChecked();
	}
}
function checkMULink(url, id, linkId, div, good, bad)
{
	var tempurl = url;
	
	if (url.match(/^http\:\/\/www\.megaupload\.com\/\?d=.{8}(\/|)/gi)) {
	
		$.post(phpRoot+"ajaxProxy.php?url="+url, {  }, function(data){
			 if (data.indexOf("Enter this") == -1) {
			 
					div.appendChild(bad); //invalid
					flagPost("dead", linkId);
					flaggedDead = true;
				  }
				  else
				  {
				  
					  div.appendChild(good); //valid
				  }
				  numToCheck--;
				  if(numToCheck <= 0)
					markLinksChecked();
			   
			   }, "html");
	
	}
	else
	{
	  numToCheck--;
	  if(numToCheck <= 0)
		markLinksChecked();
	}
	
}
function checkMSLink(url, id, linkId, div, good, bad)
{
	var tempurl = url;
	
	if (url.match(/megashares\.com/gi)) {
	
		if(url.match(/dl\/([^\/]*)\/.+/gi))
		{
			var result = url.match(/dl\/([^\/]*)\/.+/gi);
			result = result[0].replace(/dl\/([^\/]*)\/.+/gi, '$1');
			var result2 = url.match(/\/([^\.]*)\.megashares\.com/gi);
			result2 = result2[0].replace(/\/\/([^\.]*)\.megashares\.com/gi, '$1');
			url = 'http://'+result2+'.megashares.com/?'+result2+'='+result;
		}
		
		
		$.post(phpRoot+"ajaxProxy.php?url="+url, { test: false }, function(data){
			 if (data.indexOf("Filename:") == -1) {
			 
					div.appendChild(bad); //invalid
					flagPost("dead", linkId);
					flaggedDead = true;
				  }
				  else
				  {
				  
					  div.appendChild(good); //valid
				  }
				  numToCheck--;
				  if(numToCheck <= 0)
					markLinksChecked();
			   
			   }, "html");
	
	}
	else
	{
	  numToCheck--;
	  if(numToCheck <= 0)
		markLinksChecked();
	}
	
}
function checkYouTubeLink(url, id, linkId, div, good, bad)
{
	var tempurl = url;
	
	if (url.match(/youtube\.com\/watch\?v=([0-9A-Za-z\-]*)/ig)) {
	
		$.post(phpRoot+"ajaxProxy.php?url="+url, { test: false }, function(data){
			 if (data.indexOf("no longer available") > -1 || data.indexOf("malformed video ID") > -1 || data.indexOf("is not available") > -1 ) {
			 
					div.appendChild(bad); //invalid
					flagPost("dead", linkId);
					flaggedDead = true;
				  }
				  else
				  {
					  div.appendChild(good); //valid
				  }
				  numToCheck--;
				  if(numToCheck <= 0)
					markLinksChecked();
			   
			   }, "html");
	
	}
	else if(url.match(/youtube\.com\/v\/([0-9A-Za-z\-]*)/ig))
	{
		tempurl = tempurl.replace(/.*youtube.com\/v\//ig, '').replace(/\?.*/, '').replace(/#.*/, '').replace(/([^0-9A-Za-z\-]*)/ig, '');
		$.post(phpRoot+"ajaxProxy.php?url=http://www.youtube.com/watch?v="+tempurl, { test: false }, function(data){
			 if (data.indexOf("no longer available") > -1 || data.indexOf("malformed video ID") > -1 || data.indexOf("is not available") > -1 ) {
			 
					div.appendChild(bad); //invalid
					flagPost("dead", linkId);
					flaggedDead = true;
				  }
				  else
				  {
					  div.appendChild(good); //valid
				  }
				  numToCheck--;
				  if(numToCheck <= 0)
					markLinksChecked();
			   
			   }, "html");
	}
	else
	{
	  numToCheck--;
	  if(numToCheck <= 0)
		markLinksChecked();
	}
	
}
function checkPirateBayLink(url, id, linkId, div, good, bad)
{
	var minSeed = 1;
	var minLeech = 4;
	var minAge = 2;
	//http://thepiratebay.org/torrent/4938019
	var tempurl = url;
	
	if (url.match(/thepiratebay\.org\/torrent\/([0-9]*)/ig)) {
	
		$.post(phpRoot+"ajaxProxy.php?url="+url, { test: false }, function(data){
			 if (data.indexOf("aka 404") > -1) {
			 
					div.appendChild(bad); //invalid
					flagPost("dead", linkId);
					flaggedDead = true;
				  }
				  else
				  {
					var result = data.match(/<dt>Uploaded:(?:[^<]*)<\/dt>(?:[^<]*)<dd>([^<]*)<\/dd>/ig);
					if(result !== false)
					{
						result = result[0].match(/<dd>([^<]*)<\/dd>/ig);
						if(result !== false)
						{
							result = result[0].replace(/<dd>([^<]*)<\/dd>/ig, '$1');
							
							var tempdate = result.split(" ");
							if(tempdate.length != 3)
							{
							  div.appendChild(good); //valid
							}
							else
							{
								tempdate[0] = tempdate[0].split("-");
								tempdate[1] = tempdate[1].split(":");
								if(tempdate[0].length != 3 || tempdate[1].length != 3)
								{
								  div.appendChild(good); //valid
								}
								else
								{
									var daDate = new Date(tempdate[0][0], tempdate[0][1], tempdate[0][2], tempdate[1][0], tempdate[1][1], tempdate[1][2]);
									var nowDate = new Date();
									var diff = new Date();
									diff.setTime(nowDate.getTime() - daDate.getTime());
									var timediff = diff.getTime();
									var weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7));
									if(weeks > minAge)
									{
										var result = data.match(/<dt>Seeders:(?:[^<]*)<\/dt>(?:[^<]*)<dd>([^<]*)<\/dd>/ig);
										if(result !== false)
										{
											result = result[0].match(/<dd>([^<]*)<\/dd>/ig);
											if(result !== false)
											{
												result = result[0].replace(/<dd>([^<]*)<\/dd>/ig, '$1');
												result = parseInt(result);
												var numSeed = result;
												if(result < minSeed)
												{
													var result = data.match(/<dt>Leechers:(?:[^<]*)<\/dt>(?:[^<]*)<dd>([^<]*)<\/dd>/ig);
													if(result !== false)
													{
														result = result[0].match(/<dd>([^<]*)<\/dd>/ig);
														if(result !== false)
														{
															result = result[0].replace(/<dd>([^<]*)<\/dd>/ig, '$1');
															result = parseInt(result);
															var numLeech = result;
															if(result < minLeech)
															{
																div.appendChild(bad); //invalid
																flagPost("dead", linkId);
																flaggedDead = true;
															}
															else
															{
																div.appendChild(good); //valid
																var seedInfo = document.createElement('span');
																seedInfo.innerHTML = "(S:"+numSeed+", L:"+numLeech+")";
																div.appendChild(seedInfo);
															}
														}
														else
														{
															div.appendChild(good); //valid
														}
													}
													else
													{
														div.appendChild(good); //valid
													}
												}
												else
												{
													div.appendChild(good); //valid
												}
											}
											else
											{
												div.appendChild(good); //valid
											}
										}
										else
										{
											div.appendChild(good); //valid
										}
									}
									else
									{
											div.appendChild(good); //valid
									}
								}
							}
						}
						else
						{
						  div.appendChild(good); //valid
						}
					}
					else
					{
						  div.appendChild(good); //valid
					}
				  }
				  numToCheck--;
				  if(numToCheck <= 0)
					markLinksChecked();
			   
			   }, "html");
	}
	else
	{
	  numToCheck--;
	  if(numToCheck <= 0)
		markLinksChecked();
	}
}
function checkStorageLink(url, id, linkId, div, good, bad)
{
	var tempurl = url;
	
	if (url.match(/.*storage\.to\/get\/([^\/]*)\/.*/gi)) {
		
		url = url.replace(/\/get\//, '/getlink/');
		
		$.post(phpRoot+"ajaxProxy.php?url="+url, { test: false }, function(data){
			 if (data.indexOf("failed") != -1) {
			 
					div.appendChild(bad); //invalid
					flagPost("dead", linkId);
					flaggedDead = true;
				  }
				  else
				  {
				  
					  div.appendChild(good); //valid
				  }
				  numToCheck--;
				  if(numToCheck <= 0)
					markLinksChecked();
			   
			   }, "html");
	
	}
	else
	{
	  numToCheck--;
	  if(numToCheck <= 0)
		markLinksChecked();
	}
	
}
function checkHotfileLink(url, id, linkId, div, good, bad)
{
	var tempurl = url;

	if (url.match(/.*hotfile\.com\/dl\/([^\/]*)\/([^\/]*)\/.*/gi)) {
		
		$.post(phpRoot+"ajaxProxy.php?url=http://hotfile.com/checkfiles.html", {'files': encodeURIComponent(url), 'but': ' Check Urls ' }, function(data){
			 if (data.indexOf("Non-existent") != -1) {
			 
					div.appendChild(bad); //invalid
					flagPost("dead", linkId);
					flaggedDead = true;
				  }
				  else
				  {
				  
					  div.appendChild(good); //valid
				  }
				  numToCheck--;
				  if(numToCheck <= 0)
					markLinksChecked();
			   
			   }, "html");
	
	}
	else
	{
	  numToCheck--;
	  if(numToCheck <= 0)
		markLinksChecked();
	}
	
}