var kart_aktivasyon_ver = 8484786984;
var codeMP = null;
var pinMP = null;
var codeUM = null;
var pinUM = null;
var name_surname = null;
var in_session = false;
var cardCaptchaId;
var step0Enabled = true;
var step1Enabled = true;

function startupSequence() {
	if (isSwfInserted()) {
		flashLoaded();
	}
	else {
		interval = setInterval("checkSwf('flashLoaded()')", 100);
	}
}

function isSwfInserted() {
	if (getMovie != undefined) {
		var fl = getMovie("flashcontent");
		if (fl != undefined) {
			if (fl.sendData != undefined) {
				return true;
			}
		}
	}

	return false;
}

function checkSwf(functionName) {
	if (isSwfInserted()) {
		clearInterval(interval);
		eval(functionName);
	}
}

function flashLoaded() {

	getAuthenticatedUserFlash("getauthenticateduser", "gotAuthenticatedUserFlash");
}

function gotAuthenticatedUserFlash(data) {
	var array = data.split("!");
	if (array[0] == "message") {
		var messageCode = array[1];
		handleMessageCode(messageCode);
	}
	else if (array[0] == "data") {
		var xml = array[1];

		if (window.ActiveXObject) {
			var xmlText = xml;
			xml = new ActiveXObject("Microsoft.XMLDOM");
			xml.async = "false";
			xml.loadXML(xmlText);
		}

		in_session = $(xml).find("is_authenticated").text() == "true";
		if (in_session) {
			name_surname = $(xml).find("name_surname").text();
		}
	}
	
	//<KARTLOGIN>
	$("#captchaContainerCardWrapper").css("display", "block");
	setCardCaptcha();
	//</KARTLOGIN>

	if (name_surname == null) {
//		setCardCaptcha();
//		$("#captchaContainerCardWrapper").css("display", "block");
	}
	else {
		$("#cancelCardContainer").css("display", "block");
		$("#cardValidationGreeting").html("Merhaba " + name_surname + ", <br /><br />");
	}
}


jQuery(function() {

	jQuery.validator.addMethod("adslnumber",
			function(value, element) {
				return value.length == 10;
			}, "");

	jQuery.validator.addMethod("cardcodeval",
			function(value, element) {
				return value.match(/\d\d\d\d\s\d\d\d\d\s\d\d\d\d/);
			}, "");

	jQuery.validator.addMethod("cardpinval",
			function(value, element) {
				return value.match(/\d\d\d\d/);
			}, "");

	jQuery.validator.addMethod("validadslnumner",
		function(value, element) {
			return value.charAt(0) == '1' && value.charAt(1) == '8';
		}, "");

	var validatorc = $("#formCardValidation").validate({
		rules: {
			cardcode: {
				required: true,
				cardcodeval: true
			},
			cardpin: {
				required: true,
				cardpinval: true
			},
			//<KARTLOGIN>
			//cardCaptcha: { required: function(element) { return !in_session; } }
			cardCaptcha: { required: true }
		},
		messages: {
			cardcode: {
				required: "Lütfen kart numaranızı girin.",
				cardcode: "Kart numaranız 12 rakam olmalıdır."
			},
			cardpin: {
				required: "Lütfen aktivasyon kodunuzu girin.",
				cardcode: "Aktivasyon kodunuz 4 rakam olmalıdır."
			},
			cardCaptcha: { required: "Girdiğiniz rakamlar, aşağıdaki resim ile eşleşmedi. Lütfen tekrar deneyin." }
		},
		errorPlacement: function(error, element) {
			error.appendTo(element.parent().next());
		},
		submitHandler: function() {
			validateCard();
		},
		success: function(label) {
			label.html("&nbsp;").addClass("checked");
		}
	});



	var validator = $("#formAdslLogin").validate({
		rules: {
			adslNumber: {
				required: true,
				adslnumber: true,
				validadslnumner: true
			},
			adlsUsername: { required: true },
			adslPassword: { required: true }
		},
		messages: {
			adslNumber: {
				required: "Lütfen TTNET Hizmet Numaranızı girin.",
				adslnumber: "TTNET Hizmet Numarası 10 rakam olmalıdır.",
				validadslnumner: "Girilen TTNET Hizmet Numarası hatalıdır."
			},
			adlsUsername: { required: "Lütfen TTNET Kullanıcı Adınızı girin." },
			adslPassword: { required: "Lütfen TTNET Şifrenizi girin." }
		},
		errorPlacement: function(error, element) {
			error.appendTo(element.parent().next());
		},
		submitHandler: function() {
			adslLogin();
		},
		success: function(label) {
			label.html("&nbsp;").addClass("checked");
		}
	});

	$("#cardCaptcha").mask("99999");
	$("#cardcode").mask("9999 9999 9999");
	//$("#cardpin").mask("9999");

	$("#formCardValidation input").blur(function() {
		$("#formCardValidation").validate().element(this);
	});

	startupSequence();

});

function adslLoginValidate() {
	if (step1Enabled)
		$('#formAdslLogin').submit();
}

