/*

	Esta libreria contiene funciones varias q se utilizan con mucha frecuencia

*/



/*

	Crea un contador en bucle, marcando un valor minimo y maximo para el bulce

	e indicando el incremento, garantizamos q siempre los valores estarán dentro

	de los intervalos marcados.

	value = valor a incrementar o decrementar

	inc = cantidad a incrementar al valor

	vmax = valor maximo del bucle

	vmin = valor minimo no requerido por defecto 0

	retorna el valor incrementado

*/

function bucle(value,inc,vmax,vmin){

	if(arguments.length < 4) vmin = 0;

	value += inc

	if(value < vmin) value = vmax + value + 1

	if(value > vmax) value = vmin + inc - 1

	return value

}



function randomArray(myArray){

	myRamdomArray = new Array()

	

	for(i=0;i<myArray.length;i++){

		pos = parseInt(Math.random() * myArray.length)

		while(myRamdomArray[pos]){

			pos = parseInt(Math.random() * myArray.length)

		}

		myRamdomArray[pos] = myArray[i]

	}

	

	return myRamdomArray

}



function isNull(param){

	if(!param || param == " ") return true

	return false

}



function isNullT(name,form,title,show,caracter){

	value = getValue(form,name)

	

	if(!value || value == " "){

		if(arguments.length < 4) show = true

		if(show) alert("El campo " + title + " es obligatorio")

		return true

	}else{

		if(value.search("["+ caracter + "]")>=0){

			if(show) alert("El campo " + title + " contiene un carácter incorrecto")

			return true

		}

	}

	return false

}



function badChar(name,form,title,show,caracter){

	value = getValue(form,name)

	

	if(value && value != " "){

		if(value.search("["+ caracter + "]")>=0){

			if(show) alert("El campo " + title + " contiene un carácter incorrecto")

			return true

		}

	}

	return false

}



function getValue(form,field){

	switch(getType(form,field)){

		case "radio":

			if(is.dom || is.ie){

				if(document.forms[form].elements[field].length == null){

					return document.forms[form].elements[field].value

				}else{

					for(i=0;i < document.forms[form].elements[field].length;i++){

						if(document.forms[form].elements[field][i].checked){

							return document.forms[form].elements[field][i].value;

						}

					}

				}

			} 

			else {

				if(is.ns){

					if(document.forms[form].elements[field].length == null){

						return document.forms[form].elements[field].value

					}else{

						for(i=0;i < document.forms[form].elements[field].length;i++){

							if(document.forms[form].elements[field][i].checked){

								return document.forms[form].elements[field][i].value;

							}

						}

					}

				}

			}

			break;



		case "select-one":

			if(is.dom || is.ie) return document.forms[form].elements[field][document.forms[form].elements[field].selectedIndex].value;

			else if(is.ns) return document.forms[form].elements[field][document.forms[form].elements[field].selectedIndex].value;

			break;

				

		case "checkbox":

			return document.forms[form].elements[field].checked

			break;



		default:

			if(is.dom || is.ie) return document.forms[form].elements[field].value

			else if(is.ns) return document.forms[form].elements[field].value

			break;

	}

}





function getType(form,field){

	var lType;



	if(is.dom || is.ie)	lType = document.forms[form].elements[field].type

	else if(is.ns){

		lType = document.forms[form].elements[field].type

	}



		

	if(lType == null){ 

		if(is.dom || is.ie) lType = document.forms[form].elements[field][0].type

		else if(is.ns)	lType = document.forms[form].elements[field][0].type

	}



	return(lType);

}



function isDate(dia,mes,ano){

	mes = mes - 1

	if(ano < 2000) ano = ano - 1900

	myfecha = new Date(ano,mes,dia)

	

	if(myfecha.getDate() != dia || myfecha.getMonth() != mes || myfecha.getYear() != ano) return false

	else return true

}



//Si nos pasamos del maximo permitido retorna false, true en caso contrario

function cLength(str,maximo,campo,show){

		myL = str.length

		if(myL > maximo){

			if(show) alert("El campo " + campo + " tiene " + myL + " caracteres y sólo puede tener " + maximo)

			return false

		} else return true

}



function getCookie(name){

  var cname = name + "=";               

  var dc = document.cookie;             

  if (dc.length > 0) {              

    begin = dc.indexOf(cname);       

    if (begin != -1) {           

      begin += cname.length;       

      end = dc.indexOf(";", begin);

      if (end == -1) end = dc.length;

        return unescape(dc.substring(begin, end));

    } 

  }

  return null;

}



function setCookie(name, value, expires, path, domain, secure) {

  document.cookie = name + "=" + escape(value) + 

  ((expires == null) ? "" : "; expires=" + expires.toGMTString()) +

  ((path == null) ? "" : "; path=" + path) +

  ((domain == null) ? "" : "; domain=" + domain) +

  ((secure == null) ? "" : "; secure");

}



function delCookie (name,path,domain) {

  if (getCookie(name)) {

    document.cookie = name + "=" +

    ((path == null) ? "" : "; path=" + path) +

    ((domain == null) ? "" : "; domain=" + domain) +

    "; expires=Thu, 01-Jan-70 00:00:01 GMT";

  }

}



function cookie(){

	setCookie("test","S")

	if(getCookie("test") == null) return false

	else return true 

}



function quitaEnter(word){

	re = /\r\n/g

	pru = word.replace(re,String.fromCharCode(32))

	return pru

}



