var bmshare_service = 'http://www.ratecity.com.au/bookmarking/';
var rc_bookmark_id = '';
var rc_email_subject = '';

function insertBMStyleDom()
{
	var headID = document.getElementsByTagName("head")[0];         

	var cssNode = document.createElement('link');

	cssNode.type = 'text/css';
	cssNode.rel = 'stylesheet';
	cssNode.href = bmshare_service + 'css/bmshare.css';
	cssNode.media = 'screen';
	headID.appendChild(cssNode);

	cssNode = document.createElement('link');
	cssNode.type = 'text/css';
	cssNode.rel = 'stylesheet';
	cssNode.href = bmshare_service + 'css/jquery-ui.css';
	cssNode.media = 'all';
	headID.appendChild(cssNode);

	cssNode = document.createElement('link');
	cssNode.type = 'text/css';
	cssNode.rel = 'stylesheet';
	cssNode.href = bmshare_service + 'css/ui.theme.css';
	cssNode.media = 'all';
	headID.appendChild(cssNode);

	cssNode = document.createElement('link');
	cssNode.type = 'text/css';
	cssNode.rel = 'stylesheet';
	cssNode.href = bmshare_service + 'css/email_form.css';
	cssNode.media = 'all';
	headID.appendChild(cssNode);

	cssNode = document.createElement('link');
	cssNode.type = 'text/css';
	cssNode.rel = 'stylesheet';
	cssNode.href = bmshare_service + 'css/email_confirm.css';
	cssNode.media = 'all';
	headID.appendChild(cssNode); 

}

function insertImgSrcDom()
{
	var headID = document.getElementsByTagName("head")[0];
	
	var newLink = document.createElement('link');
	
	newLink.setAttribute('rel', 'image_src');
	newLink.setAttribute('href', bmshare_service + 'images/rc_logo.png');
	
	headID.appendChild(newLink);
}

function loadRateCityBMWidget()
{
	var headID = document.getElementsByTagName("head")[0];
	var newScript = document.createElement("script");

	newScript.type = "text/javascript";
	newScript.text = "renderBMShare();renderEmailForm();renderEmailConfirmation();";
	headID.appendChild(newScript);

	$('#email-friend').css('cursor', 'pointer');
	$('a[name="fb_share"]').css('cursor', 'pointer');
	$('#bmshare_bookmark_link').css('cursor', 'pointer');
	$('a[name="fb_share"]').attr('title', 'Add this to Facebook');
} 

// we need to insert the facebook javascript into the DOM after we have rendered 
// the bookmark widget
function loadFBShareIcon()
{
	//var divID = document.getElementById("bmshare_facebook_script_container");
	//var newScript = document.createElement("script");

	//newScript.type = "text/javascript";
	//newScript.src = "http://static.ak.fbcdn.net/connect.php/js/FB.Share";
	//divID.appendChild(newScript);

	$('document').ready( function() { 

			var old_href = $('#fb_share').attr('href');

			var new_a = document.createElement('a');
			new_a.href = '#';
			new_a.title = 'Add this to Facebook';
			new_a.id = 'fb_share';
			//new_a.setAttribute("onclick", "return false;");

			var new_img = document.createElement('img');
			new_img.src = '/bookmarking/images/facebook_icon.png';
			new_img.title = 'Add this to facebook';
			new_img.style.border = "0px";

			$('#fb_share').remove();
			document.getElementById('bmshare_facebook').appendChild(new_a);
			document.getElementById('fb_share').appendChild(new_img);

		});
} 

// this function will halt initialization of the widget until
// jQuery has been loaded
function polljQuery()
{
	var headID = document.getElementsByTagName("head")[0];
		
	if (typeof jQuery == 'undefined'){
		window.setTimeout(polljQuery, 100);
	}
	else
	{
		newScript = document.createElement("script");

		newScript.type = "text/javascript";
		newScript.src = bmshare_service + "js/jquery/jquery-ui.min.js";
		headID.appendChild(newScript);

		polljQueryUI();
	}
} 

