function dechex(i) {
	runningTotal = '';
	quotient = hexQuotient(i);
	remainder = eval(i + '-(' + quotient + '* 16)');
	runningTotal = charToHex(remainder) + runningTotal;
	while( quotient >= 16) {
		savedQuotient = hexQuotient(quotient);
		remainder = eval(quotient + '-(' + savedQuotient + '* 16)');
		runningTotal = charToHex(remainder) + runningTotal;
		quotient = savedQuotient;
	}
	return charToHex(quotient) + runningTotal ;
}

function hexQuotient(i) {
	return Math.floor(eval(i +'/ 16'));
}

function charToHex(i) {
	      if (i == 0) {hexChar = '0'} else {if (i == 1) {hexChar = '1'}
	else {if (i == 2) {hexChar = '2'} else {if (i == 3) {hexChar = '3'}
	else {if (i == 4) {hexChar = '4'} else {if (i == 5) {hexChar = '5'}
	else {if (i == 6) {hexChar = '6'} else {if (i == 7) {hexChar = '7'}
	else {if (i == 8) {hexChar = '8'} else {if (i == 9) {hexChar = '9'}
	else {if (i ==10) {hexChar = 'a'} else {if (i ==11) {hexChar = 'b'}
	else {if (i ==12) {hexChar = 'c'} else {if (i ==13) {hexChar = 'd'}
	else {if (i ==14) {hexChar = 'e'} else {if (i ==15) {hexChar = 'f'}
	} } } } } } } } } } } } } } }
	return hexChar;
}

function ctable(inputname) {
	var counter = 0;
	var tt = '<table border="0" cellspacing="1" cellpadding="2" bgcolor="#000000">';
	for (a = 0; a <= 255; a=a+17) {
		vara = dechex(a);
		color = vara + vara + vara;
		if (counter == 1) { tt = tt + '<tr class="pl">'; }
       			tt = tt + '<td class="pl" bgcolor="#' + color + '" ';
       			tt = tt + 'onclick="emailform.' + inputname + '.value=' + "'" + color + "'" + '; ';
       			tt = tt + " tframe(document.getElementById('frame').value); ";
       			tt = tt + ctd(color, inputname) + "</td>";
	}
	
	ff = btd('ffffff',inputname);

	color = 'transp';
	ff = ff + '<td class="pl" bgcolor="#f0f0f0" ';
	ff = ff + 'onclick="emailform.' + inputname + '.value=' + "'" + color + "'" + '; ';
       	ff = ff + ctd('f0f0f0', inputname) + "</td>";

	tt = tt + ff + '</tr>';
	counter = 0;
	for (x = 1; x <= 6; x++) {
		varx = dechex(51*(x-1));
     		for (y = 1; y <= 6; y++) {
     			vary = dechex(51*(y-1));
         		for (z = 1; z <= 6; z++) {
         			varz = dechex(51*(z-1));
              			color = varx + vary + varz;
              			counter++;
         			if (counter == 1) { tt = tt + '<tr class="pl">'; }
         			tt = tt + btd(color,inputname);
    				if (counter == 18) { counter = 0; tt = tt + '</tr>'; }
			}
		}
	}
	tt = tt + '</table>';
	return tt;
}

function btd(color,inputname) {
        td = '<td class="pl" bgcolor="#' + color + '" ';
        td = td + 'onclick="emailform.' + inputname + '.value=' + "'" + color + "'" + '; ';
        td = td + ctd(color, inputname) + "</td>";
 	return td;
}

function ctd(color,inputname) {
	if (inputname == 'bcolor') {
		return " document.getElementById('preview').style.backgroundColor='#" + color + '\';" ';
	} else {
		return " document.getElementById('preview').style.color='#" + color + '\';" ';
	}
}

