// JavaScript Document
YAHOO.namespace('phplink');
var leftWidth = 300;
var rightWidth = 500;

function openFormBox(id){
	var elem_target = document.getElementById('button_inner');
	elem_target.innerHTML = '<a href="#">Add Link</a>';
	var formAnime = new YAHOO.util.Anim(
		id,
		{height:{from:10,to:100},width:{from:10,to:leftWidth}},
		1,
		YAHOO.util.Easing.backBoth
	);
	
	var formAnime2 = new YAHOO.util.Anim(
		'postForm',
		{opacity:{ from:0,to:1}},
		1,
		YAHOO.util.Easing.easeBoth
	);

	var formAnime3 = new YAHOO.util.Anim(
		'button_inner',
		{opacity:{ from:1,to:0}},
		1,
		YAHOO.util.Easing.easeBoth
	);
	
	var formAnime4 = new YAHOO.util.Anim(
		'button_inner',
		{opacity:{ from:0,to:1}},
		1,
		YAHOO.util.Easing.easeBoth
	);
	formAnime3.animate();
	formAnime.onComplete.subscribe(function (){
		formAnime2.animate();
    });

	formAnime2.onTween.subscribe(function(){
		var elem_target = document.getElementById('postForm');
		elem_target.style.display = 'block';
	});
	
	formAnime3.onComplete.subscribe(function(){
		var elem_target = document.getElementById('button_inner');
		elem_target.innerHTML = '<a href="javascript:closeFormBox(\'postFormBg\');">Close</a>';
		formAnime4.animate();
	});
	
	formAnime.animate();
}

function closeFormBox(id){
	var elem_target = document.getElementById('button_inner');
	elem_target.innerHTML = '<a href="#">Close</a>';
	var formAnime = new YAHOO.util.Anim(
		'postForm',
		{opacity:{ from:1,to:0}},
		1,
		YAHOO.util.Easing.easeBoth
	);
	
	var formAnime2 = new YAHOO.util.Anim(
		id,
		{width:{from:leftWidth,to:0},height:{from:100,to:0}},
		1,
		YAHOO.util.Easing.backBoth
	);
	
	var formAnime3 = new YAHOO.util.Anim(
		'button_inner',
		{opacity:{from:1,to:0}},
		1,
		YAHOO.util.Easing.easeBoth
	);
	
	var formAnime4 = new YAHOO.util.Anim(
		'button_inner',
		{opacity:{from:0,to:1}},
		1,
		YAHOO.util.Easing.easeBoth
	);
	
	formAnime.onComplete.subscribe(function(){
		var elem_target = document.getElementById('postForm');
		elem_target.style.display = 'none';
		formAnime2.animate();
	});
	
	formAnime3.onComplete.subscribe(function(){
		var elem_target = document.getElementById('button_inner');
		elem_target.innerHTML = '<a href="javascript:openFormBox(\'postFormBg\');">Add Link</a>';
		formAnime4.animate();
	});
	
	formAnime.animate();
	formAnime3.animate();
}

function onemore(){
	document.getElementById('more').innerHTML = '<a href="#">one more</a>';
	var formAnime = new YAHOO.util.Anim(
		'postForm',
		{opacity:{ from:1,to:0}},
		1,
		YAHOO.util.Easing.easeBoth
	);
	
	var formAnime2 = new YAHOO.util.Anim(
		'postForm',
		{opacity:{ from:0,to:1}},
		1,
		YAHOO.util.Easing.easeBoth
	);
	
	formAnime.animate();
	
	formAnime.onComplete.subscribe(function(){
		addLinkForm();
		formAnime2.animate();
	});
}

//初期化
YAHOO.phplink.init = function() {   
   var atrr = {
      color: {from:'#ffffff',to:'#969696'},
      backgroundColor: {from:'#FF0000',to:'#FFFFFF'}
   };
   YAHOO.phplink.anim=new YAHOO.util.ColorAnim('addLinks',atrr,3);
};

YAHOO.util.Event.onAvailable('addLinks',YAHOO.phplink.init);

var handleSuccess = function(o){
	if(o.responseText !== undefined){
		var elem_target = document.getElementById('postForm');
		if(o.responseText == 'error'){
			elem_target.innerHTML = '';
			elem_target.innerHTML += '<div id="thanks"><img src="./image/error.gif" /></div>';
			elem_target.innerHTML += '<div id="more"><a href="javascript:onemore();">one more</a></div>';
		}else if(o.responseText == 'repetition'){
			elem_target.innerHTML = '';
			elem_target.innerHTML += '<div id="thanks"><img src="./image/repe.gif" /><br /><span>URLが重複しています。</span></div>';
			elem_target.innerHTML += '<div id="more"><a href="javascript:onemore();">one more</a></div>';
		}else if(o.responseText == ''){
			elem_target.innerHTML = '';
			elem_target.innerHTML += '<div id="thanks"><img src="./image/thanks.gif" /></div>';
			elem_target.innerHTML += '<div id="more"><a href="javascript:location.reload();">one more</a></div>';
			var elem_target2 = document.getElementById('addLinks');
			elem_target2.innerHTML += '<h2><a href="'+addedSiteUrl+'" title="'+addedSiteName+'" target="_blank">'+addedSiteName+'</a><h2>';
			dd = new Date();
			dd.setTime(addedTime);
			year = dd.getYear();
    		if (year < 2000) year += 1900;
    		mon = dd.getMonth() + 1;
			if(mon < 10) mon = '0'+mon;
		    day = dd.getDate();
			if(day < 10) day = '0'+day;
			hour = dd.getHours();
			if(hour < 10) hour = '0'+hour;
			minutes = dd.getMinutes();
			if(minutes < 10) minutes = '0'+minutes;
			seconds = dd.getSeconds();
			if(seconds < 10) seconds = '0'+seconds;
			elem_target2.innerHTML += '<div class="adddate">'+year+'/'+mon+'/'+day+' '+hour+':'+minutes+'</div>';
			var preNum = document.getElementById('num').innerHTML;
			preNum = parseInt(preNum);
			preNum += 1;
			document.getElementById('num').innerHTML = preNum;
			YAHOO.phplink.anim.animate();
		}else{
			alert(o.responseText);
		}
	}
};

var handleFailure = function(o){
	if(o.responseText !== undefined){
		alert('Error!');
	}
};

var callback =
{
  success:handleSuccess,
  failure:handleFailure
};

var postUrl = './sys/post.php';


var addedSiteName = '';
var addedSiteUrl = '';
var addedTime = '';


YAHOO.phplink.doLoad = function(){
	var flg = 0;
	var siteurl = document.getElementById('siteurl').value;
	if(siteurl.match(/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/)){
		addedSiteName = document.getElementById('sitename').value;
		addedSiteUrl = document.getElementById('siteurl').value;
		addedDateOb = new Date;
		addedTime = addedDateOb.getTime();
		var postData = 'siteurl='+addedSiteUrl+'&sitename='+addedSiteName;
		document.getElementById('postForm').innerHTML = '<div style="text-align:center; padding:30px 0 0 0;"><img src="./image/loading.gif" /></div>';
		YAHOO.util.Connect.asyncRequest('POST',postUrl,callback,postData);
	}else{
		document.getElementById('siteurl').style.color = "#CC0000";
		document.getElementById('siteurl').value = 'URLが不正です。';
	}
}

