/**
*
*
*/
//Ajax.Responders.register({
//		onCreate: function() {
//			Element.show('wait');
//		},
//		onComplete: function() {
//			Element.hide('wait');
//		}
//	}
//);

/**
* display or hide processing box (waitbox)
* 
*@display (bool)   flag for displaying or hide wait box 
*/
function waitbox(display)
{
	if(display)
	{
		YAHOO.nokair.nokfanclub.wait.show();
	}
	else
	{
		YAHOO.nokair.nokfanclub.wait.hide();
	}
}

function onLoginClick()
{
    var username = $("txtEmailAddress");
    var password = $("txtPassword");
    if(username.value=="")
    {
        alert("Please Enter Email Address..");
        username.focus();
        return false;
    }
    else if(!ValidateEmail(username.value))
    {
        alert("The e-mail address is invalid..");
        username.focus();
        return false;
    }
    else if(password.value=="")
    {
        alert("Please Enter password...");
        password.focus();
    }
    else
    {
       var member = { Email : $F('txtEmailAddress'),  
                      Password :  $F('txtPassword')
                    };
       MemberService.LoginMember(member);
    }
}

function onLogoutClick()
{
   MemberService.LogoutMember();
}

function onActivateClick()
{
    NokNavigator.Activate();
}

function onForgetPasswordClick()
{
    NokNavigator.ForgetPassword();
}

function onHomeClick()
{
    NokNavigator.Home();
}

function onAboutNokFanClubClick()
{
    NokNavigator.AboutNokFanClub();
}

function onEnrollClick()
{
    NokNavigator.Register();
}

function onNewsDealsClick()
{
    NokNavigator.NewsAndDeals();
}

function onEmagazineClick()
{
    NokNavigator.Emagazine();
}

function onContactUsClick()
{
    NokNavigator.ContactUs();
}

function onFAQClick()
{
    NokNavigator.Faq();
}

function onTCClick()
{
    NokNavigator.TC();
}

function onLoginFormClick()
{
    NokNavigator.LoginForm();
}

function onVBVClick()
{
    NokNavigator.VBV();
}

function onRedemptionClick(PromtotionType)
{
    Element.hide('tbYourAccount');
    Element.show('divNewsDetail');
    NokNavigator.MemberRedemption(PromtotionType);
}

/*
 
*/
var NokNavigator = {

    Home: function()
    {
        waitbox(true);
        
        var url		= "aspx/Content.aspx?v=1";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.HomeComplete,
								onFailure:  this.Failed
							});	
    },
    
    
    
    SearchFlight: function()
    {
        waitbox(true);
        
        var url		= "aspx/Content.aspx?v=SF";
		var req = new Ajax.Updater(
		                    'mainSearchFlight',
							url, 
							{
								method: 'POST',
								onComplete: this.SearchFlightComplete,
								onFailure:  this.Failed
							});	
    },
    
    SearchFlightComplete: function(xhr)
	{
	    waitbox(false);
	    initBooking();
	},
	
    HomePromotion: function(ProLeft,ProRight)
    {
        waitbox(true);
        var url		= "aspx/Content.aspx?v=1&ProLeft="+ProLeft+"&ProRight="+ProRight;
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.HomeComplete,
								onFailure:  this.Failed
							});	
    },
    
    AboutNokFanClub: function()
	{
	    waitbox(true);
		var url		= "aspx/Content.aspx?v=2";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.Complete,
								onFailure:  this.Failed
							});	
	},
	
	Register: function()
	{
	    waitbox(true);
	    var url		= "aspx/Content.aspx?v=3";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.Complete,
								onFailure:  this.Failed
							});	
	},
	
	NewsAndDeals: function()
	{
	    waitbox(true);
	    var url		= "aspx/Content.aspx?v=4";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.YourNewsAndDealsComplete,
								onFailure:  this.Failed
							});	
	},
	
	NewsAndDealsSubject: function(year,month)
	{
	    waitbox(true);
	    var url		= "aspx/Content.aspx?v=41&year="+year+"&month="+month;
		var req = new Ajax.Updater(
		                    'divNewsMain',
							url, 
							{
								method: 'POST',
								onComplete: this.YourNewsAndDealsSubjectComplete,
								onFailure:  this.Failed
							});	
	},
	
	Emagazine: function()
	{
	    waitbox(true);
	    var url		= "aspx/Content.aspx?v=5";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.YourEmagazineComplete,
								onFailure:  this.Failed
							});	
	},
	
	EmagazineDetail: function(year)
	{
	    waitbox(true);
	    var url		= "aspx/Content.aspx?v=51&year="+year;
		var req = new Ajax.Updater(
		                    'divEmagMain',
							url, 
							{
								method: 'POST',
								onComplete: this.EmagComplete,
								onFailure:  this.Failed
							});	
	},
	
	ContactUs: function()
	{
	    waitbox(true);
		var url		= "aspx/Content.aspx?v=6";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.ContactUsComplete,
								onFailure:  this.Failed
							});	
	},
	
	ContactUsComplete: function(xhr)
	{
	    waitbox(false);
        /*find destination from JSON's route table*/
	    var ROUTE_TABLE = $F('tmpcasetype');
        
	    var casetype = eval('('+ROUTE_TABLE+')');
    	 
        var htmlCategory = "";
	    if(casetype != null)
	    {
		    for(var i=0;i<casetype.length; i++)
		    {
		        var strCaseTypeID = casetype[i].CaseTypeID;
		        var strCaseTypeName = casetype[i].CaseTypeName;
		        var strCaseTypeValue = casetype[i].CaseTypeValue;
                htmlCategory += "<tr><td id='"+strCaseTypeID+"' class='table_tr' style='cursor: hand' onclick=\"getCategory('"+strCaseTypeID+"','"+strCaseTypeName+"','"+strCaseTypeValue+"')\">"+strCaseTypeName+"<td><tr>"
		    }
	    }
	    $('divSubject').innerHTML = "<table id='ignore' border='0' cellSpacing='0' cellPadding='0' style='width:100%;' onMouseover=\"changeto(event, 'lightgreen')\" onMouseout=\"changeback(event, 'white')\">"+htmlCategory+"</table>";
    	$('txtDetail').value = "";
	},
	
	Faq: function()
	{
		waitbox(true);
		var url		= "aspx/Content.aspx?v=7";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.Complete,
								onFailure:  this.Failed
							});	
	},
	
	TC: function()
	{
		waitbox(true);
		var url		= "aspx/Content.aspx?v=8";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.Complete,
								onFailure:  this.Failed
							});	
	},
	
	LoginForm:function()
	{
	    waitbox(true);
	    var url		= "aspx/Content.aspx?v=10";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.Complete,
								onFailure:  this.Failed
							});	
	},
	
	ForgetPassword:function()
	{
	    waitbox(true);
	    var url		= "aspx/Content.aspx?v=11";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.Complete,
								onFailure:  this.Failed
							});	
	},
	
	VBV:function()
	{
	    waitbox(true);
	    var url		= "aspx/Content.aspx?v=12";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.Complete,
								onFailure:  this.Failed
							});	
	},
	
	YourAccount: function()
	{
		waitbox(true);
		var url		= "aspx/Content.aspx?v=101";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.YourAccountComplete,
								onFailure:  this.Failed
							});	
	},
	
	EditAccount: function()
	{
	    waitbox(true);
	    var url		= "aspx/Content.aspx?v=103";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.EditComplete,
								onFailure:  this.Failed
							});	
	},
	
	MemberRedemption: function(PromtotionType)
	{
		waitbox(true);
		var url		= "aspx/Content.aspx?v=102&PromtotionType="+PromtotionType;
		var req = new Ajax.Updater(
		                    'divNewsDetail',
							url, 
							{
								method: 'POST',
								onComplete: this.Complete,
								onFailure:  this.Failed
							});	
	},
	
	Activate: function()
	{
		waitbox(true);
		var url		= "aspx/Content.aspx?v=104";
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.Complete,
								onFailure:  this.Failed
							});	
	},
	
	GetAccountForActivate: function(ActivateCode)
	{
	    waitbox(true);
	    var url		= "aspx/Content.aspx?v=105&ActivateCode="+ActivateCode;
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.ActivateComplete,
								onFailure:  this.Failed
							});	
	},
	
	ActivateSummary:function(MemberCode)
	{
	    //activate success summary 
	    waitbox(true);
		var url		= "aspx/Content.aspx?v=106&MemberCode="+MemberCode;
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								onComplete: this.Complete,
								onFailure:  this.Failed
							});	
	},
	
	Complete: function(xhr)
	{
	    waitbox(false);
	    //alert(xhr.responseText);
	    //alert('Complete'+$('mainContent').innerHTML);
		//$('mainContent').innerHTML = xhr.responseText;
	},
	
	EmagComplete:function(xhr)
	{
	    waitbox(false);
	    if($('tmpEmag'))
	    {
	        $('emagHeadDetail').innerHTML = $F('tmpEmag');
	    }
	},
	
	EditComplete: function(xhr)
	{
	    $('slYear').value = $F('tmpYear');
	    $('slMonth').value = $F('tmpMonth')*1;
	    changeDay();
	    $('slDate').value = $F('tmpDate')*1;
	    $('lstNokMemberHomeProvince').value = $F('tmpStateProvince');
	    $('lstNokMemberWorkProvince').value = $F('tmpWorkStateProvince');
	    
	    var news = $F('tmpNewsWanted');
	    var n = news.split(",");
	    for(i=0;i<n.length;i++)
	    {
	        switch(n[i])
	        {
	            case "Email":
	                $('chkEmail').checked = true;
	                break;
                case "SMS":
                    $('chkSMS').checked = true;
                    break;
                case "PostalMail":
                    $('chkPostalMail').checked = true;
                    break;
	        }
	    }
	    
	    $('slTitle').value = $F('tmpTitle');
	    
	    var PreferPlace = $F('tmpPreferPlace');
	    var p = PreferPlace.split(",");
	    
	    var cntAirport = 0;
	    
	    for(var i=0; i < $('form1').elements.length; i++)
	    {
		    if($('form1').elements[i].type=="checkbox")
		    {
			    if(trim($('form1').elements[i].name).substring(0,10)=='chkAirport')
			    {
			        cntAirport++;
			        for(j=0;j<p.length;j++)
                    {
                        if($('form1').elements[i].value==p[j])
                        {
                            $('form1').elements[i].checked =true;
                        }
                    }
			    }
		    }
	    }
	    if(cntAirport==p.length)
	    {
	        $('chkAllDestination').checked = true;
	    }
	    waitbox(false);
	},
	
	ActivateComplete: function(xhr)
	{
	    $('slTitle').value = $F('tmpTitle');
	    $('slYear').value = $F('tmpYear');
	    $('slMonth').value = $F('tmpMonth')*1;
	    changeDay();
	    $('slDate').value = $F('tmpDate')*1;
	    waitbox(false);
	},
	
	YourAccountComplete: function(xhr)
    {

	    var wndo = new dw_scrollObj('wn', 'lyr1', 't1');
        wndo.setUpScrollControls('scrollLinks');
        waitbox(false);
        if($('hddIsSurvey') && $F('hddIsSurvey')== 'false')
        {
           //Element.hide('Search_flight1_divTime');
          Element.show('winSurvey');
           //$('divHeader').innerText = "Survey";
           YAHOO.nokair.nokfanclub.survey.show();
           NokNavigator.SurveyForm();
	    }
	},
	
	YourNewsAndDealsComplete: function(xhr)
    {
        waitbox(false);
	    //find destination from JSON's route table
	    var objy = $F('route_year');
	    
	    
	    var y = eval('('+objy+')');

        for(var i=0;i<y.length; i++)
	    {
		    var newOption=document.createElement('option');
		    newOption.value = y[i].Year;
		    newOption.text  = y[i].Year;
		    try
			{
				$('slYear').add(newOption,null);
			}
			catch(ex)
			{
				$('slYear').add(newOption);
			}
		}
		$('slYear').value = $F('curr_year');
        fillMonth(false);
        $('slMonth').value = $F('curr_month')*1;
        //get subject news and deals 
	   if($F('slMonth')!=null)
	        NokNavigator.NewsAndDealsSubject($F('slYear'),$F('slMonth'));
	        
	   //track google
	   pageTracker._trackPageview("News And Deals" ); 
	},
	
	YourEmagazineComplete: function(xhr)
    {
        $('slYear').value = $F('curr_year');
        
        //get emag detail
        NokNavigator.EmagazineDetail($F('slYear'));
	},
	
	YourNewsAndDealsSubjectComplete: function(xhr)
    {
	    var wndo = new dw_scrollObj('wn', 'lyr1', 't1');
        wndo.setUpScrollControls('scrollLinks');
        waitbox(false);
	},
	
	HomeComplete: function(xhr)
	{
	    if($('tmpNews1'))
	    {
		    $('divNewsDetail1').innerHTML = $F('tmpNews1');
		}
		if($('tmpNews2'))
	    {
		    $('divNewsDetail2').innerHTML = $F('tmpNews2');
		}
		waitbox(false);
	},
	
    SurveyForm: function()
	{
		waitbox(true);
		var url		= "aspx/Content.aspx?v=Survey_001";
		var req = new Ajax.Updater(
		                    'divSurveyShow',
							url, 
							{
								method: 'POST',
								onComplete: this.Complete,
								onFailure:  this.SurveyFormFailed
							});	
	},
	
	SurveyFormFailed:function(xhr)
	{
	    //alert("Failed");
	    waitbox(false);
	    Element.hide('winSurvey');
        YAHOO.nokair.nokfanclub.survey.hide();
	},
	
	Failed:function(xhr)
	{
	    alert("Failed");
	    $('mainContent').innerHTML = "";
	    //alert(xhr.responseText);
	    waitbox(false);
	}
	
}