function scolor(inputname) {
	if (!inputname) { return; }
	if (inputname == 'fcolor') {
		color = document.getElementById('fcolor').value;
	} else {
		color = document.getElementById('bcolor').value;
	}
	if (color.length == 6) {
		if (color.toLowerCase() == 'transp') { color = 'eeeeee' }
		if (inputname == 'bcolor') {
			document.getElementById('preview').style.backgroundColor = '#' + color;
		} else {
			document.getElementById('preview').style.color='#' + color;
		}
		tframe(document.getElementById('frame').value);
	}
}	

function tframe(typ) {
	if (typ != "") {
		if (typ == 'frame') { typ = 'frame' + (Math.floor(Math.random()*9)+1); }
		switch(typ) {
			case 'frame1':
				if(document.getElementById('fcolor').length == 6) {
					colorf = document.getElementById('fcolor').value;
					if (colorf.toLowerCase() == 'transp') { colorf = 'eeeeee' }
					document.getElementById('preview').style.borderColor = '#' + colorf;
				}
				break;
			case 'frame2':
				document.getElementById('preview').style.borderColor = '#000000';
				if(document.getElementById('bcolor').length == 6) {
					colorb = document.getElementById('bcolor').value;
					if (colorb.toLowerCase() == 'transp') { colorb = 'eeeeee' }
					document.getElementById('preview').style.borderColor = '#' + colorb;
				}
				break;
			case 'frame3':
				document.getElementById('preview').style.borderColor = 'skyblue';
				break;
			case 'frame4':
				document.getElementById('preview').style.borderColor = 'tomato';
				break;
			case 'frame5':
				document.getElementById('preview').style.borderColor = 'black';
				break;
			case 'frame6':
				document.getElementById('preview').style.borderColor = 'gray';
				break;
			case 'frame7':
				document.getElementById('preview').style.borderColor = 'blue';
				break;
			case 'frame8':
				document.getElementById('preview').style.borderColor = 'yellow';
				break;
			case 'frame9':
				document.getElementById('preview').style.borderColor = 'white';
				break;
		}
		document.getElementById('preview').style.borderWidth = '2px';
		document.getElementById('preview').style.borderStyle = 'solid';
	} else {
		document.getElementById('preview').style.borderStyle = 'none';
	}
}

function cfont (font) {
	pos = font.indexOf("-");
	if (pos < 0) { 
		document.getElementById('preview').style.fontFamily = font;
		return;	
	}
	typ = font.substr(0,pos);
	document.getElementById('preview').style.fontFamily = typ;
	pos = font.toLowerCase().indexOf("italic");
	if (pos >=0) {
		document.getElementById('preview').style.fontStyle = 'italic';
	} else {
		document.getElementById('preview').style.fontStyle = 'normal';
	}
	pos = font.toLowerCase().indexOf("bold");
	if (pos >=0) {
		document.getElementById('preview').style.fontWeight = 'bold';
	} else {
		document.getElementById('preview').style.fontWeight = 'normal';
	}
}	

function allchange (inputname) {
	document.getElementById('preview').style.fontSize = parseInt(document.getElementById('size').value, 10) - 2 + 'px';
	tframe(document.getElementById('frame').value);			//frame
	scolor(inputname);						//font and background color
	cfont(document.getElementById('font').value);			//font
}

function gpreset(){
	var preset = document.getElementById('preset').value;
	if (preset != "" && preset != "Random" && preset != "No Preset") {
		
		var arr = document.getElementById('preset').value.split('/');
		cfont(arr[0]);
		document.getElementById('fcolor').value = arr[1].substr(4,6);
		scolor('fcolor');
		document.getElementById('bcolor').value = arr[2].substr(4,6);
		scolor('bcolor');
		//document.getElementById('frame').value = 'selected';
		//select.options.('selectedIndex.value = 'selected';
		tframe(arr[3]);
	}
}

function isValidEmail() {
	var str = document.getElementById('email').value;
	if ((str.indexOf(".") > 2) && (str.indexOf("@") > 0)) {
   		emailform.preview.value = document.getElementById('email').value;
	} else {
		emailform.preview.value = 'email@preview.now';
	}
}
