function startwebmogul() {
	javascript: startTime();
	document.getElementById('loading').style.display='none';
	document.getElementById('thepage').style.display='inline';
	document.getElementById('tmenu').style.marginLeft=-document.getElementById('tmenu').offsetWidth/2+'px';
	$('div#popup').show('');
	document.getElementById('popupimage').style.marginTop=-(document.getElementById('popupimage').offsetHeight/2)+'px';
	document.getElementById('popupimage').style.marginRight=-(document.getElementById('popupimage').offsetWidth/2)+'px';
}

function startTime(){
	var today=new Date();
	var h=today.getHours();
	var m=today.getMinutes();
	var s=today.getSeconds();
//	add a zero in front of numbers<10
	m=checkTime(m);
	s=checkTime(s);
	document.getElementById('clock').innerHTML=h+":"+m+":"+s;
	t=setTimeout('startTime()',500);
}

function checkTime(i){
	if (i<10)  {
	  i="0" + i;
	}
	return i;
}

function checkmailbox(form) {
	if (form.pMAIL.value == '') {form.pMAIL.value = 'e-mail cím';}
}

function checkpassbox(form) {
	if (form.pPASS.value == '') {$('#fakepass').show(''); $('#realpass').hide('');}
}

function checkpassbox_b(form) {
	if (form.pPASS.value == '') {$('#fakepassb').show(''); document.getElementById('realpassb').style.display='none';}
}

function copypNAME(form) {
form.dNAME.value = form.pNAME.value;
form.bNAME.value = form.pNAME.value;
}

function copydeliverytobilling(form) {
	form.bNAME.value = form.dNAME.value;
	form.bPOSTCODE.value = form.dPOSTCODE.value;
	form.bCITY.value = form.dCITY.value;
	form.bADDRESS.value = form.dADDRESS.value;
	form.deleteb.checked = false;
	checkbname(); checkbpostcode(); checkbcity(); checkbaddress();
}

function copybillingtodelivery(form) {
	form.dNAME.value = form.bNAME.value;
	form.dPOSTCODE.value = form.bPOSTCODE.value;
	form.dCITY.value = form.bCITY.value;
	form.dADDRESS.value = form.bADDRESS.value;
	form.deleteb.checked = false;
	checkbname(); checkbpostcode(); checkbcity(); checkbaddress();
}

function deletebilling(form) {
	form.bNAME.value = "";
	form.bPOSTCODE.value = "";
	form.bCITY.value = "";
	form.bADDRESS.value = "";
	form.copydtob.checked = false;
	checkbname(); checkbpostcode(); checkbcity(); checkbaddress();
}

function deletedelivery(form) {
	form.dNAME.value = "";
	form.dPOSTCODE.value = "";
	form.dCITY.value = "";
	form.dADDRESS.value = "";
	form.copydtob.checked = false;
	checkbname(); checkbpostcode(); checkbcity(); checkbaddress();
}

function checkname() {
	pNAME = document.form1.pNAME.value;
	dMODE = document.form1.dMODEvalue.value;
	regtype = document.form1.regtype.value;	
	if (pNAME.length < 5) {
		$('#pnameimp').show('');
		$('#pnamenotimp').hide('');
		if (regtype == "o") {
			if (dMODE == "h") {
				$('#dnameimp').show('');
				$('#dnamenotimp').hide('');
			}
			$('#bnameimp').show('');
			$('#bnamenotimp').hide('');
		}
	} else {
		$('#pnamenotimp').show('');
		$('#pnameimp').hide('');
		if (regtype == "o") {
			if (dMODE == "h") {
				$('#dnamenotimp').show('');
				$('#dnameimp').hide('');
			}
			$('#bnamenotimp').show('');
			$('#bnameimp').hide('');
		}
	}
}

function checktocartform(form) {
	ok = false;
	if (/^[0-9]{0,2}$/.test(form.amount.value)) {
		ok = true;
	}
	if (!ok) {form.amount.value="";}
}

