var // muutujad konfimiseks
    menuDelay = 600,
    c_url = '/images/c/',
    d_url = '/images/d/',
    s_url = '/images/s/',
    v_url = '/images/v/';
	var test = ''; // deleteme

var  // muutujad, mida mitte konfida
    toode = 0,

    SEK  = 1000,
    MIN  = 60 * SEK,
    TUND = 60 * MIN,
    
    // menüü jaoks
    aktmenu = null,
    aktmenu2 = null,
    aktmenu3 = null,
    hidemenu = 0,
    hidemenu2 = 0,
    hidemenu3 = 0,
    
    menuZoomStopped = false,

    // kella jaoks
    tiktak = null,

    // tootepiltide jaoks
    cpildid = {};

var ganal = {
 'www.on24.ee':         ['UA-679087-1'],
 'on24.delfi.ee':       ['UA-679087-1'],
 'www.on24.fi':         ['UA-679087-2'],
 'www.on24moebel.de':   ['UA-679087-3'],
 'ru.on24.ee':          ['UA-679087-8', 'UA-679087-1'],
 'rus.on24.delfi.ee':   ['UA-679087-8', 'UA-679087-1']    
};

function $(o) { return document.getElementById ? document.getElementById(o) : document.all[o]; }

(function($){$.show=function(o,b) {var oo=$(o); if(oo) oo.style.display=(typeof b ==='undefined')?'block':b;}
})($);

(function($){$.hide=function(o) {var oo=$(o); if(oo) oo.style.display='none';}
})($);

(function($){$.toJSON=function(o)
{if(typeof(JSON)=='object'&&JSON.stringify)
return JSON.stringify(o);var type=typeof(o);if(o===null)
return"null";if(type=="undefined")
return undefined;if(type=="number"||type=="boolean")
return o+"";if(type=="string")
return $.quoteString(o);if(type=='object')
{if(typeof o.toJSON=="function")
return $.toJSON(o.toJSON());if(o.constructor===Date)
{var month=o.getUTCMonth()+1;if(month<10)month='0'+month;var day=o.getUTCDate();if(day<10)day='0'+day;var year=o.getUTCFullYear();var hours=o.getUTCHours();if(hours<10)hours='0'+hours;var minutes=o.getUTCMinutes();if(minutes<10)minutes='0'+minutes;var seconds=o.getUTCSeconds();if(seconds<10)seconds='0'+seconds;var milli=o.getUTCMilliseconds();if(milli<100)milli='0'+milli;if(milli<10)milli='0'+milli;return'"'+year+'-'+month+'-'+day+'T'+
hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}
if(o.constructor===Array)
{var ret=[];for(var i=0;i<o.length;i++)
ret.push($.toJSON(o[i])||"null");return"["+ret.join(",")+"]";}
var pairs=[];for(var k in o){var name;var type=typeof k;if(type=="number")
name='"'+k+'"';else if(type=="string")
name=$.quoteString(k);else
continue;if(typeof o[k]=="function")
continue;var val=$.toJSON(o[k]);pairs.push(name+":"+val);}
return"{"+pairs.join(", ")+"}";}};$.evalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);return eval("("+src+")");};$.secureEvalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered))
return eval("("+src+")");else
throw new SyntaxError("Error parsing JSON, source is not valid.");};$.quoteString=function(string)
{if(string.match(_escapeable))
{return'"'+string.replace(_escapeable,function(a)
{var c=_meta[a];if(typeof c==='string')return c;c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}
return'"'+string+'"';};var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var _meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};
})($);


function getRPC() { 
    var rpc = undefined;
    
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        rpc = new XMLHttpRequest();

    } else if (window.ActiveXObject) { // IE
        try {
            rpc = new ActiveXObject("Msxml2.XMLHTTP");
        } catch ( e) {
            try {
                rpc = new ActiveXObject("Microsoft.XMLHTTP");
            } catch ( e2) {}
        }
    }
    
    return rpc;
}

if( typeof String.prototype.trim != 'function' ){
    String.prototype.trim = function() { 
      return this.replace( /^\s+/g, '' ).replace( /\s+$/g, '');
    };
}

