
	function checkMyPassword(p1, u) {
		// p1 - yeni sifre
		// u  - kullanici adi
		
		// girilen sifreler ayni mi ?
		//return true;
		if(!isPassLengthEnough(p1)) return false;
		if(isPassIncludeUserName(p1, u)) return false;
		if(!isPassIncludeCharacter(p1)) {
			alert("Şifreniz mutlaka enaz 1 harf içermeli.");
			return false;
		}
		if(!isPassIncludeDigit(p1)) {
			alert("Şifreniz en az bir rakam içermeli.");
			return false;
		}
		if(isThreeCharacterRepeatedly(p1)) {
			alert("Şifrenizde bir karakter maksimum 2 kere tekrar edebilir.\nÖrneğin zt444rs11 şifresinde 4 karakteri ardarda 3 kez tekrarlandığı için hatalıdır.\nOysa en sondaki 1 karakteri ardarda iki kez tekrarlandığı için kabul edilebilir durumdadır.");
			return false;
		}
		if(isPassIncludeSpecialCharacters(p1)) return false;
		// form kontrolleri tamamlandi
		//alert("Kontroller ok !");
		return true;
	}
	
	// sifre alti karakterden kisa olmamali
	function isPassLengthEnough(p) {
		var minStrLength 	= 6;
		var minStrLengthStr = "altı";
		if(p.length < minStrLength) {
			alert("Şifreniz enaz " + minStrLengthStr + " karakterden oluşmalıdır.");
			return false;
		} else
			return true;
	}
	
	// sifrenin icinde kullanici adi geciyor mu ?
	function isPassIncludeUserName(p, u) {
		var result = p.indexOf(u);
		if(result == -1)
			return false;
		else {
			alert("Şifrenizin tamamı yada bir parçası kullanıcı adına eşit olamaz !");
			return true;
		}
	}
	
	// sifre harf iceriyor mu ?
	function isPassIncludeCharacter(p) {
		var result = false;
		for (i = 0; i < p.length; i++) {
			var c = p.charAt(i);
			if (!isDigit(c)) { result = true; break; }
		}
		return result;
	}
	
	// sifre rakam iceriyor mu ?
	function isPassIncludeDigit(p) {
		var result = false;
		for (i = 0; i < p.length; i++) {
			var c = p.charAt(i);
			if (isDigit(c)) { result = true; break; }
		}
		return result;
	}
	
	// sifrede ardarda 2den fazla tekrarlanan karakter var mi ?
	function isThreeCharacterRepeatedly(p) {
		var plength = p.length - 2;
		var result = false;
		for(i = 0; i < plength; i++) {
			if(p.charAt(i) == p.charAt(i + 1) && p.charAt(i) == p.charAt(i + 2)) {
				result = true;
				break;
			}
		}
		return result;
	}
	
	// sifrede turkce karakterler, noktalama isaretleri ve diger ozel karakterler var mi ?
	function isPassIncludeSpecialCharacters(p) {
		var myPattern =/^[a-zA-Z0-9]+$/; 	// sadece string ve sayi girisine izin verir
											// baska hicbir ozel karakter ve turkce karakter alinmaz
		if(!p.match(myPattern)) {
			alert("Şifreniz sadece harf ve sayılardan oluşabilir. Özel karakterler, noktalama işaretleri ve türkçe karakterler kullanmayınız.");
			return true; // bu metod ozel karakter kullanilmismi sorusunu cevpladigi icin true donuyoruz
		} else
			return false;
	}
	
	 function isDigit (c) {
		 return ((c >= "0") && (c <= "9"))
	 }
