
function validate_login()
{
    var valid = true;
    var message = "A successful login requires:\n\n";
    var focusme = new Array();
    document.getElementById('username').className = "" ;
    document.getElementById('password').className = "" ;
    
	if ( document.login.username.value == "" )
    {
        valid = false;
    	document.getElementById('username').className += " error" ;
    	message += "-An email address\n";
    	two = true;
    	focusme.push(document.login.username);
    }
    else
    {
    	if (!isEmail(document.login.username.value))
	    {
	        valid = false;
	    	document.getElementById('username').className += " error" ;
	    	message += "-A valid email address\n";
	    	two = true;
	    	focusme.push(document.login.username);
	    }
    }
    
    if ( document.login.password.value == "" )
    {
        valid = false;
        document.getElementById('password').className += " error" ;
        message += "-A password\n";
        focusme.push(document.login.password);
    }    
        
    if (!valid) 
    {
    	setFocus(focusme);
    	alert(message);
    }
    else
    {
    	return valid;
    } 
    return valid;
}

function validate_modifyaccount()
{
    var valid = true;
    var message = "To successfully modify your account:\n\n";
    var focusme = new Array();
    var two = false;
    document.getElementById('screenname').className = "" ;
    document.getElementById('fname').className = "newname" ;
    document.getElementById('lname').className = "newname" ;
    
	if ( document.modifyaccount.screenname.value == "" )
    {
        valid = false;
    	document.getElementById('screenname').className += " error" ;
    	message += "-Provide a unique display name\n";
    	focusme.push(document.modifyaccount.screenname);
    }
    else
    {
    	if ( document.modifyaccount.screenname.value == "" )
	    {
	        valid = false;
	    	document.getElementById('screenname').className += " error" ;
	    	message += "-Provide a unique display name\n";
	    	focusme.push(document.modifyaccount.screenname);
	    }
    }
    if (!valid) 
    {
    	setFocus(focusme);
    	alert(message);
    }
    else
    {
    	document.modifyaccount.submit(); 
    	return valid;
    } 
    return valid;
}


function validate_password()
{
    var valid = true;
    var message = "To successfully modify your password:\n\n";
    var focusme = new Array();
    var two = false;
    document.getElementById('pass').className = "" ;
    document.getElementById('pass2').className = "" ;
    
	if ( document.modifypassword.pass.value == "" )
    {
        valid = false;
    	document.getElementById('pass').className += " error" ;
    	message += "-Provide a password\n";
    	focusme.push(document.modifypassword.pass);
    }
    else
    {
    	if (document.modifypassword.pass.value != document.modifypassword.pass2.value)
	    {
	        valid = false;
	    	document.getElementById('pass').className += " error" ;
	    	document.getElementById('pass2').className += " error" ;
	    	message += "-The provided passwords must be identical\n";
	    	focusme.push(document.modifypassword.pass2);
	    }
    }
    if (!valid) 
    {
    	setFocus(focusme);
    	alert(message);
    }
    else
    {
    	document.modifypassword.submit(); 
    	return valid;
    } 
    return valid;
}

function validate_addcontent()
{
    var valid = true;
    var message = "An entry must include:\n\n";
    var focusme = new Array();
    var two = false;
    document.getElementById('title').className = "cms" ;
    document.getElementById('description').className = "cms" ;
    
	if ( document.addcontent.title.value == "" )
    {
        valid = false;
    	document.getElementById('title').className += " error" ;
    	message += "-A title (subject)\n";
    	focusme.push(document.addcontent.title);
    }

    if ( document.addcontent.description.value == "" )
    {
        valid = false;
    	document.getElementById('description').className += " error" ;
    	message += "-A description\n";
    	focusme.push(document.addcontent.description);
    }
    
    if (!valid) 
    {
    	setFocus(focusme);
    	alert(message);
    }
    else
    {
    	document.addcontent.submit(); 
    	return valid;
    } 
    return valid;
}

function validate_modifyemail()
{
    var valid = true;
    var message = "To successfully modify your email address:\n\n";
    var focusme = new Array();
    var two = false;
    document.getElementById('email').className = "" ;
    document.getElementById('email2').className = "" ;
    
	if ( document.modifyemail.email.value == "" )
    {
        valid = false;
    	document.getElementById('email').className += " error" ;
    	message += "-Provide a valid email address\n";
    	focusme.push(document.modifyemail.email);
    }
    else
    {
		if (!isEmail(document.modifyemail.email.value))
	    {
	        valid = false;
	    	document.getElementById('email').className += " error" ;
	    	message += "-A valid email address\n";
	    	focusme.push(document.modifyemail.email);
	    }
    	if (document.modifyemail.email.value != document.modifyemail.email2.value)
	    {
	        valid = false;
	    	document.getElementById('email').className += " error" ;
	    	document.getElementById('email2').className += " error" ;
	    	message += "-The provided email addresses must be identical\n";
	    	focusme.push(document.modifyemail.email2);
	    }
    }
    if (!valid) 
    {
    	setFocus(focusme);
    	alert(message);
    }
    else
    {
    	document.modifyemail.submit(); 
    	return valid;
    } 
    return valid;
}