function checkregmail() {
	pMAIL = document.form1.pMAIL.value;
	if (!pMAIL) {
		$('#pmailimp').show('');
		$('#pmailnotimp').hide('');
	} else {
		$('#pmailnotimp').show('');
		$('#pmailimp').hide('');
	}
	if (/^[a-zA-Z0-9_]+([\.-]?[a-zA-Z0-9_]+)*@[a-zA-Z0-9_]+([\.-]?[a-zA-Z0-9_]+)*(\.\w{2,3})+$/.test(pMAIL) ) {
		$('#pmailnotimp').show('');
		$('#pmailimp').hide('');
	} else {
		$('#pmailimp').show('');
		$('#pmailnotimp').hide('');
	}
}

function checkregpass() {
	pPASS = document.form1.pPASS.value;
	passwordcheck = document.form1.passwordcheck.value;
	if (pPASS.length < 5) {
		$('#ppassimp').show('');
		$('#ppassnotimp').hide('');
	} else {
		$('#ppassnotimp').show('');
		$('#ppassimp').hide('');
	}
	if (passwordcheck != pPASS) {
		$('#ppasscheckimp').show('');
		$('#ppasschecknotimp').hide('');
	} else if ((pPASS.length > 4) && (passwordcheck.length > 4)) {
		$('#ppasschecknotimp').show('');
		$('#ppasscheckimp').hide('');
	}
}

function checkregpasscheck() {
	pPASS = document.form1.pPASS.value;
	passwordcheck = document.form1.passwordcheck.value;
	if ((passwordcheck != pPASS) || (passwordcheck.length < 5)) {
		$('#ppasscheckimp').show('');
		$('#ppasschecknotimp').hide('');
	} else {
		$('#ppasschecknotimp').show('');
		$('#ppasscheckimp').hide('');
	}
}

function checkphone() {
	pPHONE = document.form1.pPHONE.value;
	if (!pPHONE) {
		$('#pphoneimp').show('');
		$('#pphonenotimp').hide('');
	} else {
		$('#pphonenotimp').show('');
		$('#pphoneimp').hide('');
	}
}

function checkfax() {
	pFEEDBACK = document.form1.pFEEDBACKvalue.value;
	pFAX = document.form1.pFAX.value;
	if ((!pFAX) && (pFEEDBACK == "f")) {
		$('#faximp').show('');
		$('#faxnotimp').hide('');
	}
	if (((pFAX) && (pFEEDBACK == "f")) || (pFEEDBACK != "f")) {
		$('#faxnotimp').show('');
		$('#faximp').hide('');
	}
}

function checkdname() {
	dNAME = document.form1.dNAME.value;
	regtype = document.form1.regtype.value;
	if ((dNAME.length < 5) && (regtype == "o")) {
		$('#dnameimp').show('');
		$('#dnamenotimp').hide('');
	} else {
		$('#dnamenotimp').show('');
		$('#dnameimp').hide('');
	}
}

function checkdpostcode() {
	dPOSTCODE = document.form1.dPOSTCODE.value;
	regtype = document.form1.regtype.value;
	if ((!dPOSTCODE) && (regtype == "o")) {
		$('#dpostcodeimp').show('');
		$('#dpostcodenotimp').hide('');
	} else {
		$('#dpostcodenotimp').show('');
		$('#dpostcodeimp').hide('');
	}
}

function checkdcity() {
	dCITY = document.form1.dCITY.value;
	regtype = document.form1.regtype.value;
	if ((!dCITY) && (regtype == "o")) {
		$('#dcityimp').show('');
		$('#dcitynotimp').hide('');
	} else {
		$('#dcitynotimp').show('');
		$('#dcityimp').hide('');
	}
}

function checkdaddress() {
	dADDRESS = document.form1.dADDRESS.value;
	regtype = document.form1.regtype.value;
	if ((!dADDRESS) && (regtype == "o")) {
		$('#daddressimp').show('');
		$('#daddressnotimp').hide('');
	} else {
		$('#daddressnotimp').show('');
		$('#daddressimp').hide('');
	}
}

function checkbname() {
	bNAME = document.form1.bNAME.value;
	regtype = document.form1.regtype.value;
	if ((bNAME.length < 5) && (regtype == "o")) {
		$('#bnameimp').show('');
		$('#bnamenotimp').hide('');
	} else {
		$('#bnamenotimp').show('');
		$('#bnameimp').hide('');
	}
}

