$('#day').change(function() {
//  alert('Handler for .change() called.');
  if($('#day').val() == "01") $('#day').val( "1" );
   if($('#day').val() == "02") $('#day').val( "2" );
    if($('#day').val() == "03") $('#day').val( "3" );
     if($('#day').val() == "04") $('#day').val( "4" );
      if($('#day').val() == "05") $('#day').val( "5" );
       if($('#day').val() == "06") $('#day').val( "6" );
        if($('#day').val() == "07") $('#day').val( "7" );
         if($('#day').val() == "08") $('#day').val( "8" );
         	if($('#day').val() == "09") $('#day').val( "9" );
});


var appid, hashChain;
String.prototype.toDate = function(style) {
	if (style == null) style = 'yyyy-MM-dd hh:mm:ss';
    var compare = {
         'y+' : 'y',
         'M+' : 'M',
         'd+' : 'd',
         'h+' : 'h',
         'm+' : 'm',
         's+' : 's'
    };
    var result = {
        'y' : '',
        'M' : '',
        'd' : '',
        'h' : '00',
        'm' : '00',
        's' : '00'
    };
    var tmp = style;
    for (var k in compare) {
        if (new RegExp('(' + k + ')').test(style)) {
              result[compare[k]] = this.substring(tmp.indexOf(RegExp.$1), tmp.indexOf(RegExp.$1) +RegExp.$1.length);
       }
    }
    return new Date(result['y'], result['M'] - 1, result['d'], result['h'], result['m'], result['s']);
};

Date.prototype.isLeepYear = function(year){
	return  (0==year%4&&((year%100!=0)||(year%400==0)));
	}

function jumpto(url)
{
	//alert($("td.country div span").attr("country"))
	if($("td.country div span").attr("country")== "jp") {window.location.href="http://www.malibu-rum.com/jp/?bypassagegate=true";}
	window.location.href = url;
}


function getParameter(key, slash)
{
	var url = document.location.href;
	url = url.toLowerCase();
	var chain;
	if ( document.location.hash == '') chain = (url.indexOf('?') > -1 ? String(url.split('?')[1]) : '');
	else chain = document.location.hash;
	var value = String(chain.match(new RegExp(key + (slash ? '=[a-zA-Z0-9-.%:/]*' : '=[a-zA-Z0-9-.]*'))));
	return value ? (value.split('=')[1]) : value;
}

function filterUrl(dataArray,url) {
	for(i=0; i<dataArray.length; i=i+2) {
		var _name = dataArray[i];
		var _value = dataArray[i+1];
		
		if (url.indexOf(_name + "=") == -1 && url.indexOf("?") == -1){
			url = url + "?" + _name + "="+ _value;
		}else if (url.indexOf(_name + "=") == -1 && url.indexOf("?") != -1){
			url = url + "&" + _name + "="+ _value;				
		}else {
			var re = new RegExp(_name + "=" + "[^&]*", "g");
			var result = url.match(re);
			url = url.replace(re, _name + "=" + _value);
		}
	} 
	return url;
}
function parseUrlQuery(Url){
	var E={};
	if(!Url){
		return E
	}
	var A=Url.split(/[;&]/);
	for(var C=0;C<A.length;C++){
		var G=A[C].split("=");
		if(!G||G.length!=2){
			continue
		}
		var B=unescape(G[0]);
		var F=unescape(G[1]);
		F=F.replace(/\+/g," ");
		E[B]=F
	}
	return E
}

