//Create hyperlink on the fly
$(document).ready(function(){

	//return if hyperlink added manually
	if ($("#pressrelease a").is("a"))
 {

		//var str = pressrelease.innerHTML;
		//var tmp = "href=\"/";
		//str = str.replace(new RegExp(tmp,"g"),"href=\"http://www.info.gov.hk\/");
		//document.getElementById("pressrelease").innerHTML=str;

		return;
		};

	//replace hyperlink if they are composed in full space characters
	var patternArray = new Array(
		"０", "１", "２", "３", "４", "５", "６", "７", "８", "９",
		"Ａ", "Ｂ", "Ｃ", "Ｄ", "Ｅ", "Ｆ", "Ｇ", "Ｈ", "Ｉ", "Ｋ", "Ｋ", "Ｌ",	"Ｍ",
		"Ｎ", "Ｏ", "Ｐ", "Ｑ", "Ｒ", "Ｓ", "Ｔ", "Ｕ", "Ｖ", "Ｗ", "Ｘ", "Ｙ", "Ｚ",
		"ａ", "ｂ", "ｃ", "ｄ", "ｅ", "ｆ", "ｇ", "ｈ", "ｉ", "ｊ", "ｋ", "ｌ",	"ｍ",
		"ｎ", "ｏ", "ｐ", "ｑ", "ｒ", "ｓ", "ｔ", "ｕ", "ｖ", "ｗ", "ｘ", "ｙ", "ｚ",
		"：", "＠", "／", "．", "﹒");

	var charArray = new Array(
		"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
		"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
		"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
		"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l",	"m",
		"n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
		":", "@", "/", ".", ".");

	//Temp string to test full space characters
	var content = $("#pressrelease").html();
	var tmp = content;
	var str = "";

	for(var i=0; i < patternArray.length; i++) {
		if (tmp) {
			tmp = tmp.replace(new RegExp(patternArray[i], "g"),charArray[i]);
		}
	}

	var Re1 = /[-\w_\.]+@[-\w_\.]*(\.(com|edu|gov|net|org|biz|info|museum|uk|us|hk))+/i;
	var Re2 = /(http(s)*:\/\/)?((www\.)?[-\w_\.]*(\.(com|edu|gov|net|org|biz|info|museum|uk|us|hk))+(\/([-\w_\.\?&;#=]|<br( \/)*>)*)*)/i;
	var m1 = Re1.exec(tmp);
	var m2 = Re2.exec(tmp);


	while ((m1 != null) || (m2 != null)) {
		if ((m1 != null) && (m2 != null))
			var m = (m1.index<m2.index) ? m1 : m2;
		else
			var m = (m1 != null) ? m1 : m2;

		//clear undefine backreferences
		for (var i=0; i<m.length; i++)
			if (!m[i]) m[i] = "";

		//Tail Shifting
		while (m[0].match(/<br( \/)*>$/i) || m[0].match(/\.$/) || m[0].match(/&nbsp;$/)) {
			m[0] = m[0].replace(/<br( \/)*>$/i, "");
			m[3] = m[3].replace(/<br( \/)*>$/i, "");
			m[0] = m[0].replace(/\.$/, "");
			m[3] = m[3].replace(/\.$/, "");
			m[0] = m[0].replace(/&nbsp;$/, "");
			m[3] = m[3].replace(/&nbsp;$/, "");
		}

		// don't replace if it is a kanhan image
		var r = ( (m[3]) && (m[3].match(/sc\.info\.gov\.hk/i)) ) ? m[0] : (m==m1) ?
			"<a href='mailto:"+m[0]+"'>"+m[0]+"</a>" :
			"<a href='http"+m[2]+"://"+m[3].replace(/<br( \/)*>/ig,"")+"' target='_blank'>"+m[0]+"</a>" ;

		str += content.substring(0,m.index) + r;
		content = content.substring(m.index+m[0].length, content.length);
		tmp 	= tmp.substring(m.index+m[0].length, tmp.length);

		m1 = Re1.exec(tmp);
		m2 = Re2.exec(tmp);
	}

	str+=content;

	$("#pressrelease").html(str);
});


