﻿/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

var splosnoID = 0;

function Splosno() {
}

/**
 * www.quirksmode.com
 */
function dogodek(e) {
    var E;
    if ( !e )
        E = window.event;
    else
        E = e;
    return E;
}

/**
 * www.quirksmode.com
 */
function dogodekCiljniElement(e) {
    e = dogodek(e);
    if ( e.target )
        cilj = e.target;
    else if ( e.srcElement )
        cilj = e.srcElement;
    if ( cilj.nodeType==3 ) // defeat Safari bug
        cilj = cilj.parentNode;
    return cilj;
}

function velikostElementa(element) {
    var s = 0, v = 0;

//    s = element.naturalWidth;
//    v = element.naturalHeight;
//    alert("A = "+ s +"×"+ v);
//    s = element.innerWidth;
//    v = element.innerHeight;
//    alert("B = "+ s +"×"+ v);
    s = element.clientWidth;
    v = element.clientHeight;
//    alert("C = "+ s +"×"+ v);

    return [s, v];
}

function velikostOkna() {
    var s = 0, v = 0;
    if ( typeof(window.innerWidth)=="number" ) {
        //Non-IE
        s = window.innerWidth;
        v = window.innerHeight;
    } else if ( document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight) ) {
        //IE 6+ in 'standards compliant mode'
        s = document.documentElement.clientWidth;
        v = document.documentElement.clientHeight;
    } else if ( document.body && (document.body.clientWidth || document.body.clientHeight) ) {
        //IE 4 compatible
        s = document.body.clientWidth;
        v = document.body.clientHeight;
    }

    return [s, v];
}

/**
 * www.quirksmode.com
 */
function dolociDogodek(obj, evt, fn) {
    if ( obj.addEventListener )
        obj.addEventListener(evt, fn, false);
    else if ( obj.attachEvent )
        obj.attachEvent('on'+evt, function () {return fn.apply(obj);});//pravilno delovanje IE this, kaj pa GC?
        //obj.attachEvent('on'+evt, fn);
}

///**
// * www.quirksmode.com
// */
//function odstraniDogodek(obj, evt, fn) {
//    if ( obj.removeEventListener )
//        obj.removeEventListener(evt, fn, false);
//    else if ( obj.detachEvent )
//        obj.detachEvent('on'+evt, fn);
//}

function prepreciPrivzeto(evt) {
    if ( evt && evt!="undefined" && evt.preventDefault )
        evt.preventDefault();
    return false;
}

function dobiLastnost(element, lastnost) {
    if ( element===null )
        return "";
    var vrednost = "";
    switch ( lastnost ) {
        case "id":
            vrednost = dodeliID(element);
            break;
        case "class":
            vrednost = element.className;
            break;
        case "tag":
            vrednost = element.nodeName.toLowerCase();
            break;
        case "checked":
            vrednost = element.checked;
            break;
        case "value":
            vrednost = element.value;
            break;
        case "type":
            vrednost = element.type;
            break;
        case "selectedIndex":
            vrednost = element.selectedIndex;
            break;
        case "colspan":
            vrednost = element.colSpan;
            break;
        case "rowspan":
            vrednost = element.rowSpan;
            break;
        default:
            vrednost = element.getAttribute(lastnost);
    }
    if ( vrednost===null )
        vrednost = "";
    return vrednost;
}

function dolociLastnost(element, lastnost, vrednost) {
    switch ( lastnost ) {
        case "id":
            //dodeliID(element);
            //Zaenkrat dovolimo ročno dodeljevanje IDjev
            element.id = vrednost;
            break;
        case "class":
            element.className = vrednost;
            break;
        case "checked":
            element.checked = vrednost;
            break;
        case "value":
            element.value = vrednost;
            break;
        case "type":
            element.type = vrednost;
            break;
        case "selectedIndex":
            element.selectedIndex = vrednost;
            break;
        case "colspan":
            element.colSpan = vrednost;
            break;
        case "rowspan":
            element.rowSpan = vrednost;
            break;
        default:
            element.setAttribute(lastnost, vrednost);
    }
}

function dobiStil(element, lastnost) {
    eval("vrednost = element.style."+ lastnost +";");
    return vrednost;
}

function dolociStil(element, lastnost, vrednost) {
    eval("element.style."+ lastnost +" = '"+ vrednost +"';");
}

function dodeliID(element) {
    if ( !element.id || element.id=='undefined' )
        element.id = "js"+ splosnoID++;
    return element.id;
}

/* FINAL
 * Trim.
 */
function ocisti(vrednost) {
    return vrednost.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

/* FINAL
 * Poišče bratsko polje.
 */
function poisciBratskoPolje(polje, razredBratskegaPolja) {
    var iskanoPolje = null;
    var oce = polje.parentNode;
    if ( oce.hasChildNodes() ) {
        for ( var i=0; i<oce.childNodes.length; ++i ) {
            if ( dobiLastnost(oce.childNodes[i], "class")==razredBratskegaPolja ) {
                iskanoPolje = oce.childNodes[i];
                break;
            }
        }
    }
    return iskanoPolje;
}

function dolociPiskot(ime, vrednost, trajanje) {
    var rok = new Date();
    rok.setDate(rok.getDate() + trajanje);
    document.cookie = ime +"="+ escape(vrednost) + (trajanje==null ? "" : ";expires="+ rok.toUTCString() +";path=/");
}

function dobiPiskot(ime) {
    var a, b;
    if ( document.cookie.length>0 ) {
        a = document.cookie.indexOf(ime + "=");
        if ( a!=-1 ) {
            a = a + ime.length + 1;
            b = document.cookie.indexOf(";", a);
            if ( b==-1 )
                b = document.cookie.length;
            return unescape(document.cookie.substring(a, b));
        }
    }
    return "";
}

function steviloPojavljan(besedilo, znak) {
    var st = 0;
    var b = znak.length;
    var a = besedilo.indexOf(znak);
    while ( a!=-1 ) {
        besedilo = besedilo.substr(a+1);
        a = besedilo.indexOf(znak);
        ++st;
    }
    return st;
}

