/*
**************************************************************************************************
Genel JS kütüphanesi.
Tolga MIRMIRIK
Bazı şartlara bağlı kalmak koşulu ile bu sayfadaki tüm içeriği dilediğiniz gibi kopyalamakta,
dağıtmakta, işlerinizde kullanmakta özgürsünüz. İçerik, "Creative Commons
Attribution-NonCommercial-ShareAlike 2.5" lisansı ile korunmaktadır.
Buna göre; içeriği kopyalarken, kullanırken ve/veya
dağıtırken aşağıdaki kurallara uymanız gerekir:
a.Kaynak olarak sitenin adresini belirtmek zorundasınız
b. İçeriği kullanırken adı ne olursa olsun ticari gelir elde edemezsiniz,
c. Üzerinde herhangi bir değişiklik yaptığınız içeriği aynı lisans ve aynı şartlar ile
yayımlamak zorundasınız.
"Creative Commons Attribution-NonCommercial-ShareAlike 2.5" lisansı ile ilgili olarak daha
fazla bilgi için
http://creativecommons.org/licenses/by-nc-sa/2.5/
adresini ziyaret ediniz.
Ver.Nu. Değişim Tar. Değiştiren Açıklama
------- ------------ --------------- -----------------
V1.0 12.09.1999 Tolga MIRMIRIK(TM) Dosya oluşturuldu.
.
.
.
V6.84 10.04.2006 Tolga MIRMIRIK(TM) XMLHttp ile ilgili fonksiyonlar eklendi
V7.00 25.05.2006 Murat AKBAR(MA) PageQuery() class' ı eklendi.
V7.10 29.05.2006 Tolga MIRMIRIK(TM) removeThatNode() metodu eklendi.
V8.00 29.05.2006 Tolga MIRMIRIK(TM) Tüm metodların yorumları ve kullanımları yazıldı.
V8.02 12.06.2006 Tolga MIRMIRIK(TM) AJAX.getXMLDoc() eklendi.
V8.10 21.06.2006 Tolga MIRMIRIK(TM) HTML.moveTo() ve HTML.moveAll() metodları eklendi.
V8.20 27.07.2006 Tolga MIRMIRIK(TM) HTML.getRDValue() metodu eklendi.
V8.30 01.02.2007 TM getCookie() ve setCookie() metodları eklendi.
**************************************************************************************************
*/
var IS_DEBUG_MODE = false;
var selectElements = null;
var isMozilla = (document.all)?false:true;
var isMS = !isMozilla; //ileride kural değişmesinden minimum zarar görmek için
//genel değişken kullanılıyor.
/**************************************************************************************
StringProtoType()
IsEmailValid() fonksiyonu tarafından kullanılır.
***************************************************************************************/
String.prototype.isValidEmail = function(){
return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
}
/**************************************************************************************
StringProtoType()
isNumber() fonksiyonu tarafından kullanılır.
***************************************************************************************/
String.prototype.isValidNumber = function(){
return !!this.match(/^-{0,1}\d*\.{0,1}\d+$/)
}
/**************************************************************************************
Node.prototype.removeNode()
removeThatNode() fonksiyonu tarafından kullanılır.
***************************************************************************************/
if ( window.Node )
Node.prototype.removeNode = function( rC ){
var self = this;
if (Boolean( rC )) {
return this.parentNode.removeChild( self );
}
else
{
var range = document.createRange();
range.selectNodeContents( self );
return this.parentNode.replaceChild( range.extractContents(), self );
}
}
/**************************************************************************************
Scott Andrew - addEvent method.
Daha fazla bilgi için: http://www.scottandrew.com/weblog/articles/cbs-events
***************************************************************************************/
function addEvent(obj, evType, fn, useCapture){
if (obj.addEventListener){
obj.addEventListener(evType, fn, useCapture);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
alert("Handler could not be attached");
return false;
}
}
/**************************************************************************************
Scott Andrew - removeEvent method.
Daha fazla bilgi için: http://www.scottandrew.com/weblog/articles/cbs-events
***************************************************************************************/
function removeEvent(obj, evType, fn, useCapture){
if (obj.removeEventListener){
obj.removeEventListener(evType, fn, useCapture);
return true;
} else if (obj.detachEvent){
var r = obj.detachEvent("on"+evType, fn);
return r;
} else {
alert("Handler could not be removed");
return false;
}
}
/**************************************************************************************
protoType 1.4.0 '$' method' u
Daha fazla bilgi için: http://prototype.conio.net/
***************************************************************************************/
function $() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}
/**************************************************************************************
DOM.ReplaceTags()
string içindeki TAG karakterlerini temizlemek için kullanılır
***************************************************************************************/
function ReplaceTags(xStr){
if(xStr!=null){
var regExp = /<\/?[^>]+>/gi;
xStr = xStr.replace(regExp,"");
}
return xStr;
}
/**************************************************************************************
DOM.$TR()
Birden fazla 'child' içeren TAG içindeki (TR, UL gibi) text' leri ARRAY olarak döner.
***************************************************************************************/
function $TR(e){
var hasInnerText =(document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;
if (e){
var lc=e.childNodes.length;
if (lc>0){
var aT=new Array();
if (hasInnerText){
for(var l=0;l< lc;l++){aT.push(e.childNodes[l].innerText);}
}
else{
for(var l=0;l< lc;l++){
textTo = ReplaceTags(e.childNodes[l].innerHTML);
if(textTo!=null){aT.push(e.childNodes[l].textContent);}
}
}
}
else{var aT=new String;}
}
return aT;
}
/* onMouseOver ve onMouseOut fonksiyonları. CSS2.0 ile birlikte gereksiz hale gelmiştir. */
//function onm(obj) {obj.style.backgroundColor = '#6699cc';obj.style.color = '#ffffff';}
//function outm(obj, bc) {obj.style.backgroundColor=bc;obj.style.color='#000000';}
/**************************************************************************************
HTML.openWin()
sURL: Açılacak pencerenin URI adresi
sWN : Pencereye verilecek isim
wT :
#1: Modül Penceresi benzeri. Menü, Toolbar ve ScrollBar YOK, yeniden boyutlandırılamaz.
#2: Modül Penceresi benzeri. Menü, Toolbar ve ScrollBar VAR, sabit büyüklük.
#3: X ve Y koordinatlarının verilebildiği pencere türü. Kullanılmıyor.
#4: Normal pencere açar. (target='_blank' benzeri.)
lt : LengTh
ht : HeigTh
***************************************************************************************/
function openWin(sURI, sWN, wT, lt, ht)
{
var winLeft = (screen.availWidth - lt) / 2;
var winTop = (screen.availHeight - ht) / 2;
switch (wT) {
case 1: {
window.open (sURI, sWN, "toolbar=0, menubar=0, location=0, status=0, width=" + lt + ", height=" + ht + ", scrollbars=0, resizable=no, left=" + winLeft + ", top=" + winTop);
break;
}
case 2: {
window.open (sURI, sWN, "resizable=no,scrollbars=yes, menubar=0, location=0, status=0, width=" + lt + ", height=" + ht + ", left=" + winLeft + ", top=" + winTop);
break;
}
case 3: {
if (arguments.length > 4)
return window.open (sURI, sWN, "toolbar=0, menubar=0, location=0, status=0, width=" + lt + ", height=" + ht + ", scrollbars=0, resizable=no, left=" + arguments[5] + ", top=" + arguments[6], "true");
else
return window.open (sURI, sWN, "toolbar=0, menubar=0, location=0, status=0, width=" + lt + ", height=" + ht + ", scrollbars=0, resizable=no", "true");
break;
}
case 4: {
return window.open (sURI, sWN, "toolbar=1, menubar=1, location=0, status=1, width=" + lt + ", height=" + ht + ", scrollbars=yes, resizable=no, left=0, top=0");
break;
}
}
return true;
}
/**************************************************************************************
FORM.selectValue()
'o' olarak belirtilen SELECT elemanının 't' olarak verilen TEXT özelliğini seçili hale getirir.
***************************************************************************************/
function selectValue(o,t){
for (var oL=0;oL< o.options.length;oL++){
if (o.options[oL].text==t){
o.selectedIndex = oL;
break;
}
}
}
/**************************************************************************************
FORM.CheckAll()
'f' formundaki tüm 'checkbox'ları 'oBase' olarak verilen checkbox ile aynı yapar. (Tümünü seç)
***************************************************************************************/
function CheckAll(f, oBase) {
var oForm = $(f);
for (lLoop=0;lLoop < oForm.length;lLoop++) {
if((oForm.elements[lLoop].type=='checkbox')) {
oForm.elements[lLoop].checked=oBase.checked;
}
}
}
/**************************************************************************************
FORM.PaintForm()
'f' formunda bulunan ve BUTTON dışındaki tüm elemanları tarayarak, "required" özelliği true olan
elemanların öncesine kırmızı renkli bir yıldız koyar.
bkz. GetEventHandlers()
bkz. ValidateAllForm()
bkz. FormIsOK()
*SADECE IE İLE ÇALIŞIR.
***************************************************************************************/
function PaintForm(f) {
var oForm = $(f);
for (var lLoop=0;lLoop < oForm.length;lLoop++) {
if((oForm.elements[lLoop].type!='button') || (oForm.elements[lLoop].type!='undefined')) {
if(oForm.elements[lLoop].required=="true") {
oForm.elements[lLoop].outerHTML='*' + oForm.elements[lLoop].outerHTML;
}
else
{
oForm.elements[lLoop].outerHTML=' ' + oForm.elements[lLoop].outerHTML;
}
}
}
}
/**************************************************************************************
FORM.GetEventHandlers()
'f' olarak belirtilen formun üzerinde gezerken aktif elemanın ayrı renkte olmasını, buton üzerinden
geçen fare imlecinin de "pointer" olmasını sağlayan metoddur.
bkz. ValidateAllForm()
bkz. PaintForm()
bkz. FormIsOK()
***************************************************************************************/
function GetEventHandlers(f) {
var oForm = $(f);
var eL = oForm.elements;
for (var lLoop=0;lLoop < oForm.length;lLoop++) {
if((eL[lLoop].type=='text') || (eL[lLoop].type=='password') || (eL[lLoop].type=='textarea')) {
eL[lLoop].onblur = function(){
this.style.backgroundColor='#fff';
this.style.border="1px ridge activeborder";
}
eL[lLoop].onfocus= function(){
this.style.backgroundColor="#FAFAD2";
this.style.border="1px ridge #483D8B";
this.style.color="#000";
}
if(eL[lLoop].numeric=="true"){
eL[lLoop].onkeypress = function(){
if((event.keyCode<48)||(event.keyCode>57))
{
if((event.keyCode!=13)&&(event.keyCode!=46)&&(event.keyCode!=45)&&(event.keyCode!=44)){
alert("Bu alana sadece sayısal veri girilebilir.")
event.returnValue=false;
}
else{
event.returnValue=true;
}
}
}
}
}
if((eL[lLoop].type=='button')) {
eL[lLoop].onmouseover= function(){
this.style.cursor='pointer';
}
}
}
}
/**************************************************************************************
FORM.DisableAllForm()
'f' formunun tüm elemanlarının disabled özelliğini 's' yapar.
***************************************************************************************/
function DisableAllForm(f, s) {
var oForm = $(f);
for (var lLoop=0;lLoop < oForm.length;lLoop++) {
if((oForm.elements[lLoop].type != 'hidden')) {
oForm.elements[lLoop].disabled = s;
}
}
}
/**************************************************************************************
FORM.ValidateAllForm()
'f' formundaki doldurulması zorunlu alanları tarar. Her boş bırakılan için hata açıklamasını ekleyerek
geri döner. Formun submit metodu için kullanılır. Tüm boş bırakılan alanlar için toplu bir mesaj verir.
Bu metodun kontrol etmesi istenilen form elemanlarının "required" özelliği "true" olmalı, kullanıcıya
verilmesi istenilen mesaj "alertText" özelliği içine yazılmalıdır.
bkz. GetEventHandlers()
bkz. PaintForm()
bkz. FormIsOK()
*SADECE IE İLE ÇALIŞIR.
***************************************************************************************/
function ValidateAllForm(f){
var oForm = $(f);
var rtMessage = "";
var errNum = 0;
for (lLoop=0;lLoop < oForm.length;lLoop++) {
if(oForm.elements[lLoop].disabled == false) {
if(oForm.elements[lLoop].numeric == 'true') {
if(isNumber(oForm.elements[lLoop]) != true) {
errNum += 1;
rtMessage += errNum + "-) '" + oForm.elements[lLoop].alertText + "' alanına sadece sayısal bilgi girilebilir!\n";
}
}
if(oForm.elements[lLoop].required == 'true') {
if(oForm.elements[lLoop].disabled == false) {
if((oForm.elements[lLoop].value == '') ||
(((oForm.elements[lLoop].type=='select-one') && (oForm.elements[lLoop].selectedIndex == 0)) &&
((oForm.elements[lLoop].type=='select-one') && (oForm.elements[lLoop].value == ""))) ) {
errNum += 1;
rtMessage += errNum + "-) '" + oForm.elements[lLoop].alertText + "' alanı boş bırakılamaz!\n";
}
}
}
}
}
if (rtMessage!=""){
rtMessage = "Lütfen aşağıdaki hataları düzeltip yeniden deneyiniz.\n\n" + rtMessage;
}
return rtMessage;
}
/**************************************************************************************
FORM.FormIsOK()
'f' formundaki doldurulması zorunlu alanları tarar. Her boş bırakılan için hata açıklamasını
geri döner. Formun submit metodu için kullanılır. Her boş bırakılan alan için bir mesaj verir.
Bu metodun kontrol etmesi istenilen form elemanlarının "required" özelliği "true" olmalı, kullanıcıya
verilmesi istenilen mesaj "alertText" özelliği içine yazılmalıdır.
bkz. GetEventHandlers()
bkz. PaintForm()
bkz. ValidateAllForm()
*SADECE IE İLE ÇALIŞIR.
***************************************************************************************/
function FormIsOK(f) {
var s = "";
var oForm = $(f);
for (var lLoop=0;lLoop < oForm.length;lLoop++) {
if(oForm.elements[lLoop].disabled==false) {
if(oForm.elements[lLoop].required=="true") {
if(oForm.elements[lLoop].value == '') {
s += "'" + oForm.elements[lLoop].alertText + "' bilgisi boş geçilemez!"
s += "\n";
s += (oForm.elements[lLoop].type=='select-one')?"Lütfen seçim yapınız.":"Lütfen bilgi giriniz.";
alert(s);
oForm.elements[lLoop].focus();
return false;
}
}
if(oForm.elements[lLoop].numeric=="true") {
if(isNumber(oForm.elements[lLoop]) != true) {
alert("'" + oForm.elements[lLoop].alertText + "' alanına sadece sayısal bilgi girilebilir!");
oForm.elements[lLoop].focus();
return false;
}
}
}
}
return true;
}
/**************************************************************************************
FORM.clearVals()
'f' formunun içindeki tüm elemanların değerlerini temizler.
***************************************************************************************/
function clearVals(f){
var oF = document.getElementById(f);
var eL = oF.elements;
for (lL=0;lL < oF.length;lL++) {
if((eL[lL].type=='text') || (eL[lL].type=='password') || (eL[lL].type=='textarea')) {
eL[lL].value = "";
}
else{
if ((eL[lL].type=='select-one')){
eL[lL].selectedIndex = 0;
}
}
}
}
/**************************************************************************************
DOM.isNumber()
'oE' olarak verilen nesnenin değerinin nümerik olup olmadığını döner.
"String.prototype.isValidNumber" regEx' ini kullanır.
***************************************************************************************/
function isNumber(oE){
var ev = $(oE);
return ev.value.isValidNumber();
}
/**************************************************************************************
DOM.IsEmailValid()
'oE' olarak verilen nesnenin değerinin geçerli bir e-posta adı olup olmadığını döner.
"String.prototype.isValidEmail" regEx' ini kullanır.
***************************************************************************************/
function IsEmailValid(oE) {
var ev = $(oE);
if (ev.value.isValidEmail()==false) {
alert('Lütfen geçerli bir e-posta adresi giriniz!');
ev.focus();
return false;
}
return true;
}
/**************************************************************************************
DOM.hideSelectElements()
Aktif pencerede bulunan tüm SELECT-ONE elemanlarını saklı hale getirir. Context-Menu çıkması gereken
durumlardaki gibi bir DIV' in select-one elemanı altında kalması engellenir.
bkz. showSelectElements()
bkz. getSelectElements()
***************************************************************************************/
function hideSelectElements() {
if (null == selectElements) {
selectElements = new Array();
getSelectElements(window);
}
for (var i = 0; i < selectElements.length; i++) {
selectElements[i].style.visibility = "hidden";
}
}
/**************************************************************************************
DOM.hideSelectElements()
Aktif pencerede bulunan tüm SELECT-ONE elemanlarını görünür hale getirir.
bkz. hideSelectElements()
bkz. getSelectElements()
***************************************************************************************/
function showSelectElements() {
for (var i = 0; i < selectElements.length; i++) {
selectElements[i].style.visibility = "visible";
}
}
/**************************************************************************************
DOM.hideSelectElements()
Aktif pencerede bulunan tüm SELECT-ONE elemanlarını bir array(selectElements[]) içine alır.
Bu array hideSelectElements() ve showSelectElements() metodları tarafından kullanılır.
bkz. hideSelectElements()
bkz. showSelectElements()
***************************************************************************************/
function getSelectElements(container) {
var elements = container.document.getElementsByTagName("select");
for (var i = 0; i < elements.length; i++) {
selectElements[selectElements.length] = elements[i];
}
if (container.document.frames.length > 0) {
for (var i = 0; i < container.document.frames.length; i++) {
getSelectElements(container.document.frames[i]);
}
}
}
/**************************************************************************************
DOM.oDV()
'oI' olarak verilen nesnenin ekran üzerindeki görüntü özelliğini gizli ya da görünür yapmaya yarar.
Eğer 'oI' nesnesi görünür iken bu metod çağrılırsa nesne görünmez, tersi durumda ise görünür
hale gelecektir.
***************************************************************************************/
function oDV(oI) {
var oDIVName = eval(oI);
if (oDIVName.style.display == 'none') {
oDIVName.style.display = 'block';
}
else
{
oDIVName.style.display = 'none';
}
}
/**************************************************************************************
DOM.removeThatNode()
'oP' olarak verilen nesneyi ve onun alt elemanlarını nesne ağacından çıkartır.
***************************************************************************************/
function removeThatNode(oP,rc)
{
var node = $(oP);
return node.removeNode(rc);
}
/**************************************************************************************
AJAX.createXHTTP()
Browser' a göre yaratılmış XMLHttp nesnesi geri döner.
***************************************************************************************/
function createXHTTP(){
var oHTTP;
if(window.XMLHttpRequest) {
try {
oHTTP = new XMLHttpRequest();
if (oHTTP.overrideMimeType) {
oHTTP.overrideMimeType('text/xml');
}
} catch(e) {
oHTTP = false;
}
} else if(window.ActiveXObject) {
try {
oHTTP = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
oHTTP = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
oHTTP = false;
}
}
}
return oHTTP;
}
/**************************************************************************************
AJAX.createVals()
'f' formundaki değerleri XHR nesnesi ile POST edilebilecek formata dönüştürür.
Eğer formun içinde bir SELECT elemanı varsa, bunun hem değerini hem de TEXT kısmını
alır ve string olarak geri döner.
***************************************************************************************/
function createVals(f){
var oF = $(f);
var eL = oF.elements;
var ts = "";
var rs = "";
var vA = new Array();
for (var lL=0;lL < oF.length;lL++) {
if((eL[lL].type=='text') || (eL[lL].type=='hidden') || (eL[lL].type=='password') || (eL[lL].type=='textarea') || (eL[lL].type=='select-one')) {
if ((eL[lL].type=='select-one')){
var c = eL[lL].options[eL[lL].selectedIndex].text;
var n = eL[lL].name + "_TEXT";
ts = escape(n)+'='+escape(c.replace(/%2B/g,"%u002B"));
vA.push(ts);
var c = eL[lL].value;
var n = eL[lL].name;
ts = escape(n)+'='+escape(c.replace(/%2B/g,"%u002B"));
vA.push(ts);
}
else{
var c = eL[lL].value;
var n = eL[lL].name;
ts = escape(n)+'='+escape(c.replace(/%2B/g,"%u002B"));
vA.push(ts);
}
}
}
if (vA.length>0){
rs=vA.join("&");
}
return rs;
}
/**************************************************************************************
AJAX.postCommand()
'url' adresine, 'ev' değerlerini 'xO' XHR nesnesi kullanarak POST eder
ve geri dönen cevabı 'fn' fonksiyonunun karşılamasını sağlar.
***************************************************************************************/
function postCommand(url, ev, xO, fn)
{
if (!xO){ xO = createXHTTP(); }
if (xO) {
if (isMS){
xO.onreadystatechange = eval(fn);
}
xO.open("POST", url);
xO.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=iso-8859-9');
xO.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;language=tr');
xO.send(ev);
}
}
/**************************************************************************************
AJAX.$X()
arguments[0] XML nesnesindeki arguments[1] isimli elemanın arguments[2]. sıradaki
değerini döner. arguments[2] verilmezse, sıfır kabul edilir.
responseXML nesnesinin parse edilmesi için kullanılır.
***************************************************************************************/
function $X(){
var ar=arguments;
try{
return (ar.length == 2)?ar[0].getElementsByTagName(ar[1])[0].firstChild.data:ar[0].getElementsByTagName(ar[1])[ar[2]].firstChild.data;
}
catch(ee){
return null;
}
}
/**************************************************************************************
AJAX.getXMLDoc()
'url' sayfasından dönen XML' i parse eder ve 'handleObj' SELECT nesnesi içine doldurur.
XML' in şeması şu şekilde olmalıdır:
NUMBERSTRING'T'/'F'
.
.
.
.
.
***************************************************************************************/
function getXMLDoc(url, handleObj)
{
var XHR = false;
var firstElement = null;
XHR = createXHTTP();
if (XHR) {
XHR.onreadystatechange = function() {
if (XHR.readyState == 4) {
if (XHR.status == 200)
{
try{
var oTarget = $(handleObj);
oTarget.length=0;
respXML = XHR.responseXML.documentElement;
var chLen = (isMozilla)?((respXML.childNodes.length - 1) / 2):respXML.childNodes.length;
//alert("respXML.childNodes.length: " + respXML.childNodes.length + " chLen: " + chLen);
for (var i=0; i< chLen; i++) {
optID = $X(respXML, 'OptionValue', i);
optTX = $X(respXML, 'OptionText', i)
optSL = $X(respXML, 'isSelected', i)
var oOption = document.createElement("OPTION");
if ((optTX!=null)) {
oOption.text=optTX;
oOption.value=(optID!=null)?optID:null;
try{ //Mozilla code
oTarget.add(oOption, null);
}
catch(e){ //IE code
oTarget.add(oOption);
}
oOption.selected = (optSL=="T");
firstElement = oOption;
}
oOption = null;
}
}catch(e){ alert("XML transferi sirasinda bir hata olustu:\n\n"+ e.message); }
} else
alert("Veri alırken hata\n" + XHR.status + ": " + XHR.statusText);
}
};/*func*/
XHR.open("GET", url, true);
XHR.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=iso-8859-9');
XHR.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;language=tr');
XHR.send(null);
}
}
/**************************************************************************************
HTML.PageQuery()
Aktif sayfanın querystring değerleri üzerinde oynama yapmaya yarayan metoddur.
Daha fazla bilgi için: http://www.eggheadcafe.com/articles/20020107.asp
Örnek kullanımı:
var page = new PageQuery(window.location.search);
page.setValue("QueryString anahtarı", "QueryString Değeri");
document.location.href=document.location.pathname+"?"+page.q;
***************************************************************************************/
function PageQuery(q)
{
this.q = (q.length > 1)?q.substring(1, q.length):null;
if(this.q!=null)
{
this.keyValuePairs = this.q.split("&");
}
this.getValue = function(s)
{
for(var i=0; i < this.keyValuePairs.length; i++)
{
this.keyValuePair=this.keyValuePairs[i].split("=");
if (this.keyValuePair[0]==s)
return this.keyValuePair[1];
}
return false;
}
this.setValue = function(s, v)
{
var found=false;
if (this.keyValuePairs!=null)
{
for(var i=0; i < this.keyValuePairs.length; i++)
{
this.keyValuePair=this.keyValuePairs[i].split("=");
if (this.keyValuePair[0]==s)
{
this.keyValuePair[1]=v;
this.keyValuePairs[i]=this.keyValuePair.join("=");
found=true;
break;
}
}
}
else
this.keyValuePairs=new Array();
if (!found)
this.keyValuePairs.push(s+"="+v);
this.q=this.keyValuePairs.join("&");
}
}
/**************************************************************************************
HTML.moveTo()
's' SELECT elementinin seçili değerini 't' SELECT elementine taşır.
***************************************************************************************/
function moveTo(s, t) {
oSrc = $(s);
oTarget = $(t);
lLength=oSrc.options.length;
for (i=lLength - 1;i>=0;i--) {
if (oSrc.options(i).selected==true){
var t_Text = oSrc.options(i).text;
var t_Val = oSrc.options(i).value;
var oOption = document.createElement("OPTION");
oOption.text=t_Text;
oOption.value=t_Val;
oTarget.add(oOption);
oSrc.remove(i);
}
}
}
/**************************************************************************************
HTML.moveAll()
's' SELECT elementinin tüm değerlerini 't' SELECT elementine taşır.
***************************************************************************************/
function moveAll(s, t){
oSrc = $(s);
for (i=0;i<=oSrc.options.length - 1;i++) {
oSrc.options(i).selected=true;
}
moveTo(s, t);
}
/**************************************************************************************
HTML.runOnStartup()
'functionList' dizisindeki fonksiyonları arka arkaya çalıştırır.
body->onLoad() için uygundur.
***************************************************************************************/
function runOnStartup(functionList) {
if(functionList.length>0){
for (var jk=0; jk< functionList.length; jk++){
try{
eval(functionList[jk]);
}catch (e){}
}
}
}
/**************************************************************************************
HTML.getRDValue()
'o' olarak verilen 'radio' nesneler grubundaki seçili olan nesnenin değerini döner.
***************************************************************************************/
function getRDValue(o){
var oColl = document.getElementsByName(o);
for (var j= 0;j< oColl.length; j++){
if (oColl(j).checked) {
return oColl(j).value;
}
}
return false;
}
/**************************************************************************************
HTML.selectAll(o)
'o' olarak verilen 'select' nesnesinin tüm elemanlarını seçili hale getirir.
***************************************************************************************/
function selectAll(o){
oSrc = $(o);
for (i=0;i<=oSrc.options.length - 1;i++) {
oSrc.options(i).selected=true;
}
}
/**************************************************************************************
HTML.SetCookie(s, v)
's' ismindeki cookie değerine 'v' ataması yapar.
***************************************************************************************/
function SetCookie(s, v)
{
var path = document.location.pathname;
document.cookie = s+ "=" + escape(v) + "; expires=Fri, 31 Dec 2050 23:59:59 GMT;" + path;
}
/**************************************************************************************
HTML.GetCookie(s)
's' ismindeki cookie değerini döndürür
***************************************************************************************/
function GetCookie(s)
{
var aCookie = document.cookie.split("; ");
for (var i=0; i < aCookie.length; i++)
{
var aPair = aCookie[i].split("=");
if (s == aPair[0])
return unescape(aPair[1]);
}
return null;
}
/**************************************************************************************
HTML.addFlash(d, oid, fls, w, h)
'd' ismindeki DIV içine 'oid' ID' sine sahip ve 'fls' isimli, 'w' genişliğindeki,
'h' yüksekliğindeki flash dosyasını yerleştirir.
***************************************************************************************/
function addFlash(d, oid, fls, w, h)
{
var oDiv = $(d);
var s = '';
oDiv.innerHTML = s;
}