var message = "";
var rssad_widget_swf = "http://rss.rssad.jp/img/feemo/widget.swf"; 
var rssad_feemo_swf = "http://rss.rssad.jp/img/feemo/feemo.swf"; 
var rssad_feemo_install_swf = "http://rss.rssad.jp/img/feemo/expressInstall.swf";

	function addUrlA() {
		// 記入による追加
		addUrl($("newUrl").value);
		$("newUrl").value="";

		previewWidget();
	};

	function addUrlB(url) {
		// 「おススメ」からの追加
		addUrl(url);

		previewWidget();
	};

	function addUrl(addUrlStr) {

		message = "";

		var olEle = $("urlsList");
		var urlsArray = olEle.getElementsByTagName("li");

		if (addUrlStr=="") {
			message = "URLを入力してください";
		}
		
		if (urlsArray.length>=5) {
			message = "登録できるURLは5個までです。";
			addUrlStr="";
		}

	    // 先頭が"feed://"であれば"http://"に変換する
	    if (addUrlStr.match(/^feed\:\/\//)) {
	        addUrlStr = addUrlStr.replace(/^feed/, "http");
	    }

		// 既に同じURLだった場合ははじく
		for(i=0; i<urlsArray.length; i++) {
			if (urlsArray[i].childNodes[0].value==addUrlStr) {
				message = "同じURLを登録することはできません。";
				addUrlStr="";
				break;
			}
		};

		if (addUrlStr) {
			// olリストに追加の要素を表示する
			var liEle = document.createElement("li");

			// input要素
			var urlEle = document.createElement("input");
			urlEle.setAttribute("type","text");
			urlEle.setAttribute("value",addUrlStr);
			urlEle.setAttribute("readonly","readonly");
			// 削除ボタンリンク
			var aEle = document.createElement("a");
			aEle.setAttribute("href","#");

			if (navigator.userAgent.toLowerCase().indexOf('msie') != -1) {
			    //IEではnew Function
				Event.observe(aEle, "click", function() {
					delUrl(aEle.parentNode);
					return false;
				});
			}
			else {
				aEle.setAttribute("onclick","delUrl(this.parentNode);return false;");
			}

			// 削除ボタン画像
			var imgEle = document.createElement("img");
			imgEle.setAttribute("src","/img/rss/feemo/feemoInputDelete.gif");
			imgEle.setAttribute("class","settingAction");
			imgEle.setAttribute("alt","削除");
			imgEle.setAttribute("width","44");
			imgEle.setAttribute("height","16");

			aEle.appendChild(imgEle);
			liEle.appendChild(urlEle);
			liEle.appendChild(aEle);
			olEle.appendChild(liEle);

		}

	};

	function delUrl(obj) {
		message = "";
		// olリストの選択されたli要素をまるごと消す
		obj.parentNode.removeChild(obj);
		previewWidget();
	};

	function setColor(cl){
		// 色の変更
		message = "";
		$("color").value = cl;
		$("colorPrv").value = cl;

		previewWidget();
	};

function previewWidget() {

	$("message").firstChild.nodeValue = window.message;

	// 現在登録済（リストに表示済み）URLを取得
	var olEle = $("urlsList");
	var urlsArray = olEle.getElementsByTagName("li");

	var urlsList = new Array();
	for(i=0; i<urlsArray.length; i++) {
		urlsList.push(urlsArray[i].firstChild.value);
		// textノードがある場合があるので、firstChildはまずい
	}

	// 表示タイプ
	var listType = 1;
	if ($("listType").checked == true) {
		listType = 0;
	}

	// 幅
	var width = $("width").value;
	// 幅 MIN
	if (width<160) {
		width = "160";
		$("width").value = "160";
	}
	// 幅 MAX
	if (width>=1000) {
		width = "999";
		$("width").value = "999";
	}
	// 幅 不正値
	if (width.match("[^0-9]+")) {
		width = "160";
		$("width").value = "160";
	}

	// 高さ
	var height = $("height").value;  
	// 高さ MIN
	if (height<300) {
		height = "300";
		$("height").value = "300";
	}
	// 高さ MAX
	if (height>=1000) {
		height = "999";
		$("height").value = "999";
	}
	// 高さ 不正値
	if (height.match("[^0-9]+")) {
		height = "300";
		$("height").value = "300";
	}

	// 今記入した色コード
	var cl = $("color").value;
	// 直前の色コード
	var clPrv = $("colorPrv").value;
	// チェック
	if (cl.match("^[a-fA-F0-9]+$") && (cl.length==3 || cl.length==6)) {
		if (cl.length==3) {
			var str = "";
			for (i=0; i<cl.length; i++) {
				str = str + cl.substring(i,i+1) + cl.substring(i,i+1);
			}
			cl = str;
			$("color").value = str;
		}
		$("colorPrv").value = cl;
	}
	else {
		// 条件に合わない場合は直前の色に戻す
		cl = clPrv;
	}

	var feemoVars = { 
		skinColor:"0x" + cl,
		skinType:"1",
		listType:listType,
		apiUrl:"",
		feedURL:urlsList.join("\,")
	};

	var params = {
		wmode:"transparent",
		allowScriptAccess:"always"
	};

	swfobject.embedSWF(
		rssad_widget_swf, 
		"myContent", 
		width, 
		height, 
		"9.0.0",
		rssad_feemo_install_swf, 
		feemoVars,
		params
	);

	// 色のデフォルトを設定している
	if (!cl) {
		cl = "000000"
	}
	var feemoTag = 
                '<div id="myContent"></div>' +
                '<script type="text/javascript" src="http://' +
                'rss.rssad.jp/js/feemo/swfobject.js">' +
                '</script><script>' +
                'var feemoVars = {' +
                'skinColor:0x' + cl +
                ',skinType:1' +
                ',listType:' + listType +
                ',apiUrl:""' +
                ',feedURL:"' + urlsList.join(',') + 
				'"};' + 
				'var params = {' + 
				'wmode:"transparent",' + 
				'allowScriptAccess:"always"' + 
				'};' + 
                'swfobject.embedSWF("' +
                rssad_feemo_swf +
                '","myContent",' +
                width + ',' +
                height + ',' +
                '"9.0.0","' +
                rssad_feemo_install_swf + '",' +
                'feemoVars,' + 
				'params' + ');' +
                '</script>';


	$("feemoTag").value = feemoTag;

    return;
};

function AutoScroll(id, i) {
    var el = $(id);
    var initTop;
    var interval = i;

    function setting()
    {
        el = $(id);
        el.style.position = 'absolute';
        initTop = el.offsetTop;
        //  
        try {
            window.addEventListener('scroll', scrollEvent, false);
        } catch (e) {
            window.attachEvent('onscroll',scrollEvent);
        }
    }
    function scrollEvent()
    {
        var myInt = setInterval(function()
            {
                var cur = (document.body.scrollTop||document.documentElement.scrollTop)+50;
                var myTop = el.offsetTop;
                var d = cur-myTop;
                if(Math.abs(d)>1) {
                    if( cur >= initTop ) {
                        var y = myTop + d/3;
                        el.style.top = y+"px";
                    } else {
                        el.style.top = initTop+"px";
                        clearInterval(myInt);
                    }
                } else {
                    el.style.top = cur+"px";
                    clearInterval(myInt);
                }
            },interval);
    }
    try {
        window.addEventListener('load', setting, false);
    } catch (e) {
        window.attachEvent('onload', setting);
    }
}

function checkTos(){
    if(document.getElementById('tosCheck').checked == true) {
        document.getElementById('feemoTag').disabled = false;
    } else if(document.getElementById('tosCheck').checked == false) {
        document.getElementById('feemoTag').disabled = true;
    }
}
function errorMessage(error){
    
	var olEle = $("urlsList");
	var urlsArray = olEle.getElementsByTagName("li");

    if (urlsArray.length > 0) {
	    olEle.removeChild(urlsArray[urlsArray.length-1]);

	    message = error;
	    $("message").firstChild.nodeValue = window.message;
    }
    return false;
}

var scroller = new AutoScroll('floating',100);

try {
    window.addEventListener('load', previewWidget, false);
} catch (e) {
    window.attachEvent('onload', previewWidget);  
}

