﻿/* use of callback method in invoke */

function displayServerTime() 
{
	Ecommerce.Product.GetServerTime(getServerTime_callback)
}	

function getServerTime_callback(res)
{
  alert(res.value);
}

var intClick = 0;
var strKeyWord = "";
var ___lastPortalId = "";
function displayServerXml(portalId, currentPortalId) 
{
    var objHTML = document.getElementById("listing");
    objHTML.style.display='';
    var keyWord = document.getElementById("txtAjaxSearch").value
    if((intClick>0)&&(keyWord==strKeyWord)) return;
    ___lastPortalId = portalId;
	ArticleTravel.Search(keyWord, portalId, getServerXml_callback);
	intClick++;
	strKeyWord = keyWord;
}

var intDomainClick = 0;
function displayDomainServerXml(portalId, currentPortalId) 
{
    var objHTML = document.getElementById("listingDomain");
    objHTML.style.display='';
    if(intDomainClick>0) return;
    if(document.getElementById('txtPortalId').value!="") currentPortalId = document.getElementById('txtPortalId').value
	objHTML.innerHTML = ArticleTravel.SearchDomain(currentPortalId).value;
	intDomainClick++;
}

function displayTemplateServerXml(portalId, field) 
{
    var objHTML = document.getElementById("listing");
    objHTML.style.display='';
    objHTML.innerHTML = '<h3 style="color:red">Loading...</h3>';
    var chkBoxList = document.getElementById(field);
    var chkBoxLable= chkBoxList.getElementsByTagName("label");
    var chkBoxCount= chkBoxList.getElementsByTagName("input");

    for(var i=0;i<chkBoxCount.length;i++) 
    {
        if (chkBoxCount[i].checked)
        {
            if(chkBoxCount[i].value==1)
            {
                AjaxDestinationSetting.LoadTemplates(portalId, getServerXml_callback)
            }
            if (chkBoxCount[i].value==2)
                AjaxDestinationSetting.LoadTemplatesWithProduct(portalId, getServerXml_callback)
        }
    }
}

function getServerXml_callback(res)
{
    if (res.error!=null)
    {
        alert(res.error.Message);
    }
    else
    {
      var objHTML = document.getElementById("listing");
      objHTML.innerHTML = res.value;
    }
}

function UploadFiles() 
{
	Ecommerce.Product.UploadFile(Upload_callback)
}

function Upload_callback(res)
{
    if (res.error!=null)
    {
        alert(res.error.Message);
    }
    else
    {
      //var objHTML = document.getElementById("listing");
     // objHTML.innerHTML = res.value;
     alert(res.value);
    }
}


//Show Div
function __showWhenChecked(field, Object)
{
    var chkBox = document.getElementById(field);
    if(chkBox.checked)    
        eval("document.all."+Object+".style.display=''");
    else 
       eval("document.all."+Object+".style.display='none'");
}

function __setValue(strshortName, strName, portalId)
{
    document.getElementById('txtAjaxSearch').value = strName;
    document.getElementById('txtId').value = strshortName;
    document.all.listing.style.display='none';
    try
    {
        if(___lastPortalId!=portalId) 
        {
            document.getElementById('txtPortalId').value = portalId;
            var objHTML = document.getElementById("listingDomain");
            objHTML.innerHTML = ArticleTravel.SearchDomain(portalId).value;
            var objlist = document.getElementById("listingDomain");
            var ob = objlist.getElementsByTagName("script");
            
            for(var i=0; i<ob.length; i++)
                if(ob[i].text!=null)
                    eval(ob[i].text);
            ___lastPortalId = portalId;
        }
     }
     catch(ex)
     {
        //nothing
     }
}

function __setDomain(strshortName, strName)
{
    document.getElementById('txtAjaxSearchDomain').value = strName;
    document.getElementById('txtDomainId').value = strshortName;
    document.all.listingDomain.style.display='none';
}

function __setTemplate(strName)
{
    document.getElementById('txtAjaxTemplate').value = strName;
    document.all.listing.style.display='none';
}

function __disableTextBoxWhenRadioChecked(field, flag, flag1, txtObject)
{
    var obj = document.getElementById(txtObject)
    var chkBoxList = document.getElementById(field);
    var chkBoxLable= chkBoxList.getElementsByTagName("label");
    var chkBoxCount= chkBoxList.getElementsByTagName("input");

    for(var i=0;i<chkBoxCount.length;i++) 
    {
        if (chkBoxCount[i].checked)
            if((chkBoxCount[i].value==flag)||(chkBoxCount[i].value==flag1))
                obj.disabled = false;
            else 
            {
               obj.disabled = true;
               eval("document.all.listing.style.display='none'");
            }
    }
}

