var P=[["ADI","Ahmedabad",551],["ALD","Allahabad",0],["SBC","Bangalore",122],["BPL","Bhopal",979],["BBS","Bhubaneshwar",0],["MAS","Chennai",123],["DLI","Delhi",733],["ERS","Ernakulam",0],["GKP","Gorakhpur",0],["GHY","Guwahati",0],["HWH","Howrah",0],["JP","Jaipur",0],["CNB","Kanpur",0],["LKO","Lucknow",0],["MGS","Mughal Sarai",0],["CSTM","Mumbai",0],["NGP","Nagpur",624],["PNBE","Patna",0],["PUNE","Pune",130],["SC","Secunderabad",124],["BSB","Varanasi",0],["VSKP","Vishakapatnam",248],["AHA","Abhaipur",0],["ABR","Abu Road",0],["AD","Adoni",0],["ADRA","Adra Jn",0],["AGA","Agra",0],["AGC","Agra Cantt",0],["AF","Agra Fort",0],["ANG","Ahmadnagar",0],["ADI","Ahmedabad",551],["AII","Ajmer",0],["ABP","Akbarpur",0],["AK","Akola",0],["ALJN","Aligarh",0],["ALD","Allahabad",0],["ALLP","Alleppey",0],["AWR","Alwar",0],["AWY","Alwaye",0],["UMB","Ambala",0],["UBC","Ambala City",0],["AME","Amethi",0],["AMLA","Amla Jn",0],["AMI","Amravati",0],["ASR","Amritsar",0],["AMRO","Amroha",0],["AKP","Anakapalle",0],["ANND","Anand Jn",0],["ATP","Anantapur",0],["APT","Anaparti",0],["UDL","Andal Jn",0],["AFK","Angamali",0],["AKV","Ankleshwar Jn",0],["ANV","Annavaram",0],["AUBR","Anugraha N Road",0],["APR","Anuppur Jn",0],["ARA","Ara",0],["AJJ","Arakkonam",0],["ALU","Ariyalur",0],["ASK","Arsikere",0],["ASN","Asansol",0],["ARJ","Aunrihar Jn",0],["AWB","Aurangabad",0],["AY","Ayodhya",0],["AMH","Azamgarh",0],["BCN","Bachhrawan",0],["BD","Badnera Jn",0],["BNZ","Badshahnagar",0],["BGZ","Bahadurgarh",0],["BKP","Bakhtiyarpur Jn",0],["BLM","Balamu Jn",0],["BLS","Balasore",0],["BPQ","Balharshah",0],["BVH","Ballabgarh",0],["BUI","Ballia",0],["BALU","Balugan",0],["BDC","Bandel Jn",0],["BKI","Bandikui Jn",0],["BDTS","Bandra Terminus",0],["SBC","Bangalore",122],["BNC","Bangalore Cant",0],["BWT","Bangarapet",0],["BPP","Bapatla",0],["BBK","Barabanki Jn",0],["BJU","Barauni",0],["BWN","Barddhaman Jn",0],["BE","Bareilly",0],["BARH","Barh",0],["BRYA","Barhiya",0],["BUP","Bariarpur",0],["BPRD","Barpeta Road",0],["BOE","Barsoi Jn",0],["BST","Basti",0],["BXN","Bayana Jn",0],["BEAS","Beas",0],["BMT","Begampet",0],["BGS","Begu Sarai",0],["BPA","Belampalli",0],["BAP","Belapur",0],["BGM","Belgaum",241],["BAY","Bellary",138],["BZU","Betul",0],["BBU","Bhabua Road",0],["BOY","Bhadohi",0],["BHC","Bhadrakh",0],["BGP","Bhagalpur",0],["BRD","Bhandara Road",0],["BTE","Bharatpur",0],["BH","Bharuch Jn",0],["BYT","Bhatapara",0],["BTI","Bhatinda",0],["BTT","Bhatni Jn",0],["BVC","Bhavnagar Trmus",0],["BWM","Bhawani Mandi",0],["BIRD","Bhiwandi Road",0],["BPL","Bhopal",979],["BBS","Bhubaneshwar",0],["BSL","Bhusaval",0],["BJP","Bijapur",522],["BKN","Bikaner",0],["BSP","Bilaspur",0],["BINA","Bina",0],["RRB","Birur Jn",0],["BKSC","Bokaro Stl City",0],["BHP","Bolpur S Niktn",0],["BVI","Borivali",0],["BAM","Brahmapur",0],["BAU","Burhanpur",0],["BXR","Buxar",0],["CLT","Calicut",225],["CHKB","Chakki Bank",0],["CKP","Chakradharpur",0],["CKI","Chalakudi",0],["CSN","Chalisgaon Jn",0],["CPH","Champa",0],["CDG","Chandigarh",0],["CD","Chandrapur",0],["CRP","Chandrapura",0],["CGY","Changanaseri",0],["CGL","Chengalpattu",0],["CNGR","Chengannur",0],["MAS","Chennai",123],["MS","Chennai Egmore",0],["CPR","Chhapra",0],["CLX","Chirala",0],["CRJ","Chittaranjan",0],["COR","Chittaurgarh",0],["CTO","Chittor",0],["CAR","Chunar",0],["ERS","Cochin",0],["CBE","Coimbatore",141],["CTC","Cuttack",0],["DBA","Dabra",0],["DR","Dadar",0],["DRD","Dahanu Road",0],["DHD","Dahod",0],["DSS","Dalsingh Sarai",0],["DMO","Damoh",0],["DNR","Danapur",0],["DBG","Darbhanga",0],["DJ","Darjeeling",0],["DAA","Datia",0],["DD","Daund Jn",0],["DO","Dausa",0],["DVG","Davangere",0],["DDN","Dehradun",777],["DOS","Dehri On Sone",0],["DLI","Delhi",733],["DEC","Delhi Cantt",0],["DKZ","Delhi Kishangnj",0],["DEE","Delhi S Rohilla",0],["DEOS","Deoria Sadar",0],["DVL","Devlali",0],["DWX","Dewas",0],["DHN","Dhanbad",0],["DMM","Dharmavaram Jn",0],["DWR","Dharwar",167],["DHO","Dhaulpur",0],["DQG","Dhupguri",0],["DUI","Dhuri Jn",0],["DBRT","Dibrugarh Town",0],["DLN","Dildarnagar Jn",0],["DG","Dindigul",229],["DGG","Dongargarh",0],["DKJ","Dornakal Jn",0],["DURE","Dumraon",0],["DURG","Durg",0],["DGR","Durgapur",0],["DVD","Duvvada",0],["YLM","Ellamanchili",0],["EE","Eluru",0],["ERS","Ernakulam",0],["ERN","Ernakulam Town",0],["ED","Erode",236],["ETW","Etawah",0],["FD","Faizabad",0],["FA","Falna",0],["FDB","Faridabad",0],["FTP","Fatehpur",0],["FUT","Fatwa",0],["FZD","Firozabad",0],["FZR","Firozpur Cant",0],["GJL","Gajraula Jn",0],["GGC","Gangapur City",0],["BAQ","Ganj Basoda",0],["GAYA","Gaya",0],["GZB","Ghaziabad",0],["GDYA","Ghoradongri",0],["VSG","Goa",210],["GDA","Godhra Jn",0],["GMO","Gomoh Jn",0],["GD","Gonda",0],["G","Gondia",0],["GY","Gooty",0],["GKP","Gorakhpur",0],["GDR","Gudur",0],["GR","Gulbarga",449],["GUNA","Guna",0],["GTL","Guntakal",0],["GNT","Guntur",137],["GGN","Gurgaon",0],["GUV","Guruvayur",0],["GHY","Guwahati",0],["GWL","Gwalior",0],["GYN","Gyanpur Road",0],["NZM","H Nizamuddin",0],["HBJ","Habibganj",0],["HJP","Hajipur",0],["HAPA","Hapa",0],["HPU","Hapur",0],["HD","Harda",0],["HRI","Hardoi",0],["HW","Haridwar",0],["HRR","Harihar",0],["HTZ","Hathidah Jn",0],["HTE","Hatia",0],["HVR","Haveri",0],["HZD","Hazaribagh Rd",0],["HUP","Hindupur",0],["HGT","Hinganghat",0],["HBD","Hoshangabad",0],["HWH","Howrah",0],["UBL","Hubli",222],["HYB","Hyderabad",124],["IGP","Igatpuri",0],["INDB","Indore Bg",313],["IJK","Irinjalakuda",0],["ET","Itarsi",0],["JBP","Jabalpur",0],["JUD","Jagadhri",0],["JP","Jaipur",0],["JSM","Jaisalmer",0],["JJKR","Jajpur K Road",0],["JHL","Jakhal Jn",0],["JRC","Jalandhar Cant",0],["JUC","Jalandhar City",0],["JL","Jalgaon Jn",0],["J","Jalna",0],["JMP","Jamalpur Jn",0],["JAT","Jammu",0],["JAM","Jamnagar",0],["JMU","Jamui",0],["JNH","Janghai Jn",0],["JSME","Jasidih Jn",0],["JAJ","Jhajha",0],["JHS","Jhansi",0],["JSG","Jharsuguda",0],["JU","Jodhpur",1169],["JTJ","Jolarpettai",0],["KCG","Kacheguda",0],["COA","Kakinada",316],["KLK","Kalka",0],["KYN","Kalyan Jn",0],["KYQ","Kamakhya",0],["KZE","Kanhangad",0],["CAN","Kannur",558],["CNB","Kanpur",0],["CAPE","Kanyakumari",0],["KRD","Karad",0],["KKDI","Karaikkudi",449],["KJT","Karjat",0],["KUN","Karnal",0],["KRR","Karur",0],["KGQ","Kasaragod",0],["KEI","Kashi",0],["KGM","Kathgodam",0],["KIR","Kathiar",0],["KTHU","Kathua",0],["KTE","Katni",0],["KPD","Katpadi",0],["KVZ","Kavali",0],["KYJ","Kayankulam",0],["KZJ","Kazipet",0],["KGG","Khagaria Jn",0],["KLD","Khalilabad",0],["KMT","Khammam",0],["KNW","Khandwa",0],["KNN","Khanna",0],["KGP","Kharagpur",0],["KUR","Khurda Road",0],["KOO","Khusropur",0],["KNE","Kishanganj",0],["KIUL","Kiul Jn",0],["KQN","Kodaikanal Road",0],["KQR","Koderma",0],["KOJ","Kokrajhar",0],["KOP","Kolhapur",238],["HWH","Kolkata",0],["CP","Kolkata",0],["KPG","Kopergaon (Shirdi",0],["KSV","Kosi Kalan",0],["KOTA","Kota",0],["KTYM","Kottayam",259],["CVP","Kovilpatti",0],["KVR","Kovvur",0],["KJM","Krishnarajapurm",0],["KMU","Kumbakonam",427],["KWV","Kurduvadi",0],["KRNT","Kurnool Town",0],["KKDE","Kurukshetra Jn",0],["KTU","Kuttippuram",0],["LRJ","Laksar Jn",0],["LAR","Lalitpur",0],["LTT","Lokmanyatilak T",0],["LNL","Lonavala",0],["LD","Londa Jn",0],["LKR","Luckeesarai Jn",0],["LKO","Lucknow",0],["LJN","Lucknow",0],["LDH","Ludhiana",0],["LMG","Lumding Jn",0],["LUNI","Luni Jn",0],["MTM","Machelipatnam",0],["MAO","Madgaon",210],["MDR","Madhira",0],["MDP","Madhupur Jn",0],["MDU","Madurai",126],["MABD","Mahbubabad",0],["MBNR","Mahbubnagar",0],["MSH","Mahesana Jn",0],["MYR","Maihar",0],["MKN","Makrana Jn",0],["MKC","Maksi",0],["MLDT","Malda Town",0],["MKU","Malkapur",0],["MCI","Mancheral",0],["MAQ","Mangalore",127],["MKP","Manikpur Jn",0],["MAN","Maninagar",0],["MEJ","Maniyachchi Jn",0],["MUR","Mankapur Jn",0],["MMR","Manmad",0],["MNE","Mansi Jn",0],["MALM","Manthralayam Road ",0],["MJ","Marwar Jn",0],["MTJ","Mathura",0],["MAU","Mau",0],["MVLK","Mavelikara",0],["MV","Mayiladuturai J",0],["MTC","Meerut City",0],["MGN","Meghnagar",0],["MLMR","Melmaruvattur",0],["MTD","Merta Road Jn",0],["MHOW","Mhow",0],["MRJ","Miraj",0],["MZP","Mirzapur",0],["MKA","Mokameh Jn",0],["MB","Moradabad",0],["MRA","Morena",0],["MGS","Mughal Sarai",0],["BCT","Mumbai",462],["CSTM","Mumbai Cst",0],["MURI","Muri",0],["MOZ","Muzaffarnagar",0],["MFP","Muzaffarpur",0],["MYS","Mysore",0],["ND","Nadiad Jn",0],["NCJ","Nagarcoil",0],["NAD","Nagda",0],["NGP","Nagpur",624],["NYN","Naini",0],["NBD","Najibabad Jn",0],["NED","Nanded",0],["NDB","Nandurbar",0],["NU","Narsinghpur",0],["NK","Nasik",444],["NNA","Naugachia",0],["NVS","Navsari",0],["NLR","Nellore",131],["NOQ","New Alipurdaur",0],["NBQ","New Bongaigaon",0],["NCB","New Cooch Behar",0],["NDLS","New Delhi",0],["NFK","New Farakka Jn",0],["NJP","New Jalpaiguri",0],["NDD","Nidadavolu Jn",0],["NHH","Nihalgarh",0],["NZB","Nizamabad",0],["OKHA","Okha(Dwarka",0],["OGL","Ongole",0],["ORAI","Orai",0],["OTP","Ottappalam",0],["PKR","Pakur",0],["PNU","Palanpur Jn",0],["PSA","Palasa",0],["PLG","Palghar",0],["PGT","Palghat",691],["PAN","Panagarh",0],["PAR","Pandhurna",0],["PNP","Panipat",0],["PNVL","Panvel",0],["PNME","Parasnath",0],["PBN","Parbhani Jn",0],["PGI","Parpanangadi",0],["PBH","Partapgarh Jn",0],["PTK","Pathankot",0],["PTA","Patiala",0],["PNBE","Patna",0],["PNC","Patna Saheb",0],["PAY","Payyanur",0],["PND","Pendra Road",0],["PER","Perambur",0],["PGW","Phagwara Jn",0],["PHR","Phillaur Jn",0],["FL","Phulera Jn",0],["PKW","Pilkhua",0],["PPI","Pipariya",0],["PTJ","Podanur Jn",0],["PDY","Pondicherry",233],["PBR","Porbandar",989],["PRG","Prayag",0],["PUNE","Pune",130],["PURI","Puri",0],["PRR","Purulia Jn",0],["SSPN","Puttaparthi",0],["QLN","Quilon(Kollam",212],["RBL","Rae Bareli",0],["RC","Raichur",0],["RIG","Raigarh",0],["R","Raipur",0],["RJN","Raj Nandgaon",0],["RKM","Raja Ki Mandi",0],["RJY","Rajamundry",0],["RJT","Rajkot",472],["RPJ","Rajpura Jn",0],["RMM","Rameswaram",496],["RDM","Ramgundam",0],["RMU","Rampur",0],["RPH","Rampur Hat",0],["RNC","Ranchi",0],["RNY","Rangiya Jn",0],["RNR","Ranibennur",0],["RNG","Raniganj",0],["RTM","Ratlam",0],["RN","Ratnagiri",750],["RXL","Raxaul",0],["RGDA","Rayagada",0],["RU","Renigunta Jn",0],["REWA","Rewa",0],["RE","Rewari",0],["RKSH","Rishikesh",0],["RJPB","Rjndr Ngr Bihar",0],["ROK","Rohtak",0],["RK","Roorkee",0],["ROU","Rourkela",0],["SRE","Saharanpur",0],["SHC","Saharsa",0],["SBB","Sahibabad",0],["SNT","Sainthia",0],["SIL","Sakhi Gopal",0],["SA","Salem",602],["SLO","Samalkot Jn",0],["SPJ","Samastipur",0],["SBP","Sambalpur",0],["SAN","Sandila",0],["SLI","Sangli",0],["SRC","Santragachi Jn",0],["SSM","Sasaram",0],["STR","Satara",0],["STA","Satna",0],["SRT","Satur",0],["SGO","Saugor",0],["SWM","Sawai Madhopur",0],["SDAH","Sealdah",0],["SC","Secunderabad",124],["SEGM","Sevagram",0],["SDL","Shahdol",0],["SHG","Shahganj Jn",0],["SPN","Shahjehanpur",0],["SSB","Shakurbasti",0],["SGZ","Shamgarh",0],["SEG","Shegaon",0],["SRTL","Shertalai",0],["SKB","Shikohabad Jn",0],["SMET","Shimoga Town",0],["SNSI","Shirdi",0],["SRR","Shoranur",0],["SGNR","Shri Ganganagar",0],["SJP","Shujalpur",0],["SCL","Silchar",0],["SML","Shimla",0],["SIR","Sirhind Jn",0],["SKZR","Sirpur Kagazngr",0],["SV","Siwan",0],["SUR","Solapur",919],["SNP","Sonipat",0],["SEE","Sonpur Jn",0],["CHE","Srikakulam Road",0],["SZM","Subzi Mandi",0],["SGG","Sultanganj",0],["SLN","Sultanpur",0],["SIP","Suraimanpur",0],["ST","Surat",473],["SUNR","Surendranagar",0],["TDD","Tadepalligudem",0],["TBM","Tambaram",0],["TATA","Tatanagar",0],["TEL","Tenali Jn",0],["TLY","Thalassery",0],["TNA","Thane",0],["TJ","Thanjavur",220],["TLD","Tilda",0],["TLH","Tilhar",0],["TMV","Tindivanam",0],["TTR","Tiptur",0],["TPJ","Tiruchirapalli",221],["TEN","Tirunelveli",0],["TPTY","Tirupati",999],["TUP","Tiruppur",235],["TIR","Tirur",0],["TRVL","Tiruvalla",0],["TIG","Titlagarh",0],["TCR","Trichur",139],["TVC","Trivandrum",211],["TK","Tumkur",0],["TDL","Tundla",0],["TUNI","Tuni",0],["TN","Tuticorin",0],["UAM","Udagamandalam(Ooty)",0],["UDZ","Udaipur",470],["UDN","Udhna Jn",0],["UD","Udupi",0],["UJN","Ujjain",0],["UMR","Umaria",0],["ON","Unnao Jn",0],["BDJ","Vadakara",0],["BRC","Vadodara",1003],["VLY","Valliyur",0],["BL","Valsad",0],["VAPI","Vapi",0],["BSB","Varanasi",0],["BCY","Varanasi City",0],["VAK","Varkala",0],["BSR","Vasai Road",0],["VRL","Veraval(Somnath",1120],["BHS","Vidisha",0],["BZA","Vijayawada",0],["VKB","Vikarabad Jn",0],["VM","Villuparam",0],["BDL","Vindhyachal",0],["VG","Viramgam",0],["VPT","Virudunagar",292],["VSKP","Vishakapatnam",248],["VZM","Vizianagram Jn",0],["VRI","Vridhachalam Jn",0],["WKI","Wadakancheri",0],["WADI","Wadi",0],["WKR","Wankaner Jn",0],["WL","Warangal",0],["WR","Wardha",0],["YPR","Yesvantpur Jn",0]];
CurArray=[["USD","United States Dollars","50","0","$"],["AUD","Australia Dollars","33","0","$"],["CAD","Canada Dollars","40","0","$"],["CHF","Switzerland Francs","41","0","&curren;"],["EUR","Euro","63","0","&euro;"],["GBP","United Kingdom Pounds","72","0","&pound;"],["HKD","Hong Kong Dollars","6.1","0","$"],["JPY","Japan Yen","0.51","0","&yen;"],["KWD","Kuwait Dinars","172","0","&curren;"],["NZD","New Zealand Dollars","27","0","$"],["RUB","Russia Rubles","1.81","0","$"],["SGD","Singapore Dollars","32","0","$"],["THB","Thailand Baht","1.41","0","&curren;"]];
function getCookie(_1){
var _2=document.cookie.indexOf(_1+"=");
var _3=_2+_1.length+1;
if((!_2)&&(_1!=document.cookie.substring(0,_1.length))){
return null;
}
if(_2==-1){
return "";
}
var _4=document.cookie.indexOf(";",_3);
if(_4==-1){
_4=document.cookie.length;
}
return unescape(document.cookie.substring(_3,_4));
}
function setCookie(_5,_6,_7,_8,_9,_a){
var _b=new Date();
_b.setTime(_b.getTime());
if(_7){
_7=_7*1000*60*60*24;
}
var _c=new Date(_b.getTime()+(_7));
document.cookie=_5+"="+escape(_6)+((_7)?";expires="+_c.toGMTString():"")+((_8)?";path="+_8:"")+((_9)?";domain="+_9:"")+((_a)?";secure":"");
}
function findLiveHeight(){
if(window.innerHeight!=null){
return window.innerHeight;
}
if(document.documentElement.clientHeight!=null){
return document.documentElement.clientHeight;
}
return (null);
}
function findLiveWidth(){
if(window.innerWidth!=null){
return window.innerWidth;
}
if(document.documentElement.clientWidth!=null){
return document.documentElement.clientWidth;
}
return (null);
}
function findPosX(_d){
var _e=0;
if(_d.offsetParent){
while(_d.offsetParent){
_e+=_d.offsetLeft;
_d=_d.offsetParent;
}
}else{
if(_d.x){
_e+=_d.x;
}
}
return _e;
}
function findPosY(_f){
var _10=0;
if(_f.offsetParent){
while(_f.offsetParent){
_10+=_f.offsetTop;
_f=_f.offsetParent;
}
}else{
if(_f.y){
_10+=_f.y;
}
}
return _10;
}
function QueryString(){
this.arg=new Array;
this.status=false;
this.clear=Clear;
this.getQueryString=Get;
this.getAll=GetAll;
this.getStatus=GetStatus;
this.read=Read;
function Clear(){
this.arg=new Array;
}
function Get(_11){
return this.arg[_11];
}
function GetAll(){
return this.arg;
}
function GetStatus(){
return this.status;
}
function Read(_12){
var _13,_14,_15;
if(_12){
_15=_12.substr(_12.lastIndexOf("?")+1,_12.length);
}else{
_15=window.location.search.substr(1,window.location.search.length);
}
if(_15.length<1){
return;
}else{
this.status=true;
}
_13=_15.split("&");
for(var i=0;i<_13.length;i++){
_14=_13[i].split("=");
this.arg[_14[0]]=_14[1];
}
}
}
jQuery.cookie=function(_17,_18,_19){
if(typeof _18!="undefined"){
_19=_19||{};
if(_18===null){
_18="";
_19.expires=-1;
}
var _1a="";
if(_19.expires&&(typeof _19.expires=="number"||_19.expires.toUTCString)){
var _1b;
if(typeof _19.expires=="number"){
_1b=new Date();
_1b.setTime(_1b.getTime()+(_19.expires*24*60*60*1000));
}else{
_1b=_19.expires;
}
_1a="; expires="+_1b.toUTCString();
}
var _1c=_19.path?"; path="+(_19.path):"";
var _1d=_19.domain?"; domain="+(_19.domain):"";
var _1e=_19.secure?"; secure":"";
document.cookie=[_17,"=",encodeURIComponent(_18),_1a,_1c,_1d,_1e].join("");
}else{
var _1f=null;
if(document.cookie&&document.cookie!=""){
var _20=document.cookie.split(";");
for(var i=0;i<_20.length;i++){
var _22=jQuery.trim(_20[i]);
if(_22.substring(0,_17.length+1)==(_17+"=")){
_1f=decodeURIComponent(_22.substring(_17.length+1));
break;
}
}
}
return _1f;
}
};
var OneDay=86400000;
var mQuota="GN";
var mClass="";
var mShowRoute=1;
var STrain=null;
var Direction=1;
var URL_Route="";
var Train_Type="";
var TimeDiff=0;
var mSearchByCity=1;
var mStation_From="";
var mStationFrom_Name="";
var mStation_To="";
var mStationTo_Name="";
var mStation_FromS="";
var mStationFrom_NameS="";
var mStation_ToS="";
var mStationTo_NameS="";
var ProgressCounter=0;
var lastSelectedRow=null;
var IST_Time=new Date();
var DateFromTo=null;
var DateToFrom=null;
var m_names=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var d_names=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var d_namesh=new Array("Su","Mo","Tu","We","Th","Fr","Sa");
var LoginStatus=0;
var Arrow="<span style='font-size:16px;color:#FF0000'>&nbsp;&raquo;&nbsp;</span>";
var Suggestion="";
var CacheFlag=true;
var MouseX=0,MouseY=0;
$(window).resize(Resized);
$(document).ready(function(){
$(document).mousemove(function(e){
MouseX=e.pageX;
MouseY=e.pageY;
});
if(location.host.indexOf("localhost")!=-1){
CacheFlag=false;
}
$.ajax({url:"common/getTime.aspx",cache:false,success:function(_24){
var d=_24.split(",");
var t=new Date(d[0],d[1],d[2],d[3],d[4],d[5]);
TimeDiff=t.getTime()-(new Date()).getTime();
}});
setInterval("setTime()",1000);
ShowHome();
var h="<br/><table style='margin:auto;' cellspacing='0'><tr><td style='width:200px'><a href='rail/help/help.htm' style='padding:15px;'><img src='images/eRailHelp.gif' align='absmiddle' border='1'/></a>";
h+="<td style='width:200px'> <a href='rail/help/HelpHindi.htm' style='padding:15px;'><img src='images/HelpHindi.gif' align='absmiddle' border='1'/></a>";
h+="<td style='width:200px'><div style='width:96px;height:144px;background-image:url(\"images/facebook.gif\")'><br/><br/><br/><br/><br/><iframe style='width:80px;padding:8px' src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ferail.in&amp;layout=button_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:450px; height:21px;' allowTransparency='true'></iframe></div>";
h+="</table>";
$("#divDetail").html(h);
mStation_From=$.cookie("selectFrom")!=null?$.cookie("selectFrom"):"NDLS";
FillCombo("selectFrom",mStation_From);
mStation_To=$.cookie("selectTo")!=null?$.cookie("selectTo"):"BCT";
FillCombo("selectTo",mStation_To);
if($.cookie("LastPNR")!=null){
$("#txtPNR").val($.cookie("LastPNR"));
}
if($.cookie("SearchHistory")!=null){
var _28=$.cookie("SearchHistory").split("^");
for(var i=0;i<_28.length-1;i++){
var _2a=_28[i].split("~");
AddToHistory(_2a[0],_2a[1],_2a[2],_2a[3]);
}
}
$("#cmbQuota").val("GN");
FillRunDates();
IST_Time=new Date(IST_Time.getTime()+IST_Time.getTimezoneOffset()*60000+19800000);
SearchCriteria($.cookie("SearchCriteria")!=null?$.cookie("SearchCriteria"):1);
UpdateSearchLinks();
Resized();
try{
var _2b=new QueryString();
_2b.read();
if(_2b.getStatus()){
var T=_2b.getQueryString("T");
if(T!=undefined){
T=unescape(T);
mStation_From=T.split(":")[0];
mStationFrom_Name=GetStationName(mStation_From);
mStation_To=T.split(":")[2];
mStationTo_Name=GetStationName(mStation_To);
SearchCriteria(0);
ShowSearchLink();
setTimeout("SearchTrains(1)",1000);
}
var R=_2b.getQueryString("R");
if(R!=undefined){
$("#txtTrain_no").val(R);
GetTrainsByID();
}
}
}
catch(e){
}
$("#txtStationFrom").autocomplete({maxHeight:400,width:300,onSelect:function(_2e,_2f){
$("#txtStationFrom").val(_2f.toUpperCase());
mStation_From=_2f;
mStationFrom_Name=_2e;
ShowSearchLink();
}});
$("#txtStationTo").autocomplete({maxHeight:400,width:300,onSelect:function(_30,_31){
$("#txtStationTo").val(_31.toUpperCase());
mStation_To=_31;
mStationTo_Name=_30;
ShowSearchLink();
}});
$("#txtTrain_no").autocomplete({serviceUrl:"Rail/SearchTrains_External.ashx",deferRequestBy:500,isLocal:false,minChars:2,maxHeight:400,width:410,onSelect:function(_32,_33){
$("#txtTrain_no").val(_33.toUpperCase());
}});
$.ui.dialog.defaults.bgiframe=true;
});
function GetStationName(_34){
for(var i=0;i<StationsList.length;i++){
if(StationsList[i][0]==_34){
return StationsList[i][1];
}
}
return "";
}
function SearchHistory(_36,_37,_38,_39){
this.StnFrom=_36;
this.StnFromName=_37;
this.StnTo=_38;
this.StnToName=_39;
}
SearchHistory.prototype.ShowHistorySearch=function(){
return ShowTrains(this.StnFrom,this.StnFromName,this.StnTo,this.StnToName);
};
function ShowTrains(_3a,_3b,_3c,_3d,_3e){
mStation_From=_3a;
mStationFrom_Name=_3b;
mStation_To=_3c;
mStationTo_Name=_3d;
$("#txtStationFrom").val(_3a);
$("#txtStationTo").val(_3c);
if(_3e!=undefined){
DoDateSelect($.datepicker.parseDate("dd-M-y",_3e),"tdDateFromTo");
}
ShowSearchLink();
SearchTrains(1);
return false;
}
var arrHistory=new Array();
function RemoveHistory(_3f){
arrHistory.splice(_3f,1);
DisplayHistory();
return false;
}
function SortHistory(arr){
var _41=0;
for(var i=0;i<arr.length;i++){
_41=i;
for(var j=i;j<arr.length;j++){
if(arr[_41].StnFromName>arr[j].StnFromName){
_41=j;
}
}
if(_41!=i){
var t=arr[i];
arr[i]=arr[_41];
arr[_41]=t;
}
}
return false;
}
function DisplayHistory(){
$("#tdHeadRight").html("Search History&nbsp;");
var str="";
if(Suggestion!=""){
str+="<div id='divSuggestion' style='text-align:left;background-color:#FFF4BF;width:100%;border-top:solid 1px #ADD1FF;border-bottom:solid 1px #ADD1FF;'>"+Suggestion+"</div>";
}
str+="<table boder='0' cellspacing='0' cellpadding='1' style='width:100%;text-align:left;'>";
var c="";
for(var i=0;i<arrHistory.length;i++){
str+="<tr><td><a href='#' onclick='return arrHistory["+i+"].ShowHistorySearch()'>"+arrHistory[i].StnFromName+Arrow+arrHistory[i].StnToName+"</a><td><a href='#' onclick='return RemoveHistory("+i+")'>X</a>";
c+=arrHistory[i].StnFrom+"~"+arrHistory[i].StnFromName+"~"+arrHistory[i].StnTo+"~"+arrHistory[i].StnToName+"^";
}
$.cookie("SearchHistory",c,{expires:1000});
str+="</table>";
$("#divAds").html(str);
}
function AddToHistory(_48,_49,_4a,_4b){
for(var i=0;i<arrHistory.length;i++){
if(arrHistory[i].StnFrom==_48&&arrHistory[i].StnTo==_4a){
return;
}
}
arrHistory.push(new SearchHistory(_48,_49,_4a,_4b));
SortHistory(arrHistory);
DisplayHistory();
}
function ShowSpecialTrains(){
ShowWait();
$.ajax({cache:CacheFlag,url:"rail/getTrainsSpecial.aspx",success:MakeTrainListTable});
}
function ShowHome(){
$.ajax({url:"rail/home.htm",cache:false,success:function(_4d){
_4d=_4d.toString().replace("#LoginStatus#",(LoginStatus?"<a href='#' style='color:green' onclick='return ShowMyAccount()'><b>My Account</b></a>":"<a style='color:red' href='#' onclick='return ShowLogin()'><b>Login to access your account</b></a>"));
$("#divMain").html(_4d);
}});
$("#divDetail").html("");
}
function setTime(){
IST_Time.setTime((new Date).getTime()+TimeDiff);
var _4e=IST_Time.getHours();
var _4f=IST_Time.getMinutes();
var _50=IST_Time.getSeconds();
var _51=_4e<12?"AM":"PM";
_4e=_4e>12?_4e-12:_4e;
$("#divTime").html("IST "+d_names[IST_Time.getDay()]+", "+IST_Time.getDate()+" "+m_names[IST_Time.getMonth()]+"&nbsp;&nbsp;&nbsp;"+(_4e<10?"0"+_4e:_4e)+":"+(_4f<10?"0"+_4f:_4f)+":"+(_50<10?"0"+_50:_50)+"&nbsp;"+_51);
if(ProgressCounter<100&&ProgressCounter>0){
if(ProgressCounter==1){
$("#progressbar").progressbar({value:1});
}
ProgressCounter++;
$("#progressbar").progressbar("option","value",ProgressCounter);
}
HightLight();
}
function Resized(){
var H=$(window).height()-100;
var T=H*0.55;
$("#divMain").height(T);
$("#frame_Main").height(T);
$("#frame_Detail").height(H-T);
$("#divDetail").height(H-T);
$("#divRouteList").height($("#divDetail").height()-98);
$("#divRouteList").height($("#divDetail").height()-($("#tablefaredetail").height()*5/4)-5);
$("#divTrainsList").height($("#divMain").height()-18);
var W=$(window).width();
var AdW=W-780;
if(AdW<210){
AdW=210;
}
if(AdW>300){
AdW=300;
}
$("#divAds").width(AdW);
$("#divAds2").width(AdW);
$("#divAds").height($(window).height()-320);
}
function FillCombo(_56,_57){
var obj=$("#"+_56)[0];
for(i=0;i<P.length;i++){
obj.options[i]=new Option(P[i][1],P[i][0]);
if(P[i][0]==_57){
obj.selectedIndex=i;
}
}
}
function CreateFrame(id,_5a){
$("#"+_5a).html("<iframe id='"+id+"' style='margin: 0px;width:770px' frameborder='0' marginheight='0' marginwidth='0' ></iframe>");
Resized();
}
function ShowURL(URL,_5c){
var _5d="frame_Detail",_5e="divDetail";
HideLinksWindow(1);
if(_5c==1){
_5d="frame_Main";
_5e="divMain";
}
CreateFrame(_5d,_5e);
try{
$("#"+_5d)[0].src=URL;
if(URL.indexOf("?")!=-1){
URL=URL.substring(0,URL.indexOf("?"));
}
}
catch(e){
}
return false;
}
function GetDate(dt){
var d=dt.split("-");
var m=0;
m=d[1];
m--;
return new Date(d[0],m,d[2]);
}
function GetRunMessage2(_62,_63,_64){
var dt=new Date(IST_Time.getTime()+OneDay*90);
var _66=GetDate(_62);
var dTo=new Date(GetDate(_63).getTime()-OneDay);
return GetRunMessage3(dt,_66,dTo,_64);
}
function GetRunMessage3(_68,_69,_6a,_6b){
if(_68<_69||_68>_6a){
_69=GetNextRunDate2(_69,_6b);
return "Train runs between "+_69.toDateString()+" and "+_6a.toDateString();
}
return "";
}
function GetRunMessage(_6c,_6d,_6e,_6f){
var _70=GetDate(_6d);
var dTo=GetDate(_6e);
return GetRunMessage3(_6c,_70,dTo,_6f);
}
function ShowAvailabilty(_72,_73,_74,_75){
var _76=Direction==1?DateFromTo:DateToFrom;
_76=GetNextRunDate(_76.getTime());
var str=GetRunMessage(_76,_74,_75,STrain[T_RunDays]);
if(str!=""){
alert(str);
}
URL="Rail/getAvailability.aspx?Train_No="+STrain[T_No]+"&Station_From="+_72+"&Station_To="+_73+"&mDay="+_76.getDate()+"&mMonth="+(_76.getMonth()+1)+"&mYear="+_76.getFullYear()+"&mClass="+mClass+"&mQuota="+mQuota+"&temp="+IST_Time.getTime();
return ShowURL(URL,2);
}
function FillRunDates(){
DoDateSelect(IST_Time.getTime(),"tdDateFromTo");
DoDateSelect(IST_Time.getTime(),"tdDateToFrom");
}
function UpdateSearchLinks(){
mStation_From=$("#selectFrom").val();
mStationFrom_Name=$("#selectFrom :selected").text();
mStation_To=$("#selectTo").val();
mStationTo_Name=$("#selectTo :selected").text();
ShowSearchLink();
ClearAvlStn();
}
function ClearAvlStn(){
LastTrain="";
$("#tdTatkal").html("<select id='selAvailStns' title='Select tatkal stations combination, if above Quota selection is Tatkal' style='font-size: 11px; width:100px; background-color: #ffffff;'></select>");
}
var ToolTipCounter=0;
function ShowSearchLink(){
var _78=$("#tdTrainToFrom").html();
var str="\")'><span style='color:#009999' title='View trains (including passenger trains) from trainenquiry.com, please choose exact stations of departure and arrival, no surrounding stations will be convered'> TE</span></a>";
$("#tdTrainFromTo").html("<b><a class='Step3' href='#' title='Click here to view trains between "+mStationFrom_Name+" and "+mStationTo_Name+"' onclick=\"return SearchTrains(1)\">"+mStationFrom_Name+Arrow+mStationTo_Name+"</b></a>&nbsp;");
$("#tdTrainToFrom").html("<b><a class='Step3' href='#' title='Click here to view trains between "+mStationTo_Name+" and "+mStationFrom_Name+"' onclick=\"return SearchTrains(0)\">"+mStationTo_Name+Arrow+mStationFrom_Name+"</b></a>&nbsp;");
var _7a="<a href='#' onclick='return ShowArrDept(\"";
$("#tdFromD").html(_7a+mStation_From+"\",\""+mStationFrom_Name+"\")' title='View arrival & departure of trains at "+mStationFrom_Name+"'>AD</a>");
$("#tdToD").html(_7a+mStation_To+"\",\""+mStationTo_Name+"\")' title='View arrival & departure of trains at "+mStationTo_Name+"'>AD</a>");
if(_78!=$("#tdTrainToFrom").html()){
ToolTipCounter++;
if(ToolTipCounter==2){
$("#tooltip").css("visibility","visible");
$("#tooltip").css({"left":$("#tdTrainToFrom").offset().left+50,"top":$("#tdTrainToFrom").offset().top});
$("#tooltip").show("bounce",{},100,function(){
setTimeout("HideToopTip()",3000);
});
$("#tooltip").html("Click here to <b>view trains</b> between<br/> "+mStationFrom_Name+" and "+mStationTo_Name);
}
}
}
function HideFareInfo(){
$("#tooltipFare").css("visibility","hidden");
}
function ShowFareInfo(_7b){
var tip=$(_7b).attr("title2");
if(tip==undefined){
return;
}
$("#tooltipFare").css("visibility","visible");
$("#tooltipFare").css({"left":$("#tdHeadRight").offset().left,"top":MouseY});
$("#tooltipFare").html(tip);
}
function HideToopTip(){
$("#tooltip").hide("fold",{},1000);
}
var LastTrain="";
function ShowRoute(Tr,row){
STrain=Tr;
if(lastSelectedRow){
lastSelectedRow.style.background=lastSelectedRow.lastcolor;
}
if(row){
row.lastcolor=row.style.background;
row.style.background="#dfcef2";
lastSelectedRow=row;
}
$("#txtTrain_no").val(Tr[T_No]);
mQuota=$("#cmbQuota").val();
if(LastTrain!=Tr[T_No]){
LastTrain=Tr[T_No];
var t1=Tr[T_StnFrom]+"->"+Tr[T_StnTo];
var str="<select id='selAvailStns' style='font-size: 11px; width:100px; background-color: #ffffff;'>";
if(Tr[T_StnFrom]!=Tr[T_StnTo]){
str+="<option value='0'>"+t1;
}
var t2=Tr[T_StnFirst]+"->"+Tr[T_StnLast];
if(t2!=t1){
str+="<option value='1'>"+t2;
}
var t3=Tr[T_StnFrom]+"->"+Tr[T_StnLast];
if(t3!=t1&&t3!=t2){
str+="<option value='2'>"+t3;
}
var t4=Tr[T_StnFirst]+"->"+Tr[T_StnTo];
if(t4!=t1&&t4!=t2&&t4!=t3){
str+="<option value='3'>"+t4;
}
str+="</select>";
$("#tdTatkal").html(str);
$("#tdTatkal")[0].selectedIndex=0;
str="<select id='selectRunDate' style='font-size: 11px; background-color: #ffffff'>";
var ds,dv;
ds=GetFormattedDate(0,1);
dv=GetFormattedDate(1-Tr[T_RunningDayToStn],0);
str+="<option value='"+Tr[T_No]+":"+Tr[T_StnTo]+":"+dv+"'>"+ds+" - "+Tr[T_StnTo];
if(Tr[T_StnTo]!=Tr[T_StnFrom]){
dv=GetFormattedDate(1-Tr[T_RunningDayToStn],0);
str+="<option value='"+Tr[T_No]+":"+Tr[T_StnFrom]+":"+dv+"'>"+ds+" - "+Tr[T_StnFrom];
}
ds=GetFormattedDate(1,1);
dv=GetFormattedDate(2-Tr[T_RunningDayToStn],0);
str+="<option value='"+Tr[T_No]+":"+Tr[T_StnTo]+":"+dv+"'>"+ds+" - "+Tr[T_StnTo];
if(Tr[T_StnTo]!=Tr[T_StnFrom]){
dv=GetFormattedDate(2-Tr[T_RunningDayToStn],0);
str+="<option value='"+Tr[T_No]+":"+Tr[T_StnFrom]+":"+dv+"'>"+ds+" - "+Tr[T_StnFrom];
}
str+="</select>";
$("#tdRunningStatus").html(str);
$("#aRunningStatus").html("<b>Curr. Run Status of "+Tr[T_No]+"</b>");
}
if(mClass!=""){
var t=$("#selAvailStns :selected").text();
ShowAvailabilty(t.substr(0,t.indexOf("->")),t.substr(t.indexOf("->")+2),Tr[T_DateFrom],Tr[T_DateTo]);
mClass="";
}
if(mShowRoute==1){
$("#divDetail").html("<div style='text-align:center;'><br>Please Wait, getting train route ...</div>");
HideLinksWindow(0);
$.ajax({cache:CacheFlag,url:"Rail/GetTrainRoute.aspx?TrainID="+Tr[T_TrainID]+"&Station_From="+Tr[T_StnFrom]+"&Station_To="+Tr[T_StnTo],success:MakeTableRoute});
}
mShowRoute=1;
return false;
}
function GetFormattedDate(_87,Typ){
var dt=new Date(IST_Time.getTime()+(_87*OneDay));
var d=dt.getDate()<10?"0"+dt.getDate():dt.getDate();
var m=dt.getMonth()+1;
m=m<10?"0"+m:m;
if(Typ){
return d+" "+m_names[dt.getMonth()];
}else{
return d+" "+m+" "+dt.getFullYear();
}
}
function GetStations(obj,_8d,_8e,_8f){
if(obj){
_8e=obj.options[obj.selectedIndex].value;
GO(_8d+"StateName").innerHTML="("+obj.options[obj.selectedIndex].text+")";
}
GetLinkData(_8d,"Rail/GetStations.aspx?State_Code="+_8e+"&Select_Name="+_8f);
}
var bkclr="#DDECF7";
var bkclr2="#ADD1FF";
function SearchTrains(Dir){
Direction=Dir==1?1:-1;
$("#tdTrainFromTo").css("background",(Dir?bkclr:bkclr2));
$("#tdTrainToFrom").css("background",(Dir?bkclr2:bkclr));
$("#tdDateFromTo").css("background",(Dir?bkclr:bkclr2));
$("#tdDateToFrom").css("background",(Dir?bkclr2:bkclr));
if(Dir){
mStation_FromS=mStation_From;
mStationFrom_NameS=mStationFrom_Name;
mStation_ToS=mStation_To;
mStationTo_NameS=mStationTo_Name;
}else{
mStation_FromS=mStation_To;
mStationFrom_NameS=mStationTo_Name;
mStation_ToS=mStation_From;
mStationTo_NameS=mStationFrom_Name;
}
GetTrains(mStation_FromS,mStation_ToS);
AddToHistory(mStation_FromS,mStationFrom_NameS,mStation_ToS,mStationTo_NameS);
return false;
}
function cmdRunningStatus_onclick(){
if(STrain==null){
alert("Please select a train to view running status");
return false;
}
var URL="Rail/Running_Status.htm?Data="+$("#selectRunDate").val();
return ShowURL(URL,2);
}
var MapWindow=null;
function cmdShowOnMap_onclick(){
if(STrain==null){
alert("Please select a train to view route map");
return false;
}
if(MapWindow!=null){
if(MapWindow.closed){
MapWindow=null;
}else{
MapWindow.focus();
}
}
if(MapWindow==null){
MapWindow=window.open("rail/frm_Rail_Map.aspx?TrainID="+STrain[T_TrainID],"_blank","width=720, height=500, menubar=no, resizable=1,scrollbars=1");
}else{
MapWindow.ChangeTrain(Selected_Train_No,Selected_Route_No);
}
return false;
}
var IsNumeric=function(x){
var _93=/^(-)?(\d*)(\.?)(\d*)$/;
return String(x).match(_93);
};
function GetPNRStatus(){
var PNR=$("#txtPNR").val();
if(PNR.length<10){
alert("Please enter 10 digit PNR number");
$("#txtPNR").focus();
return false;
}
if(!IsNumeric(PNR)){
alert("Please enter numbers only");
$("#txtPNR").focus();
return false;
}
$.cookie("LastPNR",PNR,{expires:1000});
$("#divDetail").html("<div style='text-align:center;'><br/><br/><br/>Please wait getting PNR status for - "+PNR+"</div>");
ShowURL("Rail/PNR_Status.htm?Data="+PNR);
return false;
}
function GeteRoadInfo(){
var s="",F=0,T=0;
for(i=0;i<P.length;i++){
if(P[i][0]==mStation_From&&P[i][2]){
F=P[i][2];
s+="<br/>"+P[i][1];
}
if(P[i][0]==mStation_To&&P[i][2]){
T=P[i][2];
s+=" to "+P[i][1];
}
}
return "<a href='#' onclick='parent.window.location=\"http://eRoad.in?F="+F+"&T="+T+"\"' style='color: #0000FF; font-weight: bold; text-decoration: none' >Find Buses - eRoad.in<br/>"+s+"</a>";
}
function ShowWait(){
$("#divMain").html("<div style='text-align:center;'><br>Please Wait, getting trains list ...</div>");
}
function ShowWait2(){
$("#divMain").html("<div style='text-align:center;'><br><br>Please enter<span  style='color: #FF0000;'> FROM </span>station and <span  style='color: #FF0000;'>TO </span>station ...<br><br>Type station code or station name</div>");
}
var CmdID=0;
document.onkeyup=KeyCheck;
function KeyCheck(e){
var _99=(window.event)?event.keyCode:e.keyCode;
if(_99==13){
switch(CmdID){
case 1:
GetTrainsByID();
break;
case 2:
GetPNRStatus();
break;
}
}
CmdID=0;
}
function GetTrainsByID(){
var _9a=$("#txtTrain_no").val();
if(_9a.length==0||_9a=="Train No"){
alert("Please enter a train number");
$("#txtTrain_no")[0].focus();
return false;
}
HideLinksWindow(0);
ShowWait();
$("#divDetail").html("");
var URL="rail/getTrains.aspx?TrainNo="+_9a+"&DataSource="+DataSource;
$.ajax({cache:CacheFlag,url:URL,success:GetTrainsByIDResult});
try{
urchinTracker(URL);
}
catch(e){
}
}
function GetTrainsByIDResult(_9c){
MakeTrainListTable(_9c);
STrain=null;
if(aTrains.length>1){
STrain=aTrains[1];
var URL="rail/getTrainRoute.aspx?TrainID="+aTrains[1][T_TrainID];
$.ajax({cache:CacheFlag,url:URL,success:MakeTableRoute});
try{
urchinTracker(URL);
}
catch(e){
}
}
}
function GetTrains(_9e,_9f){
$.cookie("selectFrom",_9e,{expires:1000});
$.cookie("selectTo",_9f,{expires:1000});
ClearAvlStn();
lastSelectedRow=null;
ShowWait();
STrain=null;
var URL="rail/getTrains.aspx?Station_From="+_9e+"&Station_To="+_9f+"&DataSource="+DataSource;
$.ajax({cache:CacheFlag,url:URL,success:MakeTrainListTable});
try{
urchinTracker(URL);
}
catch(e){
}
$.ajax({cache:CacheFlag,url:"Partner/GetStationPartner.aspx?StnCode="+_9e,success:StationPartnerDone});
return false;
}
function StationPartnerDone(_a1){
if(_a1!=""){
$("#divDetail").html("<center><br/>For information / help in "+mStationFrom_NameS+" contact following network partners<br/>"+_a1+"<br/>All network partners have agreed to provide unbiased / correct information to eRail.in users. </center>");
}else{
$("#divDetail").html("<center><br/>"+mStationFrom_NameS+" Network Partner Member details coming soon.<br/><br/><a href='partner/partner.htm'>If you are a travel agent Click here to register as Partner Member Network</a><br/><br/><a href='partner/whypartner.htm'>For Benefit, Terms& Condition of Partner Member Network Click here</a></center>");
}
}
function SearchCriteria(_a2){
try{
mSearchByCity=_a2;
$("#radMain")[0].checked=mSearchByCity==1;
$("#radAll")[0].checked=mSearchByCity==0;
$("#aCitySearch").html(mSearchByCity?"<b>Main Stations</b>":"Main Stations");
$("#aStationsSearch").html(mSearchByCity?"All Stations":"<b>All Stations</b>");
$("#divSearchByCity").css({"visibility":(mSearchByCity==1?"visible":"hidden"),"display":(mSearchByCity==1?"":"none")});
$("#divSearchByStation").css({"visibility":(mSearchByCity==0?"visible":"hidden"),"display":(mSearchByCity==0?"":"none")});
if(mSearchByCity==1){
UpdateSearchLinks(1);
}else{
$("#txtStationFrom").val(mStation_From);
$("#txtStationTo").val(mStation_To);
$("#txtStationFrom").focus();
$("#txtStationFrom").select();
ShowWait2();
}
$.cookie("SearchCriteria",_a2,{expires:1000});
}
catch(e){
}
return false;
}
function HideLinksWindow(_a3){
$("#frame_Detail").css("visibility",_a3==1?"visible":"hidden");
$("#divCalender").css("visibility",_a3==4?"visible":"hidden");
}
function HightLight(obj,clr){
obj.style.background=clr;
}
var LastRunDays="";
function DoDateSelect(_a6,_a7){
$("#divCalender").css("visibility","hidden");
if(_a7=="tdDateFromTo"){
DateFromTo=new Date(_a6);
}
if(_a7=="tdDateToFrom"){
DateToFrom=new Date(_a6);
}
var _a8=new Date(_a6);
var _a9="title='Click here to select date of travel, this date will be used to check availability'";
var str="<a href='#' onclick='return DoDateSelect("+(_a8.getTime()-OneDay)+",\""+_a7+"\")'><b>&nbsp;&lt;&nbsp;</b></a>";
str+="<a class='Step4' href='#' "+_a9+"  id='aDate' onclick='return ShowCalendarFull(\"\","+_a6+",\""+_a7+"\")'>";
str+=$.datepicker.formatDate("dd-M-y",_a8)+","+d_namesh[_a8.getDay()]+"</a>";
str+="<a href='#' "+_a9+"  onclick='return DoDateSelect("+(_a8.getTime()+OneDay)+",\""+_a7+"\")'><b>&nbsp;&gt;&nbsp;</b></a>";
$("#"+_a7).html(str);
OtherControls(1);
return false;
}
function OtherControls(_ab){
return;
try{
var obj=$("#selectCurrency");
if(obj){
$("#frame_Detail").css("visibility",_ab?"visible":"hidden");
}
}
catch(e){
}
}
function GetNextRunDate2(_ad,_ae){
for(var i=0;;){
i=(_ad.getDay()==0?6:_ad.getDay()-1);
if(_ae.charAt(i)=="1"){
break;
}
_ad.setTime(_ad.getTime()+OneDay);
}
return _ad;
}
function GetNextRunDate(_b0){
var _b1=new Date(_b0),i=0;
for(;;){
i=(_b1.getDay()==0?T_Sun:T_Mon+_b1.getDay()-1);
if(STrain[i]=="1"){
break;
}
_b1.setTime(_b1.getTime()+OneDay);
}
return _b1;
}
function ShowCalendarFull(_b3,_b4,_b5,_b6,_b7){
var _b8=new Date(_b4);
try{
var _b9=new Date(IST_Time.getTime()-OneDay);
var _ba=new Date(IST_Time.getTime()+OneDay*100);
if(_b6!=undefined){
_b9=GetDate(_b6);
}
if(_b7!=undefined){
_ba=GetDate(_b7);
}
var _bb=_b3==""?"divMain":"divDetail";
if(_b3==""&&STrain!=null){
_b3=STrain[T_RunDays];
_b9=GetDate(STrain[T_DateFrom]);
_ba=GetDate(STrain[T_DateTo]);
}
if(_b3=="0"){
$("#divCalender").css("visibility","hidden");
OtherControls(1);
return false;
}
var _bc=new Array();
if(_b3!=""){
LastRunDays=_b3;
for(var i=1;i<=6;i++){
_bc[i]=_b3.substr(i-1,1);
}
_bc[0]=_b3.substr(6,1);
}
var j=0,str="",_c0=0;
var _c1=new Date(IST_Time.getTime());
var _c2=new Date(IST_Time.getTime());
_c2.setDate(1);
str+="<center><table border=0 cellspacing=1 cellpadding=0>";
var clr="background:#FFFFFF;border: #FFFFFF 1px solid;cursor:hand;",_c4="";
for(i=0;i<4;i++){
str+="<td><table border=0 cellspacing=0 cellpadding=0 >";
str+="<tr><td style='text-align:right' colspan='7'>"+m_names[_c2.getMonth()]+" "+_c2.getFullYear();
str+="<tr><td>Mo<td>Tu<td>We<td>Th<td>Fr<td>Sa<td style='color:#ff0000'>Su<tr>";
var _c5=_c2.getMonth();
var _c6=0;
var _c7=0;
var _c8=0;
for(j=0;j<42;j++){
if(j%7==0){
str+="<tr>";
}
if((j+1)%7==_c2.getDay()){
_c6=1;
}
if(_c5==_c2.getMonth()&&_c6){
_c4=clr;
_c7=_c2.getTime()<_c1.getTime()||_c0>=92?0:1;
if(_c7){
if(_bc[_c2.getDay()]=="1"&&_c2>=_b9&&_c2<=_ba){
_c4="background:#f4c674;border: #FFFFFF 1px solid;cursor:hand;";
}
_c8=_c2.getDate()==_b8.getDate()&&_c2.getMonth()==_b8.getMonth();
if(_c8){
_c4+="border: #FF0000 1px solid;";
}
_c4+=(_c2.getDay()==0?";color:red;'":"'");
}else{
_c4+="color:#C0C0C0;'";
}
str+="<td style='"+_c4+"'";
if(_c7){
if(!_c8){
str+="' onmouseover='this.style.borderColor=\"red\"'";
str+="  onmouseout='this.style.borderColor=\"white\"'";
}
str+="  onclick='DoDateSelect("+_c2.getTime()+",\""+_b5+"\")'";
_c0++;
}
str+=" >"+_c2.getDate()+"";
_c2.setTime(_c2.getTime()+OneDay);
}else{
str+="<td>&nbsp;";
}
}
str+="</table>";
}
str+="<tr style='background:#FFE2A8'><td colspan=4 style='text-align:center'>Highlighted days show run days of the selected train.  &nbsp; &nbsp; &nbsp; &nbsp;<a href='#' onclick='return DoDateSelect("+_b8.getTime()+",\""+_b5+"\")'>Close Calendar</a>";
str+="</table></center><br>";
$("#divCalender").html(str);
$("#divCalender").css("visibility","visible");
if(_bb=="divDetail"){
OtherControls(0);
}
Reposition(_bb,"divCalender",150);
}
catch(e){
}
return false;
}
function GetClassFareToolTip(_c9){
var _ca=new Array();
for(var i=1;i<=8;i++){
_ca.push("");
}
try{
var Fn=_c9.split(":");
for(var i=1;i<=8;i++){
var _cd=0,_ce=0,_cf=0,_d0=0;
var _d1=Fn[i+1].split(",");
_cd=_ce=_cf=_d0=_d1[0];
if(Train_Type!="RAIL_MOTOR"){
_ce=_d1[1];
_cf=_d1[2];
_d0=_ce;
if(_d1.length>=4){
_d0=_d1[4];
}
}
_ca[i-1]="<br/>Fare Adult : "+_cd+"<br/>Child : "+_ce+"<br/>Sen. Male :"+_cf+"<br/>Sen. Female : "+_d0;
}
}
catch(e){
}
return _ca;
}
function CalcFare(){
if(RouteFare==null){
return;
}
var Fn=RouteFare;
try{
var _d3=$("#selectCurrency").val();
var _d4=parseInt($("#selectAdult").val());
var _d5=parseInt($("#selectChild").val());
var _d6=parseInt($("#selectSenior").val());
var _d7=parseInt($("#selectSeniorF").val());
var n=0;
for(n;n<CurArray.length;n++){
if(CurArray[n][0]==_d3){
break;
}
}
var _d9,_da,i;
for(i=1;i<=8;i++){
var _dc=0,_dd=0,_de=0,_df=0;
var _e0=Fn[i+1].split(",");
_dc=_dd=_de=_df=_e0[0];
_d9=_dc*_d4;
if(Train_Type!="RAIL_MOTOR"){
_dd=_e0[1];
_de=_e0[2];
_df=_dd;
if(_e0.length>=4){
_df=_e0[4];
}
}
_d9+=_dd*_d5;
_d9+=_de*_d6;
_d9+=_df*_d7;
if($("#cmbQuota").val()=="CK"){
_d9+=_e0[3]*(_d4+_d5+_d6+_d7);
}
_da=Math.ceil(_d9/CurArray[n][2]);
var _e1="-";
if(_d9){
_e1="-";
if(STrain!=null){
var _e2=STrain[T_TrainType];
if(STrain[T_Classes].substr(i-1,1)=="1"){
_e1="<img src='images/rupee.gif' align='baseline' /><a href='#' onclick='ShowFare(\""+n_Classes[i]+"\")'><b>"+_d9+"</b></a>";
}
if(i==7&&STrain[T_Classes].substr(i-1,1)=="0"){
_e1="<img src='images/rupee.gif' align='baseline'/><b>"+_d9+"</b>";
if($("#cmbQuota").val()=="CK"){
_e1="-";
}
}
if((_e2=="SHATABDI"||_e2=="RAIL_MOTOR"||_e2=="RAJDHANI")&&i==7&&STrain[T_Classes].substr(i-1,1)=="0"){
_e1="-";
}
}
}
$("#tdFareRs"+i).html(_e1);
if(_e1=="-"){
_da=0;
}
$("#tdFareEx"+i).html(_da?("<b><span style='font-size:10px'>"+CurArray[n][4]+"&nbsp;</span></b>"+_da):"-");
}
}
catch(e){
}
}
function PrintRoute(){
$("#aPrint").css("visibility","hidden");
$("#divRouteList").css("overflow","");
PrintDoc($("#divDetail").html());
$("#divRouteList").css("overflow","auto");
$("#aPrint").css("visibility","visible");
return false;
}
function PrintTrains(){
$("#divExtraInfo").css("visibility","hidden");
$("#divTrainsList").css("overflow","");
PrintDoc("Trains between "+(Direction==1?mStationFrom_Name:mStationTo_Name)+" and "+(Direction==1?mStationTo_Name:mStationFrom_Name),$("#divMain").html());
$("#divTrainsList").css("overflow","auto");
$("#divExtraInfo").css("visibility","visible");
return false;
}
function PrintDoc(_e3,_e4){
var _e5="toolbar=yes,location=no,directories=yes,menubar=yes,";
_e5+="scrollbars=yes,width=500, height=400, left=100, top=25";
var _e6=window.open("","",_e5);
_e6.document.open();
_e6.document.write("<html><head><title>eRail.in</title>");
_e6.document.write("</head>");
_e6.document.write("<style>.tableBorder td{font-family: Arial;font-size: 12px;border-right: #cccccc 1px solid;border-bottom: #cccccc 1px solid;text-indent:3px;}");
_e6.document.write(".tableBorder2 td{background-color:#C5EAFE;border-right: #cccccc 0px solid;cursor:hand;}");
_e6.document.write("</style>");
_e6.document.write("<body style=\"font-family: Arial;font-size: 12px;background-color: White;margin:2px;\"><a href=\"#\" onclick=\"self.print();return false;\">Click here to print</a><center>");
_e6.document.write("http://eRail.in - Wish You A Happy Journey<br/><br/>");
_e6.document.write("<div><b>"+_e3+"</b></div><br/>");
_e6.document.write(_e4);
_e6.document.write("</center></body></html>");
_e6.document.close();
_e6.focus();
return false;
}
function Reposition(ID,obj,_e9){
try{
$("#"+obj).height(_e9);
$("#"+obj).width(770);
var l=$("#"+ID).offset().left;
$("#"+obj).css("left",$("#"+ID).offset().left);
$("#"+obj).css("top",$("#"+ID).offset().top);
}
catch(e){
}
}
function InText(obj,txt){
obj.style.color="#000000";
if(txt.indexOf(obj.value)!=-1){
obj.value="";
}
}
function OutText(obj,txt){
obj.style.color="#000000";
if(obj.value==""){
obj.value=txt;
obj.style.color="#C0C0C0";
}
}
function ShowArrDept(_ef,_f0){
ShowWait();
STrain=null;
$.ajax({cache:CacheFlag,url:"Rail/getTrainsPassing.aspx?StationCode="+_ef,success:MakeTableAD});
return false;
}
function ShowFare(_f1){
var t=$("#selAvailStns :selected").text();
var _f3=t.substr(0,t.indexOf("->"));
var _f4=t.substr(t.indexOf("->")+2);
var _f5=Direction==1?DateFromTo:DateToFrom;
var URL="Rail/getFare.aspx?Train_No="+STrain[T_No]+"&Station_From="+STrain[T_StnFrom]+"&Station_To="+STrain[T_StnTo]+"&mDay="+_f5.getDate()+"&mMonth="+(_f5.getMonth()+1)+"&mYear="+_f5.getFullYear()+"&mClass="+_f1;
return ShowURL(URL,2);
}
function ShowLink(URL,_f8){
URL="common/NewLink.aspx?"+URL;
window.open(URL,"_blank");
try{
urchinTracker(URL);
}
catch(e){
}
return false;
}
var aTrains=new Array();
var aRoute=new Array();
var aADtrains=new Array();
var Dir=1;
var SortedCol=0;
var DataSource=0;
var d_names2=new Array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
var n_Classes=new Array("","1A","2A","3A","CC","FC","SL","2S","3E","2H");
function SortTableQ(_f9,_fa,_fb,arr){
var _fd=0;
for(var i=1;i<arr.length;i++){
_fd=i;
for(var j=i;j<arr.length;j++){
if((arr[_fd][_f9]>arr[j][_f9]&&_fb)||(arr[_fd][_f9]<arr[j][_f9]&&!_fb)){
_fd=j;
}
}
if(_fd!=i){
var t=arr[i];
arr[i]=arr[_fd];
arr[_fd]=t;
}
}
return false;
}
function GetHightLight(_101){
return "<div style='padding: 0pt 0.7em; margin-top: 5px;' class='ui-state-highlight ui-corner-all'><p style='color:#363636;font-size:12px'><span style='float: left; margin-right: 0.3em;' class='ui-icon ui-icon-info'/>"+_101+"</p></div>";
}
var TR_No=0,TR_StnCode=1,TR_StnName=2,TR_Arrival=3,TR_Departure=4,TR_Halt=5,TR_Distance=6,TR_Day=7,TR_Platform=8,TR_Remark=9;
var CHR=[[30,"SNo","Serial Number",TR_No],[60,"Stn Code","Station Code",TR_StnCode],[130,"Stn Name","Station Name",TR_StnName],[70,"Arr. Time","Arrival Time",TR_Arrival],[70,"Dep. Time","Departure Time",TR_Departure],[60,"Halt Time","Halt Time",TR_Halt],[60,"Distance","Distance",TR_Distance],[40,"Day","Day",TR_Day],[230,"Remark","Remark",TR_Remark]];
var T_No=0,T_Name=1,T_StnFirstName=2,T_StnFirst=3,T_StnLastName=4,T_StnLast=5,T_StnFromName=6,T_StnFrom=7,T_StnToName=8,T_StnTo=9,T_Departure=10;
var T_Arrival=11,T_Travel=12,T_RunDays=13,T_Mon=14,T_Tues=15,T_Wed=16,T_Thur=17,T_Fri=18,T_Sat=19,T_Sun=20;
var T_Classes=21,T_1A=22,T_2A=23,T_3A=24,T_CC=25,T_FC=26,T_SL=27,T_2S=28,T_3E=29,T_2H=30,T_BlankClass=31;
var T_TrainType=32,T_TrainID=33,T_RunningDayToStn=34,T_Pantry=35,T_DataSource=36,T_DateFrom=37,T_DateTo=38,T_Distance=39,T_AvSpeed=40,T_Fare=41;
var CH=[[60,"Train","Click here to sort on Train Number",T_No],[161,"Train Name","Click here to sort on Train Name",T_Name],[12,"P","Pantry",T_Pantry],[42,"From","Click here to sort on From Station",T_StnFrom],[42,"Dep.","Click here to sort on Departure time at the From station",T_Departure],[42,"To","Click here to sort on To Station",T_StnTo],[42,"Arr.","Click here to sort on Arrival Time at the To Station",T_Arrival],[40,"Travel","Click here to sort on Travel Time of the train",T_Travel],[12,"R","Click here to filter daily trains on the top",T_RunDays],[15,"M","Click here to filter Monday trains on the top",T_Mon],[15,"T","Click here to filter Tuesday trains on the top",T_Tues],[15,"W","Click here to filter Wednesday trains on the top",T_Wed],[15,"T","Click here to filter Thursday trains on the top",T_Thur],[15,"F","Click here to filter Friday trains on the top",T_Fri],[15,"S","Click here to filter Saturday trains on the top",T_Sat],[15,"<span style='color: red'>S</span>","Click here to filter Sunday trains on the top",T_Sun],[5,"&nbsp;","",0],[20,"1A","Click here to filter on AC 1-tier sleeper on the top",T_1A],[20,"2A","Click here to filter on AC 2-tier sleeper on the top",T_2A],[20,"3A","Click here to filter on AC 3-tier sleeper on the top",T_3A],[20,"CC","Click here to filter on AC Chair Car on the top",T_CC],[20,"FC","Click here to filter on First Class on the top",T_FC],[20,"SL","Click here to filter on Sleeper Class on the top",T_SL],[20,"2S","Click here to filter on Second Sitting on the top",T_2S],[20,"3E","Click here to filter on 3 AC Economy on the top",T_3E]];
var CAD=[[70,"Train","Train Number",T_No],[250,"Train Name","Train Name",T_Name],[55,"Orig.","First Station",T_StnFirst],[55,"Des.","Last Station",T_StnLast],[55,"Arr.","Arrival Time at the To Station",T_Arrival],[55,"Dep.","Departure Time at the selected station",T_Departure],[55,"Halt.","Halt",T_Travel],[15,"&nbsp;","",0],[20,"M","Monday",T_Mon],[20,"T","Tuesday",T_Tues],[20,"W","Wednesday",T_Wed],[20,"T","Thursday",T_Thur],[20,"F","Friday",T_Fri],[20,"S","Saturday",T_Sat],[20,"<span style='color: red'>S</span>","Sunday",T_Sun]];
function GetStyle(_102,_103){
return "<td style='width:"+CH[_103][0]+"px;"+(SortedCol==_103?(_102%2?"":"background:#FFF4BF;"):"");
}
function GetStyle2(_104,_105){
return "<td style='width:"+CHR[_105][0]+"px;";
}
function GetStyle3(_106,_107){
return "<td style='width:"+CAD[_107][0]+"px;"+(SortedCol==_107?(_106%2?"":"background:#FFF4BF;"):"");
}
function ExtraSorts2(_108,_109){
if(SortedCol!=_109){
Dir=0;
}
SortedCol=_109;
if(_108>12){
Dir=0;
}else{
Dir=!Dir;
}
SortTableQ(_108,_109,Dir,aADtrains);
MakeADTableHTML();
return false;
}
function ExtraSorts(_10a,_10b){
if(SortedCol!=_10b){
Dir=0;
}
SortedCol=_10b;
if(_10a>12){
Dir=0;
}else{
Dir=!Dir;
}
SortTableQ(_10a,_10b,Dir,aTrains);
MakeTableHTML();
return false;
}
var RouteDistance=0;
function MakeTableHTMLRouteFare(){
if(STrain==null){
return;
}
var str="<table id='tablefaredetail' class='tableBorder' border='0px' cellspacing='0px' cellpadding='0px' bgcolor='#C5EAFE' width='750px' style='text-align: center; font-size: 12px; font-family: Arial;'>";
str+="<tr style='background: #f2e6ce'><td style='background: #FFFFFF; color: #AC59FF' colspan='2'>"+STrain[T_No]+" "+STrain[T_Name]+"<td rowspan='3'>";
str+="<table border='0px' cellspacing='0px' cellpadding='0px' style='width:100%' >";
str+="<tr><td rowspan='2' width='50px' style='background: #f2e6ce'>";
str+="Fare&nbsp;<span style='color: #ff0000'>*</span><td>1A<td>2A<td>3A<td>CC<td>FC<td>SL<td>2S<td style='background: #FFFFFF; width: 20px'>";
str+="<select id='selectAdult' title='12 years to 59 years' size='1' style='background-color: #ffffff; font-size: 10px;width:60px;' onchange=\"CalcFare()\">";
str+="<option value='0'>0 Adult<option selected='selected' value='1'>1 Adult<option value='2'>2 Adult<option value='3'>3 Adult<option value='4'>4 Adult<option value='5'>5 Adult<option value='6'>6 Adult</select>";
str+="</td><td style='background: #FFFFFF; width: 20px'><select id='selectChild' title='5 years to 11 years' size='1' style='width:60px;background-color: #ffffff;font-size: 10px;' onchange=\"CalcFare()\">";
str+="<option value='0'>0 Child<option value='1'>1 Child<option value='2'>2 Child<option value='3'>3 Child<option value='4'>4 Child<option value='5'>5 Child<option value='6'>6 Child</select>";
str+="<tr><td id='tdFareRs1' width='50px' height='18px'>";
str+="</td><td id='tdFareRs2' width='50px' height='18px'></td><td id='tdFareRs3' width='50px' height='18px'>";
str+="<b></td><td id='tdFareRs4' width='50px' height='18px'></td><td id='tdFareRs5' width='50px' height='18px'>";
str+="</td><td id='tdFareRs6' width='50px' height='18px'></td><td id='tdFareRs7' width='50px' height='18px'>";
str+="</td><td style='background: #FFFFFF;' colspan='2'><select id='selectSenior' title='Male 60 years and Above' size='1' style='background-color: #ffffff;width:125px;";
str+="font-size: 10px;' onchange=\"CalcFare()\"><option value='0'>0 Senior Male<option value='1'>1 Senior Male<option value='2'>2 Senior Male<option value='3'>3 Senior Male<option value='4'>4 Senior Male<option value='5'>5 Senior Male<option value='6'>6 Senior Male</select>";
str+="<tr style='background: #FFFFFF'><td style='background: #f2e6ce'>";
str+="<select id='selectCurrency' size='1' style='background-color: #ffffff; font-size: 10px;' onchange=\"CalcFare()\">";
str+="<option value='USD'>USD<option value='AUD'>AUD<option value='CAD'>CAD<option value='CHF'>CHF<option value='EUR'>EUR<option value='GBP'>GBP<option value='HKD'>HKD<option value='JPY'>JPY<option value='KWD'>KWD<option value='NZD'>NZD<option value='RUB'>RUB<option value='SGD'>SGD<option value='THB'>THB</select>";
str+="<td id='tdFareEx1'></td><td id='tdFareEx2'></td><td id='tdFareEx3'></td><td id='tdFareEx4'></td><td id='tdFareEx5'></td><td id='tdFareEx6'></td><td id='tdFareEx7'></td><td style='background: #FFFFFF;' colspan='2'>";
str+="<select id='selectSeniorF' title='Female 60 years and Above' size='1' style='background-color: #ffffff;font-size: 10px;width:125px;' onchange=\"CalcFare()\">";
str+="<option value='0'>0 Senior Female<option value='1'>1 Senior Female<option value='2'>2 Senior Female<option value='3'>3 Senior Female<option value='4'>4 Senior Female<option value='5'>5 Senior Female<option value='6'>6 Senior Female</select></td>";
str+="</table>";
str+="<tr style='background: #fcf8f0'><td style='background: #FFFFFF; color: #AC59FF' colspan='2'>"+STrain[T_StnFromName]+" to "+STrain[T_StnToName];
str+="<tr><td style='border-right: #cccccc 0px solid;'><a id='aPrint' href='#' onclick='PrintRoute()'>Print</a><td>"+"Distance -"+RouteDistance+" kms</table>";
$("#divFare").html(str);
UpdateFareDisplay(STrain,RouteDistance);
return str;
}
function UpdateFareDisplay(_10d,_10e){
$.ajax({cache:CacheFlag,url:"Rail/getTrainfare.aspx?StnFrom="+_10d[T_StnFrom]+"&StnTo="+_10d[T_StnTo]+"&Distance="+_10e+"&TrainNo="+_10d[T_No]+"&TrainType="+_10d[T_TrainType]+"&Classes="+_10d[T_Classes],success:UpdateFareDisplayCallBack});
}
var RouteFare=null;
function UpdateFareDisplayCallBack(Data){
RouteFare=Data.split("~");
CalcFare();
}
function MakeTableHTMLRoute(){
if(aRoute.length<2){
$("#divDetail").html("<div style='text-align:center;'><br/>Route Not Found or Train is cancelled</div>");
return;
}
var Fn=aRoute[0];
var str="<div id='divFare'></div>";
str+="<table class='tableBorder' width='750px' border='0px' cellspacing='0px' cellpadding='0px' style='text-align: center; font-size: 12px; font-family: Arial;'>";
str+="<thead><tr height='15px' style='background:#C0DDDD;'>";
for(i=0;i<CHR.length;i++){
str+="<th style='width:"+CHR[i][0]+"px' title='"+CHR[i][2]+"'>"+CHR[i][1]+"</th>";
}
str+="</tr></+thead></table>";
str+="<div id='divRouteList' style='overflow: auto; position: relative;'>";
str+="<table class='tableBorder' width='750px' border='0px' cellspacing='0px' cellpadding='0px'style='text-align: center; font-size: 12px; font-family: Arial;'>";
str+="<tbody id='tblRouteList'>";
var _112=0,_113=0;
var _114=0,_115=true;
for(i=1;i<aRoute.length;i++){
Fn=aRoute[i];
var clr=(i%2?"#FFFFFF":"#FBF8EB");
if(STrain!=null){
if(Fn[TR_StnCode]==STrain[T_StnFrom]){
_112=Fn[TR_Distance];
clr="#FFF4BF;";
_115=false;
}
if(Fn[TR_StnCode]==STrain[T_StnTo]){
_113=Fn[TR_Distance];
clr="#FFF4BF;";
}
}
if(_115){
_114+=18;
}
str+="<tr height='18px' style='background:"+clr+(clr=="#FFF4BF;"?"font-weight:bold;":"")+"'>";
str+=GetStyle2(i,0)+"'>"+Fn[TR_No];
str+=GetStyle2(i,1)+"'>"+Fn[TR_StnCode];
str+=GetStyle2(i,2)+";text-align:left'>"+Fn[TR_StnName];
str+=GetStyle2(i,3)+"'>"+Fn[TR_Arrival];
str+=GetStyle2(i,4)+"'>"+Fn[TR_Departure];
str+=GetStyle2(i,5)+"'>"+Fn[TR_Halt];
str+=GetStyle2(i,6)+"'>"+Fn[TR_Distance];
str+=GetStyle2(i,7)+"'>"+Fn[TR_Day];
str+=GetStyle2(i,8)+"'>&nbsp;"+Fn[TR_Remark];
}
RouteDistance=_113-_112;
str+="</tbody></table>";
str+="<br/><div id='divExtraInfo'><span style='color: #ff0000'>* Fare is an indicative amount, click on the amount link to get an exact fare</span></div></div>";
$("#divDetail").html(str);
$("#divRouteList").animate({scrollTop:_114},"slow");
try{
MakeTableHTMLRouteFare();
}
catch(e){
}
Resized();
}
function GetTrainNameColor(_117){
var clr="000000";
switch(_117){
case "SHATABDI":
clr="006AD5";
break;
case "RAJDHANI":
clr="FF480B";
break;
case "RAIL_MOTOR":
clr="008000";
break;
case "SUPERFAST":
clr="D56A00";
break;
case "MAIL_EXPRESS":
clr="8B4513";
break;
case "COMPOSITE":
clr="556B2F";
break;
}
return clr;
}
function MakeADTableHTML(){
if(aADtrains.length<2){
$("#divMain").html("<div style='text-align:center;'><br/>No trains found for the selections</div>");
return;
}
var str="<table class='tableBorder' width='750px' border='0px' cellspacing='0px' cellpadding='0px' style='text-align: center; font-size: 12px; font-family: Arial;'>";
str+="<thead><tr style='height:15px;background: #C5EAFE;'>";
for(i=0;i<CAD.length;i++){
str+="<td style='width:"+CAD[i][0]+"px' title='"+CAD[i][2]+"'><a href='#' onclick='ExtraSorts2("+CAD[i][3]+","+i+");return MakeADTableHTML();'>"+(SortedCol==i?"<b>":"")+CAD[i][1]+(SortedCol==i?"</b>":"")+"</a></td>";
}
str+="</tr></thead></table>";
str+="<div id='divTrainsList' style='overflow: auto; height: 85px; position: relative;'>";
str+="<table class='tableBorder' width='750px' border='0px' cellspacing='0px' cellpadding='0px'style='text-align: center; font-size: 12px; font-family: Arial;'>";
str+="<tbody id='tblTrainsList'>";
for(i=1;i<aADtrains.length;i++){
try{
var Fn=aADtrains[i];
var clr=GetTrainNameColor(Fn[T_TrainType]);
str+="<tr style='height:18px;background:"+(i%2?"#FFFFFF":"#FBF8EB")+"' onclick='return ShowRoute(aADtrains["+i+"],this)'>";
str+=GetStyle3(i,0)+"text-align: Left;' title=''>"+(Fn[T_No].length>6?Fn[T_No].substring(0,5):Fn[T_No])+"</td>";
str+=GetStyle3(i,1)+"color:#"+clr+"; text-align: left;' title='"+Fn[T_Name]+" - "+Fn[T_TrainType]+"'>"+(Fn[T_Name].length>20?Fn[T_Name].substring(0,19)+"...":Fn[T_Name]);
str+=GetStyle3(i,2)+"' title='"+Fn[T_StnFirstName]+"'>"+Fn[T_StnFirst];
str+=GetStyle3(i,3)+"' title='"+Fn[T_StnLastName]+"'>"+Fn[T_StnLast];
str+=GetStyle3(i,4)+"'>"+Fn[T_Arrival];
str+=GetStyle3(i,5)+"'>"+Fn[T_Departure];
str+=GetStyle3(i,6)+"'>"+Fn[T_Travel];
str+=GetStyle3(i,7)+"'>&nbsp;";
for(j=8;j<=14;j++){
str+=GetStyle3(i,j)+"color:#"+(Fn[T_RunDays].charAt(j-8)==1?"009900'><b>Y</b></td>":"C0C0C0'><b>x</b></td>");
}
str+="</tr>";
}
catch(e){
}
}
str+="</tbody></table>";
str+="<br/><a href='#' onclick='PrintTrains();'>Click here to print trains list</a>";
str+="</div>";
$("#divMain").html(str);
Resized();
return false;
}
var GetMajorRouteCount=0;
function GetMajorRoute(){
$.ajax({url:"rail/getSuggestedRoute.aspx?StnFrom="+mStation_FromS+"&StnTo="+mStation_ToS,cache:false,success:GetMajorRouteDone});
}
function GetSuggestedTrains(){
$.ajax({url:"rail/getSuggestedTrains.aspx?StnFrom="+mStation_FromS+"&StnTo="+mStation_ToS,cache:false,success:GetSuggestedTrainsDone});
}
function GetSuggestedTrainsDone(Data){
var _11d=Data.split("^");
var A=new Array();
for(var i=0;i<_11d.length;i++){
A[i]=_11d[i].split("~");
}
var str="";
if(A[0]=="OK"){
var str="<table border='0px' cellspacing='1px' cellpadding='0px' style='margin:auto'>";
str+="<thead>Trains between stations";
str+="<tr><th>Stations<th>Trains<th>Distance";
for(var i=2;i<_11d.length;i++){
if(A[i]!=""){
str+="<tr><td><a href='#' onclick='return ShowTrains(\""+A[i-1][1]+"\",\""+A[i-1][0]+"\",\""+A[i][1]+"\",\""+A[i][0]+"\")'>";
str+=A[i-1][0]+"("+A[i-1][1]+") to "+A[i][0]+"("+A[i][1]+")</a><td>"+A[i][4]+"<td>"+A[i][5];
}
}
str+="</table>";
}else{
str=A[0];
}
$("#tdTrainSuggestion").html(str);
}
var arrRouteSugguest=new Array();
function GetMajorRouteDone(Data){
var A=arrRouteSugguest;
if(Data==""){
if(GetMajorRouteCount<4){
setTimeout("GetMajorRoute()",2000);
GetMajorRouteCount++;
}else{
$("#divMain").html(GetHightLight("Error getting suggestions"));
GetMajorRouteCount=0;
ProgressCounter=0;
}
}else{
var _123=Data.split("\n");
A.length=0;
for(var i=0;i<_123.length;i++){
A[i]=_123[i].split(",");
}
if(A[0]=="OK"){
var str=GetHightLight("No direct trains, following is one of possible route.");
str+="<br/>";
str+="<table border='0px' cellspacing='0px' cellpadding='0px' style='text-indent:3px;width:100%;background-color:#EFF7FF'><tr><td>";
str+="<table border='0px' cellspacing='1px' cellpadding='0px' style='margin:auto;'>";
str+="<thead>Route Suggestion";
str+="<tr><th>Station<th>Code<th>Distance";
var dist=0;
for(var i=2;i<_123.length;i++){
if(A[i]!=""){
dist+=parseInt(A[i][7]);
str+="<tr><td>"+A[i][2]+"<td>"+A[i][1]+"<td>"+dist;
}
}
str+="</table><td id='tdTrainSuggestion' valign='top'>Getting Train Suggestion</table>";
$("#divMain").html(str);
GetSuggestedTrains();
}else{
$("#divMain").html(GetHightLight(A[0]));
}
ProgressCounter=0;
}
}
function MakeTableHTML(){
if(aTrains.length<2){
var _127=aTrains[0][5];
if(_127.indexOf("return parent.ShowURL")!=-1){
$("#divMain").html("<div style='text-align:center;'><br/><br/>No direct trains found</div>");
return;
}
Suggestion="";
if(_127.indexOf("SUGGESTION=")!=-1){
Suggestion="<table boder='0' cellspacing='0' cellpadding='1' style='width:100%;text-align:left;background-color:transparent'><tr> <td style='width:10px'><td>Suggestion<td style='width:15px;'><a href='#' onclick='Suggestion=\"\";DisplayHistory()'>X</a>";
var _128=_127.split("=");
for(var i=1;i<_128.length;i++){
var stns=_128[i].split("-");
for(j=1;j<stns.length;j++){
var stnF=stns[j-1].split(":");
var stnT=stns[j].split(":");
Suggestion+="<tr><td>";
Suggestion+=j==1?(i+"<td colspan='2' style='background-color:#FFF4BF;border-top:solid 1px #ADD1FF'>"):("<td colspan='2' style='background-color:#FFF4BF;'>");
Suggestion+="<a href='#' onclick='ShowTrains(\""+stnF[0]+"\",\""+stnF[1]+"\",\""+stnT[0]+"\",\""+stnT[1]+"\")'>"+stnF[1]+Arrow+stnT[1]+"</a>";
}
}
Suggestion+="</table>";
$("#divMain").html("<div style='text-align:center;'><br/><br/>No Direct Train Found. Suggestion Shown On The Right Side - Search History </div>");
}else{
$("#divMain").html("<div style='text-align:center;'><br/><br/>"+_127+"</div>");
}
DisplayHistory();
return;
if(_127.indexOf("return parent.ShowURL")==-1){
$("#divMain").html("<div style='text-align:center;'><br/><br/>"+_127+"</div>");
}else{
$("#divMain").html(GetHightLight("Direct trains not found, finding options, it might take a minute or two, please wait...")+"<div id='progressbar'></div>");
ProgressCounter=1;
GetMajorRouteCount=0;
GetMajorRoute();
}
return false;
}
var str=["<table class='tableBorder' width='750px' border='0px' cellspacing='0px' cellpadding='0px' style='text-indent:0px;text-align: center; font-size: 12px; font-family: Arial;'>"];
str[str.length]="<thead><tr style='height:15px;background: #C5EAFE;'>";
for(var i=0;i<CH.length;i++){
str[str.length]="<td style='width:"+CH[i][0]+"px' title='"+CH[i][2]+"'><a href='#' onclick='return ExtraSorts("+CH[i][3]+","+i+")'>"+(SortedCol==i?"<b>":"")+CH[i][1]+(SortedCol==i?"</b>":"")+"</a></td>";
}
str[str.length]="</tr></thead></table>";
str[str.length]="<div id='divTrainsList' style='overflow: auto; height: 85px; position: relative;'>";
str[str.length]="<table class='tableBorder' width='750px' border='0px' cellspacing='0px' cellpadding='0px' style='text-indent:0px;text-align: center; font-size: 12px; font-family: Arial;'>";
str[str.length]="<tbody id='tblTrainsList'>";
var _12e=false;
for(var i=1;i<aTrains.length;i++){
var Fn=aTrains[i];
var clr=GetTrainNameColor(Fn[T_TrainType]);
str[str.length]="<tr style='height:18px;background:"+(i%2?"#FFFFFF":"#FBF8EB")+"' onclick='return ShowRoute(aTrains["+i+"],this)'>";
str[str.length]=GetStyle(i,0)+"' title='Click here to view fare and schedule between "+Fn[T_StnFromName]+" and "+Fn[T_StnToName]+"'><a href='#' style='color:#"+clr+"'>"+(Fn[T_No].length>6?Fn[T_No].substring(0,5):Fn[T_No])+"</a></td>";
var _131=GetRunMessage2(Fn[T_DateFrom],Fn[T_DateTo],Fn[T_RunDays]);
if(_131!=""){
_12e=true;
}
str[str.length]=GetStyle(i,1)+"text-align: left;' title='"+Fn[T_Name]+" - "+Fn[T_TrainType]+" ( "+Fn[T_StnFirstName]+" to "+Fn[T_StnLastName]+" ) "+_131+"' ><a href='#' style='color:#"+clr+"'>"+(Fn[T_Name].length>20?Fn[T_Name].substring(0,19)+"...":Fn[T_Name])+(_131!=""?"<span style='color:red'> * </span>":"")+"</a></td>";
str[str.length]=GetStyle(i,2)+"' "+(Fn[T_Pantry]=="1"?"title='Pantry'>P":">")+"</td>";
str[str.length]=GetStyle(i,3)+"' title='"+Fn[T_StnFromName]+"'>"+Fn[T_StnFrom]+"</td>";
str[str.length]=GetStyle(i,4)+"'>"+Fn[T_Departure]+"</td>";
str[str.length]=GetStyle(i,5)+"' title='"+Fn[T_StnToName]+"'>"+Fn[T_StnTo]+"</td>";
str[str.length]=GetStyle(i,6)+"'>"+Fn[T_Arrival]+"</td>";
var _132="Distance - "+Fn[T_Distance]+" kms, Average Speed - "+Fn[T_AvSpeed]+" km/hr";
str[str.length]=GetStyle(i,7)+"' title='"+_132+"'>"+Fn[T_Travel]+"</td>";
str[str.length]=GetStyle(i,8)+"'>"+(Fn[T_RunDays]=="1111111"&&_131==""?"&nbsp;":"<a href='#' onclick='mShowRoute=0' onmouseover=\"ShowCalendarFull('"+Fn[T_RunDays]+"',0,0,'"+Fn[T_DateFrom]+"','"+Fn[T_DateTo]+"')\" onmouseout=\"ShowCalendarFull('0')\" title='View Running Days'>R</a></td>");
for(j=9;j<=15;j++){
str[str.length]=GetStyle(i,j)+"color:#"+(Fn[T_RunDays].charAt(j-9)==1?"009900' title='Train runs from "+Fn[T_StnFromName]+" on "+d_names2[j-9]+"'><b>Y</b></td>":"C0C0C0'><b>x</b></td>");
Fn[T_Mon+(j-9)]=Fn[T_RunDays].charAt(j-9);
}
str[str.length]="<td width='5px'>&nbsp;</td>";
if(String(Fn[T_Classes]).indexOf("1")==-1){
str[str.length]="<td style='Color:#C0C0C0'>&nbsp;<td style='Color:#C0C0C0'><b>Un</b><td style='Color:#C0C0C0'><b>Re</b><td style='Color:#C0C0C0'><b>se</b><td style='Color:#C0C0C0'><b>rv</b><td style='Color:#C0C0C0'><b>ed</b><td>&nbsp;<td>&nbsp;";
}else{
var _133=GetClassFareToolTip(Fn[T_Fare]);
var _134="";
for(j=17;j<=24;j++){
_134=_133.length>=8?_133[j-17]:"";
str[str.length]=GetStyle(i,j)+"color:#"+(Fn[T_Classes].charAt(j-17)==1?"cd853f'><b><A href='#' title2='Click to view availability of <b>"+n_Classes[j-16]+"</b>"+_134+"' onclick='mShowRoute=0;mClass=\""+n_Classes[j-16]+"\"'>Av</A></b></td>":"C0C0C0'><b>x</b></td>");
Fn[T_1A+(j-17)]=Fn[T_Classes].charAt(j-17);
}
}
str[str.length]="</tr>";
}
str[str.length]="</tbody></table>";
str[str.length]="<br/><div id='divExtraInfo'><table style='font-size: 12px; font-family: Arial;' width='750px' border='0px' cellspacing='0px' cellpadding='0px'>";
str[str.length]="<tr><td><a href='#' onclick='PrintTrains();'>Click here to print trains list</a></td>";
str[str.length]="<td style='text-align: right'>Click on table header to sort on the corresponding column</td></tr>";
if(_12e){
str[str.length]="<tr><td colspan=2><span style='color:red'> * </span>Seasonal train</td></tr>";
}
str[str.length]="</table>";
var FR=aTrains[0];
if(DataSource<10){
str[str.length]="<br />Direct Link for the Result <input onfocus='this.select()' style='width: 500px' type='text' value='http://erail.in?";
if(FR[1]==""){
str[str.length]="R="+$("#txtTrain_no").val()+"' />";
}else{
str[str.length]="T="+FR[1]+"::"+FR[3]+":' />";
}
}
str[str.length]="</div></div>";
$("#divMain").html(str.join(""));
Resized();
$("#divMain a").mouseover(function(){
ShowFareInfo(this);
});
$("#divMain a").mouseout(function(){
HideFareInfo();
});
}
function MakeTableAD(Data){
SortedCol=0;
var _137=Data.split("^");
aADtrains.length=0;
for(i=0;i<_137.length;i++){
aADtrains[i]=_137[i].split("~");
}
Dir=1;
MakeADTableHTML();
}
function MakeTrainListTable(Data){
SortedCol=0;
var _139=Data.split("^");
aTrains.length=0;
for(i=0;i<_139.length;i++){
_139[i]+="~~~~~~";
aTrains[i]=_139[i].split("~");
}
Dir=0;
ExtraSorts(0,0);
Resized();
}
function MakeTableRoute(Data){
var _13b=Data.split("^");
aRoute.length=0;
for(i=0;i<_13b.length;i++){
aRoute[i]=_13b[i].split("~");
}
MakeTableHTMLRoute();
}
(function($){
$.fn.autocomplete=function(_13d){
return this.each(function(){
return new _13e(this,_13d);
});
};
var _13f=new RegExp("(\\"+["/",".","*","+","?","|","(",")","[","]","{","}","\\"].join("|\\")+")","g");
var _140=function(_141,data,_143){
var _144="("+_143.replace(_13f,"\\$1")+")";
return _141.replace(new RegExp(_144,"gi"),"<strong>$1</strong>");
};
var _13e=function(el,_146){
this.el=$(el);
this.el.attr("autocomplete","off");
this.suggestions=[];
this.data=[];
this.badQueries=[];
this.selectedIndex=-1;
this.currentValue=this.el.val();
this.intervalId=0;
this.cachedResponse=[];
this.onChangeInterval=null;
this.ignoreValueChange=false;
this.serviceUrl=_146.serviceUrl;
this.isLocal=true;
this.options={autoSubmit:false,minChars:1,maxHeight:300,deferRequestBy:0,width:0,highlight:true,params:{},fnFormatResult:_140,delimiter:null,isLocal:true};
if(_146){
$.extend(this.options,_146);
}
if(this.options.lookup){
this.isLocal=true;
if($.isArray(this.options.lookup)){
this.options.lookup={suggestions:this.options.lookup,data:[]};
}
}
if(!this.options.isLocal){
this.isLocal=this.options.isLocal;
}
this.initialize();
};
_13e.prototype={killerFn:null,initialize:function(){
var me,_148;
me=this;
_148=Math.max.apply(null,$.map($("body > *"),function(e,n){
var pos=$(e).css("position");
if(pos==="absolute"||pos==="relative"){
return parseInt($(e).css("z-index"),10)||1;
}
}));
this.killerFn=function(e){
if($(e.target).parents(".autocomplete").size()===0){
me.killSuggestions();
me.disableKillerFn();
}
};
var uid=new Date().getTime();
var _14e="Autocomplete_"+uid;
if(!this.options.width){
this.options.width=this.el.width();
}
this.mainContainerId="AutocompleteContainter_"+uid;
$("<div id=\""+this.mainContainerId+"\" style=\"position:absolute;z-index:"+_148+"\"><div class=\"autocomplete-w1\"><div class=\"autocomplete\" id=\""+_14e+"\" style=\"display:none; width:"+this.options.width+"px;\"></div></div></div>").appendTo("body");
this.container=$("#"+_14e);
this.fixPosition();
if(window.opera){
this.el.keypress(function(e){
me.onKeyPress(e);
});
}else{
this.el.keydown(function(e){
me.onKeyPress(e);
});
}
this.el.keyup(function(e){
me.onKeyUp(e);
});
this.el.blur(function(){
me.enableKillerFn();
});
this.el.focus(function(){
me.fixPosition();
});
this.container.css({maxHeight:this.options.maxHeight+"px"});
},fixPosition:function(){
var _152=this.el.offset();
$("#"+this.mainContainerId).css({top:(_152.top+this.el.innerHeight())+"px",left:_152.left+"px"});
},enableKillerFn:function(){
var me=this;
$(document).bind("click",me.killerFn);
},disableKillerFn:function(){
var me=this;
$(document).unbind("click",me.killerFn);
},killSuggestions:function(){
var me=this;
this.stopKillSuggestions();
this.intervalId=window.setInterval(function(){
me.hide();
me.stopKillSuggestions();
},300);
},stopKillSuggestions:function(){
window.clearInterval(this.intervalId);
},onKeyPress:function(e){
if(!this.enabled){
return;
}
switch(e.keyCode){
case 27:
this.el.val(this.currentValue);
this.hide();
break;
case 9:
case 13:
if(this.selectedIndex===-1){
this.hide();
return;
}
this.select(this.selectedIndex);
if(e.keyCode===9){
return;
}
break;
case 38:
this.moveUp();
break;
case 40:
this.moveDown();
break;
default:
return;
}
e.stopImmediatePropagation();
e.preventDefault();
},onKeyUp:function(e){
switch(e.keyCode){
case 38:
case 40:
return;
}
clearInterval(this.onChangeInterval);
if(this.currentValue!==this.el.val()){
if(this.options.deferRequestBy>0){
var me=this;
this.onChangeInterval=setInterval(function(){
me.onValueChange();
},this.options.deferRequestBy);
}else{
this.onValueChange();
}
}
},onValueChange:function(){
clearInterval(this.onChangeInterval);
this.el.val(this.el.val().replace(/[^a-zA-Z 0-9]+/g,""));
this.currentValue=this.el.val();
var q=this.getQuery(this.currentValue);
this.selectedIndex=-1;
if(this.ignoreValueChange){
this.ignoreValueChange=false;
return;
}
if(q===""||q.length<this.options.minChars){
this.hide();
}else{
this.getSuggestions(q);
}
},getQuery:function(val){
var d,arr;
d=this.options.delimiter;
if(!d){
return $.trim(val);
}
arr=val.split(d);
return $.trim(arr[arr.length-1]);
},getSuggestionsLocal:function(q){
var ret,arr,len,ctr=0;
len=StationsList.length;
ret={suggestions:[],data:[]};
var _162=new Array();
var _163=new Array();
this.selectedIndex=0;
len=StationsList.length;
q=q.toUpperCase();
var qL=q.toLowerCase();
var _165=15;
for(var i=0;i<len;i++){
if(q==StationsList[i][0]){
ret.suggestions.push(StationsList[i][1]);
ret.data.push(StationsList[i][0]);
if(_163.length>=_165){
break;
}
}else{
if(_163.length<_165){
var str=StationsList[i][1].toLowerCase();
var _168=str.indexOf(qL);
if(_168>-1){
if(_168==0){
_163.push(StationsList[i]);
}else{
_162.push(StationsList[i]);
}
}
}
}
}
for(i=0;i<_163.length;i++){
ret.suggestions.push(_163[i][1]);
ret.data.push(_163[i][0]);
if(ret.data.length>_165){
break;
}
}
for(i=0;i<_162.length;i++){
if(ret.data.length>_165){
break;
}
ret.suggestions.push(_162[i][1]);
ret.data.push(_162[i][0]);
}
return ret;
},getSuggestions:function(q){
var cr,me,ls;
cr=this.isLocal?this.getSuggestionsLocal(q):this.cachedResponse[q];
if(cr&&$.isArray(cr.suggestions)){
this.suggestions=cr.suggestions;
this.data=cr.data;
this.suggest();
}else{
if(!this.isBadQuery(q)){
me=this;
me.options.params.query=q;
$.get(this.serviceUrl,me.options.params,function(txt){
me.processResponse(txt);
},"text");
}
}
},isBadQuery:function(q){
var i=this.badQueries.length;
while(i--){
if(q.indexOf(this.badQueries[i])===0){
return true;
}
}
return false;
},hide:function(){
this.enabled=false;
this.selectedIndex=-1;
this.container.hide();
},suggest:function(){
if(this.suggestions.length===0){
this.hide();
return;
}
var me,len,div,f;
me=this;
len=this.suggestions.length;
f=this.options.fnFormatResult;
v=this.getQuery(this.currentValue);
this.container.hide().empty();
me.selectedIndex=0;
for(var i=0;i<len;i++){
if(this.isLocal){
div=$((me.selectedIndex===i?"<div class=\"selected\"":"<div")+" title=\""+this.suggestions[i]+"\"><div style=\"width:240px;float:left;overflow:hidden\">"+f(this.suggestions[i],"",v)+"</div><div>"+f(this.data[i],"",v)+"</div></div>");
}else{
div=$((me.selectedIndex===i?"<div class=\"selected\"":"<div")+" title=\""+this.suggestions[i]+"\">"+f(this.suggestions[i],"",v)+"</div>");
}
div.mouseover((function(xi){
return function(){
me.activate(xi);
};
})(i));
div.click((function(xi){
return function(){
me.select(xi);
};
})(i));
this.container.append(div);
}
this.enabled=true;
this.container.show();
},processResponse:function(text){
var _178;
try{
_178=eval("("+text+")");
}
catch(err){
return;
}
if(!$.isArray(_178.data)){
_178.data=[];
}
this.suggestions=_178.suggestions;
this.data=_178.data;
this.cachedResponse[_178.query]=_178;
if(_178.suggestions.length===0){
this.badQueries.push(_178.query);
}
if(_178.query===this.getQuery(this.currentValue)){
this.suggest();
}
},activate:function(_179){
var divs=this.container.children();
var _17b;
if(this.selectedIndex!==-1&&divs.length>this.selectedIndex){
$(divs.get(this.selectedIndex)).attr("class","");
}
this.selectedIndex=_179;
if(this.selectedIndex!==-1&&divs.length>this.selectedIndex){
_17b=divs.get(this.selectedIndex);
$(_17b).attr("class","selected");
}
return _17b;
},deactivate:function(div,_17d){
div.className="";
if(this.selectedIndex===_17d){
this.selectedIndex=-1;
}
},select:function(i){
var _17f=this.suggestions[i];
if(_17f){
this.el.val(_17f);
if(this.options.autoSubmit){
var f=this.el.parents("form");
if(f.length>0){
f.get(0).submit();
}
}
this.ignoreValueChange=true;
this.hide();
this.onSelect(i);
}
},moveUp:function(){
if(this.selectedIndex===-1){
return;
}
if(this.selectedIndex===0){
this.container.children().get(0).className="";
this.selectedIndex=-1;
this.el.val(this.currentValue);
return;
}
this.adjustScroll(this.selectedIndex-1);
},moveDown:function(){
if(this.selectedIndex===(this.suggestions.length-1)){
return;
}
this.adjustScroll(this.selectedIndex+1);
},adjustScroll:function(i){
var _182,_183,_184,_185;
_182=this.activate(i);
_183=_182.offsetTop;
_184=this.container.scrollTop();
_185=_184+this.options.maxHeight-25;
if(_183<_184){
this.container.scrollTop(_183);
}else{
if(_183>_185){
this.container.scrollTop(_183-this.options.maxHeight+25);
}
}
},onSelect:function(i){
var me,_188,_189,s,d;
me=this;
_188=me.options.onSelect;
_189=function(_18c){
var del,_18e;
del=me.options.delimiter;
_18e=me.currentValue;
if(!del){
return _18c;
}
var arr=_18e.split(del);
if(arr.length===1){
return _18c;
}
return _18e.substr(0,_18e.length-arr[arr.length-1].length)+_18c;
};
s=me.suggestions[i];
d=me.data[i];
me.el.val(_189(s));
if($.isFunction(_188)){
_188(s,d);
}
}};
})(jQuery);