function checkbpostcode() {
	bPOSTCODE = document.form1.bPOSTCODE.value;
	regtype = document.form1.regtype.value;
	if ((!bPOSTCODE) && (regtype == "o")) {
		$('#bpostcodeimp').show('');
		$('#bpostcodenotimp').hide('');
	} else {
		$('#bpostcodenotimp').show('');
		$('#bpostcodeimp').hide('');
	}
}

function checkbcity() {
	bCITY = document.form1.bCITY.value;
	regtype = document.form1.regtype.value;
	if ((!bCITY) && (regtype == "o")) {
		$('#bcityimp').show('');
		$('#bcitynotimp').hide('');
	} else {
		$('#bcitynotimp').show('');
		$('#bcityimp').hide('');
	}
}

function checkbaddress() {
	bADDRESS = document.form1.bADDRESS.value;
	regtype = document.form1.regtype.value;
	if ((!bADDRESS) && (regtype == "o")) {
		$('#baddressimp').show('');
		$('#baddressnotimp').hide('');
	} else {
		$('#baddressnotimp').show('');
		$('#baddressimp').hide('');
	}
}

function checkbtaxnumber() {
	bTAXNUMBER = document.form1.bTAXNUMBER.value;
	isCOMPANY = document.form1.isCOMPANYvalue.value;
	regtype = document.form1.regtype.value;
	if ((!bTAXNUMBER) && (isCOMPANY == "c") && (regtype == "o")) {
		$('#btaxnumberimp').show('');
		$('#btaxnumbernotimp').hide('');
	} else {
		$('#btaxnumbernotimp').show('');
		$('#btaxnumberimp').hide('');
	}
}

function checkshoprules() {
	if (document.form1.shoprules.checked) {
		$('#shoprulesimp').hide('');
		$('#shoprulesnotimp').show('');
	} else {
		$('#shoprulesimp').show('');
		$('#shoprulesnotimp').hide('');
	}
}

