var curYear;
var curVelj;
var curDefVelj;
var curPage = 0;
var _errPageCh = false;
var _upload_img = 0;
var _noPics = false;

var _imgs = new Array("images/y_menu_akt.jpg", "images/y_menu.jpg");

function g(mis) {
 return document.getElementById(mis);
}
function tgDisplay(mis, tp) {
 var tmp;
 if (tmp = g(mis)) {
  if (tmp.style.display == tp || tmp.style.display == '') tmp.style.display = 'none'
  else tmp.style.display = tp;
 }
}
function tgDisplayBl(mis) {
 tgDisplay(mis, 'block');
}
function tgDisplayIn(mis) {
 tgDisplay(mis, 'inline');
}
function addToStr(str, mis) {
 if (str != '') str += ', ';
 str += mis;
 return str;
}

function cP(nr, nogo, data) {
 //if (_upload_img > 0) return;
 if (nr > curPage) if (!chkPage(false, data)) return;
 
 if (nr == 4) {
  var pichtml = '';
  var i = 1;
  var tmp;
  while (tmp = g('p'+i)) {
   if (tmp.getElementsByTagName('iframe')[0].contentWindow.document.getElementById('pic')) pichtml += '<img src="'+tmp.getElementsByTagName('iframe')[0].contentWindow.document.getElementById('pic').src+'" alt=""> ';
   i++;
  }
  if (pichtml == '') pichtml = LANG_NOPICS;
 
  g('y_auto').innerHTML = retSel(gn('automark'))+' '+gn('mudel').value+', '+retSel(gn('aasta'))+' ('+gn('kw').value+' kW, '+gn('kubatuur').value+'cm<sup>3</sup>)';
  //if (gn('mootoririke').checked) g('y_auto').innerHTML += ' mootoririkkega';
  tmp = '';
  if (gn('kaivitub').checked && gn('soidab').checked) tmp = LANG_CAROK;
  else if (gn('kaivitub').checked) tmp = LANG_CARSTART;
  else if (gn('soidab').checked) tmp = LANG_CARDRIVES;
  
  if (gn('karterkatki').checked) tmp = addToStr(tmp, LANG_OILSUMP);
  
  if (gn('mootoririke').checked) tmp = addToStr(tmp, LANG_ENGINEFAULT);
  if (gn('kaigukastirike').checked) tmp = addToStr(tmp, LANG_GBOXFAULT);
  if (gn('avariiesi').checked) tmp = addToStr(tmp, LANG_FIMPACT);
  if (gn('avariitaga').checked) tmp = addToStr(tmp, LANG_RIMPACT);
  if (gn('avariikylg').checked) tmp = addToStr(tmp, LANG_SIMPACT);
  if (chkSel(gn('padjad'))) tmp = addToStr(tmp, LANG_AIRBAGS+retSel(gn('padjad')));
  if (chkSel(g('s_defveljed'))) {
	var dfvtxt;
    if (retSel(g('s_defveljed')) == '1') dfvtxt = LANG_DEFRIM1; else dfvtxt = LANG_DEFRIMS;
	tmp = addToStr(tmp, retSel(g('s_defveljed'))+' '+dfvtxt);
  }

  if (tmp != '') {
	g('y_lisainftxt').innerHTML = tmp;
	g('y_lisainf').style.display='';
  }
  else g('y_lisainf').style.display='none';
  
  tmp = '';
  if (gn('kliima').checked) tmp = addToStr(tmp, LANG_ACC);
  if (gn('kondits').checked) tmp = addToStr(tmp, LANG_AC);
  if (chkSel(g('s_kmv'))) tmp = addToStr(tmp, LANG_ALLOY+retSel(g('s_kmv')));
  if (chkSel(gn('elaknad'))) tmp = addToStr(tmp, retSel(gn('elaknad'))+LANG_POWERWIN);
  if (gn('elpeeglid').checked) tmp = addToStr(tmp, LANG_ELMIRRORS);
  if (gn('navi').checked) tmp = addToStr(tmp, LANG_NAVI);

  //if (gn('4wd').checked) tmp = addToStr(tmp, '4WD');
  if (gn('nahk').checked) tmp = addToStr(tmp, LANG_LEATHER);
  if (gn('xenon').checked) tmp = addToStr(tmp, LANG_XEN);
  if (gn('stereo').checked) tmp = addToStr(tmp, LANG_STEREO);
  if (gn('karukonks').checked) tmp = addToStr(tmp, LANG_TOW);
  if (gn("lisad")) {
	if (tmp != '' && gn('lisad').value != '') {
		g('y_varustustxt').innerHTML = tmp;
		g('y_varustustxt_kas').innerHTML = gn('lisad').value;
		g('y_varustus').style.display='';
	}
	else g('y_varustus').style.display='none';
  }
  else g('y_varustus').style.display='none';
  
  g('y_autoandmed').innerHTML = retSel(gn('varv')).toLowerCase()+' '+retSel(gn('keretyyp')).toLowerCase()+', '+retSel(gn('vedu')).toLowerCase()+', '+retSel(gn('kaigukast')).toLowerCase()+' '+LANG_GEARBOX+', '+retSel(gn('kytus')).toLowerCase();
  g('y_autokirjeldus').innerHTML = gn('kirjeldus').value.replace(/\n/g, "<br>");
  if (g('y_p').innerHTML != pichtml) g('y_p').innerHTML = pichtml;
  g('y_myyja').innerHTML = gn('p_nimi').value+' ('+gn('p_email').value+', tel '+gn('p_telefon').value+'), '+gn('p_asula').value+', '+retSel(gn('p_piirkond'));
 }
 
 var tmp;
 var i = 1;
 while (tmp = g('rv'+i)) {
  if (i != nr) {
	tmp.style.display = 'none';
	if (tmp = g('rt'+i)) tmp.className = 'rN';
	g('men'+i).style.background='url('+_imgs[1]+')';
  }
  else {
	g('men'+i).style.background='url('+_imgs[0]+')';
	tmp.style.display = 'block';
	if (tmp = g('rt'+i)) tmp.className = '';
  }
  
	if (tmp = g('rt'+i)) {
      tmp.onclick= new Function('cP('+i+')');
	  tmp.style.cursor = 'pointer';
	}
//  }
  i++;
 }
 //if (curPage != 1 && nr > curPage && !nogo) document.location.href='#st';
 curPage = nr;
 chkPage(true);
}

