
function inArray(needle,haystack){var length=haystack.length;for(var i=0;i<length;i++){if(haystack[i]==needle)return true;}
return false;}
function logToConsole(msg){try{console.log(msg);}catch(err){}}
function isBetween(value,value_min,value_max,can_match_exactly){if(strict){return(value>value_min&&value<value_max);}else{return(value>=value_min&&value<=value_max);}}
function variableDefined(name){return typeof this[name]!=='undefined';}
function isArray(input){return typeof(input)=='object'&&(input instanceof Array);}
function isObject(mixed_var){if(mixed_var instanceof Array){return false;}else{return(mixed_var!==null)&&(typeof(mixed_var)=='object');}}
function refreshWindow(target,name){if(!target)target='window';try{if(name){if(eval(target+'.name')!=name)return;}
eval(target+'.location.reload();');}catch(err){}}
function inFrame(){return(window.location!=window.parent.location);}
function linkWindow(URL){smallWindow(URL,'generate_link',700,500);}
function protectedImagesWindow(URL){smallWindow(URL,'protected_images',700,500);}
function smallWindow(URL,id,width,height){eval("page_"+id+" = window.open(URL, '"+id+"', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width='+width+',height='+height);");try{if(window.focus){eval("page_"+id).focus()}}catch(err){}}
function minimizeWindow(){window.innerWidth=100;window.innerHeight=100;window.screenX=screen.width;window.screenY=screen.height;alwaysLowered=true;}
function maximizeWindow(){window.innerWidth=screen.width;window.innerHeight=screen.height;window.screenX=0;window.screenY=0;alwaysLowered=false;}
function goToURL(url,target,properties){if(!properties)properties=new Object();switch(target){default:window.location=url;break;case'_blank':window.open(url,properties.name);break;}}
function confirmAction(strMessage,strURL){var agree=confirm(strMessage);if(agree){window.location=strURL;}
else{return false;}}
var stored_values=new Object();function assignStoredValue(target,property,set_value){var target_id='';if(!property)property='val';if(isObject(target)){if(!set_value){switch(property){default:set_value=$(target).attr(property);break;case'val':set_value=$(target).val();break;}}
target_id=$(target).attr("id");}else{target_id=target;}
if(!target_id||!property)return;if(!stored_values[target_id])stored_values[target_id]=new Object();stored_values[target_id][property]=set_value;}
function checkAndSubmitForm(form_name,properties){var t_form=$("form[name=form_"+form_name+"]");if(!properties)properties=new Object();if(checkForm(t_form)){if(properties.action=='redirect'&&properties.url){$("input#r").val(properties.url);$("input#next_action_override").val(1);}
t_form.removeAttr('onSubmit');$("textarea.ta_ckeditor").each(function(i){CKEDITOR.instances[$("textarea.ta_ckeditor")[i].id].updateElement();});t_form.submit();}
return false;}
function setFieldState(obj_field,state_name,off){var field_name=$(obj_field).attr('name');$("input[name="+field_name+"], select[name="+field_name+"]").each(function(){if(off){$(this).attr(state_name,state_name);$(this).addClass('disabled');}else{$(this).removeAttr(state_name);$(this).removeClass('disabled');}});if(off){setLabelsErrored(obj_field,false);$('label[name=label_'+field_name+']').addClass('cursor_default');}else{$('label[name=label_'+field_name+']').removeClass('cursor_default');}}
function setLabelsErrored(obj_field,is_errored){var field_name=$(obj_field).attr('name');$('label[name=label_'+field_name+'] span').attr('class',(is_errored)?'errored':'');}
function setLabelsErrored(fieldName,isErrored){try{var relevantLabels=document.getElementsByName('label_'+fieldName);for(var i=0;i<relevantLabels.length;i++){relevantLabels[i].getElementsByTagName('span')[0].className=(isErrored)?'errored':'';}}catch(err){}}
var blurCheck_passed=true;function resetBlurCheck(){blurCheck_passed=true;}
function trim(s){var i;var returnString="";for(i=0;i<s.length;i++){var c=s.charAt(i);if(c!=" ")returnString+=c;}
return returnString;}
function stripCharsInBag(s,bag){var i;var returnString="";for(i=0;i<s.length;i++){var c=s.charAt(i);if(bag.indexOf(c)==-1)returnString+=c;}
return returnString;}
function validateObjText(objText){try{return(objText.value.length>0);}catch(err){}
return true;}
function validateObjSelect(objSelectBox){return(objSelectBox[objSelectBox.selectedIndex].value!='');}
function validateObjCheckbox(objCheckbox){try{var thisCheckGroup=document.getElementsByName(objCheckbox.name);for(i=0;i<thisCheckGroup.length;i++){if(thisCheckGroup[i].checked){return true;}}}catch(err){}
return false;}
function missedObjectMandatory(obj,failed_string){var has_value=true;try{switch(obj.type){case'text':case'text_input':case'text_area':case'textarea':case'password':has_value=validateObjText(obj);break;case'checkbox':case'radio':has_value=validateObjCheckbox(obj);break;case'select':case'select-one':case'select-multiple':has_value=validateObjSelect(obj);break;}
if(!has_value){return(failed_string)?failed_string:true;}}catch(err){}
return false;}
function blurCheckObjMandatory(obj,failed_string){try{if(blurCheck_passed){if(missedObjectMandatory(obj,'')){setLabelsErrored(obj.name,true);alert(failed_string);blurCheck_passed=false;}else{setLabelsErrored(obj.name,false);}}}catch(err){}}
function validateEmail(string){var reg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,6})$/;return(reg.test(string));}
function validateInteger(string){if(isNaN(string))string=0;return(string>0);}
function validateNumber(string){return(!isNaN(string));}
function validatePhoneNumber(strPhone){var phoneNumberDelimiters="()-. extnsio#";var validWorldPhoneChars=phoneNumberDelimiters+"+";var minDigitsInIPhoneNumber=10;var bracket=3;strPhone=trim(strPhone);if(strPhone.indexOf("+")>1)return false;if(strPhone.indexOf("-")!=-1)bracket=bracket+1;var openingBracketPos=strPhone.indexOf("(");var closingBracketPos=strPhone.indexOf(")");if(openingBracketPos!=-1&&openingBracketPos>bracket)return false;if(openingBracketPos!=-1&&closingBracketPos!=openingBracketPos+4)return false;if(openingBracketPos==-1&&closingBracketPos!=-1)return false;s=stripCharsInBag(strPhone,validWorldPhoneChars);return(validateNumber(s)&&s.length>=minDigitsInIPhoneNumber);}
function validateFormat(format,data){switch(format){case'email':case'email_address':return validateEmail(data);break;case'int':return validateInteger(data);break;case'number':return validateNumber(data);break;case'phone':case'phone_number':return validatePhoneNumber(data);break;}
return true;}
function invalidObjectFormat(obj,format,failed_string){var is_valid=true;var value;try{switch(obj.type){case'text':case'text_input':case'textarea':value=obj.value;break;case'select':case'select-one':case'select-multiple':value=obj[obj.selectedIndex].value;break;}
if(!validateFormat(format,value)){return(failed_string)?failed_string:'true';}}catch(err){}
return false;}
function blurCheckObjFormat(obj,format,failed_string){try{if(blurCheck_passed){if(invalidObjectFormat(obj,format,'')){setLabelsErrored(obj.name,true);alert(failed_string);blurCheck_passed=false;}else{setLabelsErrored(obj.name,false);}}}catch(err){}}
