function categoryChange() {
	document.getElementById('categoryDescription').innerHTML = document.getElementById('category-' + document.getElementById('category').value).value;
}
function updateExpirationDate() {
	var month = document.getElementById('expirationMonth').value;
	var day = document.getElementById('expirationDay').value;
	var year = document.getElementById('expirationYear').value;
	var newDate = new Date(year,month-1,day);
	document.getElementById('expirationTimestamp').value = newDate.valueOf()/1000;
}
function setState( state ) {
	document.getElementById('stateid').value = state;
}

function kbSubmit(textAreas) {
	
	if(validateArticle()) {
		editor.updateTextFields();
		
		inputs = editor.getFields();
		
		var i;
		
		for (i=0; i < inputs.length; i++) {
			spellCheck.addField(inputs[i]);
		}
		
		//spellCheck.setEndCommand("document.kbarticle.submit();");
		spellCheck.setEndCommand("editor.updateContentFields();", "document.kbarticle.submit();");
		spellCheck.go();
	}
}

function validateArticle() {
	if(document.getElementById('articletitle').value == "")
	{
		window.alert("You must give your article a title");
		document.getElementById('articletitle').focus();
		return false;
	}

	return true;
}
function toggle() {
	var i;
	for (i = 0; i < arguments.length; i++) {
		var id = _element(arguments[i]);
		(id.style.display == "none") ? id.style.display = "" : id.style.display = "none";
	}
}

function hide() {
	var i;
	for (i = 0; i < arguments.length; i++) {
		_element(arguments[i]).style.display = "none";
	}
}

function show() {
	var i;
	for (i = 0; i < arguments.length; i++) {
		_element(arguments[i]).style.display = "";
	}
}

function ifEmptyDisable(fieldid, objectid) {
	if(document.getElementById(fieldid).value.length==0) {
		document.getElementById(objectid).disabled = true;
	} else {
		document.getElementById(objectid).disabled = false;
	}
}

function switchToggleImage(id) {
	var obj = document.getElementById(id);
	if(obj.src.indexOf('plus.gif') != -1) {
		obj.src = obj.src.replace('plus.gif', 'minus.gif');
	} else {
		obj.src = obj.src.replace('minus.gif', 'plus.gif');
	}
}

function getEventKeyCode(e) {
	if (window.event) {
		return window.event.keyCode;
	} else {
		return e.which;
	}
}

function _element(el) {
	return document.getElementById(el);
}

function changeSearchToDepartments() {
	if(categoryIsChecked.length > 0) {
		categoryIsChecked = new Array();
	}
	for(i=0;i<categoryCheck.length;i++) {
		if(document.getElementById("categories-"+categoryCheck[i]).checked == true) {
			categoryIsChecked[categoryIsChecked.length] = categoryCheck[i];
			document.getElementById("categories-"+categoryCheck[i]).checked = 0;
		}
	}
	if(optionIsChecked.length > 0) {
		optionIsChecked = new Array();
	}
	for(i=0;i<optionCheck.length;i++) {
		if(document.getElementById("values-"+optionCheck[i]).checked == true) {
			optionIsChecked[optionIsChecked.length] = optionCheck[i];
			document.getElementById("values-"+optionCheck[i]).checked = 0;
		}
	}
	for(i=0;i<departmentIsChecked.length;i++) {
		document.getElementById("departments-"+departmentIsChecked[i]).checked = 1;
	}
}

function changeSearchToAdvanced() {
	if(departmentIsChecked.length > 0) {
		departmentisChecked = new Array();
	}
	for(i=0;i<departmentCheck.length;i++) {
		if(document.getElementById("departments-"+departmentCheck[i]).checked == true) {
			departmentIsChecked[departmentIsChecked.length] = departmentCheck[i];
			document.getElementById("departments-"+departmentCheck[i]).checked = 0;
		}
	}
	for(i=0;i<optionIsChecked.length;i++) {
		document.getElementById("values-"+optionIsChecked[i]).checked = 1;
	}
	for(i=0;i<categoryIsChecked.length;i++) {
		document.getElementById("categories-"+categoryIsChecked[i]).checked = 1;
	}
}

