var InValidEmail = new Array( "test.com", "sex.com", "testing.com", "tester.com", "xxx.com", "yyy.com" ); var InValidWord = new Array( "bitch", "blowjob", "clit", "fuck", "ass", "asshole", "b!tch", "b17ch", "b1tch", "bastard", "bi+ch", "boiolas", "buceta", "c0ck", "cawk", "chink", "cipa", "clits", "cock", "cum", "cunt", "dildo", "dirsa", "ejakulate", "fatass", "fcuk", "fuk", "fux0r", "gay", "hoer", "hore", "jism", "kawk", "l3itch", "l3i+ch", "lesbian", "lesbo", "masturbate", "masterbat*", "masterbat3", "motherfucker", "s.o.b.", "mofo", "nazi", "nigga", "nigger", "nutsack", "phuck", "pimpis", "pusse", "pussy", "scrotum", "sh!t", "shemale", "shit", "shi+", "sh!+", "slut", "smut", "teets", "tits", "boobs", "b00bs", "teez", "test", "testical", "testicle", "titt", "w00se", "jackoff", "wank", "whoar", "whore", "xxx", "yyy", "zzz", "xyz"); 

function dhtmlLoadScript(url) { var e = document.createElement("script"); e.src = url; e.type="text/javascript"; document.getElementsByTagName("head")[0].appendChild(e);}
function addEvent(element, type, handler) { if (!handler.$$guid) handler.$$guid = addEvent.guid++; if (!element.events) element.events = {}; var handlers = element.events[type]; if (!handlers) { handlers = element.events[type] = {}; if (element["on" + type]) { handlers[0] = element["on" + type];}
}
handlers[handler.$$guid] = handler; element["on" + type] = handleEvent;}; addEvent.guid = 1; function removeEvent(element, type, handler) { if (element.events && element.events[type]) { delete element.events[type][handler.$$guid];}
}; function handleEvent(event) { event = event || window.event; var handlers = this.events[event.type]; for (var i in handlers) { this.$$handleEvent = handlers[i]; this.$$handleEvent(event);}
}; function NumberOnly(event) { try { var KeyCode=event.keyCode;} catch(e) { var KeyCode=event.charCode;}
if ((KeyCode>=65 && KeyCode<=90) || (KeyCode>=187 && KeyCode<=189) || KeyCode>=192 || KeyCode==59) { if (KeyCode!=36 && KeyCode!=188) { return false;}
}
}
String.prototype.trim = function() { return this.replace(/^\s*|\s*$/g,"");}

function StrValidLib(o){ if (o) { this.StrVar=o.value.trim(); this.InputObj=o; if (o.name.search(/\[\]/)>=0) { this.InputName=o.name.replace(/\[\]/, "");} else { this.InputName=o.name;}
this.Validator; this.ValidMode; this.ValidObj; this.LastClass=null; this.FormContent=""; this.target_script="/validation/process.php"; this.ajax_mode="POST"; this.warning_msg=""; this.ajax_last_element_chk=false; return this;} else { return false;}
return this;}; var sv = StrValidLib; sv.prototype.isset = function() { if (this.InputObj && this.InputObj.type=="select-one" && this.InputObj.selectedIndex==0) {return false;} else {if (this.StrVar=="") { return false;} else { return this;}}
}
sv.prototype.strlen = function() { return this.StrVar.length;}
sv.prototype.is_charset = function(str, charset) { var result=true; for (var i=0;i<str.length;i++){ if (charset.indexOf(str.substr(i,1))<0) { result=false; break;}
}
return result;}
sv.prototype.is_numeric = function() { return this.is_charset(this.StrVar,"0123456789");}
sv.prototype.substr_exist = function(s) { if (this.StrVar.search("s")>0) { return true;} else { return false;}
}
sv.prototype.test = function() { alert("test");}

