/**
 * Kurucu Fonksiyon
 */
var SignIn = function() {

	return;
};
/**
 * 
 */
SignIn.prototype.ataDugmeIDveMesaj = function(dugmeID, dugmeMesaj) {

	debug.log('SignIn() Tanımlanma Başladı.');

	debug.log('SignIn() dugmeID: ' + dugmeID);
	debug.log('SignIn() dugmeMesaj: ' + dugmeMesaj);

	this.dugmeID = dugmeID;
	this.dugmeMesajOrijinal = $(dugmeID).value;
	this.dugmeMesaj = dugmeMesaj;

	debug.log('SignIn() Tanımlanma Bitti.');

	return;
};
/**
 * 
 */
SignIn.prototype.ataFormID = function(formID) {

	debug.log('SignIn() Tanımlanma Başladı.');
	debug.log('SignIn() formID: ' + formID);

	this.formID = formID;

	debug.log('SignIn() Tanımlanma Bitti.');

	return;
};
/**
 * Ajax Request İşlemleri
 */
SignIn.prototype.doRequest = function() {

	var url = $(this.formID).action + '&' + $(this.formID).serialize();

	sign.dugmeKilitleAc();

	new Ajax.Request(
			url,
			{
				method :$(sign.formID).method,
				onSuccess : function(trans) {

					sign.dugmeKilitleAc();
					var json = trans.responseText.evalJSON();

					if (json.hata > 0) {

						sign.hataMesajiniGoster(json.hataMesaji);
						debug
								.log('SignIn#doRequest()#onSuccess() Mesaj: ' + json.hataMesaji);
						return;
					}

					sign.hataMesajiniGoster(json.hataMesaji);
					debug
							.log('SignIn#doRequest()#onSuccess() Mesaj: ' + json.hataMesaji);
					debug
							.log('SignIn#doRequest()#onSuccess() URL: ' + json.url);
					window.location.href = json.url;

					return;
				},
				onFailure : function(trans) {

					sign.dugmeKilitleAc();
					sign.hataMesajiniGoster(json.hataMesaji);
					debug
							.log('SignIn#doRequest()#onFailure() Mesaj: Sunucu ile iletişimde sorun yaşandı. Lütfen tekrar deneyiniz.');

					return;
				}
			});

	return;
};
/**
 * Ajax ile şifremi unuttum sayfasını belirtilen DIV içinde gösterir.
 * 
 * @author iyildiz
 */
SignIn.prototype.SifremiUnuttumGoster = function(divIDSonuc,
		YukleniyorYazilacakDivID) {

	var url = 'Giris.do?do=sifremiUnuttumGoster';
	var divID = divIDSonuc;

	$(YukleniyorYazilacakDivID).update(
			'<div class="SistemeGirisYapYukleniyorDIV">Yükleniyor...</div>');

	new Ajax.Request(
			url,
			{
				method :'GET',
				onSuccess : function(trans) {

					try {

						$(divID).update(trans.responseText);
						debug
								.log('SignIn#SifremiUnuttumGoster() innerHTML geldi...');

					} catch (e) {
						debug
								.log('SignIn#SifremiUnuttumGoster() innerHTML yazılamadı!');
					}

					return;
				},
				onFailure : function(trans) {

					$(divID)
							.update(
									'Sunucu ile iletişimde sorun yaşandı. Lütfen tekrar deneyiniz.');

					return;
				}
			});

	return;
};
/**
 * Ajax ile login formu sayfasını belirtilen DIV içinde gösterir.
 * 
 * @author iyildiz
 */
SignIn.prototype.SistemeGirisYapGoster = function(divIDSonuc,
		YukleniyorYazilacakDivID) {

	var url = 'Giris.do?do=loginFormuAc';
	var divID = divIDSonuc;

	$(YukleniyorYazilacakDivID).update(
			'<div class="SistemeGirisYapYukleniyorDIV">Yükleniyor...</div>');

	new Ajax.Request(
			url,
			{
				method :'GET',
				onSuccess : function(trans) {

					try {

						$(divID).update(trans.responseText);
						debug
								.log('SignIn#SistemeGirisYapGoster() innerHTML geldi...');

					} catch (e) {
						debug
								.log('SignIn#SistemeGirisYapGoster() innerHTML yazılamadı!');
					}

					return;
				},
				onFailure : function(trans) {

					$(divID)
							.update(
									'Sunucu ile iletişimde sorun yaşandı. Lütfen tekrar deneyiniz.');

					return;
				}
			});

	return;
};
/**
 * 
 */
