function get_ajax() {
    try {
		var xhr = new ActiveXObject('Msxml2.XMLHTTP');
	} catch (e) {
		try {
			var xhr = new ActiveXObject('Microsoft.XMLHTTP');
		} catch (e2) {
			try {
				var xhr = new XMLHttpRequest();
			} catch (e3) {
				var xhr = false;
			}
		}
	}
	return xhr;
}



function urlencode(string) {
	if(string == '') {
		return false;
	}
	var safechars = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var hex = "0123456789ABCDEF";
	var string = string.toString();
	var encoded = "";
	for (var i = 0; i < string.length; i++ ) {
		var ch = string.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (safechars.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += hex.charAt((charCode >> 4) & 0xF);
				encoded += hex.charAt(charCode & 0xF);
			}
		}
	} 
	
	return encoded;
}

var url = this.location;
var title = document.title;
var browser = navigator.appName;
//var previous = '';

function bookmark() {
	if (browser == "Microsoft Internet Explorer")
	{
		 if(document.all) {
			 window.external.AddFavorite(url, title);
		 }
 	}
 	else
 	{
 		if (window.sidebar) {
 		window.sidebar.addPanel(title, url,"");
 		}
 	}
}


function select_text(id) {
	var input = document.getElementById(id);
	input.focus();
	input.select();
	//var copied_text = document.selection.createRange();
   	//copied_text.execCommand("Copy");
}

function toggle_div(id, type) {

	div = document.getElementById(id);
	if((div.style.display == 'none') || (div.style.display == '')) {
		switch(type) {
			case 1:
				div.style.display = 'block';
				break;
			case 2:
				div.style.display = 'inline';
				break;
		}
	} else {
		div.style.display = 'none';
	}
}


function send_to_friend(token) {

	var ajax = get_ajax();
	
	var block          = document.getElementById('send_to_friend');
	var loading        = document.getElementById('send_loading');
	var your_name      = document.getElementById('send_your_name');
	var your_email     = document.getElementById('send_your_email');
	var friends_name   = document.getElementById('send_friends_name');
	var friends_email  = document.getElementById('send_friends_email');
	var url            = document.getElementById('send_url');
	var page_title     = document.getElementById('send_page_title');
	var response_block = document.getElementById('send_response');
	var cc_me          = document.getElementById('send_cc_me');

	cc_me = (cc_me.checked == true) ? 1 : 0;

	//alert(cc_me);

	var token      = token;

	loading.style.display = 'block';

	ajax.onreadystatechange  = function() {
		if(ajax.readyState == 4) {
			if(ajax.status  == 200) {
				var response = ajax.responseText;
				//alert(response);

				loading.style.display = 'none';

				if(response == '1') {
					block.style.display = 'none';
					response_block.innerHTML = '<p style=\"color:#009900;\">This page has been sent.</p>';
				} else {
					response_block.innerHTML = '<p style="color:#db2204;">There was an error while processing your request.</p>';
				}
				
				

			} else {
				alert('Ajax error' + ajax.status);
			}
		}
	};
	
	var data = "your_name="      + urlencode(your_name.value) + 
	           "&your_email="    + urlencode(your_email.value) + 
	           "&friends_name="  + urlencode(friends_name.value) + 
	           "&friends_email=" + urlencode(friends_email.value) + 
	           "&url="           + urlencode(url.value) + 
	           "&page_title="    + urlencode(page_title.value) + 
	           "&cc_me="          + urlencode(cc_me) + 
	           "&token="         + urlencode(token);
	
	ajax.open("POST", "/ajax/send_to_friend", true); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajax.send(data);
 
}