function makeBusy(el) {
	if (document.getElementById(el).innerHTML.toLowerCase() != '<img src="' + systemurl + '/core/images/loading.gif">'.toLowerCase()) {
		document.getElementById(el).innerHTML = '<img src="' + systemurl + '/core/images/loading.gif">';
	}
}

function isBusy(el) {
	return (_element(el).innerHTML.indexOf('/core/images/loading.gif">') != -1);
}

function approveImage(imageid) {
	retrieveUrl(systemurl + "/core/ajax/imagestate.php?state=Approved&imageid=" + imageid, '');
}

function rejectImage(imageid) {
	retrieveUrl(systemurl + "/core/ajax/imagestate.php?state=Rejected&imageid=" + imageid, '');
}

//function for rating system
function highlight(num) {
	for (x = 1; x <= num; x++) {
		document.getElementById('star' + x).src = coreurl+"/images/icons/star.gif";
	}
}

//function for rating system
function lowlight(num) {
	for (x = 5; x >= num; x--) {
		document.getElementById('star' + x).src = coreurl+"/images/icons/star_disabled.gif";
	}
}

//function for rating system
function resetstars() {
	for (x = 1; x <= origrating; x = x + .5) {
		
		if (((x % 1) == 0)) {
			document.getElementById('star' + x).src = coreurl+"/images/icons/star.gif";
		} else if (x == origrating) {
			var y = Math.ceil(origrating);
			document.getElementById('star' + y).src = coreurl+"/images/icons/star_half.gif";
		}
	}
	
	for( x = Math.ceil(origrating) + 1; x <= 5; x++) {
		document.getElementById('star' + x).src = coreurl+"/images/icons/star_disabled.gif";
	}
}


function checkEnter(e) {
	var pK = e ? e.which : window.event.keyCode;
	return pK != 13;
}

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}


function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 


function getCurrentSearches(id) {
	if(firsttime == true)
		appendTopUrl(coreurl+"/ajax/currentSearches.php", id);
	else
		appendTopUrl(coreurl+"/ajax/currentSearches.php?time="+timestamp, id);
	firsttime = false;
	timestamp+=10;
}

/**
 * Quick Search Related Functions
 */
var __quickSearchTime = -1;
var __quickSearchInstance = -1;
var __quickSearchDepartments = new Array();

function doQuickSearch() {
	val = _element("quickSearchString").value;
	
	var url = systemurl + "/admin/quicksearch.php?s=" + val;
		
	if (_element("and").checked == true) {
		url += "&type=and";
	} else if(_element("or").checked == true) {
		url += "&type=or";
	}
		
	if (_element("content").checked == true) {
		url += "&content=1";
	}
		
	if (_element("keywords").checked == true) {
		url += "&keywords=1";
	}
	
	if (_element("titles").checked == true) {
		url += "&titles=1";
	}

	for (i = 0; i < __quickSearchDepartments.length; i++) {
		if (_element(__quickSearchDepartments[i]).checked == true) {
			url += "&departments[]="+ _element(__quickSearchDepartments[i]).value;
		}
	}
	retrieveUrl(url, "quickSearchResults");
}

function doQuickSearchKeypress(e) {
	__quickSearchInstance++;
	
	if (e && getEventKeyCode(e) == 13) {
		doQuickSearch();
		return;
	}
	
	doQuickSearchTimeout(500, __quickSearchInstance);
}

function doQuickSearchTimeout(time, instance) {
	makeBusy("quickSearchResults");
	
	if (__quickSearchInstance != instance) {
		return;
	}
	
	if (__quickSearchTime < time) {
		__quickSearchTime = time;
		doQuickSearchTimeout(time, instance);
		return;
	}
	
	if (time > 0) {
		if ((time - 1000) < 0) {
			timeout = time;
			time = 0;
		} else {
			timeout = 1000;
			time -= 1000;
		}
		var cmd = "doQuickSearchTimeout("+ time +","+ instance +")";
		setTimeout(cmd, timeout);
		return;
	}
	
	if (time == 0) {
		doQuickSearch();
		return;
	}
}

