var bPanelOpened = false;
var iPos = 0;
var bMoving;
var lDirection = 1;
var lCeiling = 71;
var lPos = 0;
var iPanelTimeout = 60;
var iOffset = 102;
var lMovePanelTimeout = null;

var dvOptionsBar = null;
var dvContent = null;

var bChanged = false;

function window_load() {
	dvOptionsBar = document.getElementById('spnOptionsBar');
	dvContent = document.getElementById('dvContent');
	
	txtSearch = document.getElementById('txtTags');
	tags_open();
	tags_init_textbox(txtSearch);
	if (bAuth && sSearchUser == sAuthName && !bSearchCIF && sSearchTags == '') {
		txtSearch.value = 'search my clips';
		SearchFocus(txtSearch, false);
	} else if (sSearchTags != '') {
		txtSearch.value = sSearchTags;
		txtSearch.focus();
	}


}

function OptionsPanel() {
	bPanelOpened = (!bPanelOpened);

	if (!bPanelOpened) {
		CancelOptions();
	} else {
		dvOptionsBar.style.display = 'block';
		// conditions no longer needed
		document.getElementById('imgOptionsPanel').src = '/images/header/' + (bPanelOpened ? 'close-options.png' : 'customize-this-page.png');
		lDirection = (bPanelOpened ? 1 : -1);
		lPos = (bPanelOpened ? -58 : 30);
		lCeiling = (bPanelOpened ? 30 : -58);
		PanelStart(8);
	}
}

function PanelStart(iAmount) {
	if (!bMoving) {
		bMoving = true;
		clearTimeout(lMovePanelTimeout);
		lMovePanelTimeout = null;
		PanelMove(iAmount);
	}
	return false;
}

function PanelMove(iAmount) { 
	if (bMoving) {
	
		lPos = lPos + (lDirection * iAmount);
		
		dvOptionsBar.style.top = lPos + 'px';
		dvContent.style.top = parseInt(lPos + iOffset) + 'px';
	
	
		if ((lDirection == 1 && lPos >= lCeiling) || (lDirection == -1 && lPos <= lCeiling)) {
			PanelStop();
		} else {
			lMovePanelTimeout = setTimeout('PanelMove(' + iAmount + ')', iPanelTimeout);
		}
	} 
}

function PanelStop() {
	if (bMoving) {
		//alert('stopped');
		//alert('pos: ' + lPos);
		clearTimeout(lMovePanelTimeout);
		lMovePanelTimeout = null;
		bMoving = false;
	}
}


function OpenTab(iTab) {
	for (i = 1; i < 3; i++) {
		document.getElementById('dvTab' + i).style.display = ((iTab == i) ? 'block' : 'none');
		document.getElementById('tdTab' + i).className = ((iTab == i) ? 'TabAct' : 'Tab');
	}
}

function OpenFSTab(sKey, iWhich) {
	for (i = 1; i <= 2; i++) {
		document.getElementById('dvFSTab' + i + sKey).style.display = ((iWhich == i) ? 'block' : 'none');
		document.getElementById('tdFSTab' + i + sKey).className = ((iWhich == i) ? 'TabAct' : 'Tab');
	}	
	document.getElementById('hdnBgImgType' + sKey).value = iWhich;
	StateChange(false);
}


function OpenFileSelector(sKey) {
	document.getElementById('dvFileSelector' + sKey).style.display = 'block';
	document.getElementById('dvFileSelected' + sKey).style.display = 'none';
}


function BgSelect(obj, iWhich, sKey) {
	//alert(obj.value);
	document.getElementById('BgSelectL' + iWhich + sKey).className = (obj.checked ? 'BgAct' : 'BgRest');
	document.getElementById('BgSelectR' + iWhich + sKey).className = (obj.checked ? 'BgAct' : 'BgRest');
} 

// form and post form functions

var sType = '1';

function PrepForm() {
	document.getElementById('hdnFormType').value = sType;
	// disable preview btns here
	document.getElementById('btnPreviewPage').disabled = true;	
	document.getElementById('btnPreviewTtl').disabled = true;	
	document.getElementById('btnPreviewClipcast').disabled = true;	
	document.getElementById('btnPreviewOther').disabled = true;	
	
	if (sType == '2') {	
		document.getElementById('btnSave').disabled = true;
		document.getElementById('btnThemeSave').disabled = true;
		document.getElementById('btnSave').style.background = '#fafafa';
		document.getElementById('btnSave').style.color = '#999999';
				
		document.getElementById('btnCancel').disabled = true;	
		document.getElementById('btnCancel').style.color = '#999999';

		document.getElementById('btnThemeCancel').disabled = true;	

		if (!!document.getElementById('lnkSavePreset')) {
			document.getElementById('lnkSavePreset').style.display='inline';
		}
	}
	return true;
}

