/*
 *  (c) 2006-2010 Mazy Systems
 */
var inq={needsValidation:true,preValues:{},hasClass:function(c,b){if(!b){return false}var a=new RegExp("(?:^|\\s+)"+b+"(?:\\s+|$)");return a.test(c.className)},addClass:function(b,a){if(this.hasClass(b,a)){return}b.className=b.className+" "+a},removeClass:function(c,b){if(this.hasClass(c,b)){var a=new RegExp("(?:^|\\s+)"+b+"(?:\\s+|$)","g");c.className=c.className.replace(a," ");if(this.hasClass(c,b)){this.removeClass(c,b)}}},isValidEmail:function(c){var d=c.lastIndexOf("@");if(d<1||d>=c.length-2){return false}if(!a(c.substr(d+1))){return false}if(c.indexOf('"')>=0){return c.indexOf('"')!=c.lastIndexOf('"')}var b=c.substr(0,d);if(b.indexOf("@")>=0||!a(b)){return false}return true;function a(e){if(e.indexOf(".")==0||e.lastIndexOf(".")==e.length-1||e.indexOf("..")>=0||inq.invalidEmailChars&&inq.invalidEmailChars.test(e)){return false}return true}},trim:function(b){var a=" \t\n\r";while(a.indexOf(b.charAt(0))>=0){b=b.substring(1,b.length)}while(a.indexOf(b.charAt(b.length-1))>=0){b=b.substring(0,b.length-1)}return b},historyBack:function(){if(typeof YAHOO!="undefined"&&document.getElementById&&this.ajaxEv){var a=document[this.surveyName],c={success:function(){history.back()},failure:function(){history.back()}};if(a&&a.ev){a.ev.value=this.ajaxEv}YAHOO.util.Connect.setForm(a);try{YAHOO.util.Connect.asyncRequest("POST",a.action,c)}catch(b){}}else{history.back()}}};function initSurvey(c,b){if(b){handleBackButton()}inq.surveyName=c;var d=document[inq.surveyName],a;initPrefilled(d,!b);if(a=document.getElementById("nextInfo")){scrollToParent(a)}else{focusFirst(d)}}function handleBackButton(){setTimeout(whenBackButton,1)}function whenBackButton(){try{history.forward()}catch(a){}setTimeout("whenBackButton()",250)}function focusFirst(e){if(!e||!e.elements){return}var d=null,b,c,a;for(b=0;b<e.elements.length;b++){c=e.elements[b];a=c.type;if(a!="hidden"&&!c.disabled){if(a=="text"||a=="textarea"||a=="password"){d=c}break}}if(d){d.focus()}}function initPrefilled(e,b){if(!e){return}for(var a=0;a<e.elements.length;a++){var d=e.elements[a];if(isTxtOrArea(d)){if(d.className.indexOf("preFilled")>=0){var f=e[d.name+"PreValue"];if(f){inq.preValues[d.name]=f.value;d.onfocus=cleanFld;d.onkeyup=d.onblur=resetFld}}}}if(b){var c=e.backButton;if(c){c.style.display="inline"}}if(e.action){e.action=e.action.replace(/#nextInfo/,"")}}function resetFld(c){var b=c||window.event;if(!b){return}var a=b.target?b.target:b.srcElement;if(!a){return}if(fieldIsEmpty(a,inq.preValues[a.name])){inq.addClass(a,"preFilled");if(b.type=="blur"){a.value=inq.preValues[a.name]}}else{inq.removeClass(a,"preFilled")}}function isTxtOrArea(a){return a&&a.type&&(a.type=="text"||a.type=="textarea")}function cleanFld(c){var b=c||window.event;if(!b){return}var a=b.target?b.target:b.srcElement;if(a&&a.value==inq.preValues[a.name]){a.value=""}}function abandoning(){inq.needsValidation=false}function validateSurvey(d){var c=true;if(inq.needsValidation){var b=inq.questions,a;for(a=0;a<b.length;a++){if(!(c=checkAll(d,b[a])&&c)){break}}}return c}function sendWarning(a,d,c){var b=vScrolling();a.focus();scrollToParent(a.parentNode,b);alert(d?d:c);return false}function scrollToParent(a,b){if(!window.scrollBy){return}while(a&&!a.className||a.className.indexOf("question")<0){a=a.parentNode}var c=getPageOffsetTop(a);if(!a||c==null||!window.scrollTo){if(b&&b>vScrolling()){window.scrollBy(0,-75)}}else{window.scrollTo(0,c)}}function getPageOffsetTop(a){if(!a){return null}var b=a.offsetTop;if(a.offsetParent){b+=getPageOffsetTop(a.offsetParent)}return b}function vScrolling(){if(self.pageYOffset){return self.pageYOffset}if(document.documentElement&&document.documentElement.scrollTop){return document.documentElement.scrollTop}if(document.body){return document.body.scrollTop}return 0}function checkAll(a,b){switch(b[0]){case 1:case 2:return checkString(a,b[1],b[2]);case 3:return checkNumber(a,b[1],b[2]);case 4:return checkRadio(a,b[1],b[2]);case 5:return checkSelect(a,b[1],b[2]);case 6:return checkCheck(a,b[1],b[2]);case 7:return checkRanking(a,b[1],b[2]);case 8:return checkMatrix(a,b[1],b[2]);case 10:return checkDate(a,b[1],b[2]);default:return true}}function checkString(c,b,e){var a=c.elements["v"+b[0]],d=b.length==1||b[1],f=fieldIsEmpty(a);if(d&&f){return sendWarning(a,!e||typeof e=="string"?e:e.length?e[0]:null,inq.reqMsg)}else{if(!f&&b.length>2){return txtValidation(a,e,b)}}return true}function txtValidation(a,h,g){var i=g[2];if(i){var b,c=false;switch(i){case 1:c=!inq.isValidEmail(a.value);break;case 2:b=inq.regexNumber;break;case 10:if(g[3]){try{var e=g[3],d=e.lastIndexOf("/");if(d>0&&e.indexOf("/")==0&&(d==e.length-1||d>=e.length-4&&/^[igm]+$/.test(e.substr(d+1)))){b=new RegExp(e.substring(1,d),e.substr(d+1))}else{b=new RegExp(g[3])}}catch(f){}}break;default:}if(c||b&&!b.test(a.value)){return sendWarning(a,h?h[h.length-1]:null,inq.regexMsg)}}return true}function checkNumber(c,f,b){var a=c.elements["v"+f[0]],e=f[1],d=b&&b.length&&b.length>=3?b:null;if(fieldIsEmpty(a)){return e?sendWarning(a,d?d[0]:null,inq.reqMsg):true}else{return numValidation(a,d,f)}}function numValidation(c,g,f){if(!inq.regexNumber.test(c.value)){return sendWarning(c,g?g[2]:null,inq.numberMsg)}var b=f[2],a=f[3];if(b!=null||a!=null){var d,i=c.value.replace(/\s/gi,"").replace(new RegExp("\\"+inq.groupingSeparator,"g"),"").replace(new RegExp("\\"+inq.decimalSeparator,"g"),".");try{d=parseFloat(i);if(b!=null&&d<b||a!=null&&d>a){return sendWarning(c,g?g[1]:null,inq.rangeMsg)}}catch(h){}}return true}function inputValidation(a,d,c,b){if(d==3){return numValidation(a,c,b)}if(d==1){return txtValidation(a,c,b)}return true}function checkDate(b,e,a){var d=e[1],c="v"+e[0];if(d||checkEmptyDateFlds(b,c,null,true)){return dateValidation(b,a,c,e[2],e[3])}return true}function dateValidation(d,c,e,b,a){if(!checkEmptyDateFlds(d,e,c)){return false}return checkYearTime(d,c,e,b,a)}function checkEmptyDateFlds(e,f,d,g){var a=["D","M","Y","T"],c,b;for(c=0;c<a.length;c++){b=e[f+a[c]];if(b){if(fldNotSet(b)){if(!g){return sendWarning(b,d?d[0]:null,inq.reqMsg)}}else{if(g){return true}}}}return g?false:true}function fldNotSet(a){return a.type&&a.type=="text"&&fieldIsEmpty(a,inq.preValues[a.name])||a.nodeName.toUpperCase()=="SELECT"&&a.selectedIndex==0}function checkYearTime(c,l,q,n,r){var o=c.elements[q+"Y"],j=/^\s?\d+\s?$/;if(!j.test(o.value)){return sendWarning(o,l?l[2]:null,inq.numberMsg)}var a=c.elements[q+"T"],t=0,p=0,g=0;if(a&&a.value){var h=true;try{var d=findPosition(a.value,["am","pm","AM","PM"]),k,m=null;if(d>0){k=a.value.substr(0,d);m=a.value.substr(d).toUpperCase()}else{k=a.value}var f=inq.trim(k).split(":");parts:for(var s=0;s<f.length;s++){var b=f[s]?parseInt(f[s]):0;if(isNaN(b)||b<0||b>59){h=false;break}switch(s){case 0:if("AM"==m&&b==12){t=b-12}else{if("PM"==m&&b!=12){t=b+12}else{t=b}}if(t>24){h=false;break parts}break;case 1:p=b;break;case 2:g=b}}}catch(u){h=false}if(!h){return sendWarning(a,l?l[1]:null,inq.rangeMsg)}}if(n!=null||r!=null){var v=new Date();if(!v.setUTCFullYear){return true}v.setUTCFullYear(o.value,c.elements[q+"M"].selectedIndex-1,c.elements[q+"D"].selectedIndex);v.setUTCHours(t,p,g,0);if(n!=null&&v<n||r!=null&&v>r){return sendWarning(o,l?l[1]:null,inq.rangeMsg)}}return true}function findPosition(c,b){if(c&&b){for(var a=0;a<b.length;a++){var d=c.indexOf(b[a]);if(d>=0){return d}}}return -1}function checkMatrix(a,o,p){var m=p&&p.length&&p.length>=2?p:null,e=m?m[0]:null,f,n,h,b;for(f=0;f<o.length;f++){n=false;h=o[f][1];b=o[f][0];switch(b){case 1:case 3:var k=h[1],c,d;for(c=0;c<h[0].length;c++){d=a.elements["v"+h[0][c]];if(!fieldIsEmpty(d)){n=inputValidation(d,b,m,h);if(!n){return false}}}if(!n&&k){return sendWarning(a.elements["v"+h[0][0]],e,inq.reqMsg)}break;case 4:if(!checkRadio(a,h,e)){return false}break;case 6:var l=new Array(h.length);for(c=0;c<h.length;c++){l[c]=[h[c]]}if(!checkCheck(a,l,e)){return false}break;case 10:k=h[1];for(c=0;c<h[0].length;c++){var g="v"+h[0][c];if(checkEmptyDateFlds(a,g,null,true)){n=dateValidation(a,p,g,h[2],h[3]);if(!n){return false}}}if(!n&&k){return sendWarning(a.elements["v"+h[0][0]+"D"],e,inq.reqMsg)}}}return true}function checkRanking(d,h,c){var f=c&&c.length&&c.length>=2?c:null,e=[],g=h[0],b,a;for(b=0;b<g.length;b++){a=d.elements["v"+g[b]];if(a.selectedIndex==0){if(h[1]){return sendWarning(a,f?f[0]:null,inq.reqMsg)}}else{if(e[a.selectedIndex]){return sendWarning(a,f?f[1]:null,inq.rankingMsg)}e[a.selectedIndex]=true}}return true}function checkSelect(b,d,c){var a=b.elements["v"+d[0]];if(a.selectedIndex==0){return sendWarning(a,c,inq.reqMsg)}if(d.length==1||!d[2][a.selectedIndex-1]||!fieldIsEmpty(b.elements["v"+d[1]])){return true}return sendWarning(b.elements["v"+d[1]],c,inq.reqMsg)}function checkRadio(c,f,d){var e=c.elements["v"+f[0]];if(!e){return true}var b=e[0],a;for(a=0;a<e.length;a++){if(e[a].checked){if(f.length==1||!f[2][a]||!fieldIsEmpty(c.elements["v"+f[1]])){return true}else{b=c.elements["v"+f[1]];break}}}return sendWarning(b,d,inq.reqMsg)}function checkCheck(c,f,e){if(!f||!f.length){return true}var b,d=false,a=c.elements["v"+f[0][0]];for(b=0;b<f.length;b++){if(c.elements["v"+f[b][0]].checked){d=true;if(f[b].length>1&&fieldIsEmpty(c.elements["v"+f[b][1]])){d=false;a=c.elements["v"+f[b][1]];break}}}return d?true:sendWarning(a,e,inq.reqMsg)}function labelFor(e,d,c,a){if(!inq.survey){return}var b=inq.survey.elements[e];b.checked=c?true:!b.checked;updateWithText(b,d,c?a:b.checked)}function updateWithText(d,e,a){if(!d){return}var c=document.all?document.all["a"+e]:document.anchors["a"+e],b=d.form.elements[e];if(!c||!b){return}if(a){b.disabled=false;if(b.style){b.style.color="windowtext"}c.className=null}else{b.disabled=true;if(b.style){b.style.color="graytext"}c.className="disabled"}}function fieldIsEmpty(d,f){var e=d.value;if(!e||e==f){return true}var a=" \t\n\r",b,g;for(b=0;b<e.length;b++){g=e.charAt(b);if(a.indexOf(g)==-1){return false}}return true};
