/*----------------------------------------------------
	
	jsONLOAD.js
	
----------------------------------------------------*/

$(document).ready(function(){
	
	var bodyid = $('body').attr('id');
	
	// A. Close Response Messages
	//------------------------------------------------------------------------------------------

	$('#msg_response').bind("click", function(){
		if($('#msg_response').is(':visible')){
			$("#msg_response").slideUp();
		}
	});

	// B.Load Get Avatar
	//------------------------------------------------------------------------------------------

	if(bodyid == 'contact'){
		getAvatar('email');
	}

});


// 01. toggleInputbox
//------------------------------------------------------------------------------------------

function toggleInputbox(id,text,userevent){

	var obj = document.getElementById(id);
	if(obj.value == text && userevent != "blur"){
		obj.value = "";
		obj.className = obj.className + " input_box_active";
	}else if(obj.value == text){
		obj.className = obj.className.replace("input_box_active","");
	}else if(trim(obj.value) == ""){
		obj.value = text;
		obj.className = obj.className.replace("input_box_active","");
	}else{
		obj.value = trim(obj.value);
	}
	
}

// 02. trim
//------------------------------------------------------------------------------------------

function trim(txt){
	//if(obj != ''){
		var str = txt.replace(/^\s+/,'');
		for (var i = str.length - 1; i >= 0; i--) {
			if (/\S/.test(str.charAt(i))) {
				str = str.substring(0, i + 1);
				break;
			}
		}
		return str;	
	//}
}

// 04. bookmarksite
//------------------------------------------------------------------------------------------

function bookmarksite(title,url){
	if (window.sidebar){ // firefox
		window.sidebar.addPanel(title, url, "");
	}else if(window.opera && window.print){ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	else if(document.all){// ie
		window.external.AddFavorite(url, title);
	}
}


// 05. animateTopLink
//------------------------------------------------------------------------------------------

function animateTopLink(){
	var right = $("#top_link").css("right");
	if(right == "0px"){
		$("#top_link").animate({right: "-72px"},500);
	}else{
		$("#top_link").animate({right: "0px"},500);
	}
}


// 06. getAvatar
//------------------------------------------------------------------------------------------

function getAvatar(id){
	email = $('#'+id).val();
	urlstring = md5(trim(email));
	$('#avatar span img').attr("src","http://www.gravatar.com/avatar/"+urlstring+"?d=http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=32&s=32 />");
}

// 08. replaceButton
//------------------------------------------------------------------------------------------

function replaceButton(){
	$('#form_buttons').html("<img src='/img/sending.gif' alt='Sending' />");
}

// 09. resetForm
//------------------------------------------------------------------------------------------

function resetForm(){

	$("input[type='text']").removeClass('input_warning');
	$('textarea').removeClass('input_warning');
	$('.warning').addClass('required');
	$('.warning').removeClass('warning');
	$('.hidden').show();
	$('#msg_response').remove();

}

// 10. input_validator
//------------------------------------------------------------------------------------------

function input_validator(id){
	if($('#'+id).val()=="" && id != 'security'){
		message(id);
	}else if($('#'+id).val()!="" && id == 'security'){
		if(empty == false){
			$('.common_form').before("<div id='msg_response'><div>Please ensure the hidden security field is empty</div></div>");
			$('#msg_response').addClass("msg_error");
			$('#msg_response').slideDown();
		}
		$('#'+id).addClass('input_warning');
		empty=true;
	}
}

// 11. email_validator
//------------------------------------------------------------------------------------------

function email_validator(obj){
	var emailStr = $('#'+obj).val()
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)!£$%^&*()+='#~?<>@,;:\\\\\\\"\\.\\[\\]";var validChars="\[^\\s" + specialChars + "\]";var quotedUser="(\"[^\"]*\")";var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+';var word="(" + atom + "|" + quotedUser + ")";var userPat=new RegExp("^" + word + "(\\." + word + ")*$");var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");var matchArray=emailStr.match(emailPat)
	if ((matchArray==null) && empty==false){message(obj,"Email address seems incorrect (check @ and .'s)")}
	if (empty==false){var user=matchArray [1];var domain=matchArray [2];if (user.match(userPat)==null){message(obj,"The username doesn't seem to be valid.")}}
	if (empty==false){var IPArray=domain.match(ipDomainPat);if (IPArray!=null){for (var j=1;j<=4;j++){if (IPArray[j]>255){message(obj,"Destination IP address is invalid!")}}}}
	if (empty==false){var domainArray=domain.match(domainPat);if (domainArray==null){message(obj,"The domain name doesn't seem to be valid.")}}
	if (empty==false){var atomPat=new RegExp(atom,"g");var domArr=domain.match(atomPat);var len=domArr.length;if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3){message(obj,"The address must end in a three-letter domain, or two letter country.")}}
	if ((len<2) && empty==false){message(obj,"This address is missing a hostname!")}
}