var ______additionalType = 0;
function __setAdditionalTypeWhenRadioChecked(field, divObject)
{
    var obj = document.getElementById(divObject)
    var chkBoxList = document.getElementById(field);
    var chkBoxLable= chkBoxList.getElementsByTagName("label");
    var chkBoxCount= chkBoxList.getElementsByTagName("input");

    for(var i=0;i<chkBoxCount.length;i++) 
    if (chkBoxCount[i].checked)
    {
        obj.style.display = '';
        ______additionalType = chkBoxCount[i].value;
    }

    switch(______additionalType)
    {
        case '1': document.getElementById("txtAjaxSearch").value = 'Nhập tên ArticleTravel';
            break;
        case '2': document.getElementById("txtAjaxSearch").value = 'Nhập tên Hotel';
            break;
        case '3': document.getElementById("txtAjaxSearch").value = 'Nhập tên Tour';
    }
}

function displayListDestinationAdditionalServerXml(portalId)
{
    document.getElementById("listing").style.display='';
    var keyWord = document.getElementById("txtAjaxSearch").value
    if((intClick>0)&&(keyWord==strKeyWord)) return;
	ArticleTravel.Search(keyWord, portalId, ______additionalType, getServerXml_callback);
	intClick++;
	strKeyWord = keyWord;
}

function __setDefaultListBox()
{
    document.all.txtAjaxTemplate.value='Chọn template hiển thị...';
    document.all.listing.style.display='none'
}


// Rating script

function getServerUpdateRating_callback(res)
{
    if (res.error!=null)
    {
        alert(res.error.Message);
    }
    else
        intClick = 1;
}

var strRatingWith = "";
var intClick = 0;
function $(v,o) { return((typeof(o)=='object'?o:document).getElementById(v)); }
function $S(o) { return((typeof(o)=='object'?o:$(o)).style); }
function agent(v) { return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0)); }
function abPos(o) { var o=(typeof(o)=='object'?o:$(o)), z={X:0,Y:0}; while(o!=null) { z.X+=o.offsetLeft; z.Y+=o.offsetTop; o=o.offsetParent; }; return(z); }
function XY(e,v) { var o=agent('msie')?{'X':event.clientX+document.body.scrollLeft,'Y':event.clientY+document.body.scrollTop}:{'X':e.pageX,'Y':e.pageY}; return(v?o[v]:o); }

star={};

star.mouse=function(e,o) { if(star.stop || isNaN(star.stop)) { star.stop=0;

	document.onmousemove=function(e) 
	{ 
	if (intClick==1) return;
	var n=star.num;
	
		var p=abPos($('star'+n)), x=XY(e), oX=x.X-p.X, oY=x.Y-p.Y; star.num=o.id.substr(4);

		if(oX<1 || oX>125 || oY<0 || oY>19) { star.stop=1; star.revert(); }
		
		else {
            strRatingWith = oX;
			$S('starCur'+n).width=oX+'px';
			$S('starUser'+n).color='#111';
			$('starUser'+n).innerHTML=Math.round(oX/125*100)+'%';
		}
	};
} };

star.update=function(e,o,id, getRateWidth, getRatePercent, getHits) 
{
if (intClick==1) return; 
var n=star.num, v=parseInt($('starUser'+n).innerHTML);

	n=o.id.substr(4); $('starCur'+n).title=v;
	if (getRateWidth==0) getRateWidth = strRatingWith;
	if (getRatePercent==0) getRatePercent = v;
	var strRating = ((strRatingWith + parseInt(getRateWidth))/2) +',' + ((v+parseInt(getRatePercent))/2) + ',' + (parseInt(getHits)+1);
	document.getElementById("starHits").innerHTML = "["+ (parseInt(getHits)+1) +"&nbsp;voted]";
    AjaxNamespaceClientScript.Rating(strRating, id, getServerUpdateRating_callback);
};

star.revert=function() { var n=star.num, v=parseInt($('starCur'+n).title);

	$S('starCur'+n).width=Math.round(v*125/100)+'px';
	//$('starUser'+n).innerHTML=(v>0?Math.round(v)+'%':'');
	//$('starUser'+n).style.color='#888';
	
	document.onmousemove='';

};

star.num=0;


//Disable enter key
function ___handleEnter (field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		} 
		else
		return true;
	}  
	