SignIn.prototype.SistemeKayitYapGoster = function(divIDSonuc,
		YukleniyorYazilacakDivID) {

	var url = 'YeniKayit.do?do=formuAc';
	var divID = divIDSonuc;

	$(YukleniyorYazilacakDivID).update(
			'<div class="SistemeGirisYapYukleniyorDIV">Yükleniyor...</div>');

	new Ajax.Request(
			url,
			{
				method :'GET',
				onSuccess : function(trans) {

					try {

						$(divID).update(trans.responseText);
						debug
								.log('SignIn#SistemeGirisYapGoster() innerHTML geldi...');

					} catch (e) {
						debug
								.log('SignIn#SistemeGirisYapGoster() innerHTML yazılamadı!');
					}

					return;
				},
				onFailure : function(trans) {

					$(divID)
							.update(
									'Sunucu ile iletişimde sorun yaşandı. Lütfen tekrar deneyiniz.');

					return;
				}
			});

	return;
};
/**
 * Şifremi unttum formunu gönderiri.
 * 
 * @author iyildiz
 */
SignIn.prototype.doRequestSifremiUnuttum = function() {

	debug.log('Sign#doRequestSifremiUnuttum() this.formID: ' + this.formID);

	var url = $(this.formID).action + '&' + $(this.formID).serialize();

	sign.dugmeKilitleAc();

	new Ajax.Request(
			url,
			{
				method :$(sign.formID).method,
				onSuccess : function(trans) {

					sign.dugmeKilitleAc();
					var json = trans.responseText.evalJSON();

					if (json.hata > 0) {

						sign.hataMesajiniGoster(json.hataMesaji);
						debug
								.log('SignIn#doRequestSifremiUnuttum()#onSuccess() Mesaj: ' + json.hataMesaji);
						return;
					}

					sign.hataMesajiniGoster(json.hataMesaji);
					debug
							.log('SignIn#doRequestSifremiUnuttum()#onSuccess() Mesaj: ' + json.hataMesaji);

					return;
				},
				onFailure : function(trans) {

					sign.dugmeKilitleAc();
					sign.hataMesajiniGoster(json.hataMesaji);
					debug
							.log('SignIn#doRequestSifremiUnuttum()#onFailure() Mesaj: Sunucu ile iletişimde sorun yaşandı. Lütfen tekrar deneyiniz.');

					return;
				}
			});

	return;
};
/**
 * Şifremi unuttumda enter basıldığında form gönderilmesini sağlar
 * 
 * @author hkocabas
 */
SignIn.prototype.klavyeYakala = function(e, frm, btn) {
	var keynum;
	var keychar;
	var numcheck;

	if (window.event) // IE
	{
		keynum = e.keyCode;
		keychar = String.fromCharCode(keynum);
		if (keynum == 13 && $('SifremiUnuttumTextBox').value != null
				&& $('SifremiUnuttumTextBox').value != "") {

			this.doRequestSifremiUnuttum(frm, btn);
			return false;
		} else
			return false;
	}
};
/**
 * Login form gönderildiğinde gönde düğmisini basılamaz kılar ve istenilen
 * mesajı değeri yapar. Veya basılır kılar ve orijinal haline döndürür.
 * 
 * @author iyildiz
 */
SignIn.prototype.dugmeKilitleAc = function() {

	debug.log('SignIn#dugmeKilitleAc() içine girildi.');

	if ($(this.dugmeID).disabled == true) {

		debug.log('SignIn#dugmeKilitleAc() disabled=true değiştiriliyor...');

		$('GonderDugmesi').disabled = false;
		$('GonderDugmesi').value = this.dugmeMesajOrijinal;

		debug
				.log('SignIn#dugmeKilitleAc() disabled=true değiştiriliyor... TAMAM!');

	} else {

		debug.log('SignIn#dugmeKilitleAc() disabled=false değiştiriliyor...');

		$('GonderDugmesi').disabled = true;
		$('GonderDugmesi').value = this.dugmeMesaj;

		debug
				.log('SignIn#dugmeKilitleAc() disabled=false değiştiriliyor... TAMAM!');

	}

	debug.log('SignIn#dugmeKilitleAc() bitti.');

	return;
};
/**
 * 
 */
SignIn.prototype.hataMesajiniGoster = function(mesaj) {

	var anaDivID = 'JSONHataMesajiGosterAnaDivID';
	var mesajDivID = 'JSONHataMesajiGosterDivID';

	$(anaDivID).setStyle( {
		display :'inline'
	});
	$(mesajDivID).update(mesaj);

	return;
};
/**
 * 
 */
SignIn.prototype.hataAlaniKapat = function() {

	var anaDivID = 'JSONHataMesajiGosterAnaDivID';

	$(anaDivID).setStyle( {
		display :'none'
	});

	return;
};