// JavaScript Document

//Image list----------------------------------------------------------------------------------------

var picCommonOn = createImage("images/nav_common_on.gif");
var picCommonOff = createImage("images/nav_common_off.gif");

var picSealingOn = createImage("images/nav_sealing_on.gif");
var picSealingOff = createImage("images/nav_sealing_off.gif");

var picRegOn = createImage("images/nav_reg_on.gif");
var picRegOff = createImage("images/nav_reg_off.gif");

var picBackgroundOn = createImage("images/nav_background_on.gif");
var picBackgroundOff = createImage("images/nav_background_off.gif");

var picRogueOn = createImage("images/nav_rogue_on.gif");
var picRogueOff = createImage("images/nav_rogue_off.gif");

var picLinksOn = createImage("images/nav_links_on.gif");
var picLinksOff = createImage("images/nav_links_off.gif");

var picFactsOn = createImage("images/nav_facts_on.gif");
var picFactsOff = createImage("images/nav_facts_off.gif");

var picHomeOn = createImage("images/nav_home_on.gif");
var picHomeOff = createImage("images/nav_home_off.gif");

var picHateOn = createImage("images/nav_hate_on.gif");
var picHateOff = createImage("images/nav_hate_off.gif");

var picIntroOn = createImage("images/nav_intro_on.gif");
var picIntroOff = createImage("images/nav_intro_off.gif");

var picCommentOn = createImage("images/nav_comment_on.gif");
var picCommentOff = createImage("images/nav_comment_off.gif");

var picRegOn = createImage("images/nav_reg_on.gif");
var picRegOff = createImage("images/nav_reg_off.gif");

var picBanOn = createImage("images/nav_ban_on.gif");
var picBanOff = createImage("images/nav_ban_off.gif");

var picFastOn = createImage("images/nav_fast_on.gif");
var picFastOff = createImage("images/nav_fast_off.gif");

var picAVOn = createImage("images/nav_av_on.gif");
var picAVOff = createImage("images/nav_av_off.gif");

var picBoycottOn = createImage("images/boycott_on.gif");
var picBoycottOff = createImage("images/boycott_off.gif");

var picBannedOn = createImage("images/admin_banned_on.gif");
var picBannedOff = createImage("images/admin_banned_off.gif");

var picCommentsOn = createImage("images/admin_comment_on.gif");
var picCommentsOff = createImage("images/admin_comment_off.gif");

var picFlaggedOn = createImage("images/admin_flagged_on.gif");
var picFlaggedOff = createImage("images/admin_flagged_off.gif");

var picVisitorOn = createImage("images/admin_visitor_on.gif");
var picVisitorOff = createImage("images/admin_visitor_off.gif");

var picLogoutOn = createImage("images/admin_logout_on.gif");
var picLogoutOff = createImage("images/admin_logout_off.gif");

var picHatedOn = createImage("images/admin_hated_on.gif");
var picHatedOff = createImage("images/admin_hated_off.gif");

var picNewOn = createImage("images/admin_new_on.gif");
var picNewOff = createImage("images/admin_new_off.gif");

var picHitBanOn = createImage("images/admin_ban_on.gif");
var picHitBanOff = createImage("images/admin_ban_off.gif");

var picArticleOn = createImage("images/admin_article_on.gif");
var picArticleOff = createImage("images/admin_article_off.gif");

var picUpdatesOn = createImage("images/admin_updates_on.gif");
var picUpdatesOff = createImage("images/admin_updates_off.gif");

var picNewsOn = createImage("images/nav_news_on.gif");
var picNewsOff = createImage("images/nav_news_off.gif");




//Image Functions----------------------------------------------------------------------------------------
function createImage(imagePath){
	var img = new Image();
	img.src = imagePath;
	return img;
}

function rollon(imageid, imagename){
	var img = new Element(imagename);
	img.obj.src = eval(imageid + "On.src");
	img = null;
}

function rolloff(imageid, imagename){
	var img = new Element(imagename);
	img.obj.src = eval(imageid + "Off.src");
	img = null;
}

//Error Checking---------------------------------------------------------------------------------------------
function checkCommentsForm(){
	var errorList = '';

	errorList = checkField('fname','NOTNULL','First Name',errorList);
	errorList = checkField('city','NOTNULL','City',errorList);
	errorList = checkField('prov','NOTNULL','Province',errorList);
	errorList = checkField('page_comment','NOTNULL','Comments',errorList);
	
	if(errorList.length > 0){
		alert(errorList);
		return false;
	}
	else{
		return true;
	}
}

function properCase(strText){
	var firstChar = strText.substr(0,1);
	return strText.replace(new RegExp(firstChar), firstChar.toUpperCase());
}

function LTrim(strText){
	var startAt, strLength;

	startAt = strLength;
	strLength = strText.length;
	
	for(var i=0; i < strLength; i++){
	  if(strText.charAt(i) != " "){
		startAt = i;
		break;
	  }
	}

	strText = strText.substr(startAt);
	return strText;
}

function RTrim(strText){
	var endAt, strLength;
	
	endAt = 0;
	strLength = (strText.length-1);
	
	for(var i=strLength; i >= 0; i--){
		if(strText.charAt(i) != " "){
			endAt = i+1;
			break;
		}
	}
	
	strText = strText.substring(0,endAt);
	return strText;
}

function Trim(strText){
	return LTrim(RTrim(strText));
}