function addOpt(kuhu, v, sisu, sel) {
 var tmpEl = document.createElement('option');
 tmpEl.value = v;
 tmpEl.innerHTML = sisu;
 if (sel == v) tmpEl.selected = 'selected';
 kuhu.appendChild(tmpEl);
}

function chkSel(sel) {
 if (sel) if (sel.options[sel.selectedIndex].value != 0 && sel.options[sel.selectedIndex].value != '' && sel.options[sel.selectedIndex] != '') return true;
 return false;
}
function retSel(sel) {
 return sel.options[sel.selectedIndex].innerHTML;
}

function showErr(txt) {
 var errDiv = document.createElement('div');
 var bgDiv = document.createElement('div');

 bgDiv.className = 'bgErrDiv';
 errDiv.className = 'errDiv';
 bgDiv.id = 'bgDiv';
 errDiv.id = 'errDiv';

 errDiv.onclick = function(){document.body.removeChild(g('errDiv'));document.body.removeChild(g('bgDiv'));window.onscroll='';}
 errDiv.appendChild(document.createTextNode(LANG_ERRORWIN));
 errDiv.appendChild(document.createElement('br'));
 errDiv.appendChild(document.createElement('br'));
 errDiv.appendChild(document.createTextNode(txt));
 
 document.body.appendChild(bgDiv);
 document.body.appendChild(errDiv);
 
 if (isIE()) {
  //alert('Viga!\n\n'+txt);
  bgDiv.style.width = document.documentElement.clientWidth+'px';
  bgDiv.style.height = document.documentElement.clientHeight+'px';
  window.onscroll = function() {
    bgDiv.style.top = document.documentElement.scrollTop+'px';
    errDiv.style.top = (document.documentElement.scrollTop+document.documentElement.clientHeight/2)+'px';
  };
  window.onscroll();
 }
 else {
  bgDiv.style.width = '100%';
  bgDiv.style.height = '100%';
  bgDiv.style.position = 'fixed';
  errDiv.style.position = 'fixed';
 }

}

