//validar formulario
var checkObjects	= new Array();
var errors		= "";
var returnVal		= false;
var language		= new Array();
language["header"]	= "Hurrengo erroreak aurkitu dira: "
language["start"]	= "->";
language["field"]	= " ";
language["require"]	= " beharrezkoa da";
language["min"]		= " y consiste en al menos ";
language["max"]		= " y no debe contener más de ";
language["minmax"]	= " y no más de ";
language["chars"]	= " karaktereak";
language["num"]		= " eta zenbakia izan behar da";
language["email"]	= " posta-elektroniko balioduna izan behar du";
// -----------------------------------------------------------------------------
// define - Call this function in the beginning of the page. I.e. onLoad.
// n = name of the input field (requerido)
// type= string, num, email (requerido)
// min = the value must have at least [min] caracteres (Optional)
// max = the value must have maximum [max] caracteres (Optional)
// d = (Optional)
// -----------------------------------------------------------------------------
function define(n, type, HTMLname, min, max, d) {
var p;
var i;
var 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 = define(n, type, HTMLname, min, max, d.layers[i].document);
return x;       
}
eval("V_"+n+" = new formResult(x, type, HTMLname, min, max);");
checkObjects[eval(checkObjects.length)] = eval("V_"+n);
}
function formResult(form, type, HTMLname, min, max) {
this.form = form;
this.type = type;
this.HTMLname = HTMLname;
this.min  = min;
this.max  = max;
}
function validate() {
if (checkObjects.length > 0) {
errorObject = "";
for (i = 0; i < checkObjects.length; i++) {
validateObject = new Object();
validateObject.form = checkObjects[i].form;
validateObject.HTMLname = checkObjects[i].HTMLname;
validateObject.val = checkObjects[i].form.value;
validateObject.len = checkObjects[i].form.value.length;
validateObject.min = checkObjects[i].min;
validateObject.max = checkObjects[i].max;
validateObject.type = checkObjects[i].type;
if (validateObject.type == "num" || validateObject.type == "string") {
if ((validateObject.type == "num" && validateObject.len <= 0) || (validateObject.type == "num" && isNaN(validateObject.val))) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['num'] + "\n";
} else if (validateObject.min && validateObject.max && (validateObject.len < validateObject.min || validateObject.len > validateObject.max)) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['min'] + validateObject.min + language['minmax'] + validateObject.max+language['chars'] + "\n";
} else if (validateObject.min && !validateObject.max && (validateObject.len < validateObject.min)) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['min'] + validateObject.min + language['chars'] + "\n";
} else if (validateObject.max && !validateObject.min &&(validateObject.len > validateObject.max)) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['max'] + validateObject.max + language['chars'] + "\n";
} else if (!validateObject.min && !validateObject.max && validateObject.len <= 0) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + "\n";
   }
} else if(validateObject.type == "email") {
// Checking existense of "@" and ".". 
// Length of must >= 5 and the "." must 
// not directly precede or follow the "@"
if ((validateObject.val.indexOf("@") == -1) || (validateObject.val.charAt(0) == ".") || (validateObject.val.charAt(0) == "@") || (validateObject.len < 6) || (validateObject.val.indexOf(".") == -1) || (validateObject.val.charAt(validateObject.val.indexOf("@")+1) == ".") || (validateObject.val.charAt(validateObject.val.indexOf("@")-1) == ".")) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['email'] + "\n"; }
      }
   }
}
if (errors) {
alert(language["header"].concat("\n" + errors));
errors = "";
returnVal = false;
} else {
returnVal = true;
   }
}
// JAVASCRIPT FACIL  ··· http://www.javascriptfacil.com

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  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);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function mOvr(src,clrOver) 
{ 
if (!src.contains(event.fromElement)) 
 {
	src.style.cursor = 'default';
	filtro(src,'75');
	src.bgColor = clrOver;
	
}
}
function mOut(src,clrIn) 
{
if (!src.contains(event.toElement)) 
 {
	src.style.cursor = 'default';
	filtro(src,'75');
	src.bgColor = clrIn;
	
 }
}
function filtro(src,clrIn) 
{
	src.filters.alpha.opacity=clrIn;
}

