/*************************************************************************************** 
* File Name : party.js 
* Functionality : This file contains the client-side validations for the Party module. 
* Created By : Ramkumar AVHSS
* Created Date : 03/03/2008 
* 
* Change Log : 
* Date By Bug Change Description 
***************************************************************************************/
function validateNewForm(){
	
	clearErrors();	
/* Mandatory fields of form */	
	var partyName = document.getElementById("party_party");
	var partyTypeId = document.getElementById("party_party_type_id");
	var addressLine1 = document.getElementById("party_address_line_1");
	var city = document.getElementById("party_city");
	var state = document.getElementById("party_state");
	var country = document.getElementById("party_country_id");
	var zipCode = document.getElementById("party_zip");
	var region = document.getElementById("party_region_id");
	var contactPerson = document.getElementById("party_contact_person");
	var telephone = document.getElementById("party_telephone");
	var emailId = document.getElementById("party_contact_email");
	var inceptionYear = document.getElementById("party_inception_year");
	var partnerSince = document.getElementById("party_partner_since");
/* Optional fields of form */	
	var reportedDelinquencyRate = document.getElementById("party_reported_delinquency_rate");
	var reportedDefaultRate = document.getElementById("party_reported_default_rate");
	var averageInterestRate = document.getElementById("party_average_interest_rate");

    var nameCheck =  /^[a-zA-Z\s\-\']*$/;
	var zipCheck =  /^[0-9a-zA-Z\-]*$/;
	
	if(Trim(partyName.value) == ''){
		addError(getAdminErrorMessage('PARTY_NAME'),partyName);
	}
	if(Trim(partyTypeId.value) == ''){
		addError(getAdminErrorMessage('PARTY_TYPE'),partyTypeId);
	}	
	
	if(Trim(addressLine1.value) == ''){
		addError(getAdminErrorMessage('ADDRESS'),addressLine1);
	}
	 if(Trim(city.value) == ''){
		addError(getAdminErrorMessage('CITY'),city);
	}
	 if(!nameCheck.test(Trim(city.value))){
		addError(getAdminErrorMessage('CITY_VALID'),city);
	}
	 if(Trim(state.value) == ''){
		addError(getAdminErrorMessage('STATE'),state);
	}
	if(!nameCheck.test(Trim(state.value))){
		addError(getAdminErrorMessage('STATE_VALID'),state);
	}
	 if(Trim(country.value) == ''){
		addError(getAdminErrorMessage('COUNTRY'),country);
	}
	 if(Trim(zipCode.value) == ''){
		addError(getAdminErrorMessage('ZIP'),zipCode);
	}
	 if(!zipCheck.test(Trim(zipCode.value))){
		addError(getAdminErrorMessage('ZIP_VALID'),zipCode);
	 }
	 if(Trim(region.value) == ''){
		addError(getAdminErrorMessage('REGION'),region);
	}
	 if(Trim(contactPerson.value) == ''){
		addError(getAdminErrorMessage('CONTACT_PERSON'),contactPerson);
	}
	 else{
	 	if(checkTextInput(Trim(contactPerson.value)))
		{
			addError(getAdminErrorMessage('CONTACT_PERSON_VALID'),contactPerson);
		}
		
	 }
	 
	 if(Trim(telephone.value) == ''){
		addError(getAdminErrorMessage('TELEPHONE'),telephone);
	}
	else if(isNaN(Trim(telephone.value))){
		addError(getAdminErrorMessage('TELEPHONE_VALID'),telephone);
	}
     if(!check_emailid(emailId)){
	 	addError(getAdminErrorMessage('EMAIL_VALID'),emailId);
	}
	 if(Trim(inceptionYear.value) == '' || isNaN(inceptionYear.value)){
		addError(getAdminErrorMessage('INCEPTION_YEAR_VALID'),inceptionYear);
	}
	 if(Trim(partnerSince.value) == '' || isNaN(partnerSince.value)){
		addError(getAdminErrorMessage('PARTNER_YEAR_VALID'),partnerSince);
	}
	 if (Trim(reportedDelinquencyRate.value) != '' && (isNaN(reportedDelinquencyRate.value) || (Trim(reportedDelinquencyRate.value)<0 || Trim(reportedDelinquencyRate.value)>100) ) ) {
		addError(getAdminErrorMessage('DELINQUENCY_RATE_VALID'),reportedDelinquencyRate);
	}
	 if (Trim(reportedDefaultRate.value) != '' && (isNaN(reportedDefaultRate.value) || (Trim(reportedDefaultRate.value)<0 || Trim(reportedDefaultRate.value)>100) )) {
		addError(getAdminErrorMessage('DEFAULT_RATE_VALID'),reportedDefaultRate);
	}
	if (Trim(averageInterestRate.value) != '' && (isNaN(averageInterestRate.value) || (Trim(averageInterestRate.value)<0 || Trim(averageInterestRate.value)>100) )) {
		addError(getAdminErrorMessage('INTEREST_RATE_VALID'),averageInterestRate);
	}
	if (ifError()) {
		showErrors();		
		return false;
	}
	else 
		return true;

}

function validateEditForm(){
	clearErrors();	
/* Mandatory fields of form */	
	var partyName = document.getElementById("party_party");
	var partyTypeId = document.getElementById("party_party_type_id");
	var addressLine1 = document.getElementById("party_address_line_1");
	var city = document.getElementById("party_city");
	var state = document.getElementById("party_state");
	var country = document.getElementById("party_country_id");
	var zipCode = document.getElementById("party_zip");
	var region = document.getElementById("party_region_id");
	var contactPerson = document.getElementById("party_contact_person");
	var telephone = document.getElementById("party_telephone");
	var emailId = document.getElementById("party_contact_email");
	var inceptionYear = document.getElementById("party_inception_year");
	var partnerSince = document.getElementById("party_partner_since");
/* Optional fields of form */	
	var reportedDelinquencyRate = document.getElementById("party_reported_delinquency_rate");
	var reportedDefaultRate = document.getElementById("party_reported_default_rate");
	var averageInterestRate = document.getElementById("party_average_interest_rate");

	var nameCheck =  /^[a-zA-Z\s\-\']*$/;
	var zipCheck =  /^[0-9a-zA-Z\-]*$/;
	
	if(Trim(partyName.value) == ''){
		addError(getAdminErrorMessage('PARTY_NAME'),partyName);
	}
	if(Trim(partyTypeId.value) == ''){
		addError(getAdminErrorMessage('PARTY_TYPE'),partyTypeId);
	}	
	
	if(Trim(addressLine1.value) == ''){
		addError(getAdminErrorMessage('ADDRESS'),addressLine1);
	}
	 if(Trim(city.value) == ''){
		addError(getAdminErrorMessage('CITY'),city);
	}
	 if(!nameCheck.test(Trim(city.value))){
		addError(getAdminErrorMessage('CITY_VALID'),city);
	}
	 if(Trim(state.value) == ''){
		addError(getAdminErrorMessage('STATE'),state);
	}
	if(!nameCheck.test(Trim(state.value))){
		addError(getAdminErrorMessage('STATE_VALID'),state);
	}
	 if(Trim(country.value) == ''){
		addError(getAdminErrorMessage('COUNTRY'),country);
	}
	 if(Trim(zipCode.value) == ''){
		addError(getAdminErrorMessage('ZIP'),zipCode);
	}
	 if(!zipCheck.test(Trim(zipCode.value))){
		addError(getAdminErrorMessage('ZIP_VALID'),zipCode);
	 }
	 if(Trim(region.value) == ''){
		addError(getAdminErrorMessage('REGION'),region);
	}
	 if(Trim(contactPerson.value) == ''){
		addError(getAdminErrorMessage('CONTACT_PERSON'),contactPerson);
	}
	else{
	 	if(checkTextInput(Trim(contactPerson.value)))
		{
			addError(getAdminErrorMessage('CONTACT_PERSON_VALID'),contactPerson);
		}
		
	 }
	 if(Trim(telephone.value) == ''){
		addError(getAdminErrorMessage('TELEPHONE'),telephone);
	}
	else if(isNaN(Trim(telephone.value))){
		addError(getAdminErrorMessage('TELEPHONE_VALID'),telephone);
	}
     if(!check_emailid(emailId)){
	 	addError(getAdminErrorMessage('EMAIL_VALID'),emailId);
	}
	 if(Trim(inceptionYear.value) == '' || isNaN(inceptionYear.value)){
		addError(getAdminErrorMessage('INCEPTION_YEAR_VALID'),inceptionYear);
	}
	 if(Trim(partnerSince.value) == '' || isNaN(partnerSince.value)){
		addError(getAdminErrorMessage('PARTNER_YEAR_VALID'),partnerSince);
	}
	 if (Trim(reportedDelinquencyRate.value) != '' && (isNaN(reportedDelinquencyRate.value) || (Trim(reportedDelinquencyRate.value)<0 || Trim(reportedDelinquencyRate.value)>100) ) ) {
		addError(getAdminErrorMessage('DELINQUENCY_RATE_VALID'),reportedDelinquencyRate);
	}
	 if (Trim(reportedDefaultRate.value) != '' && (isNaN(reportedDefaultRate.value) || (Trim(reportedDefaultRate.value)<0 || Trim(reportedDefaultRate.value)>100) )) {
		addError(getAdminErrorMessage('DEFAULT_RATE_VALID'),reportedDefaultRate);
	}
	if (Trim(averageInterestRate.value) != '' && (isNaN(averageInterestRate.value) || (Trim(averageInterestRate.value)<0 || Trim(averageInterestRate.value)>100) )) {
		addError(getAdminErrorMessage('INTEREST_RATE_VALID'),averageInterestRate);
	}
	
	if (ifError()) {
		showErrors();		
		return false;
	}
	else 
		return true;

}
	
function validateSearchResultForm(){
	var elements = document.display_parties.elements;
	var check = 0;

	for(i=0;i<elements.length;i++){
		if (elements[i]) {
			if (elements[i].name == "party[id]") {
				if (elements[i].checked == true) 
					check = elements[i].value;
			}
		}
	}
	if(check == 0){
		clearErrors();
		addError('Please select Party',elements[0]);
		showErrors();
		return false;
	}
	else{
		document.display_parties.id.value = check;
		return true;
	}
	
	
}

function resetForm(){
	document.getElementById("parties.id").value='';
	document.getElementById("party").value='';
	document.getElementById("party_type_id").value='';	
	document.getElementById("region_id").value='';
	document.getElementById("country_id").value='';	
	document.getElementById("telephone").value='';
}	

function validateSearchForm(){
	clearErrors();
	if(Trim(document.getElementById("parties.id").value)=='' && Trim(document.getElementById("party").value) == '' && Trim(document.getElementById("party_type_id").value) =='' && Trim(document.getElementById("region_id").value) =='' && Trim(document.getElementById("country_id").value)=='' && Trim(document.getElementById("telephone").value) ==''){
		addError("Please enter the Search Criteria");
	}
	if(isNaN(document.getElementById("parties.id").value)){
		addError("Please enter valid Party Id",document.getElementById("parties.id"));
	}
	if(ifError()){
		showErrors();
		return false;
	}
	else
		return true;
}	