//Form Field Manipulation-----------------------------------------------------------------------------

function setFieldValue(fieldName, fieldValue, parent){
	parent = (parent == null) ? false : parent;
	var field = new Element(fieldName, parent);
	field.obj.value = fieldValue;
	field = null;
}

function getFieldValue(fieldName, parent){
	parent = (parent == null) ? false : parent;
	return field = new Element(fieldName, parent).obj.value;
}

function setFormAction(formName, formAction, parent){
	parent = (parent == null) ? false : parent;
	var form = new Element(formName, parent);
	form.obj.action = formAction;
	form = null;
}

function getFormAction(formName, parent){
	parent = (parent == null) ? false : parent;
	var form = new Element(formName, parent).obj.action;
	return form;
}

function selectDelAll(){
	var flaggedArray = getFieldValue("allFlagged").split(",");
	for(var x=0;x<flaggedArray.length;x++){
		selectButton("delall" + flaggedArray[x]);
	}
}

function deSelectDelAll(){
	var flaggedArray = getFieldValue("allFlagged").split(",");
	for(var x=0;x<flaggedArray.length;x++){
		deSelectButton("delall" + flaggedArray[x]);
	}
}

function selectAll(){
	var flaggedArray = getFieldValue("allFlagged").split(",");
	for(var x=0;x<flaggedArray.length;x++){
		selectButton("del" + flaggedArray[x]);
	}
}

function deSelectAll(){
	var flaggedArray = getFieldValue("allFlagged").split(",");
	for(var x=0;x<flaggedArray.length;x++){
		deSelectButton("del" + flaggedArray[x]);
	}
}

function selectButton(buttonName){
	//for use with radio buttons or to set checkboxes
	var button = new Element(buttonName);
	button.obj.checked = true;
	button = null;
}

function deSelectButton(buttonName){
	//for use with radio buttons or to set checkboxes
	var button = new Element(buttonName);
	button.obj.checked = false;
	button = null;
}

function resetLink(linkID, field, viewPage){
	var fieldContent = viewPage + ".php?id=" + linkID + "&page=0&sub=1&status=0";
	
	setFieldValue(field, fieldContent);	
}
//Show/Hide -----------------------------------------------------------------------------

function showDiv(divName){
	var div = new Element(divName);
	div.changeDisplay("block");
	div = null;
}

function hideDiv(divName){
	var div = new Element(divName);
	div.changeDisplay("none");
	div = null;
} 
/////////////////Audio Vsual Descriptions///////////////////////////////


imgout=new Image(9,9);
imgin=new Image(9,9);


imgout.src="Images/u.gif";
imgin.src="Images/d.gif";


//this switches expand collapse icons
function filter(imagename,objectsrc){
	if (document.images){
		document.images[imagename].src=eval(objectsrc+".src");
	}
}

//show OR hide funtion depends on if element is shown or hidden
function shoh(id) { 
	
	if (document.getElementById) { // DOM3 = IE5, NS6
		if (document.getElementById(id).style.display == "none"){
			document.getElementById(id).style.display = 'block';
			filter(("img"+id),'imgin');			
		} else {
			filter(("img"+id),'imgout');
			document.getElementById(id).style.display = 'none';			
		}	
	} else { 
		if (document.layers) {	
			if (document.id.display == "none"){
				document.id.display = 'block';
				filter(("img"+id),'imgin');
			} else {
				filter(("img"+id),'imgout');	
				document.id.display = 'none';
			}
		} else {
			if (document.all.id.style.visibility == "none"){
				document.all.id.style.display = 'block';
			} else {
				filter(("img"+id),'imgout');
				document.all.id.style.display = 'none';
			}
		}
	}
}


/////////////////Help Windows///////////////////////////////

var timerlen = 2;
var slideAniLen = 800; //Time to open

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();

function slidedown(objname){
	if(moving[objname])
	return;
	
	if(document.getElementById(objname).style.display != "none")
	return; // cannot slide down something that is already visible
	
	moving[objname] = true;
	dir[objname] = "down";
	startslide(objname);
}
 
function slideup(objname){
	if(moving[objname])
	return;
	
	if(document.getElementById(objname).style.display == "none")
	return; // cannot slide up something that is already hidden
	
	moving[objname] = true;
	dir[objname] = "up";
	startslide(objname);
}

function startslide(objname){
	obj[objname] = document.getElementById(objname);
	
	endHeight[objname] = parseInt(obj[objname].style.height);
	startTime[objname] = (new Date()).getTime();
	
	if(dir[objname] == "down"){
	obj[objname].style.height = "1px";
	}
	
	obj[objname].style.display = "block";
	
	timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}

function slidetick(objname){
	var elapsed = (new Date()).getTime() - startTime[objname];
	
	if (elapsed > slideAniLen)
	endSlide(objname)
	else {
	var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
	if(dir[objname] == "up")
	  d = endHeight[objname] - d;
	
	obj[objname].style.height = d + "px";
	}
	
	return;
}

function endSlide(objname){
	clearInterval(timerID[objname]);
	
	if(dir[objname] == "up")
	obj[objname].style.display = "none";
	
	obj[objname].style.height = endHeight[objname] + "px";
	
	delete(moving[objname]);
	delete(timerID[objname]);
	delete(startTime[objname]);
	delete(endHeight[objname]);
	delete(obj[objname]);
	delete(dir[objname]);
	
	return;
}