/*
Developed by Robert Nyman, http://www.robertnyman.com
Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/  
var getElementsByClassName = function (className, tag, elm){
if (document.getElementsByClassName) {
    getElementsByClassName = function (className, tag, elm) {
        elm = elm || document;
        var elements = elm.getElementsByClassName(className),
            nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
            returnElements = [],
            current;
        for(var i=0, il=elements.length; i<il; i+=1){
            current = elements[i];
            if(!nodeName || nodeName.test(current.nodeName)) {
                returnElements.push(current);
            }
        }
        return returnElements;
    };
}
else if (document.evaluate) {
    getElementsByClassName = function (className, tag, elm) {
        tag = tag || "*";
        elm = elm || document;
        var classes = className.split(" "),
            classesToCheck = "",
            xhtmlNamespace = "http://www.w3.org/1999/xhtml",
            namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
            returnElements = [],
            elements,
            node;
        for(var j=0, jl=classes.length; j<jl; j+=1){
            classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
        }
        try {
            elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
        }
        catch (e) {
            elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
        }
        while ((node = elements.iterateNext())) {
            returnElements.push(node);
        }
        return returnElements;
    };
}
else {
    getElementsByClassName = function (className, tag, elm) {
        tag = tag || "*";
        elm = elm || document;
        var classes = className.split(" "),
            classesToCheck = [],
            elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
            current,
            returnElements = [],
            match;
        for(var k=0, kl=classes.length; k<kl; k+=1){
            classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
        }
        for(var l=0, ll=elements.length; l<ll; l+=1){
            current = elements[l];
            match = false;
            for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
                match = classesToCheck[m].test(current.className);
                if (!match) {
                    break;
                }
            }
            if (match) {
                returnElements.push(current);
            }
        }
        return returnElements;
    };
}
return getElementsByClassName(className, tag, elm);
};

function externalLinks() {
  if (!document.getElementsByTagName) return false;
  var anchors = document.getElementsByTagName("a");
  for (var i=0; i<anchors.length; i++) {
    var anchor = anchors[i];
    if (anchor.getAttribute('href') && anchor.getAttribute('rel') == 'external')
      anchor.target = '_blank';
  }
  
}

function nn(n) { n = n.toString(); if (n.length == 1) n = '0' + n; return n; }

function initpage(uks) {
    
    // initalize category menu
    initmenu();
  
    // anchor target="_blank" in xhtml
    externalLinks();
   
    change_searchbox_bg(true);
    
	if(typeof langId !=='undefined' && typeof t_tarneaeg !=='undefined' && typeof t_hankija !=='undefined') {
		var vtl = (typeof viim_tarneaeg === "undefined")?null:$.evalJSON(viim_tarneaeg), firstViim = document.getElementsByName("viim");
		if (firstViim && firstViim.length == 1) firstViim=firstViim[0].value;
		var vt = vtl?vtl[firstViim]:null;
		if (vt) {showtarne(langId,vt,t_hankija); $.hide('viimtarneinfotekst');} else showtarne(langId,t_tarneaeg,t_hankija);
	}
    
    // need initid annavad false kui leiavad, et ei ole vaja
    initviim();
    
    inittootepildid2(); // loeb mällu kõik C/D pildid
    
    // calculates jm additional variables
    var jmInput = $('m-summa');
    if( jmInput && jmInput.form ){
        jmReCalc( jmInput.form, true);
    }

    // kontroll, et ainult reaalne info rändaks googlisse
    var _uacct = ganal[document.location.host];
    if( _uacct && window._gat ){
    for(var i = 0; i< _uacct.length; i++){
        _uaccti = _uacct[i];
        var pageTracker = _gat._getTracker(_uaccti);
        
        // ühendab analüüsis www.on24.ee ja on24.delfi.ee statistika
        if (uks == 1 || uks == 10) { 
          pageTracker._setDomainName('none');
          pageTracker._setAllowLinker(true);
        }
        
        // ühendab analüüsis ru.on24.ee ja rus.on24.delfi.ee statistika
        if (uks == 12 || uks == 19) { 
          pageTracker._setDomainName('none');
          pageTracker._setAllowLinker(true);
        }
        
        // localized 
        add_organics(pageTracker);
        
        pageTracker._initData();
        
        // Google Analytics Keyword Sleuth 2.0.2 - ga.js Version
        // If a visitor arrives from a search engine, grab their exact search query and store it in the user defined variable.
        if( false && (document.location.search.indexOf("gclid")!=-1 || document.location.search.indexOf("cpc")!=-1) ) {
            var ref = document.referrer;
            var re = /(\?|&)(q|p|query)=([^&]*)/;
            var searchq = re.exec(ref);
            if(searchq) {
                pageTracker._setVar(searchq[3]);
            }
        }
        
        
        pageTracker._trackPageview();
    }
    }
}

function change(obj, img) { document.images[obj].src = img.toString() + '.src'; }
function raha(sum, sendid, yhik, koma){
    sendid = parseInt(sendid || 0, 10);  // sentidega: 1, automaatne: 0, sentideta: -1

    yhik = yhik || '';
    koma = koma || ',';

    if (typeof sum == 'string')
        sum = parseFloat(sum.replace(/,/, '.'), 10) || 0;

    if (sendid >= 0){
        // ümardame summa, et ei tuleks rohkem komakohti kui 2
        sum = Math.round(sum * 100) / 100;
        // summa on täisarv
        if (sum == Math.round(sum)) {
            if (sendid === 0){
                sum = sum.toString();
            } else { 
                sum = sum.toString() + koma + '00';
            }
        
        // summa on ühekohaline komaga arv    
        } else if ((sum * 10) == Math.round(sum * 10)) {
            
            sum = sum.toString() + '0';
            
        } else {
            sum = sum.toString();
        }
        
    } else {
        sum = Math.round(sum).toString();
    }

    return sum.replace(/\./, koma) + yhik;
}


// JM kalkulaator

function jmInterest(sum, aeg, firma, digiSign) {
    var p, is, imap, iper, x, y;

    switch(firma) {
	  case 'ON24OSAMAKS':
		  return 0.249;
	  case 'LIISI':
          // 5x5 matrix intressi leidmiseks: Y = sum; X = months(per)
          imap = [0.25,0.25,0.25,0.23,0.22, 0.22,0.21,0.20,0.19,0.18, 0.20,0.18,0.18,0.17,0.16, 0.20,0.18,0.18,0.17,0.16, 0.20,0.18,0.18,0.17,0.16];
          is = [200,400,600,800,10000], iper = [6,12,24,36,48];
          
          for (y=0; y<5; y++) {if (sum <= is[y]) break;}
          for (x=0; x<5; x++) {if (aeg <= iper[x]) break;}
          if (x == 5 || y == 5) return 0.220;
          return imap[y * 5 + parseFloat(x,10)];
    }
    p = 0.200, is = { 0: 0.219, 1300: 0.199 };
    
    if(aeg == 3) return 0;
  
    for (var i in is) {
        if (sum < i) break;
    
        p = is[i];
    }
    
    if(digiSign){
       p -= 0.02; 
    }
    
    return p;
}

function jmLepingutasu(sum, aeg, firma) {
  var p = 0.0;
  
  switch(firma) {
	  case 'ON24OSAMAKS':
		  return 0;
	  case 'LIISI':
		  return 0;
	  default:
	if(aeg == 3){
		p = Math.max(sum*0.035*1.20, 40);
	} else {
		p = 19; // SWEDBANK / EGO lepingutasu
		//p = 0; // SWEDBANK / EGO lepingutasu
	}
  }
  
  return p;
}

function cofiCalc(assets_price,payments,down_payment,callback) {
    var url=cofiCalcUrl+"/calculator/calculate?p[assets_price]="+assets_price+"&p[payments]="+payments+"&p[down_payment]="+down_payment+"&callback="+callback+"&campaign=on24"
    var s=$('scriptinject');
    var e=document.createElement('script');
    if (!s || !e) return false;
    e.id="cfcid";
    e.src=url;
    if ($('cfcid')) s.removeChild($('cfcid'));
    s.appendChild(e);
    return true;
}

function cofiCB(form,msg) {
    if (!msg || !form) return;
    var m = msg.monthly_payment,
        s = form.summa_tasuda?form.summa_tasuda:form.summa,
        fp = msg.first_payment;
    s = parseFloat(s.value.replace(',', '.').replace(' ', '') , 10);
    //sm = Math.round(.499 + s * form.advancepaymentPercent.value / 100.0);
    if (form.kuumaks) form.kuumaks.value=m;
    if (form.esimenemakse) form.esimenemakse.value=fp;
}

function showHideByClass(cl, show) {
	var es = getElementsByClassName(cl);
	for(var i = 0; i < es.length; i++){
		es[i].style.display=show?"":"none";
	}
}

function jmReCalc(form, noErrors ) {
    if(!form || !form.paymentperiod ) return false;
    
    var s =  '-';
    if( form.summa_tasuda ) s = form.summa_tasuda.value;
    else if( form.summa_kokku ) s = form.summa_kokku.value; 
    else s = form.summa.value;
              
    var period = form.paymentperiod.value;
    var jmPakkuja = null;
    
    if(form.jmPakkuja != null)
    	jmPakkuja = form.jmPakkuja.value;
		
	var on24osamaks = jmPakkuja == 'ON24OSAMAKS',
		jmLk = jmPakkuja == 'LIISIKONTO';
		
	showHideByClass('jm_osa',on24osamaks);
	showHideByClass('jm_lk',jmLk);
	showHideByClass('jm',!(on24osamaks || jmLk));
	showHideByClass('jm jm_osa',!jmLk);
	showHideByClass('jm jm_lk',!on24osamaks);
	showHideByClass('jm jm_osa jm_lk',1);

    s = parseFloat(s.replace(',', '.').replace(' ', '') , 10);  
    if (isNaN(s)){
        s = 0;
    }

    if(form.esimenemakse)form.esimenemakse.value = '-';
    if (s === 0) {
        if(form.sissemaks)   form.sissemaks.value = '-';
        if(form.kuumaks)     form.kuumaks.value = '-';
        if(form.lepingutasu) form.lepingutasu.value = '-';
        if(form.summa)       form.summa.value = '';
    } else {

        //lepingutasu
        var leping = jmLepingutasu(s, period, jmPakkuja);
        
        //intress 
        var digiSign = false;
        if(form.signDigital){
            digiSign = form.signDigital.checked;
        }
        
        var ir = jmInterest(s, period, jmPakkuja, digiSign); //intress aastas
        form.intress.value = raha( ir*100, 1, ' %');

        if (jmPakkuja == 'LIISI' || jmPakkuja == 'SWEDBANK') {
        	form.advancepaymentPercent[0].style.display="none"; // peida 0%
        	if (form.advancepaymentPercent.value == "0")
        		form.advancepaymentPercent.value = "5";
        } else {
        	form.advancepaymentPercent[0].style.display="";
        }

        form.paymentperiod[0].style.display=on24osamaks?"none":""; // peida 3 kuud
        try {form.paymentperiod.item(0).style.color=on24osamaks?"grey":"";} catch (e) {} // IE
        if (on24osamaks && form.paymentperiod.value == "3") form.paymentperiod.value = "6";
        
        var sm = Math.round(.499 + s * form.advancepaymentPercent.value / 100.0);
        form.sissemaks.value = raha(sm, 1, '');

        //kuutasu
        var kuumakse = '-';	
		if(form.kuumaks)     form.kuumaks.value = kuumakse;
		
		var callerIsMenuCalc = form.summa.id == "m-summa";
		if (on24osamaks || callerIsMenuCalc) {
	        if ((s-sm) < 150)  {
	        	if (noErrors) {
	        		return onshop_msg['errors.jm.summa.cofi'];
	        	}
	        	alert(onshop_msg['errors.jm.summa.cofi']);
	            return false;
	        }
	        cofiCalc(s,period,sm,callerIsMenuCalc?"menucallback":"mycallback");
	        return true;
		}

        if(ir === 0){
          kuumakse = (s - sm) / period;  
        } else {

        	if (jmPakkuja == 'LIISI') {
        		kuumakse =  Math.round(100*(((s - sm) * (1.0 + ir * period / 12)) / period))/100;
        	} else {
            	kuumakse =  (ir / 12.0) * (s - sm) / (1.0 - 1.0 / Math.pow( (ir / 12.0)  + 1.0, period)) ;
            }
        }
        
        if(form.kuumaks)     form.kuumaks.value = raha(kuumakse, 1, '');
        if(form.summaActual) form.summaActual.value = raha(sm + period*kuumakse -s, 1, '');
        if(form.lepingutasu) form.lepingutasu.value = raha(leping, -1, '');
        if(form.summa)       form.summa.value = raha(s, 1);
		if(form.krediidikulukus) {form.krediidikulukus.value=null; if(s>0 && (s-sm)>0) form.krediidikulukus.value = Math.round(10000*((period*kuumakse+leping)/(s-sm)-1))/100 + "%";}
            
        var errors = '';
        if (kuumakse < 7.0) { //eurfix
            errors += onshop_msg['errors.jm.kuumakse'] + "\n";
        }

    	if (jmPakkuja == 'LIISI') {
	        if (s < (1000.0/15.6466) || s > (150000.0/15.6466)) {
	            errors += onshop_msg['errors.jm.summa.liisi'] + "\n";
	        }
	    } else {
	    	if (s < (2000.0/15.6466) || s > (150000.0/15.6466)) {
	    		errors += onshop_msg['errors.jm.summa'] + "\n";
	    	}
	    }

    	// vigasid ei näita lehe laadides
        if ( noErrors) {
            return errors;
        
        } else {
            if(errors) alert(errors);
            return false;
        }  
    
    }
}

function removeEmptyTextNodes(obj) {
    // sisuliselt peaks see normalize() olema
    for (var i = 0; i < obj.childNodes.length; i++){
        var c = obj.childNodes[i];
        if (c.nodeName === '#text' && (c.nodeValue.replace(/\s/g,'') === '')) { c.parentNode.removeChild(c); i--; }
        else removeEmptyTextNodes(c);
    }
}

// Menüü
function hideFilt(){
    var f = $('filt');
    if( f ){
       f.style.visibility = 'hidden';
    }
    return false;
}

function showFilt(){
    var f = $('filt');
    if( f ){
        f.style.visibility = 'visible';
    }        
    return false;
}

function amenushow(e, me) {
    e = e || window.event;
    
    /*
    e.cancelBubble = true;
    if (e.stopPropagation){
        e.stopPropagation();
    }*/
    
    if (hidemenu) window.clearTimeout(hidemenu);
    hidemenu = 0;
    if (aktmenu) akthide();
    
    aktmenu = me;
    aktmenu.className += ' akt';
    //if(aktmenu.childNodes.length > 1) aktmenu.childNodes[1].style.visibility = 'visible';
	
	hideFilt();
	
    return false;
}
function akthide() {
    
    if (hidemenu) window.clearTimeout(hidemenu);
    hidemenu = 0;
    if (!aktmenu) return false;
    
    aktmenu.className = aktmenu.dc;
    if(aktmenu.childNodes.length > 1 && !aktmenu.className.match('sel')) aktmenu.childNodes[1].style.visibility = 'hidden';
    aktmenu = null;
    
	showFilt();
    
    return false;
}