// Disable character key
function ___handleCharacter(event)
{
    if(((event.keyCode<48)||(event.keyCode>57))&&(event.keyCode!=46)) 
        return false;
    return true;
}

function ___CloseTabPanel()
{
    document.getElementById("tabPanel").style.display='none';
    document.getElementById("listing").style.display='none';
}

var intCurrentTab = 0;
function ___OpenTabPanel()
{
    document.getElementById("tabPanel").style.display='';
}

var currentType = 0;
function ___ExpandTab()
{
    if(editCurrentTab==-1)
    {
        intCurrentTab++;
        var adh = '<hr size=1 style="width:100%"> Tab thứ ' + intCurrentTab + ' <input type="text" id="txt_'+ intCurrentTab +'" name="txt_'+ intCurrentTab +'" style="width:200px;" /><a href="javascript:___editTab('+intCurrentTab+')">Sửa</a> | <a href="javascript:___deleteTab('+intCurrentTab+');">Xóa</a><input type="hidden" id="value_'+ intCurrentTab +'" name="value_'+ intCurrentTab +'" /><input type="hidden" id="type_'+ intCurrentTab +'" name="type_'+ intCurrentTab +'" /><input type="hidden" id="rss_'+ intCurrentTab +'" name="rss_'+ intCurrentTab +'" />'
        objTab.insertAdjacentHTML('BeforeEnd', adh);
        document.getElementById("totalTab").value = intCurrentTab;
        ___updateTab(intCurrentTab);
    }
    else
    {
        ___updateTab(editCurrentTab);
    }
    ___CloseTabPanel();
}

var editCurrentTab = -1;
function ___editTab(id)
{
    var editCurrentType = document.getElementById("type_"+id).value;
    var frmDisplayMode = document.Form.displayMode;
    editCurrentTab = id;
    document.getElementById("txtTabName").value = document.getElementById("txt_"+ id).value
    if(editCurrentType==2) 
    {
        document.getElementById("txtAjaxTemplate").value = document.getElementById("rss_"+ id).value;
        document.getElementById("txtUrl").value = document.getElementById("value_"+ id).value;
    }
    else
    {
        document.getElementById("txtId").value = document.getElementById("value_"+ id).value;
    }
        
    frmDisplayMode[editCurrentType].checked = true;
    ___OpenTabPanel();
    ___displayMode(editCurrentType);
}

function ___updateTab(id)
{
    document.getElementById("txt_"+ id).value = document.getElementById("txtTabName").value
    if(currentType==2) 
        document.getElementById("value_"+ id).value = document.getElementById("txtUrl").value
    else    
        document.getElementById("value_"+ id).value = document.getElementById("txtId").value
    document.getElementById("type_"+ id).value = currentType;

    //Rss
    document.getElementById("rss_"+ id).value = document.getElementById("txtAjaxTemplate").value;
    editCurrentTab = -1;
}

function ___deleteTab(id)
{
    document.getElementById("txt_"+ id).value = "";
    document.getElementById("value_"+ id).value = "";
    document.getElementById("type_"+ id).value = "";
    document.getElementById("item_"+ id).style.display="none";
}

function ___displayMode(id)
{
    currentType = id;
    switch(id)
    {
        case "0":
            document.getElementById("displayMode_0").style.display='';
            document.getElementById("displayMode_2").style.display='none';
            break;

        case "2":
            if((intCurrentTab==0)||(editCurrentTab==1))
            {
                alert("Bạn phải nhập 1 tab là sản phẩm hoặc sản phẩm tiêu điểm trước khi chọn chức năng hiển thị Rss");
                var frmDisplayMode = document.Form.displayMode;
                frmDisplayMode[0].checked = true;
                currentType = 0;
                break;
            }
            document.getElementById("displayMode_0").style.display='none';
            document.getElementById("displayMode_"+id).style.display='';
            break;
    }
}

