var vurl = "";
var vurlType = "";
var vcode = "";
var vtitle = "";
var vdesc = "";
var vembed = "";
var vtags = "";

function isValidURL(url)
{
	var returnme = false;
	var returnval = "";
	
	var youtubestring = /^http:\/\/www\.youtube\.com\/watch\?v=(([a-zA-Z0-9\-_])+)$/;
	if (url.indexOf("&") > 10) var yturl = url.substring(0,url.indexOf("&")-1);
	else var yturl = url;
	if (youtubestring.test(yturl))
	{	
		returnme = true;
		returnval = "youtube";
	}
	
	var breakstring1 = /^http:\/\/www\.break\.com\/index\/(([a-zA-Z0-9\-_])+).html$/;
	var breakstring2 = /^http:\/\/my\.break\.com\/media\/view\.aspx\?ContentID=([0-9]+)$/;
	var breakstring3 = /^http:\/\/www\.break\.com\/movies\/(([a-zA-Z0-9\-_])+).html$/;
	var breakstring4 = /^http:\/\/view\.break\.com\/(([a-zA-Z0-9\-_])+)$/;
	var breakstring5 = /^http:\/\/www\.break\.com\/primeval\/(([a-zA-Z0-9\-_])+).html$/;
	
	if (breakstring1.test(url) || breakstring2.test(url) || breakstring3.test(url) || breakstring4.test(url)  || breakstring5.test(url))
	{	
		returnme = true;
		returnval = "break";
	}
	
	var metacafestring = /^http:\/\/www\.metacafe\.com\/watch\/(([0-9])+)\/(([a-zA-Z0-9\-_])+)/;
	if (metacafestring.test(url))
	{
		returnme = true;
		returnval = "metacafe";	
	}
	
	var googlestring = /^http:\/\/video\.google\.com\/videoplay\?docid=(([0-9\-])+)/;
	if (googlestring.test(url))
	{
		returnme = true;
		returnval = "google";	
	}
	
	if (returnme) return returnval;
	else return false;
}

var sendDMSuccess = function(o){ 
		
	var results = o.responseText.split('|');
	var respStat = parseInt(results[0]);
	
	if (respStat == 2)
	{
		vurl = results[1];
		vurlType = results[2];
		vcode = results[3];
		vtitle = results[4];
		vtags = results[5];
		vdesc = results[6];
		vembed = results[7];
		
		document.getElementById("subformbut").innerHTML = "";
		document.forms.subform.nurl.disabled = true;
		document.getElementById("subwrap").style.border = "#FFFFFF 1px solid";
		document.getElementById("sub2wrap").style.border = "#0099FF 1px solid";
		document.getElementById("viddiv").innerHTML = "<center>"+vembed+"</center>";
		document.getElementById("sub2formel").innerHTML = "<center><div id='nvtitle'><b>Title:</b> "+vtitle+"</div></center>";
		document.getElementById("sub2formbut").innerHTML = "<center><input type=submit value=\"Keep Title\" class=reginput onclick=\"goToStep3();\" /> <input type=submit value=\"Change Title\" class=reginput onclick=\"changeTitle();\" /></center>";
	}
	else if (respStat == 3)
	{
		document.getElementById("subformbut").innerHTML = "<input type=submit value=\"Continue\" class=reginput onclick=\"checkSub();\" />";
		document.getElementById("substatdiv").innerHTML = "<div class='woopsie'>ERROR:"+results[1]+"</div>";
		document.forms.subform.nurl.value = "";
	}
}; 

var handleDMResp = 
{ 
success:sendDMSuccess
}; 

function checkSub()
{
	var substatdiv = document.getElementById("substatdiv");
	var url = document.forms.subform.nurl.value;
	
	if (isVal = isValidURL(url))
	{
		substatdiv.innerHTML = "<div class='daisy'>SUCCESS: URL is a go - "+isVal+".</div>";
		var formObject = document.getElementById('submitform'); 
		YAHOO.util.Connect.setForm(formObject); 
		YAHOO.util.Connect.asyncRequest('GET', 'ajax/dm_'+isVal+'.php', handleDMResp, null);
		document.getElementById("subformbut").innerHTML = "<img src='pics/mozilla_blu.gif' />";
	}
	else
	{
		substatdiv.innerHTML = "<div class='woopsie'>ERROR: We do not support URL's of that type yet. Here is a <a href='javascript:showList()'>list</a> of the sites we currently accept urls from.</div>";
	}
}

