/**
 * forms.js
 * 
 * Contains functions that manipulate forms,
 * such as character counters, and such.
 * 
 * Written by: Leo Koppel, Richard Ye
 * Last Modified: February 24, 2008
 * 
 * @param {Object} form
 */


//CLASS DROPDOWN UPDATER (OLD!)
//Modified from http://www.plus2net.com/

function reload(form){
var val=form.grade.options[form.grade.options.selectedIndex].value;
self.location='homework.php?grade=' + val ;
}

function reloadpost(form){
var val=form.grade.options[form.grade.options.selectedIndex].value;
self.location='newassignment.php?grade=' + val ;
}

////////////////// 
function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--){
		//selectbox.options.remove(i);
		selectbox.remove(i);
	}
}

function addOption(selectbox, value, text) {
	/*if(type == select) {*/
		var optn = document.createElement("OPTION");
		optn.text = text;
		optn.value = value;
	
		selectbox.options.add(optn);
	/*}
	else if(type == checkbox) {
		var chk = document.createElement("input type="checkbox");
		chk.text = text;
		chk.value = value;
	
		selectbox.options.add(optn);
	}
*/
}


//CHARACTER COUNTER
//Modified from: Dynamic Version by: Nannette Thacker - http://www.shiningstar.net - Original by :  Ronnie T. Moore

function textCounter(field,cntfield,maxlimit) {
	if (field.value.length > maxlimit) {// if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
		alert("Comments are limited to 255 characters.");
	}
	// otherwise, update 'characters left' counter
	else
		cntfield.value = maxlimit - field.value.length;
}

// CodePress Stuff (fileeditor.php)
//------------------------------------------------------

var codepress_on = true;
function fileeditor_turnoffcodepress() {
	if (codepress_on == true) {
		newcontents.toggleEditor()
		codepress_on = false;
	}
}

function fileeditor_toggleCodepress() {
	if (codepress_on == true) {
		codepress_on = false;
	}
	else {
		codepress_on = true;
	}
	newcontents.toggleEditor()
}

//The next two functions are for editor.php only.
function editor_turnoffcodepress() {
	if (codepress_on == true) {
		editor_basecontent.toggleEditor(); 
		editor_mainContent.toggleEditor(); 
		editor_sideContent.toggleEditor();
		codepress_on = false;
	}
}

function editor_toggleCodepress() {
	if (codepress_on == true) {
		codepress_on = false;
	}
	else {
		codepress_on = true;
	}
	editor_basecontent.toggleEditor(); 
	editor_mainContent.toggleEditor(); 
	editor_sideContent.toggleEditor();
}


// AJAX stuff
//------------------------------------------------------

var xmlHttp

function GetXmlHttpObject(){
    var xmlHttp = null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

function viewImageStateChanged(){
    if (xmlHttp.readyState == 4) {
        document.getElementById("photopreview").innerHTML = xmlHttp.responseText;
    }
}

function previewNewsStateChanged(){
    if (xmlHttp.readyState == 4) {
        document.getElementById("deleteNews2Inner").innerHTML = xmlHttp.responseText;
    }
}

// Used on removeimages.php to view images to confirm that it's the right one.
// First EVER Ajax test

function viewImage (element) {
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp == null) {
	    alert("Your browser does not support AJAX!");
	    return;
	}
	document.getElementById("photopreview").innerHTML = "Loading...";
	var imgurl = "../../photos/files/"+document.getElementById('folder').value + "/" + document.getElementById(element).value;
	
	var url = "scripts/previewimg.php";
	url = url + "?q=" + imgurl;
	//url = url + "&sid=" + Math.random()*100000000000000000;
	
	xmlHttp.onreadystatechange=viewImageStateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
	return false;
}

// Used on deletenews.php to preview a news story and confirm deletion

function previewNews() {
	xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp == null) {
		var errorContents = "Your browser does not support AJAX, so this script cannot run. Please update your browser.";
	    document.getElementById("deleteNews2Inner").innerHTML = errorContents;
	    return;
	}
	
	document.getElementById("deleteNews2Inner").innerHTML = "Loading Preview...";
	document.getElementById("deleteNews2").style.display = "block";
	
	var id = document.getElementById('deleteNews_selectid').value;
	var url = "/admin/scripts/previewnews.php";
	url = url + "?i=" + id;
	
	xmlHttp.onreadystatechange = previewNewsStateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
	return false;
}

// Cancels and resets

function resetNewsDelete() {
	document.getElementById("deleteNews2Inner").innerHTML = "Loading Preview...";
	document.getElementById("deleteNews2").style.display = "none";
}