function isIE() {
 return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
}

function gn(el) {
 return document.getElementsByName(el)[0];
}

function noText(el) {
 if (gn(el).value == '') return true; else return false;
}

function hl(mis) {
 _errPageCh = true;
 if (mis) {
  mis.style.backgroundColor = '#ffe3e3';
  if (!mis.onchange) {
	mis.onchange=function(){chkPage(true);};
	if (mis.nodeName.toLowerCase() == 'input' || mis.nodeName.toLowerCase() == 'textarea') {
		mis.onkeypress = mis.onchange;
		mis.onkeyup = mis.onchange;
		mis.onkeydown = mis.onchange;
	}
  }
 }
}
function dhl(mis) {
 mis.style.backgroundColor = '';
}

function chkPage(ei, data) {
 var err, tmp;
 _errPageCh = false;
 if (curPage == 0) return true;
 else if (curPage == 1) {
  var chkList = new Array('mudel', 'kw', 'kubatuur', 'automark', 'aasta', 'kaigukast', 'vedu', 'kytus', 'keretyyp', 'varv');
  for (var i=0;i<chkList.length;i++) {
   if (tmp = gn(chkList[i])) {
    if (tmp.nodeName.toLowerCase() == 'input') { if (tmp.value == '') hl(tmp); else dhl(tmp); }
	else if (tmp.nodeName.toLowerCase() == 'select') { if (!chkSel(tmp)) hl(tmp); else dhl(tmp); }
   }
   var rgx = /^[0-9]{1,}([\.,][0-9]{1,}|)$/;
   if (!rgx.exec(gn('kw').value)) hl(gn('kw'));
   if (!rgx.exec(gn('kubatuur').value)) hl(gn('kubatuur'));
  }
 }
 else if (curPage == 2) {
  var i = 1;
  /* pildid on vabatahtlikud */
  if (!data && !_noPics) {
	var piltokei = false;
	while (tmp = gn('pilt'+i)) {
	 if (tmp.value > 0 && tmp.value != '') piltokei = true;
	 i++;
	}
	if (!piltokei) hl(g('p1')); else dhl(g('p1'));
  }
  else _noPics = true;
  if (noText('kirjeldus')) hl(gn('kirjeldus')); else dhl(gn('kirjeldus'));
 }
 else if (curPage == 3) {
  var chkList = new Array('p_nimi', 'p_telefon', 'p_email', 'p_piirkond', 'p_asula');
  for (var i=0;i<chkList.length;i++) {
   if (tmp = gn(chkList[i])) {
    if (tmp.nodeName.toLowerCase() == 'input') { if (tmp.value == '') hl(tmp); else dhl(tmp); }
	else if (tmp.nodeName.toLowerCase() == 'select') { if (!chkSel(tmp)) hl(tmp); else dhl(tmp); }
   }
  }
  tmp = gn('p_email');
  if (tmp.value != '') {
   var rgx = /^(([a-zA-Z0-9\-_]{1,})(\.|)){1,}\@([a-zA-Z0-9\-_]{1,}\.){1,}[a-zA-Z]{2,}$/;
   if (!rgx.exec(tmp.value)) hl(tmp);
  }
  tmp = gn('p_telefon');
  if (tmp.value != '') {
   var rgx = /^((\+|00)[0-9]{1,3}|)[0-9]{4,15}$/;
   var tmpstr = tmp.value.replace(/[ \-\(\)]/g, '').replace(/;/g, ',');
   tmpstr = tmpstr.split(/,/);
   for (var i=0;i<tmpstr.length;i++) if (tmpstr[i] != '') if (!rgx.exec(tmpstr[i])) { hl(tmp); break; }
  }
 }
 if (_errPageCh) {
  var lisaErr = '';
  if (curPage == 2) {
   if (!piltokei) lisaErr = LANG_IMGERROR;
  }
  if (!ei) showErr(LANG_MISSINGFIELDS+lisaErr);
  return false;
 }
 else return true;
}