function showList()
{
	var panel2 = new YAHOO.widget.Panel("panel2", { width:"500px", visible:false, draggable:true, close:true, fixedcenter:true } ); 
	panel2.setHeader("<div class='tl'></div><span>Sites and URL Forms</span><div class='tr'></div>"); 
	panel2.setBody("<b><u>Youtube</u></b><br>http://www.youtube.com/watch?v=XXXXXXXXXXX<br><br><b><u>Break</u></b><br>http://www.break.com/index/XXXXXX.html<br>http://my.break.com/media/view.aspx?ContentID=XXXXXX<br>http://www.break.com/movies/XXXXXX.html<br>http://view.break.com/XXXXXX<br>http://www.break.com/primeval/XXXXXX.html<br><br><b><u>MetaCafe</u></b><br>http://www.metacafe.com/watch/XXXXXX/XXXXXX/<br><br><b><u>Google Video</u></b><br>http://video.google.com/videoplay?docid=XXXXXXXXXXXXXXXXXXX"); 
	panel2.setFooter("<span>Smile!</span>"); 
	panel2.render(document.body); 
	panel2.show();
}

function goToStep3()
{
	document.getElementById("sub2wrap").style.border = "#FFFFFF 1px solid";
	document.getElementById("sub3wrap").style.border = "#0099FF 1px solid";
	document.getElementById("sub2formbut").innerHTML = "";
	document.getElementById("sub3formel").innerHTML = "<b>Description:</b> "+vdesc.replace(/\n/g, "<br />");
	document.getElementById("sub3formbut").innerHTML = "<center><input type=submit value=\"Keep Description\" class=reginput onclick=\"goToStep4();\" /> <input type=submit value=\"Change Description\" class=reginput onclick=\"changeDesc();\" /></center>";
}

function changeTitle()
{
	document.getElementById("sub2formel").innerHTML = "<form name='chtit' onsubmit='return false'><center><div id='nvtitle'><b>Title:</b> <input type=text name=nvtitle class=submitinput value=\""+vtitle+"\" /></form></div></center>";
	document.getElementById("sub2formbut").innerHTML = "<center><input type=submit value=\"Continue\" class=reginput onclick=\"goToStep35();\" /></center>";
}

function goToStep35()
{
	document.getElementById("sub2statdiv").innerHTML = "";
	if (isCrap(document.forms.chtit.nvtitle.value))
	{
		document.getElementById("sub2statdiv").innerHTML = "<center><div class='woopsie'>ERROR: Title can only contain letters, numbers, spaces, and -._()@!?%*:;',$</div></center>";
	}
	else
	{
		vtitle = document.forms.chtit.nvtitle.value;
		document.getElementById("sub2formel").innerHTML = "<center><div id='nvtitle'><b>Title:</b> "+vtitle+"</div></center>";
		goToStep3();
	}
}

var sendCatsSuccess = function(o){ 
		
	var results = o.responseText.split('|');
	var respStat = parseInt(results[0]);
	
	if (respStat == 2)
	{
		document.getElementById("sub4formel").innerHTML = results[1];
		document.getElementById("sub4formbut").innerHTML = "";
	}
}; 

var handleCatsResp = 
{ 
success:sendCatsSuccess
}; 

function goToStep4()
{
	document.getElementById("sub3wrap").style.border = "#FFFFFF 1px solid";
	document.getElementById("sub4wrap").style.border = "#0099FF 1px solid";
	document.getElementById("sub3formbut").innerHTML = "";
	document.getElementById("sub4formel").innerHTML = "<b>Loading Categories...</b>";
	document.getElementById("sub4formbut").innerHTML = "<img src='pics/mozilla_blu.gif' />";
	YAHOO.util.Connect.asyncRequest('GET', 'ajax/getcats.php', handleCatsResp, null);
}