function fillMonth(chk)
{
    while ($('slMonth').length>0)
	{
		$('slMonth').remove(0);
	}
	
    var objm = $F('route_month');
    var mm = eval('('+objm+')');
    
    var y = $('slYear').value;
    
    var m = mm[y];
    
    for(var i=0;i<m.length; i++)
    {
	    var newOption=document.createElement('option');
	    newOption.value = m[i].Month;
	    newOption.text  = m[i].MonthName;
	    
	    try
		{
			$('slMonth').add(newOption,null);
		}
		catch(ex)
		{
			$('slMonth').add(newOption);
		}
	}
	
	if($F('slYear')==$F('curr_year'))
	{
	     $('slMonth').value = $F('curr_month');
	}
	
	if(chk)
	{
	    onFillNewsSubjectClick();
	}
}

function onFillNewsSubjectClick()
{
    $('divNewsDetail').innerHTML = "";
    NokNavigator.NewsAndDealsSubject($F('slYear'),$F('slMonth'));
}

function onYearEmagClick()
{
    //get emag detail
    NokNavigator.EmagazineDetail($F('slYear'));
}

/**
* Content handle object
*
*/
var ContentService = {
    /**
	  Save Contact Us
	*/
	AddContactUs: function(contactus)
	{
	    waitbox(true);
		var url		= "Services/ContentService.aspx";
			var pars    =  JSON.stringify(contactus);
			Form.disable('form1'); 
			var req = new Ajax.Request(
								url, 
								{
									method: 'post', 
									parameters: encodeURIComponent(pars),
									requestHeaders: ['connext', 'dreamteam', 'mission', '100'],
									onComplete: this.onAddContactUsComplete,
									onFailure:  this.onFailed
								});	
	},

	onAddContactUsComplete: function(xhr)
	{
		var mission = eval('('+xhr.responseText+')');

		NokResponse.handle(mission);
		Form.enable('form1');
		//$('txtFirstName').value = "";
		//$('txtLastName').value = "";
		//$('txtEmail').value = "";
		//$('lstSubject').value = "MemberApplication";
		
		if($('txtFirstName').readOnly == true)
		    $('slTitle').disabled = true;
		
		$('divCategory').innerHTML = "";
        $('divSubCategory').innerHTML = "";
        if(tmpSelectCase!="")
            $(tmpSelectCase).style.backgroundColor="white";
		$('txtDetail').value = "";			
	},

   /**
	  Save Subscribe
	*/
	AddSubscribe: function(email)
	{
	    waitbox(true);
		var url		= "Services/ContentService.aspx";
			var pars    =  JSON.stringify(email);
			Form.disable('form1'); 
			var req = new Ajax.Request(
								url, 
								{
									method: 'post', 
									parameters: encodeURIComponent(pars),
									requestHeaders: ['connext', 'dreamteam', 'mission', '200'],
									onComplete: this.onAddSubscribeComplete,
									onFailure:  this.onFailed
								});	
	},
	
	onAddSubscribeComplete: function(xhr)
	{
		var mission = eval('('+xhr.responseText+')');
		NokResponse.handle(mission);
		Form.enable('form1');
		$('txtEmailNews').value = "";			
	},
		
	Promotion: function(Promotion)
	{
	    waitbox(true);
	    var url		= "Services/ContentService.aspx";
		var pars    =  JSON.stringify(Promotion);
		//Form.disable('form1'); 
		var req = new Ajax.Request(
							url, 
							{
								method: 'post', 
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '300'],
								onComplete: this.onGetPromotionComplete,
								onFailure:  this.onFailed
							});	
	},
	
	onGetPromotionComplete: function(xhr)
	{
	    var mission = eval('('+xhr.responseText+')');
	    $('mainContent').innerHTML = mission.message;
	    $('divDetail').innerHTML = $F('tmp');
	    waitbox(false);
	},
	
	NewsAndDeals: function(NewsAndDeals)
	{
	    waitbox(true);
	    var url		= "Services/ContentService.aspx";
		var pars    =  JSON.stringify(NewsAndDeals);
		var req = new Ajax.Request(
							url, 
							{
								method: 'post', 
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '400'],
								onComplete: this.onGetNewsAndDealsComplete,
								onFailure:  this.onFailed
							});	
	},
	
	onGetNewsAndDealsComplete: function(xhr)
	{
	    var mission = eval('('+xhr.responseText+')');
	    $('mainContent').innerHTML = mission.message;
	    $('divDetail').innerHTML = $F('tmp');
	    waitbox(false);
	},
	
	MemberNewsAndDeals: function(NewsAndDeals)
	{
	    waitbox(true);
	    var url		= "Services/ContentService.aspx";
		var pars    =  JSON.stringify(NewsAndDeals);
		var req = new Ajax.Request(
							url, 
							{
								method: 'post', 
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '500'],
								onComplete: this.onMemberNewsAndDealsComplete,
								onFailure:  this.onFailed,
								onException: this.onFailed
							});	
	},
	
	onMemberNewsAndDealsComplete: function(xhr)
	{
	    var mission = eval('('+xhr.responseText+')');
	    $('divNewsDetail').innerHTML = mission.message;
	    $('divDetail').innerHTML = $F('tmp');
	    waitbox(false);
	},
	
	onFailed:function(xhr)
	{
		alert('System Unavailable, please try again later.');
		Form.enable('form1');
		waitbox(false);
	}
}
var NokResponse = {
	
	/**
	* handle response of profile operation
	*
	*/
	handle: function(mission)
	{
		try
		{
		    waitbox(false);
			if(mission.completed == '1')
			{
				alert(mission.message);
				
				if(mission.redirect == '1' && mission.url != '')
				{
					location.href=mission.url;
				}
				else if(mission.canvas != '' &&  mission.url != '')
				{ //update content
					var req = new Ajax.Updater(
						mission.canvas,
						mission.url, 
						{
							method: 'POST'
						});
				}
			}
			else
			{  //failed
				alert(mission.message);
			}
		}
		catch(err)
		{
			alert('failed to process reposne: '+ err);
			waitbox(false);
		}
	}
};

function onSaveContactClick()
{

    if(ValidateInput())
    {
        var contactus = {
                    Title : $F('slTitle'),
					FirstName: $F('txtFirstName'),
					LastName: $F('txtLastName'),
					Email: $F('txtEmail'),
					//Subject: $F('lstSubject'),
					CaseTypeID : tmpSelectCase,
					CategoryID : tmpSelectCategory,
					SubCategoryID : tmpSelectSubCategory,
					CaseTypeName : tmpSelectCaseName,
					CategoryName : tmpSelectCategoryName,
					SubCategoryName : tmpSelectSubCategoryName,
					CaseTypeValue : tmpSelectCaseValue,
					Detail: $F('txtDetail')
				 };
	    ContentService.AddContactUs(contactus);
    }
}
function onSubscribeClick()
{
    var txtEmail = $('txtEmailNews');
    if(txtEmail.value=="")
    {
        alert("Please enter Email address..");
        txtEmail.focus();
        return false;
    }
    else if(!ValidateEmail(txtEmail.value))
    {
        alert("The e-mail address is invalid..");
        txtEmail.focus();
        return false;
    }
    else
    {
        var email = {Email:txtEmail.value};
        ContentService.AddSubscribe(email);
    }
}
function onFaqClick(id)
{
    Element.hide('tbFaq1');
	Element.hide('tbFaq2');
	Element.hide('tbFaq3');
	Element.hide('tbFaq4');
    switch(id)
    {
        case "1":
             Element.show('tbFaq1');
             break;
        case "2":
             Element.show('tbFaq2');
             break;
        case "3":
             Element.show('tbFaq3');
             break;
        case "4":
             Element.show('tbFaq4');
             break;
    }
}

