//################################################//
//
// ASCII 2 Hex Conversion Tool
//
// Used to encrypt Javascript into
// Hexidecimal to hide it from sniffers. 
//
// © Copyright 1999 Kendall Dawson 
// Permission to freely distribute
// as long as this copyright notice
// remains unaltered. Contact me via
// email: kendall@paradigm.nu
//
// Release History:
//
// Version 1.0 - July 1999
//
//################################################//
// modified: Osmo Saarikumpu 2003/03/05

function decode(){
    if(document.forms[0].hextext.value == ''){
    alert('En löydä dekoodattavaa!');
	void(0);
	}
	else {
	var text= document.forms[0].hextext.value;
	document.forms[0].hextext.value= '';
	document.forms[0].asciitext.value= unescape(text);
	}
}

function encode(){
    if(document.forms[0].asciitext.value == ''){
    alert('En löydä koodattavaa!');
	void(0);
	}
	else {
	var text= document.forms[0].asciitext.value;
	enctext= transform(text);
	document.forms[0].asciitext.value= '';
	document.forms[0].hextext.value= (enctext);
	}
}

function transform(s){
	var hex=''
	var i
	for (i=0; i<s.length; i++)
	{
	
	hex += '%'+hexfromdec( s.charCodeAt(i) )

    }
	return hex
}

function generate(){
	if(document.forms[0].hextext.value == ''){
	alert('En löydä generoitavaa!');
	void(0);
	}
	else {
	var text= document.forms[0].hextext.value;
	genCode=window.open("","codeWin","height=200,width=600,scrollbars=yes");
	genCode.document.write("<TITLE>Valmis SCRIPT-elementtisi (maalaa ja kopioi)</TITLE>");
	genCode.document.write("<PRE>&lt;script type=\"text/javascript\"&gt;</PRE>");
	genCode.document.write("eval(unescape('" + text +"'));");
	genCode.document.write("<PRE>&lt;/script&gt;</PRE>");
	genCode.document.write("<CENTER><FORM>");
	genCode.document.write("<INPUT TYPE=button VALUE='Sulje' onClick='self.close()'>");
	genCode.document.write("</FORM></CENTER>");
	genCode.document.close();
	}
}

function hexfromdec(num) {
	if (num > 65535) { return ("err!") }
	first = Math.round(num/4096 - .5);
	temp1 = num - first * 4096;
	second = Math.round(temp1/256 -.5);
	temp2 = temp1 - second * 256;
	third = Math.round(temp2/16 - .5);
	fourth = temp2 - third * 16;
	return (""+getletter(third)+getletter(fourth));
}

function getletter(num) {
	if (num < 10) {
		return num;
	}
	else {
	    if (num == 10) { return "A" }
	    if (num == 11) { return "B" }
	    if (num == 12) { return "C" }
	    if (num == 13) { return "D" }
	    if (num == 14) { return "E" }
	    if (num == 15) { return "F" }
	}
}
