﻿/// <reference path="jquery-1.3.2-vsdoc.js" />

jQuery(function() {

	$("#video_btm a").click(function() {
		var id;
		if ($(this).is("#send_to_friend"))
			id = "friend";
		else if ($(this).is("#social_bookmark"))
			id = "social_bm";
		else if ($(this).is("#permalink"))
			id = "link";
		$("div.share#" + id).slideToggle();
		$("div.share:not(#" + id + ")").slideUp();
	});

	$("#link_url").click(function() { $(this).select(); });

	$("#subscribe_link").click(function() {
		$(this).fadeOut().next().fadeIn();
		$("#subscribe_form input").focus();
	});

	$("#subscribe_form input").keypress(function(e) { if ((e.which == 13 || e.keyCode == 13) && $(this).val() != "") { submitSubscription(); return false; } });

	$("#subscribe_form a").click(function(e) { submitSubscription(); });

	$("#friend #btn_gonder").click(function(e) { submitSendToFriend(); });

});


$.ajaxSetup({
	type: "POST",
	contentType: "application/json; charset=utf-8",
	dataType: "json"
});


function trim(str) {
	return str.replace(/^\s+|\s+$/g, '');
}

function validateEmail(str) {
	return str.match(/^[_A-Za-z0-9](([\.\-]?[_a-zA-Z0-9\+]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/);
}


function errorSubscription(msg) {

	$("#subscribe_form #btn_gonder2-disabled").hide();
	$("#subscribe_form #btn_gonder2").show();
	
	$("#subscribe_form").hide().next().show();

	$("#subscribe_msg span").attr("class", "error");
	$("#subscribe_msg span").html(msg);
	$("#subscribe_msg span").append("<br /><br /><a href='javascript:;'>Tekrar dene</a>");
	$("#subscribe_msg a").focus().click(function() {
		$("#subscribe_msg").hide().prev().show();
		$("#subscribe_form input").focus();
	});

}

function submitSubscription() {

	if (trim($("#gunluk_eposta").val()).length == 0) {
		errorSubscription("E-posta adresi olmadan kayıt olmak zor.");
	}
	else if (!validateEmail($("#gunluk_eposta").val())) {
		errorSubscription("Var mı böyle bir e-posta adresi?");
	}
	else {

		$("#subscribe_form #btn_gonder2").hide();
		$("#subscribe_form #btn_gonder2-disabled").show();

		$.ajax({
			data: "{ 'email':'" + trim($("#gunluk_eposta").val()) + "' }",
			url: "/AjaxServices.asmx/Subscribe",
			success: function(msg) {
				if (msg.d.Success) {
					$("#subscribe_form #btn_gonder2-disabled").hide();
					$("#subscribe_form #btn_gonder2").show();
					
					$("#subscribe_form").hide().next().show();
					$("#subscribe_msg span").attr("class", "success");
					$("#subscribe_msg span").html("Vira Viral'in günlük e-posta grubuna hoş geldin. Yarın görüşürüz.");
					$("#subscribe_msg span").append("<br /><br /><a href='javascript:;'>Başka adresimi de ekleyeyim.</a>");

					$("#subscribe_msg a").focus().click(function() {
						$("#subscribe_msg").hide();
						$("#subscribe_form").show();
						$("#subscribe_form input").val("").focus();
					});
				}
				else {
					errorSubscription(msg.d.ErrorMessage);
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
				errorSubscription(XMLHttpRequest.responseText + " / " + textStatus + " / " + errorThrown);
			}
		});
	}
}


function errorSendToFriend(msg) {
	$("#friend .error").append(msg + "<br />");
	$("#friend .error").show();
	$("#friend .success").hide();
	$("#friend #btn_gonder-disabled").hide();
	$("#friend #btn_gonder").show();
}

function submitSendToFriend() {

	$("#friend .error").html("");
	$("#friend .success").html("");
	$("#friend #btn_gonder-disabled").show();
	$("#friend #btn_gonder").hide();

	if (trim($("#friend #name").val()).length == 0 || trim($("#friend #email").val()).length == 0 || trim($("#friend #emails").val()).length == 0) {
		errorSendToFriend("Tüm alanları eksiksiz doldurduğundan emin misin?");
	}

	var emails = $("#friend #emails").val().split(",");
	emails.push($("#friend #email").val());
	$.each(emails, function(i, val) {
		if (!validateEmail(trim(val))) {
			errorSendToFriend("E-posta adresleri geçerli olmalı.");
			return false;
		}
	});
	emails.pop();

	if ($("#friend .error").html() == "") {
	    var subscribe = $("#friend #subscribe:checked").val() != null;
	    $.ajax({
	    	data: "{ 'videoId':" + $("#videoid").val() + ", 'name':'" + trim($("#friend #name").val()) + "', 'email':'" + trim($("#friend #email").val()) + "', 'emails':'" + $("#friend #emails").val() + "', 'subscribe':" + subscribe + " }",
	    	url: "/AjaxServices.asmx/SendToFriend",
	    	success: function(msg) {
	    		if (msg.d.Success) {
	    			$("#friend .success").append("İşlem tamam, gönderdiğin videoyu arkadaşlarının izlemesi an meselesi.");
	    			if (msg.d.Subscription == 1)
	    				$("#friend .success").append("<br />Bu arada sen de Vira Viral'in günlük e-posta grubuna hoş geldin. Yarın görüşürüz.");
	    			else if (msg.d.Subscription == 2)
	    				$("#friend .success").append("<br />Bu arada Vira Viral'in günlük e-posta grubuna zaten kayıtlı görünüyorsun. Yoğun ilgine teşekkür ederiz.");
	    			$("#friend .success").show();
	    			$("#friend .error").hide();
	    			$("#friend #btn_gonder-disabled").hide();
	    			$("#friend #btn_gonder").show();
	    		}
	    		else {
	    			errorSendToFriend(msg.d.ErrorMessage);
	    		}
	    	},
	    	error: function(XMLHttpRequest, textStatus, errorThrown) {
	    		errorSendToFriend(XMLHttpRequest.responseText + "<hr />" + textStatus + "<hr />" + errorThrown);
	    	}
	    });
	}
}


function submitRating(id) {

	$("#btn_aferin").hide();
	$("#btn_aferin-loading").show();

	$.ajax({
		data: "{ 'videoId':" + id + " }",
		url: "/AjaxServices.asmx/Rate",
		success: function(msg) {
			$("#btn_aferin-loading").hide();
			$("#btn_aferin-disabled").show();
			$("#aferin_sayac").html(msg.d.Score).removeClass("sIFR-replaced");
			sIFR.replace(fc_brk, {
				selector: 'div#aferin_sayac',
				css: ['.sIFR-root { color: #ece9e8; font-size: 18px; text-align: center; letter-spacing: 1; }'],
				offsetLeft: 2,
				wmode: 'transparent'
			});
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			$("#btn_aferin").show();
			$("#btn_aferin-loading").hide();
		}
	});
}
