var defaultAssetAlreadyExists = true;
var editAssetMode = false;
var currentAssetIsDefault = false;
var digitPattern = /\d/g;
var twoDigitPattern = /\d{2}/g;
var spacePattern = /^\s/g;
var imageExtnPattern = "^.*(\.(gif|jpg|jpeg|png|JPG|JPEG|GIF|PNG))$";
var audioExtnPattern = "^.*(\.(flv|mp3|FLV|MP3))$";
var videoExtnPattern = "^.*(\.(flv|FLV))$";
var suitPattern = /^[0-9]{2}(s|r|l|xl)$/i;
var shoeSizePattern = /^([0-9]|[0-9]{2}).[0|5]$/;
var assetType = true;
var divisionType = true;
var countAsset = true;
var divisionImageArrayLimit = 5;

function checkFieldLength (limit, fieldId, fieldName) {
	errStr = "";
	if(($(fieldId).value).length > limit) {
		errStr += '- The limit of ' + fieldName + ' is ' + limit + ' characters. You have exceeded the limit.';
	}
	if (errStr != "") {
		alert(errStr);
		return false;
	}
	else
		return true;
}

function checkAllAgents() {
	var checkBoxes = Form.getInputs('talentForm','checkbox','data[Agent][Agent][]');
	checkBoxes.each(function(cb){
			cb.checked = true;
			return;
	});
}

function validateBasicInfo() {
	var errStr = '';
	var talentForm = $('talentForm');
	var agentsAssociated = false;
	var sex = false;
	var radio = Form.getInputs('talentForm','radio','data[Talent][sex]')
	var checkBoxes = Form.getInputs('talentForm','checkbox','data[Agent][Agent][]')
	if ($('firstNameText').value == '')
		errStr += '- Firstname is mandatory\n';
	if(($('firstNameText').value).match(digitPattern) || ($('firstNameText').value).match(spacePattern)) {
		errStr += '- Firstname is not valid\n';
	}	
	if ($('lastNameText').value == '')
		errStr += '- Lastname is mandatory\n';
	if(($('lastNameText').value).match(digitPattern) || ($('lastNameText').value).match(spacePattern)) {
		errStr += '- Lastname is not valid\n';
	}	
	radio.each(function(rb){
		if(rb.checked) {
			sex = true;
			throw $break;
		}
	});
	if(!sex) {
		errStr+= "- Select the sex\n"
	}
	if (errStr != "") {
		alert(errStr);
		return false;
	}
	else
		return true;
}

function validateHighResImageMandatory() {
	var errStr = '';
	if(countAsset <= 0) {
		errStr += 'High Res Image Mandatory';
	} 
	if (errStr != '') {
		alert(errStr);
		return false
	}
	else
		return true;
}

function validateImageUpload() {
	var errStr = '';
	if (!editAssetMode) { 
		if ($('mainFileUpload').value == '')
			errStr += '- Main File is mandatory\n';
	}
	if ($('thumbNailFileUpload').value && !($('thumbNailFileUpload').value).match(imageExtnPattern))
		errStr += '- Upload thumbnail is not an image\n';
	
	if (assetType == 'i' && $('mainFileUpload').value && 
												!($('mainFileUpload').value).match(imageExtnPattern))
		errStr += '- Uploaded Mainfile is not an image\n';
		
	if (assetType == 'i' && $('mainFileUpload').value && !($('thumbNailFileUpload').value))	
		errStr += '- Thumbnail image is mandatory\n';
		
	if (assetType == 'a' && $('mainFileUpload').value && 
												!($('mainFileUpload').value).match(audioExtnPattern))
		errStr += '- Uploaded Mainfile is not an audio\n';
	
	if (assetType == 'v' && $('mainFileUpload').value && 
												!($('mainFileUpload').value).match(videoExtnPattern))
		errStr += '- Uploaded Mainfile is not a video\n';
	
	if (defaultAssetAlreadyExists && !currentAssetIsDefault 
											&& $('assetDefaultCheck').checked == true) {
			errStr += '- A default Asset already exists. Please ensure that there are no other default Assets ' +
						'before making this Asset the default\n';
	}
	if (errStr != '') {
		alert(errStr);
		return false
	}
	else
		return true;
}

function validateMiscInfo() {
	var talentForm = $('talentForm');
	if(divisionType == 'ModelTalent') {
		var errStr = validateModelTalent();
		if (errStr != "") {
			alert(errStr);
			return false;
		}
		else
			return true;
	}
}

function validateModelTalent() {
	var errStr = '';
	if($('Age Possible Min').value != '') {
		if(!$('Age Possible Min').value.match(twoDigitPattern)&&!$('Age Possible Min').value.match(digitPattern)) {
			errStr+= "-Enter a valid age\n";
		}
	}
	if($('Age Possible Max').value != '') {
		if(!$('Age Possible Max').value.match(twoDigitPattern)&&!$('Age Possible Max').value.match(digitPattern)) {
			errStr+= "-Enter a valid possible age\n";
		}
	}
	if ($('ModelTalentFeet').value == "")
		$('ModelTalentFeet').value = '0';
	if ($('ModelTalentInches').value == "")
		$('ModelTalentInches').value = '0';
	$('ModelTalentHeight').value = ($('ModelTalentFeet').value * 12)+parseInt($('ModelTalentInches').value);
	return errStr;
}