function validateCardValidate() {
	if (step0Enabled)
		$('#formCardValidation').submit();
}

function setCardCaptcha() {
	try {
		cardCaptchaId = ((new Date()).getTime() + Math.floor(Math.random() * 101));
		$("#captchaContainerCard").html("<img id='cardCaptchaImg' style='border: 1px solid #a0a0a0;' width='140' height='40' src='"+ _TTV_SERVICE_URL +"/captcha.jpg?captchaId=" + cardCaptchaId + "'/>");
	}
	catch (e) {
		alert(e.message);
	}
}

function validateCard() {

	step0Enabled = false;
	$('#validateCardContainer').removeClass('devam');
	$('#validateCardContainer').addClass('bekle');

    /*
	if (in_session)
		validateCardUserManagement();
	else
		validateCardMainPage();
	*/
	
	//<KARTLOGIN>
	
	validateCardMainPage();
}

// START validateCardUserManagement
function validateCardUserManagement() {
	codeUM = $("#cardcode").val().replace(/\s/g, "");
	pinUM = $("#cardpin").val();
	validateCardWithoutCaptchaFlash("validate", codeUM, pinUM, "afterValidateCardUserManagement");
}

function afterValidateCardUserManagement(data) {
	var array = data.split("!");
	if (array[0] == "message") {
		var messageCode = array[1];
		if (messageCode == "890")
			showSuccess();
		else {
			step0Enabled = true;
			$('#validateCardContainer').removeClass('bekle');
			$('#validateCardContainer').addClass('devam');
			handleServerError(messageCode);

			if (messageCode == "408") {
				var rnd = Math.floor(Math.random() * 1000000);
				$("#ok_button").attr("href", _TTV_SITE_URL + "/lise/vitamin/adsl_index.asp?mode=kart&" + rnd);
			}

		}

	}
	else if (array[0] == "data") {

	}
}
// END validateCardUserManagement

// START validateCardMainPage
function validateCardMainPage() {
	codeMP = $("#cardcode").val().replace(/\s/g, "");
	pinMP = $("#cardpin").val();
	var captchaResponse = $("#cardCaptcha").val();
	validateCardWithCaptchaFlash("validate", codeMP, pinMP, cardCaptchaId, captchaResponse, "afterValidateCardMainPage");
}

function afterValidateCardMainPage(data) {

	var array = data.split("!");
	if (array[0] == "message") {
		var messageCode = array[1];
		if (messageCode == "801") {
			$("#containerCardValidation").css("display", "none");
			$("#containerAdslLogin").css("display", "block");

	        dcsMultiTrack('DCS.dcsuri','/wt.gif','DCSext.goal6','1');
		}
		//<KARTLOGIN>
		else if (messageCode == "890")
		{
			showSuccess();
		}
		//</KARTLOGIN>
		else {
			setCardCaptcha();
			step0Enabled = true;
			$('#validateCardContainer').removeClass('bekle');
			$('#validateCardContainer').addClass('devam');
			handleServerError(messageCode);

		}
	}
	else if (array[0] == "data") { setCardCaptcha(); }
}
// END validateCardMainPage

// START adslLogin
function adslLogin() {
	step1Enabled = false;
	$('#step1Container').removeClass('devam');
	$('#step1Container').addClass('bekle');

	var adslNumber = $("#adslNumber").val();
	var adslUsername = $("#adlsUsername").val();
	var adslPassword = $("#adslPassword").val();
	adslLoginWithoutCaptchaFlash("login", adslNumber, adslUsername, adslPassword, "afterAdslLogin");
}

function afterAdslLogin(data) {

	var array = data.split("!");
	if (array[0] == "message") {
		var messageCode = array[1];
		handleServerError(messageCode);
	}
	else if (array[0] == "data") {
		authenticateCard(codeMP, pinMP);
	}
}
// END adslLogin

// START authenticateCard
function authenticateCard(code, pin) {
	authenticateCardFlash("authenticate", code, pin, "afterAuthenticateFlash");
}

function afterAuthenticateFlash(data) {
	var array = data.split("!");
	if (array[0] == "message") {
		var messageCode = array[1];
		if (messageCode == "890")
			showSuccess();
		else
			handleServerError(messageCode);
	}
	else if (array[0] == "data") {
	}
}
// END authenticateCard

function handleServerError(errorCode) {
	var msg = getErrorMessage(errorCode) + "(" + errorCode + ")";
	popupDisplay(msg, "popupMessageContainer", false);
	step1Enabled = true;
	$('#step1Container').removeClass('bekle');
	$('#step1Container').addClass('devam');
}

function showSuccess() {
	var msg = getErrorMessage("890");
	popupDisplay(msg, "popupMessageContainer", true);
	$("#ok_button").attr("href", _TTV_SITE_URL + "/lise/vitamin/adsl_yonetim.asp?mode=kart");
	step1Enabled = true;
	$('#step1Container').removeClass('bekle');
	$('#step1Container').addClass('devam');
}