var xmlFollowedHTTP = null;
var xmlFavoritesHTTP = null;

function search() {	
	// step 1: check for valid query
	var q = document.getElementById('txtTags').value;
	q = q.replace(/^\s*/, '');
	q = q.replace(/\s*$/, '');
	if (q.length < 2 || q == 'search my clips' || q == 'search all clips') {
		alert('Please a search query first.');
		return false;
	} else {
		// set hiddens
		document.getElementById('hdnSearchCc').value = (bInClipcast ? '1' : '0');
		if (document.getElementById('radSearchWhat1').checked) {
			document.getElementById('hdnSearchUser').value = '1';
		}
		return true;
	}
}

function SearchVars(obj) {
	for (i=0;i<3;i++) {
		if (!!document.getElementById('radSearchWhat' + i)) { document.getElementById('radSearchWhat' + i).parentNode.className = 'SearchOpt'; }
	}
	
	obj.parentNode.className = 'SearchOptAct';
	
	if (obj.value == '1') {
		document.getElementById('hdnSearchUser').value = '1';
		document.getElementById('hdnSearchUsername').value = sAuthName;
		ResetSearchText('my');
	} else if (obj.value == '2') {
		document.getElementById('hdnSearchUser').value = '1';
		if (!!sSearchUser) { document.getElementById('hdnSearchUsername').value = sSearchUser; }
		ResetSearchText();
	} else {
		document.getElementById('hdnSearchUser').value = '0';
		document.getElementById('hdnSearchUsername').value = '';
		ResetSearchText();
	}
}

function SearchFocus(obj, bFocused) {
	if ((obj.value == 'search my clips' || obj.value == 'search all clips')) {
		obj.style.color = (bFocused ? '#333333' : '#cccccc');
		if (bFocused) { obj.value = ''; } 
	}
	obj.className = (bFocused ? 'SearchFocus' : 'SearchBlur'); 
}

function ResetSearchText(sType) {
	var obj = document.getElementById('txtTags');
	if (sType == 'my') {
		if (obj.value == '') {
			obj.value = 'search my clips';
			SearchFocus(obj, false);
		}
	} else {
		if (obj.value == 'search my clips' || obj.value == 'search all clips') {
			obj.value = '';
			SearchFocus(obj, false);
		}
	}
}


function followed_load(dvMenu) {
	if (GetAttribute(dvMenu, 'loaded', 'false') == 'true') {
		return;
	}
	dvMenu.setAttribute('loaded', 'true');

	var sTopic = dvMenu.getAttribute('type');
	
	xmlFollowedHTTP = CreateXMLHTTP();
	
	if (!xmlFollowedHTTP) {
		alert('Browser Not Supported');
		return;
	}

	if (dvMenu.getAttribute('type') == 'tags') {
		xmlFollowedHTTP.open('GET', '/feed_follow.aspx?clippers=0', true);
	} else {
		xmlFollowedHTTP.open('GET', '/feed_follow.aspx?tags=0&clipcast=' + (bInClipcast ? 'true' : 'false'), true);
	}
	xmlFollowedHTTP.onreadystatechange = followed_related_XMLStateChange;
	xmlFollowedHTTP.send(null);
	
}

function followed_remove(sType, sKey, aMenuItem) {
	if (!confirm('Are you sure you want to remove "' + sKey + '" from your My ' + (sType == 'clipper' ? 'Clippers' : 'Topics') + ' list?')) {
		return false;
	}
	var xmlAction = CreateXMLHTTP();
	if (sType == 'clipper') {
		xmlAction.open('GET', '/xml_action.aspx?action=remove_users&user=' + sKey, true);
	} else {
		xmlAction.open('GET', '/xml_action.aspx?action=remove_tags&tag=' + sKey, true);
	}
	xmlAction.send(null);
	
	if (aMenuItem) {
		aMenuItem.parentNode.removeChild(aMenuItem);
	}
	
	return false;
}

