function Cart(n){var t=this;t.CartImageFull=n.CartImageFull;t.CartImageEmpty=n.CartImageEmpty;Ext.merge(t.Options,n);window.CART=t;Ext.onDocumentReady(function(){Ext.Ajax.timeout=12e4;t.elementInfo=Ext.get("cart-info");t.elementContainer=Ext.get("cart-info-container");t.elementPopup=Ext.get("cart-popup");t.elementPopupItems=Ext.get("cart-popup-items");t.elementCheckoutContainer=Ext.get("cart-checkout-container");t.elementCheckoutContainer.enableDisplayMode();t.elementMainCenter=Ext.get("grad_stud_main2");t.elementBodyTitle=Ext.get("grad_stud_title");t.activeCheckoutStep="cart";t.setCartImage();t.popupHelper=new PopupHelper({popupElement:t.elementContainer,documentClickAction:function(){window.LAYOUT.State.isEditMode||t.hideMiniDisplay()}});t.executeReloadCallback()})}function googleanalyticsecommerce(){}function Development(){var n=this;window.DEVELOPMENT=n}function GsmuTooltip(){var n=this;n.Init()}function Membership(n){var t=this;t.PwLabel=n.PwLabel;t.UsernameLabel=n.UsernameLabel;t.EmailLabel=n.EmailLabel;t.HideForgotPassword=n.HideForgotPassword;t.PublicSignupAbilityOff=n.PublicSignupAbilityOff;t.disallownewuser=n.disallownewuser;t.HideStudentLogin=n.HideStudentLogin;t.HideSupervisorLogin=n.HideSupervisorLogin;t.HideInstructorLogin=n.HideInstructorLogin;t.AspSiteRootUrl=n.AspSiteRootUrl;t.CurrentLogin=null;t.UsernameEmptyText=n.LoginAuthOption==1?t.EmailLabel:n.LoginAuthOption==2?t.UsernameLabel+" / "+t.EmailLabel:t.UsernameLabel;t.options=n;window.MEMBERSHIP=t;Ext.onDocumentReady(function(){Ext.Ajax.timeout=12e4;t.options.isLoggedIn||(t.renderLoginForm(),t.options.showLoginUi&&(t.showLoginForm(),window.LAYOUT.notify("The page you have requested is either a restricted area or your session has expired and you have been redirected to the default page.")))})}function ViewCourseWork(n){var t=Ext.create("Ext.form.Panel",{border:!1,frame:!1,bodyPadding:0,html:"",anchor:"100% 100%"}),i=Ext.create("Ext.window.Window",{id:"CourseWork",modal:!0,closeAction:"destroy",closable:!0,border:!1,frame:!1,header:!0,layout:"anchor",tbar:!1,width:630,height:180,autoScroll:!0,items:t});i.show();t.setLoading(!0);Ext.Ajax.request({url:config.getUrl("public/Course/CourseWork"),params:{courseid:n},success:function(n){t.setLoading(!1);t.hide();$("html, body").animate({scrollTop:0},"slow");i.update(n.responseText,!0,function(){})}})}var isOperationInProgress,tempMateriallist,lastSelectedMaterial,discountdetails,totalDiscount,cartstepLocation,isrequiredpaynumber,selectedCredit;Cart.prototype.CheckoutSort="0";Cart.prototype.CartImageFull=null;Cart.prototype.CartImageEmpty=null;Cart.prototype.CancelCartShowImage="Images/Icons/glyph2/Icons24x24/Cancel.png";Cart.prototype.Options={ExtraParticipantCollectionEnabled:!1,ExtraParticipantLabel:null,ExtraParticipantCollectCustomField:!1,ExtraParticipantCustomFieldLabel:null};Cart.prototype.constructor=Cart;Cart.prototype.popupHelper=null;Cart.prototype.elementContainer=null;Cart.prototype.elementInfo=null;Cart.prototype.elementPopup=null;Cart.prototype.elementPopupItems=null;Cart.prototype.elementCheckoutContainer=null;Cart.prototype.elementMainCenter=null;Cart.prototype.elementBodyTitle=null;Cart.prototype.courseMaterialData={};Cart.prototype.courseSelectedCredits={};Cart.prototype.activeCheckoutStep=null;Cart.prototype.checkMaterial=null;Cart.prototype.ShowCourseDetails=null;Cart.prototype.ShowRegisterUser=null;Cart.prototype.calculateMaterialPerQty=null;Cart.prototype.ComputePriceTotal=null;Cart.prototype.mask=null;Cart.prototype.delay=null;Cart.prototype.setCartImage=function(){var n=this,t=n.CartImageEmpty,i=$("#cart-info").html();i.toLowerCase().indexOf("empty")==-1&&(t=n.CartImageFull);n.elementContainer.setStyle("backgroundImage","url('"+config.getUrl(t)+"')")};Cart.prototype.resetMaterialData=function(){var n=this;n.courseMaterialData={}};Cart.prototype.setCourseSelectedMaterials=function(n,t){var i=this;i.courseMaterialData[n].selectedMaterials=t};Cart.prototype.setCourseMaterialData=function(n,t,i){var r=this;r.courseMaterialData[n]={};r.courseMaterialData[n].materialsRequired=t;r.courseMaterialData[n].materials=i};Cart.prototype.miniDisplay=function(n){var t=this;if(t.elementPopup.isVisible()&&n!="refresh"){t.hideMiniDisplay();return}t.elementContainer.mask();Ext.Ajax.request({url:config.getUrl("public/cart/minidisplay"),success:function(n){t.elementPopupItems.setHtml(n.responseText);t.showMiniDisplay();t.elementContainer.unmask()}})};Cart.prototype.refreshDisplay=function(){var n=this;n.elementPopup.isVisible()&&n.miniDisplay("refresh")};Cart.prototype.showMiniDisplay=function(){var n=this;n.elementPopup.show();n.elementContainer.setStyle("backgroundImage","url('"+config.getUrl(n.CancelCartShowImage)+"')")};Cart.prototype.hideMiniDisplay=function(){var n=this;n.elementPopup.setStyle({display:"none"});n.setCartImage()};isOperationInProgress="No";Cart.prototype.AddMembership=function(n){var t=this,i={courseId:n};Ext.Ajax.request({url:config.getUrl("public/cart/addcourse"),headers:{"Content-Type":"application/json"},jsonData:i,success:function(n){var i=Ext.decode(n.responseText);i.success&&t.updateCartStatus(n.responseText);CourseSearch.prototype.CloseMembershipDetailsWindow();cart.HideReviewCheckout()}})};Cart.prototype.AddCourse=function(n,t,i,r,u){var f,s,c,l,y,p,o,e,h,d,w,g,a,tt;if(isOperationInProgress=="No"){if(isOperationInProgress="Yes",f=this,s="",typeof t=="undefined"&&(t=""),$("#chkRequisite").length>0&&($("#chkRequisite").is(":checked")||(f.setInterimWindow("Requisite"),s="Requisite")),c=Ext.getCmp("course-price-"+n+t),l=null,c!=null&&t!="CourseDetails"||$("#course-price-"+n+t).val()!=undefined&&(l=$("#course-price-"+n+t).val()),t=="CourseDetails"&&(c=$("input[name='coursepriceitem']:checked").val()),c!=null&&t=="CourseDetails"&&(l=$("input[name='coursepriceitem']:checked").val()),y=$("input[name=ccradio]:checked"),y!=null&&(p=parseInt(y.val()),o=null,p!=null&&(o=p,(isNaN(o)||o==null||o==""||o==0)&&$("#CourseChoiceContainerDet").length>0)))if(isNaN(o))f.setInterimWindow("CourseChoice"),s=s+" Course Choice";else{config.showWarning("Please select a course choice!","Course choice not selected...");return}function rt(n){var t=0;for(var i in n)++t;return t}if(e=f.courseMaterialData[n+t],e!=undefined&&e.materialsRequired&&(!Ext.isDefined(e.selectedMaterials)||!Ext.isObject(e.selectedMaterials)||rt(e.selectedMaterials)<1))if($("#CourseNameDescContainer").length>0)f.setInterimWindow("material"),s=s+" material";else{config.showWarning("Please select at least 1 material for this course...","Material selection required");return}if(h=[],e!=undefined&&Ext.isObject(e.selectedMaterials))for(a in e.selectedMaterials)d=e.selectedMaterials[a],h.push(d.get("productID"));w=[];for(g in h)qty_comp=$("input[name=qtyNoField"+h[g]+"]").val(),w.push(qty_comp);var v=Ext.get(Ext.DomQuery.selectNode("[data-cart-button="+n+t+"]")),nt=[],b=f.courseSelectedCredits[n];if(b!=undefined)for(a in b.selectedCredits)tt=b.selectedCredits[a],nt.push(tt);var k=function(e){window.LAYOUT.MaskLayout("Loading");Ext.Ajax.request({url:config.getUrl("public/cart/EnrollmentCheckSettings"),headers:{"Content-Type":"application/json"},jsonData:{course_id:n},asynch:!1,success:function(c){var y=Ext.decode(c.responseText),a,b,p;if(y.allowed==!1)return a="",y.enrollmentCheckSetting==1?a="Name":y.enrollmentCheckSetting==2?a="Number":y.enrollmentCheckSetting==3&&(a="Name and Number"),Ext.MessageBox.show({buttons:Ext.MessageBox.OK,title:"Stop!",msg:"You can not add this course because you have already enrolled in a course with the same "+a,icon:Ext.MessageBox.ERROR}),isOperationInProgress="No",!1;(Ext.isDefined(e)||(e=null),b=function(){var i,s;v.fadeOut({duration:1e3});var t=Ext.get(Ext.DomQuery.selectNode("[data-course-id="+n+"]")),r=f.elementContainer.getXY(),u=r[0]+f.elementContainer.getWidth()/2,e=r[1]+f.elementContainer.getHeight()/2,o=Ext.DomHelper,h=document.location+" ";t!=null&&(i=o.append(document.body,{tag:"div",style:{position:"absolute",width:t.getWidth()+"px",height:t.getHeight()+"px",left:t.getX()+"px",top:t.getY()+"px"},html:'<span style="font-size: large;">'+t.getAttribute("data-course-name")+"<\/span>",cls:"cart-anim"},!0));CourseSearch.prototype.CloseCourseDetailsWindow();s=Ext.create("Ext.fx.Animator",{target:i,duration:1e3,keyframes:{0:{opacity:1},100:{opacity:0,x:u,y:e,width:0,height:0}},listeners:{afteranimate:function(){i.hide()}}})},s.length>0)||(p={courseId:n,coursePricingOptionId:l,courseChoiceId:o,materialsIds:h,selectedcredits:nt,accessCode:e,extraParticipants:null,studentId:null,qty:w,enrollStudentOnHouseholdRequired:u},i instanceof Array&&(p.extraParticipants=i),Ext.Ajax.request({url:config.getUrl("public/cart/addcourse"),headers:{"Content-Type":"application/json"},jsonData:p,success:function(u){var e,o,s;if(isOperationInProgress="No",e=Ext.decode(u.responseText),e.status=="household pending"){Ext.MessageBox.show({title:"Confirmation",msg:"There is only one spot left and you can not add any additional members. Would you like to continue only enrolling yourself?",buttons:Ext.Msg.YESNO,icon:Ext.Msg.QUESTION,fn:function(u){u=="yes"&&cart.AddCourse(n,t,i,r,!0);u=="no"}});window.LAYOUT.UnmaskLayout();return}if(e.extraParticipantRequired){o=e.ExtraParticipantRequiredFields;s=new CourseExtraParticipantForm(n,t,f.Options,e.statistics,o);window.LAYOUT.UnmaskLayout();return}e.success?(f.updateCartStatus(u.responseText),r?cart.DisplayAllStudents_ForEnrollment(n):b()):$("#CourseNameDescContainer").length>0?f.setInterimWindow(e.error):(config.showWarning(e.error,"Cart error"),v.fadeIn());window.LAYOUT.UnmaskLayout()}}))}})},ut=$("#accessvalid").val(),it=$("#accesscode").val();v!=null&&v.getAttribute("data-access-code-required")=="true"&&ut!="1"?Ext.MessageBox.prompt("Access code required","This code requires an access code. Please enter it here.",function(n,t){n=="ok"&&k(t)}):it==""?k():k(it)}};Cart.prototype.setInterimWindow=function(n){if(isOperationInProgress="No",$("#CourseInstructorsContainer").removeClass("course-widgetbox").addClass("course-widgetbox_disabled"),$("#CourseMediaContainer").removeClass("course-widgetbox").addClass("course-widgetbox_disabled"),$("#CourseContactContainer").removeClass("course-widgetbox").addClass("course-widgetbox_disabled"),$("#CourseNameDescContainer").removeClass("course-widgetbox").addClass("course-widgetbox_disabled"),$("#CourseDates_and_TimesContainer").removeClass("course-widgetbox").addClass("course-widgetbox_disabled"),$("#CourseLocationContainer").removeClass("course-widgetbox").addClass("course-widgetbox_disabled"),$("#CourseAddtional_Similar_NameContainer").removeClass("course-widgetbox").addClass("course-widgetbox_disabled"),$("#coursedetailserror").css("display","block"),$("#coursedetailserrorspacer").css("display","none"),(n.indexOf("invalid")!==-1||n.indexOf("Please select")!==-1)&&$("#coursedetailserror").html(n),n.indexOf("Pricing")!==-1&&$("#CoursePriceContainer").removeClass("course-widgetbox").addClass("course-widgetbox_error"),n.indexOf("Requisite")!==-1&&$("#CourseRequisiteContainer").removeClass("course-widgetbox").addClass("course-widgetbox_error"),n.indexOf("material")!==-1&&$("#CourseMaterialsContainer").removeClass("course-widgetbox").addClass("course-widgetbox_error"),n.indexOf("CourseChoice")!==-1&&$("#CourseChoiceContainer").removeClass("course-widgetbox").addClass("course-widgetbox_error"),n.indexOf("This course has restricted access")!==-1)$("#coursedetailserror").html(n);else if(n.indexOf("access")!==-1){$("#accesscodeerror").html("*");var t=$("#accesscode").val();$("#verificationresult").html("<div> Access Code: ****<img src='/images/share/redx.png' /><\/div>")}n.indexOf("credit")!==-1&&$("#CourseCreditsContainer").removeClass("course-widgetbox").addClass("course-widgetbox_error");$("#instructor1").length>0&&$("#instructor1").css("background","none");$("#instructor2").length>0&&$("#instructor2").css("background","none");$("#instructor3").length>0&&$("#instructor3").css("background","none")};Cart.prototype.showExpandedDisplay=function(){var n=this;n.ShowReviewCheckout()};Cart.prototype.empty=function(){var n=this,t;selectedCredit=[];t=Ext.MessageBox.show({title:"Empty cart",msg:"Are you sure you want to remove all items for the cart?",buttons:Ext.MessageBox.YESNO,icon:Ext.MessageBox.QUESTION,buttonAlign:"right",fn:function(t){if(t!="yes"){n.miniDisplay("refresh");return}Ext.Ajax.request({url:config.getUrl("public/cart/empty"),success:function(t){var i=Ext.decode(t.responseText);n.elementInfo.setHtml(i.status);n.updateCartStatus(t.responseText);n.activeCheckoutStep=="checkout"&&cart.HideReviewCheckout();n.miniDisplay("refresh")}})}});n.popupHelper.configureForMessageBox(t,n.elementPopup)};Cart.prototype.refreshCourseListing=function(){var n=this;typeof CourseSearchInstance!="undefined"&&window.CourseSearchInstance.Invoke(!1)};Cart.prototype.backToBrowse=function(n){var t=this;if(typeof n=="undefined"&&(n=!1),n&&!(LAYOUT.Options.currentController=="course"&&LAYOUT.Options.currentAction=="browse")){document.location=config.getUrl("public/course/browse");return}LAYOUT.endCheckout();t.HideReviewCheckout();t.refreshDisplay();t.refreshCourseListing()};Cart.prototype.remove=function(n){var t=this,r,i=Ext.get("remove-"+n),u;r=i!=null&&i.getAttribute("data-message")!=null?decodeURIComponent(i.getAttribute("data-message")):"Are you sure you want to remove this course from the cart?";u=Ext.MessageBox.show({title:"Remove course from cart",msg:r,buttons:Ext.MessageBox.YESNO,icon:Ext.MessageBox.QUESTION,buttonAlign:"right",fn:function(i){if(i!="yes"){t.miniDisplay("refresh");return}Ext.Ajax.request({url:config.getUrl("public/cart/removecourse?courseId="+n),success:function(i){if(t.updateCartStatus(i.responseText),t.activeCheckoutStep=="checkout"){t.hideDeletedCourse(n);var r=Ext.decode(i.responseText);r.status=="Empty"&&cart.HideReviewCheckout()}else t.activeCheckoutStep=="payment"&&(window.LAYOUT.MaskLayout("Loading"),t.checkout());t.miniDisplay("refresh")}})}});t.popupHelper.configureForMessageBox(u,"cart-info-container")};Cart.prototype.updateCartStatus=function(n){var t=this,i=Ext.decode(n);if(!i.success){config.showWarning(i.error,"Cart error");return}t.elementInfo.setHtml(i.status);t.refreshCourseListing();t.refreshDisplay();t.setCartImage()};Cart.prototype.checkout=function(n){var t=this;t.CheckoutSort=n;Ext.Ajax.request({url:config.getUrl("cart/validatecart"),success:function(n){var i=Ext.decode(n.responseText),r;i.length>0?(r=i.join("<br/>"),Ext.MessageBox.show({buttons:Ext.MessageBox.OK,title:"Your cart has been checked and changes occured",msg:r,icon:Ext.MessageBox.INFO})):t.ShowReviewCheckout()}})};Cart.prototype.ShowRegisterUser=function(){var n=this;Ext.Ajax.request({url:config.getUrl("public/user/RegisterUser"),method:"POST",success:function(n){$("#dialogPopout").html(n.responseText);$("#dialogPopout").dialog({title:"New Account",width:840,position:{my:"center",at:"top",of:window},modal:!0,show:{duration:500}})}})};Cart.prototype.ShowRegisterUserDisclaimer=function(){var n=this;Ext.Ajax.request({url:config.getUrl("public/user/Disclaimer"),success:function(n){$("#dialogPopout").html(n.responseText);$("#dialogPopout").dialog({title:"New Account",width:840,position:{my:"center",at:"center",of:window},modal:!0,show:{duration:500}})}})};Cart.prototype.CloseRegisterUserDisclaimer=function(){var n=this;$("#dialogPopout").dialog("close");n.setReloadCallback(n.getPostRegistrationAction());window.location.href=config.getUrl("")};Cart.prototype.SubmitRegistration=function(){var t=this,n=new PortalUserDashboard;n.saveNewRegistration()};Cart.prototype.ShowReviewCheckout=function(){var n=this;n.activeCheckoutStep="checkout";n.hideMiniDisplay();window.LAYOUT.startCheckout();CourseSearch.prototype.CloseCourseDetailsWindow();Ext.Ajax.request({url:config.getUrl("public/cart/CheckAuthorization"),success:function(t){var i=Ext.decode(t.responseText);i.IsLoggedIn&&i.UserType!="Student"&&i.UserType!="Supervisor"&&i.UserType!="Instructor"?Ext.MessageBox.show({msg:"We apologize for the inconvenience but checkout is only implemented for "+Terminology.lower("students")+" at the moment. For other user types, the feature is in development.",title:"Checkout information",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.WARNING,fn:function(){n.backToBrowse()}}):i.IsLoggedIn?Ext.Ajax.request({url:config.getUrl("public/cart/checkout"),params:{sort:n.CheckoutSort},asynch:!1,success:function(t){window.LAYOUT.MaskLayout("Loading");i.UserType!="Supervisor"&&i.UserType!="Instructor"?Ext.Ajax.request({url:config.getUrl("public/user/CheckReqMissingFields"),success:function(i){i.responseText=="NoMissingReqFields"?(n.elementCheckoutContainer.setHtml(t.responseText,!0),n.activeCheckoutStep="checkout",n.ShowCheckoutContainerDisplay(),n.ComputePriceCheckout(),n.RefreshCourseStatus(),window.top.location.toString().indexOf("PaypalRedirectConfirmation")>-1&&history.pushState&&history.pushState("","Paypal Confirmation",window.location.toString().replace("PaypalRedirectConfirmation","PaypalCheckout")+"&Checkout=true")):document.location=config.getUrl("public/user/dashboard?MissingReqFields=1")}}):(n.elementCheckoutContainer.setHtml(t.responseText,!0),n.activeCheckoutStep="checkout",n.ShowCheckoutContainerDisplay(),n.ComputePriceCheckout(),n.RefreshCourseStatus(),window.top.location.toString().indexOf("PaypalRedirectConfirmation")>-1&&history.pushState&&history.pushState("","Paypal Confirmation",window.location.toString().replace("PaypalRedirectConfirmation","PaypalCheckout")+"&Checkout=true"))}}):Ext.Ajax.request({url:config.getUrl("public/cart/login"),success:function(t){n.elementCheckoutContainer.setHtml(t.responseText,!0);n.elementBodyTitle.setHtml("");n.activeCheckoutStep="cartlogin";n.ShowCheckoutContainerDisplay()}})}})};Cart.prototype.HideReviewCheckout=function(){var n=this;window.LAYOUT.endCheckout();n.activeCheckoutStep="cart";n.elementCheckoutContainer.hide();n.elementMainCenter.setStyle("display","none");n.elementCheckoutContainer.setHtml("");n.elementBodyTitle.setHtml("Browse Courses");n.elementMainCenter.show()};Cart.prototype.ShowCheckoutContainerDisplay=function(){var n=this;n.elementMainCenter.hide();n.elementMainCenter.setStyle("display","none");n.elementCheckoutContainer.show()};tempMateriallist="";lastSelectedMaterial="";Cart.prototype.setOrignalSelectedMaterial=function(){lastSelectedMaterial=$("input[name=selectMaterialCheckout]:checked").val()};Cart.prototype.checkMaterial=function(n,t,i,r,u){var v=this,h=parseFloat(Ext.util.Format.number(parseFloat(i),"0.00")),f=n+"-"+t,e=$("#qty_"+n+"-"+t),y=$("#chk"+f).attr("type"),c,l,a,s;if($("#chk"+f).is(":checked")){if(y=="radio"&&(lastSelectedMaterial!=""&&(u=lastSelectedMaterial),u!=""&&u!=undefined&&u!=null)){var o=u.split("|")[0],p=u.split("|")[1],w=u.split("|")[2];if(t!=o)c=n+"-"+o,l=parseFloat(Ext.util.Format.number(parseFloat(p),"0.00")),e=$("#qty_"+n+"-"+o),$("#tr"+c).fadeTo("slow",.4),$("#price"+c).css("text-decoration","line-through"),a=parseFloat($("#matsubtot"+n).val())-l,$("#matsubtot"+n).val(Ext.util.Format.number(a,"0.00")),e.attr("disabled","disabled"),e.val(0),tempMateriallist=tempMateriallist+",-"+n+"|"+o+"|"+w;else return}$("#tr"+f).fadeTo("slow",1);$("#price"+f).css("text-decoration","none");s=parseFloat($("#matsubtot"+n).val())+h;$("#matsubtot"+n).val(Ext.util.Format.number(s,"0.00"));e.removeAttr("disabled","disabled");e.val(r);tempMateriallist=tempMateriallist+","+n+"|"+t+"|"+r;lastSelectedMaterial=t+"|"+h+"|"+r}else $("#tr"+f).fadeTo("slow",.4),$("#price"+f).css("text-decoration","line-through"),s=parseFloat($("#matsubtot"+n).val())-h,$("#matsubtot"+n).val(Ext.util.Format.number(s,"0.00")),e.attr("disabled","disabled"),e.val(0),tempMateriallist=tempMateriallist+",-"+n+"|"+t+"|"+r;v.ComputePriceCheckout();Ext.Ajax.request({url:config.getUrl("public/cart/GetAllMultipleStudentIdinCart"),params:{cid:n},success:function(n){for(var r=n.responseText,i=r.split(","),t=0;t<i.length;t++)$("#chk"+f).is(":checked")?($("#"+i[t]+"chk"+f).prop("checked",!0),$("#"+ +i[t]+"tr"+f).fadeTo("slow",1)):($("#"+i[t]+"chk"+f).prop("checked",!1),$("#"+ +i[t]+"tr"+f).fadeTo("slow",.4))}})};Cart.prototype.calculateMaterialPerQty=function(n,t,i,r,u){if(e=i,$.inArray(e.keyCode,[46,8,9,27,13,110,190])===-1&&(e.keyCode!=65||e.ctrlKey!==!0)&&(e.keyCode!=67||e.ctrlKey!==!0)&&(e.keyCode!=88||e.ctrlKey!==!0)&&(!(e.keyCode>=35)||!(e.keyCode<=39))){if((e.shiftKey||e.keyCode<48||e.keyCode>57)&&(e.keyCode<96||e.keyCode>105)&&e.preventDefault(),parseInt($(i).val())<0||isNaN($(i).val())||$(i).val()==""){$(i).val(1);return}Cart.prototype.delay(function(){if(i!=""&&r!=""){var l=parseFloat(Ext.util.Format.number(parseFloat(u),"0.00")),e=$(i).val(),o=e*u,s=parseFloat($("#"+r).text().replace("$","")),h=o-s;$("#"+r).text("$"+o.toFixed(2));var c=$("#CheckoutSubtotal").text().replace("$",""),a=$("#CheckoutTotal").text().replace("$",""),f=parseFloat(Ext.util.Format.number(h,"0.00"))+parseFloat(Ext.util.Format.number(c,"0.00"));$("#CheckoutSubtotal").text("$"+parseFloat(f).toFixed(2));$("#CheckoutTotal").text("$"+parseFloat(f).toFixed(2));$("#hiddenPaymentTotal").val(parseFloat(f).toFixed(2));tempMateriallist=tempMateriallist+","+n+"|"+t+"|"+e}},100)}};Cart.prototype.delay=function(){var n=0;return function(t,i){clearTimeout(n);n=setTimeout(t,i)}}();Cart.prototype.updatePartialPayment=function(n){var t=this;Ext.Ajax.request({url:config.getUrl("public/cart/UpdatePartialPayment"),params:{intCourseId:n,ppval:$("#PartlPaymnt"+n).is(":checked")},success:function(n){var i=Ext.decode(n.responseText),r=i.items;t.ComputePriceTotal(r,"");cart.ApplyAutomaticCouponDiscount()}})};Cart.prototype.updateCRExtraParticipant=function(n){var t=this;Ext.Ajax.request({url:config.getUrl("public/cart/UpdateCRExtraParticipant"),params:{intCourseId:n,val:$("#CRExtraParticipant"+n).val()}})};var totalmatprice=0,totalcourseprice=0,totalpayment=0;Cart.prototype.ComputePriceCheckout=function(){var n=this;Ext.Ajax.request({url:config.getUrl("public/cart/GetCartList"),success:function(t){var i=Ext.decode(t.responseText),r=i.items,u=i.mutiplestudent;n.ComputePriceTotal(r,u);cart.ApplyAutomaticCouponDiscount()}})};Cart.prototype.ComputePriceCheckoutAfterAutoCouponDiscount=function(){var n=this;Ext.Ajax.request({url:config.getUrl("public/cart/GetCartList"),success:function(t){var i=Ext.decode(t.responseText),r=i.items,u=i.mutiplestudent;n.ComputePriceTotal(r,u)}})};Cart.prototype.ComputePriceTotal=function(n,t){var v=this,u,e,i,c,h;totalmatprice=0;totalcourseprice=0;totalpayment=0;u=0;e=$("#hiddenOrderDiscountTotal").val()-0;for(dtai in n)if(t.length>0){for(stud in t)if(i=n[dtai],t[stud].CourseId==i.CourseId){c=0;c=t[stud].PricingModel==null?0:t[stud].PricingModel.EffectivePrice;var o=c+i.MateriaTotal,s=parseFloat($("#matsubtot"+i.CourseId).val()),r=o+s;i.IsPartialPayment?i.PartialPayment>r?totalpayment+=r:(totalpayment+=i.PartialPayment,u+=r-i.PartialPayment):totalpayment+=r;totalcourseprice+=o;totalmatprice+=s}}else{var i=n[dtai],o=i.CourseTotal+i.MateriaTotal,s=parseFloat($("#matsubtot"+i.CourseId).val()),r=o+s;i.IsPartialPayment?i.PartialPayment>r?totalpayment+=r:(totalpayment+=i.PartialPayment,u+=r-i.PartialPayment):totalpayment+=r;totalcourseprice+=o;totalmatprice+=s}var l=totalmatprice+totalcourseprice,a=l-e,f=totalpayment-e;f<0&&(u=u+f,f=0);h=u;$("#CheckoutDiscount").html(Ext.util.Format.currency(e));$("#CheckoutSubtotal").html(Ext.util.Format.currency(l));$("#CheckoutTotal").html(Ext.util.Format.currency(a));$("#PartialPaymentTD").html(Ext.util.Format.currency(f));$("#RemainingAmountTD").html(Ext.util.Format.currency(h));h<=0?($("#PartialPaymentTR").hide(),$("#RemainingAmountTR").hide()):($("#PartialPaymentTR").show("slow"),$("#RemainingAmountTR").show("slow"));$("#hiddenPaymentTotal").val(f);$("#hiddenOrderTotal").val(a);$("#hiddenRemainingAmount").val(h);f==0?$("#ConfirmCheckoutButton").html("Proceed to Next Step"):$("#ConfirmCheckoutButton").html("Proceed to Payment")};Cart.prototype.ComputePriceCheckoutXX=function(){totalmatprice=0;totaldisc=$("#hiddenOrderDiscountTotal").val()-0;Ext.Ajax.request({url:config.getUrl("public/cart/GetCartCourseSubTotal"),success:function(n){totalcourseprice=parseFloat(n.responseText);Ext.Ajax.request({url:config.getUrl("public/cart/GetCartCourseIDList"),success:function(n){for(var i=n.responseText.split(","),t=0;t<i.length;t++)totalmatprice+=parseFloat($("#matsubtot"+i[t]).val());$("#CheckoutSubtotal").html(Ext.util.Format.currency(totalmatprice+totalcourseprice));$("#CheckoutTotal").html(Ext.util.Format.currency(totalmatprice+totalcourseprice-totaldisc));$("#hiddenShowConfirmationPage").val(totalmatprice+totalcourseprice-totaldisc);totalmatprice+totalcourseprice==0?$("#ConfirmCheckoutButton").html("Proceed to Next Step"):$("#ConfirmCheckoutButton").html("Proceed to Payment");cart.ApplyAutomaticCouponDiscount()}})}});window.LAYOUT.UnmaskLayout()};Cart.prototype.hideDeletedCourse=function(n){var t=this;$(".tr1"+n).fadeOut("slow");$("#matsubtot"+n).val(Ext.util.Format.number(0,"0.00"));t.ComputePriceCheckout()};Cart.prototype.RefreshCourseStatus=function(){};Cart.prototype.ConfirmCheckout=function(){var u=this,n,r;$.validator.messages.required="";$("#checkoutform").validate({debug:!0,rules:{Prerequisite:{required:!0},alternatecheckoutradio:{required:!0,equalTo:"#chkYes"},CheckOutQuestion:{required:!0}},ignore:".ignore, :hidden",messages:{alternatecheckoutradio:{equalTo:""}}});var t=!0,f=$(".CRExtraParticipant-required"),e=$("#ExtraParticipantLabel").val(),i=null;if(f.each(function(n,r){var u=$(r);if(u.val().length==0){i=u;t=!1;return}}),t==!1){i.focus();Ext.MessageBox.show({msg:"It is required to fill the "+e+".",title:"Error",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR});return}n=!0;r=$(".material-required");r.each(function(t,i){var r=$(i),f=r.val()=="true";if(f){var e=r.data("course-id"),o=$("[data-material-course="+e+"]"),u=!1;o.each(function(n,t){var i=$(t);i.is(":checked")&&(u=!0)});u||(n=!1)}});$("#checkoutform").valid()&&n?u.SubmitCheckout():Ext.MessageBox.show({msg:"Please check the fields which are marked in red and correct these.",title:"Error",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR})};Cart.prototype.SubmitCheckout=function(){var n=this,u=tempMateriallist,t=$("#txtCoupon").val(),i=$("#hiddenOrderDiscountTotal").val(),f=$("#hiddenOrderTotal").val(),r=$("#hiddenPaymentTotal").val();Ext.Ajax.request({url:config.getUrl("public/cart/SubmitCheckout"),params:{CheckoutComments:$("#CheckoutComments").val(),CheckOutQuestion:$("#CheckOutQuestion").val(),MaterialList:tempMateriallist,discountcode:t,coupondiscount:i},success:function(t){var i=t.responseText;n.ShowPaymentPage(r,i,"","checkout")}})};discountdetails="No discount.";totalDiscount="$0.00";Cart.prototype.ApplyCouponDiscount=function(n,t){var i=this;(n.which==13||t==1)&&(coupon=$("#txtCoupon").val(),Ext.Ajax.request({url:config.getUrl("public/cart/applycoupondiscount"),params:{couponcode:coupon},success:function(n){var t=Ext.decode(n.responseText),e=t.status,r=t.dollardiscount,f,u;discountdetails=Ext.util.Format.currency(r)+" and "+t.percentdiscount+"% Off";f=t.materialdicounted;e=="approved"?(u=f=="0"?totalcourseprice*(t.percentdiscount/100):(totalmatprice+totalcourseprice)*(t.percentdiscount/100),$("#hiddenOrderDiscountTotal").val(+r+u-0),totalDiscount=Ext.util.Format.currency(+r+ +u),i.ComputePriceCheckout()):(discountdetails=t.status,Ext.MessageBox.show({msg:t.status,title:"Error",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR}),$("#hiddenOrderDiscountTotal").val(0),i.ComputePriceCheckout())}}))};Cart.prototype.ApplyAutomaticCouponDiscount=function(){var n=this;coupon=$("#txtCoupon").val();coupon!=""&&Ext.Ajax.request({url:config.getUrl("public/cart/applycoupondiscount"),params:{couponcode:coupon},success:function(t){var r=Ext.decode(t.responseText),o=r.status,u,s,f;if(o=="Stack"){var h=r.courseidlist,c=r.couponidlist,l=c.split("|"),e=h.split("|");for(i=0;i<e.length;i++)e[i]!="0"&&($("#txtcoupon"+e[i]).val(l[i]),n.ApplyCouponDiscountPerOrder("event",e[i],1,0))}u=r.dollardiscount;discountdetails=Ext.util.Format.currency(u)+" and "+r.percentdiscount+"% Off";s=r.materialdicounted;o=="approved"?(s=="0"?(f=totalcourseprice*(r.percentdiscount/100),totalDiscount=Ext.util.Format.currency(+u+ +f)):(f=(totalmatprice+totalcourseprice)*(r.percentdiscount/100),totalDiscount=Ext.util.Format.currency(+u+ +f)),$("#hiddenOrderDiscountTotal").val(+u+f-0),n.ComputePriceCheckoutAfterAutoCouponDiscount()):(discountdetails=r.status,$("#hiddenOrderDiscountTotal").val(0),n.ComputePriceCheckoutAfterAutoCouponDiscount())}});window.LAYOUT.UnmaskLayout()};Cart.prototype.ApplyCouponDiscountPerOrder=function(n,t,i,r,u){var f=this;n!="event"&&(totalcourseprice=$("#hiddenOrderTotal").val()-0,totalnOrderDiscountTotal=$("#hiddenOrderDiscountTotal").val()-0,coupon=$("#txtcoupon"+t).val(),discountvalue=$("#txtdiscountvalue"+t).val()-0,Ext.Ajax.request({url:config.getUrl("public/cart/applycoupondiscountpercourse"),params:{couponcode:coupon,courseid:t},success:function(n){var e=Ext.decode(n.responseText),l=e.status,s=e.dollardiscount,c,h,a,o;discountdetails=Ext.util.Format.currency(s)+" and "+e.percentdiscount+"% Off";c=e.materialdicounted;l=="approved"?(coupon.trim()!=""&&(h=document.getElementById(u),h&&!h.disabled&&(a=Ext.create("Ext.tip.ToolTip",{anchor:"bottom",anchorToTarget:"true",showDelay:0,target:u+"-container",html:"If you wish to change the coupons around, please go to cart and restart the checkout process..."}),h.disabled=!0),$("#"+u+"-href").hide()),c=="0"?(o=i*(e.percentdiscount/100),totalDiscount=Ext.util.Format.currency(+s+ +o+ +totalnOrderDiscountTotal)):(o=(+r+ +totalmatprice+ +i)*(e.percentdiscount/100),totalDiscount=Ext.util.Format.currency(+s+ +o+ +totalnOrderDiscountTotal)),$("#hiddenOrderDiscountTotal").val(+s+o-0+ +totalnOrderDiscountTotal),$("#txtdiscountvalue"+t).val(+s+ +o),totalDiscount!=0?Ext.Ajax.request({url:config.getUrl("public/cart/setdiscountamountpercourse"),params:{discountamount:o,courseid:t},success:function(){f.ComputePriceCheckoutAfterAutoCouponDiscount()}}):Ext.Ajax.request({url:config.getUrl("public/cart/setdiscountamountpercourse"),params:{discountamount:0,courseid:t},success:function(){f.ComputePriceCheckoutAfterAutoCouponDiscount()}})):(coupon!=""&&(discountdetails=e.status,Ext.MessageBox.show({msg:e.status,title:"Error",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR})),Ext.Ajax.request({url:config.getUrl("public/cart/setdiscountamountpercourse"),params:{discountamount:0,courseid:t},success:function(){}}),$("#hiddenOrderDiscountTotal").val(+totalnOrderDiscountTotal-+discountvalue),$("#txtdiscountvalue"+t).val(0),f.ComputePriceCheckoutAfterAutoCouponDiscount())}}))};Cart.prototype.AlertDiscountDetails=function(){Ext.MessageBox.show({msg:discountdetails,title:"Discount Details",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.INFO})};cartstepLocation="";Cart.prototype.ShowPaymentPage=function(n,t,i,r){var f=this,u;window.LAYOUT.MaskLayout("Please wait..");f.activeCheckoutStep="payment";f.hideMiniDisplay();Ext.Ajax.request({url:config.getUrl("public/cart/payment"),timeout:12e5,asynch:!1,params:{OrderNumber:t,TranscriptID:i,PaymentTotal:String(n).replace(/,/g,""),PaymentCaller:r,MaterialList:tempMateriallist},success:function(t){window.LAYOUT.UnmaskLayout();var i=t.responseText;i.indexOf("Default.aspx")==-1?(f.elementCheckoutContainer.setHtml(t.responseText,!0),f.ShowCheckoutContainerDisplay()):window.location=t.responseText;n=="0"&&Ext.Ajax.request({url:config.getUrl("public/cart/minidisplay"),success:function(n){n.responseText.indexOf("emptydiv")>-1&&(f.elementInfo.setHtml("Empty"),Ext.Ajax.request({url:config.getUrl("public/cart/CheckGoogleAnalyticsUsed"),headers:{"Content-Type":"application/json"},asynch:!1,success:function(n){var t=Ext.decode(n.responseText);t.ga_used==!0&&(ga("send","pageview",{page:config.getUrl("public/cart/ThankYou"),title:"Google Analytics Tracking (Thank You ActionResult)"}),ga("send","pageview",{page:config.getUrl("thankyou.asp?callfrom=ruby"),title:"Google Analytics Tracking (Thank You ASP)"}))}}))}});window.top.location.toString().indexOf("PaypalRedirectConfirmation")>-1&&history.pushState&&history.pushState("","Paypal Confirmation",window.location.toString().replace("PaypalRedirectConfirmation","PaypalCheckout")+"&Payment=true");$(document).ready(function(){var n=$("#hiddenShowCredit").val()!=undefined?$("#hiddenShowCredit").val():!1,t=$("#hiddenIsAuthorized").val()!=undefined?$("#hiddenIsAuthorized").val():!1,i=$("#hiddenIsPaypal").val()!=undefined?$("#hiddenIsPaypal").val():!1,r=$("#hiddenIsChasePayment").val()!=undefined?$("#hiddenIsChasePayment").val():!1,u=$("#hiddenIsPaygov").val()!=undefined?$("#hiddenIsPaygov").val():!1,f=$("#hiddenIsiPay").val()!=undefined?$("#hiddenIsiPay").val():!1,e=$("#hiddenIsNelNet").val()!=undefined?$("#hiddenIsNelNet").val():!1,o=$("#hiddenIsTouchnet").val()!=undefined?$("#hiddenIsTouchnet").val():!1;(new String(n).toLowerCase()=="true"||new String(t).toLowerCase()=="true"||new String(i).toLowerCase()=="true"||new String(r).toLowerCase()=="true"||new String(f).toLowerCase()=="true"||new String(u).toLowerCase()=="true"||new String(o).toLowerCase()=="true"||new String(e).toLowerCase()=="true")&&($("#itemOtherPayments option[value='Select Payment Type']").remove(),$("#itemOtherPayments option:first").before(new Option("Credit/Debit Card","Credit Card")),$("#itemOtherPayments").val("Credit Card"))})}});u=u||[];u.push(["_setAccount","UA-48929136-1"]);u.push(["_trackPageview"]);u.push(["_addTrans",t,"Go Sign Me UP",n,"0.00","0.00","San Jose","California","USA"]);u.push(["_addItem",t,t,"GSMU Course","Course",n,"1"]);u.push(["_trackTrans"]),function(){var n=document.createElement("script"),t;n.type="text/javascript";n.async=!0;n.src=("https:"==document.location.protocol?"https://ssl":"http://www")+".google-analytics.com/ga.js";t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(n,t)}()};isrequiredpaynumber=!1;Cart.prototype.ShowConfirmationPageforPaygov=function(){self.activeCheckoutStep="confirmation";Ext.Ajax.request({url:config.getUrl("public/cart/confirmation"),timeout:12e5,params:{PaymentType:"CC",Paynumber:$("#transactionid").val(),OrderNo:$("#OrderNumber").val(),OrderTotal:$("#OrderTotal").val().replace(/,/g,"")},success:function(n){$("#confirmationprint").html(n.responseText);self.elementInfo.setHtml("Empty");window.LAYOUT.MaskLayout("Loading");self.elementCheckoutContainer.setHtml(n.responseText,!0);self.ShowCheckoutContainerDisplay();n.responseText.indexOf("Ipay")!=-1;Ext.Ajax.request({url:config.getUrl("public/cart/minidisplay"),success:function(n){n.responseText.indexOf("emptydiv")>-1&&(self.elementInfo.setHtml("Empty"),Ext.Ajax.request({url:config.getUrl("public/cart/CheckGoogleAnalyticsUsed"),headers:{"Content-Type":"application/json"},asynch:!1,success:function(n){var t=Ext.decode(n.responseText);t.ga_used==!0&&(ga("send","pageview",{page:config.getUrl("public/cart/ThankYou"),title:"Google Analytics Tracking (Thank You ActionResult)"}),ga("send","pageview",{page:config.getUrl("thankyou.asp?callfrom=ruby"),title:"Google Analytics Tracking (Thank You ASP)"}))}}))}})}})};Cart.prototype.ShowConfirmationReceipt=function(n){var t=this;Ext.Ajax.request({url:config.getUrl("public/cart/ConfirmationReceipt"),timeout:12e5,params:{OrderNumber:n},success:function(n){Ext.Ajax.request({url:config.getUrl("public/cart/CheckGoogleAnalyticsUsed"),headers:{"Content-Type":"application/json"},asynch:!1,success:function(n){var t=Ext.decode(n.responseText);t.ga_used==!0&&(ga("send","pageview",{page:config.getUrl("public/cart/ThankYou"),title:"Google Analytics Tracking (Thank You ActionResult)"}),ga("send","pageview",{page:config.getUrl("thankyou.asp?callfrom=ruby"),title:"Google Analytics Tracking (Thank You ASP)"}))}});$("#confirmationprint").html(n.responseText);t.elementCheckoutContainer!=null&&(window.LAYOUT.MaskLayout("Loading"),t.elementCheckoutContainer.setHtml(n.responseText,!0),t.ShowCheckoutContainerDisplay())}})};Cart.prototype.ShowConfirmationPage=function(){var n=this,t,i,r;n.activeCheckoutStep="confirmation";n.hideMiniDisplay();t=$("#RequiredFieldSetUp").val();countryRequired=!1;addressRequired=!1;zipRequired=!1;stateRequired=!1;cityRequired=!1;t=="1"?(countryRequired=!1,addressRequired=!0,zipRequired=!0,stateRequired=!0,cityRequired=!0):t=="4"?(countryRequired=!0,addressRequired=!0,zipRequired=!0,stateRequired=!0,cityRequired=!0):(addressRequired=t=="0"?!0:!1,countryRequired=!1,zipRequired=!1,stateRequired=!1,cityRequired=!1);$("#itemOtherPayments").val()=="Select Payment Type"||$("#itemOtherPayments").val()=="Credit Card"||$("#itemOtherPayments").val()=="PayPal"||$("#itemOtherPayments").val()==undefined?($.validator.messages.required="*",$("#creditcardform").validate({rules:{CardNumber:{required:!0},item1List:"required",FirstName:"required",LastName:"required",Address:{required:addressRequired},City:{required:cityRequired},State:{required:stateRequired},Zip:{required:zipRequired},itemCountryList:{required:countryRequired}}}),i="",i=$("#itemOtherPayments").val()==undefined?"Select Payment Type":$("#itemOtherPayments").val().replace(/,/g,""),$("#creditcardform").valid()?(window.LAYOUT.MaskLayout("Processing..."),Ext.Ajax.request({url:config.getUrl("public/cart/confirmation"),timeout:12e5,params:{CardNumber:$("#CardNumber").val(),ExpiryDate:$("#expirymonth").val()+$("#expiryyear").val(),ExpiryMonth:$("#expirymonth").val(),ExpiryYear:$("#expiryyear").val(),Address:$("#Address").val(),State:$("#State").val(),City:$("#City").val(),Zip:$("#Zip").val(),Country:$("#itemCountryList").val(),FirstName:$("#FirstName").val(),LastName:$("#LastName").val(),PaymentType:"Credit Card",OrderNo:$("#OrderNumber").val(),CardType:$("#item1List").val(),Paynumber:$("#PaymentNumber").val(),OrderTotal:$("#OrderTotal").val().replace(/,/g,""),OtherPayment:i,ccv:$("#CCV").val(),MaterialList:tempMateriallist,totalDiscount:totalDiscount,Email:$("#Email").val()},success:function(t){window.LAYOUT.UnmaskLayout();var i=t.responseText;i.indexOf("Default.aspx")==-1?n.elementCheckoutContainer.setHtml(t.responseText,!0):window.location=t.responseText;i.indexOf("dll")!=-1||i.indexOf("chasepayment")!=-1||i.indexOf("upay")!=-1?Ext.Ajax.request({url:config.getUrl("public/cart/empty"),success:function(){document.frmSubmit.submit()}}):(n.ShowCheckoutContainerDisplay(),t.responseText.indexOf("Ipay")!=-1||Ext.Ajax.request({url:config.getUrl("public/cart/minidisplay"),success:function(t){t.responseText.indexOf("emptydiv")>-1&&(n.elementInfo.setHtml("Empty"),Ext.Ajax.request({url:config.getUrl("public/cart/CheckGoogleAnalyticsUsed"),headers:{"Content-Type":"application/json"},asynch:!1,success:function(n){var t=Ext.decode(n.responseText);t.ga_used==!0&&(ga("send","pageview",{page:config.getUrl("public/cart/ThankYou"),title:"Google Analytics Tracking (Thank You ActionResult)"}),ga("send","pageview",{page:config.getUrl("thankyou.asp?callfrom=ruby"),title:"Google Analytics Tracking (Thank You ASP)"}))}}))}}))}})):alert("Please Complete Required Fields")):(jQuery("#creditcardform").validate().currentForm="",r=!0,isrequiredpaynumber&&$("#PaymentNumber").val()==""&&($("#validatorpaynumber").css("display","block"),r=!1),r&&(window.LAYOUT.MaskLayout("Processing..."),Ext.Ajax.request({url:config.getUrl("public/cart/confirmation"),timeout:12e5,params:{PaymentType:$("#itemOtherPayments").val(),Paynumber:$("#PaymentNumber").val(),OrderNo:$("#OrderNumber").val(),OrderTotal:$("#OrderTotal").val().replace(/,/g,""),MaterialList:tempMateriallist,totalDiscount:totalDiscount},success:function(t){window.LAYOUT.UnmaskLayout();n.elementCheckoutContainer.setHtml(t.responseText,!0);n.ShowCheckoutContainerDisplay();Ext.Ajax.request({url:config.getUrl("public/cart/minidisplay"),success:function(n){n.responseText.indexOf("emptydiv")>-1&&Ext.Ajax.request({url:config.getUrl("public/cart/CheckGoogleAnalyticsUsed"),headers:{"Content-Type":"application/json"},asynch:!1,success:function(n){var t=Ext.decode(n.responseText);t.ga_used==!0&&(ga("send","pageview",{page:config.getUrl("public/cart/ThankYou"),title:"Google Analytics Tracking (Thank You ActionResult)"}),ga("send","pageview",{page:config.getUrl("thankyou.asp?callfrom=ruby"),title:"Google Analytics Tracking (Thank You ASP)"}))}})}})}})))};Cart.prototype.ProcessCreditHoursPayment=function(n){var r=this,i,t;n=="anetredirect"&&($("#itemOtherPayments").val()=="Select Payment Type"||$("#itemOtherPayments").val()=="Credit Card"||$("#itemOtherPayments").val()=="PayPal"||$("#itemOtherPayments").val()==undefined)?document.frmSubmit.submit():(r.activeCheckoutStep="confirmation",i=$("#RequiredFieldSetUp").val(),countryRequired=!1,addressRequired=!1,zipRequired=!1,stateRequired=!1,cityRequired=!1,i=="1"?(countryRequired=!1,addressRequired=!0,zipRequired=!0,stateRequired=!0,cityRequired=!0):i=="4"?(countryRequired=!0,addressRequired=!0,zipRequired=!0,stateRequired=!0,cityRequired=!0):(addressRequired=i=="0"?!0:!1,countryRequired=!1,zipRequired=!1,stateRequired=!1,cityRequired=!1),$("#itemOtherPayments").val()=="Select Payment Type"||$("#itemOtherPayments").val()=="Credit Card"||$("#itemOtherPayments").val()=="PayPal"||$("#itemOtherPayments").val()==undefined?(t="",$("#itemOtherPayments").val()!=undefined&&(t=$("#itemOtherPayments").val().replace(/,/g,"")),$.validator.messages.required="*",$("#creditcardform").validate({rules:{CardNumber:{required:!0},item1List:"required",FirstName:"required",LastName:"required",Address:{required:addressRequired},City:{required:cityRequired},State:{required:stateRequired},Zip:{required:zipRequired},itemCountryList:{required:countryRequired}}}),$("#creditcardform").valid()?(window.LAYOUT.MaskLayout("Processing..."),Ext.Ajax.request({url:config.getUrl("public/cart/ProcessCreditHoursPayment"),timeout:12e5,params:{CardNumber:$("#CardNumber").val(),ExpiryDate:$("#expirymonth").val()+$("#expiryyear").val(),ExpiryMonth:$("#expirymonth").val(),ExpiryYear:$("#expiryyear").val(),Address:$("#Address").val(),State:$("#State").val(),City:$("#City").val(),Zip:$("#Zip").val(),Country:$("#itemCountryList").val(),FirstName:$("#FirstName").val(),LastName:$("#LastName").val(),PaymentType:"Credit Card",OrderNo:$("#OrderNumber").val(),CardType:$("#item1List").val(),Paynumber:$("#PaymentNumber").val(),OrderTotal:$("#OrderTotal").val().replace(/,/g,""),OtherPayment:t,ccv:$("#CCV").val(),MaterialList:tempMateriallist,totalDiscount:totalDiscount,Email:$("#Email").val(),TranscriptID:$("#TranscriptId").val()},success:function(n){var t=Ext.decode(n.responseText);window.LAYOUT.UnmaskLayout();t.success?(alert("Payment Successful. Your payment has been processed."),popWindow_paymenthours.close(),document.location=config.getUrl("/public/user/dashboard"),Ext.Ajax.request({url:config.getUrl("public/cart/CheckGoogleAnalyticsUsed"),headers:{"Content-Type":"application/json"},asynch:!1,success:function(n){var t=Ext.decode(n.responseText);t.ga_used==!0&&(ga("send","pageview",{page:config.getUrl("public/cart/ThankYou"),title:"Google Analytics Tracking (Thank You ActionResult)"}),ga("send","pageview",{page:config.getUrl("thankyou.asp?callfrom=ruby"),title:"Google Analytics Tracking (Thank You ASP)"}))}})):(alert("Error:"+t.messages),popWindow_paymenthours.close())}})):alert("Please Complete Required Fields")):(t="",$("#itemOtherPayments").val()!=undefined&&(t=$("#itemOtherPayments").val().replace(/,/g,"")),window.LAYOUT.MaskLayout("Processing..."),Ext.Ajax.request({url:config.getUrl("public/cart/ProcessCreditHoursPayment"),timeout:12e5,params:{OrderNo:$("#OrderNumber").val(),OtherPayment:t,MaterialList:tempMateriallist,totalDiscount:totalDiscount,OrderTotal:$("#PaymentTotal").val().replace(/,/g,""),TranscriptID:$("#TranscriptId").val()},success:function(n){var t=Ext.decode(n.responseText);window.LAYOUT.UnmaskLayout();t.success?(alert("Payment Successful. Your payment has been processed."),popWindow_paymenthours.close()):(alert("Error:"+t.messages),popWindow_paymenthours.close())}})))};Cart.prototype.printreceipt=function(n){var t=window.open(config.getUrl("public/user/orderconfirmation?order="+n+"&print=1"));t.print()};Cart.prototype.SelectPayOption=function(n){var t=this;$("#itemOtherPayments").val(n);t.ShowPaymentNumber()};Cart.prototype.ShowPaymentNumber=function(){$("#validatorpaynumber").css("display","none");var n=$("#itemOtherPayments").val();n=="Credit Card"?$(".trCC").css("display","block"):$(".trCC").css("display","none");Ext.Ajax.request({url:config.getUrl("public/cart/checkrequiredpaynumber"),async:!1,params:{paymenttype:n},success:function(n){n.responseText=="0"?($("#PaymentNumber").css("display","block"),isrequiredpaynumber=!0):($("#PaymentNumber").css("display","none"),isrequiredpaynumber=!1)}});$("#itemOtherPayments").val()==="Select Payment Type"||$("#itemOtherPayments").val()==="Credit Card"||$("#itemOtherPayments").val()==="PayPal"?($("#place_order_now").text("Continue"),$("#place_order_now").text()=="Continue"&&($("#PaymentNumber").hide(),$("#PaymentNumber").css("display","none"),isrequiredpaynumber=!1)):$("#place_order_now").text("Place Order Now");$("#itemOtherPayments").val()==="PayPal"?$("#creditcardform tr:eq(0),#creditcardform tr:eq(1),#creditcardform tr:eq(2)").hide():$("#creditcardform tr:eq(0),#creditcardform tr:eq(1),#creditcardform tr:eq(2)").show()};Cart.prototype.VerifyAccess=function(){var n=$("#accesscode").val(),t=$("#cid").val();Ext.Ajax.request({url:config.getUrl("public/cart/ValidateAccessCode"),params:{courseId:t,accessCode:n},success:function(n){var t=Ext.decode(n.responseText);t.success?t.resulttext?($("#accesscodeinputcontainer").css("display","none"),$("#accesscodebuttoncontainer").css("display","none"),$("#verificationresult").html("<div> Access Code: ****<img src='/images/share/greencheck.png' /><\/div>")):$("#verificationresult").html("<div> Access Code: ****<img src='/images/share/redx.png' /><\/div>"):config.showWarning(n.error,"Cart error")}})};Cart.prototype.setReloadCallback=function(n){var t=this;Ext.util.Cookies.set("cart-reload-callback",n)};Cart.prototype.executeReloadCallback=function(){var i=this,n=Ext.util.Cookies.get("cart-reload-callback"),t=">>"+n+"<<";t!=">>null<<"&&t!=">><<"&&(Ext.util.Cookies.clear("cart-reload-callback"),setTimeout(function(){i[n]()},1e3))};Cart.prototype.setPostRegistrationAction=function(n){var t=this;Ext.util.Cookies.set("post-registration-action",n)};Cart.prototype.getPostRegistrationAction=function(){var t=this,n=Ext.util.Cookies.get("post-registration-action");return Ext.util.Cookies.clear("post-registration-action"),n};selectedCredit=[];Cart.prototype.SetSelectedCredit=function(n,t,i){if($("#"+t).prop("checked"))selectedCredit.push(t);else{var r=selectedCredit.indexOf(t);selectedCredit.splice(r,1)}i=="single"&&(selectedCredit=[],selectedCredit.push(t));this.courseSelectedCredits[n]={};this.courseSelectedCredits[n].selectedCredits=selectedCredit};Cart.prototype.Multiple_Enrollment=function(n,t){cart.AddCourse(n,t,"",!0)};Cart.prototype.DisplayAllStudents_ForEnrollment=function(n,t){var u=this,i="",r="",f=Ext.create("Ext.data.Store",{autoLoad:!0,autoSync:!0,pageSize:10,remoteFilter:!0,remoteSort:!0,remoteSort:!0,model:"EmailAuditTrail",proxy:{type:"ajax",url:config.getUrl("public/Supervisor/Students?courseId="+n),jsonData:{courseId:n},reader:{type:"json",rootProperty:"Result",totalProperty:"TotalCount",listeners:{exception:function(n,t,i){log(i)},load:function(){i=""}}}}}),e=Ext.create("Ext.form.field.Text",{region:"north",emptyText:"Search",anchor:"100%"});e.on("change",function(n,t){f.filter([{id:"keyword",property:"keyword",value:t}])},e,{buffer:500});Ext.Ajax.request({url:config.getUrl("public/Supervisor/GetPrincipalStudent?cid="+n),success:function(o){var v,c;i=o.responseText;r=o.responseText;grid=Ext.create("Ext.grid.Panel",{region:"center",id:"studentlistgridid",dockedItems:[{xtype:"pagingtoolbar",store:f,dock:"top",displayInfo:!0,listeners:{beforechange:function(){i=""}}}],store:f,emptyText:"No Students found",columns:[{text:"User Name",dataIndex:"UserName",width:120},{text:"First Name",dataIndex:"StudentFirstName",width:120},{text:"Last Name",dataIndex:"StudentLastName",flex:1},{xtype:"actioncolumn",width:22,items:[{text:"Enroll",tooltip:"",id:function(n,t,i){return i.getb().get("StudentId")},getClass:function(u,f,e){return e.data.Isenrolled>0?n==0?t==1?"x-edit-button":"x-add-button":"x-enrolled-button":e.data.inCheckout>0?(i=i+e.data.StudentFirstName+" "+e.data.StudentLastName+"<br />",r=r.replace(e.data.StudentFirstName+" "+e.data.StudentLastName+"<br />"," ")+e.data.StudentFirstName+" "+e.data.StudentLastName+"<br />",Ext.getCmp("rosterlist").update('<div style="overflow:scroll; height:290px; margin:10px; 10px; 10px; 10px;">'+r+'<\/div><div style="background-color:rgb(68, 147, 61);; color:white; margin-top:-35px; padding:5px;  text-weight:bold;">Available Seat(s): '+e.data.AvailableSeats+"<\/div>"),"x-delete-button"):(r=r.replace(e.data.StudentFirstName+" "+e.data.StudentLastName+"<br />"," "),Ext.getCmp("rosterlist").update('<div style="overflow:scroll; height:290px; margin:10px; 10px; 10px; 10px;">'+r+'<\/div><div style="background-color:rgb(68, 147, 61);; color:white; margin-top:-35px; padding:5px; text-weight:bold;">Available Seat(s): '+e.data.AvailableSeats+"<\/div>"),"x-add-button")},handler:function(r,f){var e=r.getStore().getAt(f),o=e.get("StudentId"),c=e.get("StudentFirstName")+" "+e.get("StudentLastName")+"<br />",s=e.get("inCheckout"),h=e.get("Isenrolled")-0;s<=0&&h<=0?(u.elementContainer.mask(),Ext.Ajax.request({url:config.getUrl("public/cart/addcourse"),params:{studentId:o,courseId:n},success:function(){Ext.getCmp("studentlistgridid").getStore().load();window.LAYOUT.UnmaskLayout();i=""}})):s==1?(u.elementContainer.mask(),Ext.Ajax.request({url:config.getUrl("public/cart/RemoveStudentinCheckoutMultiple"),params:{studentId:o,courseId:n},success:function(){Ext.getCmp("studentlistgridid").getStore().load();window.LAYOUT.UnmaskLayout();i="";u.miniDisplay("refresh");u.updateCartStatus('{"status":"1 item","success":true}')}})):n==0?t==1?document.location="public/supervisor/editstudentinfo?sid="+o:Ext.Ajax.request({url:config.getUrl("public/supervisor/SetPrincipalStudentonCart"),params:{studentId:o},success:function(){document.location="public/course/browse"}}):alert("Class is already full.")}}]}]});var s,h=!1,l="MULTIPLE ENROLL",a="Select Student to Enroll";n==0&&t==1&&(h=!0,l=" Edit "+studentTerm+" Information",a="Select "+studentTerm);v=Ext.create("Ext.form.Panel",{bodyPadding:0,title:a,region:"center",items:[e,grid],tools:[{xtype:"button",tooltip:"Checkout",margin:"0 0 0 15",hidden:h,html:'<div style="color:#fff">Click When Finished<\/div>',cls:"hudbtn primary button-component button-checkout",style:{color:"white"},listeners:{click:function(){s.close()}}}]});c="";Ext.Ajax.request({url:config.getUrl("public/course/GetCourseDetails"),params:{cid:n},success:function(n){var t=Ext.decode(n.responseText);c=t.coursenumber+" "+t.coursename;s=Ext.create("Ext.window.Window",{title:c+" ",height:400,width:700,modal:!0,layout:"border",items:[v,{region:"south",height:30,minSize:75,maxSize:250,cmargins:"5 0 0 0",bodyStyle:{"background-color":"#44933d"},html:'<div style="color:white; padding:4px 0px 0px 20px; font-weight:bolder; font-size:15px;">'+l+" <\/div>"},{title:"Current Roster:",region:"west",margins:"5 0 0 0",cmargins:"5 5 0 0",width:205,minSize:100,maxSize:250,hidden:h,id:"rosterlist",html:"<div><\/div>",tools:[{xtype:"button",tooltip:"Checkout",margin:"0 0 0 15",html:'<div style="color:#fff">Checkout<\/div>',cls:"hudbtn primary button-component button-checkout",listeners:{click:function(){u.checkout();s.close()}}}]}],listeners:{close:function(){}}}).show();f.reload()}})}})};Development.constructor=Development;Development.prototype.SendEmail=function(){var n=Ext.create("Ext.window.Window",{modal:!0,icon:config.getUrl("Images/Icons/FamFamFam/email.png"),title:"Send a test e-mail",layout:"fit",resizable:!1,frame:!1,items:[{xtype:"form",id:"email-form",defaultType:"textfield",frame:!1,border:0,layout:"form",bodyPadding:5,items:[{fieldLabel:"Mail handler",editable:!1,name:"mailHandler",xtype:"combobox",store:["DotNet","JMail"],forceSelection:!0,typeAhead:!1},{fieldLabel:"From",name:"from",allowBlank:!1,vtype:"email"},{fieldLabel:"To",name:"to",allowBlank:!1,vtype:"email"},{fieldLabel:"Subject",name:"subject",allowBlank:!1},{fieldLabel:"Body",name:"body",xtype:"gsmuhtmleditor"}]}],buttons:[{text:"Close",icon:config.getUrl("Images/Icons/FamFamFam/door_out.png"),handler:function(){n.close()}},{text:"Send",icon:config.getUrl("Images/Icons/FamFamFam/email_go.png"),handler:function(){var n=Ext.getCmp("email-form");n.submit({url:config.getUrl("Adm/development/email"),success:function(){LAYOUT.notify("Message sent...")},failure:function(n,t){config.showError(t.result)}})}}]});n.show()};var emailvalue='E-mail already exist or invalid format "user@example.com"',emailinput="onload",validEmailWhitlist=!0,EmailNotification="",currentValueForUsernameValidation="";Ext.apply(Ext.form.field.VTypes,{empty:function(){return!0},daterange:function(n,t){var i=t.parseDate(n),r,u;return i?(t.startDateField&&(!this.dateRangeMax||i.getTime()!=this.dateRangeMax.getTime())?(r=t.up("form").down("#"+t.startDateField),r.setMaxValue(i),r.validate(),this.dateRangeMax=i):t.endDateField&&(!this.dateRangeMin||i.getTime()!=this.dateRangeMin.getTime())&&(u=t.up("form").down("#"+t.endDateField),u.setMinValue(i),u.validate(),this.dateRangeMin=i),!0):!1},daterangeText:"Start date must be less than end date",emailcon:function(n,t){if(t.initialPassField){var i=t.up("form").down("#"+t.initialPassField);return n==i.getValue()}return!0},emailconText:"Emails do not match",emailvalText:"Error value",checkEmailResctrict:function(n,t){var i=this,r=n.split("@"),u="@"+r[1];return emailinput!=n&&Ext.Ajax.request({async:!1,method:"POST",url:config.getUrl("public/user/CheckEmailRestriction"),params:{domain:u,email:n},success:function(r){var u=Ext.decode(r.responseText);return u.OnOff==1?u.valid?(t.vtypeclass=="emailcon2"?validEmailWhitlist=i.checkUsername(n,t):(t.invalidText="",validEmailWhitlist=!0),validEmailWhitlist):(validEmailWhitlist=!1,EmailNotification=u.EmailNotification,t.invalidText=EmailNotification,!1):(t.vtypeclass=="emailcon2"?validEmailWhitlist=i.checkUsername(n,t):(t.invalidText="",validEmailWhitlist=!0),validEmailWhitlist)},failure:function(){alert("Error in connection. Please contact system administrator. EVError501")}}),emailinput=n,validEmailWhitlist||EmailNotification==""||(t.invalidText=EmailNotification),validEmailWhitlist},checkUsername:function(n,t){return t.originalValue==n?(t.invalidText="",validfield=!0):(Ext.Ajax.request({async:!1,method:"POST",url:config.getUrl("public/user/CheckStudentUsernameAvailable"),params:{Username:n},success:function(n){return n.responseText=="available"?(validfield=!0,t.invalidText=""):n.responseText=="notavailableBB"?(validfield=!1,t.invalidText="Username already exist in either GSMU or Blackboard. Please login with the existing account."):n.responseText=="notavailableCanvas"?(validfield=!1,t.invalidText="Username already exist in Canvas system. Please login with the existing account."):n.responseText=="notavailableGSMUorCanvas"?(validfield=!1,t.invalidText="Username already exist in Gosignmeup or Canvas system. Please login with the existing account."):n.responseText=="invalidhaiku"?(validfield=!1,t.invalidText="Username contains invalid charater(s)."):(validfield=!1,t.invalidText="Username already exist. Please try another..."),validfield},failure:function(){alert("Error in connection. Please contact administrator. EVError502")}}),validfield)},emailval:function(n,t){var i,r;return(t.invalidText="",n=="")?!0:(i=checkEmailFormat(n),!i)?(r='Invalid e-mail address format "user@example.com"',t.invalidText=r,!1):i?this.checkEmailResctrict(n,t):void 0},emailcon2X:function(n,t){var i=!0,u=t.originalValue,r;if(/^([a-zA-Z0-9_\.\-\w-'])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(n))Ext.Ajax.request({async:!1,method:"POST",url:config.getUrl("public/user/CheckStudentUsernameAvailable"),params:{Username:n},success:function(f){if(u==n){i=!0;return}if(f.responseText=="available"||f.responseText=="invalidhaiku")t.clearInvalid(),i=!0;else{i=!1;r="E-mail address already exist. Please try another.";return}},failure:function(){alert("Error in connection. Please contact system administrator. EVError503")}});else{i=!1;r='Invalid e-mail address format "user@example.com"';return}return i},emailcon2Text:emailvalue,password:function(n,t){if(t.initialPassField){var r=t.up("form").down("#"+t.initialPassField),i=n==r.getValue();return i?Ext.getCmp("errdisp_psscnfmid").setValue(""):(Ext.getCmp("errdisp_psscnfmid").setValue("Passwords do not match"),Ext.getCmp("errdisp_psscnfmid").show()),i}return!0},passwordText:"Passwords do not match",chkusername:function(n,t){var i=!1,r;return/\s/g.test(n)&&(n=n.replace(/\s+/g,""),Ext.getCmp(t.id).setValue(n)),r=t.originalValue,Ext.Ajax.request({async:!1,method:"POST",url:config.getUrl("public/user/CheckStudentUsernameAvailable"),params:{Username:n},success:function(u){u.responseText=="available"?(t.clearInvalid(),i=!0):u.responseText=="invalidhaiku"?(i=!1,t.invalidText="Username contains invalid charater(s)."):(i=!1,r==n?i=!0:t.invalidText="Username already exist. Please try another .")},failure:function(){alert("Error in connection. Please contact system administrator. EVError504")}}),i},chkusernameText:"Username already exist. Please try another .",chkusernameIT:function(n,t){var i=!1,r=t.originalValue;return Ext.Ajax.request({async:!1,method:"POST",url:config.getUrl("public/user/CheckInstructorUsernameAvailable"),params:{Username:n},success:function(u){u.responseText=="available"?(t.clearInvalid(),i=!0):(i=!1,r==n&&(i=!0))},failure:function(){alert("Error in connection. Please contact system administrator. EVError505")}}),i},chkusernameITText:"Username already exist. Please try another..",phoneText:"Not a valid phone number. Must be in the format (123) 456-7890.",phoneMask:/[\-\+0-9\(\)\s\.Ext]/,phoneRe:/^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$|^Ext. [0-9]+$/,phone:function(n){return this.phoneRe.test(n)},SS1Text:"Not a valid SS number. Must be in the format 123-45-6789.",SS1Mask:/[\-\+0-9\s\.Ext]/,SS1Re:/^\d{3}-\d{2}-\d{4}$|^Ext. [0-9]+$/,SS1:function(n){return this.SS1Re.test(n)},SS2Text:"Not a valid SS number. Must be in the format 1234.",SS2Mask:/[\-\+0-9\s\.Ext]/,SS2Re:/^\d{4}$|^Ext. [0-9]+$/,SS2:function(n){return this.SS2Re.test(n)}});Ext.apply(Ext.util.Format,{phoneNumber:function(n){var t=n.replace(/\./g,"").replace(/-/g,"").replace(/[^0-9]/g,"");return t!=""&&t.length>=10?"("+t.substr(0,3)+") "+t.substr(3,3)+"-"+t.substr(6,4):n},SS1:function(n){var t=n.replace(/\./g,"").replace(/-/g,"").replace(/[^0-9]/g,"");return t!=""&&t.length>=9?t.substr(0,3)+"-"+t.substr(3,2)+"-"+t.substr(5,4):n},SS2:function(n){var t=n.replace(/\./g,"").replace(/-/g,"").replace(/[^0-9]/g,"");return t!=""&&t.length>=4?t.substr(0,4):n}});Ext.namespace("Ext.ux.plugin");Ext.ux.plugin.FormatPhoneNumber=Ext.extend(Ext.form.TextField,{init:function(n){n.on("change",this.onChange,this)},onChange:function(n){n.setValue(Ext.util.Format.phoneNumber(n.getValue()))}});Ext.ux.plugin.FormatSS1=Ext.extend(Ext.form.TextField,{init:function(n){n.on("change",this.onChange,this)},onChange:function(n){n.setValue(Ext.util.Format.SS1(n.getValue()))}});Ext.ux.plugin.FormatSS2=Ext.extend(Ext.form.TextField,{init:function(n){n.on("change",this.onChange,this)},onChange:function(n){n.setValue(Ext.util.Format.SS2(n.getValue()))}});GsmuTooltip.constructor=GsmuTooltip;GsmuTooltip.prototype.ActiveTip=null;GsmuTooltip.prototype.ActiveTipShow=null;GsmuTooltip.prototype.Tips=[];GsmuTooltip.prototype.Init=function(){var n=this;Ext.get(document).on("click",function(){Ext.Array.forEach(n.Tips,function(n){n.hide()})});Ext.on("resize",function(){n.ActiveTip!=null&&n.ActiveTip.isVisible()&&(n.ActiveTipShow(),n.ActiveTipShow())})};GsmuTooltip.prototype.CreateTooltip=function(n){var i=this,r;n=Ext.merge({offset:[42,-8],extraCssClass:""},n);var u=n.target,f=n.html,e=n.trigger,t=Ext.create("Ext.container.Container",{html:f,floating:!0,cls:"gsmu-tooltip"+(n.extraCssClass!=""?" "+n.extraCssClass:""),shadow:!1,renderTo:Ext.getBody(),hidden:!0});t.getEl().appendChild({tag:"div",cls:"gsmu-tooltip-arrow-border"});t.getEl().appendChild({tag:"div",cls:"gsmu-tooltip-arrow"});r=function(){t.isVisible()||(i.ActiveTip=t,i.ActiveTipShow=function(){t.showBy(u,"br-tc",n.offset);setTimeout(function(){t.setHidden(!1)},100)},i.ActiveTipShow(),Ext.Array.forEach(i.Tips,function(n){i.ActiveTip!=n&&n.hide()}))};e.on("click",function(){t.isVisible()?t.hide():r()},t,{stopPropagation:!0});t.getEl().on("click",function(n){n.stopPropagation()});return i.Tips.push(t),t};Membership.prototype.constructor=Membership;Membership.prototype.popupHelper=null;Membership.prototype.options={loginLabel:"Login",showLoginUi:!1,isLoggedIn:null,loginLinkId:null,logoutLinkId:null,googleSsoEnabled:!1,canvasSsoEnabled:!1,DocumentsFolder:null};Membership.prototype.elementLoginLink=null;Membership.prototype.container=null;Membership.prototype.username=null;Membership.prototype.password=null;Membership.prototype.loginTypeStudent=null;Membership.prototype.loginTypeInstructor=null;Membership.prototype.loginTypeSupervisor=null;Membership.prototype.UsernameEmptyText=null;Membership.prototype.UsernameLabel=null;Membership.prototype.EmailLabel=null;Membership.prototype.PwLabel=null;Membership.prototype.HideForgotPassword=1;Membership.prototype.PublicSignupAbilityOff=1;Membership.prototype.storeUsername=function(n){var i=this,t=new Date;t=Ext.Date.add(t,Ext.Date.DAY,30);Ext.util.Cookies.set("membership-username",n,t)};Membership.prototype.storeLastLogonType=function(n){var i=this,t=Ext.Date.add(new Date,Ext.Date.DAY,30);Ext.util.Cookies.set("membership-type",n,t)};Membership.prototype.getLastLogonType=function(){var n=this;return Ext.util.Cookies.get("membership-type")};Membership.prototype.getStoredUsername=function(){var n=this;return Ext.util.Cookies.get("membership-username")};Membership.prototype.renderLoginForm=function(){var n=this,r,u;n.elementLoginLink=Ext.get(n.options.loginLinkId);r=function(n,t){t.getKey()==t.ENTER&&f()};n.username=Ext.widget({xtype:"textfield",emptyText:n.UsernameEmptyText,fieldStyle:"width:200px;",allowBlank:!1,name:"username",validateOnBlur:!1,validateOnChange:!1,value:n.getStoredUsername(),enableKeyEvents:!0,msgTarget:"under",listeners:{change:function(){n.storeUsername(n.username.getValue())},keyUp:r}});n.password=Ext.widget({xtype:"textfield",msgTarget:"under",emptyText:n.PwLabel,fieldStyle:"width:200px;",allowBlank:!1,inputType:"password",name:"password",validateOnBlur:!1,validateOnChange:!1,enableKeyEvents:!0,listeners:{keyUp:r}});n.RecoverAccount=Ext.widget({xtype:"component",hidden:n.HideForgotPassword!=1?!1:!0,autoEl:{tag:"div",style:"width:100%; text-align:right; height:20px",html:'<a id="forgot_password_link" style="text-decoration:none; font-size:9px; color:gray; display:block; margin-right:5px;" href="'+config.getUrl("Public/User/AccountRecovery")+'">Forgot your '+n.UsernameLabel.toLowerCase()+" or password?<\/a>"}});n.ErrorMessage=Ext.widget({xtype:"box",name:"errormessage",id:"errormessage"});n.loginTypeStudent=Ext.widget({hidden:n.HideInstructorLogin==1&&n.HideSupervisorLogin==1?!0:n.HideStudentLogin==1?!0:!1,xtype:"radiofield",name:"loginType",boxLabel:Terminology.capital("student"),checked:!0,listeners:{change:function(t,i){var r,u,f;i&&(n.disallownewuser!=-1?$("#forgot_password_link").show():$("#forgot_password_link").hide(),$("#forgot_password_link").attr("href",config.getUrl("Public/User/AccountRecovery?usertype=student")),n.storeLastLogonType("student"),r=Ext.get("student-radio"),r!=null&&(r.dom.checked=!0,r.fireEvent("change")),Ext.getCmp("login-items-for-hiding").show(),Ext.getCmp("membershiploginbutton").show(),n.options.show_shibb_button&&Ext.getCmp("membershipshibbutton").show(),n.options.show_cas_button&&Ext.getCmp("membershipcasbutton").show(),u=Ext.getCmp("membershipinstructorredirect"),f=Ext.getCmp("membershipinstructorcanvasbutton"),u!=null&&u.setVisible(!1),f!=null&&f.setVisible(!1))}}});n.loginTypeInstructor=Ext.widget({hidden:n.HideInstructorLogin==1?!0:!1,xtype:"radiofield",name:"loginType",boxLabel:Terminology.capital("instructor"),listeners:{change:function(t,i){var r,u,f;i&&($("#forgot_password_link").show(),$("#forgot_password_link").attr("href",config.getUrl("Public/User/AccountRecovery?usertype=instructor")),n.storeLastLogonType("instructor"),r=Ext.get("instructor-radio"),r!=null&&(r.dom.checked=!0,r.fireEvent("change")),Ext.getCmp("login-items-for-hiding").hide(),Ext.getCmp("membershiploginbutton").hide(),n.options.show_shibb_button&&Ext.getCmp("membershipshibbutton").hide(),n.options.show_cas_button&&Ext.getCmp("membershipcasbutton").hide(),u=Ext.getCmp("membershipinstructorredirect"),f=Ext.getCmp("membershipinstructorcanvasbutton"),u!=null&&u.setVisible(i),f!=null&&f.setVisible(i))}}});n.loginTypeSupervisor=Ext.widget({hidden:n.HideSupervisorLogin==1?!0:!1,xtype:"radiofield",name:"loginType",boxLabel:Terminology.capital("supervisor"),listeners:{change:function(t,i){var r,u,f;i&&($("#forgot_password_link").attr("href",config.getUrl("Public/User/AccountRecovery?usertype=supervisor")),n.storeLastLogonType("supervisor"),r=Ext.get("supervisor-radio"),r!=null&&(r.dom.checked=!0,r.fireEvent("change")),Ext.getCmp("login-items-for-hiding").show(),Ext.getCmp("membershiploginbutton").show(),n.options.show_shibb_button&&Ext.getCmp("membershipshibbutton").hide(),n.options.show_cas_button&&Ext.getCmp("membershipcasbutton").hide(),u=Ext.getCmp("membershipinstructorredirect"),f=Ext.getCmp("membershipinstructorcanvasbutton"),u!=null&&u.setVisible(!1),f!=null&&f.setVisible(!1),$("#forgot_password_link").show())}}});var f=function(){n.login("login1")},t=[{xtpye:"container",id:"login-items-for-hiding",bodyStyle:"background:transparent;",width:205,frame:!1,border:!1,items:[n.username,n.password,n.RecoverAccount,n.ErrorMessage]},{xtype:"container",width:200,layout:{type:"hbox",align:"top",pack:"left"},items:[{xtype:"container",layout:"vbox",items:[n.loginTypeStudent,n.loginTypeInstructor,n.loginTypeSupervisor]},]}],i=200,e=120;divider=1;n.options.googleSsoEnabled;n.options.canvasSsoEnabled;i=i/divider;n.options.show_shibb_button&&(i=80,divider++);n.options.show_cas_button&&(i=80,divider++);t.push({id:"membershiploginbutton",xtype:"button",style:{marginTop:"5px"},width:i,text:n.options.loginLabel,icon:config.getUrl("Images/Icons/famfamfam/lock.png"),handler:f});n.options.show_shibb_button&&t.push({id:"membershipshibbutton",xtype:"button",text:n.options.Shibb_LoginLabel,tooltip:n.options.Shibb_LoginLabel,style:{marginTop:"5px"},width:e,icon:config.getUrl("Images/IntegrationPartners/shibbolethicon.png"),handler:function(){n.ShibbolethLogin()}});n.options.show_cas_button&&t.push({id:"membershipcasbutton",xtype:"button",text:n.options.Cas_LoginLabel,tooltip:n.options.Cas_LoginLabel,style:{marginTop:"5px"},width:e,icon:config.getUrl("Images/IntegrationPartners/cas_icon.png"),handler:function(){n.CasLogin(n.options.casurl)}});u=200;t.push({id:"membershipinstructorredirect",hidden:!0,xtype:"button",style:{marginTop:"5px"},width:u,text:"Proceed",tooltip:"Proceed to "+Terminology.capital("instructors")+" "+n.options.loginLabel,icon:config.getUrl("Images/Icons/famfamfam/lock.png"),handler:function(){n.instructorredirect()}});n.options.canvasSsoEnabled&&t.push({hidden:!0,id:"membershipinstructorcanvasbutton",xtype:"button",text:n.options.Canvas_LoginLabel,tooltip:"Canvas "+Terminology.capital("instructors")+" "+n.options.Canvas_LoginLabel,style:{marginTop:"5px"},width:u,icon:config.getUrl("Images/IntegrationPartners/lti_canvas.png"),handler:function(){n.CanvasLogin(!1,"instructor")}});n.container=Ext.create("Ext.container.Container",{renderTo:Ext.getBody(),floating:!0,hidden:!0,componentCls:"login-popup",shadow:!0,items:t});n.popupHelper=new PopupHelper({popupElement:Ext.get(n.container.getId()),documentClickAction:function(){n.hideLoginForm()}});Ext.on("resize",function(){n.container.isVisible()&&n.setContainerPosition(!1)})};Membership.prototype.loginShibboleth=function(){var n=$("input[name=userType]:checked").val();url="AuthMe/LoginShibbolethUser";Ext.Ajax.request({url:url,params:{type:n},success:function(n){var t=n.responseText;document.location=t}})};Membership.prototype.login=function(n){var t=this,o,s=!1,r=!1,e=!1,u=!1,i,f,h,c;if(n=="login2"||n=="login3"){i=Ext.getCmp("membershiploginformusername");f=Ext.getCmp("membershiploginformpassword");h=Ext.get("loginmaincnt");c=Ext.dom.Query.selectValue("input[name=logintype]:checked/@value");switch(c){case"1":r=!0;break;case"2":e=!0;break;case"3":u=!0;break;default:r=!0}s=!0}else r=t.loginTypeStudent.getValue(),e=t.loginTypeInstructor.getValue(),u=t.loginTypeSupervisor.getValue(),i=t.username,f=t.password,h=t.container.getEl();(o=e?config.getUrl("public/membership/LoginInstructor"):u?config.getUrl("public/membership/LoginSupervisor"):config.getUrl("public/membership/LoginStudent"),t.notImplementedLogin(s))||i.isValid()&&f.isValid()&&(LAYOUT.MaskLayout("Logging in..."),n=="login1"&&t.hideLoginForm(),Ext.Ajax.request({url:o,params:{username:i.getValue(),password:f.getValue()},success:function(f){var e=Ext.decode(f.responseText);if(LAYOUT.UnmaskLayout(),!e.success){n=="login1"&&t.showLoginForm(!0);n=="login2"||n=="login3"?$("#errormsg").html(e.error):i.markInvalid(e.error);return}r?t.CheckReqMissingFields("login",e.messages,!0,e,n):u&&(document.location=config.getUrl("public/supervisor"),t.CurrentLogin="supervisor")}}))};Membership.prototype.ShibbolethLogin=function(){var t=this,n=confirm("You will be redirected to another page to login. Click here to continue.");if(n==!0)document.location="/Shibboleth.sso/Login";else{document.location="/Public/Course/Browse";return}};Membership.prototype.CasLogin=function(n){var i=this,t=confirm("You will be redirected to another page to login. Click here to continue.");if(t==!0)serviceurl=window.location.protocol+"//"+window.location.hostname,document.location=n+"Login/?service="+serviceurl;else{document.location="/Public/Course/Browse";return}};Membership.prototype.instructorredirect=function(){var n=this;document.location=n.AspSiteRootUrl+"dev_instructors.asp?action=login"};Membership.prototype.CheckReqMissingFields=function(n,t,i,r,u){var f=this;window.LAYOUT.MaskLayout("Loading ...");Ext.Ajax.request({url:config.getUrl("public/user/CheckReqMissingFields"),success:function(e){if(e.responseText=="NoMissingReqFields"){if(window.LAYOUT.UnmaskLayout(),n=="login"){f.showLoginInfo(t,i,r,u);return}if(n=="checkout"){cart.ShowReviewCheckoutExec(t);return}Ext.MessageBox.show({title:"Error Message",msg:"Command not implemented yet",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR})}else document.location=config.getUrl("public/user/dashboard?MissingReqFields=1")}})};Membership.prototype.notImplementedLogin=function(n){var t=this,i=!1,r;if(Ext.isDefined(n)||(n=!1),n){var e=t.HideStudentLogin==1?!1:Ext.get("student-radio").dom.checked,u=t.HideInstructorLogin==1?!1:Ext.get("instructor-radio").dom.checked,f=t.HideSupervisorLogin==1?!1:Ext.get("supervisor-radio").dom.checked;i=u?!0:f?!1:!1}else i=t.loginTypeInstructor.getValue()?!1:t.loginTypeSupervisor.getValue()?!1:!1;return i&&(r=Ext.MessageBox.show({title:"Login",msg:"This login type is not implemented yet",icon:Ext.MessageBox.WARNING,buttons:Ext.MessageBox.OK}),t.popupHelper.configureForMessageBox(r)),i};Membership.prototype.setContainerPosition=function(n){var i=this,t=i.elementLoginLink.getBox(),r=t.left-i.container.getWidth()+t.width,u=t.top+t.height;i.container.setPosition(r,u,n)};Ext.util.Cookies.set("FirstToRunOnLogInInit","false");Membership.prototype.showLoginForm=function(n,t){var i=this,r,u;typeof n=="undefined"&&(n=!1);typeof t=="undefined"&&(t=!0);t&&(i.popupHelper.firstShow=!0);r=Ext.util.Cookies.get("FirstToRunOnLogInInit");u=Ext.util.Cookies.get("FirstToRunOnLogInClick");u!="popuphelper"&&(i.popupHelper.popupClicked=!0);(typeof r=="null"||r=="false")&&(Ext.util.Cookies.set("FirstToRunOnLogInClick","membership"),Ext.util.Cookies.set("FirstToRunOnLogInInit",!0));switch(i.getLastLogonType()){case"student":i.loginTypeStudent.setValue(!0);break;case"instructor":i.loginTypeInstructor.setValue(!0);break;case"supervisor":i.loginTypeSupervisor.setValue(!0)}i.elementLoginLink.addCls("login-popup-link");i.container.show();i.setContainerPosition(!1);i.username.focus()};Membership.prototype.hideLoginForm=function(){var n=this;n.elementLoginLink.removeCls("login-popup-link");n.container.hide();n.popupHelper.popupClicked=!1};Membership.prototype.logoutShibboleth=function(n){var t=this;window.LAYOUT.MaskLayout("Logging out");Ext.Ajax.request({url:config.getUrl("public/membership/Logout"),success:function(){n!=""||n!=null||n!=undefined?setTimeout(function(){document.location="/Public/Course/Browse"},500):setTimeout(function(){document.location="/Shibboleth.sso/Logout"},500)}})};Membership.prototype.logoutCas=function(n){var t=this;window.LAYOUT.MaskLayout("Logging out");Ext.Ajax.request({url:config.getUrl("public/membership/Logout"),success:function(){n==""||n==null||n==undefined?setTimeout(function(){document.location="/Public/Course/Browse"},500):(setTimeout(function(){window.open(n+"/logout")},500),setTimeout(function(){document.location="/Public/Course/Browse"},500))}})};Membership.prototype.logout=function(){var n=this;window.LAYOUT.MaskLayout("Logging out");Ext.Ajax.request({url:config.getUrl("public/membership/Logout"),success:function(n){var i=Ext.decode(n.responseText),t;i.activeUser=="supervisor"?(t=document.createElement("iframe"),t.src="/admin/logoff.asp?type=supervisor&misc=559",t.setAttribute("height","230"),t.setAttribute("width","360"),void document.body.appendChild(t),setTimeout(function(){document.location="/Public"},500)):setTimeout(function(){document.location="/Public"},500)}})};Membership.prototype.enrollmentInfo=function(n){Ext.MessageBox.show({msg:"You enrolled in this course on "+n+".",title:"Enrollment Info",buttons:Ext.MessageBox.OK,buttonAlign:"right",icon:Ext.MessageBox.INFO})};Membership.prototype.showLoginInfo=function(n,t,i,r,u,f){var h=this,o,s,e;typeof f=="undefined"&&(f=!1);o=function(){var u,f,n;if(window.LAYOUT.State.queryString.loginRedirectUrl){document.location=window.LAYOUT.State.queryString.loginRedirectUrl;return}Ext.isDefined(t)&&t!=!0||(u=$("#LoginreturnUrl").val(),f=$("#LoginreturnUrlhash").val(),u==undefined&&(u=""),n=function(n){LAYOUT.MaskLayout("Please hold on, you are being redirected to your home page...");location=n},u.length>5?n(u+f):i.ForceUpdate==1?r=="login2"||r=="login3"?r=="login2"?cart.ShowReviewCheckout():r=="login3"?n(surveypageredirect):location.reload():n(config.getUrl("public/user/dashboard")):r=="login2"||r=="login3"?r=="login2"?(cart.setReloadCallback("ShowReviewCheckout"),n("/public/course/Browse")):r=="login3"?window.location=surveypageredirect:location.reload():i.StrtupPage==0?n(config.getUrl("public/user/dashboard")):i.StrtupPage==1?r=="login2"||r=="login3"?r=="login2"?(cart.setReloadCallback("ShowReviewCheckout"),n("/public/course/browse")):r=="login3"?n(surveypageredirect):location.reload():n(config.getUrl("public/course/browse")):i.StrtupPage==2?n(config.getUrl("public/"+i.OtherStrtupPage)):location.reload())};Ext.isFunction(u)||(u=o);s=function(){u(i.cartItemCount>0,o)};i.cartItemCount==0&&f&&(Ext.isArray(n)||(n=[]),n.push("<br/>Your cart is empty now , please fill your cart again to be able to execute this step..."));Ext.isArray(n)&&n.length>0?(e="You have been successfully logged in!",e=LAYOUT.getResultMessage(e,n),Ext.MessageBox.show({animateTarget:h.container,title:"Login",msg:e,buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.INFO,fn:function(){s()}})):s()};Membership.prototype.GoogleLogin=function(n){var t=this,i=t.notImplementedLogin(n);if(i)return!1;window.CART.activeCheckoutStep=="cartlogin"&&window.CART.setReloadCallback("ShowReviewCheckout");document.location=config.getUrl("SSO/Google")};Membership.prototype.CanvasLogin=function(n,t){var i=this,r=i.notImplementedLogin(n);if(r)return!1;window.CART.activeCheckoutStep=="cartlogin"&&window.CART.setReloadCallback("ShowReviewCheckout");document.location=config.getUrl("SSO/Canvas?reason="+t)};Membership.prototype.UserAction=function(n,t,i,r,u,f,e){var o=this,s;r!="0"&&(r=="printreciept"?s=window.open(location.pathname.replace("dashboard","orderconfirmation?order="+t)):r=="viewcoursework"?(ViewCourseWork(n),i.value="0"):r=="cancelcourse"?o.CancelRoster(u):r=="movetoenroll"?o.MoveToEnrollRoster(u):r=="paybalance"?cart.ShowPaymentPage(f,t,"","paynowuserdash"):Ext.Msg.alert("User Dashboard","cid:"+n+" cmd:"+r+"orderno"+t),e.value=0)};Membership.prototype.CancelRoster=function(n){var i=this,t=Ext.getCmp("UserDashboardCourses");Ext.Msg.confirm("Confirm Action","Are you sure you want to cancel?",function(i){i=="yes"&&(t.mask("Loading..."),Ext.Ajax.request({url:config.getUrl("public/Course/CancelRoster"),timeout:6e4,params:{rosterid:n},success:function(){window.location.reload();t.unmask()},failure:function(){Ext.MessageBox.show({title:"Error Message",msg:"There was an issue encountered",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR});t.unmask()}}))})};Membership.prototype.MoveToEnrollRoster=function(n){var i=this,t=Ext.getCmp("UserDashboardCourses");Ext.Msg.confirm("Confirm Action","Are you sure you want to move the student off the waiting list?",function(i){i=="yes"&&(t.mask("Loading..."),Ext.Ajax.request({url:config.getUrl("public/Course/MoveToEnrollRoster"),timeout:6e4,params:{rosterid:n},success:function(){window.location.reload();t.unmask()},failure:function(){Ext.MessageBox.show({title:"Error Message",msg:"There was an issue encountered",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR});t.unmask()}}))})};Membership.prototype.CourseWorkAction=function(n,t){var i=this,u=$("#tblCourseWorks").css("height"),r;n=="print"?(r=window.open(i.options.DocumentsFolder+t),r.print()):n=="download"?window.open(i.options.DocumentsFolder+t,"Download"):n=="email"?($("#tblCourseWorks").slideUp("fast",function(){$("#tblCourseWorks").css("display","none")}),$("#tblEmailFunction").slideUp("fast",function(){$("#tblEmailFunction").css("height",u);$("#tblEmailFunction").css("display","block");$("#divattached").html(t)})):n=="back"&&($("#tblCourseWorks").slideUp("fast",function(){$("#tblCourseWorks").css("display","block")}),$("#tblEmailFunction").slideUp("fast",function(){$("#tblEmailFunction").css("display","none")}))}