//css
$('head').append('<link type="text/css" rel="stylesheet" href="http://game.pxtx.com/pet/css/pop.css" />');
$('body').append('<div id="play_pet" style="position:absolute;top:200px; left:800px;"></div>');//宠物外层
var isfirefox=$.browser.msie ? '':'_firefox';
//拖动
jQuery.fn.drag = function(){
	return this.each(function(){
		var draging = false;
		var startLeft,startTop;
		var startX,startY;
		
		//$(this).css('cursor','move');
		$(this).mousedown(function(event){
			var offset = $(this).offset();
			startLeft = offset.left;
			startTop = offset.top;
			startX = event.clientX;
			startY = event.clientY;
			draging = true;
		}).mousemove(function(event){
			if (draging == false)return;
			var deltaX = event.clientX - startX;
			var deltaY = event.clientY - startY;
			var left = startLeft + deltaX;
			var top = startTop + deltaY;
			$(this).css('left',left+'px').css('top',top+'px');
		}).mouseup(function(event){
			draging = false;
		});
	});
};

//宠物实例
var pet={
};

//宠物状态更新
pet.refresh = function()
{
    var time = new Date;
    $.post('/pet.php/pet/refresh', {'ts':time.getTime(),'play_pet_id':_pet_id},function(data){
        //刷新宠物信息
		pet.updatePet(data);
    });
}



//刷新宠物信息
pet.updatePet = function(pet_data)
{    
	var _pet = eval('(' + pet_data + ')');	
	if (parseInt(_pet.id)!=_pet_id) {return;}
	for (var key in _pet) {
		$('#main_content .'+key).html(_pet[key]);
		$('#play_pet .'+key).html(_pet[key]);
		if (key=='task_id') {
		    if (_pet[key]) {
			    $('.task_pic').show();
			} else {
			    $('.task_pic').hide();
			}
		}
	}
	
	var _play_pet_flash = $($('#play_pet_flash'+isfirefox)[0]);
	var params = "/pet/swf/SinglePet.swf?status="+_pet['status']+"&species="+_pet['species']+"&type="+_pet['type']+"&joy=1";
	if (isfirefox) {
	    if (_play_pet_flash.attr('src')!=params) {
		    _play_pet_flash.attr('src', params);
		}
	} else {
	    if (_play_pet_flash.attr('movie')!=params) {
		    _play_pet_flash.attr('movie', params);
		}
	}
	//alert($($('#play_pet_flash'+isfirefox)[0]).attr('movie'));

	//小宠物更新
	setTimeout("pet.petDo('"+_pet['status']+"','"+_pet['owner_name']+"')",1000);
	//pet.petDo(_pet['status'], _pet['owner_name']);

	//自己的笼子
	var _house_flash_params = "cage_style="+_pet['cage_style']+"&status="+_pet['status']+"&species="+_pet['species']+"&type="+_pet['type']+"&temper="+_pet['temper'];
	setTimeout("pet.refreshCage('"+_house_flash_params+"')",1000);
}

//更新房间宠物
pet.refreshCage = function(cage_params)
{
    var cage_id = $('#cage_id').val();	
	if (!cage_id) return;
    if ($('#house_flash'+isfirefox).length!=0) {
	    if (typeof($('#house_flash'+isfirefox)[0].refresh)=='undefined') return;
	    $('#house_flash'+isfirefox)[0].refresh(cage_params);	
	}
}



//宠物动作
pet.petDo = function(action, owner_name, param)
{
    var _action = action;
	if (action=='recover'||action=='reborn'||action=='clean') {
	    _action = 'wait';
	}
    if ($('#play_pet').css('display')=='none') return;
    if ($('#play_pet_flash'+isfirefox).length==0) return;
	var _play_pet = $('#play_pet_flash'+isfirefox)[0];
	if (typeof(_play_pet.interrupt)!='undefined') {
	    if (action=='eat') {
	        param = parseInt(param);
		    if (param<=0) return;
		    _play_pet.setFood(param);
	    }
	    _play_pet.interrupt(_action);
	}	
	if (action=='eat'||action=='ready'||action=='recover'||action=='reborn'||action=='clean') {
	    pet.refreshPet(_pet_id);
	}
	setTimeout("pet.petSay('"+action+"','"+owner_name+"')",3000);
}

