function CheckSpecialChar(str,field_name)
{
    if(navigator.userAgent.indexOf("Windows")>-1){
		if (navigator.userAgent.indexOf("MSIE")>-1 || navigator.appName.indexOf("Netscape")>-1){
			resu = CheckSpecialCharWin(str);
			if (resu != true){
				if (navigator.userAgent.indexOf("MSIE")>-1 || navigator.userAgent.indexOf("Netscape/7")>-1){
					alert(field_name+"¤Ëµ¡¼ï°ÍÂ¸Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤Þ¤¹¡£["+resu+"]");
				} else {
					alert(field_name+"¤Ëµ¡¼ï°ÍÂ¸Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤Þ¤¹¡£");
				}
				return false;
			} else {
				return true;
			}
		} else {
			return true;
		}
	} else {
	    if(navigator.userAgent.indexOf("Mac")>-1 && navigator.userAgent.indexOf("MSIE")>-1){
			resu = CheckSpecialCharMac(str);
			if (resu != true){
				alert(field_name+"¤Ëµ¡¼ï°ÍÂ¸Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤Þ¤¹¡£");
				return false;
			} else {
				return true;
			}
		} else {
			return true;
		}
	}
}

function CheckSpecialCharWin(str)
{

	if(navigator.appName.indexOf("Netscape")>-1 && navigator.appVersion.substr(0,1)>4){
		specialstr = "%AD%E2,%AD%E3,%AD%E4,%AD%E5,%AD%E6,%AD%E7,%AD%E8,%AD%E9,%AD%EA,%AD%EB,%AD%EC,%AD%ED,%AD%EE,%AD%EF,%AD%DF,%AD%C0,%AD%D0,%AD%D1,%AD%D2,%AD%D3,%AD%D4,%AD%D5,%AD%C0,%AD%C1,%AD%C2,%AD%C3,%AD%C4,%AD%C5,%AD%C6,%AD%C7,%AD%C8,%AD%C9,%AD%CA,%AD%CB,%AD%CC,%AD%CD,%AD%CE,%AD%CF";
		specialstr += "%AD%A1,%AD%A2,%AD%A3,%AD%A4,%AD%A5,%AD%A6,%AD%A7,%AD%A8,%AD%A9,%AD%AA,%AD%AB,%AD%AC,%AD%AD,%AD%AE,%AD%AF,%AD%B0,%AD%B1,%AD%B2,%AD%B3,%AD%B4,%AD%B5,%AD%B6,%AD%B7,%AD%B8,%AD%B9,%AD%BA,%AD%BB,%AD%BC,%AD%BD,%AD%BE";

		for (i=0;i<str.length;i++){
			thischar = escape(str.substr(i,1));
			if (thischar.length != 6){
				continue;
			}
			if(specialstr.indexOf(thischar)>-1){
				return str.substr(i,1);
			}
		}
	} else {
		if(navigator.appName.indexOf("Netscape")>-1) {
			
			specialchars = new Array("­ê");
			
			for (i=0;i<str.length;i++){
				for (j=0; j<specialchars.length;j++) {
					if(str.substr(i,1)==specialchars[j]) {
						return specialchars[j];
					}
				}
			}

		} else {
			specialstr = "%u2116%u33CD%u2121%u32A4%u32A5%u32A6%u32A7%u32A8%u3231%u3232%u3239%u337E%u337D%u337C%u337B%u3349%u339C%u339D%u339E%u338E%u338F%u33C4%u3349%u3314%u3322%u334D%u3318%u3327%u3303%u3336%u3351%u3357%u330D%u3326%u3323%u332B%u334A%u333B%u2460%u2461%u2462%u2463%u2464%u2465%u2466%u2467%u2468%u2469%u246A%u246B%u246C%u246D%u246E%u246F%u2470%u2471%u2472%u2473%u2160%u2161%u2162%u2163%u2164%u2165%u2166%u2167%u2168%u2169";
			
			for (i=0;i<str.length;i++){
				thischar = escape(str.substr(i,1));
				if (thischar.length != 6){
					continue;
				}
				if(specialstr.indexOf(thischar)>-1){
					return str.substr(i,1);
				}
			}
		}
	}
	return true;
}

function CheckSpecialCharMac(str)
{
	specialstr = "%uF860%uF861%uF862%uF87E";
	specialstr += "%u2664%u2667%u2661%u2662%u2660%u2663%u2665%u2666%u3020%u260E%u3004";
	specialstr += "%u301D%u301F";
	specialstr += "%u21E8%u21E6%u21E7%u21E9%u21E8%uF87A%u21E6%uF87A%u21E7%uF87A%u21E9%uF87A%u261E%u261C%u261D%u261F%u21C6%u21C4%u21C5";
	specialstr += "%u2116%u33CD%u2121%u3230%u322A%u322B%u322C%u322D%u322E%u322F%u3240%u3237%u3242%u3243%u3239%u323A%u3231%u323E%u3234%u3232%u323B%u3236%u3233%u3235%u323C%u323D%u323F%u3238%u32A5%u32A4%u32A6%u32A7%u32A8%u32A9%u3296%u329D%u3298%u329E%u3299%u3300%u331E%u332A%u3331%u3347%u337E%u337D%u337C%u337B%u337F";
	specialstr += "%u339C%u339F%u339D%u33A0%u33A4%uF87F%u33A1%u33A5%u339E%u33A2%u338E%uF87F%u338F%u33C4%u3396%u3397%u2113%u3398%u33B3%u33B2%u33B1%u33B0%u2109%u33D4%u33CB%u3390%u3385%u3386%u3387%u3349%u3322%u334D%u3314%u3316%u3305%u3333%u334E%u3303%u3336%u3318%u3315%u3327%u3351%u334A%u3339%u3357%u330D%u3342%u3323%u3326%u333B%u332B";
	specialstr += "%u222E%u221F%u22BF";
	specialstr += "%u2460%u2461%u2462%u2463%u2464%u2465%u2466%u2467%u2468%u2469%u246A%u246B%u246C%u246D%u246E%u246F%u2470%u2471%u2472%u2473%u2474%u2475%u2476%u2477%u2478%u2479%u247A%u247B%u247C%u247D%u247E%u247F%u2480%u2481%u2482%u2483%u2484%u2485%u2486%u2487%u2776%u2777%u2778%u2779%u277A%u277B%u277C%u277D%u277E%u2488%u2489%u248A%u248B%u248C%u248D%u248E%u248F%u2490";
	specialstr += "%uFE30%uFE33%uFE31%uFE35%uFE39%uFE37%uFE3F%uFE3D%uFE41%uFE43%uFE3B%uFE36%uFE3A%uFE38%uFE40%uFE3E%uFE42%uFE44%uFE3C";
	specialstr += "%u2160%u2161%u2162%u2163%u2164%u2165%u2166%u2167%u2168%u2169%u216A%u216B%u2170%u2171%u2172%u2173%u2174%u2175%u2176%u2177%u2178%u2179%u217A%u217B";
	specialstr += "%u3094%u30F7%u30F8%u30F9%u30FA";
	
	for (i=0;i<str.length;i++){
		thischar = escape(str.substr(i,1));
		if (thischar.length != 6 || thischar.substr(0,2) != "%u"){
		    continue;
		}
		if(specialstr.indexOf(thischar)>-1){
			return false;
		}
	}
	return true;
}