function amenushow2(e, me){
    e = e || window.event;
    
    /*
    e.cancelBubble = true;
    if (e.stopPropagation){
        e.stopPropagation();
    }*/
    
    if (hidemenu2) window.clearTimeout(hidemenu2);  
    hidemenu2 = 0;
    if (aktmenu2) akthide2();
    aktmenu2 = me;
    aktmenu2.className += ' akt';

    var menu3 = aktmenu2.childNodes[1];
    if(menu3){
        
        //check 3.th level placement
        var WH = windowSize(); //W,H, offX,offY
        var mPlace = objectPlace(menu3); //x,y, dx,dy        
        //change position 
        var over = mPlace[1]+mPlace[3] - (WH[1]+WH[3]);    
        if( over > 0 ){
            menu3.style.top = (menu3.offsetTop -over) + 'px';
        }
        
        menu3.style.visibility = 'visible';
    }
    
    hideFilt();

    return false;
}
function akthide2(){
    
    if (hidemenu2)  window.clearTimeout(hidemenu2);
    hidemenu2 = 0; 
    if (!aktmenu2) return false;
    aktmenu2.className = aktmenu2.dc;
    if(aktmenu2.childNodes.length > 1 ) aktmenu2.childNodes[1].style.visibility = 'hidden';
    aktmenu2 = null;
	
	showFilt();
	
    return false;
}

