function externalLinks() { 
 if (!document.getElementsByTagName) return; 
 var anchors = document.getElementsByTagName("a"); 
 for (var i=0; i<anchors.length; i++) { 
   var anchor = anchors[i]; 
   if (anchor.getAttribute("href") && 
       anchor.getAttribute("rel") == "external") 
     anchor.target = "_blank"; 
 } 
} 
window.onload = externalLinks;


function toggle(s) {
	var id = s.href.match(/#(\w.+)/)[1];
	var clone = document.getElementById(id).
		cloneNode(true);
	var cloneDiv = document.getElementById('cloneDiv');
	if (cloneDiv) {
		cloneDiv.
		replaceChild(clone, cloneDiv.firstChild);      
	} else {
		var cloneDiv = document.createElement('div');
		cloneDiv.setAttribute('id', 'cloneDiv');
		cloneDiv.appendChild(clone);
		document.body.appendChild(cloneDiv);
	}
}

function statusToggle(roll_type)
{
	if (roll_type == "over")
	{
		if (document.getElementById('input_status').value == "is")
    document.getElementById('input_status').value = "";
		else
			document.getElementById('input_status').select();
	}
	if (roll_type == "out")
	{
		if (document.getElementById('input_status').value == "")
			document.getElementById('input_status').value = "is";
	}
}

function showStatusUpdateInput(clear)
{
	var stat = '';
	if (1 == clear) {
		stat = $('statusTxt').innerHTML;
	}
	var input = '<label for="myStatusTxt">' + my_first_name + '...</label><input type="text" name="myStatusTxt" id="myStatusTxt" onBlur="myStatusTxtOnBlur()" onKeyPress="myStatusTxtOnKeyPress(event);" value="' + stat + ' " />';
	new Effect.SlideUp('statusBoxContents', {duration:'0.2', queue:{position:'front', scope:'textInput'}, afterFinish:function(){$('statusBoxContents').innerHTML = input;}});
	
	new Effect.SlideDown('statusBoxContents', 
						{duration:'0.2', queue:{position:'end', scope:'textInput'}, 
						afterFinish:function(){
							new Effect.Highlight('myStatusTxt', {duration:'2'});
						}
					});
}

function myStatusTxtOnBlur()
{
	if ($F('myStatusTxt').length > 0) {
		$('myStatusTxt').disabled = true;
		new Effect.Opacity('statusBoxContents', {duration:'0.5', from:'1.0', to:'0.5', afterFinish:function(){
			var url = '/?func=ajax/updateStatus&newStatus=' + escape($F('myStatusTxt'));
			new Ajax.Request(url, {
				method: 'get',
				onSuccess: function(req) {
					if ('1' == req.responseText) {
						var iam = my_first_name + ' <span id="statusTxt">' + $F('myStatusTxt') + '</span><br /><small><a href="javascript:void(0);" onclick="showStatusUpdateInput(1);">edit</a></small>&nbsp;&nbsp;&nbsp;<small><a href="javascript:void(0);" onclick="clearStatus();">clear</a></small>';
						new Effect.SlideUp('statusBoxContents', {duration:'0.2', queue:{position:'front', scope:'textInput'}, afterFinish:function(){$('statusBoxContents').innerHTML = iam;}});
						new Effect.SlideDown('statusBoxContents', 
							{duration:'0.2', 
								queue:{position:'end', scope:'textInput'}, 
								afterFinish:function(){
									new Effect.Opacity('statusBoxContents', 
										{duration:'0.5', from:'0.5', to:'1.0'}
									);
								}
							});
					} else if ('0' == req.ResponseText) {
					
					}
				}
			});

		}});
	}
}

function myStatusTxtOnKeyPress(event)
{
	if (event.keyCode == Event.KEY_RETURN) {
		myStatusTxtOnBlur();
	}
}

function clearStatus()
{
	new Effect.Opacity('statusBoxContents', {
												duration:'0.5', 
												from:'1.0', 
												to:'0.5', 
												afterFinish:function(){
																		var url = '/?func=ajax/clearStatus'; 
																		new Ajax.Request(url, {
																								method:'get',
																								onSuccess:function(req) {
																															if ('1' == req.responseText) {
																																var iam = '<label for="myStatusTxt">' + my_first_name + '...</label><input type="text" name="myStatusTxt" id="myStatusTxt" onBlur="myStatusTxtOnBlur()" onKeyPress="myStatusTxtOnKeyPress(event);" />'; 
																																new Effect.SlideUp('statusBoxContents', {
																																											duration:'0.2',
																																											queue:{
																																													position:'front',
																																													scope:'textInput'
																																											},
																																											afterFinish:function(){
																																																	$('statusBoxContents').innerHTML = iam;
																																											}
																																										}
																																); 
																																new Effect.SlideDown('statusBoxContents', {
																																											duration:'0.2',
																																											queue:{
																																													position:'end',
																																													scope:'textInput'
																																											}, 
																																											afterFinish:function(){
																																																	new Effect.Opacity('statusBoxContents', {
																																																												duration:'0.5',
																																																												from:'0.5',
																																																												to:'1.0'
																																																	});
																																											}
																																});
																															} else if ('0' == req.ResponseText) {
																															
																															}	
																								}
																		});
												}
	});
}