function complementary_colors(){
	rgb1=document.colorform.front.value;
	if (checknumber(rgb1)){//文字数チェック
		var r1=change10(rgb1.substr(0,2));
		var g1=change10(rgb1.substr(2,2));
		var b1=change10(rgb1.substr(4,2));
		if (r1 && g1 && b1 !="NaN"){ 
			r1=change16(r1);
			g1=change16(g1);
			b1=change16(b1);
			rgb2=r1+g1+b1;
			document.colorform.front.value=document.colorform.front.value.toUpperCase();
			document.colorform.back.value=rgb2;
			var id="sampletext";
			if(document.all){
				object = document.all(id).style;
			}else if(document.getElementById){
				object = document.getElementById(id).style;
			}else{
				return;
			}
			object.color = "#"+ rgb1;
			object.background = "#"+ rgb2;
		} else {
		 	alert("正しい16進数を入力してください。")
		}
	}
}

function checknumber(len){//文字数チェックプログラム
	if(len.length < 6){
		alert("前景色に6桁のRGB情報を入力してください。");
		document.colorform.front.focus();
        	return(false);
	} else {
		return(true);
	}
}

function change10(data){//10進法変換プログラム
	data =Math.abs(parseInt(data,16)-255);//-255と絶対値で色を反転させる
	if (data==0){
		data= "0" + data;//0の時は「NaN」と差別化をはかるため、「文字の0」を追加する。
	}
	return data;
}

function change16(data){//16進法変換プログラム
	data =parseInt(data,10).toString(16).toUpperCase();
	if (data.length<2){
		data= "0" + data
	}
	return data;
}