function removeChildren(node) {
 while (node.childNodes.length > 0) {
  node.removeChild(node.childNodes[0]);
 }
}

function oL() {
 if (gn('yr')) curYear = gn('yr').value;
 if (gn('kmv')) curVelj = gn('kmv').value;
 if (gn('defv')) curDefVelj = gn('defv').value;
 var s_a = g('s_a');
 for (var i=(new Date()).getFullYear()+1;i>1960;i--) {
  addOpt(s_a, i, i, curYear);
 }
 addOpt(s_a, '1960', '<=1960');
 var s_kmv = g('s_kmv');
 for (var i=12;i<=30;i++) {
  addOpt(s_kmv, i, i+'"', curVelj);
 }
 
 var s_defvelj = g('s_defveljed');
 removeChildren(s_defvelj);
 for (var i=0;i<=4;i++) {
  addOpt(s_defvelj, i, i, curDefVelj);
 }
 
 cP(1);
 //tgDisplayBl('laadimine');
 tgDisplayBl('lisaromu');
}

function ifOL(mis) {
 if (mis.contentWindow.document.body.scrollHeight > 0) {
  mis.height = mis.contentWindow.document.body.scrollHeight;
  mis.style.height = (mis.contentWindow.document.body.scrollHeight)+'px';
 }
 gn('pilt'+mis.contentWindow.document.getElementsByName('fid')[0].value).value = mis.contentWindow.document.getElementsByName('imgtmpid')[0].value;
 chkPage(true);
}

function pildilaadimine() {
 _upload_img++;
}
function laadimiselopp() {
 _upload_img--;
 if (_upload_img < 0) _upload_img = 0;
}

function scrollStart() {
 scrollStarted = true;
 scroller();
}

function scroller() {
 if (scrollStarted) {
  var rd = g('reklaamidiv');
  rd.top = (rd.offsetTop - 1)+'px';
  window.setTimeout('scroller();', 100);
 }
}

function scrollerStop() {
 scrollStarted = false;
}

function addHint(what, hint, type) {
if (typeof what == 'object') {
for (var i=0;i<what.length;i++) addHint(what[i], hint, type);
return;
}
if (type == 1 || type == 2) {
var obj;
if (type == 1) obj = g(what);
else obj = gn(what);
if (!obj) return;
hintObjects[hintObjects.length] = obj;
obj.tempHint = hint;
}
else hints[what] = hint;
}
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
function getLeft(obj) {
 var left = 0;
 while (obj) {
  left += obj.offsetLeft;
  obj = obj.offsetParent;
 }
 return left;
}
function getTop(obj) {
 var top = 0;
 while (obj) {
  top += obj.offsetTop;
  obj = obj.offsetParent;
 }
 return top;
}
function showHint(what) {
var h = document.getElementById('hint');
var hintText;
hintText = what.tempHint;
if (!hintText) hintText = hints[what];
if (!hintText) hintText = hints[what.name];
if (hintText && h) {
	h.childNodes[0].innerHTML = hintText;
	h.style.left = (getLeft(what)+what.offsetWidth+8)+'px';
	h.style.top = (getTop(what)/*+what.offsetHeight+5*/)+'px';
	h.style.display = "inline";
}
}
function hideHint() {
var h = document.getElementById('hint');
h.style.display = "none";
}
function addHintEvents(obj) {
	if (typeof obj.onmouseover != 'function') obj.onmouseover = function () {
				showHint(this);
			}
	if (typeof obj.onfocus != 'function') obj.onfocus = function () {
				showHint(this);
			}
	if (typeof obj.onmouseout != 'function') obj.onmouseout = function () {
				hideHint();
			}
	if (typeof obj.onblur != 'function') obj.onblur = function () {
				hideHint();
			}
}
function prepareInputsForHints() {
	var inputs = document.getElementsByTagName("input");
	for (var i=0; i<inputs.length; i++){
		addHintEvents(inputs[i]);
	}
	// repeat the same tests as above for selects
	var selects = document.getElementsByTagName("select");
	for (var k=0; k<selects.length; k++){
		addHintEvents(selects[k]);
	}
	var other = hintObjects;
	for (var l=0; l<other.length; l++) {
		addHintEvents(other[l]);
	}
}
