﻿
 	   var returnUrl = window.location;
	   loginurl = "http://login.live.com/login.srf?wa=wsignin1.0&wp=MBI&wreply=http:%2F%2Fvideo.hk.msn.com%2Fwlid%2Fhandler.aspx%3Frurl%3D" + escape(returnUrl);
	   
		var appID = new String();
		appID = "cd4dff22bfbf495aa69b207f1f7f6782";
		
		var ucid;
		var userLoginStatus;
		var userNickName;
		var userMemberName;
		
		function loadJSON(url) 
		{  
			var headID = document.getElementsByTagName("head")[0];           
			var newScript = document.createElement('script');      
			newScript.type = 'text/javascript';      
			newScript.src = url;  
			headID.appendChild(newScript);
		}
		
		
		/*
		// public functions 
		this.isUserSignedIn = function()
		{
			var returnUrl = window.location;
			var proxy = "http://video.hk.msn.com/wlid/signin.aspx?rurl=" + escape(returnUrl);
			var xmlhttp=false; 
			try {
					xmlhttp = new ActiveXObject('Msxml2.XMLHTTP'); 
			} catch (e) {
					try {
							xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); 
					} catch (E) {
						xmlhttp = false;
				   }
			}
			if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
					xmlhttp = new XMLHttpRequest(); 
			}
				xmlhttp.open('GET', proxy , true); 
				xmlhttp.onreadystatechange=function() {
				if (xmlhttp.readyState==4) { 
					var content = xmlhttp.responseText; 
				}
			}
			xmlhttp.send(null);
			
			result = getNamedCookieValue("loginstatus");
			if (result == "TRUE")
			{
				return true;
			}
			else
			{
				return false;		
			}
		}
		*/
		
		function GetNickName()
		{
			if(userLoginStatus == true)
			{
				return userNickName;
			}
		}

		
		function AddFavorite(feed)
		{
			if(isGUID(feed))
			{
				if(userLoginStatus == true)
				{
					confirm('http://soapbox.msn.com/SoapboxService2.aspx?mn=addfavorite&appServiceId='+appID+'&videoId='+feed+'&clientAuth=1&responseEncoding=JSON&callbackName=AddFavorite');
					loadJSON('http://soapbox.msn.com/SoapboxService2.aspx?mn=addfavorite&appServiceId='+appID+'&videoId='+feed+'&clientAuth=1&responseEncoding=JSON&callbackName=AddFavorite');
				}
			}
			else
			{
				if(feed == "0")
				{
					alert("影片已經加到你的最愛！");
				}
			}
		}


		function RemoveFavorite(feed)
		{
			if(isGUID(feed))
			{
				ans = prompt("您將從您的最愛移除此影片 \n 是否要繼續？");
				if (ans == true)
				{			
					if( userLoginStatus == true)
					{
						loadJSON('http://soapbox.msn.com/SoapboxService2.aspx?mn=removefavorite&appServiceId='+appID+'&videoId='+feed+'&clientAuth=1&responseEncoding=JSON&callbackName=handle_RemoveFavorite');
					}
				}
			}
			else
			{
				if(feed == "0")
				{
					alert("影片已經從你的最愛中移除！");
				}
			}
		}


		function isGUID(str)
		{
			var re = /\w{8}-\w{4}-\w{4}-\w{4}-\w{12}/;
			return re.test(str);
		}		


		///  we need to perform another status check before doing this function because our site cannot indentify the user had logined to video.msn.com, 
		/// which will make a screen that our site showing login button while the uploader widget show the user had already login.
		function getUserLoginStatus(feed)
		{
			if(feed == "")
			{
				loadJSON('http://soapbox.msn.com/SoapboxService2.aspx?mn=GetCurrentUserInfo&appServiceID='+appID+'&clientAuth=1&responseEncoding=JSON&callbackName=getUserLoginStatus');
			}
			else
			{
				// statuscode = 0 means success  or statuscode = 2 means not signedin
				if(feed.StatusCode == "0")
				{
					userLoginStatus = true;
					ucid = feed.UserId;
					userNickName = feed.Nickname;
				}
				else
				{
					userLoginStatus = false;
					ucid = "";
					userNickName = "";				
				}
			}
		}
		
		function EmailVideo()  //args[0] = videoid , args[1] = sender , args[2] = to_email, args[3] = message;
		{
			var args = EmailVideo.arguments;
//			alert(args[0]);
			if(isGUID(args[0]))
			{
					if( userLoginStatus == true)
					{
						loadJSON('http://video.msn.com/SoapboxService2.aspx?mn=emailvideo&appServiceId='+appID+'&toEmailId='+args[2]+'&fromName='+args[1]+'&message='+args[3]+'&videoId='+args[0]+'&clientAuth=1&responseEncoding=JSON&callbackName=EmailVideo');
					}
			}
			else
			{
				if(args[0] == "0")
				{
					alert("電郵已經送出！");
				}
			}
			
//			http://video.msn.com/SoapboxService2.aspx?mn=emailvideo&appServiceId=aa4d4b2da66b429fb2936df0e0bc740b&toEmailId=user%40domain.com&fromName=User&message=Message statement goes here.&videoId=7db89a58-1e9a-4474-9999-5acb5c237dfd&clientAuth=1&responseEncoding=JSON&callbackName=handle_RemoveFavorite
			
		}
		
		
		function GetUserFavoriteList()
		{
			var args = GetUserFavoriteList.arguments;
			if (args.length == 0)
			{			
				if ((userLoginStatus == true) && (ucid != ""))
				{
					loadJSON('http://video.msn.com/SoapboxService2.aspx?mn=getuservideolistprivate&appServiceId='+appID+'&userCid='+ucid+'&isPrivate=true&rct=6&maxResults=40&videoType=0&offset=0&clientAuth=1&responseEncoding=json&callbackName=GetUserFavoriteList');
				}
			}
			else
			{
				totalVideo = args[0].TotalCount;
				
				if (args[0].TotalCount > 0)
				{
					var arr_v = args[0].VideoIds;
					sOutput = "";
					for(i=0;i<arr_v.length;i++)
					{
						sOutput += '<img src="http://img1.catalog.video.msn.com/image.aspx?uuid='+arr_v[i]+'&w=116&h=87">';
					}
					document.getElementById('flist').innerHTML = sOutput;
				}
			}
		}
		
		function PostComment()
		{
			var args = PostComment.arguments;
			if(isGUID(args[0]))
			{
				var videoid = args[0];
				var comment = args[1];
				if (userLoginStatus == true)
				{
					loadJSON('http://video.msn.com/SoapboxService2.aspx?mn=postcomment&appServiceId='+appID+'&videoId='+videoid+'&comment='+escape(comment)+'&maxResults=20&offset=0&clientAuth=1&responseEncoding=json&callbackName=PostComment');
				}
			}
			else
			{
				if (args[0].StatusCode == 0)
				{
					alert("你的回應已經送出！");
					document.getElementById('comment').value = "";
				}
				else
				{
					alert(args[0].StatusCode);
				}
			}
		}
		
		function DeleteComment()
		{
		

			var args = PostComment.arguments;
			if(isGUID(args[0]))
			{
				var videoid = args[0];
				var commentid = args[1];
				if (userLoginStatus == true)
				{
					loadJSON('http://video.msn.com/SoapboxService2.aspx?mn=deletecomment&appServiceId='+appID+'&commentId='+commentid+'&videoId='+videoid+'&maxResults=20&offset=0&clientAuth=1&responseEncoding=json&callbackName=DeleteComment');
				}
			}
			else
			{
				if (args[0].StatusCode == 0)
				{
					alert("comment had been deleted");
				}
			}
		}
		
		
		
		function FlagOffensive()
		{
			var args = FlagOffensive.arguments;
			if(isGUID(args[0]))
			{
				var videoid = args[0];
				var flagType = args[1];
				var comment = args[2];
				if (userLoginStatus == true)
				{
					loadJSON('http://video.msn.com/SoapboxService2.aspx?mn=flagoffensive&appServiceId='+appID+'&videoId='+videoid+'&flagType='+flagType+'&comment='+escape(comment)+'&clientAuth=1&responseEncoding=json&callbackName=FlagOffensive');
				}
			}
			else
			{
				if (args[0] == 0)
				{
					alert("你的檢舉已經送出！");
					reset_flagOffensive();						
				}
			}
		}

		function FlagOffensiveComment()
		{
			var args = FlagOffensiveComment.arguments;
			if(isGUID(args[0]))
			{
				var videoid = args[0];
				var commentid = args[1];
				if (userLoginStatus == true)
				{
					loadJSON('http://video.msn.com/SoapboxService2.aspx?mn=flagoffensivecomment&appServiceId='+appID+'&videoId='+videoid+'&commentId='+commentid+'&clientAuth=1&responseEncoding=json&callbackName=FlagOffensiveComment');
				}
			}
			else
			{
				if(args[0] == "0")
				{
					alert("你的檢舉已經送出！");
				}
			}
		}
		
		function SetVideoRating()
		{
			var args = SetVideoRating.arguments;
			if(isGUID(args[0]))
			{		
				var videoid = args[0];
				var rating = args[1];
				if (userLoginStatus == true)
				{			
					loadJSON('http://video.msn.com/SoapboxService2.aspx?mn=setvideorating&appServiceId='+appID+'&videoId='+videoid+'&value='+rating+'&clientAuth=1&responseEncoding=json&callbackName=SetVideoRating');
				}
				else
				{
					document.getElementById('dialogMessage').innerHTML = "您必須先登入，才能檢舉這回應。";
					$.blockUI({ message: $('#blockIt_message'),  css: { top: '40%', left: '35%'} }); 
				}
			}
			else
			{
				if (args[0].StatusCode == 0)
				{
					alert("你的評分已經送出！");
				}	
			}
		}