var _time = 1;

//宠物说话
pet.petSay = function(action, owner_name)
{
    _time += 1;
    if ($('#play_pet').css('display')=='none') return;
	if (action=='wait'&&_time%3!=0) return; 
	//宠物语言
	//"wait","eat","ill","win","lose","die","joy1","joy2","joy3","ready"
	var msg_list= {
		'eat':['谢谢XXX让我吃得饱饱的','跟着XXX真是我的福气','XXX这是我最喜欢吃的东西'],
		'ready':['XXX, 我会努力的, 任务完成后记得犒劳我哦!','XXX，我去执行任务了，不过在接下来的一段时间我就不能干其他活了'],
		'ill':['XXX, 我生病了','XXX, 我不舒服，快去找医生看一看吧~'],
		'win':['XXX我在竞技场战斗中获得了胜利','XXX我战斗力还有待提高','XXX我们继续加油吧'],
		'lose':['XXX, 我输了!'],
		'die':['XXX, 我死了，快去商场购买还魂丹让我复活吧~！'],
		'recover':['XXX, 经过医生的治疗，我康复了~！'],
		'reborn':['XXX, 我又活过来了~！'],
		'clean':['XXX, 打扫的干干净净，真爽~！'],
		'wait':['XXX，我今天好开心，你开心吗？','XXX，你对我真好，我这一辈子都跟着你！','XXX，我从来不挑食，可是你给我买点好吃的我会更高兴的！','XXX，我看起来是不是很棒啊！','XXX，我的朋友们都羡慕我有一个好主人！']
    };
	var msgs = msg_list[action];
	var msg = msgs[Math.floor(Math.random()*msgs.length)];
	msg = msg.replace("XXX", owner_name);
	$('#play_pet_flash_msg').html(msg);
	$('#play_pet_flash_msg_div').show();
    setTimeout("$('#play_pet_flash_msg_div').fadeOut('slow');",5000);
}

//更新宠物
pet.refreshPet = function(pet_id)
{
    var params = {'pet_id':pet_id};
	$.post("/pet.php/pet/refreshpet", params, function(pet_data){
	    var _pet = eval('(' + pet_data + ')');	
	    //if (_pet.length==0) {return;}
	    for (var key in _pet) {
		    $('#play_pet .'+key).html(_pet[key]);
			if (key=='task_id') {
		    if (_pet[key]) {
			    $('.task_pic').show();
			} else {
			    $('.task_pic').hide();
			}
		}
	    }
		var _play_pet_flash = $($('#play_pet_flash'+isfirefox)[0]);
	var params = "/pet/swf/SinglePet.swf?status="+_pet['status']+"&species="+_pet['species']+"&type="+_pet['type']+"&joy=1";
	if (isfirefox) {
	    if (_play_pet_flash.attr('src')!=params) {
		    _play_pet_flash.attr('src', params);
		}
	} else {
	    if (_play_pet_flash.attr('movie')!=params) {
		    _play_pet_flash.attr('movie', params);
		}
	}
	});    
}

//更换主宠物
pet.changePlayPet = function(pet_id)
{
    var params = {'pet_id':pet_id};
	$.post("/pet.php/pet/changeplaypet", params, function(data){
		$("#play_pet").html(data);
	});    
}

//隐藏显示宠物
pet.toggleFlashPet = function(obj)
{
    if ($('#popfc').css('display')=='block') {
		$('#popfc').hide();
		$(obj).attr('title', '显示宠物');
		$("#play_pet").unbind('mousemove');
	} else {
		$('#popfc').show();
		$('#play_pet_flash_msg_div').hide();
		$(obj).attr('title', '隐藏宠物');
		$("#play_pet").drag();
	}
}
$(function(){
    //$('.nav li a').click(function(){pet.changeMenu($(this).attr('class'));});
    //pet.changeMenu('house');
    //setInterval(pet.refresh, 60000);
	$.getJSON("http://game.pxtx.com/pet.php/pet/petflash?callback=?", function(data){
	    if (data.res) {
		    $('#play_pet').html(data.res);
		    $("#play_pet").drag();
		    $('.barW').mouseover(function(){$(this).children(".num").show();}).mouseout(function(){$(this).children(".num").hide();});
		}
	});
});
