/**************************************************
 * Funkcje JavaScrip - walidacja pól.			  *
 **************************************************
*/

/***********************************************************/
/* Funkcja sprawdza czy dany string jest emailem           */
/***********************************************************/

function CheckEmail(y) {
	if (y == "") {
		return false;
	}

	var x= new String(y);
	x.toLowerCase();
	var ret= new String();
	var znaki1= ".-+_@";
	var znaki= "0123456789zxcvbnmasdfghjklqwertyuiop" + znaki1;

	if ( x.length < 1 )
		return false;

	if ( x.indexOf("@") == -1 ) {
		ok= 0;
		return false;
	}

	if ( x.indexOf("@") != x.lastIndexOf("@") ) {	
		ok= 0;
		return false;
	}

	for ( i=0; i < x.length; ++i)
		if ( znaki.indexOf(""+x.charAt(i)) == -1 ) {
			ok= 0;
			return false;
		}

	if ( znaki1.indexOf(x.charAt(x.length-1)) != -1 ) {
		ok= 0;
		return false;
	}
			
	return true;
}

/***********************************************************/
/* Funkcja sprawdza czy dany string nie jest pusty         */
/* lub nie zawiera samych spcji                            */
/***********************************************************/

function CheckString(y) {
	if (y == "") {
		return false;
	}
	for(var i = 0; i < y.length; i++){
		if (y.charAt(i) != " ") {
			return true;
		}
	}
	return false;
}

/***********************************************************/
/* Funkcja sprawdza czy dany string jest numerem           */
/* telefonu lub fax'u                                      */
/***********************************************************/

function CheckNumberPF(y) {
	if (y == "") {
		return false;
	}

	var x= new String(y);
	var bladstring= "To nie jest numer !!!"
	var znaki= "0123456789()-/+w. ";
	if ( x.length < 1 )
		return false;
	
	for ( i=0; i < x.length; ++i)
		if ( znaki.indexOf(""+x.charAt(i)) == -1 ) {
			ok= 0;
			return false;
		}

	return true;
}

/***********************************************************/
/* Funkcja sprawdza czy dany string jest liczb± calkownita */
/***********************************************************/

function CheckInteger(y) 
{	if (y == "") 
		return false;

	var x= new String(y);
	var znaki= "0123456789";
	if ( x.length < 1 )
		return false;
	
	for ( i=0; i < x.length; ++i)
		if ( znaki.indexOf(""+x.charAt(i)) == -1 )
		{	ok= 0;
			return false;
		}

	return true;
}

/***********************************************************/
/* Funkcja sprawdza czy dany string jest liczb± rzeczywista*/
/***********************************************************/

function CheckFloat(y) 
{	if (y == "") 
		return false;

	var coma=0;		//ilosc przecinkow
	var x= new String(y);
	var znaki= "0123456789,.";
	if ( x.length < 1 )
		return false;
	
	for ( i=0; i < x.length; ++i)
	{	if ( znaki.indexOf(""+x.charAt(i)) == -1 )
			return false;
		if ( x.charAt(i)==',' || x.charAt(i)=='.')		//jak wiecej niz jeden przecinek :)
		{	coma++;
			if (coma>1)
				return false;
		}
	}
	return true;
} //end of CheckFloat

/***********************************************************/
/* Funkcja sprawdza czy dany string jest nazwa pliku       */
/***********************************************************/

function CheckFileName(y) {

	var p = trim(y);
	if (p == "") {
		return false;
	}
	for(var i = 0; i < p.length; i++){
		if (p.charAt(i) == ' ') {
			return false;
	        }
	}
	return true;
}

/***********************************************************/
/* Funkcja sprawdza czy podane parametry tworza            */
/* poprawna date                                           */
/***********************************************************/

function CheckDate(y, m, d) {

	lm_d = new Date(y,m-1,d);
	now_d = new Date()

	   if (d == 31) {
            if ((m == 2) || (m == 4) || (m == 6) || (m == 9) || (m == 11)) {
                return false;
            }
        }
        if (d == 30) {
            if (m == 2) {
                return false;
            }
        }
        if (d == 29) {
            if (m == 2) {
		if ((y == 2001) || (y == 2002) || (y == 2003) || (y == 2005) || (y == 2006) || (y == 2007) || (y == 2009) || (y == 2010) || (y == 2011) || (y == 2013)) {
			return false;
		}
            }
        }

        return true;
}

/* Funkcja sprwdza poprawnosci numeru NIP*/
function CheckNip(n)
{
	nip= new String(n);
	//Tablica wag dla nr. NIP
	steps= new Array(6, 5, 7, 2, 3, 4, 5, 6, 7);

	pom=nip.replace("-","");
	while (pom!=nip)
	{	nip=pom;
		pom=nip.replace("-","");
	}

	pom=nip.replace(" ","");
	while (pom!=nip)
	{	nip=pom;
		pom=nip.replace(" ","");
	}
	
	if (nip.length!=10) return false;

	suma=0;
	for (i=0;i<9;i++) suma+=steps[i]*nip.charAt(i);

	last=suma%11;
	if (last==nip.charAt(9)) return true;
	return false;
} //end of CheckNip




/* Funkcja sprwdza poprawnosci numeru REGON*/
function CheckRegon(r)
{
	regon= new String(r);
	//Tablica wag dla nr. REGON
	steps= new Array(8, 9, 2, 3, 4, 5, 6, 7);

	pom=regon.replace("-","");
	while (pom!=regon)
	{	regon=pom;
		pom=regon.replace("-","");
	}

	pom=regon.replace(" ","");
	while (pom!=regon)
	{	regon=pom;
		pom=regon.replace(" ","");
	}

	if (regon.length!=9) return false;

	suma=0;
	for (i=0; i<8; i++) suma+= steps[i] * regon.charAt(i);
	
	last=suma%11;
		if (last==10) last=0;
	if (last==regon.charAt(8)) return true;
	return false;
} //end of CheckRegon


/*****************************************************************************/
/*****************************************************************************/