function ValidateInput()
{
    var txtFirstName = $("txtFirstName");
    var txtLastName = $("txtLastName");
    var txtEmail = $("txtEmail");
    var txtDetail = $("txtDetail");

    if(txtFirstName.value=="")
    {
        alert("กรุณากรอกข้อมูลชื่อด้วย.");
        txtFirstName.focus();
        return false;
    }
    else if(txtLastName.value=="")
    {
        alert("กรุณากรอกข้อมูลนามสกุลด้วย.");
        txtLastName.focus();
        return false;
    }
    else if(txtEmail.value=="")
    {
        alert("กรุณากรอกข้อมูลอีเมลล์");
        txtEmail.focus();
        return false;
    }
    else if(!ValidateEmail(txtEmail.value))
    {
        alert("คุณกรอกข้อมูลอีเมลล์ไม่ถูกต้อง.");
        txtEmail.focus();
        return false;
    }
    else if(trim(txtDetail.value)=="")
    {
        alert("กรุณากรอกข้อมูลรายละเอียดด้วย.");
        txtDetail.focus();
        return false;
    }
    else if(tmpSelectCase == "")
    {
        alert("กรุณาเลือกหัวข้อเรื่องด้วย.");
        return false;
    }
    else if(tmpSelectCategory == "")
    {
        alert("กรุณาเลือกหัวข้อด้วย.");
        return false;
    }
    else if(tmpSelectSubCategory == "")
    {
        alert("กรุณาเลือกหัวข้อย่อยด้วยค่ะ.");
        return false;
    }
    else
    {     
        return true;
    }
}
function ValidateEmail(email) {
    var filter  = "/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/";
    if (!filter.test(email)) 
    {
       return false;
    }
    else
    {
       return true;
    }
}
function isMobilePhoneNumber(mobilephone) {
    var filter  = /^[1-9][0-9]\d{8,13}/; 
    if (!filter.test(mobilephone)) 
    {
       return false;
    }
    else
    {
       return true;
    }
}

function isPhoneNumber(phone) {
    var filter  = /^[1-9][0-9]\d{8,13}/;
    if (!filter.test(phone)) 
    {
       return false;
    }
    else
    {
       return true;
    }
}

/*
Member handle object
*/

var MemberService = {
    /*
    login member
    */
    LoginMember: function(member) {
        waitbox(true);
        var url = "Services/MemberService.aspx";
        var pars = JSON.stringify(member);
        Form.disable('form1');
        var req = new Ajax.Request(
							url,
							{
							    method: 'post',
							    parameters: encodeURIComponent(pars),
							    requestHeaders: ['connext', 'dreamteam', 'mission', '100'],
							    onComplete: this.onLoginComplete,
							    onFailure: this.onFailed
							});
    },
    onLoginComplete: function(xhr) {
        waitbox(true);
        var mission = eval('(' + xhr.responseText + ')');
        var mission = eval('(' + xhr.responseText + ')');
        if (mission.completed == '1') {
            //login success
            Form.enable('form1');
            $('textDisplay').innerText = mission.message;
            $('divLogin').style.display = 'none';
            $('divLogout').style.display = 'inline';
            $('divLoginAccount').style.display = 'inline';
            $('divLogoutAccount').style.display = 'none';
            NokNavigator.YourAccount();
        }
        else {
            //login failed
            alert(mission.message);
            Form.enable('form1');
            waitbox(false);
        }
    },

    /*
    login member
    */
    LoginActivate: function(ActivateCode) {
        waitbox(true);
        var url = "Services/MemberService.aspx";
        var pars = JSON.stringify(ActivateCode);
        Form.disable('form1');
        var req = new Ajax.Request(
							url,
							{
							    method: 'post',
							    parameters: encodeURIComponent(pars),
							    requestHeaders: ['connext', 'dreamteam', 'mission', '200'],
							    onComplete: this.onLoginActivateComplete,
							    onFailure: this.onFailed
							});
    },
    onLoginActivateComplete: function(xhr) {
        var mission = eval('(' + xhr.responseText + ')');
        if (mission.completed == '1') {
            //login success
            var ActivateCode = mission.message;
            NokNavigator.GetAccountForActivate(ActivateCode);

        }
        else {
            //login failed
            alert(mission.message);
            Form.enable('form1');
            waitbox(false);
        }
    },

    LogoutMember: function() {
        waitbox(true);
        var url = "Services/MemberService.aspx";
        var member = { MemberID: '' };
        var pars = JSON.stringify(member);
        Form.disable('form1');
        var req = new Ajax.Request(
							url,
							{
							    method: 'post',
							    parameters: encodeURIComponent(pars),
							    requestHeaders: ['connext', 'dreamteam', 'mission', '300'],
							    onComplete: this.onLogoutComplete,
							    onFailure: this.onFailed
							});
    },
    onLogoutComplete: function(xhr) {
        var mission = eval('(' + xhr.responseText + ')');
        Form.enable('form1');
        if (mission.completed == '1') {
            $('textDisplay').innerText = "";
            $('divLogin').style.display = 'inline';
            $('divLogout').style.display = 'none';
            $('divLoginAccount').style.display = 'none';
            $('divLogoutAccount').style.display = 'inline';
            NokNavigator.Home();
        }
        else {
            //login failed
            alert(mission.message);
            waitbox(false);
        }
    },
    ForgetPassword: function(email) {
        waitbox(true);
        var url = "Services/MemberService.aspx";
        var pars = JSON.stringify(email);
        Form.disable('form1');
        var req = new Ajax.Request(
							url,
							{
							    method: 'post',
							    parameters: encodeURIComponent(pars),
							    requestHeaders: ['connext', 'dreamteam', 'mission', '400'],
							    onComplete: this.onForgetPasswordComplete,
							    onFailure: this.onFailed
							});
    },

    onForgetPasswordComplete: function(xhr) {
        var mission = eval('(' + xhr.responseText + ')');
        Form.enable('form1');
        waitbox(false);
        if (mission.completed == '1') {
            alert(mission.message);
            $('txtEmail').value = "";
        }
        else {
            //login failed
            alert(mission.message);
        }
    },
    ValidateLogin: function() {
        waitbox(true);
        var url = "Services/MemberService.aspx";
        var member = { MemberID: '' };
        var pars = JSON.stringify(member);
        Form.disable('form1');
        var req = new Ajax.Request(
							url,
							{
							    method: 'post',
							    parameters: encodeURIComponent(pars),
							    requestHeaders: ['connext', 'dreamteam', 'mission', '500'],
							    onComplete: this.onValidateLoginComplete,
							    onFailure: this.onValidateLoginFailed
							});
    },
    onValidateLoginComplete: function(xhr) {
        var mission = eval('(' + xhr.responseText + ')');
        Form.enable('form1');
        waitbox(false);
        if (mission.completed == '1') {
            NokNavigator.YourAccount();
        }
        else {
            $('textDisplay').innerText = "";
            $('divLogin').style.display = 'inline';
            $('divLogout').style.display = 'none';
            $('divLoginAccount').style.display = 'none';
            $('divLogoutAccount').style.display = 'inline';
            alert('Session expire,please login try again.');
            NokNavigator.Home();
        }
    },
    onValidateLoginFailed: function(xhr) {
        alert('Session expire,please login try again.');
        Form.enable('form1');
        waitbox(false);
        $('textDisplay').innerText = "";
        $('divLogin').style.display = 'inline';
        $('divLogout').style.display = 'none';
        $('divLoginAccount').style.display = 'none';
        $('divLogoutAccount').style.display = 'inline';
        NokNavigator.Home();
    },

    SearchMember: function(memberCode) {
        YAHOO.nokair.nokfanclub.wait.show();
        var url = "../Services/MemberService.aspx";
        var member = { MemberCode: memberCode };
        var pars = JSON.stringify(member);
        Form.disable('form1');
        var req = new Ajax.Request(
							url,
							{
							    method: 'post',
							    parameters: encodeURIComponent(pars),
							    requestHeaders: ['connext', 'dreamteam', 'mission', '900'],
							    onComplete: this.onSearchMemberComplete,
							    onFailure: this.onFailed
							});
    },
    onSearchMemberComplete: function(xhr) {
        var mission = eval('(' + xhr.responseText + ')');
        Form.enable('form1');
        YAHOO.nokair.nokfanclub.wait.hide();
        var hddCurrentMember = $('usrPaxInput_hddCurrentMember');
        var hddCurrentSex = $('usrPaxInput_hddCurrentSex');
        var hddCurrentFirstName = $('usrPaxInput_hddCurrentFirstName');
        var hddCurrentLastName = $('usrPaxInput_hddCurrentLastName');
        if (mission.completed == '1') {
            //alert(mission.message);
            var member = eval('(' + mission.message + ')');
            //		     var data = mission.message.split("/");
            $(hddCurrentSex.value).value = member.TitleNameEN;
            $(hddCurrentFirstName.value).value = member.FirstNameEN;
            $(hddCurrentLastName.value).value = member.LastNameEN;

            if ($F('usrPaxInput_paxMemberCode1') == member.MemberCode || $F('Payment_form1_tbxConfirmEmail')=='') {
                $('Payment_form1_tbxAddress1').value = member.PlaceNo + " " + member.SoiName + " " + member.RoadName;
                $('Payment_form1_tbxCity').value = member.Amphur;
                $('Payment_form1_tbxState').value = member.StateProvince;
                $('Payment_form1_tbxPostal').value = member.PostCodeZipCode;
                $('Payment_form1_tbxMobileNo').value = member.MobilePhone;
                $('Payment_form1_tbxWorkPhone').value = member.Telephone;
                $('Payment_form1_tbxEmail').value = member.EmailAddress;
                $('Payment_form1_tbxConfirmEmail').value = member.EmailAddress;

                $('Payment_form_offline1_tbxAddress1Offline').value = member.PlaceNo + " " + member.SoiName + " " + member.RoadName;
                $('Payment_form_offline1_tbxCityOffline').value = member.Amphur;
                $('Payment_form_offline1_tbxStateOffline').value = member.StateProvince;
                $('Payment_form_offline1_tbxPostalOffline').value = member.PostCodeZipCode;
                $('Payment_form_offline1_tbxMobileNoOffline').value = member.MobilePhone;
                $('Payment_form_offline1_tbxWorkPhoneOffline').value = member.Telephone;
                $('Payment_form_offline1_tbxEmailOffline').value = member.EmailAddress;
                $('Payment_form_offline1_tbxConfirmEmailOffline').value = member.EmailAddress;
            }
        }
        else {
            alert("ไม่พบข้อมูลสมาชิก.");
            $(hddCurrentSex.value).value = "MR";
            $(hddCurrentFirstName.value).value = "";
            $(hddCurrentLastName.value).value = "";
        }
    },
    onFailed: function(xhr) {
        alert('System Unavailable, please try again later.');
        //alert(xhr.responseText);
        Form.enable('form1');
    }
}
/**
* Register handle object
*
*/
var RegisterService = {
     /**
      validate id card and email for register and Save Register data tmp
	*/
	validateMember: function(member)
	{
	    waitbox(true);
		var url		= "Services/RegisterService.aspx";
		var pars    =  JSON.stringify(member);
		
		Form.disable('form1'); 
		var req = new Ajax.Request(
							url, 
							{
								method: 'post', 
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '100'],
								onComplete: this.onRegisterServiceComplete,
								onFailure:  this.onFailed
							});	
	},
	
	onRegisterServiceComplete: function(xhr)
	{
	    waitbox(false);
	    Form.enable('form1');
		var mission = eval('('+xhr.responseText+')');
		if(mission.completed == '1')
		{
			location.href=mission.url;
		}
		else
		{  //failed
			alert(mission.message);
		}		
	},
	
	/**
      
	*/
	EditMember: function(member)
	{
	    waitbox(true);
		var url		= "Services/RegisterService.aspx";
		var pars    =  JSON.stringify(member);
		Form.disable('form1'); 
		var req = new Ajax.Request(
							url, 
							{
								method: 'post', 
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '300'],
								onComplete: this.EditMemberComplete,
								onFailure:  this.onFailed
							});	
	},
	
	/*
	validate payment Register 
	*/
	validatePayment:function(payment)
	{
	    waitbox(true);
	    var url		= "../Services/RegisterService.aspx";
		var pars    =  JSON.stringify(payment);
		Form.disable('form1'); 
		var req = new Ajax.Request(
							url, 
							{
								method: 'post', 
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '200'],
								onComplete: this.onRegisterServicePaymentComplete,
								onFailure:  this.onFailed
							});	
	},
	
	onRegisterServicePaymentComplete: function(xhr)
	{
	    waitbox(false);
	    Form.enable('form1');
		var mission = eval('('+xhr.responseText+')');
		if(mission.completed == '1')
		{
			location.href=mission.url;
		}
		else
		{  //failed
			alert(mission.message);
		}		
	},
	
	/* BBL Promotion Register  */
	BBLPromotionRegister:function(Member)
	{
	    waitbox(true);
	    var url		= "../Services/RegisterService.aspx";
		var pars    =  JSON.stringify(Member);
		Form.disable('form1'); 
		var req = new Ajax.Request(
							url, 
							{
								method: 'post', 
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '500'],
								onComplete: this.BBLPromotionRegisterComplete,
								onFailure:  this.onFailed
							});	
	},
	
	BBLPromotionRegisterComplete: function(xhr)
	{
	    waitbox(false);
	    Form.enable('form1');
		var mission = eval('('+xhr.responseText+')');
		if(mission.completed == '1')
		{
		    alert(mission.message);
			location.href=mission.url;
		}
		else
		{  //failed
			alert(mission.message);
		}		
	},
	
	/*
	activate member
	*/
	ActivateMember:function(member)
	{
	    waitbox(true);
	    var url		= "Services/RegisterService.aspx";
		var pars    =  JSON.stringify(member);
		Form.disable('form1'); 
		var req = new Ajax.Request(
							url, 
							{
								method: 'post', 
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '400'],
								onComplete: this.ActivateMemberComplete,
								onFailure:  this.onFailed
							});	
	},
	
	ActivateMemberComplete: function(xhr)
	{
		var mission = eval('('+xhr.responseText+')');
		if(mission.completed == '1')
		{
		    alert(mission.message);
			NokNavigator.ActivateSummary(mission.url);
		}
		else
		{  //failed
			alert(mission.message);
			Form.enable('form1');
			waitbox(false);
		}	
	},
	
	EditMemberComplete: function(xhr)
	{
	    Form.enable('form1');
		var mission = eval('('+xhr.responseText+')');
		if(mission.completed == '1')
		{
		    alert(mission.message);
		    
			NokNavigator.YourAccount();
		}
		else
		{  //failed
			alert(mission.message);
			waitbox(false);
		}	
	},
	
	
	
	onFailed:function()
	{
		alert('System Unavailable, please try again later.');
		Form.enable('form1');
		waitbox(false);
	}
}