function followed_related_XMLStateChange() {
	if (xmlFollowedHTTP.readyState != 4) {
		return;
	}
	var xmlDocument = null;
	var oWorkingNode = null;
	var oTags = null;
	var aRelatedTag = null;
	var dvMenu_MyTags = document.getElementById('dvMenu_MyTags');
	var dvMenu_CVMyTags = document.getElementById('dvMenu_CVMyTags');
	var dvMenu_MyClippers = document.getElementById('dvMenu_MyClippers');
	var dvMenu_MyClippersClipCast = document.getElementById('dvMenu_MyClippersClipCast');
	var dvMenu_CVMyClippersEX = document.getElementById('dvMenu_CVMyClippersEX');
	var dvWorkingMenu = null;
	var imgDelete = null;

	if (!(xmlFollowedHTTP.responseXML && xmlFollowedHTTP.responseXML.documentElement)) {
		return;
	}

	xmlDocument = xmlFollowedHTTP.responseXML.documentElement;
	oTags = xmlDocument.getElementsByTagName('item');

	//fix for empty submenus ...
	if (sMenuClicked == 'SortMine') {
		sMenuClicked = 'MyTags';
	} else if (sMenuClicked == 'SortMy' || sMenuClicked == 'Classic') {
		sMenuClicked = 'MyClippers';
	} else if (sMenuClicked == 'Clipcasts') {
		sMenuClicked = 'MyClippersClipCast';
	}

	if (oTags.length == 0) {
		dvWorkingMenu = document.getElementById('dvMenu_' + sMenuClicked);
		var sHTML = '';
        if (sMenuClicked == 'MyClippers' || sMenuClicked == 'MyClippersClipCast' || sMenuClicked == 'CVMyClippersEX' || sMenuClicked == 'ChooseClipper') {
			sHTML = '<div style="line-height: 16px;margin: 6px;"><b>You don\'t have any Guides<br/>yet.</b><br/><br/>When you want to follow clips<br/>posted by a particular user,<br/>make them a Guide by clicking<br/>the \"Follow\" link.</div>';
		}
		dvWorkingMenu.innerHTML = '<div class="EmptyMenu">' + sHTML + '</div>';
	
	} else {

		for (i = 0; i < oTags.length; i++) {
			if (oTags[i].getAttribute('type') == 'tag') {
				for (j = 0; j < 2; j++) {
					if (j == 0) {
						dvWorkingMenu = dvMenu_MyTags;
					} else {
						dvWorkingMenu = dvMenu_CVMyTags;
					}
					if (!!dvWorkingMenu) {
						if (dvWorkingMenu.firstChild.tagName == 'IMG') {
							dvWorkingMenu.removeChild(dvWorkingMenu.firstChild);
						}

						aRelatedTag = document.createElement('A');
						imgDelete = document.createElement('IMG');
						imgDelete.title = 'Remove this from My Topics';
						imgDelete.src = '/images/icons/delete.gif';
						imgDelete.border = 0;
						imgDelete.align = 'right';
						imgDelete.className = 'Dlt';

						if (is_ie) {
							eval('imgDelete.onclick = function() {return followed_remove(\'tag\', \'' + oTags[i].getAttribute('key') + '\', this.parentNode);StopPropagation(event)}');
						} else {
							imgDelete.setAttribute('onclick', 'return followed_remove(\'tag\', \'' + oTags[i].getAttribute('key') + '\', this.parentNode);StopPropagation(event)');
						}

						aRelatedTag.appendChild(imgDelete)
						aRelatedTag.appendChild(document.createTextNode(oTags[i].getAttribute('title')));
						//aRelatedTag.href = (j == 0 ? 'http://clipmarks.com/' : '/') + (bInClipcast ? 'clipcast/' : '') + 'search/' + oTags[i].getAttribute('key') + '/';
						if (bInClipcast) {
							aRelatedTag.href = '/search/' + oTags[i].getAttribute('key') + '/'
						} else {
							aRelatedTag.href = (j == 0 ? 'http://clipmarks.com/' : '/') + 'search/' + oTags[i].getAttribute('key') + '/';
						}
						dvWorkingMenu.appendChild(aRelatedTag);
						imgDelete = null;
						aRelatedTag = null;
					}
				}
			} else if (oTags[i].getAttribute('type') == 'clipper') {
				for (j = 0; j <= 2; j++) {
					if (j == 0) {
						dvWorkingMenu = dvMenu_MyClippers;
					} else if (j == 1) {
						dvWorkingMenu = dvMenu_CVMyClippersEX;
					} else {
						dvWorkingMenu = dvMenu_MyClippersClipCast;
					}
					if (!!dvWorkingMenu) {
						if (dvWorkingMenu.firstChild.tagName == 'IMG') {
							dvWorkingMenu.removeChild(dvWorkingMenu.firstChild);
						}

						if (i == 0 && bInClipcast) {
							dvWorkingMenu.innerHTML += '<a href="/clippers/">All My Clippers</a>';
						}

						aRelatedTag = document.createElement('A');
						imgDelete = document.createElement('IMG');
						imgDelete.title = 'Remove from My Clippers';
						imgDelete.src = '/images/icons/delete.gif';
						imgDelete.border = 0;
						imgDelete.align = 'right';
						imgDelete.className = 'Dlt';

						if (is_ie) {
							eval('imgDelete.onclick = function() {return followed_remove(\'clipper\', \'' + oTags[i].getAttribute('username').replace(/ /mig, '+') + '\', this.parentNode);StopPropagation(event)}');
						} else {
							imgDelete.setAttribute('onclick', 'followed_remove(\'clipper\', \'' + oTags[i].getAttribute('username').replace(/ /mig, '+') + '\', this.parentNode);return StopPropagation(event)');
						}

						aRelatedTag.appendChild(imgDelete)

						oWorkingNode = document.createElement('IMG');
						oWorkingNode.align = 'left';
						oWorkingNode.border = '0';
						if (oTags[i].getAttribute('has-photo') == '1') {
							oWorkingNode.src = '/profile/xsmall/' + oTags[i].getAttribute('key') + '.png';
						} else {
							oWorkingNode.src = '/images/user-no-photo-tiny-top.gif';
						}
						aRelatedTag.appendChild(oWorkingNode);
						oWorkingNode = null;
					
						aRelatedTag.appendChild(document.createTextNode(oTags[i].getAttribute('title')));
						//alert(bInClipcast);
						if (bInClipcast && j != 0) {
							aRelatedTag.href = oTags[i].getAttribute('clipcast-url');
						} else {
							aRelatedTag.href = (j == 2 ? 'http://' + oTags[i].getAttribute('domain') + '/' : 'http://clipmarks.com/clipper/' + oTags[i].getAttribute('username').replace(/ /mig, '+') + '/');
						}
						dvWorkingMenu.appendChild(aRelatedTag);
						aRelatedTag = null;
					}
				}
			}
		}
	}
		
	oTags = null;
	xmlDocument = null;

	if (sMenuClicked == 'CVMyClippersEX') {
		CollapseMenu('CVMyClippersEX');
		ExpandMenu('CVMyClippersEX', true, false, false);
	} else if (sMenuClicked == 'MyClippers') {
		ExpandMenu('SortMy', true, false, false, true, 'dvMenu_MyClippers');
	} else if (sMenuClicked == 'SortMine') {
		ExpandMenu('SortMine', true, false, false, true, 'dvMenu_MyTags');
	} else if (!!dvMenu_MyTags) {
		aRelatedTag = document.createElement('A');
		aRelatedTag.style.textAlign = 'center';
		aRelatedTag.style.fontWeight = 'bold';
		aRelatedTag.appendChild(document.createTextNode('Add Topic'));
		aRelatedTag.href = 'javascript:topic_add();';
		dvMenu_MyTags.appendChild(aRelatedTag);
		aRelatedTag = null;
	}
}

