/**
 *
 *
 * @version $Id: validators.js,v 1.182 2008/11/04 11:56:44 rk Exp $
 * @copyright 2005
 **/
function validate_contactform( frm )
{

	/*if( !is_email(frm.elements['email'].value) )*/
	/*{*/
	/*window.alert(JS_MSG_VALIDATE_FORM_EMAIL_REQ);*/
	/*frm.elements['email'].focus();*/
	/*return false;*/
	/*}*/

	reqFields = new Array
				(
					'name'
				);
	for (i=0 ; i < reqFields.length ; i++) 
	{
		if( frm.elements[reqFields[i]].value == '' )
		{
			window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
			frm.elements[reqFields[i]].focus();
			return false;
		}
	}

	if( frm.elements['phone'].value == '' && frm.elements['company_phone'].value == '' && !is_email(frm.elements['email'].value) && !is_email(frm.elements['company_email'].value))
	{
		window.alert("Proszę podać numer telefonu\nlub poprawny adres e-mail\ndo firmy lub osoby kontaktowej.");
		frm.elements['phone'].focus();
		return false;
	}

	
	chck = false;
	
	for(i = 0; i < frm.elements['features[]'].length; i++)
	{
		if (frm.elements['features[]'][i].checked == true)
			chck = true;	
	}
	if (!chck)
	{
		window.alert("Proszę zaznaczyć czym s± Państwo zainteresowani.");
		frm.elements['features[]'][0].focus();
		return false;
	}
	


	return true;
}

function checkCheck(chck)
{
	
}


function validate_orderform( frm )
{
  
  
  chk = false;
    
  for (i = 0; i < frm.plan.length; i++)
  {
    if (frm.plan[i].checked == true)
      {
        chk = true;
      }
  }
  
	if (!chk)
	{
		window.alert("Proszę wybrać pakiet!");
		frm.plan[0].focus();
		return false;
	}

	reqFields = new Array
				(
          'name',
					'phone'
				);

	for (i=0 ; i<reqFields.length ; i++) 
	{
		if( frm.elements[reqFields[i]].value == '' )
		{
			window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
			frm.elements[reqFields[i]].focus();
			return false;
		}
	}

	if( !is_email(frm.elements['email'].value) )
	{
		window.alert(JS_MSG_VALIDATE_FORM_EMAIL_REQ);
		frm.elements['email'].focus();
		return false;
	}

		reqFields = new Array 
				(
					'address',
					'city',
					'postal_code'
				);
				
	for (i=0 ; i<reqFields.length ; i++) 
	{
		if( frm.elements[reqFields[i]].value == '' )
		{
			window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
			frm.elements[reqFields[i]].focus();
			return false;
		}
	}

	if( !is_nip(frm.elements['vat_no'].value) )
	{
		window.alert( 'Prosimy podać prawidłowy NIP' );
		frm.elements['vat_no'].focus();
		return false;
	}
	
	if( !CheckREGON(frm.elements['regon_no'].value) )
	{
		window.alert( 'Prosimy podać prawidłowy REGON' );
		frm.elements['regon_no'].focus();
		return false;
	}
		
				
	reqFields = new Array 		
				(
					'krs_no',
					'edg_no',
					'edg_who',
					'rep_name',
					'rep_position',
					'verCode'
				);
				
	for (i=0 ; i<reqFields.length ; i++) 
	{
		if( frm.elements[reqFields[i]].value == '' )
		{
			window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
			frm.elements[reqFields[i]].focus();
			return false;
		}
	}	

	


	return true;
}


//////////////////////////

function validate_recommendation_form( frm )
{
	if( !is_email(frm.elements['recipient'].value) )
	{
		window.alert(JS_MSG_VALIDATE_FORM_EMAIL_REQ);
		frm.elements['recipient'].focus();
		return false;
	}
	if( !is_email(frm.elements['sender'].value) )
	{
		window.alert(JS_MSG_VALIDATE_FORM_EMAIL_REQ);
		frm.elements['sender'].focus();
		return false;
	}

	return true;
}

function validate_your_opinion_form( frm )
{
	reqFields = new Array
				(
					'sender'
				);

	for(var i in reqFields)
	{
		if( frm.elements[reqFields[i]].value == '' )
		{
			window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
			frm.elements[reqFields[i]].focus();
			return false;
		}
	}

	return true;
}


function validate_search_form( frm )
{
	re1 = /[\w±ęó¶łżĽćńˇĘÓ¦ŁŻ¬ĆŃ]/i;
	re2 = /(.*[^\w\s-@\.±ęó¶łżĽćńˇĘÓ¦ŁŻ¬ĆŃ]+)+/i;
	found1 = frm.elements['search_query'].value.match( re1 );
	found2 = frm.elements['search_query'].value.match( re2 );
	
	if(frm.elements['search_query'].value.length < 1 )
	{
		window.alert("Proszę wpisać frazę.");
		frm.elements['search_query'].focus();
		return false;
	}	
	
	if( !found1 || found2 )
	{
		window.alert("Nieprawidłowe słowa kluczowe.\n lub użyto znaków specjalnych.");
		frm.elements['search_query'].focus();
		return false;
	}

	return true;
}

function validate_checkdomain_form( frm )
{
	re1 = /[a-zA-Z0-9.-]+/i;
	found1 = frm.elements['domain_query'].value.match( re1 );
		
	if( frm.elements['domain_query'].value.length < 1 || !found1 )
	{
		window.alert("Proszę podać poprawn± nazwę domeny.");
		frm.elements['domain_query'].focus();
		return false;
	}

	return true;
}