/*
Validate Register Payment
*/
function onValidatePayment()
{
    var tbxFirstName = $("tbxFirstName");  
    var tbxCardCvv =$("tbxCardCvv");
    var cbxAcceptTerm = $("cbxAcceptTerm");
    var tbxCardNo1 = $("tbxCardNo1");
    var tbxCardNo2 = $("tbxCardNo2");
    var tbxCardNo3 = $("tbxCardNo3");
    var tbxCardNo4 = $("tbxCardNo4");
    if(tbxFirstName.value=="")
    {
        alert("Required Data Name on card");
        tbxFirstName.focus();
    }
    else if(tbxCardNo1.value=="" || trim(tbxCardNo1.value).length != 4)
    {
        alert(NOK_INVALID_CARD_NO);
        tbxCardNo1.focus();
    }
    else if(tbxCardNo2.value=="" || trim(tbxCardNo2.value).length != 4)
    {
        alert(NOK_INVALID_CARD_NO);
        tbxCardNo2.focus();
    }
    else if(tbxCardNo3.value=="" || trim(tbxCardNo3.value).length != 4)
    {
        alert(NOK_INVALID_CARD_NO);
        tbxCardNo3.focus();
    }
    else if(tbxCardNo4.value=="" || trim(tbxCardNo4.value).length != 4)
    {
        alert(NOK_INVALID_CARD_NO);
        tbxCardNo4.focus();
    }
    else if(tbxCardCvv.value=="" || trim(tbxCardCvv.value).length != 3)
    {
        alert("Required CVV last 3-digit on the back");
        tbxCardCvv.focus();
    }
    else if($('rdoVisa').checked && tbxCardNo1.value.substring(0,1) != '4')
    {
        alert(NOK_INVALID_CARD_TYPE);
    }
    else if($('rdoMaster').checked && tbxCardNo1.value.substring(0,1) != '5')
    {
        alert(NOK_INVALID_CARD_TYPE);
    }
    else if($('rdoJcb').checked && tbxCardNo1.value.substring(0,1) != '3')
    {
        alert(NOK_INVALID_CARD_TYPE);
    }
    else if(!cbxAcceptTerm.checked)
    {
        alert(NOK_MUST_ACCEPT_TERM);
    }
    else
    {
       var payment = {
                        refNo : $F('refNo'),
                        Name  : $F('tbxFirstName'),
                        Type  : ($('rdoVisa').checked)?'VI':($('rdoMaster').checked)?'MC':'JC',
                        Card1 : $F('tbxCardNo1'),
                        Card2 : $F('tbxCardNo2'),
                        Card3 : $F('tbxCardNo3'),
                        Card4 : $F('tbxCardNo4'),
                        Month : $F('ddlCardExpMonth'),
                        Year  : $F('ddlCardExpYear'),
                        CVV   : $F('tbxCardCvv')
                     };
       RegisterService.validatePayment(payment);
    }
}
function onBBLRegisterClick(refNo)
{
    var Member = { 
                    refNo : refNo,
                    MemberCode : $F('txtMemberCode')
                };
    RegisterService.BBLPromotionRegister(Member);
}
/*
Register
*/
function onValidateRegister()
{
    var txtNokMemberFirstNameTH = $("txtNokMemberFirstNameTH");
    var txtNokMemberLastNameTH = $("txtNokMemberLastNameTH");
    var txtNokMemberFirstNameEN = $("txtNokMemberFirstNameEN");
    var txtNokMemberLastNameEN = $("txtNokMemberLastNameEN");
    var txtNokMemberIDCard = $("txtNokMemberIDCard");
    var txtNokMemberHomeHomeMo = $("txtNokMemberHomeHomeMo");
    var txtNokMemberHomeRoadName = $("txtNokMemberHomeRoadName");
    var txtNokMemberHomeSubDistrict = $("txtNokMemberHomeSubDistrict");
    var txtNokMemberHomeDistrict = $("txtNokMemberHomeDistrict");
    var txtNokMemberHomePostalCode = $("txtNokMemberHomePostalCode");
    var txtNokMemberHomePhone = $("txtNokMemberHomePhone");
    var txtNokMemberHomeMobile = $("txtNokMemberHomeMobile");
    var txtNokMemberEmail = $("txtNokMemberEmail");
    var txtNokMemberConfirmEmail = $("txtNokMemberConfirmEmail");
    var txtNokMemberPassword = $("txtNokMemberPassword");
    var txtNokMemberConfirmPassword = $("txtNokMemberConfirmPassword");
    
    if(txtNokMemberFirstNameTH.value=="" && $("chkThaiNation").checked)
    {
        alert("Required Data NokMember First Name Thai...");
        txtNokMemberFirstNameTH.focus();
    }
    else if(txtNokMemberLastNameTH.value=="" && $("chkThaiNation").checked)
    {
        alert("Required Data NokMember Last Name Thai...");
        txtNokMemberLastNameTH.focus();
    }
    else if(txtNokMemberFirstNameEN.value=="")
    {
        alert("Required Data NokMember First Name English...");
        txtNokMemberFirstNameEN.focus();
    }
    else if(trim(txtNokMemberFirstNameEN.value).length <2)
    {
        alert("Required Data NokMember First Name English Last More Than 2 Charecter..");
        txtNokMemberFirstNameEN.focus();
    }
    else if(txtNokMemberLastNameEN.value=="")
    {
        alert("Required Data NokMember Last Name English...");
        txtNokMemberLastNameEN.focus();
    }
    else if(trim(txtNokMemberLastNameEN.value).length <3)
    {
        alert("Required Data NokMember Last Name English Last More Than 3 Charecter..");
        txtNokMemberLastNameEN.focus();
    }
    else if( (txtNokMemberIDCard.value=="" || txtNokMemberIDCard.value.length != 13) && $("chkThaiNation").checked )
    {
        alert("Required Data NokMember Id Card...");
        txtNokMemberIDCard.focus();
    }
    else  if( (txtNokMemberIDCard.value=="" || txtNokMemberIDCard.value.length < 5) && !$("chkThaiNation").checked )
    {
        alert("Required Data Passport No...");
        txtNokMemberIDCard.focus();
    }
    else if(txtNokMemberHomeHomeMo.value=="")
    {
        alert("Required Data NokMember Home No...");
        txtNokMemberHomeHomeMo.focus();
    }
    else if(txtNokMemberHomeRoadName.value=="")
    {
        alert("Required Data NokMember Road Name..");
        txtNokMemberHomeRoadName.focus();
    }
    else if(txtNokMemberHomeSubDistrict.value=="")
    {
        alert("Required Data NokMember Sub District..");
        txtNokMemberHomeSubDistrict.focus();
    }
    else if(txtNokMemberHomeDistrict.value=="")
    {
        alert("Required Data NokMember District..");
        txtNokMemberHomeDistrict.focus();
    }
    else if(txtNokMemberHomePostalCode.value=="")
    {
        alert("Required Data NokMember Home Postal Code...");
        txtNokMemberHomePostalCode.focus();
    }
    else if(txtNokMemberHomePhone.value=="")
    {
       alert("Required Data NokMember Home Phone...");
       txtNokMemberHomePhone.focus();
    }
    else if (!isPhoneNumber(txtNokMemberHomePhone.value))
    {
        alert("Please specify the country and area codes. Example 02 627-2000 = 6626272000 or 034 123-456 = 6634123456");
        txtNokMemberHomePhone.focus();
    }
    else if(txtNokMemberHomeMobile.value=="")
    {
        alert("Required Data NokMember Mobile Phone...");
        txtNokMemberHomeMobile.focus();
    }
    else if(!isMobilePhoneNumber(txtNokMemberHomeMobile.value))
    {
        alert("Please specify the country and area codes. Example 081 999-1234 = 66819991234");
        txtNokMemberHomeMobile.focus();
    }
    else if(txtNokMemberEmail.value=="" )
    {
        alert("Required Data NokMember Email...");
        txtNokMemberEmail.focus();
    }
    else if(!ValidateEmail(txtNokMemberEmail.value))
    {
        alert("The e-mail address is invalid..");
        txtNokMemberEmail.focus();
    }
    else if(txtNokMemberConfirmEmail.value=="")
    {
        alert("Required Data NokMember Email...");
        txtNokMemberConfirmEmail.focus();
    }
    else if(!ValidateEmail(txtNokMemberConfirmEmail.value))
    {
        alert("The e-mail address is invalid..");
        txtNokMemberConfirmEmail.focus();
    }
    else if(txtNokMemberEmail.value != txtNokMemberConfirmEmail.value)
    {
        alert("Please check e-mail address..");
        txtNokMemberEmail.focus();
    }
    else if(txtNokMemberPassword.value=="")
    {
        alert("Required Data NokMember Password...");
        txtNokMemberPassword.focus();
    }
    else if(txtNokMemberConfirmPassword.value=="")
    {
        alert("Required Data NokMember Password...");
        txtNokMemberConfirmPassword.focus();
    }
    else if(txtNokMemberPassword.value != txtNokMemberConfirmPassword.value)
    {
        alert("Please check password..");
        txtNokMemberEmail.focus();
    }
    else
    { 
        var NewsWanted = "";
        if($('chkEmail').checked)
        {
            NewsWanted = $F('chkEmail');
        }
        if($('chkSMS').checked)
        {
            if(NewsWanted!="") 
                NewsWanted += ",";
            NewsWanted += $F('chkSMS');
        }
        if($('chkPostalMail').checked)
        {
            if(NewsWanted!="") 
                NewsWanted += ",";
            NewsWanted += $F('chkPostalMail');
        }
        
        var PreferPlace = "";
        
        for(var i=0; i < $('form1').elements.length; i++)
	    {
		    if($('form1').elements[i].type=="checkbox")
		    {
			    if(trim($('form1').elements[i].name).substring(0,10)=='chkAirport')
			    {
			        if($('form1').elements[i].checked)
			        {
			            if(PreferPlace!="") 
                            PreferPlace += ",";
                        PreferPlace += $('form1').elements[i].value;
			        }
			    }
		    }
	    }
       
        var NameThai = "";
        var LastNameThai = "";
        if($('chkThaiNation').checked)
        {
            NameThai = $F('txtNokMemberFirstNameTH');
            LastNameThai = $F('txtNokMemberLastNameTH');
        }
        else
        {
            NameThai = $F('txtNokMemberFirstNameEN');
            LastNameThai = $F('txtNokMemberLastNameEN');
        }
        
        var member = {
                        MemberID : "0", 
                        MemberCode : "", 
					    TitleNameEN : $F('slTitle'),   
					    
					    FirstNameTH : NameThai,                                                                                               
                        LastNameTH : LastNameThai,    
					    FirstNameEN : $F('txtNokMemberFirstNameEN'),                                        
                        LastNameEN : $F('txtNokMemberLastNameEN'),                                                                       
                        IdentifyNo : $F('txtNokMemberIDCard'),                                                                                                                
                        DateOfBirth : $F('slDate'),
                        MonthOfBirth : $F('slMonth'),
                        YearOfBirth : $F('slYear'),
                        PlaceNo : $F('txtNokMemberHomeHomeMo'), 
                        SubPlaceNo : $F('txtNokMemberHomeMooNo'),
                        PlaceName : $F('txtNokMemberHomeHousesName'),  
                        AlleyName : $F('txtNokMemberHomeAlleyName'), 
                        SoiName : $F('txtNokMemberHomeSoiName'),  
                        RoadName : $F('txtNokMemberHomeRoadName'),  
                        District : $F('txtNokMemberHomeSubDistrict'),  
                        Amphur : $F('txtNokMemberHomeDistrict'),          
                        StateProvince : $F('lstNokMemberHomeProvince'), 
                        PostCodeZipcode : $F('txtNokMemberHomePostalCode'),      
                        Telephone  : $F('txtNokMemberHomePhone'),   
                        MobilePhone : $F('txtNokMemberHomeMobile'),
                        CompanyName : $F('txtNokMemberWorkCompanyName'),
                        WorkPlaceNo : $F('txtNokMemberWorkHomeMo'), 
                        WorkSubPlaceNo : $F('txtNokMemberWorkMooNo'), 
                        WorkPlaceName : $F('txtNokMemberWorkHousesName'),  
                        WorkAlleyName : $F('txtNokMemberWorkAlleyName'),
                        WorkSoiName : $F('txtNokMemberWorkSoiName'), 
                        WorkRoadName : $F('txtNokMemberWorkRoadName'),
                        WorkDistrict : $F('txtNokMemberWorkSubDistrict'),                                      
                        WorkAmphur : $F('txtNokMemberWorkDistrict'),
                        WorkStateProvince : $F('lstNokMemberWorkProvince'), 
                        WorkPostCodeZipCode : $F('txtNokMemberWorkPostalCode'),                                                    
                        WorkTelephone : $F('txtNokMemberWorkPhone'),                                     
                        WorkFax : $F('txtNokMemberWorkFax'),        
                        
                        EmailAddress : $F('txtNokMemberEmail'), 
                        MemberPassword : $F('txtNokMemberPassword'),
                        
                        NewsWanted : NewsWanted,   
                        PreferPlace : PreferPlace                                                                                        
				    };
				    
	    RegisterService.validateMember(member);
    }
}
/*
Edit Account 
*/
function onValidateEditAccount()
{
    var txtNokMemberIDCard = $("txtNokMemberIDCard");
    var txtNokMemberHomeHomeMo = $("txtNokMemberHomeHomeMo");
    var txtNokMemberHomeRoadName = $("txtNokMemberHomeRoadName");
    var txtNokMemberHomeSubDistrict = $("txtNokMemberHomeSubDistrict");
    var txtNokMemberHomeDistrict = $("txtNokMemberHomeDistrict");
    var txtNokMemberHomePostalCode = $("txtNokMemberHomePostalCode");
    var txtNokMemberHomePhone = $("txtNokMemberHomePhone");
    var txtNokMemberHomeMobile = $("txtNokMemberHomeMobile");
    var txtNokMemberEmail = $("txtNokMemberEmail");
    var txtNokMemberConfirmEmail = $("txtNokMemberConfirmEmail");
    
    if( (txtNokMemberIDCard.value=="" || txtNokMemberIDCard.value.length != 13) && $("chkThaiNation").checked )
    {
        alert("Required Data NokMember Id Card...");
        txtNokMemberIDCard.focus();
    }
    else  if( (txtNokMemberIDCard.value=="" || txtNokMemberIDCard.value.length < 5) && !$("chkThaiNation").checked )
    {
        alert("Required Data Passport No...");
        txtNokMemberIDCard.focus();
    }
    else if(txtNokMemberHomeHomeMo.value=="")
    {
        alert("Required Data NokMember Home No...");
        txtNokMemberHomeHomeMo.focus();
    }
    else if(txtNokMemberHomeRoadName.value=="")
    {
        alert("Required Data NokMember Road Name..");
        txtNokMemberHomeRoadName.focus();
    }
    else if(txtNokMemberHomeSubDistrict.value=="")
    {
        alert("Required Data NokMember Sub District..");
        txtNokMemberHomeSubDistrict.focus();
    }
    else if(txtNokMemberHomeDistrict.value=="")
    {
        alert("Required Data NokMember District..");
        txtNokMemberHomeDistrict.focus();
    }
    else if(txtNokMemberHomePostalCode.value=="")
    {
        alert("Required Data NokMember Home Postal Code...");
        txtNokMemberHomePostalCode.focus();
    }
    else if(txtNokMemberHomePhone.value=="")
    {
       alert("Required Data NokMember Home Phone...");
       txtNokMemberHomePhone.focus();
    }
    else if (!isPhoneNumber(txtNokMemberHomePhone.value))
    {
        alert("Please specify the country and area codes. Example 02 627-2000 = 6626272000 or 034 123-456 = 6634123456");
        txtNokMemberHomePhone.focus();
    }
    else if(txtNokMemberHomeMobile.value=="")
    {
        alert("Required Data NokMember Mobile Phone...");
        txtNokMemberHomeMobile.focus();
    }
    else if(!isMobilePhoneNumber(txtNokMemberHomeMobile.value))
    {
        alert("Please specify the country and area codes. Example 081 999-1234 = 66819991234");
        txtNokMemberHomeMobile.focus();
    }
    else if(txtNokMemberEmail.value=="" )
    {
        alert("Required Data NokMember Email...");
        txtNokMemberEmail.focus();
    }
    else if(!ValidateEmail(txtNokMemberEmail.value))
    {
        alert("The e-mail address is invalid..");
        txtNokMemberEmail.focus();
    }
    else if(txtNokMemberConfirmEmail.value=="")
    {
        alert("Required Data NokMember Email...");
        txtNokMemberConfirmEmail.focus();
    }
    else if(!ValidateEmail(txtNokMemberConfirmEmail.value))
    {
        alert("The e-mail address is invalid..");
        txtNokMemberConfirmEmail.focus();
    }
    else if(txtNokMemberEmail.value != txtNokMemberConfirmEmail.value)
    {
        alert("Please check e-mail address..");
        txtNokMemberEmail.focus();
    }
    else
    {
        var NewsWanted = "";
        if($('chkEmail').checked)
        {
            NewsWanted = $F('chkEmail');
        }
        if($('chkSMS').checked)
        {
            if(NewsWanted!="") 
                NewsWanted += ",";
            NewsWanted += $F('chkSMS');
        }
        if($('chkPostalMail').checked)
        {
            if(NewsWanted!="") 
                NewsWanted += ",";
            NewsWanted += $F('chkPostalMail');
        }
        
        var PreferPlace = "";
        
        for(var i=0; i < $('form1').elements.length; i++)
	    {
		    if($('form1').elements[i].type=="checkbox")
		    {
			    if(trim($('form1').elements[i].name).substring(0,10)=='chkAirport')
			    {
			        if($('form1').elements[i].checked)
			        {
			            if(PreferPlace!="") 
                            PreferPlace += ",";
                        PreferPlace += $('form1').elements[i].value;
			        }
			    }
		    }
	    }
       
//        var NameThai = "";
//        var LastNameThai = "";
//        if($('chkThaiNation').checked)
//        {
//            NameThai = $F('txtNokMemberFirstNameTH');
//            LastNameThai = $F('txtNokMemberLastNameTH');
//        }
//        else
//        {
//            NameThai = $F('txtNokMemberFirstNameEN');
//            LastNameThai = $F('txtNokMemberLastNameEN');
//        }
        
        var member = {
                        MemberID : "0", 
                        MemberCode : "", 
					    TitleNameEN : $F('slTitle'),   
					    FirstNameTH :"",// NameThai,                                                                                               
                        LastNameTH : "",//LastNameThai,    
					    FirstNameEN : "",//$F('txtNokMemberFirstNameEN'),                                        
                        LastNameEN : "",//$F('txtNokMemberLastNameEN'),                                                                       
                        IdentifyNo : $F('txtNokMemberIDCard'),                                                                                                                
                        DateOfBirth : $F('slDate'),
                        MonthOfBirth : $F('slMonth'),
                        YearOfBirth : $F('slYear'),
                        PlaceNo : $F('txtNokMemberHomeHomeMo'), 
                        SubPlaceNo : $F('txtNokMemberHomeMooNo'),
                        PlaceName : $F('txtNokMemberHomeHousesName'),  
                        AlleyName : $F('txtNokMemberHomeAlleyName'), 
                        SoiName : $F('txtNokMemberHomeSoiName'),  
                        RoadName : $F('txtNokMemberHomeRoadName'),  
                        District : $F('txtNokMemberHomeSubDistrict'),  
                        Amphur : $F('txtNokMemberHomeDistrict'),          
                        StateProvince : $F('lstNokMemberHomeProvince'), 
                        PostCodeZipcode : $F('txtNokMemberHomePostalCode'),      
                        Telephone  : $F('txtNokMemberHomePhone'),   
                        MobilePhone : $F('txtNokMemberHomeMobile'),
                        CompanyName : $F('txtNokMemberWorkCompanyName'),
                        WorkPlaceNo : $F('txtNokMemberWorkHomeMo'), 
                        WorkSubPlaceNo : $F('txtNokMemberWorkMooNo'), 
                        WorkPlaceName : $F('txtNokMemberWorkHousesName'),  
                        WorkAlleyName : $F('txtNokMemberWorkAlleyName'),
                        WorkSoiName : $F('txtNokMemberWorkSoiName'), 
                        WorkRoadName : $F('txtNokMemberWorkRoadName'),
                        WorkDistrict : $F('txtNokMemberWorkSubDistrict'),                                      
                        WorkAmphur : $F('txtNokMemberWorkDistrict'),
                        WorkStateProvince : $F('lstNokMemberWorkProvince'), 
                        WorkPostCodeZipCode : $F('txtNokMemberWorkPostalCode'),                                                    
                        WorkTelephone : $F('txtNokMemberWorkPhone'),                                     
                        WorkFax : $F('txtNokMemberWorkFax'),        
                        EmailAddress : $F('txtNokMemberEmail'),  
                        MemberPassword : "",
                        NewsWanted : NewsWanted,   
                        PreferPlace : PreferPlace                                                                                        
				    };
				    
	    RegisterService.EditMember(member);
    }
}
function onValidateActivateClick()
{
    var txtNokMemberFirstNameTH = $("txtNokMemberFirstNameTH");
    var txtNokMemberLastNameTH = $("txtNokMemberLastNameTH");
    var txtNokMemberFirstNameEN = $("txtNokMemberFirstNameEN");
    var txtNokMemberLastNameEN = $("txtNokMemberLastNameEN");
    var txtNokMemberIDCard = $("txtNokMemberIDCard");
    var txtNokMemberHomeHomeMo = $("txtNokMemberHomeHomeMo");
    var txtNokMemberHomeRoadName = $("txtNokMemberHomeRoadName");
    var txtNokMemberHomeSubDistrict = $("txtNokMemberHomeSubDistrict");
    var txtNokMemberHomeDistrict = $("txtNokMemberHomeDistrict");
    var txtNokMemberHomePostalCode = $("txtNokMemberHomePostalCode");
    var txtNokMemberHomePhone = $("txtNokMemberHomePhone");
    var txtNokMemberHomeMobile = $("txtNokMemberHomeMobile");
    var txtNokMemberEmail = $("txtNokMemberEmail");
    var txtNokMemberConfirmEmail = $("txtNokMemberConfirmEmail");
    var txtNokMemberPassword = $("txtNokMemberPassword");
    var txtNokMemberConfirmPassword = $("txtNokMemberConfirmPassword");
    
    
    if(txtNokMemberFirstNameTH.value=="" && $("chkThaiNation").checked)
    {
        alert("Required Data NokMember First Name Thai...");
        txtNokMemberFirstNameTH.focus();
    }
    else if(txtNokMemberLastNameTH.value=="" && $("chkThaiNation").checked)
    {
        alert("Required Data NokMember Last Name Thai...");
        txtNokMemberLastNameTH.focus();
    }
    else if(txtNokMemberFirstNameEN.value=="")
    {
        alert("Required Data NokMember First Name English...");
        txtNokMemberFirstNameEN.focus();
    }
    else if(trim(txtNokMemberFirstNameEN.value).length <2)
    {
        alert("Required Data NokMember First Name English Last More Than 2 Charecter..");
        txtNokMemberFirstNameEN.focus();
    }
    else if(txtNokMemberLastNameEN.value=="")
    {
        alert("Required Data NokMember Last Name English...");
        txtNokMemberLastNameEN.focus();
    }
    else if(trim(txtNokMemberLastNameEN.value).length <3)
    {
        alert("Required Data NokMember Last Name English Last More Than 3 Charecter..");
        txtNokMemberLastNameEN.focus();
    }
    else  if( (txtNokMemberIDCard.value=="" || txtNokMemberIDCard.value.length != 13) && $("chkThaiNation").checked )
    {
        alert("Required Data NokMember Id Card...");
        txtNokMemberIDCard.focus();
    }
    else  if( (txtNokMemberIDCard.value=="" || txtNokMemberIDCard.value.length < 5) && !$("chkThaiNation").checked )
    {
        alert("Required Data Passport No...");
        txtNokMemberIDCard.focus();
    }
    else if(txtNokMemberHomeHomeMo.value=="")
    {
        alert("Required Data NokMember Home No...");
        txtNokMemberHomeHomeMo.focus();
    }
    else if(txtNokMemberHomeRoadName.value=="")
    {
        alert("Required Data NokMember Road Name..");
        txtNokMemberHomeRoadName.focus();
    }
    else if(txtNokMemberHomeSubDistrict.value=="")
    {
        alert("Required Data NokMember Sub District..");
        txtNokMemberHomeSubDistrict.focus();
    }
    else if(txtNokMemberHomeDistrict.value=="")
    {
        alert("Required Data NokMember District..");
        txtNokMemberHomeDistrict.focus();
    }
    else if(txtNokMemberHomePostalCode.value=="")
    {
        alert("Required Data NokMember Home Postal Code...");
        txtNokMemberHomePostalCode.focus();
    }
    else if (!isPhoneNumber(txtNokMemberHomePhone.value))
    {
        alert("Please specify the country and area codes. Example 02 627-2000 = 6626272000 or 034 123-456 = 6634123456");
        txtNokMemberHomePhone.focus();
    }
    else if(txtNokMemberHomeMobile.value=="")
    {
        alert("Required Data NokMember Mobile Phone...");
        txtNokMemberHomeMobile.focus();
    }
    else if(!isMobilePhoneNumber(txtNokMemberHomeMobile.value))
    {
        alert("Please specify the country and area codes. Example 081 999-1234 = 66819991234");
        txtNokMemberHomeMobile.focus();
    }
    else if(txtNokMemberEmail.value=="" )
    {
        alert("Required Data NokMember Email...");
        txtNokMemberEmail.focus();
    }
    else if(!ValidateEmail(txtNokMemberEmail.value))
    {
        alert("The e-mail address is invalid..");
        txtNokMemberEmail.focus();
    }
    else if(txtNokMemberConfirmEmail.value=="")
    {
        alert("Required Data NokMember Email...");
        txtNokMemberConfirmEmail.focus();
    }
    else if(!ValidateEmail(txtNokMemberConfirmEmail.value))
    {
        alert("The e-mail address is invalid..");
        txtNokMemberConfirmEmail.focus();
    }
    else if(txtNokMemberEmail.value != txtNokMemberConfirmEmail.value)
    {
        alert("Please check e-mail address..");
        txtNokMemberEmail.focus();
    }
    else if(txtNokMemberPassword.value=="")
    {
        alert("Required Data NokMember Password...");
        txtNokMemberPassword.focus();
    }
    else if(txtNokMemberConfirmPassword.value=="")
    {
        alert("Required Data NokMember Password...");
        txtNokMemberConfirmPassword.focus();
    }
    else if(txtNokMemberPassword.value != txtNokMemberConfirmPassword.value)
    {
        alert("Please check password..");
        txtNokMemberEmail.focus();
    }
    else
    {
        var NewsWanted = "";
        if($('chkEmail').checked)
        {
            NewsWanted = $F('chkEmail');
        }
        if($('chkSMS').checked)
        {
            if(NewsWanted!="") 
                NewsWanted += ",";
            NewsWanted += $F('chkSMS');
        }
        if($('chkPostalMail').checked)
        {
            if(NewsWanted!="") 
                NewsWanted += ",";
            NewsWanted += $F('chkPostalMail');
        }
        
        var PreferPlace = "";
        
        for(var i=0; i < $('form1').elements.length; i++)
	    {
		    if($('form1').elements[i].type=="checkbox")
		    {
			    if(trim($('form1').elements[i].name).substring(0,10)=='chkAirport')
			    {
			        if($('form1').elements[i].checked)
			        {
			            if(PreferPlace!="") 
                            PreferPlace += ",";
                        PreferPlace += $('form1').elements[i].value;
			        }
			    }
		    }
	    }
       
        var NameThai = "";
        var LastNameThai = "";
        if($('chkThaiNation').checked)
        {
            NameThai = $F('txtNokMemberFirstNameTH');
            LastNameThai = $F('txtNokMemberLastNameTH');
        }
        else
        {
            NameThai = $F('txtNokMemberFirstNameEN');
            LastNameThai = $F('txtNokMemberLastNameEN');
        }
        
        var member = {
                        MemberID : $F('tmpMemberID'), 
                        MemberCode : $F('tmpMemberCode'), 
					    TitleNameEN : $F('slTitle'),   
					    FirstNameTH : NameThai,                                                                                               
                        LastNameTH : LastNameThai,    
					    FirstNameEN : $F('txtNokMemberFirstNameEN'),                                        
                        LastNameEN : $F('txtNokMemberLastNameEN'),                                                                       
                        IdentifyNo : $F('txtNokMemberIDCard'),                                                                                                                
                        DateOfBirth : $F('slDate'),
                        MonthOfBirth : $F('slMonth'),
                        YearOfBirth : $F('slYear'),
                        PlaceNo : $F('txtNokMemberHomeHomeMo'), 
                        SubPlaceNo : $F('txtNokMemberHomeMooNo'),
                        PlaceName : $F('txtNokMemberHomeHousesName'),  
                        AlleyName : $F('txtNokMemberHomeAlleyName'), 
                        SoiName : $F('txtNokMemberHomeSoiName'),  
                        RoadName : $F('txtNokMemberHomeRoadName'),  
                        District : $F('txtNokMemberHomeSubDistrict'),  
                        Amphur : $F('txtNokMemberHomeDistrict'),          
                        StateProvince : $F('lstNokMemberHomeProvince'), 
                        PostCodeZipcode : $F('txtNokMemberHomePostalCode'),      
                        Telephone  : $F('txtNokMemberHomePhone'),   
                        MobilePhone : $F('txtNokMemberHomeMobile'),
                        CompanyName : $F('txtNokMemberWorkCompanyName'),
                        WorkPlaceNo : $F('txtNokMemberWorkHomeMo'), 
                        WorkSubPlaceNo : $F('txtNokMemberWorkMooNo'), 
                        WorkPlaceName : $F('txtNokMemberWorkHousesName'),  
                        WorkAlleyName : $F('txtNokMemberWorkAlleyName'),
                        WorkSoiName : $F('txtNokMemberWorkSoiName'), 
                        WorkRoadName : $F('txtNokMemberWorkRoadName'),
                        WorkDistrict : $F('txtNokMemberWorkSubDistrict'),                                      
                        WorkAmphur : $F('txtNokMemberWorkDistrict'),
                        WorkStateProvince : $F('lstNokMemberWorkProvince'), 
                        WorkPostCodeZipCode : $F('txtNokMemberWorkPostalCode'),                                                    
                        WorkTelephone : $F('txtNokMemberWorkPhone'),                                     
                        WorkFax : $F('txtNokMemberWorkFax'),        
                        
                        EmailAddress : $F('txtNokMemberEmail'), 
                        MemberPassword : $F('txtNokMemberPassword'),
                        
                        NewsWanted : NewsWanted,   
                        PreferPlace : PreferPlace                                                                                        
				    };
				    
	    RegisterService.ActivateMember(member);
	}
}
function onBannerClick(ContentType,ContentID)
{
    $('mainContent').innerHTML = "";
	//alert('onBannerClick'+ContentType+ContentID);
	// Type 1 Promotion,2 News and Deal
	if(ContentType=="promotion")
	{
	    //NokNavigator.Promotion(ContentID);
	    var Promotion = { PromotionID : ContentID};
	    ContentService.Promotion(Promotion);
	}
	else if(ContentType=="news")
	{
	    var NewsAndDealsID = { NewsAndDealsID : ContentID};
	    ContentService.NewsAndDeals(NewsAndDealsID);
	}
}
function onPromotionLeftClick(ProLeftID,ProRightID)
{
    $('tmpProLeft').value = ProLeftID;
    $('tmpProRight').value = ProRightID;
    onPromotionClick(ProLeftID);
}