function followed_tags_reset() {
	document.getElementById('dvMenu_MyTags').setAttribute('loaded', 'false');
	document.getElementById('dvMenu_MyTags').innerHTML = '<img src="/images/loading-small.gif" class="Loading" />';
}

function topic_add() {
	sMenuClicked = null;
	HideOpenMenus();
	var sTemp = '<div align="center" style="font-size:12px;" onmouseover="bLibraryWindow=true;" onmouseout="bLibraryWindow=false;">';
	sTemp += '<div align="center" style="color:#60911E;font-size:16px;"><b>Add Topic</b></div>';
	sTemp += '<input type="text" id="txtAddTopicName" style="width:150px;font-size:11px;" onfocus="txtAddTopicName_focus();" onblur="txtAddTopicName_blur();" />';
	sTemp += '</div>';
	ShowDialog(sTemp, 0, 0, false, 'Save', 180, 90, false, false, 'topic_add_save()', true);

	if (document.attachEvent) {
		document.getElementById('txtAddTopicName').attachEvent('onkeydown', txtAddTopicName_keypress);
	} else {
		document.getElementById('txtAddTopicName').addEventListener('keypress', txtAddTopicName_keypress, true);
	}
	txtAddTopicName_blur();
}

function txtAddTopicName_focus() {
	var txtAddTopicName = document.getElementById('txtAddTopicName');
	if (txtAddTopicName.value == 'enter topic here') {
		txtAddTopicName.value = '';
		txtAddTopicName.style.color = '#333333';
	}
}