function polljQueryUI()
{
	var headID = document.getElementsByTagName("head")[0];

	if (typeof jQuery().dialog == 'undefined'){
		window.setTimeout(polljQueryUI, 100);
	}
	else
	{
		newScript = document.createElement("script");

		newScript.type = "text/javascript";
		newScript.src = bmshare_service + "js/jquery/jFav_v1.0.js";
		headID.appendChild(newScript);
		
		polljFav();
	}
}

function polljFav()
{
	var headID = document.getElementsByTagName("head")[0];

	if (typeof jQuery().jFav == 'undefined')
	{
		window.setTimeout(polljFav, 100);
	}
	else
	{
		insertBMStyleDom();
		insertImgSrcDom();
		loadRateCityBMWidget();
	}
}

function renderBMShare()
{
	var response = '';

	response += '<table class="bmshare_table">';
	response += '<tr>';
	response += '<td class="bmshare_label">';
	response += 'Share:';
	response += '</td>';
	response += '<td id="bmshare_email" class="bmshare_icon">';
	response += '<a id="email-friend" class="ui-corner-all"><img title="Email this to a friend" src="' + bmshare_service + 'images/mail_icon.png" /></a>';
	response += '<div id="bmshare_email_script_container"></div>';
	response += '<div id="bmshare_email_confirmation_container"></div>';
	response += '</td>';
	response += '<td id="bmshare_facebook" class="bmshare_icon">';
	response += '<a id="fb_share" name="fb_share" type="icon" href="http://www.facebook.com/sharer.php"><img src="http://static.ak.facebook.com/images/share/facebook_share_icon.gif" title="Add this to Facebook"></a>';
	response += '<div id="bmshare_facebook_script_container"></div>';
	response += '</td>';
	response += '<td id="bmshare_bookmark" class="bmshare_icon">';
	response += '<a id="bmshare_bookmark_link"><img id="bmshare_bookmark_img" title="Bookmark this news story" src="' + bmshare_service + 'images/bookmark_icon.png"></a>';
	response += '</td>';
	response += '</tr>';

	document.getElementById('bmshare_container_div').innerHTML = response;
	document.close();

	loadFBShareIcon();


	
	//$('#bmshare_bookmark_link').click( bind_bookmark_link(e) );
	$('#bmshare_bookmark_link').bind('mousedown', function(e) {bind_bookmark_link(e)});
			
			
		function bind_bookmark_link(e)
		{
		$.ajax({
				async: false,
				url: '/bookmarking/bmshare.php',
				type: 'GET',
				cache: false,
				dataType: 'json',
				data: {'action': 'bookmark_link', 'prod_type': _nmsnSection,'title': document.title, 'bookmark_type': 'B', 'bookmark_url': window.location.href },
				timeout: 10000,
				error: function(xhr, status, error){
				  alert('We experienced an error while attempting to bookmark this link, please try again.');
				},
				success: function(json){
				  //e.preventDefault();
					$('#bmshare_bookmark_link').unbind('click'); 
					$('#bmshare_bookmark_link').attr('href', json.bookmark_link);
					$('#bmshare_bookmark_link').jFav(); 
					//$('#bmshare_bookmark_link').trigger('click');
				}
			});
		}

		var facebook_link = '';

$('document').ready( function() {
		$('#fb_share').click(function(ev) {
			//ev.preventDefault();
			//ev.returnValue = false;

			if (typeof _nmsnSection == 'undefined')
			{
				_nmsnSection = 'OTHER';
			}
		
			$.ajax({
					url: '/bookmarking/bmshare.php',
					type: 'GET',
					cache: false,
					dataType: 'json',
					data: {'action': 'bookmark_link', 'prod_type': _nmsnSection,'title': document.title, 'bookmark_type': 'F', 'bookmark_url': window.location.href },
					timeout: 10000,
					error: function(xhr, error, status){
						alert('We experienced an error while attempting to bookmark this link, please try again.');
					},
					success: function(json){
						$('#fb_share').attr('href', json.facebook_link);
						window.open(json.facebook_link, 'Share', 'scrollbars=1,menubar=0,toolbar=0,status=0,resizable=1,width=500,height=600,left=150,top=50');  
					}
			});

				return false;
		});

		$('#bmshare_container_div').css('display', 'block');
	});
}

