
var colorHrefs;
var sizeHrefs;
var surfaceHrefs;
var fullsize;
var thumbBoxes;
var sizeThumbs;
var price;
var shopLink;
var textInfoSpans;

function init(){  
  colorHrefs = getObj('colors').getElementsByTagName('a');
  sizeHrefs = getObj('sizes').getElementsByTagName('a');
  if(getObj('surfaces'))
    surfaceHrefs = getObj('surfaces').getElementsByTagName('a');
  fullsize = getObj('fullsize');
  thumbBoxes = getObj('thumb-box').getElementsByTagName('div');
  sizeThumbs = getElementsByClassName('size_thumb', 'img', getObj('thumb-box'));
  price = getObj('price');
  price.innerHTML = formatePrice(colorsPrices[color] + priceExtensions[size][surface]);
  shopLink = getObj('shoplink');
  shopLink.href = productURL[color][size];
  textInfoSpans = getObj('textInfo').getElementsByTagName('span');
}

//------------------------------------------------------------------------------
// funkce nastavi pozadovanou barevnou variantu produktu

function setColor(obj, colorID){
  color = colorID;
  for(var i=0; i<colorHrefs.length; i++){
    colorHrefs[i].className='';
    thumbBoxes[i].style.display = 'none';
  }
  obj.className='active';
  getObj('color_'+colorID).style.display = 'block';
  fullsize.src = imgDir + productID + '_f_size_' + colorID + '_' + size + '.jpg';
  price.innerHTML = formatePrice(colorsPrices[colorID] + priceExtensions[size][surface]);
  shopLink.href = productURL[colorID][size];
  textInfoSpans[0].innerHTML = obj.firstChild.alt;
}

//------------------------------------------------------------------------------
// funkce nastavi pozadovany rozmer produktu

function setSize(obj, sizeID){
  size = sizeID;
  for(var i=0; i<sizeHrefs.length; i++){
    sizeHrefs[i].className='';
  }
  obj.className='active';
  
  fullsize.src = imgDir + productID + '_f_size_' + color + '_' + sizeID + '.jpg';
  for(var i=0; i<sizeThumbs.length; i++){
    var thumb = getObj('color_'+color).firstChild;
    thumb.src = imgDir + productID + '_t_size_' + color + '_' + sizeID + '.jpg';
  }
  price.innerHTML = formatePrice(colorsPrices[color] + priceExtensions[sizeID][surface]);  
  shopLink.href = productURL[color][sizeID];
  textInfoSpans[1].innerHTML = obj.innerHTML;
}

//------------------------------------------------------------------------------
// funkce nastavi pozadovanou povrchovou upravu produktu

function setSurface(obj, surfaceID){
  surface = surfaceID;
  for(var i=0; i<surfaceHrefs.length; i++){
    surfaceHrefs[i].className='';
  }
  obj.className='active';
  price.innerHTML = formatePrice(colorsPrices[color] + priceExtensions[size][surfaceID]);  
  textInfoSpans[2].innerHTML = obj.innerHTML;
}



// -----------------------------------------------------------------------------
// funkce na prehozeni hlavniho obrazku

function switchPhoto(file){
  fullsize = getObj('fullsize');
  fullsize.src = imgDir + file;
}

//------------------------------------------------------------------------------
// funkce zaohrouhli cenu a vypise v obvyklem tvaru

function formatePrice(p){
  if(p > 999){
    var price = new String(p);
    var fst = price.substr(0, price.length-3);
    var snd = price.substr(price.length-3, 3);
    return fst + ' ' + snd;
  }
  return p;
}


//------------------------------------------------------------------------------
// funkce zaohrouhli cenu a vypise v obvyklem tvaru

function roundPrice(price){
  price = Math.round(price * 10) / 10;
  if(price*10 % 10){
    return price.toString() + '0';
  }
  return price.toString();
}


//------------------------------------------------------------------------------
// cleary inputů

function clearField(obj, str){
  if(obj.value == str) obj.value='';
}


//-----------------------------------------------------------------------------
// kontrola formulare (inputy oznacene rel="required")

var styleNormal='btn';
var styleDisabled='btn-dis';

function validateForm(form, relValue){
  var submit;
  var dis=false;
  var inputs = form.getElementsByTagName('input');
  for(var i=0; i < inputs.length; i++) {
    if(inputs[i].type=='submit') submit=inputs[i];
    if(inputs[i].getAttribute('rel')==relValue){
      if(inputs[i].value==''){
        dis=true;
      }
    } 
  }
  
  var inputs = form.getElementsByTagName('textarea');
  for(var i=0; i < inputs.length; i++) {
    if(inputs[i].getAttribute('rel')=='required'){
      if(inputs[i].value==''){
        dis=true;
      }
    } 
  }
  
  submit.disabled=dis;
  if(dis) 
    submit.className=styleDisabled;
  else
    submit.className=styleNormal;
}


//------------------------------------------------------------------------------
// vraci odkaz na instanci objektu s danym ID

function getObj(id) {
  if (Boolean(document.getElementById))
    return document.getElementById(id);
  else if (Boolean(document.all))
    return eval('document.all.'+id);
  else
    return eval('document.'+id);
}

//------------------------------------------------------------------------------
// kontrola tvaru emailove adresy

function wrong_mail_address(adresa){
  var re = /^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$/;
  return re.test(adresa) == 0;
}


function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