function checkreg() {
	var returnval;
	returnval = true;
	redmissing = false;
	errormessage = "";
	regtype = document.form1.regtype.value;
	neworedit = document.form1.neworedit.value;
	pNAME = document.form1.pNAME.value;
	pMAIL = document.form1.pMAIL.value;
	pPASS = document.form1.pPASS.value;
	passwordcheck = document.form1.passwordcheck.value;
	pPHONE = document.form1.pPHONE.value;
	pFAX = document.form1.pFAX.value;	
	pFEEDBACK = document.form1.pFEEDBACKvalue.value;
	dMODE = document.form1.dMODEvalue.value;
	dNAME = document.form1.dNAME.value;
	dPOSTCODE = document.form1.dPOSTCODE.value;
	dCITY = document.form1.dCITY.value;
	dADDRESS = document.form1.dADDRESS.value;
	dNOTE = document.form1.dNOTE.value;
	bMODE = document.form1.bMODE.value;
	bNAME = document.form1.bNAME.value;
	bPOSTCODE = document.form1.bPOSTCODE.value;
	bCITY = document.form1.bCITY.value;
	bADDRESS = document.form1.bADDRESS.value;
	isCOMPANY = document.form1.isCOMPANYvalue.value;
	bTAXNUMBER = document.form1.bTAXNUMBER.value;
	shoprules = document.form1.shoprules.checked;
	if (/^[a-zA-Z0-9_]+([\.-]?[a-zA-Z0-9_]+)*@[a-zA-Z0-9_]+([\.-]?[a-zA-Z0-9_]+)*(\.\w{2,3})+$/.test(pMAIL) ) {
		returnval = true;
	} else {
		errormessage+="HIBA: ÉRVÉNYTELEN E-MAIL CÍMET ADOTT MEG! A cím nem tartalmazhat speciális és ékezetes, illetve tartalmaznia kell @ és . karaktereket, valamint az ország domain minimum 2, maximum 3 karakter hosszúságú lehet!";
		returnval = false;
	}
	if ( (!pNAME) || (!pMAIL) || (!pPASS) || (!pPHONE) ) {
		returnval = false;
		redmissing = true;
	}
	if ((pNAME) && (pNAME.length < 5)) {
		if (errormessage) {errormessage+="\n\n";}
		errormessage+="HIBA: a névnek minimum 5 karakter hosszúnak kell lennie";
		returnval = false;
	}
	if (pPASS.length < 5) {
		if (errormessage) {errormessage+="\n\n";}
		errormessage+="HIBA: a jelszónak minimum 5 karakter hosszúnak kell lennie";
		document.form1.pPASS.value = "";
		document.form1.passwordcheck.value = "";
		$('#ppassimp').show('');
		$('#ppassnotimp').hide('');
		$('#ppasscheckimp').show('');
		$('#ppasschecknotimp').hide('');
		returnval = false;
	}
	if (pPASS != passwordcheck) {
		if (errormessage) {errormessage+="\n\n";}
		errormessage+="HIBA: a \"jelszó\" és a \"jelszó újra\" mezők nem egyeznek!\nAz ön biztonsága érdekében mindkét mezőben ugyanazt a jelszót kell megadnia!";
		document.form1.pPASS.value = "";
		document.form1.passwordcheck.value = "";
		$('#ppassimp').show('');
		$('#ppassnotimp').hide('');
		$('#ppasscheckimp').show('');
		$('#ppasschecknotimp').hide('');
		returnval = false;
	}
	if (regtype == "o") {
		if ((!bNAME) || (!bPOSTCODE) || (!bCITY) || (!bADDRESS)) {
			returnval = false;
			redmissing = true;
		}
		if ((bNAME) && (bNAME.length < 5)) {
			if (errormessage) {errormessage+="\n\n";}
			errormessage+="HIBA: a számlázási névnek minimum 5 karakter hosszúnak kell lennie";
			returnval = false;
		}
		if (dMODE == "h") {
			if ((!dNAME) || (!dPOSTCODE) || (!dCITY) || (!dADDRESS)) {
				returnval = false;
				redmissing = true;
			}
			if ((dNAME) && (dNAME.length < 5)) {
				if (errormessage) {errormessage+="\n\n";}
				errormessage+="HIBA: a szállítási névnek minimum 5 karakter hosszúnak kell lennie";
				returnval = false;
			}
		}
		if ((!bTAXNUMBER) && (isCOMPANY == "c")) {
			returnval = false;
			redmissing = true;
		}
	}
	if ((!pFAX) && (pFEEDBACK == "f")) {
		returnval = false;
		redmissing = true;
	}
	if (!shoprules) {
		returnval = false;
		if (errormessage) {errormessage+="\n\n";}
		errormessage+="HIBA: A vásárlási feltételek elfogadása nélkül nem folytathatja a műveletet!\n";
	}
	if (!returnval) {
		if (redmissing) {errormessage ="HIBA: Minden pirossal jelölt mezőt kötelező kitölteni!\n\n"+errormessage;}
		errormessage+="\nKérjük próbálja újra!";
		alert(errormessage);
	}
	return returnval;
}

function checkmail() {
	var returnval;
	if (/^[a-zA-Z0-9_]+([\.-]?[a-zA-Z0-9_]+)*@[a-zA-Z0-9_]+([\.-]?[a-zA-Z0-9_]+)*(\.\w{2,3})+$/.test(document.changeemail.newmail.value) ) {
		returnval = true;
	} else {
		returnval = false;
		alert("HIBA: ÉRVÉNYTELEN E-MAIL CÍMET ADOTT MEG!\n\nA cím nem tartalmazhat speciális és ékezetes, illetve tartalmaznia kell @ és . karaktereket,\nvalamint az ország domain minimum 2, maximum 3 karakter hosszúságú lehet!");
	}
	if (document.changeemail.newmail.value == document.changeemail.oldmail.value) {
		returnval = false;
		alert("HIBA: RÉGI E-MAIL CÍMÉVEL AZONOS CÍMET ADOTT MEG!\n\nKérjük adjon meg egy új címet!");
		document.changeemail.newmail.value = "";
	}
	return returnval;
}