function renderEmailConfirmation()
{
	$('document').ready( function() {
		var divID = document.getElementById('bmshare_email_confirmation_container');

		newScript = document.createElement("script");
		newScript.src = bmshare_service + "js/jquery/email_confirm_form.js";
		divID.appendChild(newScript);
		});

	var response = '';
	
	response += '<form>';
	response += '<fieldset>';
	response += '<label id="confirm_message">Your email has been sent!<br><br>Thanks for sharing this news story with your friend.<br><br>Return to the RateCity website</label>';
	response += '<div style="float:right"><a style="border:0;" href="#" onclick="$(\'#email_confirm_dialog\').dialog(\'close\');"><img style="border:0;margin-top:10px;" src="' + bmshare_service + 'images/rc_logo.png"></a></div>';
	response += '</fieldset>';
	response += '</form>';

	document.getElementById('email_confirm_dialog').innerHTML = response;
	document.close();
}

function renderEmailForm()
{
	$('document').ready( function() {
		var divID = document.getElementById('bmshare_email_script_container');

		newScript = document.createElement("script");
		newScript.src = bmshare_service + "js/jquery/email_form.js";
		divID.appendChild(newScript);
		});

	var response = '';

	response += '<p id="validateTips">All form fields are required.</p>';
	response += '<form>';
	response += '<fieldset>';
	response += '<label for="friends_email">Friend\'s email:</label>';
	response += '<input type="text" name="friends_email" id="friends_email" class="text ui-widget-content ui-corner-all" />';
	response += '<label for="friends_name">Friend\'s name:</label>';
	response += '<input type="text" name="friends_name" id="friends_name" value="" class="text ui-widget-content ui-corner-all" />';
	response += '<label for="your_name">Your name:</label>';
	response += '<input type="text" name="your_name" id="your_name" value="" class="text ui-widget-content ui-corner-all" />';
	response += '<textarea style="overflow:auto;" rows="10" cols="40" name="description" id="description" class="text ui-widget-content ui-corner-all" >';
	response += '</textarea>';
	response += '</fieldset>';
	response += '</form>';

	document.getElementById('email_dialog').innerHTML = response;
	document.close();
}

function clear_email_form()
{
	$('#validateTips').text('All form fields are required.');
	$('#friends_email').val('');
	$('#friends_name').val('');
	$('#your_name').val('');
	$('#description').val('');
}

document.writeln("<!-- RateCity social bookmark widget start -->");
document.writeln("<div style=\"display:none\" id=\"bmshare_container_div\" class=\"bmshare_container\"></div>");
document.writeln("<!-- RateCity social bookmark widget end -->");

// output container for email form
document.writeln("<!-- RateCity social bookmark email form start -->");
document.writeln("<div style=\"display:none;\" id=\"email_dialog\" title=\"Email This Story\"></div>");
document.writeln("<!-- RateCity social bookmark email form end -->");

// output container for email confirm form
document.writeln("<!-- RateCity social bookmark email confirm form start -->");
document.writeln("<div style=\"display:none;\"id=\"email_confirm_dialog\" title=\"Email sent successfully\"></div>");
document.writeln("<!-- RateCity social bookmark email confirm form end -->");

var headID = document.getElementsByTagName("head")[0];

var newScript = document.createElement("script");

newScript.type = "text/javascript";
newScript.src = bmshare_service + "js/jquery/jquery-1.4.1.js";
headID.appendChild(newScript);

newScript = document.createElement("script");

polljQuery();