function validate_nl_subscribe_form( frm )
{
	if( !is_email(frm.elements['nl_email'].value) )
	{
		window.alert("Nieprawidłowy adres email.\n WprowadĽ ponownie.");
		frm.elements['nl_email'].focus();
		return false;
	}

	return true;
}

function validate_register_form( frm )
{
	if( !is_email(frm.elements['email'].value) )
	{
		window.alert( reqEmailMsg );
		frm.elements['email'].focus();
		return false;
	}
	reqFields = new Array
				(
					'firm',
					'profile',
					'address',
					'country',
					'tel',
					'fax',
					'contact_person',
					'email',
					'pass'
				);

	for(var i in reqFields)
	{
		if( frm.elements[reqFields[i]].value == '' )
		{
			window.alert( reqFieldMsg );
			frm.elements[reqFields[i]].focus();
			return false;
		}
	}

	if(
			   frm.elements['pass'].value.length <= 3
			|| frm.elements['pass'].value != frm.elements['confirm'].value
		)
	{
		window.alert( reqPassConfrmMsg );
		frm.elements['pass'].focus();
		return false;
	}
	return true;
}

function validate_edit_profile_form( frm )
{
	if( !is_email(frm.elements['email'].value) )
	{
		window.alert( reqEmailMsg );
		frm.elements['email'].focus();
		return false;
	}
	reqFields = new Array
				(
					'firm',
					'profile',
					'address',
					'country',
					'tel',
					'fax',
					'contact_person',
					'email'
				);

	for(var i in reqFields)
	{
		if( frm.elements[reqFields[i]].value == '' )
		{
			window.alert( reqFieldMsg );
			frm.elements[reqFields[i]].focus();
			return false;
		}
	}

	if(frm.elements['pass'].value != frm.elements['confirm'].value)
	{
		window.alert( reqPassConfrmMsgEdit );
		frm.elements['pass'].focus();
		return false;
	}
	return true;
}

function validate_login_form( frm )
{
	if(frm.elements['remind_field'].value == 'email' && !is_email(frm.elements['psi_user'].value))
	{
		window.alert( reqEmailMsg );
		frm.elements['psi_user'].focus();
		return false;
	}

	if(frm.elements['remind_field'].value != 'email' && !is_email(frm.elements['remind_field'].value))
	{
		window.alert( reqEmailMsg );
		frm.elements['remind_field'].focus();
		return false;
	}

	return true;
}




// GENERAL USE FUNCTIONS //

function is_email( str )
{
	re = /^(\w[\w._-]*\w|\w)@(\w+(-\w+)?\.)+\w{2,4}$/i;
	//([^ \.\P{alnum}-][\w._-]*[^ \.\P{alnum}-]|[^ \.\P{alnum}-])@(\w+\.)\w{2,4}
	found = str.match( re );
	//alert(found);

	if( !found )
		return false;

	return true;
}

function is_nip( str )
{
	re = /^\d{10}$/;
	found = str.match( re );
	found = found ? 1 : 0;
	//alert("found: " + found);
	if( !found)
		return false;

	checkSumParts = '657234567';
	checkSum = 0;
	for(nr = 0; nr < 9; nr++)
		checkSum += checkSumParts.charAt(nr) * str.charAt(nr);

	//alert(checkSum);
	return str.charAt(9) == (checkSum % 11 % 10);

	return true;
}

function CheckREGON(str)
{    
	if ( str.length != 9)    
	{        
		return false;    
	}        
	arrSteps = "89234567";

	var intSum=0;    
	for (var i = 0; i < 8; i++)    
	{
		intSum += arrSteps.charAt(i) * str.charAt(i);
	} 

	var integer = intSum % 11;
	var intControlNr = 0;
	
	if (integer == 10)
		intControlNr = 0;	
	else
		intControlNr = integer;		
	
	if (intControlNr != str.charAt(8))     
	{        
		return false;    
	}    

	return true;
	
}

function KRSorEDG()
{
	if (!document.OrderForm.kORe[0].checked && !document.OrderForm.kORe[1].checked)
	{
		document.OrderForm.kORe[0].checked = true;
	}
	
	if (document.OrderForm.kORe[0].checked)
	{	
		document.OrderForm.edg_who.value = "-";
		document.OrderForm.edg_no.value = "-";	
		document.OrderForm.edg_who.className = "disabledform";
		document.OrderForm.edg_no.className = "disabledform";
		document.OrderForm.edg_who.disabled = true;	
		document.OrderForm.edg_no.disabled = true;
	}
	else
	{
		document.OrderForm.edg_who.value = ""; 
		document.OrderForm.edg_no.value = "";
		document.OrderForm.edg_who.className = "";
		document.OrderForm.edg_no.className = "";
		document.OrderForm.edg_who.disabled = false;	
		document.OrderForm.edg_no.disabled = false;
	}
	
	if (document.OrderForm.kORe[1].checked)
	{	
		document.OrderForm.krs_no.value = "-"; 
		document.OrderForm.krs_no.disabled = true;
		document.OrderForm.krs_no.className = "disabledform";
	}
	else		
	{	
		document.OrderForm.krs_no.value = ""; 
		document.OrderForm.krs_no.disabled = false;	
		document.OrderForm.krs_no.className = "";
	}
	
}

function correctNIP(frm)
{
	for (;frm.value.match("-") != null; )	
	{
		frm.value = frm.value.replace(/-/, "");
	}
}

function selectPlan(nazwa)
{
	for ( i=0; i < document.OrderForm.plan.length; i++)
	{
		if (document.OrderForm.plan[i].value == nazwa)
			document.OrderForm.plan[i].checked = true;
	}
}