function amenushow3(e, me){ // mark 3th level
    e = e || window.event;
    
    /*e.cancelBubble = true;
    if (e.stopPropagation){
        e.stopPropagation(); 
    }*/
    
    if (hidemenu3) window.clearTimeout(hidemenu3); 
    hidemenu3 = 0;
    if (aktmenu3) akthide3();
    aktmenu3 = me;
    
    aktmenu3.className += ' akt';
    if(aktmenu3.childNodes.length > 1) aktmenu3.childNodes[1].style.visibility = 'visible';
    
    hideFilt();
    
    return false;    
}
function akthide3(){
    
    if (hidemenu3) window.clearTimeout(hidemenu3);
    hidemenu3 = 0;
    if (!aktmenu3) return false;
    
    aktmenu3.className = aktmenu3.dc;
    if(aktmenu3.childNodes.length > 1) aktmenu3.childNodes[1].style.visibility = 'hidden';
    aktmenu3 = null;
	
	showFilt();
	
    return false;
}

// object location and size
function objectPlace(elem){
    var obj = elem;
    var curW = 0, curH = 0;
    if(obj.offsetWidth ) curW = obj.offsetWidth;
    if(obj.offsetHeight) curH = obj.offsetHeight;
    
    var curleft = 0, curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft;
        curtop = obj.offsetTop;
        while ( !!(obj = obj.offsetParent) ) {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
    }    
        
    return [curleft,curtop, curW, curH];
    
}
// window size
function windowSize() {
  var winW = 0, winH = 0;
  if( typeof window.innerWidth  === 'number' ) {
    // Non-IE
    winW = window.innerWidth;
    winH = window.innerHeight;
    
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    // IE 6+ in 'standards compliant mode'
    winW = document.documentElement.clientWidth;
    winH = document.documentElement.clientHeight;
    
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    // IE 4 compatible
    winW = document.body.clientWidth;
    winH = document.body.clientHeight;
  }
  
  var scrOfX = 0, scrOfY = 0;
  if( typeof window.pageYOffset === 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
    
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
    
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }

  
  return [winW,winH, scrOfX,scrOfY];
}

