/* gen_validator, Nav, scroll top, cycle with scrollLeft options only*/
/* JavaScript Form Validator (gen_validatorv4.js) Version 4.0
    Copyright (C) 2003-2011 JavaScript-Coder.com. All rights reserved.
    You can freely use this script in your Web pages.
    You may adapt this script for your own needs, provided these opening credit
    lines are kept intact.
    The Form validation script is distributed free from JavaScript-Coder.com
    For updates, please visit:
    http://www.javascript-coder.com/html-form/javascript-form-validation.phtml
    Questions & comments please send to form.val (at) javascript-coder.com */
function Validator(a){this.validate_on_killfocus=false;this.formobj=document.forms[a];if(!this.formobj){alert("Error: couldnot get Form object "+a);return}if(this.formobj.onsubmit){this.formobj.old_onsubmit=this.formobj.onsubmit;this.formobj.onsubmit=null}else{this.formobj.old_onsubmit=null}this.formobj._sfm_form_name=a;this.formobj.onsubmit=form_submit_handler;this.addValidation=add_validation;this.formobj.addnlvalidations=new Array();this.addAddnlValidationFunction=add_addnl_vfunction;this.formobj.runAddnlValidations=run_addnl_validations;this.setAddnlValidationFunction=set_addnl_vfunction;this.clearAllValidations=clear_all_validations;this.focus_disable_validations=false;document.error_disp_handler=new sfm_ErrorDisplayHandler();this.EnableOnPageErrorDisplay=validator_enable_OPED;this.EnableOnPageErrorDisplaySingleBox=validator_enable_OPED_SB;this.show_errors_together=false;this.EnableMsgsTogether=sfm_enable_show_msgs_together;document.set_focus_onerror=true;this.EnableFocusOnError=sfm_validator_enable_focus;this.formobj.error_display_loc="right";this.SetMessageDisplayPos=sfm_validator_message_disp_pos;this.formobj.DisableValidations=sfm_disable_validations;this.formobj.validatorobj=this}function sfm_validator_enable_focus(a){document.set_focus_onerror=a}function add_addnl_vfunction(){var a={};a.func=arguments[0];a.arguments=[];for(var b=1;b<arguments.length;b++){a.arguments.push(arguments[b])}this.formobj.addnlvalidations.push(a)}function set_addnl_vfunction(a){if(a.constructor==String){alert("Pass the function name like this: validator.setAddnlValidationFunction(DoCustomValidation)\n rather than passing the function name as string");return}this.addAddnlValidationFunction(a)}function run_addnl_validations(){var c=true;for(var d=0;d<this.addnlvalidations.length;d++){var a=this.addnlvalidations[d];var b=a.arguments||[];if(!a.func.apply(null,b)){c=false}}return c}function sfm_set_focus(a){if(document.set_focus_onerror){if(!a.disabled&&a.type!="hidden"){a.focus()}}}function sfm_disable_validations(){if(this.old_onsubmit){this.onsubmit=this.old_onsubmit}else{this.onsubmit=null}}function sfm_enable_show_msgs_together(){this.show_errors_together=true;this.formobj.show_errors_together=true}function sfm_validator_message_disp_pos(a){this.formobj.error_display_loc=a}function clear_all_validations(){for(var a=0;a<this.formobj.elements.length;a++){this.formobj.elements[a].validationset=null}}function form_submit_handler(){var a=true;document.error_disp_handler.clear_msgs();for(var b=0;b<this.elements.length;b++){if(this.elements[b].validationset&&!this.elements[b].validationset.validate()){a=false}if(!a&&!this.show_errors_together){break}}if(this.show_errors_together||a&&!this.show_errors_together){if(!this.runAddnlValidations()){a=false}}if(!a){document.error_disp_handler.FinalShowMsg();return false}return true}function add_validation(e,b,d){var c=null;if(arguments.length>3){c=arguments[3]}if(!this.formobj){alert("Error: The form object is not set properly");return}var a=this.formobj[e];if(a.length&&isNaN(a.selectedIndex)){a=a[0]}if(!a){alert("Error: Couldnot get the input object named: "+e);return}if(true==this.validate_on_killfocus){a.onblur=handle_item_on_killfocus}if(!a.validationset){a.validationset=new ValidationSet(a,this.show_errors_together)}a.validationset.add(b,d,c);a.validatorobj=this}function handle_item_on_killfocus(){if(this.validatorobj.focus_disable_validations==true){this.validatorobj.focus_disable_validations=false;return false}if(null!=this.validationset){document.error_disp_handler.clear_msgs();if(false==this.validationset.validate()){document.error_disp_handler.FinalShowMsg();return false}}}function validator_enable_OPED(){document.error_disp_handler.EnableOnPageDisplay(false)}function validator_enable_OPED_SB(){document.error_disp_handler.EnableOnPageDisplay(true)}function sfm_ErrorDisplayHandler(){this.msgdisplay=new AlertMsgDisplayer();this.EnableOnPageDisplay=edh_EnableOnPageDisplay;this.ShowMsg=edh_ShowMsg;this.FinalShowMsg=edh_FinalShowMsg;this.all_msgs=new Array();this.clear_msgs=edh_clear_msgs}function edh_clear_msgs(){this.msgdisplay.clearmsg(this.all_msgs);this.all_msgs=new Array()}function edh_FinalShowMsg(){if(this.all_msgs.length==0){return}this.msgdisplay.showmsg(this.all_msgs)}function edh_EnableOnPageDisplay(a){if(true==a){this.msgdisplay=new SingleBoxErrorDisplay()}else{this.msgdisplay=new DivMsgDisplayer()}}function edh_ShowMsg(c,b){var a=new Array();a.input_element=b;a.msg=c;this.all_msgs.push(a)}function AlertMsgDisplayer(){this.showmsg=alert_showmsg;this.clearmsg=alert_clearmsg}function alert_clearmsg(a){}function alert_showmsg(c){var d="";var b=null;for(var a=0;a<c.length;a++){if(null==b){b=c[a]["input_element"]}d+=c[a]["msg"]+"\n"}alert(d);if(null!=b){sfm_set_focus(b)}}function sfm_show_error_msg(b,a){document.error_disp_handler.ShowMsg(b,a)}function SingleBoxErrorDisplay(){this.showmsg=sb_div_showmsg;this.clearmsg=sb_div_clearmsg}function sb_div_clearmsg(a){var b=form_error_div_name(a);sfm_show_div_msg(b,"")}function sb_div_showmsg(c){var e="<ul>\n";for(var a=0;a<c.length;a++){e+="<li>"+c[a]["msg"]+"</li>\n"}e+="</ul>";var d=form_error_div_name(c);var b=d+"_loc";e="<a name='"+b+"' >"+e;sfm_show_div_msg(d,e);window.location.hash=b}function form_error_div_name(b){var c=null;for(var a in b){c=b[a]["input_element"];if(c){break}}var d="";if(c){d=c.form._sfm_form_name+"_errorloc"}return d}function sfm_show_div_msg(b,a){if(b.length<=0){return false}if(document.layers){divlayer=document.layers[b];if(!divlayer){return}divlayer.document.open();divlayer.document.write(a);divlayer.document.close()}else{if(document.all){divlayer=document.all[b];if(!divlayer){return}divlayer.innerHTML=a}else{if(document.getElementById){divlayer=document.getElementById(b);if(!divlayer){return}divlayer.innerHTML=a}}}divlayer.style.visibility="visible";return false}function DivMsgDisplayer(){this.showmsg=div_showmsg;this.clearmsg=div_clearmsg}function div_clearmsg(b){for(var a in b){var c=element_div_name(b[a]["input_element"]);show_div_msg(c,"")}}function element_div_name(a){var b=a.form._sfm_form_name+"_"+a.name+"_errorloc";b=b.replace(/[\[\]]/gi,"");return b}function div_showmsg(c){var e;var b=null;for(var a in c){if(null==b){b=c[a]["input_element"]}var d=element_div_name(c[a]["input_element"]);show_div_msg(d,c[a]["msg"])}if(null!=b){sfm_set_focus(b)}}function show_div_msg(b,a){if(b.length<=0){return false}if(document.layers){divlayer=document.layers[b];if(!divlayer){return}divlayer.document.open();divlayer.document.write(a);divlayer.document.close()}else{if(document.all){divlayer=document.all[b];if(!divlayer){return}divlayer.innerHTML=a}else{if(document.getElementById){divlayer=document.getElementById(b);if(!divlayer){return}divlayer.innerHTML=a}}}divlayer.style.visibility="visible"}function ValidationDesc(c,b,a,d){this.desc=b;this.error=a;this.itemobj=c;this.condition=d;this.validate=vdesc_validate}function vdesc_validate(){if(this.condition!=null){if(!eval(this.condition)){return true}}if(!validateInput(this.desc,this.itemobj,this.error)){this.itemobj.validatorobj.focus_disable_validations=true;sfm_set_focus(this.itemobj);return false}return true}function ValidationSet(b,a){this.vSet=new Array();this.add=add_validationdesc;this.validate=vset_validate;this.itemobj=b;this.msgs_together=a}function add_validationdesc(b,a,c){this.vSet[this.vSet.length]=new ValidationDesc(this.itemobj,b,a,c)}function vset_validate(){var a=true;for(var b=0;b<this.vSet.length;b++){a=a&&this.vSet[b].validate();if(!a&&!this.msgs_together){break}}return a}function validateEmail(b){var e=b.match("^(.+)@(.+)$");if(e==null){return false}if(e[1]!=null){var d=/^\"?[\w-_\.]*\"?$/;if(e[1].match(d)==null){return false}}if(e[2]!=null){var c=/^[\w-\.]*\.[A-Za-z]{2,4}$/;if(e[2].match(c)==null){var a=/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;if(e[2].match(a)==null){return false}}return true}return false}function TestComparison(objValue,strCompareElement,strvalidator,strError){var bRet=true;var objCompare=null;if(!objValue.form){sfm_show_error_msg("Error: No Form object!",objValue);return false}objCompare=objValue.form.elements[strCompareElement];if(!objCompare){sfm_show_error_msg("Error: Element with name"+strCompareElement+" not found !",objValue);return false}var objval_value=objValue.value;var objcomp_value=objCompare.value;if(strvalidator!="eqelmnt"&&strvalidator!="neelmnt"){objval_value=objval_value.replace(/\,/g,"");objcomp_value=objcomp_value.replace(/\,/g,"");if(isNaN(objval_value)){sfm_show_error_msg(objValue.name+": Should be a number ",objValue);return false}if(isNaN(objcomp_value)){sfm_show_error_msg(objCompare.name+": Should be a number ",objCompare);return false}}var cmpstr="";switch(strvalidator){case"eqelmnt":if(objval_value!=objcomp_value){cmpstr=" should be equal to ";bRet=false}break;case"ltelmnt":if(eval(objval_value)>=eval(objcomp_value)){cmpstr=" should be less than ";bRet=false}break;case"leelmnt":if(eval(objval_value)>eval(objcomp_value)){cmpstr=" should be less than or equal to";bRet=false}break;case"gtelmnt":if(eval(objval_value)<=eval(objcomp_value)){cmpstr=" should be greater than";bRet=false}break;case"geelmnt":if(eval(objval_value)<eval(objcomp_value)){cmpstr=" should be greater than or equal to";bRet=false}break;case"neelmnt":if(objval_value.length>0&&objcomp_value.length>0&&objval_value==objcomp_value){cmpstr=" should be different from ";bRet=false}break}if(bRet==false){if(!strError||strError.length==0){strError=objValue.name+cmpstr+objCompare.name}sfm_show_error_msg(strError,objValue)}return bRet}function TestSelMin(objValue,strMinSel,strError){var bret=true;var objcheck=objValue.form.elements[objValue.name];var chkcount=0;if(objcheck.length){for(var c=0;c<objcheck.length;c++){if(objcheck[c].checked=="1"){chkcount++}}}else{chkcount=(objcheck.checked=="1")?1:0}var minsel=eval(strMinSel);if(chkcount<minsel){if(!strError||strError.length==0){strError="Please Select atleast"+minsel+" check boxes for"+objValue.name}sfm_show_error_msg(strError,objValue);bret=false}return bret}function TestSelMax(objValue,strMaxSel,strError){var bret=true;var objcheck=objValue.form.elements[objValue.name];var chkcount=0;if(objcheck.length){for(var c=0;c<objcheck.length;c++){if(objcheck[c].checked=="1"){chkcount++}}}else{chkcount=(objcheck.checked=="1")?1:0}var maxsel=eval(strMaxSel);if(chkcount>maxsel){if(!strError||strError.length==0){strError="Please Select atmost "+maxsel+" check boxes for"+objValue.name}sfm_show_error_msg(strError,objValue);bret=false}return bret}function IsCheckSelected(b,g){var d=false;var a=b.form.elements[b.name];if(a.length){var e=-1;for(var f=0;f<a.length;f++){if(a[f].value==g){e=f;break}}if(e>=0){if(a[e].checked=="1"){d=true}}}else{if(b.checked=="1"){d=true}}return d}function TestDontSelectChk(a,d,b){var c=true;c=IsCheckSelected(a,d)?false:true;if(c==false){if(!b||b.length==0){b="Can't Proceed as you selected "+a.name}sfm_show_error_msg(b,a)}return c}function TestShouldSelectChk(a,d,b){var c=true;c=IsCheckSelected(a,d)?true:false;if(c==false){if(!b||b.length==0){b="You should select"+a.name}sfm_show_error_msg(b,a)}return c}function TestRequiredInput(a,c){var b=true;if(VWZ_IsEmpty(a.value)){b=false}else{if(a.getcal&&!a.getcal()){b=false}}if(!b){if(!c||c.length==0){c=a.name+" : Required Field"}sfm_show_error_msg(c,a)}return b}function TestFileExtension(a,c,e){var b=false;var g=false;if(a.value.length<=0){return true}var f=c.split(";");for(var d=0;d<f.length;d++){ext=a.value.substr(a.value.length-f[d].length,f[d].length);ext=ext.toLowerCase();if(ext==f[d]){g=true;break}}if(!g){if(!e||e.length==0){e=a.name+" allowed file extensions are: "+c}sfm_show_error_msg(e,a);b=false}else{b=true}return b}function TestMaxLen(objValue,strMaxLen,strError){var ret=true;if(eval(objValue.value.length)>eval(strMaxLen)){if(!strError||strError.length==0){strError=objValue.name+" : "+strMaxLen+" characters maximum "}sfm_show_error_msg(strError,objValue);ret=false}return ret}function TestMinLen(objValue,strMinLen,strError){var ret=true;if(eval(objValue.value.length)<eval(strMinLen)){if(!strError||strError.length==0){strError=objValue.name+" : "+strMinLen+" characters minimum  "}sfm_show_error_msg(strError,objValue);ret=false}return ret}function TestInputType(a,c,d,f){var b=true;var e=a.value.search(c);if(a.value.length>0&&e>=0){if(!d||d.length==0){d=f}sfm_show_error_msg(d,a);b=false}return b}function TestEmail(a,c){var b=true;if(a.value.length>0&&!validateEmail(a.value)){if(!c||c.length==0){c=a.name+": Enter a valid Email address "}sfm_show_error_msg(c,a);b=false}return b}function TestLessThan(objValue,strLessThan,strError){var ret=true;var obj_value=objValue.value.replace(/\,/g,"");strLessThan=strLessThan.replace(/\,/g,"");if(isNaN(obj_value)){sfm_show_error_msg(objValue.name+": Should be a number ",objValue);ret=false}else{if(eval(obj_value)>=eval(strLessThan)){if(!strError||strError.length==0){strError=objValue.name+" : value should be less than "+strLessThan}sfm_show_error_msg(strError,objValue);ret=false}}return ret}function TestGreaterThan(objValue,strGreaterThan,strError){var ret=true;var obj_value=objValue.value.replace(/\,/g,"");strGreaterThan=strGreaterThan.replace(/\,/g,"");if(isNaN(obj_value)){sfm_show_error_msg(objValue.name+": Should be a number ",objValue);ret=false}else{if(eval(obj_value)<=eval(strGreaterThan)){if(!strError||strError.length==0){strError=objValue.name+" : value should be greater than "+strGreaterThan}sfm_show_error_msg(strError,objValue);ret=false}}return ret}function TestRegExp(a,c,d){var b=true;if(a.value.length>0&&!a.value.match(c)){if(!d||d.length==0){d=a.name+": Invalid characters found "}sfm_show_error_msg(d,a);b=false}return b}function TestDontSelect(a,c,d){var b=true;if(a.value==null){sfm_show_error_msg("Error: dontselect command for non-select Item",a);b=false}else{if(a.value==c){if(!d||d.length==0){d=a.name+": Please Select one option "}sfm_show_error_msg(d,a);b=false}}return b}function TestSelectOneRadio(a,c){var b=a.form.elements[a.name];var e=false;for(var d=0;d<b.length;d++){if(b[d].checked=="1"){e=true;break}}if(false==e){if(!c||c.length==0){c="Please select one option from "+a.name}sfm_show_error_msg(c,a)}return e}function TestSelectRadio(a,d,f,c){var b=a.form.elements[a.name];var e=false;for(var g=0;g<b.length;g++){if(b[g].value==d&&b[g].checked=="1"){e=true;break}}if(c==true&&false==e||c==false&&true==e){sfm_show_error_msg(f,a);return false}return true}function validateInput(g,a,e){var c=true;var d=g.search("=");var f="";var b="";if(d>=0){f=g.substring(0,d);b=g.substr(d+1)}else{f=g}switch(f){case"req":case"required":c=TestRequiredInput(a,e);break;case"maxlength":case"maxlen":c=TestMaxLen(a,b,e);break;case"minlength":case"minlen":c=TestMinLen(a,b,e);break;case"alnum":case"alphanumeric":c=TestInputType(a,"[^A-Za-z0-9]",e,a.name+": Only alpha-numeric characters allowed ");break;case"alnum_s":case"alphanumeric_space":c=TestInputType(a,"[^A-Za-z0-9\\s]",e,a.name+": Only alpha-numeric characters and space allowed ");break;case"num":case"numeric":case"dec":case"decimal":if(a.value.length>0&&!a.value.match(/^[\-\+]?[\d\,]*\.?[\d]*$/)){sfm_show_error_msg(e,a);c=false}break;case"alphabetic":case"alpha":c=TestInputType(a,"[^A-Za-z]",e,a.name+": Only alphabetic characters allowed ");break;case"alphabetic_space":case"alpha_s":c=TestInputType(a,"[^A-Za-z\\s]",e,a.name+": Only alphabetic characters and space allowed ");break;case"email":c=TestEmail(a,e);break;case"lt":case"lessthan":c=TestLessThan(a,b,e);break;case"gt":case"greaterthan":c=TestGreaterThan(a,b,e);break;case"regexp":c=TestRegExp(a,b,e);break;case"dontselect":c=TestDontSelect(a,b,e);break;case"dontselectchk":c=TestDontSelectChk(a,b,e);break;case"shouldselchk":c=TestShouldSelectChk(a,b,e);break;case"selmin":c=TestSelMin(a,b,e);break;case"selmax":c=TestSelMax(a,b,e);break;case"selone_radio":case"selone":c=TestSelectOneRadio(a,e);break;case"dontselectradio":c=TestSelectRadio(a,b,e,false);break;case"selectradio":c=TestSelectRadio(a,b,e,true);break;case"eqelmnt":case"ltelmnt":case"leelmnt":case"gtelmnt":case"geelmnt":case"neelmnt":return TestComparison(a,b,f,e);break;case"req_file":c=TestRequiredInput(a,e);break;case"file_extn":c=TestFileExtension(a,b,e);break}return c}function VWZ_IsListItemSelected(b,c){for(var a=0;a<b.options.length;a++){if(b.options[a].selected==true&&b.options[a].value==c){return true}}return false}function VWZ_IsChecked(a,b){if(a.length){for(var d=0;d<a.length;d++){if(a[d].checked=="1"&&a[d].value==b){return true}}}else{if(a.checked=="1"){return true}}return false}function sfm_str_trim(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function VWZ_IsEmpty(a){a=sfm_str_trim(a);return(a.length)==0?true:false};
/*plugins*/
window.log=function(){log.history=log.history||[];log.history.push(arguments);arguments.callee=arguments.callee.caller;if(this.console){console.log(Array.prototype.slice.call(arguments))}};(function(e){function h(){}for(var g="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),f;f=g.pop();){e[f]=e[f]||h}})(window.console=window.console||{});
/*nav*/
jQuery(function($){$("nav ul li").hover(function(){$(this).find("ul").stop(true,true).slideDown()},function(){$(this).find("ul").stop(true,true).hide()})});
/*scroll top*/
$(function(){$("a[href*=#]").click(function(){if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var a=$(this.hash);a=a.length&&a||$("[name="+this.hash.slice(1)+"]");if(a.length){var b=a.offset().top;$("html,body").animate({scrollTop:b},500);return false}}})});
