// Manage display and hide of Email to Friend app and Bookmarks app


function CloseSelf(ElementID) {
	try {
		var obj = document.getElementById(ElementID);
		obj.style.display='none';
	}
	catch(e){}
}

function DisplayElement(ElementID) {
	try {
		var obj = document.getElementById(ElementID);
		obj.style.display='inline';
	}
	catch(e){}
}

function AttachHelpClass(ElementID) {
	try {
		var obj = document.getElementById(ElementID);
		obj.className='HelpBox';
	}
	catch(e){}
}

function AttachHelpClose(ElementID,CloserElementID) {
	try {
		// Attach to the element
		var obj = document.getElementById(CloserElementID);
		obj.onclick=function(){CloseSelf(ElementID);}
	}
	catch(e){}
}

function getElementPosition(elemID) {
   	try {
		var offsetTrail = document.getElementById(elemID);
		var offsetLeft = 0;
		var offsetTop = 0;
		while (offsetTrail) {
			offsetLeft += offsetTrail.offsetLeft;
			offsetTop += offsetTrail.offsetTop;
			offsetTrail = offsetTrail.offsetParent;
		}
		if (navigator.userAgent.indexOf("Mac") != -1 && 
			typeof document.body.leftMargin != "undefined") {
			offsetLeft += document.body.leftMargin;
			offsetTop += document.body.topMargin;
		}
		//alert("left:" + offsetLeft + ", " + "top:" + offsetTop);
		return {left:offsetLeft, top:offsetTop};
	}catch(e){
		return {left:100, top:100};
	}

	//return "left:" + offsetLeft + ", " + "top:" + offsetTop;
}

function ShowHelp(ElementID,CallerID,strWidth,strOffsetTop,strOffsetLeft) {
	try {
		var CallerTop = getElementPosition(CallerID).top;
		var CallerLeft = getElementPosition(CallerID).left;
		var obj = document.getElementById(ElementID);
		var ParentTop = CallerTop + strOffsetTop;
		var ParentLeft = CallerLeft - strOffsetLeft;
		obj.style.display = 'block';
		obj.style.width = strWidth + 'px';
		if(CallerLeft == 0){
			obj.style.left = '45%';
		}else{
			obj.style.left = ParentLeft + 'px';
		}
		if(CallerTop == 0){
			obj.style.top = '35%';
		}else{
			obj.style.top = ParentTop + 'px';
		}
	}
	catch(e){}
}

function InitializeHelpBox(strBoxId,strLinkID,strCloser) {
	try {
		AttachHelpClose(strBoxId,strCloser);
		AttachHelpClass(strBoxId);
		DisplayElement(strLinkID);
	}
	catch(e){}
}






// Basic validation for Email to Friend Application, can be used on other forms



function generateError(elemID,errMsg) {
	try {
		var obj = document.getElementById(elemID);
		obj.className="error";
		try{
			var obj2 = document.getElementById('lbl'+elemID);
			obj2.className="error";
		}catch(e){}
		putFocusOnElement(elemID);
		//alert(errMsg);
	}catch(e){}
}


function putFocusOnElement(elemID){
	// Put focus on an element by passing its ident
	try{
		document.getElementById(elemID).focus();
	}
	catch(e){}
}

function ValidateBasic(elemID,errMsg,bolRequired){
	var strError = false;
	// Initiate basic validation, at least for required fields
	try{
		if(document.getElementById(elemID).value == '' && bolRequired == 1){
			strError = 1;
			generateError(elemID,errMsg);
			CollectErrors(errMsg);
			return strError;
		}else{
			strError = false;
			var obj = document.getElementById(elemID);
			obj.className="";
			try{
				var obj2 = document.getElementById('lbl'+elemID);
				obj2.className="";
			}catch(e){}
			return 0;
		}
	}
	catch(e){}
}

function ValidateEmail(elemID,errMsg,bolRequired){
	var strError = false;
	var obj = document.getElementById(elemID);
	// Initiate basic validation, at least for required fields
	try{
		// is it blank and required?
		if(obj.value == '' && bolRequired == 1){
			strError = 1;
			generateError(elemID,errMsg);
			CollectErrors(errMsg);
			return strError;
		// is it formatted as an email address?
		} else if(((obj.value.indexOf(".") < 3) || (obj.value.indexOf("@") < 2)) && obj.value != ''){
			strError = 1;
			generateError(elemID,errMsg);
			CollectErrors(errMsg);
			return strError;
		}else{
			strError = false;
			obj.className="";
			try{
				var obj2 = document.getElementById('lbl'+elemID);
				obj2.className="";
			}catch(e){}
			return 0;
		}
	}
	catch(e){}
}