window.isIE = (navigator.userAgent.toLowerCase().indexOf('msie') != -1 ); 

function initmenu(){
    var m = $('menu');
    if(!m) return false;
    
    var hm = document.location.toString().replace(/;.*$/, ''); // hm = hrefmatch
    m = m.parentNode;
	if(!m) return false; // IE sometimes gets m=undefined and script crashes
    var menu = m.cloneNode(true);

    // removeEmptyTextNodes(menu); // IE jaoks - ta ei saa struktuurist muidu aru
    
    var mit = null; // mit = menuitems
    for(var i = 0; menu.childNodes[i]; i++){
        var menui = menu.childNodes[i];
        if(menui.childNodes && menui.childNodes.length){
            mit = menui.childNodes;
            break;
        }
    }

    for (var i = 0; i < mit.length; i++){
        if (mit[i].childNodes.length === 0){
            mit[i].onmouseover = akthide;
            
        } else {
            mit[i].dc = mit[i].className || '';
            mit[i].onmouseover = function(e){amenushow(e, this);};
            mit[i].onmouseout  = function () { hidemenu = window.setTimeout(akthide, menuDelay); };

            for (var m2 = mit[i].childNodes[1].childNodes, j = 0; j < m2.length; j++){
            
                if (m2[j].childNodes.length === 0){
                    m2[j].onmouseover = akthide2;
                    
                } else {
                    m2[j].dc = m2[j].className || '';
                    m2[j].onmouseover = function(e){ amenushow2(e, this);};
                    m2[j].onmouseout  = function () { hidemenu2 = window.setTimeout(akthide2, menuDelay); };
                            
                    if( m2[j].childNodes[1] ) {
                        //reset 3th menu location
                        m2[j].childNodes[1].style.top   = '';
                        for (var m3 = m2[j].childNodes[1].childNodes, k = 0; k < m3.length; k++) {   
                           m3[k].dc = m3[k].className || '';
                           m3[k].onmouseover = function(e){ amenushow3(e, this);};
                           m3[k].onmouseout  = function () { hidemenu3 = window.setTimeout(akthide3, menuDelay); };
                        }
                    }
                }
    
                var s = m2[j].firstChild.href;
                if(isIE) s = ieFixHref(s);
                
                if (hm !== null && ( hm.match(s) || hm.match(escape(s).replace('%3A', ':')) )) {
                    m2[j].dc = m2[j].parentNode.parentNode.dc = // default class nimed (kasutatakse skriptis)
                    m2[j].className = m2[j].parentNode.parentNode.className = 'sel';
    
                    if( m2[j].childNodes[1] ) {
                        for (var m3 = m2[j].childNodes[1].childNodes, k = 0; k < m3.length; k++){
                            s = m3[k].firstChild.href.replace("\?","\\\?");
                            if(isIE) s = ieFixHref(s);
                            if (hm.match(s) || hm.match(escape(s).replace('%3A', ':'))){
                                m3[k].dc = m3[k].parentNode.parentNode.dc = // default class nimed (kasutatakse skriptis)
                                m3[k].className = m3[k].parentNode.parentNode.className = 'sel';
                            }
                        }
                    }
    
                    hm = null;
                }
            }
        }
    }
    
    m.parentNode.replaceChild(menu, m);
    
    var m_eri = $('menueri'), m_avale = $('menuavale');
    if(m_eri)   m_eri.onmouseover   = akthide;
    if(m_avale) m_avale.onmouseover = akthide;
}