function displayRssTemplateServerXml(portalId, field) 
{
    var objHTML = document.getElementById("listTemplate");
    objHTML.style.display='';
    objHTML.innerHTML = '<h3 style="color:red">Loading...</h3>';
    AjaxDestinationSetting.LoadTemplates(portalId, getServerTemplate_callback)
}
function getServerTemplate_callback(res)
{
    if (res.error!=null)
    {
        alert(res.error.Message);
    }
    else
    {
      var objHTML = document.getElementById("listTemplate");
      objHTML.innerHTML = res.value;
    }
}
var ____lastObjStrDesId = "";
function genderShortName(objDestination, objHeadline, objShortname, id, portalId, objUpdate, obUpdateAddTab)
{
    var txtHeadline = document.getElementById(objHeadline).value;
    if (txtHeadline=="") 
    {
        document.getElementById(objUpdate).disabled = true;
        document.getElementById(obUpdateAddTab).disabled = true;
        return;
    }
    else
        if((____lastObjStrDesId!="")&&(document.getElementById(objShortname).value!="")) return;
    
    document.getElementById(objUpdate).disabled = false;
    document.getElementById(obUpdateAddTab).disabled = false;

    if(id=="") id=-1;

    var objDes = document.getElementById(objDestination);
    var strDes = "";
    var strDesId = -1;
    for(var i=0; i<objDes.length; i++)
        if(objDes[i].selected==true)
        {
           strDes = objDes[i].innerHTML;
           strDesId = objDes[i].value;
           ____lastObjStrDesId = strDesId;
           document.getElementById(objShortname).value = ArticleTravel.GenerateShortName(strDes, txtHeadline, portalId, strDesId, id).value;
           if(id!=-1) checkAvailableNUpdate(objDestination, objShortname, id, portalId);
           return;
        }
}

function checkAvailable(objDestination, objShortName, id, portalId)
{
    var strShortName = document.getElementById(objShortName).value
    if(strShortName=="") return;
    if(id=="") id=-1;
    var objDes = document.getElementById(objDestination);
    var strDesId = -1;
    for(var i=0; i<objDes.length; i++)
      if(objDes[i].selected==true)
        {
           strDesId = objDes[i].value;
           document.getElementById("resultCheckAvailable").innerHTML = ArticleTravel.CheckAvailable(strShortName, portalId, strDesId, id, false).value;
           return;
        }
}

function checkAvailableNUpdate(objDestination, objShortName, id, portalId)
{
    var strShortName = document.getElementById(objShortName).value
    if(strShortName=="") return;
    var objDes = document.getElementById(objDestination);
    var strDesId = -1;
    for(var i=0; i<objDes.length; i++)
        if(objDes[i].selected==true)
        {
           strDesId = objDes[i].value;
           document.getElementById("resultCheckAvailable").innerHTML = ArticleTravel.CheckAvailable(strShortName, portalId, strDesId, id, true).value;  
        }
}

function ___changeDestination()
{
    ____lastObjStrDesId = "";
}

//Destination Edit

function genderDestinationShortName(objDestination, objHeadline, objShortname, id, portalId, objUpdate)
{
    var txtHeadline = document.getElementById(objHeadline).value;
    if (txtHeadline=="") 
    {
        document.getElementById(objUpdate).disabled = true;
        return;
    }
    else
        if(document.getElementById(objShortname).value!="") return;
    
    document.getElementById(objUpdate).disabled = false;

    if(id=="") id=-1;

    var objDes = document.getElementById(objDestination);
    var strDes = "";
    var strDesId = -1;
    for(var i=0; i<objDes.length; i++)
        if(objDes[i].selected==true)
        {
           strDes = objDes[i].innerHTML;
           document.getElementById(objShortname).value = ArticleTravel.GenerateShortName(strDes, txtHeadline, id, portalId).value;
           if(id!=-1) checkDestinationAvailableNUpdate(objDestination, objShortname, id, portalId);
           return;
        }
}

function checkDestinationAvailable(objShortName, id, portalId)
{
    var strShortName = document.getElementById(objShortName).value
    if(strShortName=="") return;
    if(id=="") id=-1;
    document.getElementById("resultCheckAvailable").innerHTML = ArticleTravel.CheckAvailable(strShortName, portalId, id, false).value;
}

function checkDestinationAvailableNUpdate(objShortName, id, portalId)
{
    var strShortName = document.getElementById(objShortName).value
    if(strShortName=="") return;
    document.getElementById("resultCheckAvailable").innerHTML = ArticleTravel.CheckAvailable(strShortName, portalId, id, true).value;  
}

// Tour Price
var intPackageClick = 0;
function ___listPackage(portalId)
{
    var objHTML = document.getElementById("listingPackage");
    objHTML.style.display='';
    if(intPackageClick>0) return;
	objHTML.innerHTML = ArticleTravel.SearchPackage(portalId).value;
	intPackageClick++;
}

function __setPackageValue(id, strName)
{
    document.getElementById('txtAjaxPackageName').value = strName;
    document.all.listingPackage.style.display='none';
}