function onPromotionRightClick(ProLeftID,ProRightID)
{
    $('tmpProLeft').value = ProLeftID;
    $('tmpProRight').value = ProRightID;
    onPromotionClick(ProRightID);
}

function onPromotionClick(PromotionID)
{
    var Promotion = { PromotionID : PromotionID};
	ContentService.Promotion(Promotion);
}

function onNewsAndDealsClick(NewsAndDealsID)
{
    var NewsAndDealsID = { NewsAndDealsID : NewsAndDealsID};
	ContentService.NewsAndDeals(NewsAndDealsID);
}


function onMainContentClick()
{
    NokNavigator.HomePromotion($F('tmpProLeft'),$F('tmpProRight'));
}
					
function onMemberNewsClick(NewsAndDealsID)
{
    Element.hide('tbYourAccount');
    Element.show('divNewsDetail');
    var NewsAndDealsID = { NewsAndDealsID : NewsAndDealsID};
	ContentService.MemberNewsAndDeals(NewsAndDealsID);
}

function onNewsAndDealsDetailClick(NewsAndDealsID)
{
    var NewsAndDealsID = { NewsAndDealsID : NewsAndDealsID};
	ContentService.MemberNewsAndDeals(NewsAndDealsID);
}

function onYourAccountClick()
{
    Element.show('tbYourAccount');
    Element.hide('divNewsDetail');
}