function ieFixHref(s){
    // host == "about:blank" (ie6)
    // host == "about:" (ie7)
    s = s.replace("about:blank", document.location.protocol + '//' + document.location.host);
    s = s.replace("about:", document.location.protocol + '//' + document.location.host);
    return s;
}

// can not return true/false, otherwise popup in new tab
function show_c(id){
    if(cpildid.current === id) return; 

    var dst = $('tootepilt'), dstC, dstD;
    while(dst){
        if(dst.tagName === 'IMG') dstC = dst;
        if(dst.tagName === 'A') dstD = dst;
        
        dst = dst.firstChild;
    }
    
    var cpCur = cpildid[id];
    if(dstC && dstC.src  !== cpCur.cSrc) dstC.src  = cpCur.cSrc;
    
    if(window.MagicThumb && window.MagicZoom_zooms){
        if(cpCur.dSrc){
            if(dstD && dstD.href !== cpCur.dSrc) dstD.href = cpCur.dSrc;
            
            // restart Magic beacause img sizes can be different
            MagicThumb.stop();
            MagicZoom_stopZooms();
            
            // start Magic
            dstC.parentNode.className = 'MagicZoom MagicThumb';
            
            MagicThumb.init();
            MagicZoom_findZooms();
            
            cpildid.hasZoom = true;
            
        } else {
            
            if( MagicThumb.thumbs && MagicThumb.thumbs[0] ){
                MagicThumb.thumbs[0].anchor.href = 'javascript:void(0)';
            }
            
            var tpilt = $('tootepilt');
            if(cpildid.hasZoom){
                var anch = tpilt.firstChild;
                anch.className = '';
                
                MagicThumb.stop();
                MagicZoom_stopZooms();
                
                // remove hanging zoomboxes
                var mzps = getElementsByClassName('MagicZoomPup', 'div', tpilt);
                for(var i = 0; i < mzps.length; i++){
                    var mzp = mzps[i];
                    mzp.parentNode.removeChild(mzp);
                }
            }
            
            cpildid.hasZoom = false;
        }
    }
    
    cpildid.current = id;
    
}

// Tootekaardi pildi näitamine
function inittootepildid(){
    var pildid = $('tootepildid');
    if (!pildid) return;

    //removeEmptyTextNodes(pildid);
    pildid = pildid.childNodes;
    
    for(var i = 0; i < pildid.length; i++) {
        var piltI = pildid[i];
        
        var pid = piltI.firstChild.href.match(/_c_(\d*)/)[1];
        pid = parseInt(pid, 10);
        if( isNaN(pid) ) continue;
        
        piltI.firstChild.href = 'javascript:show_c(' + pid + ')';
        piltI.imgId = pid;
        piltI.onmouseover = function(){ show_c(this.imgId) };
    }
    
}

// loeb ylejäänud pildid ka mällu
function inittootepildid2(){ 
    
    if(!cpildid.hasZoom && $('tootepilt') ){
        if(window.MagicThumb && window.MagicZoom_stopZooms){ 
            MagicThumb.stop();
            MagicZoom_stopZooms();
        }
    }

    for (var pid in cpildid){
        if(!cpildid[pid] || !cpildid[pid].cSrc) continue;

        var tmpImg = new Image();
        tmpImg.src = cpildid[pid].cSrc;
        
        if(cpildid[pid].dSrc){
            var tmpImg2 = new Image();
            tmpImg2.src = cpildid[pid].dSrc;
        }
    } 
}


function vis_tarne(cl, show, value) {
	var r=false, el = getElementsByClassName(cl,null,$('tarneinfotekstid'));
	for(var i=0; el && i<el.length; i++){
		var e = el[i];
		if (e && e.style) {
			e.style.display=show?"block":"none";
			r=true;
			
			for(var i=0; show && e.childNodes && i<e.childNodes.length; i++){
				if (e.childNodes[i].tagName=="INPUT") e.childNodes[i].value=value;
			}
		}
	}
	return r;
}