function validate_newaccount()
{
    var valid = true;
    var message = "To successfully create an account:\n\n";
    var focusme = new Array();
    var two = false;
    document.getElementById('screenname').className = "" ;
    document.getElementById('fname').className = "newname" ;
    document.getElementById('lname').className = "newname" ;
    document.getElementById('pass').className = "" ;
    document.getElementById('pass2').className = "" ;
    document.getElementById('email').className = "" ;
    document.getElementById('email2').className = "" ;
    
	if ( document.newaccount.screenname.value == "" )
    {
        valid = false;
    	document.getElementById('screenname').className += " error" ;
    	message += "-Provide a unique display name\n";
    	focusme.push(document.newaccount.screenname);
    }
    else
    {
    	if ( document.newaccount.screenname.value == "" )
	    {
	        valid = false;
	    	document.getElementById('screenname').className += " error" ;
	    	message += "-Provide a unique display name\n";
	    	focusme.push(document.newaccount.screenname);
	    }
    }
    
    if ( document.newaccount.email.value == "" )
    {
        valid = false;
    	document.getElementById('email').className += " error" ;
    	message += "-Provide a valid email address\n";
    	focusme.push(document.newaccount.email);
    }
    else
    {
    	if (!isEmail(document.newaccount.email.value))
	    {
	        valid = false;
	    	document.getElementById('email').className += " error" ;
	    	message += "-A valid email address\n";
	    	focusme.push(document.newaccount.email);
	    }
	    if (document.newaccount.email.value != document.newaccount.email2.value)
	    {
	        valid = false;
	    	document.getElementById('email').className += " error" ;
	    	document.getElementById('email2').className += " error" ;
	    	message += "-The provided email addresses must be identical\n";
	    	focusme.push(document.newaccount.email2);
	    }
    }
    
    if ( document.newaccount.pass.value == "" )
    {
        valid = false;
        document.getElementById('pass').className += " error" ;
        message += "-Provide a password to protect your account\n";
        focusme.push(document.newaccount.pass);
    }   
    else
    {
    	if (document.newaccount.pass.value != document.newaccount.pass2.value)
    	{
	    	valid = false;
	        document.getElementById('pass').className += " error" ;
	        document.getElementById('pass2').className += " error" ;
	        message += "-The provided passwords must be identical\n";
	        focusme.push(document.newaccount.pass2);
    	}
    }
        
    if (!valid) 
    {
    	setFocus(focusme);
    	alert(message);
    }
    else
    {
    	document.newaccount.submit(); 
    	return valid;
    } 
    return valid;
}

function setFocus(element)
{
	element.reverse;
	element[0].focus();
	element[0].select();
}

function Focus(element)
{
	element.focus();
	element.select();
}

function isZip(subject)
{
	myRE = new RegExp('/\A\b[0-9]{5}(?:-[0-9]{4})?\b\z/i', "g");
	results = myString.match(myRE)

	if  (subject.match(myRE)) 
	{
		return true;
	} 
	return false;
}


function isEmail(str) 
{
	 var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	 var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	 return (!r1.test(str) && r2.test(str));
}

function agePrompt($url)
{
	//prompt for age, if over 18 return true.
	document.getElementById('ageVerify').visibility='';
}

