$(document).ready(function(){
    // siteURL (global)
    siteURL = $('base:first').attr('href');

    aktifMenu();

    // alternatif: $("li[class!='aktif']", 'ul#nav li') ~ bunların hız karşılaştırmasını yap ~ jQuery ve Ipuçları yazısında bahset
    $('ul#nav li').not('.aktif').mouseover(function(){
            $(this).addClass('aktif');
        }).mouseout(function(){
            $(this).removeClass('aktif');
    });
});


/* üstteki navigasyon menülerinden hangisinin aktif olduğunu belirler */
function aktifMenu()
{
    var pathname = document.location.pathname;

    var menu_indir = pathname.indexOf('indir')
    var menu_dokuman = pathname.indexOf('dokuman')
    var menu_demolar  = pathname.indexOf('demolar')
    var menu_eklentiler = pathname.indexOf('eklentiler')

    if( menu_indir !== -1 ) {
        $('a[href=indir.html]', 'ul#nav li').parent().addClass('aktif');
        return true;
    }

    if( menu_dokuman !== -1 ) {
        $('a[href=dokuman.html]', 'ul#nav li').parent().addClass('aktif');
        return true;
    }

    if( menu_demolar !== -1 ) {
        $('a[href=demolar.html]', 'ul#nav li').parent().addClass('aktif');
        return true;
    }

    if( menu_eklentiler !== -1 ) {
        $('a[href=eklentiler.html]', 'ul#nav li').parent().addClass('aktif');
        return true;
    }

    // kullanıcı sadece anasayfadaysa
    if( pathname.lastIndexOf('.html') === -1 ) {
        $('ul#nav li:first').addClass('aktif');
        return true;
    }

    return false;
}


/*
    geçerli bir eposta adresi mi?
*/
function is_email(email){
    var regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    return regex.test(email); 
}

function myConfirm(msg) 
{
    var S = getAllSizes();
    var w = S.pageWidth - getScrollBarWidth();
    var h = S.pageHeight;

    // Internet Explorer ise...
    if( $.browser.msie ){
        w = S.pageWidth;
    }

    $('<div id="myAlert"></div>')
        .appendTo( $('body') )
        .css({
            position: 'absolute',
            top: '0px',
            left: '0px',
            width: w,
            height: h,
            backgroundColor: '#000',
            opacity: 0.6
        });

    if( confirm(msg) === false ) {
        $('div#myAlert').remove();
        return false;
    }

    $('div#myAlert').remove();
    return true;
}

function myAlert(msg)
{
    var S = getAllSizes();
    var w = S.pageWidth - getScrollBarWidth();
    var h = S.pageHeight;

    // Internet Explorer ise...
    if( $.browser.msie ){
        w = S.pageWidth;
    }

    $('<div id="myAlert"></div>')
        .appendTo( $('body') )
        .css({
            position: 'absolute',
            top: '0px',
            left: '0px',
            width: w,
            height: h,
            backgroundColor: '#000',
            opacity: 0.6
        });

    alert(msg);

    $('div#myAlert').remove();
}

/*
    sorgu cümleciğinden bir değişkenin değerini alır.
    key: değeri alınmak istenen değişken
    def: eğer değişken yoksa onun yerine geçicek varsayılan bir değer
    http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx
*/
function getQueryString(key, def)
{
    def = '' || def;
    key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");

    var rx = new RegExp("[\\?&]"+key+"=([^&#]*)");
    var qs = rx.exec(window.location.href);

    if(qs === null) {
        return def;
    }

    return qs[1];
}


// getAllSizes()
// quirksmode.org'dan alınmıştır
//
function getAllSizes() 
{
    var scrollX,scrollY,windowX,windowY,pageX,pageY;

    if (window.innerHeight && window.scrollMaxY) {    
        scrollX = document.body.scrollWidth;
        scrollY = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
        scrollX = document.body.scrollWidth;
        scrollY = document.body.scrollHeight;
    } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
        scrollX = document.body.offsetWidth;
        scrollY = document.body.offsetHeight;
    }

    if (self.innerHeight) {    // all except Explorer
        windowX = self.innerWidth;
        windowY = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
        windowX = document.documentElement.clientWidth;
        windowY = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
        windowX = document.body.clientWidth;
        windowY = document.body.clientHeight;
    }

    pageY = (scrollY < windowY) ? windowY : scrollY; // for small pages with total height less then height of the viewport
    pageX = (scrollX < windowX) ? windowX : scrollX; // for small pages with total width less then width of the viewport

    return {pageWidth:pageX, pageHeight:pageY, winWidth:windowX, winHeight:windowY};
}

/*
    kadırma çubuklarının kapladığı alanı ver
*/
function getScrollBarWidth()
{
    var inner = document.createElement('p');
    inner.style.width = '100%';
    inner.style.height = '200px';

    var outer = document.createElement('div');
    outer.style.position = 'absolute';
    outer.style.top = '0px';
    outer.style.left = '0px';
    outer.style.visibility = 'hidden';
    outer.style.width = '200px';
    outer.style.height = '150px';
    outer.style.overflow = 'hidden';
    outer.appendChild(inner);

    document.body.appendChild(outer);

    var w1 = inner.offsetWidth;
    outer.style.overflow = 'scroll';
    var w2 = inner.offsetWidth;
    if (w1 == w2) w2 = outer.clientWidth;

    document.body.removeChild(outer);

    return (w1 - w2);
}