﻿function RohPackages(){this.xmlPath=gHost+"xml";this.createPackageList=createPackageList;var tableTitle=[];tableTitle['en']=Array('Service','Operates','Duration','Service Included','Code');tableTitle['th']=Array('รายการบริการเอื้องหลวง','วันบริการ','ระยะเวลา','บริการรวม','รหัส');function createPackageList(param){if(param['listObj']){var listFileName=this.xmlPath+param['listObj'].toLowerCase()+".xml";if(param['listObj'].indexOf('http')>=0)var listFileName=param['listObj'].toLowerCase()+".xml";}if(param['flashMsg']){var itemFileName=this.xmlPath+param['itemObj'].toLowerCase()+"-"+param['flashMsg'].toLowerCase()+".xml";if(param['itemObj'].indexOf('http')>=0){var itemFileName=param['itemObj'].toLowerCase()+"-"+param['flashMsg'].toLowerCase()+".xml";}}else{var itemFileName=this.xmlPath+param['itemObj'].toLowerCase()+".xml";if(param['itemObj'].indexOf('http')>=0){var itemFileName=param['itemObj'].toLowerCase()+".xml";}}$('#'+param['divObj']).html('Loading...');$.ajax({type:"GET",url:itemFileName,dataType:"xml",success:function(xmlDoc){$('#'+param['divObj']).empty();createData(xmlDoc,param);},error:function(){$('#'+param['divObj']).empty();createError(param['divObj'],param['lang']);}});};function createData(xmlDoc,param){var divObj=param['divObj'];var Lang=param['lang'];var Msg=param['flashMsg'];var exclude=param['exclude'];var divPackages=$('<div id="divPackages"></div>');var divRelated;var orderCityMain=[];var orderCityOptional=[];$(xmlDoc).find('items').each(function(){var type=$(this).attr('type');if(type.toLowerCase()=="optional packages"){orderCityOptional=getPackagesArray(this,Lang,exclude);}});var orderCity=sortCity(orderCityMain,orderCityOptional,Msg);for(var i=0;i<orderCity.length;i++){var newDiv=createTable('Optional Packages',orderCity[i].optionalPackages,Lang,true);if(newDiv)$('#'+divObj).append(newDiv);}if(divRelated)divPackages.append(divRelated);$('#'+divObj).append(divPackages);};function getPackagesArray(xmlItems,Lang,exclude){var arrPackage=[];var no=0;if($(xmlItems).find('item').length==0)return arrPackage;$(xmlItems).find('item').each(function(){var url=$(this).find('url').text();if((exclude.indexOf(url)>=0)&&(url))return;arrPackage[no]={code:$(this).find('code').text(),name:$(this).find('name').text(),sdesc:$(this).find('sdesc').text(),duration:$(this).find('duration').text(),url:url,target:$(this).find('target').text(),status:$(this).find('status').text(),type:getChild($(this).find('types'),'type'),service:getChild($(this).find('services'),'service'),status:getChild($(this).find('statuss'),'status'),operates:$(this).find('operates').text(),weight:$(this).find('weight').text()};no++;});return arrPackage;};function sortCity(orderCityMain,orderCityOptional,Destination){var orderCity=[];orderCity[0]={city:Destination,mainPackages:sortPackagesByType(sortPackagesByWeight(orderCityMain)),optionalPackages:sortPackagesByType(sortPackagesByWeight(orderCityOptional))};return orderCity;};function sortPackagesByWeight(arrPackages){return arrPackages.sort(sortWeightDesc);};function sortPackagesByType(arrPackages){var sortPackages=[];var no= -1;var beginPos=0;var currWeight= -1;for(var i=0;i<arrPackages.length;i++){if(currWeight==arrPackages[i].weight){var typeValue=getTypeValue(arrPackages[i].type);if(typeValue<getTypeValue(sortPackages[no].type)){var endPos=no;for(var j=beginPos;j<=endPos;j++){if(typeValue<getTypeValue(sortPackages[j].type)){no++;for(k=no;k>j;k--){sortPackages[k]=sortPackages[k-1];}sortPackages[j]=arrPackages[i];break;}}}else{no++;sortPackages[no]=arrPackages[i];}}else{no++;sortPackages[no]=arrPackages[i];currWeight=sortPackages[no].weight;beginPos=no;}}return sortPackages;};function getTypeValue(packageType){var minValue=999;for(var i=0;i<packageType.length;i++){if(packageType[i].optValue<minValue){minValue=packageType[i].optValue;}}return minValue;};function getChild(xmlParent,type){if(type=='type'){var child=[];var i=0;$(xmlParent).find(type).each(function(){child[i]={optText:$(this).text(),optValue:rohTypeValue[$(this).text()]};i++;});}else{var child=new Array;var i=0;$(xmlParent).find(type).each(function(){child[i]=$(this).text();i++;});}return child;};function trim(stringToTrim){return stringToTrim.replace(/^\s+|\s+$/g,"");};function sortWeightDesc(record1,record2){var value1=record1.weight.toLowerCase();var value2=record2.weight.toLowerCase();if(value1>value2)return(-1);if(value1<value2)return(1);return(0);};function GetChar(word,Lang){if(Lang=='en')return word;var newWord="";for(var i=0;i<word.length;i++){var ch=word.substring(i,i+1);if(isAlphabet(ch)){newWord+=ch;}}return newWord;};function isAlphabet(ch){var ascii=Asc(ch);if((ascii>=3585)&&(ascii<=3630)){return true;}else{return false;}};function Asc(String){return String.charCodeAt(0);};function createTable(Title,arrPackages,Lang,showDesc){if(arrPackages.length==0)return null;var newDiv=$('<div></div>');$(newDiv).append($('<span></span>').text(Title));var newTbl=$('<table></table>').attr({cellSpacing:'0',cellPadding:'0',className:'packages'});var newTr=$('<tr></tr>');newTr.append($('<th width="475"></th>').text(tableTitle[Lang][0]));newTr.append($('<th width="50"></th>').text(tableTitle[Lang][1]));newTr.append($('<th width="140"></th>').text(tableTitle[Lang][2]));newTr.append($('<th width="160"></th>').text(tableTitle[Lang][3]));newTr.append($('<th width="75"></th>').text(tableTitle[Lang][4]));newTbl.append(newTr);var className="highlight";for(var i=0;i<arrPackages.length;i++){if(className!="")className="";else className="highlight";var pTr=createItem(arrPackages[i],className,showDesc);if(pTr){newTbl.append(pTr);}}newDiv.append(newTbl);return newDiv;};function createItem(package,className,showDesc){var code=package.code;var name=package.name;var sdesc=package.sdesc;var operates=package.operates;var duration=package.duration;var url=package.url;var target=package.target;sdesc=sdesc.replace(/\n/g,'<br>');var newTr=$('<tr></tr>').attr({className:className});if(!showDesc){sdesc=null;}newTr.append(createPackageName(package,name,sdesc,url,target));newTr.append(createItemNode(operates,url,target,null));newTr.append(createItemNode(duration,url,target,null));newTr.append(createServiceIcon(package,null));newTr.append(createItemNode(code,url,target,null));return newTr;};function createItemNode(node,url,target,className){var newTd=$('<td></td>');if(className)newTd.attr({className:className});newTd.text(node);return newTd;};function createPackageName(package,name,sdesc,url,target){var mainTd=$('<td></td>').attr({className:'pk_left'});var newTable=$('<table></table>').attr({cellSpacing:'0',cellPadding:'0',className:'package-name'});var newTr=$('<tr></tr>');if(package.status.length>0){var newTd1=createStatusIcon(package);var newTd2=$('<td width="395"></td>');}else{var newTd1=null;var newTd2=$('<td width="475"></td>');}if(url!=""){var newLink=$('<a></a>');if(isPopup(target)){newLink.attr({href:'javascript: void(0)'});newLink.click(function(){popupWindow(url,"01",target);});}else{newLink.attr({href:url,target:target});}newLink.append($('<b></b>').html(name));if(sdesc){newLink.append($('<br/>'));newLink.append($('<font></font>').html(sdesc));}}else{var newLink=$('<font></font>').append($('<b></b>').html(name));if(sdesc){newLink.append($('<br/>'));newLink.append($('<font></font>').html(sdesc));}}newTd2.append(newLink);if(newTd1)newTr.append(newTd1);newTr.append(newTd2);newTable.append(newTr);mainTd.append(newTable);return mainTd;};function createServiceIcon(package,className){var newTd=$('<td></td>').append($('<div></div>').attr({className:'inline_img'}));if(className)newTd.attr({className:className});for(var i=0;i<package.service.length;i++){var newImg=$('<img></img').attr({alt:package.service[i],title:rohServTitle[package.service[i]],src:rohServIcon[package.service[i]]});newTd.append(newImg);}return newTd;};function createStatusIcon(package){var newTd=$('<td width="80"></td>');for(var i=0;i<package.status.length;i++){var newImg=$('<img></img').attr({alt:package.status[i],title:rohStatusTitle[package.status[i]],src:rohStatusIcon[package.status[i]]});newTd.append(newImg);}return newTd;};function createRelatedLink(Title,xmlItems){var newDiv=$('<div></div>');if($(xmlItems).find('item').length>0){newDiv.append($('<span></span>').text(Title));var newLi=$('<ul></ul>');$(xmlItems).find('item').each(function(){newLi.append(createRelatedNode(this));});newDiv.append(newLi);}return newDiv;};function createRelatedNode(xmlItem){var url=$(xmlItem).find('url').text();var title=$(xmlItem).find('title').text();var target=$(xmlItem).find('target').text();var newLi=$('<li></li>');var newLink=$('<a></a>').text(title);if(isPopup(target)){newLink.attr({href:'javascript:void(0)'});newLink.click(function(){popupWindow(url,'related',target);});}else{newLink.attr({href:url,target:target});}newLi.append(newLink);return newLi;};function createError(divObj,Lang){$('#'+divObj).append(createAnchor('NONE'));var divPackages=$('<div id="divPackages"></div>');$(divPackages).append(createEmptyTable("",Lang));$(divPackages).append($('<br/>'));$('#'+divObj).append(divPackages);window.location.href='#NONE';};function createEmptyTable(Title,Lang){var newDiv=$('<div></div>');$(newDiv).append($('<span></span>').text(Title));var newTbl=$('<table></table>').attr({cellSpacing:'0',cellPadding:'0',className:'packages'});var newTr=$('<tr></tr>');newTr.append($('<th width="475"></th>').text('Package'));newTr.append($('<th width="50"></th>').text('Operates'));newTr.append($('<th width="140"></th>').text('Duration'));newTr.append($('<th width="135"></th>').text('Service Included'));newTr.append($('<th width="75"></th>').text('Tour Code'));newTbl.append(newTr);if(Lang=="th"){var msg="ไม่พบแพ็คเกจที่ระบุค่ะ";}else{var msg="No packages found";}var newTr=$('<tr></tr>').html('<td colspan="5">'+msg+'</td>');newTbl.append(newTr);newDiv.append(newTbl);return newDiv;}}
