var oErrors = new Array();

//obecné funkce

DOM = (document.getElementById) ? 1 : 0;
NS4 = (document.layers) ? 1 : 0; 
IE = (document.all) ? 1 : 0;
IE4 = IE && !DOM; 

str01 = 'Chyba v zadání';
str02 = 'Prázdný text nelze vyhledat';
str03 = 'Příliš krátké jméno';
str04 = 'Příliš krátké heslo';
str05 = 'Heslo a jeho ověření nejsou stejné';
strNeName = 'Jméno je nutné vyplnit';
strNeSurname = 'Příjmení je nutné vyplnit';
strNeEmail = 'E-mail je nutné vyplnit';
strNeAddr = 'Adresu je nutné vyplnit';
strNeAddrStreet = 'Ulici je nutné vyplnit';
strNeAddrCity = 'Obec je nutné vyplnit';
strNeAddrState = 'Stát je nutné vybrat';
strNeAddrZIP = 'PSČ je nutné vyplnit';
strNePhone = 'Telefon je nutné vyplnit';

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) {
  	if ((obj=document.getElementById(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
  }
}

function showEnd() {
  MM_showHideLayers('echoMessage','','hide');
  MM_showHideLayers('errorMessage','','hide');
};

function getoffsetleft(layer) {
	var value = 0;
	if (DOM) {
		object = document.getElementById(layer);
		value = object.offsetLeft;
		while (object.tagName != "BODY" && object.offsetParent) {
			object = object.offsetParent;
			value += object.offsetLeft;
		}
	} else if (NS4) {
		value = document.layers[layer].pageX;
	} else {	// IE4 IS SIMPLY A BASTARD !!!
		if (document.all["IE4" + layer]) {
			layer = "IE4" + layer;
		}
		object = document.all[layer];
		value = object.offsetLeft;
		while (object.tagName != "BODY") {
			object = object.offsetParent;
			value += object.offsetLeft;
		}
	}
	return (value);
} 

function getoffsettop(layer) {
	var value = 0;
	if (DOM) {
		object = document.getElementById(layer);
		value = object.offsetTop;
		while (object.tagName != "BODY" && object.offsetParent) {
			object = object.offsetParent;
			value += object.offsetTop;
		}
	} else if (NS4) {
		value = document.layers[layer].pageY;
	} else {	// IE4 IS SIMPLY A BASTARD !!!
		if (document.all["IE4" + layer]) {
			layer = "IE4" + layer;
		}
		object = document.all[layer];
		value = object.offsetTop;
		while (object.tagName != "BODY") {
			object = object.offsetParent;
			value += object.offsetTop;
		}
	}
	return (value);
} 

function SetRelativePosition(theSource,theTarget,ofsX,ofsY) {
	layerObj2 = (document.getElementById)?document.getElementById(theTarget):MM_findObj(theTarget);
	if (layerObj2!=null) {
		layerObj2 = (layerObj2.style)?layerObj2.style:layerObj2;
		layerObj2.left = getoffsetleft(theSource) + ofsX + 'px';
		layerObj2.top = getoffsettop(theSource) + ofsY + 'px';
	}
};

function Show(div,target,x,y) {
	SetRelativePosition(target,div,x,y);
	MM_showHideLayers(div,'','show');
};

function ShowHint(hintName,hintAnchor) {
  var myDiv = document.getElementById(hintName);
	Show(hintName,hintAnchor,-Math.round(parseInt(myDiv.style.width)),15);
};

function HideHint(hintName) {
	MM_showHideLayers(hintName,'','hide');
};

function outPrice(aPrice) {
  if (Math.floor(aPrice) == aPrice) {
    return(aPrice + ',-');
  } else {
    var tmpPrice = aPrice + '0';
    return(tmpPrice.replace('.',','));
  }
};

function oErrEmpty() {
  oErrors.length = 0;
};  

function oErrAdd(message) {
  oErrors[oErrors.length] = message;
};

function oErrOk() {
  if (oErrors.length > 0) {
    var eText = oErrors.join("\n");
    alert(str01 + "\n\n" + eText);
    return(false);
  } else {
    return (true);
  }
};

function trim(str) {
  return str.replace(/^\s*|\s*$/g,"");
} 

//obecné DOM funkce

function spanChange(span,text) {
	var aSpan = document.getElementById(span);
	aSpan.innerHTML = text;
};

function changeCssPart(object,part,value) {
    var obj = document.getElementById(object);
    obj.style[part] = value;
};

function changeCssDimensions(object,w,h) {
    var obj = document.getElementById(object);
    obj.style.width = w + 'px';
    obj.style.height = h + 'px';
};

function changeBgColor(color,cID) {
  changeCssPart('tAB','backgroundColor','#' + color);
  bgColor = color;
  bgCid = cID;
};

function changeWallColor(color) {
  changeCssPart('wALL','backgroundColor','#' + color);
  var obj = document.getElementById('mixerDock');
  obj.value = color;
  wallColor = color;
};

function changeiSpace(space) {
  iSpace = space;
  showPreview(0);
};

//funkce pro preview

function warning(text) {
  if (text == '') {
    spanChange('warningDock','&nbsp;');
  } else {
    spanChange('warningDock','<div class="warning" style="margin-top:10px">' + text + '</div>');
  };
};

//funkce pro přechody mezi stránkami

function goPage(prefix,page) {
  if (trim(prefix) == '') {
    prefix = '';
  } else {
    prefix = prefix + '&';
  };
  document.location= page + '.php?' + prefix + 'action=' + action; 
};

function goAction(act,prefix) {
  action = act;
  goPage(prefix,'index');
};

function goRAction(act,prefix) {
  action = act;
  goPage(prefix,'ramovani');
};

function goCat(cat) {
  goAction('browse','searchText=&selectedCat=' + cat + '&page=1');
};

function goSearch() {
  var st = document.getElementById('searchText');
  st.value = trim(st.value); 
  if (st.value == '') {
    alert(str02);
    return (false);
  };
  res = 'searchText=' + escape(st.value);
  goAction('browse',res);
};

function checkRegister1() {
  var uName = document.getElementById('regName');
  var uPassword = document.getElementById('regPassword');
  var uPassword2 = document.getElementById('regPassword2');
  uName.value = trim (uName.value);
  uPassword.value = trim (uPassword.value);
  
  oErrEmpty();
  if (uName.value.length < 6) {oErrAdd(str03);};
  if (uPassword.value.length < 6) {oErrAdd(str04);};
  if (uPassword.value != uPassword2.value) {oErrAdd(str05);};

	return oErrOk();
};

function checkUserData() {
  var noEmpty = new Array('Name','Surname','Email','AddrStreet','AddrCity','AddrState','AddrZIP','Phone');
  var texts = new Array(strNeName,strNeSurname,strNeEmail,strNeAddr,strNeAddrStreet,strNeAddrCity,strNeAddrState,strNeAddrZIP,strNePhone);

  oErrEmpty();
  for (i = 0; i < noEmpty.length; i++) {
    var test = document.getElementById('usr_' + noEmpty[i]); 
    if (trim(test.value) == '') {
      oErrAdd(texts[i]);
      test.style.backgroundColor = '#FFD491';
    } else {
      test.style.backgroundColor = '#FFFFFF';
    };
  };
  if (oErrOk()) { 
    return true;
  };
  return false;
};

//funkce pro tlačítka

function btnOver(aObject) {
  aObject.style.backgroundColor = '#990000'; //'#436479';
  aObject.style.color = 'white';
};

function btnOut(aObject) {
  aObject.style.backgroundColor = '#FFE0B2';
  aObject.style.color = '#770000';
};

function btnOverI(aObject) {
  aObject.style.borderColor = '#990000'; //'#436479';
};

function btnOutI(aObject) {
  aObject.style.borderColor = '#FFE0B2';
};

//modální okna

function showModal(type) {
  window.showModalDialog("inc/dialog.php?type="+type,"", "dialogHeight:150px;dialogWidth:280px;location:0;menubar:0;resizable:0;status:0;titlebar:0;edge:flat");
};

function changeOrders(initID) {
	var mainOrder = document.getElementById("Poradi|" + initID).value;
	for (var i = 1; i <= orders.length; i++) {
		if (orders[i][0] == initID) {
			oldOrder = orders[i][1];
			initAID = i;
			break;
		}
	}
	if (oldOrder > mainOrder) {
		for (var i = 1; i < orders.length; i++) {
			if (orders[i][1] >= mainOrder && orders[i][1] < oldOrder) {
				orders[i][1]++;
				document.getElementById("Poradi|" + orders[i][0]).selectedIndex = orders[i][1]-1;
			}
		}
		orders[initAID][1] = mainOrder;
	} else {
		for (var i = 1; i < orders.length; i++) {
			if (orders[i][1] <= mainOrder && orders[i][1] > oldOrder) {
				orders[i][1]--;
				document.getElementById("Poradi|" + orders[i][0]).selectedIndex = orders[i][1]-1;
			}
		}
		orders[initAID][1] = mainOrder;
	}
}

function runLogin() {
  oErrEmpty();
  if (trim(document.getElementById('login').value) == '') {
    oErrAdd('Nebylo zadáno jméno');
  }
  if (trim(document.getElementById('password').value) == '') {
    oErrAdd('Nebylo zadáno heslo');
  }
  if (oErrOk()) { 
    document.getElementById('fLogin').submit();
    return true;
  };	
  return false;
}

openedSec = false;

function changeBlockState(blockName) {
	var obj = document.getElementById(blockName);
	obj.style.display = obj.style.display == 'block' ? 'none' : 'block';
}

function fillVarNamesFrom(nID) {
	if (nID == '-') {
		return;
	}
	if (Esizes[nID]) {
		for (var i = 0; i < 10; i++) {
			document.getElementById('varianta' + i).value = '';
		}
		for (var i = 0; i < Esizes[nID].length; i++) {
			if (i > 9) {
				break;
			}
			document.getElementById('varianta' + i).value = Esizes[nID][i];
		}
	}
}

function countVarPrices() {
	var first = parseFloat(document.getElementById('cena0').value.replace(',', '.'));
	for (var i = 1; i < 10; i++) {
		var koeficient = parseFloat(document.getElementById('koeficient' + i).value.replace(',', '.'));
		if (trim(document.getElementById('varianta' + i).value) == '') {
			break;
		}
		document.getElementById('cena' + i).value = Math.ceil(first * koeficient);
	}
}

function changeInlineState(blockName) {
	if (openedSec !== false) {
		var obj = document.getElementById(openedSec);
		obj.style.display = obj.style.display == 'inline' ? 'none' : 'inline';
	}
	openedSec = blockName;
	var obj = document.getElementById(blockName);
	obj.style.display = obj.style.display == 'inline' ? 'none' : 'inline';
}

function selectVType(selectedType) {
	for (var i = 0; i < sizeTypes.length; i++) {
		var obj = document.getElementById('sizes' + sizeTypes[i]);
		obj.style.display = selectedType == sizeTypes[i] ? 'block' : 'none';
	}
}

function selectVType2(selectedType) {
	for (var i = 0; i < sizeTypes.length; i++) {
		var obj = document.getElementById('sizes999' + sizeTypes[i]);
		obj.style.display = selectedType == sizeTypes[i] ? 'block' : 'none';
	}
}

function produkt_kontrola ()
{
var df=document.formular;

if(df.id_kolekce.value==""){
	alert("Vyplňte prosím položku KOLEKCE");
	df.id_kolekce.focus();
	return;
}
if(df.nazev_vyrobkuCz.value==""){
	alert("Vyplňte prosím položku NÁZEV");
	df.nazev_vyrobkuCz.focus();
	return;
}
df.submit();
}

function enableSubmit() {
	document.getElementById('submit').disabled = false;
}

function checkCount() {
	count = document.getElementById('count').value
	if (trim(count) == '') {
		alert('Množství zboží?');
		return false;
	};
	return true;
}

function updateBstate() {
	document.getElementById('barva').disabled = document.getElementById('b2').checked;
	document.getElementById('sizeType1').style.display = document.getElementById('b2').checked ? 'block' : 'none';
	document.getElementById('sizeType2').style.display = document.getElementById('b2').checked ? 'none' : 'block';
}

function bazarCheck(sHeslem) {
  var noEmpty = new Array('Nadpis','Obsah','Platnost','Cena','Email');
  var texts = new Array('Inzerát musí mít nadpis', 'Inzerát musí mít obsah', 'Platnost musí být uvedena', 'Cena musí být uvedena i v případě, že  je např. "dohodou"', 'E-mail je vyžadován, bude na něj zasláno potvrzení o přidání inzerátu');
	if (sHeslem == 1) {
		noEmpty[noEmpty.length] = 'Heslo';
		texts[texts.length] = 'Heslo k inzerátu musí být uvedeno';
	}

  oErrEmpty();
  for (i = 0; i < noEmpty.length; i++) {
    var test = document.getElementById(noEmpty[i]); 
    if (trim(test.value) == '') {
      oErrAdd(texts[i]);
      test.style.backgroundColor = '#FFD491';
    } else {
      test.style.backgroundColor = '#FFFFFF';
    };
  };
  if (oErrOk()) { 
    return true;
  };
  return false;
}