function CollectErrors(errMsg){
	var errorText;
	var ErrBox = document.getElementById('ErrMsg');
	ErrBox.innerText = errMsg + '\n' + ErrBox.innerText;
	//alert(ErrBox.innerText);
}


function CheckFields() {
	try {
		var ErrBox = document.getElementById('ErrMsg');
		var strError = 0
		strError = strError + Validations();

		if((ErrBox.innerText != '') && (strError > 0)){
			alert(ErrBox.innerText);
			ErrBox.innerText = '';
		}

		//alert(strError);
		if(strError < 1){
		}else{
			//if(IsSubmit == "true"){
				//stop the submit
				return false;
			//}
		}

	}catch(e){}
}









// For site redesign, 2008




// Flash video and link insertion

function WriteFlash(SWFPath,SWFWidth,SWFHeight,SWFParams) {
	try {
		var str = '\n';
		var NewParams = '';
		str+='	<object type="application\/x-shockwave-flash" data="' + SWFPath + '" width="' + SWFWidth + '" height="' + SWFHeight + '" title="" style="z-index:1;">\n';
		str+='		<param name="wmode" value="transparent">\n';
		str+='		<param name="movie" value="' + SWFPath + '">\n';
		if(typeof(SWFParams) != "undefined"){
			var SWFParamsArray = SWFParams.split(';');
			for (var i=0; i<SWFParamsArray.length; i++) {
				var EachParam = SWFParamsArray[i].split(',');
				// Unique to BNE site, replace -=- with , and -==- with ;
				EachParam[1] = EachParam[1].replace(/-==-/g,";");
				EachParam[1] = EachParam[1].replace(/-=-/g,",");
				NewParams+='		<param name="' + EachParam[0] + '" VALUE="' + EachParam[1] + '">\n';
			}
			str+=NewParams;
		}
		str+='	<\/object>\n';
		document.write(str);
	} catch(e) {}
}

function WriteFlashInID(targetID,SWFPath,SWFWidth,SWFHeight,SWFParams) {
	try {
		var str = '\n';
		var NewParams = '';
		str+='	<object type="application\/x-shockwave-flash" data="' + SWFPath + '" width="' + SWFWidth + '" height="' + SWFHeight + '" title="" style="z-index:1;">\n';
		str+='		<param name="wmode" value="transparent">\n';
		str+='		<param name="movie" value="' + SWFPath + '">\n';
		if(typeof(SWFParams) != "undefined"){
			var SWFParamsArray = SWFParams.split(';');
			for (var i=0; i<SWFParamsArray.length; i++) {
				var EachParam = SWFParamsArray[i].split(',');
				// Unique to BNE site, replace -=- with , and -==- with ;
				EachParam[1] = EachParam[1].replace(/-==-/g,";");
				EachParam[1] = EachParam[1].replace(/-=-/g,",");
				NewParams+='		<param name="' + EachParam[0] + '" VALUE="' + EachParam[1] + '">\n';
			}
			str+=NewParams;
		}
		str+='	<\/object>\n';
		document.getElementById(targetID).innerHTML = str;
	} catch(e) {}
}


function WriteFlashClick(VidFile,ThumbFile, AutoStart) {
	try {
		if(!AutoStart)	
			var AutoStart = "true";
		var playerVersion = swfobject.getFlashPlayerVersion(); // returns a JavaScript object
		
		if (swfobject.hasFlashPlayerVersion("9.0.0")) {
			swfobject.embedSWF("/files/flash/flvplayer.swf", "VidClip", "267", "200", "9.0.0", false, {file:VidFile, image:ThumbFile, width:"267", height:"200", autostart:AutoStart, overstretch:"none"}, {allowfullscreen:"true", wmode:"transparent"}, false );
		}else{}
	} catch(e) {}
}