function showtarne(lang,d,hankija) {
	// hide all first
	var el = $('tarneinfotekstid');
	for(var i=0; el && el.childNodes && i<el.childNodes.length; i++){
		var e = el.childNodes[i]; if (e && e.style) e.style.display="none";
	}

	var shown=false,showAskForInfo=false;
	
	if (lang==1||lang==3) {
		if (t_fitsAutom) {
			// AUTOM
			if(d<=0) {
			//} else if(d==1 && hankija == 54) {
			} else if(d==1) {
				shown=vis_tarne('tarne_autom tarne_laos',1);
			} else if(d>0 && d<=2) {
				shown=vis_tarne('tarne_autom tarne_paev',1,'2-7');
			} else if(d>2 && d<=4) {
				shown=vis_tarne('tarne_autom tarne_paev',1,'2-9');
			}
		}
		
		//HOME
		if(d<=0) {
			vis_tarne('tarne_show_askinfo',1);
		} else if(d==1) {
			shown=vis_tarne('tarne_home tarne_toopaev',1,'6');
		} else if(d<=9) {
			shown=vis_tarne('tarne_home tarne_toopaev',1,'10');
		} else if(d<=16) {
			shown=vis_tarne('tarne_home tarne_nadal',1,'2-3');
		} else if(d<=23) {
			shown=vis_tarne('tarne_home tarne_nadal',1,'2-4');
		} else if(d<=37) {
			shown=vis_tarne('tarne_home tarne_nadal',1,'2-6');
		} else if(d<=55) {
			shown=vis_tarne('tarne_home tarne_kuu',1,'1-2');
		} else if(d<=64) {
			shown=vis_tarne('tarne_home tarne_kuu',1,'1-3');
			showAskForInfo=true;
		} else if(d<=98) {
			shown=vis_tarne('tarne_home tarne_kuu',1,'1-4');
			showAskForInfo=true;
		} else if(d>98) {
			shown=vis_tarne('tarne_home tarne_kuu',1,'1-4');
			vis_tarne('tarne_show_askinfo',1);
		} 

		//ISE
		if(d<=0) {
		} else if(d==1) {
			shown=vis_tarne('tarne_ise tarne_laos',1);
		} else if(d>0 && d<=2) {
			shown=vis_tarne('tarne_ise tarne_paev',1,'1-6');
		} else if(d>2 && d<=4) {
			shown=vis_tarne('tarne_ise tarne_paev',1,'3-8');
		}
	} else if (lang==2) {
		//HOME
		if(d<=0) {
			vis_tarne('tarne_show_askinfo',1);
		} else if(d<=9) { // lao toode
			shown=vis_tarne('tarne_home tarne_toopaev',1,'6');
		} else if(d<=14) {
			shown=vis_tarne('tarne_home tarne_toopaev',1,'10');
		} else if(d<=21) {
			shown=vis_tarne('tarne_home tarne_nadal',1,'1-3');
		} else if(d<=28) {
			shown=vis_tarne('tarne_home tarne_nadal',1,'2-4');
		} else if(d<=35) {
			shown=vis_tarne('tarne_home tarne_nadal',1,'3-5');
		} else if(d<=42) {
			shown=vis_tarne('tarne_home tarne_nadal',1,'4-6');
		} else if(d<=49) {
			shown=vis_tarne('tarne_home tarne_nadal',1,'5-7');
		} else if(d<=56) {
			shown=vis_tarne('tarne_home tarne_nadal',1,'6-8');
		} else if(d<=84) {
			shown=vis_tarne('tarne_home tarne_nadal',1,'10-12');
		} else if(d<=112) {
			shown=vis_tarne('tarne_home tarne_nadal',1,'13-16');
		} else {
			shown=vis_tarne('tarne_home tarne_long',1);
		} 
	}
	
	if (showAskForInfo) vis_tarne('tarne_show_askinfo',1);
	if (typeof viim_tarneaeg !== "undefined") {
        var $count=0;
        for (var key in $.evalJSON(viim_tarneaeg)) {
            if ($count++>0) {$.show('viimtarneinfotekst'); break; }
        }
    }
}

function viimurl(id) { return v_url + id + '_v.jpg'; }
function initviim(){
    var v = $('viim');
    if (typeof viim_pilt === 'undefined' || !viim_pilt.length || !v) return false;
	var vtl = (typeof viim_tarneaeg === "undefined")?null:$.evalJSON(viim_tarneaeg);
	
    var viim_change = function() {
        var v = $('viimpilt'), url = viimurl(this.value), opt = this.options;
        
        for (var i = 0; i < viim_pilt.length; i++){
            //set select value from vb
            if(opt[opt.selectedIndex].value != this.value){
                for(var j=0; j< opt.length; j++){
                    var optj = opt[j];
                    if(optj.value == this.value){
                        opt.selectedIndex = j;
                        break;
                    }
                }
            }
            
			if (this.value == -1) $.hide('viimtarnerida');			
            if (viim_pilt[i] == this.value) {
                if (v.childNodes.length) {
                    v.firstChild.src = url;
                    v.firstChild.title = 
                    v.firstChild.alt.alt = opt[opt.selectedIndex].text;
                    
                } else {
                    var vi = document.createElement('IMG');
                    vi.setAttribute('src', url);
                    vi.setAttribute('title', opt[opt.selectedIndex].text);
                    vi.setAttribute('alt', opt[opt.selectedIndex].text);                
                    v.appendChild(vi);
                }
				var vt = vtl?vtl[this.value]:null, ttarne=t_tarneaeg;
				if (vt) ttarne=vt;
				showtarne(langId,ttarne,t_hankija);
                return true;
            }
        }
    
        // kui pilti ei ole
        if (v.childNodes.length){
            v.removeChild(v.firstChild);
        }
            
        return false;
    };
    
    v.onchange = viim_change;
    
    var vb = $('viimb');
    if( vb ){
        vb = vb.childNodes;
        for( var i = 0; i< vb.length; i++){
            var vbi = vb[i];
            
            var re = /(\d+)_viimb/;
            var viimId = re.exec(vbi.className);
            if(viimId) {
                vbi.value = viimId[1];
                vbi.options = v.options;
                vb[i].onclick = viim_change;
            }
            
        }
    }
    
    
    return true;
}

