var originalBgColor = '';
var originalPadding = '';

function showEditable(el,isPhoto, isBasicInfo){
	orignalBgColor = el.style.backgroundColor;
	originalPadding = el.style.padding;//TODO: better to jsut switch css classes.
	if(isPhoto){
		el.style.border = '4px dashed #ebebe0';		
	}else if(isBasicInfo){
		el.style.backgroundColor = '#ffffff';
	}else{
		el.style.backgroundColor = '#ebebe0';		
	}
	
}

function doSelectAll(isAllSelected){
	var els  = document.getElementsByTagName("input");
	for(var i = 0; i < els.length; i++){
		if(els[i].type == 'checkbox'){
			els[i].checked = isAllSelected;
		}
	}
}

function unShowEditable(el,isPhoto){
	el.style.backgroundColor = originalBgColor;
	if(isPhoto){
		el.style.border =  'solid 4px #FFF';
	}
}	

var hasDirtyEditors = false;
window.onbeforeunload = confirmExit;
function confirmExit(){
	if(hasDirtyEditors || pageSpecificDirtyChecking()) {
		return "Any unsaved changes will be lost";	
	}
}

function pageSpecificDirtyChecking(){
	if(typeof checkDirtyEditors == 'function'){
		return checkDirtyEditors();
	}
}
function setDirtyStatus(isDirty){
	hasDirtyEditors = isDirty;
}

function validateEmail(email){
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	return(emailPattern.test(email));
}

function validateCanadianPostalCode(value){
	var pattern = /^\w\d\w\s\d\w\d$/;
	return(pattern.test(value));
}

function validateAmericanPostalCode(value){
	var pattern = /^\d{5}([\-]\d{4})?$/;
	return(pattern.test(value));
}

function validatePhoneNumber(value){
	var pattern = /^\d\d\d-\d\d\d-\d\d\d\d.*$/;
	return(pattern.test(value));
}

function validateMultipleFileExensions(fileName, acceptables){
	for(var i = 0; i < acceptables.length; i ++){
		if(validateFileExtension(fileName, acceptables[i])){
			return true;
		}else{
			continue;
		}
	}
	return false;
}

function validateFileExtension(filename, acceptable){
	if(filename.substr(filename.length-4).toLowerCase() == "." + acceptable.toLowerCase()){
		return true;
	}
	return false;
}

function textCounter(field,cntfield,maxlimit) {
    if (field.value.length > maxlimit){
        field.value = field.value.substring(0, maxlimit);
    } else {
        cntfield.value = maxlimit - field.value.length;
    }
}

function reachedTextLimitCounter(field,maxlimit) {
    if (field.value.length > maxlimit){
        field.value = field.value.substring(0, maxlimit-1);
        return true;
    }
    return false;
}

function launchBulk(contextPath, personId, dt){
	window.open(contextPath + '/siteAdmin/bulkUpload.html?action=' + contextPath + '/bulkUpload.do&personId=' + personId + '&dt=' + dt,'bulkUploader','width=720,height=420,resizable=true,toolbar=false,status=false,menubar=false,');	
}

function deriveFileName(fileInput, fileNameInput){
	var fileName = document.getElementById(fileInput).value;
	var pathSeparator = "\\";
	if(fileName.indexOf("\\\\") > 1){
		pathSeparator = "/";
	}
	var index = fileName.lastIndexOf(pathSeparator);
	fileName = fileName.substring(index + 1, fileName.length);
	document.getElementById(fileNameInput).value = fileName;
}

function onEnter(evt, methodToCall) {
	var keyCode = null;
	if(evt.which) {
		keyCode = evt.which;
	} else if(evt.keyCode) {
		keyCode = evt.keyCode;
	}
	if(13==keyCode) {
		methodToCall();
		return false;
	}
	return true;
}
function swapImage(obj, imgName){
	obj.src = imgName;
}