function WriteFlashClickSideBar(VidFile,ThumbFile, AutoStart) {
	try {
		if(!AutoStart)	
			var AutoStart = "true";
		var playerVersion = swfobject.getFlashPlayerVersion(); // returns a JavaScript object
		
		if (swfobject.hasFlashPlayerVersion("9.0.0")) {
			swfobject.embedSWF("/files/flash/flvplayer.swf", "SideBarVidClip", "190", "142", "9.0.0", false, {file:VidFile, image:ThumbFile, width:"190", height:"142", autostart:AutoStart, overstretch:"full"}, {allowfullscreen:"true", wmode:"transparent"}, false );
		}else{}
	} catch(e) {}
}


function AddVideoLinkFunction() {
	try{
		if(document.getElementById('MayorVideoLink')){
			var Link = document.getElementById('MayorVideoLink');
			Link.onclick=function(){WriteFlashClick();return false;}
			//Link.onclick=function(){}
		}else{}
	}catch(e){}
}

function ResizeVideo() {
	try{
		var MinWidth = 560;
		var ActualWidth = document.getElementById('WelcomeBox').offsetWidth;
		
		// Detect Browser
		var browser=navigator.appName;
		var b_version=navigator.appVersion;
		var version=parseFloat(b_version);
		
		if (ActualWidth <= MinWidth) {
			document.getElementById('Thumbs').style.display = 'none';
		}
		else {
			// IE 6- doesn't support proper display mode
			if ((browser=="Microsoft Internet Explorer") && (version<=6)) {
				document.getElementById('Thumbs').style.display = 'block';
			}
			else {
				document.getElementById('Thumbs').style.display = 'table-cell';
			}
		}
	}catch(e){}
}

function ResizeBanner() {
	try{
		var width = document.getElementById("Wrapper").offsetWidth;
		document.getElementById("BannerRotator").style.width = width-210 + "px";
	}catch(e){}
}

function ResizeHomeBanner() {
	try{
		var width = document.getElementById("Wrapper").offsetWidth;
		document.getElementById("HomeBannerRotator").style.width = width-10 + "px";
	}catch(e){}
}







// News Scroller

var obj = null;
var strPasses = 0;
var passCounter = 0;
var overallCounter = 0;

function writeFirstScroller() {
	try{
		FirstItem = document.getElementById('Scroller1');
		ReplacedItem = document.getElementById('ScrollerLast');
		ReplacedItem.innerHTML = FirstItem.innerHTML; // insert first item HTML into placeholder item
	}catch(e){}
}

function doScroll() {
	try{
		var strPassesXCounter;
		obj.style.top = parseInt(obj.style.top)-1+'px';
		passCounter = parseInt(passCounter+1);
		overallCounter = parseInt(overallCounter+1);
		if(overallCounter == totalHeight){
			startScroll('0');
			passCounter = 0;
			overallCounter = 0;
			strPasses = 0;
		}else if(passCounter == maxCounter){
			strPasses = parseInt(strPasses+1);
			strPassesXCounter = passCounter*strPasses;
			startScroll(strPassesXCounter); // call doScroll
			passCounter = 0;
		}else{
			setTimeout(doScroll,scrollSpeed); // call doScroll
		}
	}catch(e){}
}

function startScroll(Top) {
	try{
		writeFirstScroller();
		obj = document.getElementById('ScrollerBox'); // get the "obj" object
		if(strPasses == 0){
			obj.style.top = '0px'; // set its initial position to 0px
		}else{
			obj.style.top = '-' + parseInt(Top) + 'px';
		}
		passCounter = 0;
		setTimeout(doScroll,pauseTime); // call doScroll
	}catch(e){}
}

// Photo Gallery functions

// Set the variable outside of the functions
var OldThumb;
var OldDesc;
var CurrentPos;
var OldFrameID;
var OldThumbsID;
var OldTabID;