sv.prototype.hint = function() { this.swap_class("va_hint"); this.add_hint(this.warning_msg);}
sv.prototype.warning = function() { eval("va_pl."+this.InputName+".status=0"); this.swap_class("va_warning"); this.add_hint(this.warning_msg); this.lock_submit();}
sv.prototype.clear_hint = function() { var hintObj=document.getElementById(this.InputName+"_hint"); hintObj.style.display="none"; hintObj.innerHTML="";}
sv.prototype.pass = function() { this.clear_hint(); eval("va_pl."+this.InputName+".status=1"); this.swap_class("va_pass");//ticket 624 Not Showing up On Required Fields.  
this.unlock_submit();}
sv.prototype.loading = function() { this.swap_class("va_loading");}
sv.prototype.swap_class = function(s) { var imgObj=document.getElementById(this.InputName+"_img"); imgObj.setAttribute("class", s); imgObj.setAttribute("className", s);}
sv.prototype.add_hint = function(msg) { var hintObj=document.getElementById(this.InputName+"_hint"); hintObj.innerHTML=msg; hintObj.style.width=msg.length*7+20; if (this.InputObj && this.InputObj.type!="radio") { hintObj.style.left="-"+hintObj.style.width; if (this.InputObj && this.InputObj.type!="select-one") { hintObj.style.margin="-7px 0px 0px 9px";} else { hintObj.style.margin="3px 0px 0px 9px";}
} else { hintObj.style.left=18; hintObj.style.margin="-18px 0px 0px 0px";}
if (HintDisplay!=null && HintDisplay==true) { hintObj.style.display="block";}
}