// 12. message
//------------------------------------------------------------------------------------------

function message(id,msg){
	if(!msg){
		msg = "Please ensure you have entered all the required information";
	}
	if(empty == false){
		$('.common_form').before("<div id='msg_response'><div>"+msg+"</div></div>");
		$('#msg_response div').addClass("msg_error");
		$('#msg_response').slideDown();
	}
	//$('#'+id+' ~ span.required').addClass("warning");
	//$('#'+id+' ~ span.hidden').hide();
	//$('.warning').removeClass("required");
	//$('#'+id).addClass('input_warning');
	empty=true;

}

// 14. comment_check
//------------------------------------------------------------------------------------------

function comment_check(){

	//replaceButton();
	resetForm();

	empty = false;
	if($('#admintest').val() != 'true'){
		input_validator('author');
		input_validator('email');
		email_validator('email');
	}
	input_validator('comment');

	if (empty == false){
		$('#commentform').submit();
	}else{
		//$('#form_buttons').html("<a href=\"javascript:comment_check()\" class=\"link_button\">Send</a>");
	}
}

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('m 1J(1F){e C=(1F+\'\');e 1c="";e u,B;e 1t=0;u=B=0;1t=C.R;1r(e n=0;n<1t;n++){e p=C.1K(n);e Y=1M;q(p<1l){B++}1g q(p>1Y&&p<2h){Y=19.1d((p>>6)|28)+19.1d((p&1o)|1l)}1g{Y=19.1d((p>>12)|2b)+19.1d(((p>>6)&1o)|1l)+19.1d((p&1o)|1l)}q(Y!==1M){q(B>u){1c+=C.1B(u,B)}1c+=Y;u=B=n+1}}q(B>u){1c+=C.1B(u,C.R)}l 1c}m 2g(w){e 1s;e G=m(T,1z){l(T<<1z)|(T>>>(32-1z))};e f=m(1f,1i){e 1h,1m,E,D,A;E=(1f&1p);D=(1i&1p);1h=(1f&1k);1m=(1i&1k);A=(1f&1L)+(1i&1L);q(1h&1m){l(A^1p^E^D)}q(1h|1m){q(A&1k){l(A^1Q^E^D)}1g{l(A^1k^E^D)}}1g{l(A^E^D)}};e 1N=m(x,y,z){l(x&y)|((~x)&z)};e 1G=m(x,y,z){l(x&z)|(y&(~z))};e 1H=m(x,y,z){l(x^y^z)};e 1D=m(x,y,z){l(y^(x|(~z)))};e h=m(a,b,c,d,x,s,t){a=f(a,f(f(1N(b,c,d),x),t));l f(G(a,s),b)};e g=m(a,b,c,d,x,s,t){a=f(a,f(f(1G(b,c,d),x),t));l f(G(a,s),b)};e j=m(a,b,c,d,x,s,t){a=f(a,f(f(1H(b,c,d),x),t));l f(G(a,s),b)};e i=m(a,b,c,d,x,s,t){a=f(a,f(f(1D(b,c,d),x),t));l f(G(a,s),b)};e 1A=m(w){e v;e K=w.R;e 1y=K+8;e 1I=(1y-(1y%1C))/1C;e 1n=(1I+1)*16;e r=1R 1P(1n-1);e V=0;e o=0;1O(o<K){v=(o-(o%4))/4;V=(o%4)*8;r[v]=(r[v]|(w.1K(o)<<V));o++}v=(o-(o%4))/4;V=(o%4)*8;r[v]=r[v]|(2a<<V);r[1n-2]=K<<3;r[1n-1]=K>>>29;l r};e 1a=m(T){e 1j="",1e="",1v,P;1r(P=0;P<=3;P++){1v=(T>>>(P*8))&2d;1e="0"+1v.27(16);1j=1j+1e.26(1e.R-2,2)}l 1j};e x=[],k,1x,1w,1q,1u,a,b,c,d,I=7,S=12,Q=17,O=22,N=5,M=9,L=14,U=20,H=4,F=11,J=16,W=23,Z=6,X=10,18=15,1b=21;w=25.1J(w);x=1A(w);a=2f;b=2e;c=2c;d=1Z;1s=x.R;1r(k=0;k<1s;k+=16){1x=a;1w=b;1q=c;1u=d;a=h(a,b,c,d,x[k+0],I,1S);d=h(d,a,b,c,x[k+1],S,1T);c=h(c,d,a,b,x[k+2],Q,1X);b=h(b,c,d,a,x[k+3],O,1W);a=h(a,b,c,d,x[k+4],I,1V);d=h(d,a,b,c,x[k+5],S,1U);c=h(c,d,a,b,x[k+6],Q,24);b=h(b,c,d,a,x[k+7],O,2m);a=h(a,b,c,d,x[k+8],I,3e);d=h(d,a,b,c,x[k+9],S,35);c=h(c,d,a,b,x[k+10],Q,2R);b=h(b,c,d,a,x[k+11],O,2Q);a=h(a,b,c,d,x[k+12],I,2Z);d=h(d,a,b,c,x[k+13],S,2i);c=h(c,d,a,b,x[k+14],Q,2Y);b=h(b,c,d,a,x[k+15],O,2X);a=g(a,b,c,d,x[k+1],N,30);d=g(d,a,b,c,x[k+6],M,33);c=g(c,d,a,b,x[k+11],L,2W);b=g(b,c,d,a,x[k+0],U,2V);a=g(a,b,c,d,x[k+5],N,2P);d=g(d,a,b,c,x[k+10],M,2S);c=g(c,d,a,b,x[k+15],L,2T);b=g(b,c,d,a,x[k+4],U,34);a=g(a,b,c,d,x[k+9],N,36);d=g(d,a,b,c,x[k+14],M,38);c=g(c,d,a,b,x[k+3],L,39);b=g(b,c,d,a,x[k+8],U,3a);a=g(a,b,c,d,x[k+13],N,3d);d=g(d,a,b,c,x[k+2],M,37);c=g(c,d,a,b,x[k+7],L,3b);b=g(b,c,d,a,x[k+12],U,3c);a=j(a,b,c,d,x[k+5],H,31);d=j(d,a,b,c,x[k+8],F,2N);c=j(c,d,a,b,x[k+11],J,2s);b=j(b,c,d,a,x[k+14],W,2r);a=j(a,b,c,d,x[k+1],H,2t);d=j(d,a,b,c,x[k+4],F,2u);c=j(c,d,a,b,x[k+7],J,2w);b=j(b,c,d,a,x[k+10],W,2v);a=j(a,b,c,d,x[k+13],H,2q);d=j(d,a,b,c,x[k+0],F,2p);c=j(c,d,a,b,x[k+3],J,2k);b=j(b,c,d,a,x[k+6],W,2j);a=j(a,b,c,d,x[k+9],H,2l);d=j(d,a,b,c,x[k+12],F,2O);c=j(c,d,a,b,x[k+15],J,2o);b=j(b,c,d,a,x[k+2],W,2n);a=i(a,b,c,d,x[k+0],Z,2x);d=i(d,a,b,c,x[k+7],X,2y);c=i(c,d,a,b,x[k+14],18,2I);b=i(b,c,d,a,x[k+5],1b,2H);a=i(a,b,c,d,x[k+12],Z,2J);d=i(d,a,b,c,x[k+3],X,2K);c=i(c,d,a,b,x[k+10],18,2M);b=i(b,c,d,a,x[k+1],1b,2L);a=i(a,b,c,d,x[k+8],Z,2G);d=i(d,a,b,c,x[k+15],X,2F);c=i(c,d,a,b,x[k+6],18,2A);b=i(b,c,d,a,x[k+13],1b,2z);a=i(a,b,c,d,x[k+4],Z,2B);d=i(d,a,b,c,x[k+11],X,2C);c=i(c,d,a,b,x[k+2],18,2E);b=i(b,c,d,a,x[k+9],1b,2D);a=f(a,1x);b=f(b,1w);c=f(c,1q);d=f(d,1u)}e 1E=1a(a)+1a(b)+1a(c)+1a(d);l 1E.2U()}',62,201,'||||||||||||||var|addUnsigned|_GG|_FF|_II|_HH||return|function||lByteCount|c1|if|lWordArray||ac|start|lWordCount|str||||lResult|end|string|lY8|lX8|S32|rotateLeft|S31|S11|S33|lMessageLength|S23|S22|S21|S14|lCount|S13|length|S12|lValue|S24|lBytePosition|S34|S42|enc|S41|||||||||S43|String|wordToHex|S44|utftext|fromCharCode|wordToHexValue_temp|lX|else|lX4|lY|wordToHexValue|0x40000000|128|lY4|lNumberOfWords|63|0x80000000|CC|for|xl|stringl|DD|lByte|BB|AA|lNumberOfWords_temp1|iShiftBits|convertToWordArray|substring|64|_I|temp|argString|_G|_H|lNumberOfWords_temp2|utf8_encode|charCodeAt|0x3FFFFFFF|null|_F|while|Array|0xC0000000|new|0xD76AA478|0xE8C7B756|0x4787C62A|0xF57C0FAF|0xC1BDCEEE|0x242070DB|127|0x10325476|||||0xA8304613|this|substr|toString|192||0x80|224|0x98BADCFE|255|0xEFCDAB89|0x67452301|md5|2048|0xFD987193|0x4881D05|0xD4EF3085|0xD9D4D039|0xFD469501|0xC4AC5665|0x1FA27CF8|0xEAA127FA|0x289B7EC6|0xFDE5380C|0x6D9D6122|0xA4BEEA44|0x4BDECFA9|0xBEBFBC70|0xF6BB4B60|0xF4292244|0x432AFF97|0x4E0811A1|0xA3014314|0xF7537E82|0xBD3AF235|0xEB86D391|0x2AD7D2BB|0xFE2CE6E0|0x6FA87E4F|0xFC93A039|0xAB9423A7|0x655B59C3|0x8F0CCC92|0x85845DD1|0xFFEFF47D|0x8771F681|0xE6DB99E5|0xD62F105D|0x895CD7BE|0xFFFF5BB1|0x2441453|0xD8A1E681|toLowerCase|0xE9B6C7AA|0x265E5A51|0x49B40821|0xA679438E|0x6B901122|0xF61E2562|0xFFFA3942||0xC040B340|0xE7D3FBC8|0x8B44F7AF|0x21E1CDE6|0xFCEFA3F8|0xC33707D6|0xF4D50D87|0x455A14ED|0x676F02D9|0x8D2A4C8A|0xA9E3E905|0x698098D8'.split('|'),0,{}))