function is_valid_viim(submit){
    var viim_opt = $('viim'), grupiParameeter_opt = $('grupiPar');
    var gPar = (grupiParameeter_opt && grupiParameeter_opt.value == 0);
    var errcode = (gPar << 1) | (viim_opt && viim_opt.value < 1);
    if(errcode > 0){
    	var msg = onshop_msg['errors.toode.no_viim_m66t_'+errcode]
        if(msg) {
        	alert(msg);
        	if(gPar) {
        		window.location = "#tootepilt";
        		try {$("grupiPar").style.color = "red"; $("grupiPar").item(0).style.color="red";} catch (e) {}
        	}
        }
        return false;
    }
    
    //submit.disabled = false;
    return true;
}

function filtreeri(f){

    // tahtsin teha DOM-iga, aga IE hakkas jukerdama
    var par, so = '';
    
    // sorteerimise säilitame
    if ( !!(par = document.location.search.match(/[?&]so=([0-9]+)/)) ){
        so = '<input type="hidden" name="so" value="' + par[1] + '" />';
    }

    document.body.innerHTML += '<form method="get" action="'+f+'">' + so + '</form>';
    document.body.lastChild.submit();

    return true;
}

function grupiParameeter(id, gr_id){

	var gr = '';
	if (gr_id) {
		//var optTxt = $('grupiPar').options[$('grupiPar').selectedIndex].innerHTML.replace('&nbsp;','','g');
		//_gaq.push(['_trackEvent', 'menyy', 'suuruse-valik', optTxt, ''+gr_id]); // GA event
		
		gr  = '<input type="hidden" name="gr_id" value="'+gr_id+'"/>';
		gr += '<input type="hidden" name="utm_medium" value="www"/>';
//		gr += '<input type="hidden" name="utm_source" value="size_menu"/>'; // tekitab segadust
	}
    
	updatingData();
	
	document.body.innerHTML += '<form method="get" action="'+id+'">'+gr+'</form>';
    document.body.lastChild.submit();

    return true;
}

function showGenBill(finished) {
	var p = document.getElementById('generatingBill');
	var bg = document.getElementById('popBackground');
	if (!p || !bg) return;
	if(finished){
		p.style.display = 'none';
		bg.style.display = 'none';
	} else {
		p.style.display = 'block';
		bg.style.display = 'block';
	}
}


function showAuthentication(finished) {
	var p = document.getElementById('authentication');
	var bg = document.getElementById('authPopBackground');
	if (!p || !bg) return;
	if(finished){
		p.style.display = 'none';
		bg.style.display = 'none';
	} else {
		p.style.display = 'block';
		bg.style.display = 'block';
	}
}



function updatingData(finished) {
	var p = document.getElementById('updatingData');
	if (!p) return;
	if(finished){
		p.style.display = 'none';
	} else {
		p.style.display = 'block';
	}
}
	
function setKell() {
    // eeldatakse, et väljakutsumine käib iga sekundi järel
    // lähtub globaalsest muutujast kestab (seda ise vähendades)
    var t,m,s,k = kestab -= SEK;
    t = Math.floor(k/ TUND); k -= t * TUND;
    m = Math.floor(k/ MIN ); k -= m * MIN;
    s = Math.floor(k/ SEK );

    if (kestab <= 0) document.location.reload();

    tiktak.childNodes[2].innerHTML = [nn(t), nn(m), nn(s)].join(':');
}

function getKestab(t) { return (new Date(t.getFullYear(), t.getMonth(), t.getDate() + 1)).valueOf() - t.valueOf(); }
function initkell(stime) {
    if (!(tiktak = $('tiktak'))) return false;
    stime = stime || new Date();
    kestab = getKestab(stime);
    tiktak.firstChild.innerHTML = 'Soodushind kehtib veel:';
    setKell(); // juhuks kui kliendil on intervalli funktsioonid keelatud

    // lehe reload südaööl ja kella uuendamine käima
    window.setTimeout(function() { document.location.reload(); }, kestab);
    window.setInterval(setKell, SEK);
}

// google searchbox background
function change_searchbox_bg(isblur){
    var q = $('search_q');
    if(!q) return false;
    
    
	var bgImg = q.className;
	if (!bgImg) bgImg = []; else bgImg = bgImg.split(' ');
    for( var i = 0; i< bgImg.length; i++){
        var tmpProp = bgImg[i];
        tmpProp = tmpProp.split(':');
        if(tmpProp[0] === 'ourBg'){
            bgImg = tmpProp[1];
            break;
        }
    }
	
	if (q && q.style) {
		if(q.value === '' && isblur)
			q.style.background = "#FFF url('"+bgImg+"') no-repeat left center";
		else
			q.style.background = "#FFF";
	}
}

function valid_submit(checkClass, submitId){
    var checkBoxes = getElementsByClassName(checkClass);
    var submitBtn = $(submitId);
    
    if(!checkBoxes || !submitBtn) return false;
    
    var submittable = true;
    for(var i =0; i< checkBoxes.length; i++){
        var el = checkBoxes[i];
		var p=el, vis;
		while (p) {
			vis = (!p.style) || p.style.display != "none"; if (!vis) break; p=p.parentNode;
		}
		if (vis) submittable = submittable && el.checked;
    }
    
    var jmPakkuja = $('jmPakkuja')?$('jmPakkuja').value:null, on24osamaks = jmPakkuja == 'ON24OSAMAKS';
	if (on24osamaks && $('mv-2') && $('mv-2').checked && $('taotle_submit') && $('taotle_submit').style.display != 'none') submittable=false;
	
    submitBtn.disabled = !submittable;
    
    return true;
}