$(document).ready(function(){
	
	   var findLanguage=function(id){//找到语言
		   var langsTemp
		   langsTemp=langs[$("td.country div span").attr("country")] ?langs[$("td.country div span").attr("country")]:languages
		   for (i=0;i<langsTemp.length;i++){
			   if (langsTemp[i].id==id){
				   return langsTemp[i];
				   break;
				   }
			   }
		   }
		   
	   var selectLanguage=function(id){//选择语言列表
		   if (id){
			   var languageName=findLanguage(id)?findLanguage(id).name:null
			   languageName?$("td.language div span").html(languageName).attr("language",id):$("td.language div span").html("Select language").removeAttr("language")
			   }
		   else{
			   $("td.language div span").html("Select language").removeAttr("language")
			   }							   
		   }
		   
	   var fillLanguage=function(lang){//填充语言列表\
		   var langsTemp
		   if ( lang )
		   {
			 
		   }
		   else
		   {
			   $("div.languagelist ul").html("")
			   langsTemp=langs[$("td.country div span").attr("country")] ?langs[$("td.country div span").attr("country")]:languages
			   for (i=0;i<langsTemp.length;i++){
				   var $li=$("<li></li>");
				   $li.html(langsTemp[i].name).attr("language",langsTemp[i].id);
				   $("div.languagelist ul").append($li);
				   }	
		   }
	   }
		//如果Cookie存在，则不需要等待用户填写，直接跳转到appid对应的url
		var lang = getParameter('lang');
		

		$.cookie('rememberme')!=null && $.cookie('rememberme')=="yes" ? launchApp() : a=1
//		if ($.cookie('rememberme')!=null && $.cookie('rememberme')=="yes"){
//			console.log($.cookie('rememberme'))
//			launchApp()
//			}
//		if ($.cookie('rememberme')=="yes") 
//		{
//			launchApp();
//			return;
//		}
		
		function launchApp() 
		{			
			appid = getParameter('appid') ? getParameter('appid') : DEFAULT_APP;

			var hash = document.location.hash;
			hash = hash.replace(new RegExp('[?&]*lang=[a-zA-Z0-9-_]*','g'), '').replace(new RegExp('[?&]*appid=[a-zA-Z0-9-_]*','g'), '');
			hashChain = (( hash ? (hash + (hash.indexOf('?') > -1 ? '&' : '&')) : '#&') + 'lang=' + ( $.cookie('language') ? $.cookie('language') : apps[appid]['defaultLang'] ? apps[appid]['defaultLang'] : 'en-us'));
			jumpto(apps[appid]['url'] + hashChain);
		}

	   $("table#container tr td.container").css({height:$(window).height()+"px"})

	   var locactionHash= window.location.hash;
	   if (!locactionHash){
		   locactionHash=""
		   }
	   
	   
	   $(".erroralert").html("");
	   $("input.day,input.month,input.year").focus(function(){
	   if($('#day').val() == "01") $('#day').val( "1" );
   if($('#day').val() == "02") $('#day').val( "2" );
    if($('#day').val() == "03") $('#day').val( "3" );
     if($('#day').val() == "04") $('#day').val( "4" );
      if($('#day').val() == "05") $('#day').val( "5" );
       if($('#day').val() == "06") $('#day').val( "6" );
        if($('#day').val() == "07") $('#day').val( "7" );
         if($('#day').val() == "08") $('#day').val( "8" );
         if($('#day').val() == "09") $('#day').val( "9" );
															if ($(this).val()==$(this).attr("defaultvalue")){$(this).val("");}
															$(this).addClass("current");
															})
	   $("input.day,input.month,input.year").blur(function(){
	   if($('#day').val() == "01") $('#day').val( "1" );
   if($('#day').val() == "02") $('#day').val( "2" );
    if($('#day').val() == "03") $('#day').val( "3" );
     if($('#day').val() == "04") $('#day').val( "4" );
      if($('#day').val() == "05") $('#day').val( "5" );
       if($('#day').val() == "06") $('#day').val( "6" );
        if($('#day').val() == "07") $('#day').val( "7" );
         if($('#day').val() == "08") $('#day').val( "8" );
         if($('#day').val() == "09") $('#day').val( "9" );
         
          if($('#month').val() == "01") $('#month').val( "1" );
   if($('#month').val() == "02") $('#month').val( "2" );
    if($('#month').val() == "03") $('#month').val( "3" );
     if($('#month').val() == "04") $('#month').val( "4" );
      if($('#month').val() == "05") $('#month').val( "5" );
       if($('#month').val() == "06") $('#month').val( "6" );
        if($('#month').val() == "07") $('#month').val( "7" );
         if($('#month').val() == "08") $('#month').val( "8" );
         if($('#month').val() == "09") $('#month').val( "9" );
														   if ($(this).val()==""){$(this).val($(this).attr("defaultvalue"))}
														   $(this).removeClass("current").removeClass("erroralert")
														   })
	   $("input.day,input.month,input.year").keyup(function(){
	   if($('#day').val() == "01") $('#day').val( "1" );
   if($('#day').val() == "02") $('#day').val( "2" );
    if($('#day').val() == "03") $('#day').val( "3" );
     if($('#day').val() == "04") $('#day').val( "4" );
      if($('#day').val() == "05") $('#day').val( "5" );
       if($('#day').val() == "06") $('#day').val( "6" );
        if($('#day').val() == "07") $('#day').val( "7" );
         if($('#day').val() == "08") $('#day').val( "8" );
         if($('#day').val() == "09") $('#day').val( "9" );
															$(this).val($(this).val().replace(/\D+/g,''))
//															if ($(this).val().length > parseInt($(this).attr("maxlength"))-1 ){
//																$(this).blur();
//																$(this).next().focus();
//																}
//															else{
//																return 
//																}															
															})
	   //填充国家数据
	   var fillCountry=function(){
		   $("div.countrylist ul").html("");
		   for (i=0;i<countries.length;i++){
			   var $li=$("<li></li>");
			   $li.html(countries[i].name).attr("country",countries[i].id)
			   if (countries[i].redirect){
				   $li.attr("redirect",countries[i].redirect)
				   }
			   if (countries[i].age){
				   $li.attr("age",countries[i].age)
				   }
			   else{
				   $li.attr("age",0)
				   }
			   if (countries[i].language){
				   $li.attr("language",countries[i].language)
				   }
			   if (countries[i].active){
				   $li.attr("active",countries[i].active)
				   }
			   $("div.countrylist ul").append($li)
			  // alert($li)
			   }
		   //Ajax请求出当前国家代码
		   
		   }
	   $.get(
			 "/byu/api/countryLookup.aspx",
			 function(data){
			 	//alert(data);
				 var $country=$("td.country div span")
				 //if($country == "jp") {window.location.href="http://www.malibu-rum.com/jp?true";}
				 for (i=0;i<countries.length;i++){
					 if (countries[i].id.toLowerCase() == data.toLowerCase()){
						 $country.html(countries[i].name)
						 $country.attr("country",countries[i].id)
						 
						 if (countries[i].redirect){
							 $country.attr("redirect",countries[i].redirect)
							 }
						 if (countries[i].age){
							 $country.attr("age",countries[i].age)
							 }
						 else{
							 $country.attr("age",0)
							 }
						 if (countries[i].language){
							 $country.attr("language",countries[i].language)
							 }
						 if (countries[i].active){
							 lang=countries[i].language;
							 $country.attr("active",countries[i].active)
							 }
						 }
					 } 
				 lang ? selectLanguage(lang) : selectLanguage();
				 fillLanguage()
				 }
			 )
	   $("td.country div a").click(function(){
											fillCountry();
											var $countrylist=$(this).parent().next();
											var offsetleft=$(this).parent().offset().left;
											var offsettop=$(this).parent().offset().top+$(this).parent().innerHeight()+2;
											$countrylist.find("li").hover(
																		  function(){$(this).addClass("current")},
																		  function(){$(this).removeClass("current")}
																		  )
											$countrylist.find("li").click(function(){
																				   var $country=$("td.country div span")
																				   $country.html($(this).html()).attr("age",$(this).attr("age"))
																				   $country.attr("country",$(this).attr("country"))
																				   if ($(this).attr("language")){
																					   $country.attr("language",$(this).attr("language"))
																					   }
																				   if ($(this).attr("redirect")){
																					   $country.attr("redirect",$(this).attr("redirect"))
																					   }
																				   fillLanguage();
																				   if ($(this).attr("active")=="true"){//如果有激活设置。要默认选中语言
																					   selectLanguage($(this).attr("language"))
																					   }
																				   else{
																					   selectLanguage()
																					   }
																				   
																				   $countrylist.hide();
																				   
																				   })
											$countrylist.css({position:"absolute","left":offsetleft+"px","top":offsettop+"px"}).show();
											return false;
											})
	   
	   $("td.language div a").click(function(){
											 
											 var languageId=$("td.country div span").attr("language");
											 var $languageList=$(this).parent().next();
											 
											 
											 var offsetLeft=$(this).parent().offset().left;
											 var offsetTop=$(this).parent().offset().top+$(this).parent().innerHeight()+2;
											 $languageList.find("li").hover(
																			function(){$(this).addClass("current")},
																			function(){$(this).removeClass("current")}
																			)
											 $languageList.find("li").click(function(){
																					 selectLanguage($(this).attr("language"))
																					 $languageList.hide();
																					 })
											 $languageList.find("li:last").css({"border-bottom":"0 none"})
											 $languageList.css({position:"absolute","left":offsetLeft+"px","top":offsetTop+"px"}).show();
											 var languageListHeight=$languageList.find("ul").height();
											 $languageList.css({height:languageListHeight+"px"});
											 return false;
											 })
	   var checkExternalClick=function(event){
		   var $target = $(event.target);
		   if ($target.parents("td.country").length==0){
			   $("div.countrylist").hide();
			   }
		   if ($target.parents("td.language").length==0){
			   $("div.languagelist").hide();
			   }
		   }
	   $(document).mousedown(function(event){checkExternalClick(event)});
	   
	   $("td.button div a").click(function(){
										   
										   $(".erroralertmsg").html("");
										   //var date=(($("input.year").val()/1+1)+"-"+($("input.month").val()/1+1)+"-"+($("input.day").val()/1+1)).toDate("yyyy-MM-DD")
										   var $this=$(this)
										   var nowDate=new Date();
										   var yearNow = nowDate.getFullYear();
										   var monthNow = nowDate.getMonth();
										   var dateNow = nowDate.getDate();
										   
										   
										   var year=parseInt($("input.year").val());
										   if (year<0 || !year){
											//  window.location.href="http://www.pernod-ricard.com/en/pages/180/pernod/Corporate-responsibility/Responsible-consumption.html";
 $("input.year").addClass("erroralert");
											   $(".erroralertmsg").html(errorMsgs.birthDayError);
											   return false;
											   }
										   
										   var month=parseInt($("input.month").val())-1;
										   if (isNaN(month)){
											   //window.location.href="http://www.pernod-ricard.com/en/pages/180/pernod/Corporate-responsibility/Responsible-consumption.html";
$("input.month").addClass("erroralert");
											   $(".erroralertmsg").html(errorMsgs.birthDayError);
											   return false;
											   }
										   else{
											   if ((month<0 || month) && month>11){;
												  //window.location.href="http://www.pernod-ricard.com/en/pages/180/pernod/Corporate-responsibility/Responsible-consumption.html";
 $("input.month").addClass("erroralert");
												   $(".erroralertmsg").html(errorMsgs.birthDayError);
												   return false;
												   }											   
											   }

										   
										   var date=parseInt($("input.day").val())
										   if (isNaN(date)){
											 // window.location.href="http://www.pernod-ricard.com/en/pages/180/pernod/Corporate-responsibility/Responsible-consumption.html";
 $("input.day").addClass("erroralert");
											   $(".erroralertmsg").html(errorMsgs.birthDayError);
											   return false;
											   }
										   if (month % 2 != 0){
											   if (month==1){//判断2月是否闰年
													if (nowDate.isLeepYear(year)){
														if (date > 28){
															//window.location.href="http://www.pernod-ricard.com/en/pages/180/pernod/Corporate-responsibility/Responsible-consumption.html";
$("input.day").addClass("erroralert");
															$(".erroralertmsg").html(errorMsgs.birthDayError);
															return false;
															}
														}
													else{
														if (date > 29){
														//	window.location.href="http://www.pernod-ricard.com/en/pages/180/pernod/Corporate-responsibility/Responsible-consumption.html";
$("input.day").addClass("erroralert");
															$(".erroralertmsg").html(errorMsgs.birthDayError);
															return false;
															}
														}
												   }
											   else{//判断偶数月不是2月
												   if (date > 30){
													//  window.location.href="http://www.pernod-ricard.com/en/pages/180/pernod/Corporate-responsibility/Responsible-consumption.html";
 $("input.day").addClass("erroralert");
													   $(".erroralertmsg").html(errorMsgs.birthDayError);
													   return false;
													   }
												   }
											   }
										   else{
											   if (date > 31){
												  // window.location.href="http://www.pernod-ricard.com/en/pages/180/pernod/Corporate-responsibility/Responsible-consumption.html";
$("input.day").addClass("erroralert");
												   $(".erroralertmsg").html(errorMsgs.birthDayError);
												   return false;
												   }
											   }
										   
										   if (date<1 || !date){
										   		window.location.href="http://www.pernod-ricard.com/en/pages/180/pernod/Corporate-responsibility/Responsible-consumption.html";
											   //$("input.day").addClass("erroralert");
											   //$(".erroralertmsg").html(errorMsgs.birthDayError);
											   
											   return false;
											   }


										   //var date=new Date(year,month,date)
										   var yearBirth = year//date.getYear();
										   var monthBirth = month//date.getMonth();
										   var dateBirth = date//date.getDate();
										   //判断年份
										   

										   if (yearNow-yearBirth > 160){
											   $("input.year").addClass("erroralert");
											   $(".erroralertmsg").html(errorMsgs.birthDayError);
											   return false;
											   }
										   //判断岁数
										   var age=parseInt($("td.country div span").attr("age"))
										   if (age<1){
											   $(".erroralertmsg").html(errorMsgs.denyAccessError);
											   return false;
											   }
										   if (!$("td.language div span").attr("language")){
											   $(".erroralertmsg").html(errorMsgs.countryLanguageError);
											   return false;
											   }

										   var yearAge=yearNow - yearBirth
										   if (monthNow > monthBirth){
											   var monthAge = monthNow - monthBirth;
											   }
										   else{
											   yearAge--;
											   var monthAge = 12 + monthNow -monthBirth;
											   }
										   if (dateNow > dateBirth){
											   var dateAge = dateNow - dateBirth;
											   }
										   else{
											   monthAge--;
											   var dateAge = 31 + dateNow - dateBirth;
											   }
										   

										   if (yearAge > age){//年龄符合要求
//																   var url = document.referrer;//alert(url.indexOf(".jp/byu"));
//																   url = url.toLowerCase();
//	

var country = $("td.country div span").attr("country");

if(country == "jp") {window.location.href="http://www.malibu-rum.com/jp?true";}
	
//alert($("td.country div span").attr("country"));
//									   if (url.indexOf(".jp/byu") == -1 ){//如果来源站点URL中不包含该字符串，就直接去下面站点
//							//trace("td.country")										   window.location.href="http://www.malibu-rum.com/jp?true";
//																	   return false;
//																	   }
											   $.get(
													 "/byu/api/getSession.aspx",
													 function(data){
														 //alert(filterUrl(['lang',$("td.language div span").attr("language")],$this.attr("href")+locactionHash))
														 if ($("input#rememberme").attr("checked")){
															 //记住我，把信息记入到cookie中去
															 $.cookie('rememberme', 'yes', { expires: 3650, path: '/'});
															 $.cookie('language', $("td.language div span").attr("language"), { expires: 3650, path: '/'});
															 $.cookie('country', $("td.country div span").attr("country"), { expires: 3650, path: '/'})
															 }																			 
														 else{
															 $.cookie('rememberme', '', { expires: -1, path: '/'});
															 $.cookie('language', $("td.language div span").attr("language"));
															 $.cookie('country', $("td.country div span").attr("country"))
															 }
					
														$.cookie('isAgeGate', '1')
														// console.log(window.location.href.indexOf("appid=mbu"))
														
														launchApp();																 
														 return false;
														 }
													 )
											   return false;
											   }
										   else{
											   if ($("td.country div span").attr("redirect")){
												   window.location.href=$("td.country div span").attr("redirect")
												   }
											   else{
												   $(".erroralertmsg").html(errorMsgs.ageError);
												   }
											   return false;
											   }
										   

										   return false
										   })


	   })