function insertContent(type,input)
{
	var index = input.selectedIndex;
	var selected = input.options[index].value;
	var newContent;

	switch (type)
	{
		case 'images':
		{
			 newContent = '<img style="display:inline;" src="./content/' + type + '/' + selected + '" />' + "\n\n";
			 break;
		}
		case 'video':
			 if (getExt(selected) != 'mov')
			 {
			 	//WMP
			 	newContent = '<object classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" id="mediaplayer1" height="300" width="400"><param name="Filename" value="./content/' + type + '/' + selected + '"><param name="AutoStart" value="True"><param name="ShowControls" value="True"><param name="ShowStatusBar" value="False"><param name="ShowDisplay" value="False"><param name="AutoRewind" value="True"> <embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/MediaPlayer/" src="./content/' + type + '/' + selected + '" filename="./content/' + type + '/' + selected + '" autostart="True" showcontrols="True" showstatusbar="False" showdisplay="False" autorewind="True" height="300" width="400"> </object>' + "\n\n";
			 } 
			 else
			 {
			 	//QUICKTIME
			 	newContent = '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" width="320" height="260">  <param name="src" value="./content/' + type + '/' + selected + '" /><param name="autoplay" value="true" /><param name="controller" value="true" /> <param name="autoplay" value="true" /> <!--[if !IE]>--> <object type="video/quicktime" data="./content/' + type + '/' + selected + '" width="320" height="260"> <param name="autoplay" value="true" /><param name="controller" value="true" /> <param name="autoplay" value="true" /></object>  <!--<![endif]--></object>' + "\n\n";
			 	//newContent = '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"><param name="src" value="./content/' + type + '/' + selected + '"><param name="autoplay" value="true"><param name="controller" value="false"><embed src="./content/' + type + '/' + selected + '" autoplay="true" controller="false" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>' + "\n\n";
			 }
//			 newContent = '<script type="text/javascript" src="/embed/silverlight.js"></script><script type="text/javascript" src="/embed/wmvplayer.js"></script> <div id="container"></div> <script type="text/javascript"> var cnt = document.getElementById("container"); var src = "/embed/wmvplayer.xaml"; var cfg = {  height:"220",  width:"400",  file:"./content/' + type + '/' + selected + '" }; var ply = new jeroenwijering.Player(cnt,src,cfg);</script>';
			 break;
		case 'audio':
			 newContent = '<p align="center">';
			 newContent += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="290" height="66">';  
 			 newContent += '<param name="movie" value="mp3player.swf" /><param name="quality" value="high" /><param name="wmode" value="window" /><param name="bgcolor" value="#CECED5" />';
 			 newContent += '<param name="flashvars" value="config=%3Cmp3player%20version=%221%22%3E%3Cmusic%20url=%22./content/' + type + '/' + selected + '%22%20urlencoded=%22false%22%20volume=%22100%22%20loop=%22false%22%20usecache=%22true%22%20buffer=%224%22%20autoplay=%22false%22%20/%3E%3Clayout%20id=%22custom%22%3E%3Citem%20id=%22playbar%22%20x=%2210%22%20y=%2210%22%20/%3E%3Citem%20id=%22playbutton%22%20x=%2210%22%20y=%2235%22%20/%3E%3Citem%20id=%22stopbutton%22%20x=%2260%22%20y=%2235%22%20/%3E%3Citem%20id=%22volumecontrol%22%20x=%22180%22%20y=%2238%22%20/%3E%3C/layout%3E%3Cstyles%3E%3CBackground%20backgroundColor=%22#CECED5%22%20useBevel=%22true%22%20bevelAlpha=%2270%22%20transparent=%22%22%20/%3E%3CButton%20themeColor=%22#46FF00%22%20useCustom=%22false%22%20customPlayPauseURL=%22%22%20customStopURL=%22%22%20/%3E%3CControlIcons%20backgroundColor=%22#6F7777%22%20/%3E%3CLoadBar%20backgroundColor=%22#FFFFFF%22%20borderColor=%22#C4CCCC%22%20fillColor=%22#5EBB4D%22%20/%3E%3CPlayBar%20backgroundColor=%22#F7F7F7%22%20outerBorderColor=%22#919999%22%20innerBorderColor=%22#C4CCCC%22%20fillColor=%22#7BFF4C%22%20fontSize=%228%22%20color=%22#000000%22%20streamingText=%22'+ selected +' - STREAMING%22%20pausedText=%22'+ selected +' - PAUSED%22%20width=%22270%22%20/%3E%3CSliderThumbs%20backgroundColorOff=%22#6F7777%22%20backgroundColorOn=%22#46FF00%22%20/%3E%3CUIBorder%20borderColor=%22#666666%22%20borderWidth=%221%22%20/%3E%3CVolumeControl%20themeColorOff=%22#6F7777%22%20themeColorOn=%22#46FF00%22%20/%3E%3C/styles%3E%3C/mp3player%3E">';
 			 newContent += '<embed src="mp3player.swf" width="290" height="66" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="window" flashvars="config=%3Cmp3player%20version=%221%22%3E%3Cmusic%20url=%22./content/' + type + '/' + selected + '%22%20urlencoded=%22false%22%20volume=%22100%22%20loop=%22false%22%20usecache=%22true%22%20buffer=%224%22%20autoplay=%22false%22%20/%3E%3Clayout%20id=%22custom%22%3E%3Citem%20id=%22playbar%22%20x=%2210%22%20y=%2210%22%20/%3E%3Citem%20id=%22playbutton%22%20x=%2210%22%20y=%2235%22%20/%3E%3Citem%20id=%22stopbutton%22%20x=%2260%22%20y=%2235%22%20/%3E%3Citem%20id=%22volumecontrol%22%20x=%22180%22%20y=%2238%22%20/%3E%3C/layout%3E%3Cstyles%3E%3CBackground%20backgroundColor=%22#CECED5%22%20useBevel=%22true%22%20bevelAlpha=%2270%22%20transparent=%22%22%20/%3E%3CButton%20themeColor=%22#46FF00%22%20useCustom=%22false%22%20customPlayPauseURL=%22%22%20customStopURL=%22%22%20/%3E%3CControlIcons%20backgroundColor=%22#6F7777%22%20/%3E%3CLoadBar%20backgroundColor=%22#FFFFFF%22%20borderColor=%22#C4CCCC%22%20fillColor=%22#5EBB4D%22%20/%3E%3CPlayBar%20backgroundColor=%22#F7F7F7%22%20outerBorderColor=%22#919999%22%20innerBorderColor=%22#C4CCCC%22%20fillColor=%22#7BFF4C%22%20fontSize=%228%22%20color=%22#000000%22%20streamingText=%22'+ selected +' - STREAMING%22%20pausedText=%22'+ selected +' - PAUSED%22%20width=%22270%22%20/%3E%3CSliderThumbs%20backgroundColorOff=%22#6F7777%22%20backgroundColorOn=%22#46FF00%22%20/%3E%3CUIBorder%20borderColor=%22#666666%22%20borderWidth=%221%22%20/%3E%3CVolumeControl%20themeColorOff=%22#6F7777%22%20themeColorOn=%22#46FF00%22%20/%3E%3C/styles%3E%3C/mp3player%3E" bgcolor="#CECED5"></embed></object></p>' + "\n\n";			 
			 break;
		case 'other':
			 newContent = '<a href="./content/' + type + '/' + selected + '" >CLICK TO VIEW CONTENT, or right-click and Save As...</a>' + "\n\n";
			 break;
	}	
	return newContent;
	
}