function changeDesc()
{
	document.getElementById("sub3formel").innerHTML = "<form name='chdes' onsubmit='return false'><center><b>Description:</b><br /><textarea name=nvdesc class=submitinput2>"+vdesc+"</textarea></form></center>";
	document.getElementById("sub3formbut").innerHTML = "<center><input type=submit value=\"Continue\" class=reginput onclick=\"goToStep45();\" /></center>";
}

function goToStep45()
{
	document.getElementById("sub3statdiv").innerHTML = "";
	if (isCrap(document.forms.chdes.nvdesc.value))
	{
		document.getElementById("sub3statdiv").innerHTML = "<center><div class='woopsie'>ERROR: Description can only contain letters, numbers, spaces, and -._()@!?%*:;'$</div></center>";
	}
	else
	{
		vdesc = document.forms.chdes.nvdesc.value;
		document.getElementById("sub3formel").innerHTML =  "<b>Description:</b> "+vdesc.replace(/\n/g, "<br />");
		goToStep4();
	}
}

function checkUS()
{
	var boxes = document.checkers.box;

	var foundone = false;

	for (i=0; i<boxes.length; i++)
		if (boxes[i].checked == true) foundone = true;
		
	if (foundone) 
		document.getElementById("sub4formbut").innerHTML = "<center><input type=submit value=\"Continue\" class=reginput onclick=\"gotoTags()\" /></center>";
	else document.getElementById("sub4formbut").innerHTML = "";
}

function gotoTags()
{
	document.getElementById("sub4wrap").style.border = "#FFFFFF 1px solid";
	document.getElementById("sub5wrap").style.border = "#0099FF 1px solid";
	document.getElementById("sub4formbut").innerHTML = "";
	var boxes = document.checkers.box;
	for (i=0; i<boxes.length; i++) boxes[i].disabled = true;
	document.getElementById("sub5formel").innerHTML = "<form name=\"tagsform\" onsubmit='return false'><center><b>Please enter all tags for this clip.  Each tag should be separated by a comma. (Max 15)</b><br /><input name=\"thetags\" value=\""+vtags+"\" size=100 class=inppad></center>";
	document.getElementById("sub5formbut").innerHTML = "<center><input type=submit value=\"FINISH\" class=reginput onclick=\"finishIT();\" /></center></form>";
}

var sendPVSuccess = function(o){ 
		
	var results = o.responseText.split('|');
	var respStat = parseInt(results[0]);
	
	if (respStat == 2)
	{
		document.getElementById("maincontdiv").innerHTML = "<div><span class='titletext'>"+results[2]+"</span></div><div>"+results[3]+"</div><div><br><br>Your submission has been placed in a queue for review by a reviewer.  Thank you for your submission.</div>";
	}
}; 

var handlePVResp = 
{ 
success:sendPVSuccess
}; 

function finishIT()
{
	vtags = document.forms.tagsform.thetags.value;
	
	if (notBlank(vtags))
	{
		if (onlyLetsNumsComas(vtags))
		{
			document.getElementById("sub5formbut").innerHTML = "<img src='pics/mozilla_blu.gif' />";
	
			var boxes = document.checkers.box;

			var cats = "";
			var isFirst = true;
	
			for (i=0; i<boxes.length; i++)
			{
				if (boxes[i].checked == true)
				{
					if (isFirst)
					{
						cats = boxes[i].value;
						isFirst = false;
					}
					else cats = cats+","+boxes[i].value;
				}
			}
	
			YAHOO.util.Connect.asyncRequest('GET', 'ajax/putviddb.php?t='+vtitle+'&d='+vdesc+'&u='+vurl+'&s='+vurlType+'&vc='+vcode+'&cts='+cats+'&tgs='+vtags, handlePVResp, null);
		}
		else 
		{
			document.getElementById("sub5statdiv").innerHTML = "<center><div class='woopsie'>ERROR: Tags can only be letter and numbers, separated by commas (no spaces)</div></center>";
		}
	}
	else
	{
		document.getElementById("sub5statdiv").innerHTML = "<center><div class='woopsie'>ERROR: Please list at least one tag.</div></center>";
	}
}