function onEditAccountClick()
{
    NokNavigator.EditAccount();
}

function onEditAccountBackClick()
{
    NokNavigator.YourAccount();
}

function onAccountClick()
{
    MemberService.ValidateLogin();
}

function onSearchAtivateCodeClick()
{
    var txtAccessCode1 = $("txtAccessCode1");
    var txtAccessCode2 = $("txtAccessCode2");
    if(txtAccessCode1.value=="")
    {
        alert("Please Enter Access Code...");
        txtAccessCode1.focus();
    }
    else if(txtAccessCode2.value=="")
    {
        alert("Please Enter Access Code...");
        txtAccessCode2.focus();
    }
    else
    {
        var code = $F('txtAccessCode1')+"-"+$F('txtAccessCode2');
        var ActivateCode = { ActivateCode : code};
         
        MemberService.LoginActivate(ActivateCode);
    }
}

function onValidateForgetPasswordClick()
{
    var txtEmail = $("txtEmail");
    if(txtEmail.value=="")
    {
        alert("Please enter Email address..");
        txtEmail.focus();
    }
    else if(!ValidateEmail(txtEmail.value))
    {
        alert("The e-mail address is invalid..");
        txtEmail.select();
    }
    else
    {
        var Email = {Email : $F("txtEmail")};
        MemberService.ForgetPassword(Email);
    }
}
/*
 handle Promotion 
*/
var NokPromotion = {
    PromotionDetail: function(product,promotionID)
    {
        waitbox(true);
        
        var url		= "aspx/Promotion.aspx?v="+product+"&proid="+promotionID;
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								requestHeaders: ['connext', 'dreamteam', 'mission', '100'],
								onComplete: this.onPromotionComplete,
								onFailure:  this.onPromotionFailed
								//onException: this.Failed
							});	
    },
    PromotionOrder: function(product,promotionID)
    {
        waitbox(true);
        
        var url		= "aspx/Promotion.aspx?v="+product+"&proid="+promotionID;
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								requestHeaders: ['connext', 'dreamteam', 'mission', '200'],
								onComplete: this.onPromotionComplete,
								onFailure:  this.onPromotionFailed
								//onException: this.Failed
							});	
    },
    PromotionOrderDetail : function(Promotion)
    {
        waitbox(true);
        							
        var url		= "aspx/Promotion.aspx";
        var pars    =  JSON.stringify(Promotion);
		var req = new Ajax.Updater(
		                    'mainContent',
							url, 
							{
								method: 'POST',
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '300'],
								onComplete: this.onPromotionComplete,
								onFailure:  this.onPromotionFailed
								//onException: this.Failed
							});	
    },
    onPromotionComplete: function(xhr)
	{
	    waitbox(false);
	    //alert('Complete'+$('mainContent').innerHTML);
		//$('mainContent').innerHTML = xhr.responseText;
	},
    onPromotionFailed:function(xhr)
	{
	    alert("Failed");
	    $('mainContent').innerHTML = "";
	    //alert(xhr.responseText);
	    waitbox(false);
	},
	SendPromotion: function(Promotion)
	{
	    waitbox(true);
		var url		= "Services/PromotionService.aspx";
		var pars    =  JSON.stringify(Promotion);
		Form.disable('form1'); 
		var req = new Ajax.Request(
							url, 
							{
								method: 'post', 
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '100'],
								onComplete: this.onSendPromotionComplete,
								onFailure:  this.onFailed
							});	
	},
	onSendPromotionComplete: function(xhr)
	{
	    Form.enable('form1');
		waitbox(false);
	    var mission = eval('('+xhr.responseText+')');
		if(mission.completed == '1')
		{
		    //alert(mission.message);
		    var Promotion = {
                    Product : GetPromotionProduct(),
                    Contact : GetPromotionContarct()
            };

            NokPromotion.PromotionOrderDetail(Promotion);
		}
		else
		{  
			alert(mission.message);
		}
	},
	CheckBBLPromotion: function(Member)
	{
	    waitbox(true);
		var url		= "../Services/PromotionService.aspx";
		var pars    =  JSON.stringify(Member);
		Form.disable('form1'); 
		var req = new Ajax.Request(
							url, 
							{
								method: 'post', 
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '300'],
								onComplete: this.onCheckBBLComplete,
								onFailure:  this.onFailed
							});	
	},
	onCheckBBLComplete: function(xhr)
	{
	    Form.enable('form1');
		waitbox(false);
	    var mission = eval('('+xhr.responseText+')');
		if(mission.completed == '1')
		{
            alert("Valid Member Id.");
            $('txtMemberCode').readOnly = true;
            $('txtMemberCode').className = "txtReadonlyT";
            Element.show('tbbblOK');
		}
		else
		{  
			switch(mission.message)
			{
			    case "-9999":
                    alert("System unavailable. Please try again later");
			        break;
			    case "-1":
			    case "1":
			        if(mission.message=="-1")
			        {
			            alert("Invalid member ID. or Non BBL Credit Card Payment Member.");
			        }
			        else
			        {
			            alert(msgBBLErr);
			        }
			        $('chkBBlPromotion').checked = false;
                    $('txtMemberCode').value="";
                    $('txtMemberCode').readOnly = true;
                    $('txtMemberCode').className = "txtReadonlyT";
                    DisableCC(false);
			        break;
			}
		}
	},
	onComplete: function(xhr)
	{
	    Form.enable('form1');
		waitbox(false);
//	    var mission = eval('('+xhr.responseText+')');
//		if(mission.completed == '1')
//		{
//		    alert(mission.message);
//		    onBannerClick('2','1');
//		}
//		else
//		{  
//			alert(mission.message);
//		}		
	},
	onFailed: function(xhr)
	{
	    Form.enable('form1');
	    waitbox(false);
	    alert(xhr.responseText);
	}
		
	
}
function onCMGPromotionClick(promotionID)
{
   onDetailPromotionClick('CMG',promotionID);
}