function txtAddTopicName_blur() {
	var txtAddTopicName = document.getElementById('txtAddTopicName');
	if (txtAddTopicName.value == '' || txtAddTopicName.value == 'enter topic here') {
		document.getElementById('txtAddTopicName').value = 'enter topic here';
		txtAddTopicName.style.color = '#AAAAAA';
	}

}

function txtAddTopicName_keypress(e) {
	e = e||window.event;
	var key = e.keyCode || e.which;

	switch (key) {
		case KEY_ENTER:
			topic_add_save();
		break;
		default:
			var txtAddTopicName = document.getElementById('txtAddTopicName');
			if (txtAddTopicName.value == 'enter topic here') {
				txtAddTopicName.value = '';
			}
		break;
	}
}

function topic_add_save() {
	var sNewTopic = document.getElementById('txtAddTopicName').value;
	
	if (!!sNewTopic) {
		FollowTag(sNewTopic, true);
	}
}

function FollowTag(sTag, bCustom) {
	if (!bAuth) {
		alert('You must login to follow tags.');
	}
	var sURL = '/xml_action.aspx?action=follow_tag&k=' + sTag;
	var xmlHTTP = CreateXMLHTTP();
	
	if (!xmlHTTP) {
		return;
	}

	xmlHTTP.open('GET', sURL, (iSearchFilter != 5));
	xmlHTTP.send(null);
	
	if (iSearchFilter == 5) {
		window.location.reload(true);
		return;
	}

	followed_tags_reset();
	
	ShowDialog('<b>' + sTag + '</b> has been added to your "My Topics" list.&nbsp;&nbsp;You can access these topics from the "My Topics" button in the header.<br />', 0, 0, false, null, null, 100);

	if (!bCustom) {
		var imgFollowTopic = document.getElementById('imgFollowTopic');
		var imgFollowTopic2 = document.getElementById('imgFollowTopicCP');
		if (!!imgFollowTopic) {
			imgFollowTopic.src = '/images/buttons/plusexchange-added.gif';
			imgFollowTopic.alt = sTag + ' is already in your My Topics list.';
			imgFollowTopic.parentNode.href = 'javascript:ShowDialog(\'<b>' + sTag + '</b> is already in your My Topics list.<br /><br />\', 0, 0, false, null, null, 80);';
			imgFollowTopic.parentNode.title = sTag + ' is already in your My Topics list.';
		}
		if (!!imgFollowTopic2) {
			imgFollowTopic2.parentNode.href = 'javascript:ShowDialog(\'<b>' + sTag + '</b> is already in your My Topics list.<br /><br />\', 0, 0, false, null, null, 80);';
			imgFollowTopic2.parentNode.title = sTag + ' is already in your My Topics list.';
			imgFollowTopic2.parentNode.innerHTML = '<img src="/images/buttons/plusexchange-added.gif" border="0" alt="' + sTag + ' is already in your My Topics list." style="margin-right: 4px;" />In My Topics';
			imgFollowTopic2.parentNode.style.textDecoration='none';
		}
		
	}
}



/* Favorites Header Code */

function favorites_load(dvMenu) {
	if (GetAttribute(dvMenu, 'loaded', 'false') == 'true') {
		return;
	}
	dvMenu.setAttribute('loaded', 'true');

	var sTopic = dvMenu.getAttribute('type');
	
	xmlFavoritesHTTP = CreateXMLHTTP();
	
	if (!xmlFavoritesHTTP) {
		alert('Browser Not Supported');
		return;
	}

	xmlFavoritesHTTP.open('GET', '/feed_favorites.aspx', true);
	xmlFavoritesHTTP.onreadystatechange = favorites_related_XMLStateChange;
	xmlFavoritesHTTP.send(null);
}

function favorites_remove(sUrl, aMenuItem) {
	
	//if (!confirm('Are you sure you want to remove "' + sUrl + '" from your Favorite Clipcasts?')) {
	if (!confirm('Are you sure you want to remove this from your Favorite Clipcasts?')) {
		return false;
	}
	
	var xmlAction = CreateXMLHTTP();
	xmlAction.open('GET', '/xml_action.aspx?action=fvrt_del&url=' + sUrl, true);
	xmlAction.send(null);
	
	if (aMenuItem) {
		aMenuItem.parentNode.removeChild(aMenuItem);
	}
	
	return false;
}