function PrepPreset() {
	document.getElementById('hdnFormType').value = '3';
	return true;
}

function PreviewForm() {
	sType='1';
	PrepForm();
	document.getElementById('frmCustomize').submit();
}

function CancelOptions() {
	if (bChanged) {
		if (confirm('Are you sure you want to close the customization options? ' + (bChanged ? 'Any unsaved changes will be lost.' : ''))) {
			window.location.href = window.location.href;
		} else {
			bPanelOpened = true;
			return false;
		}
	} else {
		// make sure we reload the right page
		var sUrl = window.location.href;
		if (sUrl.match(/\/clipcast\//i)) {
			var sTtl = document.getElementById('txtTitle').value;
			sUrl = sUrl.replace(/^(.+\/clipcast\/).+$/i, "$1" + encodeURI(sTtl).replace(/\%20/g, '+') + '/');
			window.location.href = sUrl;
		} else {
			window.location.href = window.location.href;
		}
	}
}


function RestoreDefaults() {
	if (confirm('Are you sure you return to the default style of this clipcast?')) {

		document.getElementById('frmRestore').submit();

	} else {

		return false;
	}
}


function post_restore() {
	window.parent.location.href = window.parent.location.href;
}
		

function CheckBeforeLeaving() {
	if (bChanged) {
		if (confirm('There have been changes made to this page\'s theme that have not been saved. Are you sure you want to leave this page without saving your changes first?')) {
			return true;
		} else {
			return false;
		}
	}
}	

function StateChange(bNoTheme, bClipCast) {
	bChanged = true;
	document.getElementById('hdnClipcastUpdated').value = (bClipCast ? 'true' : 'false');
	
	document.getElementById('btnThemeCancel').disabled = false;	
	document.getElementById('btnThemeSave').disabled = false;	

	document.getElementById('btnCancel').disabled = false;	
	document.getElementById('btnCancel').style.color = '#333333';

	document.getElementById('btnSave').disabled = false;
	document.getElementById('btnSave').style.background = '#4d82cc';
	document.getElementById('btnSave').style.color = '#ffffff';


	document.getElementById('btnPreviewPage').disabled = false;	
	document.getElementById('btnPreviewTtl').disabled = false;	
	document.getElementById('btnPreviewClipcast').disabled = false;	
	document.getElementById('btnPreviewOther').disabled = false;	
	
	if (!bNoTheme) {
		document.getElementById('tdSelTheme').innerHTML = '<i>Customized</i>';
		document.getElementById('hdnThemePreset').value = '';
		document.getElementById('hdnThemeCustom').value = 'true';
	}
	
	if (!!document.getElementById('lnkSavePreset')) {
		document.getElementById('lnkSavePreset').style.display='none';
	}
}

function CallFLClip(sGuid) {
	if (is_ie) {
		StopPropagation(event, true);
	}

	thisMovie('swfClipcast').SetVariable("jumpGuid.guidToJumpTo", sGuid);
	
	window.scrollTo(0,0);
	return false;
}


function thisMovie(sName) {
	if (window.document[sName]) {
		return window.document[sName];
	}

	if (navigator.appName.indexOf("Microsoft Internet") == -1) {
	if (document.embeds && document.embeds[sName])
		return document.embeds[sName]; 
	} else {
		return document.getElementById(sName);
	}

}

function AboutUser() {
			
	HideScrollbars();

	var objPrompt = CreateIfNone('dvDialogBlackout', 'div');
	var objMessage = document.getElementById('dvAboutUser');

	objPrompt.style.height = document.body.scrollHeight + 'px';
	objPrompt.style.display='block';

	objMessage.style.top = parseInt((document.body.clientHeight - 300)/2 - 80 + document.body.scrollTop) + 'px';
	objMessage.style.left = parseInt((document.body.clientWidth - 700)/2) + 'px';
	objMessage.style.display='block';
	

}


function NewClipcast(iStatus) {
			
	HideScrollbars();

	var objPrompt = CreateIfNone('dvDialogBlackout', 'div');
	var objMessage = document.getElementById('dvNewClipcast');

	objPrompt.style.height = document.body.scrollHeight + 'px';
	objPrompt.style.display='block';

	objMessage.style.top = parseInt((document.body.clientHeight - 300)/2 - 80 + document.body.scrollTop) + 'px';
	objMessage.style.left = parseInt((document.body.clientWidth - 700)/2) + 'px';
	objMessage.style.display='block';
	
	document.getElementById('txtClipcastName').focus();

}

function MakeNewClipcast() {
	var sName = document.getElementById('txtClipcastName').value;
	if (sName.length > 0) { 
		window.frames['fraTarget'].location.href = 'http://' + window.location.hostname + '/clipcast_user.aspx?t=new_clipcast&n=' + encodeURIComponent(sName);
	} else {
		alert('Please enter a valid name for your new ClipCast.');
	}

	return false;
}

function PostNewClipcast(iStatus) {

	HideScrollbars();
	document.getElementById('dvNewClipcast').style.display = 'none';

	var objPrompt = CreateIfNone('dvDialogBlackout', 'div');
	var objMessage = CreateIfNone('dvPostClipcast', 'div');
	var sName = document.getElementById('txtClipcastName').value;

	objPrompt.style.height = document.body.scrollHeight + 'px';
	objPrompt.style.display='block';

	var sHTML = '<br/><br/><center>';
	
	if (iStatus == -1) {
		sHTML += '<h4>Clipcast not created</h4>';		
		sHTML += '<div class="DialogCopy">A ClipCast with the name &mdash; <b><i>' + sName + '</i></b> &mdash; already exists.  Please chose a different name for your new ClipCast.</div>';		
	} else {
		sHTML += '<h3>New Clipcast Created!</h3>';		
		sHTML += '<div class="DialogCopy">Go to the new <b><i><a href="javascript:CancelDialog(\'dvPostClipcast\');window.location.href=\'/clipcast/' + escape(sAuthName).replace(/\%20/,'+')  + '/cc/' + escape(sName) + '/\';" class="CLB">' + sName + '</a></i></b> ClipCast.</div>';
	}

	sHTML += '<br/><br/><b><a href="javascript:CancelDialog(\'dvPostClipcast\');" style="font-size: 22px;" class="CLB">close</a></b>';

	sHTML += '</center>';
	objMessage.innerHTML = sHTML;

	document.getElementById('txtClipcastName').value = '';
	
	objMessage.style.top = parseInt((document.body.clientHeight - 300)/2 - 80 + document.body.scrollTop) + 'px';
	objMessage.style.left = parseInt((document.body.clientWidth - 700)/2) + 'px';
	objMessage.style.display='block';
	
	document.getElementById('txtClipcastName').focus();

}


function CancelDialog(sId) {
	ShowScrollbars();
	document.getElementById('dvDialogBlackout').style.display='none';	
	document.getElementById(sId).style.display='none';	
}
	
function UpdateClipList(bShow) {
	document.getElementById('dvClipListInner').style.display = (bShow ? 'block' : 'none');
}


function SearchClips() {
	var q = document.getElementById('txtSearch').value;
	q = q.replace(/^\s*/, '');
	q = q.replace(/\s*$/, '');
	var t = 0;
	var sDomain;
	if (q.length < 2) {
		alert('Please enter a search query first.');
	} else {
		if (!!document.getElementById('selSearchType')) { 
			t = document.getElementById('selSearchType').options[document.getElementById('selSearchType').selectedIndex].value;
		}
		if (t == '1') {
			sDomain = GetUserDomain(sAuthName);			
		} else if (t == '2') {
			sDomain = GetUserDomain(document.getElementById('hdnSearchUser').value);
		} else {
			sDomain = GetUserDomain('');
		}
	
		//alert(sDomain);
		window.location.href = sDomain +  '/search/' + encodeURIComponent(q).replace(/\%20/g, '+') + '/';
	
	}
	return false;
}


function MacMenu(sMenuKey) {
	if (is_mac) {
		if (sMenuKey == 'OptPage' || sMenuKey == 'OptThemes' || sMenuKey == 'OptTtl') {
			document.getElementById('dvClipcast').style.visibility = (bMenuShowing[sMenuKey] ? 'hidden' : 'visible');	
		} else {
			document.getElementById('dvClipcast').style.visibility = 'visible';	
		}
	}
}
