function pageDiff()
{	
	var str1 = document.editContent.content_text.value.replace(/['"]/g,'').toString();
	
	document.getElementById('new_content').value=CKEDITOR.instances.content_text.getData().replace(/['"]/g,'').toString();
	
	var str2 = document.getElementById('new_content').value;
	
	/*for(var i=0; i<=str1.length; i++ )
	{
		if( str1.charAt(i) != str2.charAt(i) ) {
			alert( i + ":\n '" + str1.charCodeAt(i) + "'\n'" + str2.charCodeAt(i) + "'" );	
			break;
		}
	}*/
	
	if( str1 == str2 ) {
		return 0;
	}
	else {
		return 1;
	}
}

function savePage()
{
	// Get name of page to save.
	var pageToSave = document.editContent.content_page.value;
	var editButton = document.editContent.editSubmit;
	
	// Disable button and change text to indicate that page is being saved.
	editButton.disabled='disabled';
	editButton.value='Saving...';
	
	// Save value of new input.
	var pageName = escape( document.editContent.content_name.value );
	var pageBody = CKEDITOR.instances.content_text.getData();
	
	while( pageBody.indexOf("+") != "-1" ) {
		pageBody = pageBody.replace("+", "&#43;");
	}
	
	pageBody = escape( pageBody );
	var params = "page_name=" + pageName + "&page_body=" + pageBody + "&page_id=" + pageToSave;
	
	// Set up request object.
	if (window.XMLHttpRequest) { 
		// code for IE7+, Firefox, Chrome, Opera, Safari (aka real browsers)
		saveReq = new XMLHttpRequest();
	}
	else { 
		// code for IE6, IE5
		saveReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	saveReq.onreadystatechange=function() {
		if( saveReq.readyState==4 && saveReq.status==200 ) {
			if( saveReq.responseText ) {
				editButton.value='Saved!';
				setTimeout( "buttonPostSave()", 3000 );
				document.editContent.content_text.value = CKEDITOR.instances.content_text.getData();
			}
			else {
				editButton.value='Save Failed.';
			}
	    }
	}

	saveReq.open( "POST", "bfadmin/content_save.php", true );
	saveReq.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
	saveReq.send(params);
}

function saveSub()
{
	// Get name of page to save.
	var pageToSave = document.editSub.sub_page.value;
	var editButton = document.editSub.editSubmit;
	
	// Disable button and change text to indicate that page is being saved.
	editButton.disabled='disabled';
	editButton.value='Saving...';
	
	// Save value of new input.
	var subBody = escape( CKEDITOR.instances.sub_desc.getData() );
	var params = "sub=" + pageToSave + "&sub_content=" + subBody;
	
	// Set up request object.
	if (window.XMLHttpRequest) { 
		// code for IE7+, Firefox, Chrome, Opera, Safari (aka real browsers)
		saveReq = new XMLHttpRequest();
	}
	else { 
		// code for IE6, IE5
		saveReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	saveReq.onreadystatechange=function() {
		if( saveReq.readyState==4 && saveReq.status==200 ) {
			if( saveReq.responseText ) {
				editButton.value='Saved!';
				setTimeout( "buttonPostSaveSub()", 3000 );
				document.editSub.sub_desc.value = CKEDITOR.instances.sub_desc.getData();
			}
			else {
				editButton.value='Save Failed.';
			}
	    }
	}

	saveReq.open( "POST", "bfadmin/sub_save.php", true );
	saveReq.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
	saveReq.send(params);
}

function buttonPostSaveSub()
{
	var editButton = document.editSub.editSubmit;
	editButton.disabled=false;
	editButton.value="Save";
}

function buttonPostSave()
{
	var editButton = document.editContent.editSubmit;
	editButton.disabled=false;
	editButton.value="Save";
}

function editPage(page_name)
{
	// Check to see if any changes have been made to the current page.
	/*if( document.editContent.elements["content_page"].value!="justopened" ) {
		if( pageDiff() )
			if( !confirm("Changes have been made to this page.  If you continue, these changes will be lost.  Proceed?") )
				return;
	}*/
	
	// Set up request objects.
	if (window.XMLHttpRequest) { 
		// code for IE7+, Firefox, Chrome, Opera, Safari (aka real browsers)
		bodyReq = new XMLHttpRequest();
		nameReq = new XMLHttpRequest();
	}
	else { 
		// code for IE6, IE5
		bodyReq = new ActiveXObject("Microsoft.XMLHTTP");
		nameReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	// Get page name.
	nameReq.onreadystatechange=function() {
		if( nameReq.readyState==4 && nameReq.status==200 ) {
			document.editContent.elements["content_name"].value = nameReq.responseText;
	    }
	}

	nameReq.open( "POST", "bfadmin/content_ajax.php", true );
	var nameParams = "page=" + page_name + "&content=name";
	nameReq.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
	nameReq.send(nameParams);
	
	// Get page body.
	bodyReq.onreadystatechange=function() {
		if( bodyReq.readyState==4 && bodyReq.status==200 ) {
			var o=CKEDITOR.instances['content_text'];
			if (o) o.destroy();	
			document.editContent.elements["content_text"].value = bodyReq.responseText;
			CKEDITOR.replace('content_text');
		}
	}

	bodyReq.open( "POST", "bfadmin/content_ajax.php", true );
	var bodyParams = "page=" + page_name + "&content=body";
	bodyReq.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
	bodyReq.send(bodyParams);
	
	document.editContent.elements["content_page"].value = page_name;
}

function editSub(sub_name)
{
	// Set up request objects.
	if (window.XMLHttpRequest) { 
		// code for IE7+, Firefox, Chrome, Opera, Safari (aka real browsers)
		bodyReq = new XMLHttpRequest();
	}
	else { 
		// code for IE6, IE5
		bodyReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	// Get page body.
	bodyReq.onreadystatechange=function() {
		if( bodyReq.readyState==4 && bodyReq.status==200 ) {
			var o=CKEDITOR.instances['sub_desc'];
			if (o) o.destroy();	
			document.editSub.elements["sub_desc"].value = bodyReq.responseText;
			CKEDITOR.replace('sub_desc');
		}
	}

	bodyReq.open( "POST", "bfadmin/sub_ajax.php", true );
	var bodyParams = "sub=" + sub_name;
	bodyReq.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
	bodyReq.send(bodyParams);
	
	document.editSub.elements["sub_page"].value = sub_name;
	document.editSub.elements["sub_name"].value = sub_name;
}

function clickfcn()
{
	alert("HI!");	
}

function clear_box(field)
{
	first = "First";
	last = "Last";
	nc = "New Code";
	if (field.value == first || field.value == last || field.value == nc)
		field.value = '';
	field.className = 'active';
}

function check_box(field, value)
{
	if (field.value.length == 0)
	{
		field.value = value;
		field.className = 'inactive';
	}
}

function search_showbox()
{
	document.getElementById("search_box").style.display = "block";	
}

function search_hidebox()
{
	document.getElementById("search_box").style.display = "none";	
}

function search_submit()
{
	document.search_form.search_operator.disabled=false;
	document.search_form.submit();
}

function show_operator()
{
	var selIndex = document.getElementById("search_field").selectedIndex;
	var selText = document.getElementById("search_field").options[selIndex].text;
	
	if( selText == "Date Joined" || selText == "GDP - Football" || selText == "GDP - Basketball" || selText == "Top Play of the Day" || selText == "Felton Report" )
	{
		document.search_form.search_operator.disabled=false;
	}
	else {
		document.search_form.search_operator.selectedIndex = 0;
		document.search_form.search_operator.disabled=true;	
	}
}

function search_sort(sortField, sortDir)
{
	document.search_form.sortBy.value = sortField;
	document.search_form.sortDir.value = sortDir;
	document.search_form.search_operator.disabled=false;
	document.search_form.submit();
}

function search_clear()
{
	window.location = "http://www.bobbyfelton.com/bfadmin/users.php";
}

function validate_join()
{
	// Validate all fields.
	fields = ["first", "last", "email", "username", "password1", "password2" ];

	for( i in fields ) {
		validate(fields[i]);
	}
	
	// Check validation stauses.
	allValid=true;
	
	for( i in fields ) {
		if( document.subInfoForm.elements[fields[i] + "_val"].value != "" )
			allValid=false;
	}
	
	if( allValid ) {
		first = document.subInfoForm.first.value;
		last = document.subInfoForm.last.value;
		document.subInfoForm.bname.value=first + " " + last;
		
		if( document.subInfoForm.chargetotalDisp.value=="0" )
			document.subInfoForm.action="join_process.php";
		
		document.subInfoForm.submit();
	}
	else {
		alert("There are errors in the form.");
	}
}

function validate(fieldname)
{
	fieldValue = document.subInfoForm.elements[fieldname].value;
	errmsg = "";
	
	if( fieldname == "first" ) {
		// Verify first name field.
		if( fieldValue.length == 0 || fieldValue == "First" )
			errmsg = "Please enter your first name.";
		else if( fieldValue.length >= 200 )
			errmsg = "That first name is too long.";
			
		displayValResult(fieldname, errmsg)
	}
	else if( fieldname == "last" ) {
		// Verify last name field.
		if( fieldValue.length == 0 || fieldValue == "Last" )
			errmsg = "Please enter your last name.";
		else if( fieldValue.length >= 200 )
			errmsg = "That last name is too long.";	
			
		displayValResult(fieldname, errmsg)
	}
	else if( fieldname == "email" ) {
		// Verify email field.
		email_valid = false;
		email_at = fieldValue.indexOf("@");
		if( email_at > 0 )
			if( fieldValue.indexOf(".", email_at) > 0 )
				email_valid = true;
		
		if( fieldValue.length == 0 )
			errmsg = "Email address not valid";
		else if( fieldValue.indexOf( "%" ) > -1 )
			errmsg = "Email address cannot contain '%'";
		else if( !email_valid )
			errmsg = "Email address not valid";
		else if( fieldValue.length >= 255 )
			errmsg = "Email address too long";	
			
		if( errmsg.length != 0 ) {
			displayValResult(fieldname, errmsg);
		}
		else {
			// If none of the above checks threw an error, 
			// proceed to see if username is already taken.
			
			// Set up HTTP Request Objects.
			if (window.XMLHttpRequest) { 
				// code for IE7+, Firefox, Chrome, Opera, Safari (aka real browsers)
				xmlhttp=new XMLHttpRequest();
			}
			else { 
				// code for IE6, IE5
				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		
			xmlhttp.onreadystatechange=function() {
				if( xmlhttp.readyState==4 && xmlhttp.status==200 ) {
					if( xmlhttp.responseText == "False" ) {
						errmsg="Email address already in use.  Already have an account?  Please log in at the top of the page."
						displayValResult(fieldname, errmsg) 
					}
					else {
						displayValResult(fieldname, "" );	
					}
			    }
			}
			xmlhttp.open( "GET", "../include/validate.php?type=email&value="+fieldValue, true );
			xmlhttp.send();
		}
	}
	else if( fieldname == "username" ) {
		// Validate Username
		if( fieldValue.length == 0 )
			errmsg = "Please choose a username";
		else if( fieldValue.length < 5 )
			errmsg = "Username must be a least 5 characters";
		else if( fieldValue.length >= 30 )
			errmsg = "Username must be less than 30 characters";
		else if( fieldValue.indexOf("%") > -1 )
			errmsg = "Your username cannot contain the '%' character.";
		
		if( errmsg.length != 0 ) {
			displayValResult(fieldname, errmsg);
		}
		else {
			// If none of the above checks threw an error, 
			// proceed to see if username is already taken.
			
			// Set up HTTP Request Objects.
			if (window.XMLHttpRequest) { 
				// code for IE7+, Firefox, Chrome, Opera, Safari (aka real browsers)
				xmlhttp=new XMLHttpRequest();
			}
			else { 
				// code for IE6, IE5
				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		
			xmlhttp.onreadystatechange=function() {
				if( xmlhttp.readyState==4 && xmlhttp.status==200 ) {
					if( xmlhttp.responseText == "False" ) {
						errmsg="Username already in use.  Already have an account?  Please log in at the top of the page."
						displayValResult(fieldname, errmsg) 
					}
					else {
						displayValResult(fieldname, "" );	
					}
			    }
			}
			xmlhttp.open( "GET", "../include/validate.php?type=username&value="+fieldValue, true );
			xmlhttp.send();
		}
	}
	else if( fieldname == "password1" ) {
		if( fieldValue.length == 0 )
			errmsg = "Please enter a password";
		else if( fieldValue.length < 5 )
			errmsg = "Password must be at least 5 characters";
		else if( fieldValue.length >= 200 )
			errmsg = "Password must be less than 200 characters";
			
		displayValResult(fieldname, errmsg);
	}
	else if( fieldname == "password2" ) {
		if( document.subInfoForm.password1.value != fieldValue )
			errmsg = "Passwords do not match";
			
		displayValResult(fieldname, errmsg);
	}
}

function displayValResult(fieldname, errmsg)
{
	if( errmsg.length != 0 ) {
		document.subInfoForm.elements[fieldname + "_val"].value = "False";
		document.getElementById(fieldname + "_val_text").innerHTML = errmsg;
	}
	else {
		document.subInfoForm.elements[fieldname + "_val"].value = "";
		document.getElementById(fieldname + "_val_text").innerHTML = "";
	}
}

function highlightrow( user_id )
{
	document.getElementById("user_" + user_id).style.background = "#FF9900";	
}

function rownormal( user_id, color ) 
{
	document.getElementById("user_" + user_id).style.background = color;	
}
