var iwin=window.iwin||{};iwin.header=iwin.header||{};iwin.header.auth={};iwin.header.banner=iwin.header.banner||{};iwin.header.iwgm=iwin.header.iwgm||{};iwin.header.cart={};iwin.header.dropdown={};iwin.header.facebook={};iwin.header.popups={};iwin.header.search={};iwin.header.tabs={};iwin.header.tracking={};iwin.header.userInformation={};
iwin.header.init=function(){$J(".pngFix").pngFix();iwin.header.elements={userSupportLinks:$J("#siteHeader #userSupport #userSupportLinks"),userInformation:$J("#siteHeader #mainTabs #userInformation"),mainTabs:$J("#siteHeader #mainTabs"),subTabs:$J("#siteHeader #subTabs")};iwin.header.search.init();iwin.header.popups.init();iwin.header.userInformation.init();iwin.header.auth.init();iwin.header.dropdown.init();iwin.header.tracking.init();iwin.header.facebook.init();iwin.header.iwgm.init();$J(document).trigger("iwin:header:init:success")};
iwin.header.auth.isLoggedIn=false;
iwin.header.auth.init=function(){if(iwin.AuthUI&&iwin.Auth){Event.observe(document,"iwin:auth:login:success",iwin.header.auth.setAuthStatus);Event.observe(document,"iwin:auth:logout:success",iwin.header.auth.setAuthStatus);$J(".userSignIn a",iwin.header.elements.userSupportLinks).click(function(){iwin.AuthUI.Login.show();return false});$J(".userSignUp a",iwin.header.elements.userSupportLinks).click(function(){iwin.AuthUI.Register.show();return false});$J(".userSignOut a",iwin.header.elements.userSupportLinks).click(function(){iwin.Auth.logout();
return false});iwin.header.auth.setAuthStatus();iwin.header.elements.userSupportLinks.showObj().hide().fadeIn()}else console.error("User authentication functions not available.")};iwin.header.auth.setAuthStatus=function(){var a;a=iwin.Auth.getCurrentUsername();if(a!==null){iwin.header.auth.loggedIn(a);iwin.facebook.sdk.plugin.mergeAccount()}else iwin.header.auth.loggedOut()};
iwin.header.auth.loggedIn=function(a){iwin.header.auth.isLoggedIn=true;$J(".userSignOut",iwin.header.elements.userSupportLinks).showObj();$J(".userName",iwin.header.elements.userSupportLinks).find(".name").text(a).end().find(".greeting").text(iwin.header.auth.getGreeting()).end().showObj();$J(".userSignUp, .userSignIn",iwin.header.elements.userSupportLinks).hideObj();iwin.header.tabs.loggedIn();iwin.header.cart.update();iwin.header.userInformation.update(a)};
iwin.header.auth.loggedOut=function(){iwin.header.auth.isLoggedIn=false;$J(".userSignIn, .userSignUp",iwin.header.elements.userSupportLinks).showObj();$J(".userSignOut, .userName",iwin.header.elements.userSupportLinks).hideObj();iwin.header.tabs.loggedOut();iwin.header.cart.update(0);iwin.header.userInformation.hide();iwin.header.userInformation.update()};
iwin.header.auth.getGreeting=function(){var a=["Hello","Hi there","G'day","Yo","Howdy","Whazzup","Aloha","Hola","Greetings","Heya","Ellohay","Pree-vyet","Dobriy ranok","Sai","Bonjour","Hi"];return a[Math.floor(Math.random()*a.length)]};
iwin.header.banner.Hotspot=function(a,c){this.init=function(){this.href=a;this.element=$J(document.createElement("a"));this.element.addClass("hotspot").attr("href",this.href);this.isUrlOutbound(this.href)&&this.element.attr("target","_blank");this.setPosition(c)};this.setPosition=function(b){if(b&&b.topLeft&&!isNaN(b.topLeft.x)&&!isNaN(b.topLeft.y)&&b.bottomRight&&!isNaN(b.bottomRight.x)&&!isNaN(b.bottomRight.y)){this.position=b;this.element.css({top:b.topLeft.y,left:b.topLeft.x,width:b.bottomRight.x-
b.topLeft.x,height:b.bottomRight.y-b.topLeft.y})}};this.constrainBounds=function(b){var d,e;d={};e={};if(this.position&&this.bounds){e.x=this.position.bottomRight.x>b.bottomRight.x?b.bottomRight.x:this.position.bottomRight.x;e.y=this.position.bottomRight.y>b.bottomRight.y?b.bottomRight.y:this.position.bottomRight.y;d.x=this.position.topLeft.x>b.bottomRight.x?b.bottomRight.x:this.position.topLeft.x<b.topLeft.x?b.topLeft.x:this.position.topLeft.x;d.y=this.position.topLeft.y>b.bottomRight.y?b.bottomRight.y:
this.position.topLeft.y<b.topLeft.y?b.topLeft.y:this.position.topLeft.y;this.setPosition({topLeft:d,bottomRight:e})}};this.isUrlOutbound=function(){return(this.href.match(/^(http|https):\/\/([\w\-]+)\.iwin\.com/)===null||this.href.match(/^(http|https):\/\/p\.iwin\.com/)!==null)&&this.href.search(/^\//)!==0};this.getDomElement=function(){return this.element};this.validate=function(){if(arguments.length!==2){console.error("%s Invalid number of arguments. %s","[iwin.header.banner.Hotspot]","Usage: Hotspot(href, position)");
return false}if(!(typeof arguments[0]==="string"&&arguments[0].length>1)){console.error("%s href parameter must exist be non empty. %s","[iwin.header.banner.Hotspot]","Usage: Hotspot(href, position)");return false}if(!(arguments[1]&&arguments[1].topLeft&&!isNaN(arguments[1].topLeft.x)&&!isNaN(arguments[1].topLeft.y)&&arguments[1].bottomRight&&!isNaN(arguments[1].bottomRight.x)&&!isNaN(arguments[1].bottomRight.y))){console.error('%s Position must exist in the following format: position = {"topLeft":{"x":1,"y":2},"bottomRight":{"x":3,"y":4}} (modifing numbers appropriately). %s',
"[iwin.header.banner.Hotspot]","Usage: Hotspot(href, position)");return false}return true};this.validate.apply(this,arguments)&&this.init();return this};
iwin.header.banner.Banner=function(a,c,b){this.init=function(){this.basePath=window.location.href;this.width=c>0?c:this.element.width();this.height=b>0?b:this.element.height();this.element=$J(a);this.flashBanner=this.element.find(".flashBanner");this.hotspots=[];this.flash=null;this.body=$J("body");this.rendered=false;this.bounds={topLeft:{x:0,y:0},bottomRight:{x:this.width,y:this.height}}};this.addHotspot=function(d,e,h,f,i){var g;if(arguments.length!==5)console.error("%s Invalid number of parameters. %s",
"Usage: addHotspot(topLeftX, topLeftY, bottomRightX, bottomRightY, url)","[iwin.header.banner.Banner#addHotspot]");else if(typeof arguments[4]!=="string")console.error('%s "url" parameter must be a string. %s',"Usage: addHotspot(topLeftX, topLeftY, bottomRightX, bottomRightY, url)","[iwin.header.banner.Banner#addHotspot]");else{for(g=0;g<arguments.length-1;g+=1)if(arguments[g]!==null&&isNaN(arguments[g])){console.error("%s First four parameters must be numbers. %s","Usage: addHotspot(topLeftX, topLeftY, bottomRightX, bottomRightY, url)",
"[iwin.header.banner.Banner#addHotspot]");return}g=new iwin.header.banner.Hotspot(i,{topLeft:{x:d,y:e},bottomRight:{x:h,y:f}});g.constrainBounds(this.bounds);this.hotspots.push(g)}};this.setFlash=function(d,e){if(this.flashBanner.is(":visible")){if(typeof d==="object"){e=d;d=null}if(d&&d!==""&&this.element&&this.element.length>0&&this.flashBanner&&this.flashBanner.length>0)this.flash={src:d,height:this.height,width:this.width,options:e}}};this.render=function(d){var e;if(!this.rendered||d)if(this.element&&
this.element.length>0&&this.flash&&this.flash.src&&this.flash.height>0&&this.flash.width>0){d={src:this.flash.src,height:this.flash.height,width:this.flash.width,wmode:"transparent",allowScriptAccess:"always"};if(this.flash.options)d=$J.extend(this.flash.options,d);this.flashBanner.flash(d);this.rendered=true}else if(this.element&&this.element.length>0&&this.hotspots.length>0){for(d=0;d<this.hotspots.length;d+=1){e=this.hotspots[d].getDomElement();this.element.append(e)}this.rendered=true}else console.debug("[iwin.header.banner.Banner#render] Unable to render flash or hotspots.");
else console.debug("[iwin.header.banner.Banner#render] Banner already rendered, use render(true) to force a re-render.")};this.validate=function(){if(arguments.length<1||arguments.length>3){console.error("%s Invalid number of parameters. %s","[iwin.header.banner.Banner]","Usage: Banner(bannerElement[, width, height])");return false}if(!(arguments[0]&&arguments[0].length>0)){console.error("%s Banner DOM element does not exist. %s","[iwin.header.banner.Banner]","Usage: Banner(bannerElement[, width, height])");
return false}if(arguments[1]!==null&&isNaN(arguments[1])&&arguments[2]!==null&&isNaN(arguments[2])){console.error("%s Please enter valid numeric height/width when specifying height/width. %s","[iwin.header.banner.Banner]","Usage: Banner(bannerElement[, width, height])");return false}return true};this.setBasePath=function(d){if(d&&d!=="")this.basePath=d};this.cssPathResolve=function(d){var e;e=this.body.css("backgroundImage");e=e.replace(/^url\(\"/gi,"").replace(/\"\)$/gi,"");return e=iwin.Util.resolvePath(d,
e)};this.validate.apply(this,arguments)&&this.init();return this};iwin.header.banner.init=function(){var a;a=$J("#promotionalBlock");if(a.is(":visible")){a=new iwin.header.banner.Banner(a,970,100);a.setFlash(a.cssPathResolve("../flash/banner.swf"));a.render()}};
iwin.header.cart.update=function(a){if(a>0)$J("ul li.userCart",iwin.header.elements.userSupportLinks).addClass("hasItems").find(".total").text("("+a+")").show().end().showObj().hide().fadeIn();else a===0?$J("ul li.userCart",iwin.header.elements.userSupportLinks).removeClass("hasItems").find(".total").text("").end().fadeOut():$J.ajax({type:"GET",url:"/orders/current/summary",dataType:"json",success:function(c){var b=0;if(c&&c.count&&c.count>=0)b=c.count;iwin.header.cart.update(b)},error:function(){iwin.header.cart.update(0)}})};
iwin.header.dropdown.init=function(){var a,c,b;a=$J("li.community",iwin.header.elements.userSupportLinks);c=$J(".genre",iwin.header.elements.subTabs);$J("a:first",a).bind("mouseenter",{element:a,name:"community"},iwin.header.dropdown.show);$J("a:first",c).bind("mouseenter",{element:c,name:"genre"},iwin.header.dropdown.show);$J(document).bind("click",{elements:[{listElement:a,name:"community"},{listElement:c,name:"genre"}]},iwin.header.dropdown.hide);$J.merge($J("ul",c),c).bind("mouseleave",{elements:[{listElement:c,
name:"genre"}]},iwin.header.dropdown.hide);$J.merge($J("ul",a),a).bind("mouseleave",{elements:[{listElement:a,name:"community"}]},iwin.header.dropdown.hide);$J.merge($J(".transparentBorder",a),$J(".transparentBorder",c)).css({opacity:0.5});b={bl:{radius:4},br:{radius:4},antiAlias:true};a=$J(".transparentBorder",a);c=$J(".transparentBorder",c);a.length&&curvyCorners(b,a.get(0));c.length&&curvyCorners(b,c.get(0))};
iwin.header.dropdown.show=function(a){$J(".transparentBorder, .dropdown",a.data.element).showObj();a.data.element.find(" > a").addClass("selected");return false};iwin.header.dropdown.hide=function(a){$J(a.data.elements).each(function(c,b){$J(".transparentBorder, .dropdown",b.listElement).hideObj();b.listElement.find(" > a").removeClass("selected")})};iwin.header.facebook.init=function(){var a=$J("#siteHeader .facebookLike");iwin.facebook.sdk.plugin.likeButton(a,{show_faces:"false",href:"http://www.iwin.com/"})};
iwin.header.popups.init=function(){(new iwin.Util.PopupRounded({content:$J("#newsletterForm"),title:"Get a Free Game!",id:"newsletterPopup",useOverlay:true,isModal:false,closeAnywhere:false,openElement:$J("a.newsletterSlot, #buzzContainer li.newsletter a")})).onOpen=function(){$J("#newsletterPopup").prepend('<div class="mahJongCharacter pngFix">Mah Jong Quest</div>');$J(".mahJongCharacter").pngFix();new iwin.header.NewsletterForm($J("#newsletterForm form"))};new iwin.Util.PopupRounded({content:$J("#safeAndSecurePopupContent"),
title:"Guaranteed Safe and Secure Download",id:"safeAndSecurePopup",useOverlay:true,isModal:false,closeAnywhere:false,openElement:$J("#guaranteedSafeAndSecure")})};iwin.header.search.init=function(){var a,c;a=$J("#searchiWin");c=$J("#searchTerm",a);c.bind("focus",{element:c},iwin.header.search.focus);c.bind("blur",{element:c},iwin.header.search.blur);a.bind("submit",{element:c},iwin.header.search.sanitizeInput)};
iwin.header.search.blur=function(a){a=a.data.element;if(a.val()===""){a.addClass("greyed");a.val(a.get(0).defaultValue)}};iwin.header.search.focus=function(a){a=a.data.element;a.removeClass("greyed");a.val()===a.get(0).defaultValue&&a.val("")};iwin.header.search.sanitizeInput=function(a){a=a.data.element;a.val(a.val().replace(/[|<>()'"]/g,""))};iwin.header.tabs.selectTab=function(a){if(a&&a!==""){iwin.header.tabs.deselectTab();$J("ul li."+a+" a",iwin.header.elements.mainTabs).addClass("selected")}};
iwin.header.tabs.deselectTab=function(a){$J(a&&a!==""?"ul li."+a+" > a":"ul li > a",iwin.header.elements.mainTabs).removeClass("selected")};iwin.header.tabs.loggedIn=function(){$J("ul",iwin.header.elements.mainTabs).find("li.membership a").attr("href","/account/icoins").attr("title","iWin Memberships")};iwin.header.tabs.loggedOut=function(){$J("ul",iwin.header.elements.mainTabs).find("li.membership a").attr("href","/membership").attr("title","My Account")};
iwin.header.tracking.init=function(){var a=iwin.tracking.domain+"/header";iwin.tracking.trackPageEvent($J("ul li.new a",iwin.header.elements.subTabs),"click",a,"clicked to game calendar","newgames");iwin.tracking.trackPageEvent($J("ul li.top100 a",iwin.header.elements.subTabs),"click",a,"clicked to top 100","top100");iwin.tracking.trackPageEvent($J("ul li.free a",iwin.header.elements.subTabs),"click",a,"clicked to all free games","see all games");iwin.tracking.trackPageEvent($J("ul li.genre ul.dropdown li.allGames a",
iwin.header.elements.subTabs),"click",a,"clicked to all games by category","see all games");iwin.tracking.trackPageEvent($J("ul li.support a",iwin.header.elements.userSupportLinks),"click",a,"support","marketing");iwin.tracking.trackPageEvent($J("ul li.userCart a",iwin.header.elements.userSupportLinks),"click",a,"cart","marketing");iwin.tracking.trackPageEvent($J("ul li.community ul.dropdown li.blog a",iwin.header.elements.userSupportLinks),"click",a,"blog","marketing");iwin.tracking.trackPageEvent($J("ul li.community ul.dropdown li.forums a",
iwin.header.elements.userSupportLinks),"click",a,"forums","marketing")};iwin.header.userInformation.init=function(){curvyCorners({bl:{radius:4},br:{radius:4},antiAlias:true},iwin.header.elements.userInformation.get(0));iwin.header.userInformation.readyShow=false;iwin.header.userInformation.myHotelRoomDefault=null};
iwin.header.userInformation.update=function(a){iwin.header.userInformation.updateMyHotelRoom(a);iwin.header.userInformation.updateOpalsAndAvatar(a);iwin.Util.getUserSubscription(function(c){var b,d,e;iwin.header.userInformation.updateiCoins(c&&c.iCoinsBalance?c.iCoinsBalance:0);$J(".currency .more").hide();if(c)if(c.state==="ACTIVE")for(b in c.features)if(c.features[b].keyword==="iCoins"){$J(".currency .more a").click(function(){iwin.Util.getUserSubscription(iwin.trialpay.showOfferwall);return false});
d=iwin.tracking.domain+"/homepage";e=$J(".currency .more a")[0];iwin.tracking.trackPageEvent(e,"click",d,"Clicked on 'Want more iCoins?","marketing");$J(".currency .more").show()}if(a)if(iwin.header.userInformation.readyShow)iwin.header.userInformation.show();else iwin.header.userInformation.readyShow=true})};
iwin.header.userInformation.updateMyHotelRoom=function(a){var c;c=iwin.header.elements.userInformation.find(".myHotelRoom");if(iwin.header.userInformation.myHotelRoomDefault===null)iwin.header.userInformation.myHotelRoomDefault=c.attr("href");a&&a!==""?c.attr("href","/hotel/?room="+a):c.attr("href",iwin.header.userInformation.myHotelRoomDefault)};
iwin.header.userInformation.updateOpalsAndAvatar=function(a){var c,b,d;c=$J(".currency .opals .total",iwin.header.elements.userInformation);b=$J(".avatar img",iwin.header.elements.userInformation);d=b.attr("src");if(a)$J.ajax({type:"GET",url:"/profiles/users/"+a,dataType:"xml",success:function(e){var h;h=$J("opals-balance",e).text();e=$J("avatar",e).text();if(h==="")h=0;if(e.indexOf("noimage")!==-1)e=d;c.text(iwin.Util.addCommas(h));b.error(function(){var f=$J.data(this,"imageErrors");f=f&&f>0?f:
0;if(f<1){$J.data(this,"imageErrors",f+1);$J(this).attr("src",d).attr("title","Visit Hotel iWin to create your avatar.")}else this.error=null}).attr("src",e).attr("title",a)},error:function(){c.text("0");b.attr("src",d).attr("title","Visit Hotel iWin to create your avatar.")},complete:function(){if(iwin.header.userInformation.readyShow)iwin.header.userInformation.show();else iwin.header.userInformation.readyShow=true}});else{c.text("0");b.attr("src",d)}};
iwin.header.userInformation.updateiCoins=function(a){$J(".currency .iCoins .total",iwin.header.elements.userInformation).text(a)};iwin.header.userInformation.show=function(){iwin.header.elements.userInformation.showObj().hide().fadeIn();iwin.header.userInformation.readyShow=false};iwin.header.userInformation.hide=function(){iwin.header.elements.userInformation.fadeOut()};
iwin.header.NewsletterForm=function(a){var c=this;this.content=a;this.subscribeURI="/corp/subscribe";this.init=function(){$J(this.content).parents(".popupRounded").find(".popupSuccess").hide().end().find(".popupForm").show();this.clearErrors.call(this.content);$J(this.content).unbind("submit").submit(function(){c.validate.call(this)&&c.newsletterSubmit();return false})};this.validate=function(){$J(this).find(":input.required").each(function(){if($J(this).val().replace(/^\s+|\s+$/,"")==="")c.addError(this);
else{c.removeError.call(this);$J(this).hasClass("requiredMail")&&c.validateEmail($J(this).val())===false&&c.addError(this,"Invalid email address")}});if($J(this).find(".error").length>0){$J(this).find(".error :input")[0].focus();return false}else return true};this.clearErrors=function(){$J(this).find(":input.required").parents("p").removeClass("error").find(".errorText").remove();$J(this).find(":input")[0].focus()};this.addError=function(b,d){if(d===undefined)d=$J(b).attr("title");if(!$J(b).parents("p").hasClass("error")){$J(b).parents("p").addClass("error");
$J('<span class="errorText">'+d+"</span>").insertAfter($J(b).siblings("label.for")[0])}};this.removeError=function(){$J(this).parents("p").removeClass("error").find(".errorText").remove()};this.validateEmail=function(b){return iwin.Util.isEmailValid(b)};this.newsletterSubmit=function(){var b;b={};b.firstName=$J("#newsletterFormName").val();b.email=$J("#newsletterFormEmail").val();b=Object.toJSON(b);$J.ajax({type:"POST",url:this.subscribeURI,dataType:"json",data:b,contentType:"application/json; charset=UTF-8",
success:function(){$J("#tellAFriendFormNameDone").text($J("#tellAFriendFormName").val());$J("#tellAFriendFormEmailDone").text($J("#tellAFriendFormFriendsEmail").val());$J(c.content).parents(".popupForm").hide().siblings(".popupSuccess").show().end().siblings(".privacyFooter").css({"margin-top":"70px"})},error:function(d,e){if(d.status===0)console.error("You are offline!\n Please Check Your Network.");else if(d.status===404)console.error("Requested URL not found.");else if(d.status===500)console.error("Internel Server Error.");
else if(e==="parsererror")console.error("Parsing JSON Request failed.");else e==="timeout"?console.error("Request Time out."):console.error("Unknown Error.\n"+d.responseText)}})};this.init();return this};iwin.header.iwgm.init=function(){if($J("#iwgmTakeover").is(":visible"))try{window.external.ShowIWGMTakeover(iwin.Util.resolvePath("../flash/takeover.swf",$J("#iwgmTakeoverLink").attr("href")))}catch(a){console.log("no IWGM takeover")}};$J(document).ready(iwin.header.init);