//Obligar a meter un dato del formulario y ocultar codigo

//Ocultar una capa

function Ezkutatu(init) 
{ 
if (document.getElementById("idaztzizurehaikua")!=null)
	{
		document.getElementById("idaztzizurehaikua").style.visibility="hidden";
	}
}

//Mostrar una capa

function Bistaratu(init) 
{ 
if (document.getElementById("idaztzizurehaikua")!=null)
	{
		document.getElementById("idaztzizurehaikua").style.visibility="visible";
	}
}

function Birkargatu(valor,accion,miform) 
{ 
	document.forms[miform].kodigoa.value=valor;
	document.forms[miform].action=accion;
	document.forms[miform].submit();
}

function BirkargatuFiltroa(valor,accion,miform) 
{ 
	document.forms[miform].l.value=valor;
	document.forms[miform].action=accion;
	document.forms[miform].submit();
}

//--> 
function controlfecha(miform)
{
	if ((document.forms[miform].data.value.length <10) && (document.forms[miform].data.value!="")) 
		window.alert('Noiz aaaa/mm/dd behar da');
}

//editor HTML

function escribir_editor(clase,ruta,idioma,estilos){
//Editor
document.write("<script language='javascript' type='text/javascript'>tinyMCE.init({inline_styles : true,convert_fonts_to_spans : true,mode : 'specific_textareas',	theme : 'advanced',editor_selector :'"+clase+"',content_css :'"+ruta+"',language :'"+idioma+"',plugins : 'save,sooraasp',theme_advanced_buttons1_add_before :'bold,italic,underline,forecolor,separator',theme_advanced_buttons1:'undo,redo,searator,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,separator,image,separator,link,unlink,separator,code',theme_advanced_buttons2_add_before: '',theme_advanced_buttons2:'fontselect,fontsizeselect,separator,styleselect',theme_advanced_buttons3: '',theme_advanced_toolbar_location : 'top',theme_advanced_toolbar_align : 'left',theme_advanced_styles: '"+estilos+"',extended_valid_elements : 'a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]',external_link_list_url : '',external_image_list_url :'',flash_external_list_url : ''});</script>");
}//editor HTML

function escribir_editor_noimage(clase,ruta,idioma,estilos){
//Editor
document.write("<script language='javascript' type='text/javascript'>tinyMCE.init({inline_styles : true,convert_fonts_to_spans : true,mode : 'specific_textareas',	theme : 'advanced',editor_selector :'"+clase+"',content_css :'"+ruta+"',language :'"+idioma+"',plugins : 'save,sooraasp',theme_advanced_buttons1_add_before :'bold,italic,underline,forecolor,separator',theme_advanced_buttons1:'undo,redo,searator,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,separator,link,unlink,separator,code',theme_advanced_buttons2_add_before: '',theme_advanced_buttons2:'fontselect,fontsizeselect,separator,styleselect',theme_advanced_buttons3: '',theme_advanced_toolbar_location : 'top',theme_advanced_toolbar_align : 'left',theme_advanced_styles: '"+estilos+"',extended_valid_elements : 'a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]',external_link_list_url : '',external_image_list_url :'',flash_external_list_url : ''});</script>");
}

//AÑADIR DINAMICAMENTE UN CAMPO DEL FORMULARIO

var af=1;
function addcampoarc(elm,campo,tamano)
{
	if (af<3)
	{
	document.getElementById(campo+ af).innerHTML= '<input type="file" class= "formularioa" size="'+tamano+'" name="'+campo+'" /><div id='+ campo + (af+1) +'></div>';
	campo=campo+af;
	af+=1;
	}
}

//navegador y version
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Internet Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};