var tmpObject; var AjaxIng = false; var Passed=false; var LastElement=null; var SumitState=false; var EnterDetection=false; var va_msg = { CreditCard : "Please enter a valid Credit Card", Email : "Please enter a valid Email Address", IntlPhone : "Please enter a valid Int'l Phone Nmber", REQ : "Required Field", SSN : "Please enter a valid Social Security Number", USPhone : "Invalid Phone Number", ZipCA : "Please enter a valid Zip Code", ZipUK : "Please enter a valid Zip Code", ZipUS5 : "Please enter a valid US Zip Code", ZipUS9 : "Please enter a valid US Zip Code", ZipUS9 : "Please enter a valid Zip Code"
}
var va_pl=new Object(); function ValidInit() { var pltmp=""; var status=0; if (va_rq!=null) { for (property in va_rq) { status=0; if (va_rq[property]=="checkbox") { var o=document.getElementsByName(property+"[]");} else { var o=document.getElementsByName(property);}
if (o.length>0) { if (o[0].parentNode.id=="passed") { status=1;}
var tmpo={ va : [{va : "REQ", mode : "c"}], required : 1, status : status, focus : 1, blur : 1
}; eval("va_pl."+property+"=tmpo"); var $=new sv(o[0]); if (!eval("$.ValidREQ")) { dhtmlLoadScript("/javascripts/validation/pool/va_REQ.js");}
if (status==1) { $.swap_class("va_pass");} else { $.swap_class("va_required");}
if (o[0].type=="radio") { var radios=document.getElementsByName(o[0].name); $.swap_class("va_required_text"); for (j=0; j<radios.length; j++) { addEvent(radios[j], "focus", function() { var tmpName=this.name.replace(/\[\]/, "");
if (va_pl[tmpName].status==0) { ResetValid(this); } LastElement=null;}); addEvent(radios[j], "click", function() { ValidField(this); LastElement=null;}); addEvent(radios[j], "keyup", function(event) { try { var KeyCode=event.keyCode;} catch(e) { var KeyCode=event.charCode;}
if (KeyCode==13) { SumitState=false; LastElement=null; return false;}
})
}
} else if (va_rq[property]=="checkbox") { $.swap_class("va_required_text"); for (j=0; j<o.length; j++) { addEvent(o[j], "focus", function() { var tmpName=this.name.replace(/\[\]/, "");
if (va_pl[tmpName].status==0) { ResetValid(this); } LastElement=null;}); addEvent(o[j], "click", function() { ValidField(this); LastElement=null;}); addEvent(o[j], "keyup", function(event) { try { var KeyCode=event.keyCode;} catch(e) { var KeyCode=event.charCode;}
if (KeyCode==13) { SumitState=false; LastElement=null; return false;}
})
}
} else { var imgObj=document.getElementById($.InputName+"_img"); var left=o[0].offsetWidth; imgObj.parentNode.parentNode.style.margin="3px 0px 0px "+left+"px"; if (o[0].type=="select-one" || o[0].type=="select-multiple") { for (j=0; j<o.length; j++) { addEvent(o[j], "change", function() { ResetValid(this); ValidField(this); LastElement=null;});}
} else { addEvent(o[0], "focus", function() { ResetValid(this);}); addEvent(o[0], "blur", function() { ValidField(this);}); addEvent(o[0], "keyup", function(event) { try { var KeyCode=event.keyCode;} catch(e) { var KeyCode=event.charCode;}
if (KeyCode==13) { SumitState=false; LastElement=null; return false;}
})
}
}
$=null;}
}
}
var os=document.getElementsBySelector("div.validate input"); if (os.length>0) { var jsLoad="css_loader.php?type=javascript"
for (i=0; i<os.length; i++) { var mode=os[i].id.split("_"); var $=new sv(os[i]); if (!eval("$.Valid"+mode[0])) { jsLoad+="&file[]=/javascripts/validation/pool/va_"+mode[0]+".js";}
}
if (jsLoad!="css_loader.php?") { dhtmlLoadScript(jsLoad);}
for (i=0; i<os.length; i++) { status=0; if (os[i].parentNode.id=="passed") { status=1;}
var mode=os[i].id.split("_"); var $=new sv(os[i]); if (status==1) { $.swap_class("va_pass");} else { if ($.isset()) { if (va_msg[mode[0]]!=null) { $.warning_msg = va_msg[mode[0]];} else { $.warning_msg = "Invalid Format";}
va_pl[os[i].name]={}; $.warning();}
}
if (va_rq[os[i].name]!=null && va_pl[os[i].name].va) { va_pl[os[i].name].va.push({va : mode[0], mode : mode[1], msg : "Special validation on", parm : mode[2]});} else { var tmpo={ va : [{va : mode[0], mode : mode[1], msg : "Special validation on", parm : mode[2]}], required : 0, status : status, focus : 1, blur : 1
}; eval("va_pl."+os[i].name+"=tmpo"); if (os[i].type=="radio") { var radios=document.getElementsByName(os[i].name); for (j=0; j<radios.length; j++) { addEvent(radios[j], "focus", function() { ResetValid(this);}); addEvent(radios[j], "blur", function() { ValidField(this);}); addEvent(radios[j], "keyup", function(event) { try { var KeyCode=event.keyCode;} catch(e) { var KeyCode=event.charCode;}
if (KeyCode==13) { SumitState=false; LastElement=null; return false;}
})
}
} else { var imgObj=document.getElementById($.InputName+"_img"); var left=os[i].offsetWidth; imgObj.parentNode.parentNode.style.margin="3px 0px 0px "+left+"px"; addEvent(os[i], "focus", function() { ResetValid(this);}); addEvent(os[i], "blur", function() { ValidField(this);}); addEvent(os[i], "keyup", function(event) { try { var KeyCode=event.keyCode;} catch(e) { var KeyCode=event.charCode;}
if (KeyCode==13) { SumitState=false; LastElement=null; return false;}
})
}
}
$=null;}
}
}
function ValidField(o) { var $=new sv(o); eval("$.ValidObj=va_pl."+$.InputName+";"); 
if($.ValidObj.va.length>0)
for (i=0; i<$.ValidObj.va.length; i++) { $.Validator=$.ValidObj.va[i].va; $.ValidMode=$.ValidObj.va[i].mode; $.warning_msg="Required Field"; if (!eval("$.Valid"+$.ValidObj.va[i].va)) { if (!$.isset()) { if ($.ValidObj.requried==1) { $.warning(); $=null; break; return false;}
} else { $.pass();}
$=null; break; return false;} else { if ($.ValidObj.va[i].parm!=null) { eval("var r = $.Valid"+$.Validator+"('"+$.ValidObj.va[i].parm+"');");} else { eval("var r = $.Valid"+$.Validator+"();");}
if (va_msg[$.Validator]!=null) { $.warning_msg=va_msg[$.Validator];} else { $.warning_msg = "Invalid Format";}
if (!r) { if ($.ValidObj.required==1) { $.warning();} else { if ($.isset()) { $.warning();}
}
LastElement=null; $=null; break; return false;} else { if ($.ValidMode=="s") { if (tmpObject!=null) { window.setTimeout(function() { ValidField(o);}, 1000);AjaxIng=true;} else { AjaxIng=false;tmpObject=$; var fo=o.form; for (j=0; j<fo.elements.length; j++) { $.FormContent+="&"+fo.elements[j].name+"="+escape(fo.elements[j].value);} 
if (i==$.ValidObj.va.length-1) { tmpObject.ajax_last_element_chk=true; }
$.ajax();}
} else { if (i==$.ValidObj.va.length-1) { LastElement=null;} $.pass();
}
}
}
}
$=null;}
function ResetValid(o) { var $=new sv(o); eval("var vo=va_pl."+$.InputName); eval("va_pl."+$.InputName+".status=0"); $.lock_submit(); $.clear_hint(); $.swap_class("va_clean"); 
if(vo.va.length>0)
for (i=0; i<vo.va.length; i++) { $.Validator=vo.va[i].va; $.ValidMode=vo.va[i].mode; if (!eval("$.Valid"+$.Validator)) { dhtmlLoadScript("/javascripts/validation/pool/va_"+$.Validator+".js");}
}
o.focus(); $=null; LastElement=o.id;}
function FormSubmit(NodeObj) { 
if (tmpObject!=null || AjaxIng==true) { SumitState=true; return false;}else{
if (LastElement!=null) { SumitState=true; return false;}
if (!Passed) { var ValidPass=true; for (p in va_pl) { var po=va_pl[p]; if (va_rq[p]=="checkbox") { var $=new sv(document.getElementsByName(p+"[]")[0]);} else { var $=new sv(document.getElementsByName(p)[0]);}
if ($.InputObj.className=="date-full" && $.InputObj.value!="" && po.required==1) { po.status=1;}
if (po.status==0) { if (po.va.length==2) { $.Validator=po.va[1].va; if (va_msg[$.Validator]!=null) { $.warning_msg=va_msg[$.Validator];} else { $.warning_msg = "Invalid Format";}
} else { $.warning_msg="Required Field";}
if (($.isset() && po.required==0) || po.required==1) { $.warning(); ValidPass=false;}
}
$=null;}
Passed=ValidPass; if (Preview) { alert("Continue is disabled during Preview"); return false;} else{ return Passed;}
} else if (!va_pl) { if (Preview) { alert("Continue is disabled during Preview"); return false;} else{ return true;}
} else { if (Preview) { alert("Continue is disabled during Preview"); return false;} else{ return true;}
}}
}
var temp=window.location.href.split("/"); var CurrentDomain=window.location.protocol+"//"+temp[2]; var http_request = false; sv.prototype.ajax = function () { if (http_request) { http_request = false;}
if (window.XMLHttpRequest) { http_request = new XMLHttpRequest();} else if (window.ActiveXObject) { try { http_request = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {}
}
}
if (!http_request) { this.warning(); return false;}
http_request.onreadystatechange = this.alertContents; req="ftpye_original=web&pool="+this.Validator+"&str="+this.StrVar+this.FormContent; if (this.ajax_mode=='GET') { http_request.open('GET', CurrentDomain+this.target_script+"?"+req, true); http_request.send(null);} else { http_request.open('POST', this.target_script, true); http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http_request.setRequestHeader("Content-length", req.length); http_request.setRequestHeader("Connection", "close"); http_request.send(req);}
}
sv.prototype.alertContents = function() { if (http_request.readyState == 4) { if (http_request.status == 200) { if (http_request.responseText==1) { if (tmpObject.ajax_last_element_chk) { LastElement=null; } tmpObject.pass();} else { tmpObject.warning();}
} else { tmpObject.warning();}
tmpObject=null; LastElement=null;} else { tmpObject.loading();}
}
sv.prototype.lock_submit = function() { Passed=false;}
sv.prototype.unlock_submit = function() { var unlock=true; for (p in va_pl) { if (va_pl[p].status==0) { var $=new sv(document.getElementsByName(p)[0]); if (($.isset() && va_pl[p].required==0) || va_pl[p].required==1) { unlock=false; $=null; break;}
$=null;}
}
if (unlock) { Passed=true; if (SumitState) { formObj=this.InputObj.form; SumitState=false; formObj.submit();}
} else { this.lock_submit();}
}