function checkpass() {
	var returnval;
	returnval = true;
	errormessage = "";
	if ((MD5(document.changepassword.oldpass.value) != document.changepassword.userpass.value) && (document.changepassword.oldpass.value)) {
		errormessage+="HIBA: Rosszul adta meg régi jelszavát!";
		returnval = false;
	} else if (document.changepassword.oldpass.value) {
		if ((MD5(document.changepassword.newpass.value) == document.changepassword.userpass.value) || (MD5(document.changepassword.newpasscheck.value) == document.changepassword.userpass.value)) {
			errormessage+="HIBA: Az új jelszava nem lehet azonos a régi jelszavával!";
			returnval = false;
		}
	}
	if (document.changepassword.newpass.value.length < 5) {
		if (errormessage) {errormessage+="\n\n";}
		errormessage+="HIBA: az új jelszónak minimum 5 karakter hosszúnak kell lennie";
		returnval = false;
	}
	if (document.changepassword.newpass.value != document.changepassword.newpasscheck.value) {
		if (errormessage) {errormessage+="\n\n";}
		errormessage+="HIBA: Az \"Új jelszó\" és az \"Új jelszó újra\" mezők nem egyeznek! Az ön\nbiztonsága érdekében mindkét mezőben ugyanazt a jelszót kell megadnia!";
		returnval = false;
	}
	if ((!document.changepassword.oldpass.value) || (!document.changepassword.newpass.value) || (!document.changepassword.newpasscheck.value)) {
		if (errormessage) {errormessage+="\n\n";}
		errormessage+="HIBA: Minden mezőt ki kell tölteni!";
		returnval = false;
	}
	if (!returnval) {
		errormessage+="\n\n\nKérjük próbálja újra!";
		alert(errormessage);
		document.changepassword.oldpass.value = "";
		document.changepassword.newpass.value = "";
		document.changepassword.newpasscheck.value = "";
	}
	return returnval;
}

function changeviewto(view) {
	document.getElementById('view'+view).style.background='white';
	document.getElementById('view'+view).style.color='black';
	document.getElementById('view'+window.currentview).style.background='gray';
	document.getElementById('view'+window.currentview).style.color='white';
	$('div#'+window.currentview+'box').hide(500);
	$('div#'+view+'box').show(500);
	window.currentview=view;
}

function rateover($star) {
	for(i=1;i<=10;i++) {
		if (i<=Math.round($star)) {setto=window.orangestar;}else{setto=window.graystar;}
		document.getElementById('rate'+i).style.background='url('+setto+')';
	}
}

function showtextbox() {
	$('div#textboxask').hide('1000');
	$('div#textbox').show('1000');
}

function asklogout() {
	answer = confirm("Kilépés esetén a kosarát kiürítjük!\n\nBiztosan kilép?");
	if (answer) {return true;}
	if (!answer) {return false;}
}