function insertAtCursor(myField, myValue)
{ 
	//IE support 
	if (document.selection) 
	{
		myField.focus(); 
		//in effect we are creating a text range with zero 
		//length at the cursor location and replacing it 
		//with myValue 
		sel = document.selection.createRange(); 
		sel.text = myValue; 
	} 
	//Mozilla/Firefox/Netscape 7+ support 
	else if (myField.selectionStart || myField.selectionStart == '0') 
	{ 
		//Here we get the start and end points of the 
		//selection. Then we create substrings up to the 
		//start of the selection and from the end point 
		//of the selection to the end of the field value. 
		//Then we concatenate the first substring, myValue, 
		//and the second substring to get the new value. 
		var startPos = myField.selectionStart; 
		var endPos = myField.selectionEnd; 
		myField.value = myField.value.substring(0, startPos)+ myValue+ myField.value.substring(endPos, myField.value.length); 
	} 
	else 
	{ 
		myField.value += myValue; 
	} 
} 

String.prototype.reverse = function() {
splitext = this.split("");
revertext = splitext.reverse();
reversed = revertext.join("");
return reversed;
}

function getExt(filename)
{
	reversed = filename.reverse();
	marker = reversed.indexOf('.');
	return reversed.substring(0,marker).reverse();
}

function confirmDelete(title,form)
{
	var agree=confirm("Are you sure you want to permanently delete " + title + "?");
	if (agree)
		form.submit() ;
	else
		return false ;
}

function confirmAdmin(title,form)
{
	var agree=confirm("Are you sure you want to toggle administrator access for " + title + "?");
	if (agree)
		form.submit() ;
	else
		return false ;
}

function validate_addcomment()
{
    var valid = true;
    var message = "A comment must include:\n\n";
    var focusme = new Array();
    document.getElementById('subject').className = "cms" ;
    document.getElementById('message').className = "cms" ;
    
	if ( document.addcomment.subject.value == "" )
    {
        valid = false;
    	document.getElementById('subject').className += " error" ;
    	message += "-A subject\n";
    	focusme.push(document.addcomment.subject);
    }

    if ( document.addcomment.message.value == "" )
    {
        valid = false;
    	document.getElementById('message').className += " error" ;
    	message += "-A message\n";
    	focusme.push(document.addcomment.message);
    }
    
    if (!valid) 
    {
    	setFocus(focusme);
    	alert(message);
    }
    else
    {
    	document.addcomment.submit(); 
    	return valid;
    } 
    return valid;
}