function showHideOtherField( item, other_field ) { var el = document.getElementById( other_field ); var e2 = document.getElementById('other'); if( item.id == 'other' ) { if( el.style.display == 'none' ) { var restitem=other_field.replace("other_", "i_"); restitem=document.getElementsByName(restitem); for (i=0; i<restitem.length; i++) { restitem[i].checked=false;}
item.checked=true; el.disabled=false; el.style.display = 'inline';} else { item.checked=false; el.disabled=true; el.style.display = 'none';}
} else { if( item.type == 'radio' ) { e2.checked=false; el.style.display = 'none'; el.disabled=true; el.name = '';}
}
}
function SetRatingValue( name, value, StarCount ) { document.survey.elements[ name ].value = value; var ulObj=document.getElementById("star-rating"); var aObjs=ulObj.getElementsByTagName("a"); for (i=0; i<aObjs.length-1; i++) { var tmpi=i+1; if (tmpi<=StarCount) { aObjs[i].style.background="url(/images/star_rating.gif) left bottom";} else { aObjs[i].style.background="url(/images/star_rating.gif) top left";}
}
return false;}
function popupdialog(filename){ dialogwin = window.open(filename,'dialog','width=482,height=414,resizable=yes,scrollbars=yes,top=100,left=100,toolbar=no');}
function openCustomPopup( ) { url = openCustomPopup.arguments[0]; if( openCustomPopup.arguments[1] ) menubar = 'yes'; else menubar = 'no'; if( openCustomPopup.arguments[2] ) addressbar = 'yes'; else addressbar = 'no'; if( openCustomPopup.arguments[3] ) folders = 'yes'; else folders = 'no'; if( openCustomPopup.arguments[4] ) width = openCustomPopup.arguments[4]; else width = '540'; if( openCustomPopup.arguments[5] ) height = openCustomPopup.arguments[5]; else height = '460'; window.open( url, 'new_win', 'width='+width+',height='+height+',resizable=yes,scrollbars=yes,directories='+folders+',menubar='+menubar+',toolbar='+addressbar+',top=100,left=100,location='+addressbar );}
function openCustomPopup1() { url = openCustomPopup1.arguments[0]; if( openCustomPopup1.arguments[1] ) menubar = 'yes'; else menubar = 'no'; if( openCustomPopup1.arguments[2] ) addressbar = 'yes'; else addressbar = 'no'; if( openCustomPopup1.arguments[3] ) folders = 'yes'; else folders = 'no'; if( openCustomPopup1.arguments[4] ) width = openCustomPopup.arguments[4]; else width = '540'; if( openCustomPopup1.arguments[5] ) height = openCustomPopup.arguments[5]; else height = '460'; window.open( url, 'new_win', 'width='+width+',height='+height+',resizable=yes,scrollbars=yes,directories='+folders+',menubar='+menubar+',toolbar='+addressbar+',top=100,left=100,location='+addressbar );}
function focusdialog() { dialogwin.focus();}
function openchild(filename){ var file = new String( filename ); var dialog = file.split( "=" ); var windisplay = parseInt( dialog[2] ) + "_win"; windisplay = window.open(filename, windisplay, 'width=540,height=460,resizable=yes,scrollbars=no,top=100,left=100,toolbar=no'); windisplay.focus();}
var mywin = 0; function openPopup( url ) { if( mywin ) { if( !mywin.closed ) mywin.close();}
mywin = open( url,'mywin','width=540,height=460,resizable=yes,scrollbars=yes,top=100,left=100,toolbar=no');}
function openWindow(name, url, width, height) { window.open(url, name,'width=' + width + ',height=' + height + 'resizable=yes,scrollbars=yes,top=100,left=100,toolbar=no' );}
function resizewindow() { var width = 440; var height = 450; if( resizewindow.arguments ) { width = resizewindow.arguments[0]; height = resizewindow.arguments[1];}
try{window.resizeTo( width, height );}catch (e) {}}
function closewindow() { if( confirm( 'Close the current window?' ) ) window.close();}
function CreatePopupWindow( name ) { name = window.open('', name, 'width=482,height=300,resizable=yes,top=100,left=100,toolbar=no');}
function getAllChildren(e) { return e.all ? e.all : e.getElementsByTagName('*');}
document.getElementsBySelector = function(selector) { if (!document.getElementsByTagName) { return new Array();}
var tokens = selector.split(' '); var currentContext = new Array(document); for (var i = 0; i < tokens.length; i++) { token = tokens[i].replace(/^\s+/,'').replace(/\s+$/,'');; if (token.indexOf('#') > -1) { var bits = token.split('#'); var tagName = bits[0]; var id = bits[1]; var element = document.getElementById(id); if (tagName && element.nodeName.toLowerCase() != tagName) { return new Array();}
currentContext = new Array(element); continue;}
if (token.indexOf('.') > -1) { var bits = token.split('.'); var tagName = bits[0]; var className = bits[1]; if (!tagName) { tagName = '*';}
var found = new Array; var foundCount = 0; for (var h = 0; h < currentContext.length; h++) { var elements; if (tagName == '*') { elements = getAllChildren(currentContext[h]);} else { elements = currentContext[h].getElementsByTagName(tagName);}
for (var j = 0; j < elements.length; j++) { found[foundCount++] = elements[j];}
}
currentContext = new Array; var currentContextIndex = 0; for (var k = 0; k < found.length; k++) { if (found[k].className && found[k].className.match(new RegExp('\\b'+className+'\\b'))) { currentContext[currentContextIndex++] = found[k];}
}
continue;}
if (token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)) {
var tagName = RegExp.$1;
var attrName = RegExp.$2;
var attrOperator = RegExp.$3;
var attrValue = RegExp.$4;
if (!tagName) {
tagName = '*';
}
var found = new Array;
var foundCount = 0;
for (var h = 0; h < currentContext.length; h++) {
var elements;
if (tagName == '*') {
elements = getAllChildren(currentContext[h]);
} else {
elements = currentContext[h].getElementsByTagName(tagName);
}
for (var j = 0; j < elements.length; j++) {
found[foundCount++] = elements[j];
}
}
currentContext = new Array;
var currentContextIndex = 0;
var checkFunction; // This function will be used to filter the elements
switch (attrOperator) {
case '=': // Equality
checkFunction = function(e) { return (e.getAttribute(attrName) == attrValue); };
break;
case '~': // Match one of space seperated words 
checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('\\b'+attrValue+'\\b'))); };
break;
case '|': // Match start with value followed by optional hyphen
checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?'))); };
break;
case '^': // Match starts with value
checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) == 0); };
break;
case '$': // Match ends with value - fails with "Warning" in Opera 7
checkFunction = function(e) { return (e.getAttribute(attrName).lastIndexOf(attrValue) == e.getAttribute(attrName).length - attrValue.length); };
break;
case '*': // Match ends with value
checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) > -1); };
break;
default :
checkFunction = function(e) { return e.getAttribute(attrName); };
}
currentContext = new Array;
var currentContextIndex = 0;
for (var k = 0; k < found.length; k++) {
if (checkFunction(found[k])) {
currentContext[currentContextIndex++] = found[k];
}
}
continue; // Skip to next token
}
tagName = token;
var found = new Array;
var foundCount = 0;
for (var h = 0; h < currentContext.length; h++) {
var elements = currentContext[h].getElementsByTagName(tagName);
for (var j = 0; j < elements.length; j++) {
found[foundCount++] = elements[j];
}
}
currentContext = found;
}
return currentContext;
}
function LinkedDropDownInit() { for (p in LinkedDropDown) { var tmpObj=document.getElementsByName(p)[0]; addEvent(tmpObj, "change", function(){ var subID=LinkedDropDown[this.name]; var ParentObj=document.getElementsByName(subID)[0].parentNode; if (ParentObj.tagName=="SPAN") { ParentObj=ParentObj.parentNode;}
if (this.value!="") { var subObjs=ParentObj.getElementsByTagName("select"); for (i=0; i<subObjs.length; i++) { subObjs[i].style.display="none"; subObjs[i].disabled=true;}
var optionObjs=this.options; var optionObj=optionObjs[this.selectedIndex]; 	var text=optionObj.text.replace(/\s/g, ""); var subObj=document.getElementById("link_"+text);  subObj.disabled=false; subObj.style.display="block"; ValidField(subObj);} else { var subObjs=ParentObj.getElementsByTagName("select"); for (i=0; i<subObjs.length; i++) { subObjs[i].style.display="none"; subObjs[i].disabled=true; if (subObjs[i].id.search("disabled")>=0) { subObjs[i].style.display="block"; subObjs[i].disabled=false; ValidField(subObjs[i]);}
}
}
});}
}