function checksubsc() {
	returnval = true;
	checkingproblem = false;
	errortext = "";
	subscname = document.subsc.subscNAME.value;
	subscemail = document.subsc.subscEMAIL.value;
	gamerornot = document.subsc.gamerornot.value;
	if (!subscname) {
		returnval = false;
		errortext+= "HIBA: Nem adott meg nevet!\n";
	}
	if (!subscemail) {
		returnval = false;
		errortext+= "HIBA: Nem adott meg e-mail címet!\n";
	}
	if (gamerornot == "igen") {
		if ( (!document.getElementById("where1").checked) && (!document.getElementById("where2").checked) && (!document.getElementById("where3").checked) && (!document.getElementById("where4").checked) && (!document.getElementById("where5").checked) && (!document.getElementById("where6").checked) && (!document.getElementById("where7").value) ) {
			checkingproblem = true;
		}
		if ( (!document.getElementById("what1").checked) && (!document.getElementById("what2").checked) && (!document.getElementById("what3").checked) && (!document.getElementById("what4").checked) && (!document.getElementById("what5").checked) && (!document.getElementById("what6").checked) && (!document.getElementById("what7").value) ) {
			checkingproblem = true;
		}
		if ( (!document.getElementById("how1").checked) && (!document.getElementById("how2").checked) && (!document.getElementById("how3").checked) && (!document.getElementById("how4").checked) && (!document.getElementById("how5").value) ) {
			checkingproblem = true;
		}
		if ( (!document.getElementById("whatfor1").checked) && (!document.getElementById("whatfor2").checked) && (!document.getElementById("whatfor3").checked) && (!document.getElementById("whatfor4").checked) && (!document.getElementById("whatfor5").value) ) {
			checkingproblem = true;
		}
		if ( (!document.getElementById("money1").checked) && (!document.getElementById("money2").checked) && (!document.getElementById("money3").checked) && (!document.getElementById("money4").value) ) {
			checkingproblem = true;
		}
		if ((document.getElementById("costumeryes").checked) && (!document.subsc.subscEXPS.value)) {
			returnval = false;
			errortext+= "HIBA: Ön már vásárolt nálunk, kérjük írja le tapasztalatait!\n";
		}
		if (!document.getElementById("rulesreaded").checked) {
			returnval = false;
			errortext+= "\nHIBA: Kérjük, olvassa el a játékszabályzatot és a feliratkozás gomb felett található jelölo négyzet kipipálásával igazolja vissza hogy azt megértette!\n";
		}
	}
	if (checkingproblem) {
		returnval = false;
		errortext+= "\nHIBA: Amennyiben részt vesz a játékunkban, minden kérdésre legalább 1 választ kell adnia!\n";
	}
	if (!returnval) {
		alert(errortext);
		return false;
	}
}

//([\-_]?)*
// if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.emailAddr.value) ) {

(function($) {	
	function runTicker(settings) {
		if(settings.firstRun == 1) {
			currentLength     = settings.currentLength;
			currentItem       = settings.currentItem;
			settings.firstRun = 0;
		}
		if(currentItem == settings.newsItemCounter + 1)	{
			currentItem = 0;
		}
		if(currentLength == 0) {
			if(settings.newsLinks[currentItem].length > 0) {
				$(settings.newsList).empty().append('<li><a href="'+ settings.newsLinks[currentItem] +'"></a></li>');
			} else {
				$(settings.newsList).empty().append('<li></li>');
			}
		}
		if( currentLength % 2 == 0) {
			placeHolder = settings.placeHolder1;
		} else {
			placeHolder = settings.placeHolder2;
		}
		if(currentLength <= settings.newsItems[currentItem].length + 1) {
			var tickerText = settings.newsItems[currentItem].substring(0,currentLength);
			if(settings.newsLinks[currentItem].length > 0) {
				$(settings.newsList + ' li a').text(tickerText);
			} else {
				$(settings.newsList + ' li').text(tickerText);
			}
			currentLength ++;			
			setTimeout(	function() {runTicker(settings); settings = null; },settings.tickerRate);
		}else {
			if(settings.newsLinks[currentItem].length > 0) {
				$(settings.newsList + ' li a').text(settings.newsItems[currentItem]);
			} else {
				$(settings.newsList + ' li').text(settings.newsItems[currentItem]);
			}
			currentLength = 0;
			currentItem ++;
			setTimeout(function(){runTicker(settings); settings = null;}, settings.loopDelay);	
		}	
	}
	$.fn.extend({
		newsTicker: function(settings) {
			settings = jQuery.extend(
			{
		 	  	newsList: ".news",
		   		tickerRate: 80,
		    	startDelay: 100,
		    	loopDelay: 3000,
		    	placeHolder1: " |",
		    	placeHolder2: "_"
			}, settings);
			var newsItems = new Array();
			var newsLinks = new Array();
			var newsItemCounter = 0;
			$(settings.newsList + ' li').hide();
			$(settings.newsList + ' li').each
			(
				function() {
					if($(this).children('a').length) {
						newsItems[newsItemCounter] = $(this).children('a').text();
						newsLinks[newsItemCounter] = $(this).children('a').attr('href');
					} else {
						newsItems[newsItemCounter] = $(this).text();
						newsLinks[newsItemCounter] = '';
					}
					newsItemCounter ++;
				}
			);
			settings = jQuery.extend(settings,{
				newsItems: newsItems,
				newsLinks: newsLinks,
				newsItemCounter: newsItemCounter - 1,
				currentItem: 0,
				currentLength: 0,
				firstRun:1
			});
			setTimeout(	function() {runTicker(settings); settings = null;},	settings.startDelay);
		}
	
	});
})(jQuery);