function ShowImg(ArrayName,pos,thumbImg){
	try{
		var SpacerPath = "/files/images/std/spacer.gif";

		// Pass in the thumbnail image you've clicked, then set the old one to clear the class, then set the class on the one you clicked
		var NewThumb = thumbImg;
		if(OldThumb==undefined){
		}else{
			var OldThumbImg = document.getElementById(OldThumb);
			OldThumbImg.className = "";
		}
		var NewThumbImg = document.getElementById(NewThumb);
		NewThumbImg.className = "Sel";

		// Update the big image
		var FlashBox = document.getElementById("FLVWrapper");
		FlashBox.innerHTML = "<div id=\"FLVVideo\"><a href=\"#\" id=\"FLVReplace\"><img src=\"\/files\/images\/std\/spacer.gif\" width=\"500\" height=\"375\" alt=\"\" border=\"0\" id=\"FLVImg\" title=\"Click to play video in the page.\"><\/a><\/div>"
		FlashBox.style.display = "none";
		var ArrImg = ArrayName + "_Img";
		var BigImg = document.getElementById(ArrImg);
		BigImg.src = SpacerPath;
		var NewImg = eval(ArrayName + "Src" + "[" + parseInt(pos) + "]");
		NewImgReplace = NewImg.replace(".flv",".jpg")
		BigImg.src = NewImgReplace;

		// Update the image counter
		var ImgCounter = document.getElementById("Counter");
		ImgCounter.innerHTML = "<p>Image " + parseInt(pos+1) + " of " + eval(ArrayName + ".length") + "<" + "/p>";

		// Display the block of copy
		var NewDesc = thumbImg.replace("Thumb_","Desc_");
		if(OldDesc==undefined){
		}else{
			var OldDescBox = document.getElementById(OldDesc);
			OldDescBox.style.display = "none";
		}
		var NewDescBox = document.getElementById(NewDesc);
		NewDescBox.style.display = "block";


		// Set the current thumb and description to be the last ones clicked on the next pass
		OldThumb = NewThumb;
		OldDesc = NewDesc;

		CurrentPos = pos;

		// Change the permalink URL
		var PermaLink = document.getElementById("PermaLink");
		var PermaLinkInput = document.getElementById("txtPermaLink");
		var NewHref = "?Tab=" + ArrayName.replace("Tab","").replace("Imgs","") + "&pos=" + pos + "&id=" + thumbImg.replace("Thumb_","");
		PermaLink.href = NewHref;
		PermaLinkInput.value = PageURL + NewHref;

		// Write Flash movie
		if(NewImg.indexOf(".flv") >= 0){
			// Clear the previous movie out and reset it to default values, passing in the WMV version
			FlashBox.innerHTML = "<div id=\"FLVVideo\"><a href=\"" + NewImg.replace(".flv",".wmv") + "\" id=\"FLVReplace\"><img src=\"\/files\/images\/std\/spacer.gif\" width=\"400\" height=\"300\" alt=\"\" border=\"0\" id=\"FLVImg\" title=\"Click to play video in the page.\"><\/a><\/div>"

			FlashBox.style.display = "block";
			var FLVImg = document.getElementById("FLVImg");
			FLVImg.src = NewImgReplace;
			FlashReplace = document.getElementById("FLVReplace");
			if (swfobject.hasFlashPlayerVersion("9.0.0")) {
				FlashReplace.onclick=function(){WriteFlashClick(NewImg,NewImgReplace);return false;}
			}else{}
		}else{}

		// Change prev/next thumbs
		var PrevThumb = ArrayName.replace("Imgs","") + "_Prev";
		var NextThumb = ArrayName.replace("Imgs","") + "_Next";
		var PrevThumbImg = document.getElementById(PrevThumb);
		var NextThumbImg = document.getElementById(NextThumb);
		var ArraySize = eval(ArrayName + ".length");
		var NThumb;
		var PThumb;

		if(parseInt(pos) == 0){
			PThumb = ArraySize-1;
		}else{
			PThumb = parseInt(pos) - 1;
		}
		if(parseInt(pos) == ArraySize-1){
			NThumb = 0;
		}else{
			NThumb = parseInt(pos) + 1;
		}

		var PThumbImgSrc = eval(ArrayName + "Src" + "[" + PThumb + "]").replace(".jpg","_t.jpg");
		var NThumbImgSrc = eval(ArrayName + "Src" + "[" + NThumb + "]").replace(".jpg","_t.jpg");

		NextThumbImg.src = NThumbImgSrc;
		PrevThumbImg.src = PThumbImgSrc;

	}catch(e){}
}