function onDetailPromotionClick(product,promotionID)
{
     NokPromotion.PromotionDetail(product,promotionID);
}

function onPromotionDetailClick(product,promotionID)
{
    NokPromotion.PromotionOrder(product,promotionID);
}
function onNokPromotionClick(promotionType,promotionID)
{
    var txtMemberCode = $("txtMemberCode");
    var txtMemberFirstName = $("txtMemberFirstName");
    var txtMemberLastName = $("txtMemberLastName");
    var txtPhone = $("txtPhone");
    
    if(txtMemberCode.value=="")
    {
        alert("กรุณากรอกข้อมูล รหัสสมาชิก Nok Fan Club ด้วย.");
        txtMemberCode.focus();
    }
    else if(trim(txtMemberCode.value).length !=6)
    {
        alert("กรุณากรอกข้อมูล รหัสสมาชิก Nok Fan Club จำนวน 6 ตัวอักษรด้วย.");
        txtMemberCode.focus();
    }
    else if(txtMemberFirstName.value=="")
    {
        alert("กรุณากรอกข้อมูลชื่อด้วย.");
        txtMemberFirstName.focus();
    }
    else if(txtMemberLastName.value=="")
    {
        alert("กรุณากรอกข้อมูลนามสกุลด้วย.");
        txtMemberLastName.focus();
    }
    else if(txtPhone.value=="")
    {
        alert("กรุณากรอกข้อมูลหมายเลขโทรศัพท์ด้วย.");
        txtPhone.focus();
    }
    else
    {
        var Member = { PromotionType : promotionType,
                                PromotionId : promotionID,
                                MemberCode : $F("txtMemberCode"),
                                MemberName : $F("txtMemberFirstName") + " " + $F("txtMemberLastName"),
                                Phone : $F("txtPhone")
                              };
        NokPromotion.SendPromotion(Member);
    }
}
function onPrintPromotionDetailClick()
{
    window.open("Html/PromotionPrint.htm","Promotion","toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no, width=800,height=600,left=100,top=100");
    
}
function onPromotionAmountClick(index)
{
    var cPrice = 'ProductPrice'+index;
    var cAmount = 'slAmount'+index;
    var cTotal = 'divTotal'+index;
    
    var nPrice = $F(cPrice) * 1;
    var nAmount = $F(cAmount) * 1;
    var sum = nPrice*nAmount;
    
    $(cTotal).innerText = formatCurrency(sum);
    PromotionSummary();
}