var MD5 = function (string) {
 
	function RotateLeft(lValue, iShiftBits) {
		return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
	}
 
	function AddUnsigned(lX,lY) {
		var lX4,lY4,lX8,lY8,lResult;
		lX8 = (lX & 0x80000000);
		lY8 = (lY & 0x80000000);
		lX4 = (lX & 0x40000000);
		lY4 = (lY & 0x40000000);
		lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
		if (lX4 & lY4) {
			return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
		}
		if (lX4 | lY4) {
			if (lResult & 0x40000000) {
				return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
			} else {
				return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
			}
		} else {
			return (lResult ^ lX8 ^ lY8);
		}
 	}
 
 	function F(x,y,z) { return (x & y) | ((~x) & z); }
 	function G(x,y,z) { return (x & z) | (y & (~z)); }
 	function H(x,y,z) { return (x ^ y ^ z); }
	function I(x,y,z) { return (y ^ (x | (~z))); }
 
	function FF(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	};
 
	function GG(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	};
 
	function HH(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	};
 
	function II(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	};
 
	function ConvertToWordArray(string) {
		var lWordCount;
		var lMessageLength = string.length;
		var lNumberOfWords_temp1=lMessageLength + 8;
		var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
		var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
		var lWordArray=Array(lNumberOfWords-1);
		var lBytePosition = 0;
		var lByteCount = 0;
		while ( lByteCount < lMessageLength ) {
			lWordCount = (lByteCount-(lByteCount % 4))/4;
			lBytePosition = (lByteCount % 4)*8;
			lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));
			lByteCount++;
		}
		lWordCount = (lByteCount-(lByteCount % 4))/4;
		lBytePosition = (lByteCount % 4)*8;
		lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
		lWordArray[lNumberOfWords-2] = lMessageLength<<3;
		lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
		return lWordArray;
	};
 
	function WordToHex(lValue) {
		var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
		for (lCount = 0;lCount<=3;lCount++) {
			lByte = (lValue>>>(lCount*8)) & 255;
			WordToHexValue_temp = "0" + lByte.toString(16);
			WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
		}
		return WordToHexValue;
	};
 
	function Utf8Encode(string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	};
 
	var x=Array();
	var k,AA,BB,CC,DD,a,b,c,d;
	var S11=7, S12=12, S13=17, S14=22;
	var S21=5, S22=9 , S23=14, S24=20;
	var S31=4, S32=11, S33=16, S34=23;
	var S41=6, S42=10, S43=15, S44=21;
 
	string = Utf8Encode(string);
 
	x = ConvertToWordArray(string);
 
	a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
 
	for (k=0;k<x.length;k+=16) {
		AA=a; BB=b; CC=c; DD=d;
		a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
		d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
		c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
		b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
		a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
		d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
		c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
		b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
		a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
		d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
		c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
		b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
		a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
		d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
		c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
		b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
		a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
		d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
		c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
		b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
		a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
		d=GG(d,a,b,c,x[k+10],S22,0x2441453);
		c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
		b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
		a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
		d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
		c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
		b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
		a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
		d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
		c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
		b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
		a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
		d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
		c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
		b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
		a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
		d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
		c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
		b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
		a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
		d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
		c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
		b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
		a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
		d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
		c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
		b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
		a=II(a,b,c,d,x[k+0], S41,0xF4292244);
		d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
		c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
		b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
		a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
		d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
		c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
		b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
		a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
		d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
		c=II(c,d,a,b,x[k+6], S43,0xA3014314);
		b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
		a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
		d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
		c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
		b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
		a=AddUnsigned(a,AA);
		b=AddUnsigned(b,BB);
		c=AddUnsigned(c,CC);
		d=AddUnsigned(d,DD);
	}
 
	var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);
 
	return temp.toLowerCase();
}