function favorites_related_XMLStateChange() {
	if (xmlFavoritesHTTP.readyState != 4) {
		return;
	}
	var xmlDocument = null;
	var oWorkingNode = null;
	var oFavs = null;
	var aRelatedTag = null;

	//var dvMenu_MyFavoritesEX = document.getElementById('dvMenu_MyFavoritesEX');
	var dvMenu_MyFavoritesEX = document.getElementById('dvMenu_MyFaves');
	
	var dvWorkingMenu = null;
	var imgDelete = null;

	if (!(xmlFavoritesHTTP.responseXML && xmlFavoritesHTTP.responseXML.documentElement)) {
		return;
	}

	xmlDocument = xmlFavoritesHTTP.responseXML.documentElement;
	oFavs = xmlDocument.getElementsByTagName('favorite');

	if (oFavs.length == 0) {
		dvWorkingMenu = dvMenu_MyFavoritesEX; //document.getElementById('dvMenu_' + sMenuClicked);
		var oDiv = document.createElement('div');
		var sHTML = 'Your <b>My Favorites</b> list <br/>is empty.<br/><br/>This list makes it easy to <br/>keep track of your<br/>favorite clipcasts.';
		dvWorkingMenu.innerHTML = '<div style="text-align: center; padding: 14px;line-height: 14px;">To add a Clipcast to your<br/>favorites, click the <img src="/images/header/heart-13-trans.png" style="margin-bottom: -2px;"/> icon<br/>at the top right of that ClipCast.';
	} else {

		for (i = 0; i < oFavs.length; i++) {
				
			dvWorkingMenu = dvMenu_MyFavoritesEX;
			if (!!dvWorkingMenu) {
				if (dvWorkingMenu.firstChild.tagName == 'IMG') {
					dvWorkingMenu.removeChild(dvWorkingMenu.firstChild);
				}

				aRelatedTag = document.createElement('A');
				imgDelete = document.createElement('IMG');
				imgDelete.title = 'Remove this from My Favorites';
				imgDelete.src = '/images/icons/delete.gif';
				imgDelete.border = 0;
				imgDelete.align = 'right';
				imgDelete.className = 'Dlt';

				if (is_ie) {
					eval('imgDelete.onclick = function() {return favorites_remove(\'' + oFavs[i].getAttribute('raw-url') + '\', this.parentNode);StopPropagation(event)}');
				} else {
					imgDelete.setAttribute('onclick', 'return favorites_remove(\'' + oFavs[i].getAttribute('raw-url') + '\', this.parentNode);StopPropagation(event)');
				}

				sTtl = oFavs[i].getAttribute('title');
				if (sTtl.length > 29) {
					sTtl = sTtl.substr(0,26) + '...';
				}
				aRelatedTag.appendChild(imgDelete);
				aRelatedTag.appendChild(document.createTextNode(sTtl));
				//aRelatedTag.href = 'http://clipmarks.com' + oFavs[i].getAttribute('url');
				aRelatedTag.href = oFavs[i].getAttribute('url');
				dvWorkingMenu.appendChild(aRelatedTag);
				imgDelete = null;
				aRelatedTag = null;
				//alert(i);
			}
		}
	}
		
	oFavs = null;
	xmlDocument = null;

}

// New Header Image Rotation...
var bHdRotate = true;
var lHdOffset = 15000;
var iHdRotatePos = 0;

var HdRotateSrc = new Array();
var HdRotateUrl = new Array();
var HdRotateID = new Array();

HdRotateSrc[0] = '/images/header/cm-for-fb.png';
HdRotateUrl[0] = 'http://apps.facebook.com/clipmarks/';
HdRotateID[0] = '1003';

HdRotateSrc[1] = '/images/header/my-clipcast.png';
HdRotateID[1] = '1001';
// HdRotateUrl[1] - declared inline

function preImg() { 
	 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	 var i,j=d.MM_p.length,a=preImg.arguments; for(i=0; i<a.length; i++)
	 if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function header_rotate_init() {
	// 145 x 22
	preImg('/asd/1003','/asd/1001/');
	if (bHdRotate) { window.setTimeout("header_rotate_change();", lHdOffset); }
}

function header_rotate_change() {
	iHdRotatePos++;
	if (iHdRotatePos >= HdRotateSrc.length) { iHdRotatePos = 0; }
	document.getElementById('imgHdRotate').src = HdRotateSrc[iHdRotatePos];
	document.getElementById('lnkHdRotate').href = '/ad_click.aspx?id=' + HdRotateID[iHdRotatePos] + '&dest=' + escape(HdRotateUrl[iHdRotatePos]);
	if (bHdRotate) { window.setTimeout("header_rotate_change();", lHdOffset); }
}

