<!-- 

// © 2009 - Necdet Şen - http://www.derkenar.com

// Amme hizmetidir. Gerek duyan herkes kendi sitesinde de kullanabilir, gelistirebilir, ihtiyac duyana iletebilir.
// Ama tutup da "ben yazdim" diye pazarlamak telif haklari ihlali olur. Kanunen suctur.
// Her türlü kullanim durumunda, tepedeki copyright satirini aynen muhafaza etmenizi rica ederiz.


// Metin alanında bozuk imla uyarıları
function Uyar() { 
var metin = document.yazar_formu.Metin.value; 
var yazan = document.yazar_formu.Yazan.value.split(" ",1); 
var mesaj = "";

// Büyük Harf uyarısı
if (metin.match(/[A-Z]{30,}/g)) {
mesaj= "Lütfen metnin tamamını BÜYÜK HARF ile yazma " + yazan + ". Bu tür ifadeler BAĞIRMAK olarak algılanıyor.";
uyar(mesaj);
return false;
}

// ufak harfle başlayan cümle
if (metin.match(/(^[a-z]+)|([a-z][\?\!\:\.\n]\s*[a-z]+)/g)) { 
mesaj = "Biraz zahmetli olsa da cümleleri büyük harf ile başlatmalısın " + yazan + "."; 
uyar(mesaj);
return false;
}

// boşluksuz noktalama
if (metin.match(/[\.\,\:\;\?\!]\w/g)) {
mesaj = "Noktalama işaretlerinden sonra mutlaka bir vuruşluk boşluk bırakmalısın " + yazan + ".";
uyar(mesaj);
return false;
}

// boşluğu solda olan noktalama
if (metin.match(/\S+\s[\.\,\:\;\?\!]/g)) {
mesaj = "Noktalama işaretleri SOL tarafa bitişik yazılır " + yazan + ". Boşluk, sağda olmalıdır.";
uyar(mesaj);
return false;
}

// 2 nokta
if (metin.match(/\w+\.{2}\s\w+/g)) {
mesaj = "<big>2<\/big> nokta diye bir şey yoktur " + yazan + ". Nokta çoğunlukla <big>1<\/big>, nadiren de <big>3<\/big> tane olur.";
uyar(mesaj);
return false;
}

// 4 veya daha fazla nokta
if (metin.match(/\.{4,}/g)) {
mesaj = "Noktaları bu kadar bol keseden kullanmana gerek yok " + yazan + ". Üç taneden fazlası savurganlık oluyor.";
uyar(mesaj);
return false;
}

// 3 noktadan sonra küçük harfle başlayan cümle
if (metin.match(/\.{3}\s*[a-z]+/g)) {
mesaj = "Sevgili " + yazan + ", üç noktadan sonra gelen cümleyi lütfen <b>büyük harf<\/b> ile başlat.<br>Büdütör bu konuda titiz, hepsini tek tek eliyle düzeltmek zorunda kalıyor.";
uyar(mesaj);
return false;
}

// çok sayıda noktalama işareti
if (metin.match(/[\?\!\:\;\,]{2,}/g)) {
mesaj = "Noktalama işaretleri (<big>3<\/big> nokta dışında) birer birer kullanılır " + yazan + ".";
uyar(mesaj);
return false;
}

// ( parantez )
if (metin.match(/((\(|\[)\s)|(\s(\]|\)))/g)) {
mesaj = "<b>Parantez<\/b> işareti içerdiği ifadeye her iki yandan da bitişik olur " + yazan + ".";
uyar(mesaj);
return false;
}

// p(arante)z
if (metin.match(/(\S(\(|\[))|((\]|\))\w)/g)) {
mesaj = "<b>Parantez<\/b> işaretinin dış tarafında bir vuruşluk boşluk bırakılmalıdır " + yazan + ".";
uyar(mesaj);
return false;
}

// Tırnak
if (metin.match(/\s\"\s/g)) {
mesaj= "Tırnak işareti, kapsadığı kelime grubuna her iki yandan bitişik olur " + yazan + ".";
uyar(mesaj);
return false;
}

// 400 vuruştan sonra paragraf zorunluluğu
if ((metin.length>400) && (!metin.match(/.+\n\n/g))) {
mesaj = "Okunmayı kolaylaştırmak için metni paragraflara bölmekte fayda var " + yazan + ". (<b>2<\/b> enter)";
uyar(mesaj);
return false;
}

// 3 ve daha fazla enter için kınama
if (metin.match(/.+\n{3,}/g)) {
mesaj = "Yok " + yazan + ". Bu kadarı fazla oldu. <b>2<\/b> ENTER iyidir. Sonuncuyu geri al istersen.";
uyar(mesaj);
return false;
}

// fuzuli boşluklar için uyarı
if (metin.match(/\s{10,}/g)) {
mesaj = "Yazıda lüzumsuz boşluklar var " + yazan + ". Klavyedeki uzun tuş (space) basılı kalmış olabilir mi?";
uyar(mesaj);
return false;
}

// site yöneticisine özel mesaj ise...
if (metin.match(/((merhaba |)necdet bey(|şen))|(size özel)|(sizin okumanız için)/gi)) {
mesaj = "Necdet Şen\'e özel mesaj yazıyorsan, sağ alt  köşedeki <b>iletişim<\/b> linkini kullanabilirsin " + yazan + ".<br>Ama eğer yorum yazıyorsan, bu uyarıya aldırış etme.";
uyar(mesaj);
return false;
}

// klişe kelimelere itiraz
var dandik = /(absür(d|t))|(farkındalı(.*\s))|(masaya yatır(.*\s))/gi;
if (metin.match(dandik)) {
mesaj = "Böyle <b>klişe<\/b> lâflar Derkenar\'a yakışmıyor " + yazan + ". Daha sahicisini bulabilir misin?";
uyar(mesaj);
return false;
}

// türkçe karaktersizliği
if (metin.length>150) {
if (!metin.match(/.[a-z]+(ğ)|(ı)|(ş).[a-z]+/gi)) {
mesaj = "Sevgili " + yazan + ", klavyende Türkçe karakterler yoksa, kayıt esnasında otomatikman Türkçeleşmesini istediğin karakterlerin <b>sağ<\/b> tarafına yıldız<big><big><sub>*<\/sub><\/big><\/big> işareti koyarak bu sorunu çözebilirsin.<br><br>Örnekler : ( <b>s*i*<\/b>k = şık ) ( k<b>i*s*<\/b> = kış ) ( <b>s*<\/b>ark<b>i*<\/b> = şarkı ) ( k<b>u*c*u*<\/b>k = küçük ) ( a<b>g*i*<\/b>r = ağır )<br><br>Bu işlem uzun ve zahmetli görünüyorsa, şu adreste daha seri bir şekilde metni Türkçeleştirme imkânı da mevcut: <a href=\"http:\/\/www.hlst.sabanciuniv.edu\/TL\/deascii.html\" target=\"_blank\">http:\/\/www.hlst.sabanciuniv.edu\/TL\/deascii.html<\/a><br>";
uyar(mesaj);
return false;
}
}

// yıldız yanlış yere konulduysa...
if (metin.match(/.\*[scgiou]/gi)) {
mesaj = "Yıldız işareti düzeltilmesi istenen harfin <b>sağ<\/b> yanında olmalıdır " + yazan + ". Yani, (<b>s*o*<\/b>yle = şöyle)";
uyar(mesaj);
return false;
}

// mesaj yoksa boşluk...
else {
mesaj = "";
uyar(mesaj);
return true; 
}
return false; 
}

// Filtre uyarılarının gösterildiği DIV
function uyar(mesaj) {// Genel
document.getElementById('uyarilar').innerHTML = mesaj; 
}

// filtre bitti

// Harf sınırlaması (1500 vuruş)
function LimitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum); 
if (limitField.value.substring(0, limitNum-9)) {
document.getElementById('bitir').innerHTML = '1500 harflik yazı limitin doldu ' + document.yazar_formu.Yazan.value.split(" ",1) + ', bitir istersen.';
//return true; 
} 
}
else { 
limitCount.value = limitNum - limitField.value.length;
document.getElementById('bitir').innerHTML = "";
}
} 

//-->