function PrevNext(ArrayName,PN){
	try{
		ArrayCount = parseInt(eval(ArrayName + ".length"));
		ArrayPos = parseInt(CurrentPos);
		CollectionPos = parseInt(ArrayPos + 1);

		if(PN=="P"){
			if(ArrayPos==0 || ArrayPos==undefined){
				PrevArrayPos = parseInt(ArrayCount-1);
				PrevCollectionPos = ArrayCount;
			}else{
				PrevArrayPos = parseInt(ArrayPos-1);
				PrevCollectionPos = parseInt(CollectionPos-1);
			}
			NewArrayPos = PrevArrayPos
			NewCollectionPos = PrevCollectionPos
		}else{

			if(CollectionPos>=ArrayCount){
				NextArrayPos = parseInt(0);
				NextCollectionPos = parseInt(1);
			}else{
				NextArrayPos = parseInt(ArrayPos+1);
				NextCollectionPos = parseInt(CollectionPos+1);
			}
			NewArrayPos = NextArrayPos
			NewCollectionPos = NextCollectionPos
		}

		NewThumb = "Thumb_" + eval(ArrayName + "[" + NewArrayPos + "]");
		ShowImg(ArrayName,NewArrayPos,NewThumb);
	}catch(e){}
}

function ChooseTab(ArrayNum){
	try{
		FirstThumb = "Thumb_" + eval(ArrayNum + "Imgs[0]");
		ArrayName = ArrayNum + "Imgs";
		ShowImg(ArrayName,0,FirstThumb);

		// hide last block of images, display chosen block
		if(OldFrameID==undefined){
		}else{
			document.getElementById(OldFrameID).style.display = "none";
		}
		ActiveFrameID = ArrayNum + "Imgs_Frame";
		var ActiveFrame = document.getElementById(ActiveFrameID);
		ActiveFrame.style.display = "inline";

		// hide last block of thumbnails, display chosen thumbs
		if(OldThumbsID==undefined){
		}else{
			document.getElementById(OldThumbsID).style.display = "none";
		}
		ActiveThumbsID = ArrayNum + "Thumbs";
		var ActiveThumbs = document.getElementById(ActiveThumbsID);
		ActiveThumbs.style.display = "inline";

		// Reset last tab and mark current tab selected
		if(OldTabID==undefined){
		}else{
			document.getElementById(OldTabID).className="";
		}
		ActiveTabID = ArrayNum;
		var ActiveTab = document.getElementById(ActiveTabID);
		ActiveTab.className="Sel";

		OldFrameID = ActiveFrameID;
		OldThumbsID = ActiveThumbsID;
		OldTabID = ActiveTabID;
	}catch(e){}
}


// Use this function for finding element's top and left position

function getElementPosition(elemID) {
   	try {	
		var offsetTrail = document.getElementById(elemID);
		var offsetLeft = 0;
		var offsetTop = 0;
		while (offsetTrail) {
			offsetLeft += offsetTrail.offsetLeft;
			offsetTop += offsetTrail.offsetTop;
			offsetTrail = offsetTrail.offsetParent;
		}
		if (navigator.userAgent.indexOf("Mac") != -1 && 
			typeof document.body.leftMargin != "undefined") {
			offsetLeft += document.body.leftMargin;
			offsetTop += document.body.topMargin;
		}
		return {left:offsetLeft, top:offsetTop};
	}catch(e){
	   return {left:0, top:0};
	}
    //return "left:" + offsetLeft + ", " + "top:" + offsetTop;
}


function LinkBox(ShowHide){
	try{
		var FormBox = document.getElementById('PermaLinkForm');
		if(ShowHide=='o'){
			var TopOffset = getElementPosition('PermaLink').top + 20;
			var LeftOffset = getElementPosition('PermaLink').left - 260;
			FormBox.style.top = TopOffset + 'px';
			FormBox.style.left = LeftOffset + 'px';
			FormBox.style.display = "inline";
		}else{
			FormBox.style.display = "none";
		}
	}catch(e){}
}

function HideTabs(num){
	try{
		for(i = 1; i <= num; i++){
			document.getElementById('TabContent'+i).style.display = 'none';
			document.getElementById('Tab'+i).className = '';
		}
	}catch(e){}
}


function SetTab(TabNum, Total){
	try{
		HideTabs(Total);
		document.getElementById('TabContent'+TabNum).style.display = 'block';
		document.getElementById('Tab'+TabNum).className = 'Sel';
		return true;
	}catch(e){}
}