function PromotionSummary()
{
    //promotion summary
    var cPrice ="";
    var cAmount ="";
    var sum =0;
    var index = $F('tmpIndex')*1;
    for(i=1;i<=index;i++)
    {
        cPrice= 'ProductPrice'+i;
        cAmount = 'slAmount'+i;
        
        sum += ($F(cPrice)*1) * ($F(cAmount)*1);
    }
    $('divTotalAmount').innerText = formatCurrency(sum);
}

function onPromotionOrderClick()
{
    var txtMemberCode = $("txtMemberCode");
    var txtContractMobile = $("txtContractMobile");

    if(txtContractMobile.value=="")
    {
        alert("กรุณากรอกข้อมูล โทรศัพท์มือถือ ด้วย.");
        txtContractMobile.focus();
    }
    else if(txtMemberCode.value=="")
    {
        alert("กรุณากรอกข้อมูล รหัสสมาชิก Nok Fan Club ด้วย.");
        txtMemberCode.focus();
    }
    else if(trim(txtMemberCode.value).length < 6)
    {
        alert("กรุณากรอกข้อมูล รหัสสมาชิก Nok Fan Club อย่างน้อย 6 ตัวอักษรด้วย.");
        txtMemberCode.focus();
    }
    else if($('divTotalAmount').innerText =="0")
    {
        alert("กรุณาเลือกรายการสินค้าที่ต้องการซื้อด้วย.");
    }
    else
    {
        var Promotion = {
                    Product : GetPromotionProduct(),
                    Contact : GetPromotionContarct()
        };
 
        NokPromotion.SendPromotion(Promotion);
        //NokPromotion.PromotionOrderDetail(Promotion);
    }
}

function GetPromotionProduct()
{
    var cnt = $F('tmpIndex')*1;
	var products = new Array(cnt);
	
	var cID ="";
    var cName ="";
    var cType ="";
    var cPrice ="";
    var cAmount ="";
    var index = 0;
	for(i=1;i<=cnt;i++)
    {
        cAmount = 'slAmount'+i;
        if($F(cAmount) != '0')
        {
            cID = 'ProductID'+i;
            cName = 'ProductName'+i;
            cType = 'ProductType'+i;
            cPrice = 'ProductPrice'+i;
            index+=1;
            products[i] = {
						ProductID :  $F(cID),
						ProductName: $F(cName), 
						ProductType: $F(cType),
						ProductPrice: $F(cPrice), 
						ProductAmount: $F(cAmount)
   					};
        }
    }
    return products;
}

function GetPromotionContarct()
{
    var officePhone = $F('txtContractOfficePhone');
    if($F('txtContractOfficePhoneExt') != "")
        officePhone = officePhone + "/" + $F('txtContractOfficePhoneExt');
    var Contract = {
        MemberCode : $F('txtMemberCode'),
        OrderName : $F('txtOrderName'),
        ReciveName : $F('txtReciveName'),
        HomeNo : $F('txtHomeNo'),
        HomeSoi : $F('txtHomeSoi'),
        HomeRoad : $F('txtHomeRoad'),
        SubDistrict : $F('txtHomeSubDistrict'),
        District : $F('txtHomeDistrict'),
        Province : $F('txtHomeProvince'),
        PostCode : $F('txtHomePostCode'),
        Mobile : $F('txtContractMobile'),
        HomePhone : $F('txtContractHomePhone'),
        OfficePhone :  officePhone
    };
    return Contract;
    
}
// contact us 
var highlightbehavior="TD"
var ns6=document.getElementById&&!document.all
var ie=document.all
var tmpSelectCase="";
var tmpSelectCategory="";
var tmpSelectSubCategory="";

var tmpSelectCaseName="";
var tmpSelectCategoryName="";
var tmpSelectSubCategoryName="";

var tmpSelectCaseValue= "";
function changeto(e,highlightcolor)
{
    source=ie? event.srcElement : e.target
    if (source.tagName=="TABLE")
    return
    while(source.tagName!=highlightbehavior && source.tagName!="HTML")
    source=ns6? source.parentNode : source.parentElement
    if (source.style.backgroundColor!=highlightcolor&&source.id!="ignore")
    {
        if(source.style.backgroundColor != "dodgerblue")
            source.style.backgroundColor=highlightcolor
    }
}

function contains_ns6(master, slave) 
{ //check if slave is contained by master
    while (slave.parentNode)
    if ((slave = slave.parentNode) == master)
    return true;
    return false;
}

function changeback(e,originalcolor)
{
    if (ie&&(event.fromElement.contains(event.toElement)||source.contains(event.toElement)||source.id=="ignore")||source.tagName=="TABLE")
    return
    else if (ns6&&(contains_ns6(source, e.relatedTarget)||source.id=="ignore"))
    return
    if (ie&&event.toElement!=source||ns6&&e.relatedTarget!=source)
    {
        if(source.style.backgroundColor != "dodgerblue")
            source.style.backgroundColor=originalcolor
    }
}
function getCategory(caseTypeID,caseTypeName,caseTypeValue)
{
   tmpSelectCategory = "";
   tmpSelectSubCategory="";
   if(tmpSelectCase!="")
        $(tmpSelectCase).style.backgroundColor="white";
   
   tmpSelectCase = caseTypeID;
   tmpSelectCaseName=caseTypeName;
   tmpSelectCaseValue = caseTypeValue;
   $(caseTypeID).style.backgroundColor="dodgerblue";
   
//   
//   document.getElementById('txtCaseType').value = typename;
//   document.getElementById('txtCategory').value = "";
//   document.getElementById('txtSubCategory').value = "";
//   document.getElementById('txtDescription').value ="";
   
   //claer div category
   $('divCategory').innerHTML = "";
   $('divSubCategory').innerHTML = "";
   
   //find destination from JSON's route table

	var ROUTE_TABLE = $F('tmpcategory');
    
	var route_table = eval('('+ROUTE_TABLE+')');
	
	var category = route_table[caseTypeID];
    
    var htmlCategory = "";
	if(category != null)
	{
		for(var i=0;i<category.length; i++)
		{
		    var strCategoryName = category[i].CategoryName;
		    var strCategoryCode = category[i].CategoryID;
            htmlCategory += "<tr><td id='"+strCategoryCode+"' class='table_tr' style='cursor: hand' onclick=\"getSubCategory('"+caseTypeID+"','"+strCategoryCode+"','"+strCategoryName+"')\">"+strCategoryName+"<td><tr>"
		}
	}
	$('divCategory').innerHTML = "<table id='ignore' border='0' cellSpacing='0' cellPadding='0' style='width:100%;' onMouseover=\"changeto(event, 'lightgreen')\" onMouseout=\"changeback(event, 'white')\">"+htmlCategory+"</table>";
	
}
function getSubCategory(caseTypeID,categoryID,categoryName)
{

    tmpSelectSubCategory = "";
    if(tmpSelectCategory!="")
        $(tmpSelectCategory).style.backgroundColor="white";
   
    tmpSelectCategory = categoryID;
    tmpSelectCategoryName=categoryName;

    $(categoryID).style.backgroundColor="dodgerblue";
 
//    document.getElementById('txtCategory').value = categoryname;
//    document.getElementById('txtSubCategory').value = "";
    
    //claer div sub category
     $('divSubCategory').innerHTML = "";
    
   //find destination from JSON's route table
	var ROUTE_TABLE = $F('tmpsubcategory');
    
	var route_table = eval('('+ROUTE_TABLE+')');
	
	//var categoryid = typecode+categoryCode;
	
	var category = route_table[categoryID];
    
    var htmlCategory = "";
	if(category != null)
	{
		for(var i=0;i<category.length; i++)
		{
		    var strSubCategoryName = category[i].SubCategoryName;
		    var strSubCategoryCode = category[i].SubCategoryID;
		    var descriprion = category[i].Description;
		    //var required = category[i].required;
		    
		    //var detail = descriprion.concat("\\n",required);
		    
            htmlCategory += "<tr><td id='"+strSubCategoryCode+"' class='table_tr' style='cursor: hand' onclick=\"selectSubCategory('"+strSubCategoryCode+"','"+strSubCategoryName+"','"+descriprion+"')\">"+strSubCategoryName+"<td><tr>"
		}
	}
	$('divSubCategory').innerHTML = "<table id='ignore' border='0' cellSpacing='0' cellPadding='0' style='width:100%;' onMouseover=\"changeto(event, 'lightgreen')\" onMouseout=\"changeback(event, 'white')\">"+htmlCategory+"</table>";
}
function selectSubCategory(subCategoryID,subCatgoryName,descriprion)
{
    //alert( subCategoryID+ " | " +subCatgoryName);
    if(tmpSelectSubCategory!="")
        $(tmpSelectSubCategory).style.backgroundColor="white";
   
   tmpSelectSubCategory = subCategoryID;
   tmpSelectSubCategoryName=subCatgoryName;
   $(subCategoryID).style.backgroundColor="dodgerblue";
   
   $('divDescription').innerText = descriprion;
}

/* link external */



/**/



function clear(id)
{
    $(id).value = "";
}

// Removes leading whitespaces
function LTrim(value) {
	
    var re = "/\s*((\S+\s*)*)/";
    return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim(value) {
	
    var re = "/((\s*\S+)*)\s*/";
    return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim(value) {
	
    return LTrim(RTrim(value));
	
}
function onSurveyAfterReguster()
{
//    if($('hddIsSurvey') && $F('hddIsSurvey')== 'false')
//    {
//       Element.show('winSurvey');
//       YAHOO.nokair.nokfanclub.survey.show();
//       NokNavigator.SurveyForm();
   //}
}

function MM_preloadImages() 
{ //v3.0
  var d=document; 
  if(d.images)
  { 
    if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
    for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0)
        { 
            d.MM_p[j]=new Image; 
            d.MM_p[j++].src=a[i];
        }
  }
}

function MM_swapImgRestore() 
{ //v3.0
  var i,x,a=document.MM_sr; 
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) 
    x.src=x.oSrc;
}

function MM_findObj(n, d) 
{ //v4.01
  var p,i,x;  
  if(!d) 
    d=document; 
  if((p=n.indexOf("?"))>0&&parent.frames.length) 
  {
    d=parent.frames[n.substring(p+1)].document; 
    n=n.substring(0,p);
  }
  if(!(x=d[n])&&d.all) 
    x=d.all[n]; 
  for (i=0;!x&&i<d.forms.length;i++) 
    x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
    x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) 
    x=d.getElementById(n); 
  return x;
}

function MM_swapImage() 
{ //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; 
  document.MM_sr=new Array; 
  for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null)
   {
        document.MM_sr[j++]=x; 
        if(!x.oSrc) 
            x.oSrc=x.src; 
        x.src=a[i+2];
   }
}