function calcHeightInInches() {
	if ($('ModelTalentHeightFeetFrom').value == "")
		$('ModelTalentHeightFeetFrom').value = '0';
	if ($('ModelTalentHeightInFrom').value == "")
		$('ModelTalentHeightInFrom').value = '0';
	if ($('ModelTalentHeightFeetTo').value == "")
		$('ModelTalentHeightFeetTo').value = '0';
	if ($('ModelTalentHeightInTo').value == "")
		$('ModelTalentHeightInTo').value = '0';

	$('ModelTalentHeightFrom').value = 
					($('ModelTalentHeightFeetFrom').value * 12)+parseInt($('ModelTalentHeightInFrom').value);
	$('ModelTalentHeightTo').value = 
					($('ModelTalentHeightFeetTo').value * 12)+parseInt($('ModelTalentHeightInTo').value);
}

function validateEditDivision() {
	var errStr = '';
	if ($('video').value && !($('video').value).match(videoExtnPattern))
		errStr += '- Video extension not matching\n';
	divisionImageArray = new Array("DivisionAssetImage1","DivisionAssetImage2",
											"DivisionAssetImage3","DivisionAssetImage4","DivisionAssetImage5");
	for(var i=0;i<divisionImageArrayLimit;i++) {
		if($(divisionImageArray[i]).value && !($(divisionImageArray[i]).value).match(imageExtnPattern)) {
			errStr += '-Extension not matching for the Home Page Image '+(i+1)+'\n';
		}
	}														
	if (errStr != '') {
		alert(errStr);
		return false
	}
	else
		return true;
}

function validateAddEditAgent() {
	var errStr = '';
	if ($('AgentFirstName').value == '')
		errStr += '- Firstname is mandatory\n';
	if(($('AgentFirstName').value).match(digitPattern) || ($('AgentFirstName').value).match(spacePattern)) {
		errStr += '- Firstname is not valid\n';
	}	
	if ($('AgentLastName').value == '')
		errStr += '- Lastname is mandatory\n';
	if(($('AgentLastName').value).match(digitPattern) || ($('AgentLastName').value).match(spacePattern)) {
		errStr += '- Lastname is not valid\n';
	}	
	if($('AgentEmailId').value == "") 
		errStr += '- Email Address is mandatory\n';
	if (!divisionsAssocCheck())
		errStr += '- At least one division should be checked\n';
	if (errStr != '') {
		alert(errStr);
		return false
	}
	else
		return true;
}

function divisionsAssocCheck() {
	var checkBoxes = Form.getInputs('agentForm','checkbox','data[Division][Division][]');
	var atLeastOneChecked = false;
	checkBoxes.each(function(cb){
		if (cb.checked) {
			atLeastOneChecked = true;
			throw $break;
		}
	});
	return atLeastOneChecked;
}


function setAndClearDefaultSearchText() {
	Event.observe($('basicSearchField'), 'focus', clearDefaultText);
	Event.observe($('basicSearchField'), 'blur', setDefaultText);
}

function setDefaultText() {
	if($('basicSearchField').value == '') {
		$('basicSearchField').value = 'Talent Last Name';
		$('basicSearchField').setStyle({
						  color: 'gray',
						  fontStyle: 'italic'
						});
	}
}

function clearDefaultText() {
	if($('basicSearchField').value == 'Talent Last Name') {
		$('basicSearchField').value = '';
		$('basicSearchField').setStyle({
						  color: 'black',
						  fontStyle: 'normal'
						});
	}	
}

function submitBasicSearch() {
	if($('basicSearchField').value == 'Talent Last Name') {
		$('basicSearchField').value = '';
	}
	$('basicSearchForm').submit();
}

function trim(str) {
     s = str.replace(/^(\s)*/, '');
     s = s.replace(/(\s)*$/, '');
     return s;
}

function enableOrDisableAgeRangeCheck() {
	var ageRangeRadios = Form.getInputs('talentForm','radio','data[Talent][age_range]');
	var adultRadiolElement = $('TalentYouthAdultA');
	if (adultRadiolElement.checked) {
		$('TalentAgeRange').checked=true;
			ageRangeRadios.invoke('disable');
			return;
	}
	else {
		ageRangeRadios.invoke('enable');
	}	
}

function validateEblastSendForm() {
	var errStr = "";
	if ($('TemplateYourName').value == '')
		errStr += '- Enter Your Name\n';
	if ($('TemplateAgentEmailId').value == '')
		errStr += '- Enter Your Email Id\n';
	if ($('TemplateEmailId').value == '')
		errStr += '- Enter Recipient\'s Email Id\n';
	if (errStr != "") {
		alert(errStr);
		return false;
	}
	else
		return true;
}

function checkAllSelectedTalents() {
	var checkBoxes = Form.getInputs('portfolioTalentResultForm','checkbox');
	
	if((checkedOrUnchecked() == true || $('selectOrUnSelectButton').value == "Unselect All") && ($('selectOrUnSelectButton').value != "Select All")) {
		checkBoxes.each(function(cb){
				cb.checked = false;
		});
		$('selectOrUnSelectButton').value = "Select All";
	}
	else if (checkedOrUnchecked() == false || $('selectOrUnSelectButton').value == "Select All") {
		checkBoxes.each(function(cb){
				cb.checked = true;
		});
		$('selectOrUnSelectButton').value = "Unselect All";
	}
}

function checkedOrUnchecked() {
	var checkBoxes = Form.getInputs('portfolioTalentResultForm','checkbox');
	var check = true;
	checkBoxes.each(function(cb){
		if(cb.checked == false) {
			check = false;
			throw $break;
		}
	});
	return check;
}