var datePickerDivID = "datepicker"; var iFrameDivID = "datepickeriframe"; var dayArrayShort = new Array('Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'); var dayArrayMed = new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'); var dayArrayLong = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'); var monthArrayShort = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'); var monthArrayMed = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'); var monthArrayLong = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); var defaultDateSeparator = "/"; var defaultDateFormat = "mdy"
var dateSeparator = defaultDateSeparator; var dateFormat = defaultDateFormat; function displayDatePicker(dateFieldName, displayBelowThisObject, dtFormat, dtSep)
{ var targetDateField = document.getElementsByName(dateFieldName).item(0); if (!displayBelowThisObject)
displayBelowThisObject = targetDateField; if (dtSep)
dateSeparator = dtSep; else
dateSeparator = defaultDateSeparator; if (dtFormat)
dateFormat = dtFormat; else
dateFormat = defaultDateFormat; var x = displayBelowThisObject.offsetLeft; var y = displayBelowThisObject.offsetTop + displayBelowThisObject.offsetHeight; var parent = displayBelowThisObject; while (parent.offsetParent) { parent = parent.offsetParent; x += parent.offsetLeft; y += parent.offsetTop;}
drawDatePicker(targetDateField, x, y);}
function drawDatePicker(targetDateField, x, y)
{ var dt = getFieldDate(targetDateField.value); if (!document.getElementById(datePickerDivID)) { var newNode = document.createElement("div"); newNode.setAttribute("id", datePickerDivID); newNode.setAttribute("class", "dpDiv"); newNode.setAttribute("style", "visibility: hidden;"); document.body.appendChild(newNode);}
var pickerDiv = document.getElementById(datePickerDivID); pickerDiv.style.position = "absolute"; pickerDiv.style.left = x + "px"; pickerDiv.style.top = y + "px"; pickerDiv.style.visibility = (pickerDiv.style.visibility == "visible" ? "hidden" : "visible"); pickerDiv.style.zIndex = 10000; refreshDatePicker(targetDateField.name, dt.getFullYear(), dt.getMonth(), dt.getDate());}
function refreshDatePicker(dateFieldName, year, month, day)
{ var thisDay = new Date(); if ((month >= 0) && (year > 0)) { thisDay = new Date(year, month, 1);} else { day = thisDay.getDate(); thisDay.setDate(1);}
var crlf = "\r\n"; var TABLE = "<table cols=7 class='dpTable'>" + crlf; var xTABLE = "</table>" + crlf; var TR = "<tr class='dpTR'>"; var TR_title = "<tr class='dpTitleTR'>"; var TR_days = "<tr class='dpDayTR'>"; var TR_todaybutton = "<tr class='dpTodayButtonTR'>"; var xTR = "</tr>" + crlf; var TD = "<td class='dpTD'"; var TD_title = "<td colspan=5 class='dpTitleTD'>"; var TD_buttons = "<td class='dpButtonTD'>"; var TD_todaybutton = "<td colspan=7 class='dpTodayButtonTD'>"; var TD_days = "<td class='dpDayTD'>"; var TD_selected = "<td class='dpDayHighlightTD'"; var xTD = "</td>" + crlf; var DIV_title = "<div class='dpTitleText'>"; var DIV_selected = "<div class='dpDayHighlight'>"; var xDIV = "</div>"; var html = TABLE; html += TR_title; html += TD_buttons + getButtonCode(dateFieldName, thisDay, -1, "&lt;") + xTD; html += TD_title + DIV_title + monthArrayLong[thisDay.getMonth()] + " " + thisDay.getFullYear() + xDIV + xTD; html += TD_buttons + getButtonCode(dateFieldName, thisDay, 1, "&gt;") + xTD; html += xTR; html += TR_days; for(i = 0; i < dayArrayShort.length; i++)
html += TD_days + dayArrayShort[i] + xTD; html += xTR; html += TR; for (i = 0; i < thisDay.getDay(); i++)
html += TD + "&nbsp;" + xTD; do { dayNum = thisDay.getDate(); TD_onclick = " onclick=\"updateDateField('" + dateFieldName + "', '" + getDateString(thisDay) + "');\">"; if (dayNum == day)
html += TD_selected + TD_onclick + DIV_selected + dayNum + xDIV + xTD; else
html += TD + TD_onclick + dayNum + xTD; if (thisDay.getDay() == 6)
html += xTR + TR; thisDay.setDate(thisDay.getDate() + 1);} while (thisDay.getDate() > 1)
if (thisDay.getDay() > 0) { for (i = 6; i > thisDay.getDay(); i--)
html += TD + "&nbsp;" + xTD;}
html += xTR; var today = new Date(); var todayString = "Today is " + dayArrayMed[today.getDay()] + ", " + monthArrayMed[today.getMonth()] + " " + today.getDate(); html += TR_todaybutton + TD_todaybutton; html += "<button class='dpTodayButton' onClick='refreshDatePicker(\"" + dateFieldName + "\");'>this month</button> "; html += "<button class='dpTodayButton' onClick='updateDateField(\"" + dateFieldName + "\");'>close</button>"; html += xTD + xTR; html += xTABLE; document.getElementById(datePickerDivID).innerHTML = html; adjustiFrame();}
function getButtonCode(dateFieldName, dateVal, adjust, label)
{ var newMonth = (dateVal.getMonth() + adjust) % 12; var newYear = dateVal.getFullYear() + parseInt((dateVal.getMonth() + adjust) / 12); if (newMonth < 0) { newMonth += 12; newYear += -1;}
return "<button class='dpButton' onClick='refreshDatePicker(\"" + dateFieldName + "\", " + newYear + ", " + newMonth + ");'>" + label + "</button>";}
function getDateString(dateVal)
{ var dayString = "00" + dateVal.getDate(); var monthString = "00" + (dateVal.getMonth()+1); dayString = dayString.substring(dayString.length - 2); monthString = monthString.substring(monthString.length - 2); switch (dateFormat) { case "dmy" :
return dayString + dateSeparator + monthString + dateSeparator + dateVal.getFullYear(); case "ymd" :
return dateVal.getFullYear() + dateSeparator + monthString + dateSeparator + dayString; case "mdy" :
default :
return monthString + dateSeparator + dayString + dateSeparator + dateVal.getFullYear();}
}
function getFieldDate(dateString)
{ var dateVal; var dArray; var d, m, y; try { dArray = splitDateString(dateString); if (dArray) { switch (dateFormat) { case "dmy" :
d = parseInt(dArray[0], 10); m = parseInt(dArray[1], 10) - 1; y = parseInt(dArray[2], 10); break; case "ymd" :
d = parseInt(dArray[2], 10); m = parseInt(dArray[1], 10) - 1; y = parseInt(dArray[0], 10); break; case "mdy" :
default :
d = parseInt(dArray[1], 10); m = parseInt(dArray[0], 10) - 1; y = parseInt(dArray[2], 10); break;}
dateVal = new Date(y, m, d);} else { dateVal = new Date(dateString);}
} catch(e) { dateVal = new Date();}
return dateVal;}
function splitDateString(dateString)
{ var dArray; if (dateString.indexOf("/") >= 0)
dArray = dateString.split("/"); else if (dateString.indexOf(".") >= 0)
dArray = dateString.split("."); else if (dateString.indexOf("-") >= 0)
dArray = dateString.split("-"); else if (dateString.indexOf("\\") >= 0)
dArray = dateString.split("\\"); else
dArray = false; return dArray;}
function updateDateField(dateFieldName, dateString)
{ var targetDateField = document.getElementsByName(dateFieldName).item(0); if (dateString)
targetDateField.value = dateString; document.getElementById(datePickerDivID).style.visibility = "hidden"; adjustiFrame(); if ((dateString) && (typeof(datePickerClosed) == "function"))
datePickerClosed(targetDateField);}
function adjustiFrame(pickerDiv, iFrameDiv)
{ if (!document.getElementById(iFrameDivID)) { var newNode = document.createElement("iFrame"); newNode.setAttribute("id", iFrameDivID); newNode.setAttribute("src", "javascript:false;"); newNode.setAttribute("scrolling", "no"); newNode.setAttribute("frameborder", "0"); document.body.appendChild(newNode);}
if (!pickerDiv)
pickerDiv = document.getElementById(datePickerDivID); if (!iFrameDiv)
iFrameDiv = document.getElementById(iFrameDivID); try { iFrameDiv.style.position = "absolute"; iFrameDiv.style.width = pickerDiv.offsetWidth; iFrameDiv.style.height = pickerDiv.offsetHeight; iFrameDiv.style.top = pickerDiv.style.top; iFrameDiv.style.left = pickerDiv.style.left; iFrameDiv.style.zIndex = pickerDiv.style.zIndex - 1; iFrameDiv.style.visibility = pickerDiv.style.visibility;} catch(e) { }
}


