﻿function City(Name)
{
    this.Name = Name;
    this.Schools = new Array();
    for(var i = 1; i < arguments.length; i++){
        this.Schools.push(arguments[i]);
    }
}
City.prototype.Add = function(School)
{
    this.Schools.push(School);
}
City.prototype.Remove = function(SchoolName)
{
    for(var i = 0; i < this.Schools.length; i++){
        if(this.Schools[i].Name == SchoolName){
            this.Schools.splice(i,1);
            break;
        }
    }
    //this.Schools.s
}
function School(Name)
{
    this.Name = Name;
    this.ClassLengths = new Array();
    for(var i = 1; i < arguments.length; i++){
        this.ClassLengths.push(arguments[i]);
    }
}
School.prototype.Add = function(ClassLength)
{
    this.ClassLengths.push(ClassLength);
}
function ClassLength(Length,Standard,Intensive)
{
    this.Length = Length;
    this.Standard = Standard;
    this.Intensive = Intensive;
}
function Accommodation(Name,Fee)
{
    this.Name = Name;
    this.Fee = Fee;
}

function CreateAccommodations()
{
    var accom = new Array();
    if(arguments[0] != null)
        accom.push(new Accommodation("Luxury Apt(single)",arguments[0]));
    if(arguments[1] != null)
        accom.push(new Accommodation("Luxury Apt(Double)",arguments[1]));
    if(arguments[2] != null)
        accom.push(new Accommodation("Luxury Apt(Triple)",arguments[2]));
    if(arguments[3] != null)
        accom.push(new Accommodation("Local Apt(Single)",arguments[3]));
    if(arguments[4] != null)
        accom.push(new Accommodation("Local Apt(Double)",arguments[4]));
    if(arguments[5] != null)
        accom.push(new Accommodation("Local Apt(Triple)",arguments[5]));
    if(arguments[6] != null)
        accom.push(new Accommodation("Hotel(Single)",arguments[6]));
    if(arguments[7] != null)
        accom.push(new Accommodation("Hotel(Double)",arguments[7]));
    if(arguments[8] != null)
        accom.push(new Accommodation("Uni. Dorm(Single)",arguments[8]));
    if(arguments[9] != null)
        accom.push(new Accommodation("Uni. Dorm(Double)",arguments[9]));
    if(arguments[10] != null)
        accom.push(new Accommodation("Homestay",arguments[10]));
    if(arguments[11] != null)
        accom.push(new Accommodation("Apt with Chinese",arguments[11]));
        
    return accom;
}
var Standard;
var Intensive;



function CreatePekingUniversity(){
var PekingUniversity = new School('Peking Univ');
Standard = CreateAccommodations('$7,980','$7,430','$7,210','$6,720','$6,340','$6,190','$8,270','$6,945','$7,110','$5,930','$6,240','$5,760');
Intensive = CreateAccommodations('$8,790','$8,255','$8,090','$7,600','$7,190','$6,995','$9,010','$7,850','$7,930','$6,740','$7,070','$6,600');
PekingUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$12,150','$11,170','$10,800','$9,050','$8,340','$8,105','$15,600','$12,750','$10,085','$8,530','$11,200','$10,450');
Intensive = CreateAccommodations('$13,800','$12,900','$12,540','$10,830','$9,965','$9,825','$17,310','$13,460','$11,750','$10,200','$12,875','$12,100');
PekingUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return PekingUniversity;
}

function CreateTsinghuaUniversity(){
var TsinghuaUniversity = new School('Tsinghua Univ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,980','$2,620','$2,780','$2,470','$2,515','$2,395');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$3,220','$2,800','$3,050','$2,640','$2,675','$2,560');
TsinghuaUniversity.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$4,880','$4,520','$4,340','$4,020','$3,780','$3,570','$4,285','$2,850','$3,990','$3,330','$3,650','$3,440');
Intensive = CreateAccommodations('$5,245','$4,830','$4,670','$4,360','$4,095','$3,890','$4,610','$3,170','$4,310','$3,780','$3,990','$3,780');
TsinghuaUniversity.Add(new ClassLength('8 Wks',Standard,Intensive));
Standard = CreateAccommodations('$5,920','$5,390','$5,210','$4,995','$4,480','$4,240','$5,980','$5,540','$5,060','$4,420','$4,700','$4,510');
Intensive = CreateAccommodations('$6,400','$5,870','$5,690','$5,480','$4,950','$4,715','$6,445','$6,010','$5,550','$4,915','$5,275','$4,995');
TsinghuaUniversity.Add(new ClassLength('12 Wks',Standard,Intensive));
Standard = CreateAccommodations('$7,590','$7,075','$6,850','$6,455','$6,075','$5,885','$7,595','$6,880','$6,315','$5,320','$5,890','$5,420');
Intensive = CreateAccommodations('$8,410','$7,890','$7,660','$7,260','$6,880','$6,690','$8,400','$7,690','$7,120','$6,130','$6,705','$6,230');
TsinghuaUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$14,070','$12,640','$11,480','$12,100','$11,070','$10,530','$15,540','$13,800','$12,240','$8,810','$11,810','$11,120');
Intensive = CreateAccommodations('$15,790','$14,360','$13,185','$13,850','$12,790','$12,245','$17,260','$15,520','$13,950','$10,580','$13,535','$12,835');
TsinghuaUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return TsinghuaUniversity;
}


function CreateRenminUniversity(){
var RenminUniversity = new School('Renmin Univ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,460','$2,105','$2,230','$1,965','$1,990','$1,875');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,575','$2,220','$2,350','$2,080','$2,115','$1,995');
RenminUniversity.Add(new ClassLength('3 Wks',Standard,Intensive));
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,980','$2,620','$2,780','$2,470','$2,515','$2,395');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$3,220','$2,800','$3,050','$2,640','$2,675','$2,560');
RenminUniversity.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$3,800','$3,305','$3,115','$3,110','$2,780','$2,570','$3,450','$2,995','$3,210','$2,880','$2,910','$2,775');
Intensive = CreateAccommodations('$3,995','$3,410','$3,320','$3,305','$4,095','$2,985','$3,645','$3,190','$3,405','$3,065','$3,220','$2,980');
RenminUniversity.Add(new ClassLength('5 Wks',Standard,Intensive));
Standard = CreateAccommodations('$4,230','$3,740','$3,520','$3,535','$3,120','$2,985','$3,870','$3,410','$3,640','$3,295','$3,370','$3,180');
Intensive = CreateAccommodations('$4,485','$3,970','$3,760','$3,770','$3,350','$3,215','$4,015','$3,645','$3,885','$3,420','$3,600','$3,415');
RenminUniversity.Add(new ClassLength('6 Wks',Standard,Intensive));
Standard = CreateAccommodations('$14,070','$12,640','$11,480','$12,100','$11,070','$10,530','$15,540','$13,800','$12,240','$8,810','$11,810','$11,120');
Intensive = CreateAccommodations('$15,790','$14,360','$13,185','$13,850','$12,790','$12,245','$17,260','$15,520','$13,950','$10,580','$13,535','$12,835');
RenminUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return RenminUniversity;
}


function CreateLanguageCultureUni(){
var LanguageCultureUni = new School('BLCU');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,660','$2,450','$2,535','$2,265','$2,360','$2,185');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,840','$2,630','$2,735','$2,405','$2,550','$2,380');
LanguageCultureUni.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations(null,null,null,null,null,null,'$3,050','$2,795','$2,970','$2,450','$2,650','$2,470');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$3,245','$3,050','$3,160','$2,615','$2,875','$2,620');
LanguageCultureUni.Add(new ClassLength('5 Wks',Standard,Intensive));
Standard = CreateAccommodations(null,null,null,null,null,null,'$3,275','$3,105','$3,105','$2,730','$2,995','$2,730');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$3,550','$3,375','$3,350','$2,995','$3,225','$2,950');
LanguageCultureUni.Add(new ClassLength('6 Wks',Standard,Intensive));
Standard = CreateAccommodations('$4,660','$4,275','$3,885','$3,900','$3,445','$3,150','$4,225','$3,635','$3,750','$3,175','$3,470','$3,140');
Intensive = CreateAccommodations('$4,995','$4,585','$4,190','$4,245','$3,800','$3,555','$4,545','$3,995','$4,095','$3,495','$3,800','$3,460');
LanguageCultureUni.Add(new ClassLength('8 Wks',Standard,Intensive));
Standard = CreateAccommodations('$5,250','$5,075','$4,540','$4,570','$4,250','$4,075','$5,345','$4,875','$4,990','$3,995','$4,350','$4,120');
Intensive = CreateAccommodations('$5,765','$5,510','$4,975','$5,100','$4,750','$4,550','$5,800','$5,300','$5,460','$4,485','$4,885','$4,610');
LanguageCultureUni.Add(new ClassLength('12 Wks #1',Standard,Intensive));
Standard = CreateAccommodations('$5,900','$5,665','$4,800','$5,050','$4,785','$4,550','$6,150','$5,230','$5,445','$4,620','$4,980','$4,750');
Intensive = CreateAccommodations('$6,360','$6,100','$5,280','$5,500','$5,200','$5,040','$6,500','$5,700','$5,900','$5,090','$5,550','$5,320');
LanguageCultureUni.Add(new ClassLength('12 Wks #2',Standard,Intensive));//(intensive)
Standard = CreateAccommodations('$6,995','$5,805','$5,450','$5,895','$5,295','$4,895','$6,700','$5,650','$5,855','$4,570','$5,545','$5,140');
Intensive = CreateAccommodations('$7,795','$6,605','$6,300','$6,895','$6,100','$5,695','$7,450','$6,350','$6,655','$5,750','$6,395','$5,990');
LanguageCultureUni.Add(new ClassLength('1 Sem.#1',Standard,Intensive));
Standard = CreateAccommodations('$8,050','$7,230','$6,750','$7,195','$6,560','$6,210','$7,990','$6,800','$6,980','$5,555','$6,970','$6,560');
Intensive = CreateAccommodations('$8,850','$7,995','$7,400','$7,990','$7,400','$6,980','$7,750','$7,640','$7,680','$6,250','$7,700','$7,280');
LanguageCultureUni.Add(new ClassLength('1 Sem.#2',Standard,Intensive));// (intensive)
Standard = CreateAccommodations('$13,350','$11,120','$9,999','$10,790','$8,975','$8,150','$14,350','$12,550','$11,190','$8,740','$10,750','$9,800');
Intensive = CreateAccommodations('$14,900','$12,850','$11,750','$12,400','$10,640','$9,840','$15,975','$14,000','$12,850','$9,950','$12,470','$11,780');
LanguageCultureUni.Add(new ClassLength('1 Year',Standard,Intensive));
return LanguageCultureUni;
}


function CreateBeijingSportUniversity(){
var BeijingSportUniversity = new School('Sport Univ');
Standard = CreateAccommodations('$4,880','$4,520','$4,340','$4,020','$3,780','$3,570','$4,285','$2,850','$3,990','$3,330','$3,650','$3,440');
Intensive = CreateAccommodations('$5,245','$4,830','$4,670','$4,360','$4,095','$3,890','$4,610','$3,170','$4,310','$3,780','$3,990','$3,780');
BeijingSportUniversity.Add(new ClassLength('9 Wks',Standard,Intensive));
Standard = CreateAccommodations('$7,590','$7,075','$6,850','$6,455','$6,075','$5,885','$7,595','$6,880','$6,315','$5,320','$5,890','$5,420');
Intensive = CreateAccommodations('$8,410','$7,890','$7,660','$7,260','$6,880','$6,690','$8,400','$7,690','$7,120','$6,130','$6,705','$6,230');
BeijingSportUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
return BeijingSportUniversity;
}


function CreateForeignStudiesUniver(){
var ForeignStudiesUniver = new School('BFSU');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,460','$2,105','$2,230','$1,965','$1,990','$1,875');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,575','$2,220','$2,350','$2,080','$2,115','$1,995');
ForeignStudiesUniver.Add(new ClassLength('3 Wks',Standard,Intensive));
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,980','$2,620','$2,780','$2,470','$2,515','$2,395');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$3,220','$2,800','$3,050','$2,640','$2,675','$2,560');
ForeignStudiesUniver.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$4,660','$4,275','$3,885','$3,900','$3,445','$3,150','$4,225','$3,635','$3,750','$3,175','$3,470','$3,140');
Intensive = CreateAccommodations('$4,995','$4,585','$4,190','$4,245','$3,800','$3,555','$4,545','$3,995','$4,095','$3,495','$3,800','$3,460');
ForeignStudiesUniver.Add(new ClassLength('8 Wks',Standard,Intensive));
Standard = CreateAccommodations('$6,995','$5,805','$5,450','$5,895','$5,295','$4,895','$6,700','$5,650','$5,855','$4,570','$5,545','$5,140');
Intensive = CreateAccommodations('$7,795','$6,605','$6,300','$6,895','$6,100','$5,695','$7,450','$6,350','$6,655','$5,750','$6,395','$5,990');
ForeignStudiesUniver.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$14,070','$12,640','$11,480','$12,100','$11,070','$10,530','$15,540','$13,800','$12,240','$8,810','$11,810','$11,120');
Intensive = CreateAccommodations('$15,790','$14,360','$13,185','$13,850','$12,790','$12,245','$17,260','$15,520','$13,950','$10,580','$13,535','$12,835');
ForeignStudiesUniver.Add(new ClassLength('1 Year',Standard,Intensive));
return ForeignStudiesUniver;
}


function CreateMandarinAcademy(){
var MandarinAcademy = new School('Mandarin Academy');
Standard = CreateAccommodations(null,null,null,null,null,null,'$1,550','$1,310','$1,320','$1,290','$1,415','$1,350');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$1,605','$1,350','$1,370','$1,335','$1,450','$1,395');
MandarinAcademy.Add(new ClassLength('1 Wk',Standard,Intensive));
Standard = CreateAccommodations(null,null,null,null,null,null,'$1,850','$1,610','$1,585','$1,500','$1,805','$1,800');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$1,940','$1,695','$1,670','$1,580','$1,890','$1,890');
MandarinAcademy.Add(new ClassLength('2 Wks',Standard,Intensive));
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,660','$2,450','$2,535','$2,265','$2,360','$2,185');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,840','$2,630','$2,735','$2,405','$2,550','$2,380');
MandarinAcademy.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations(null,null,null,null,null,null,'$3,050','$2,795','$2,970','$2,450','$2,650','$2,470');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$3,245','$3,050','$3,160','$2,615','$2,875','$2,620');
MandarinAcademy.Add(new ClassLength('5 Wks',Standard,Intensive));
Standard = CreateAccommodations(null,null,null,null,null,null,'$3,275','$3,105','$3,105','$2,730','$2,995','$2,730');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$3,550','$3,375','$3,350','$2,995','$3,225','$2,950');
MandarinAcademy.Add(new ClassLength('6 Wks',Standard,Intensive));
Standard = CreateAccommodations('$4,660','$4,275','$3,885','$3,900','$3,445','$3,150','$4,225','$3,635','$3,750','$3,175','$3,470','$3,140');
Intensive = CreateAccommodations('$4,995','$4,585','$4,190','$4,245','$3,800','$3,555','$4,545','$3,995','$4,095','$3,495','$3,800','$3,460');
MandarinAcademy.Add(new ClassLength('8 Wks',Standard,Intensive));
Standard = CreateAccommodations('$5,250','$5,075','$4,540','$4,570','$4,250','$4,075','$5,345','$4,875','$4,990','$3,995','$4,350','$4,120');
Intensive = CreateAccommodations('$5,765','$5,510','$4,975','$5,100','$4,750','$4,550','$5,800','$5,300','$5,460','$4,485','$4,885','$4,610');
MandarinAcademy.Add(new ClassLength('12 Wks',Standard,Intensive));
Standard = CreateAccommodations('$6,995','$5,805','$5,450','$5,895','$5,295','$4,895','$6,700','$5,650','$5,855','$4,570','$5,545','$5,140');
Intensive = CreateAccommodations('$7,795','$6,605','$6,300','$6,895','$6,100','$5,695','$7,450','$6,350','$6,655','$1,750','$6,395','$5,990');
MandarinAcademy.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$13,350','$11,120','$9,999','$10,790','$8,975','$8,150','$14,350','$12,550','$11,190','$8,740','$10,750','$9,800');
Intensive = CreateAccommodations('$14,900','$12,850','$11,750','$12,400','$10,640','$9,840','$15,975','$14,000','$12,850','$9,950','$12,470','$11,780');
MandarinAcademy.Add(new ClassLength('1 Year',Standard,Intensive));
return MandarinAcademy;
}


function CreateBeijingCity()
{
    var bj = new City("Beijing",CreatePekingUniversity(),
                    CreateTsinghuaUniversity(),
                    CreateRenminUniversity(),
                    CreateLanguageCultureUni(),
                    CreateBeijingSportUniversity(),
                    CreateForeignStudiesUniver(),
                    CreateMandarinAcademy());
    return bj;
}


function CreateFudanUniversity(){
var FudanUniversity = new School('Fudan Univ');
Standard = CreateAccommodations('$8,280','$7,730','$7,510','$7,020','$6,640','$6,490','$8,570','$7,245','$7,410','$6,230','$6,540','$6,060');
Intensive = CreateAccommodations('$9,190','$8,655','$8,490','$8,000','$7,590','$7,495','$9,410','$8,250','$8,330','$7,140','$7,470','$7,000');
FudanUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations(null,null,null,null,null,null,'$3,280','$2,920','$3,080','$2,770','$2,815','$2,695');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$3,620','$3,200','$3,450','$3,040','$3,075','$2,960');
FudanUniversity.Add(new ClassLength('4 Wks',Standard,Intensive));
return FudanUniversity;
}

function CreateJiaotongUniversity(){
var JiaotongUniversity = new School('Jiaotong Univ ');
Standard = CreateAccommodations('$8,380','$7,750','$7,600','$7,125','$6,750','$6,600','$8,700','$7,350','$7,510','$6,330','$6,650','$6,150');
Intensive = CreateAccommodations('$9,300','$8,750','$8,600','$8,100','$7,700','$7,600','$9,500','$8,350','$8,425','$7,250','$7,575','$7,100');
JiaotongUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations(null,null,null,null,null,null,'$3,400','$3,050','$3,200','$2,900','$2,950','$2,850');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$3,800','$3,350','$3,600','$3,200','$3,200','$3,100');
JiaotongUniversity.Add(new ClassLength('5 Wks',Standard,Intensive));
return JiaotongUniversity;
}

function CreateShanghaiCity()
{
    var sh = new City("Shanghai",CreateFudanUniversity(),CreateJiaotongUniversity());
    return sh;
}

function CreateXi_anJiaotongUniversity(){
var Xi_anJiaotongUniversity = new School('Xi\'an Jiaotong Univ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,350','$2,190','$2,175','$1,995','$2,050','$1,875');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,555','$2,340','$2,330','$2,160','$2,205','$2,030');
Xi_anJiaotongUniversity.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$3,955','$3,405','$3,400','$3,445','$3,015','$3,010','$3,705','$3,300','$2,790','$2,570','$3,205','$3,095');
Intensive = CreateAccommodations('$4,295','$3,745','$3,740','$3,785','$3,355','$3,350','$4,045','$3,640','$3,140','$3,190','$3,545','$3,435');
Xi_anJiaotongUniversity.Add(new ClassLength('8 Wks',Standard,Intensive));
Standard = CreateAccommodations('$4,550','$4,100','$4,995','$3,990','$3,585','$3,580','$4,445','$4,105','$3,725','$3,405','$4,005','$3,935');
Intensive = CreateAccommodations('$5,010','$4,560','$5,455','$4,450','$4,045','$4,040','$4,905','$4,565','$4,185','$3,865','$4,465','$3,395');
Xi_anJiaotongUniversity.Add(new ClassLength('12 Wks',Standard,Intensive));
Standard = CreateAccommodations('$5,885','$5,220','$5,220','$5,155','$4,600','$4,600','$5,815','$5,165','$4,995','$4,500','$5,155','$5,000');
Intensive = CreateAccommodations('$6,585','$5,920','$5,920','$5,855','$5,300','$5,300','$6,515','$5,865','$5,695','$5,200','$5,855','$5,700');
Xi_anJiaotongUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,235','$9,995','$9,995','$9,500','$8,440','$8,440','$10,995','$9,455','$10,095','$9,215','$9,400','$8,995');
Intensive = CreateAccommodations('$12,635','$11,395','$11,395','$10,900','$9,840','$9,840','$11,395','$10,855','$11,495','$10,615','$10,800','$10,395');
Xi_anJiaotongUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return Xi_anJiaotongUniversity;
}
function CreateNorthwesternUniversity(){
var NorthwesternUniversity = new School('Northwestern Univ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,350','$2,190','$2,175','$1,995','$2,050','$1,875');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,555','$2,340','$2,330','$2,160','$2,205','$2,030');
NorthwesternUniversity.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$3,955','$3,405','$3,400','$3,445','$3,015','$3,010','$3,705','$3,300','$2,790','$2,570','$3,205','$3,095');
Intensive = CreateAccommodations('$4,295','$3,745','$3,740','$3,785','$3,355','$3,350','$4,045','$3,640','$3,140','$3,190','$3,545','$3,435');
NorthwesternUniversity.Add(new ClassLength('8 Wks',Standard,Intensive));
Standard = CreateAccommodations('$4,550','$4,100','$4,995','$3,990','$3,585','$3,580','$4,445','$4,105','$3,725','$3,405','$4,005','$3,935');
Intensive = CreateAccommodations('$5,010','$4,560','$5,455','$4,450','$4,045','$4,040','$4,905','$4,565','$4,185','$3,865','$4,465','$3,395');
NorthwesternUniversity.Add(new ClassLength('12 Wks',Standard,Intensive));
Standard = CreateAccommodations('$5,885','$5,220','$5,220','$5,155','$4,600','$4,600','$5,815','$5,165','$4,995','$4,500','$5,155','$5,000');
Intensive = CreateAccommodations('$6,585','$5,920','$5,920','$5,855','$5,300','$5,300','$6,515','$5,865','$5,695','$5,200','$5,855','$5,700');
NorthwesternUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,235','$9,995','$9,995','$9,500','$8,440','$8,440','$10,995','$9,455','$10,095','$9,215','$9,400','$8,995');
Intensive = CreateAccommodations('$12,635','$11,395','$11,395','$10,900','$9,840','$9,840','$11,395','$10,855','$11,495','$10,615','$10,800','$10,395');
NorthwesternUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return NorthwesternUniversity;
}

function CreateXi_anCity()
{
    var xa = new City("Xi'an",CreateXi_anJiaotongUniversity(),CreateNorthwesternUniversity());
    return xa;
}

function CreateYunnanUniversity(){
var YunnanUniversity = new School('Yunnan Univ ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,550','$2,390','$2,375','$2,195','$2,250','$2,075');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,755','$2,540','$2,530','$2,360','$2,405','$2,230');
YunnanUniversity.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$3,455','$2,905','$2,905','$2,955','$2,515','2,515','$3,305','$3,000','$2,560','$2,270','$2,905','$2,795');
Intensive = CreateAccommodations('$3,695','$3,245','$3,245','$3,285','$2,765','$2,765','$3,645','$3,240','$2,300','$2,310','$3,245','$3,145');
YunnanUniversity.Add(new ClassLength('6 Wks',Standard,Intensive));
Standard = CreateAccommodations('$3,955','$3,405','$3,400','$3,445','$3,015','$3,010','$3,705','$3,300','$2,790','$2,570','$3,205','$3,095');
Intensive = CreateAccommodations('$4,295','$3,745','$3,740','$3,785','$3,355','$3,350','$4,045','$3,640','$3,140','$3,190','$3,545','$3,435');
YunnanUniversity.Add(new ClassLength('8 Wks',Standard,Intensive));
Standard = CreateAccommodations('$4,850','$4,400','$5,295','$4,290','$3,885','$3,880','$4,745','$4,405','$4,025','$3,705','$4,305','$4,235');
Intensive = CreateAccommodations('$5,310','$4,860','$5,755','$4,750','$4,345','$4,340','$5,205','$4,965','$4,485','$4,165','$4,765','$3,695');
YunnanUniversity.Add(new ClassLength('12 Wks',Standard,Intensive));
Standard = CreateAccommodations('$6,185','$5,520','$5,520','$5,455','$4,900','$4,900','$6,115','$5,465','$5,295','$4,800','$5,455','$5,300');
Intensive = CreateAccommodations('$6,885','$6,220','$6,220','$6,155','$5,600','$5,600','$6,815','$6,165','$5,995','$5,500','$6,155','$6,000');
YunnanUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,535','$10,295','$10,295','$9,800','$8,740','$8,740','$11,295','$9,755','$10,395','$9,515','$9,700','$9,295');
Intensive = CreateAccommodations('$12,935','$11,695','$11,695','$11,200','$10,140','$10,140','$11,695','$11,155','$11,795','$10,915','$11,100','$10,695');
YunnanUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return YunnanUniversity;
}
function CreateUniversityOfScienceTechnology(){
var UniversityofScienceTechnology = new School('Uni. of Science & Tech');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,550','$2,390','$2,375','$2,195','$2,250','$2,075');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,755','$2,540','$2,530','$2,360','$2,405','$2,230');
UniversityofScienceTechnology.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$3,955','$3,405','$3,400','$3,445','$3,315','$3,310','$3,705','$3,300','$2,790','$2,570','$3,205','$3,395');
Intensive = CreateAccommodations('$4,295','$3,745','$3,740','$3,785','$3,655','$3,650','$4,045','$3,640','$3,140','$3,190','$3,545','$3,735');
UniversityofScienceTechnology.Add(new ClassLength('6 Wks',Standard,Intensive));
Standard = CreateAccommodations('$3,955','$3,405','$3,400','$3,445','$3,015','$3,010','$3,705','$3,300','$2,790','$2,570','$3,205','$3,095');
Intensive = CreateAccommodations('$4,295','$3,745','$3,740','$3,785','$3,355','$3,350','$4,045','$3,640','$3,140','$3,190','$3,545','$3,435');
UniversityofScienceTechnology.Add(new ClassLength('8 Wks',Standard,Intensive));
Standard = CreateAccommodations('$4,850','$4,400','$5,295','$4,290','$3,885','$3,880','$4,745','$4,405','$4,025','$3,705','$4,305','$4,235');
Intensive = CreateAccommodations('$5,310','$4,860','$5,755','$4,750','$4,345','$4,340','$5,205','$4,965','$4,485','$4,165','$4,765','$3,695');
UniversityofScienceTechnology.Add(new ClassLength('12 Wks',Standard,Intensive));
Standard = CreateAccommodations('$6,185','$5,520','$5,520','$5,455','$4,900','$4,900','$6,115','$5,465','$5,295','$4,800','$5,455','$5,300');
Intensive = CreateAccommodations('$6,885','$6,220','$6,220','$6,155','$5,600','$5,600','$6,815','$6,165','$5,995','$5,500','$6,155','$6,000');
UniversityofScienceTechnology.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,535','$10,295','$10,295','$9,800','$8,740','$8,740','$11,295','$9,755','$10,395','$9,515','$9,700','$9,295');
Intensive = CreateAccommodations('$12,935','$11,695','$11,695','$11,200','$10,140','$10,140','$11,695','$11,155','$11,795','$10,915','$11,100','$10,695');
UniversityofScienceTechnology.Add(new ClassLength('1 Year',Standard,Intensive));
return UniversityofScienceTechnology;
}

function CreateKunmingCity()
{
    return new City("Kunming",CreateYunnanUniversity(),CreateUniversityOfScienceTechnology());
}

function CreateQingdaoUniversity(){
var QingdaoUniversity = new School('Qingdao Univ ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,450','$2,290','$2,375','$2,195','$2,150','$1,975');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,655','$2,440','$2,430','$2,260','$2,305','$2,130');
QingdaoUniversity.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$5,985','$5,320','$5,320','$5,255','$4,700','$4,700','$5,915','$5,265','$5,095','$4,600','$5,455','$5,100');
Intensive = CreateAccommodations('$6,685','$6,920','$6,020','$5,955','$5,400','$5,400','$6,615','$5,965','$5,795','$5,300','$5,965','$5,800');
QingdaoUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,335','$10,095','$10,095','$9,600','$8,540','$8,540','$11,095','$9,555','$10,195','$9,315','$9,500','$9,095');
Intensive = CreateAccommodations('$12,735','$11,495','$11,495','$11,000','$9,940','$9,940','$11,495','$10,955','$11,595','$10,715','$10,900','$10,495');
QingdaoUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return QingdaoUniversity;
}
function CreateOceanUniversity(){
var OceanUniversity = new School('Ocean Univ ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,490','$2,340','$2,415','$2,245','$2,190','$1,995');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,695','$2,490','$2,480','$2,295','$2,355','$2,170');
OceanUniversity.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$5,995','$5,380','$5,370','$5,295','$4,750','$4,750','$5,975','$5,295','$5,145','$4,650','$5,495','$5,150');
Intensive = CreateAccommodations('$6,695','$6,970','$6,070','$5,995','$5,450','$5,450','$6,675','$5,995','$5,845','$5,350','$5,995','$5,850');
OceanUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,395','$10,145','$10,145','$9,650','$8,590','$8,590','$11,145','$9,595','$10,245','$9,365','$9,595','$9,145');
Intensive = CreateAccommodations('$12,795','$11,575','$11,545','$11,050','$9,990','$9,990','$11,545','$10,995','$11,645','$10,765','$10,995','$10,545');
OceanUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return OceanUniversity;
}

function CreateQingdaoCity()
{
    return new City("Qingdao",CreateQingdaoUniversity(),CreateOceanUniversity());
}

function CreateTianjinUniversity(){
var TianjinUniversity = new School('Tianjin Univ ');
Standard = CreateAccommodations('$5,985','$5,320','$5,320','$5,255','$4,700','$4,450','$5,915','$5,265','$5,095','$4,600','$5,455','$5,100');
Intensive = CreateAccommodations('$6,685','$6,920','$6,020','$5,955','$5,400','$5,050','$6,615','$5,965','$5,795','$5,300','$5,955','$5,800');
TianjinUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,335','$10,095','$10,095','$9,600','$8,540','$8,200','$11,095','$9,555','$10,195','$9,315','$9,500','$9,095');
Intensive = CreateAccommodations('$12,735','$11,495','$11,495','$11,00','$9,940','$9,600','$11,495','$10,955','$11,595','$10,715','$10,900','$10,495');
TianjinUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return TianjinUniversity;
}
function CreateNankaiUniversity(){
var NankaiUniversity = new School('Nankai Univ ');
Standard = CreateAccommodations('$5,995','$5,370','$5,370','$5,295','$4,750','$4,490','$5,965','$5,295','$5,145','$4,650','$5,495','$5,150');
Intensive = CreateAccommodations('$6,735','$6,970','$6,080','$5,995','$5,450','$5,090','$6,665','$5,995','$5,845','$5,350','$5,995','$5,850');
NankaiUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,365','$10,225','$10,155','$9,650','$8,590','$8,250','$11,145','$9,595','$10,245','$9,365','$9,550','$9,145');
Intensive = CreateAccommodations('$12,765','$11,535','$11,545','$11,050','$9,990','$9,650','$11,545','$10,995','$11,645','$10,765','$10,950','$10,545');
NankaiUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return NankaiUniversity;
}

function CreateTianjinCity()
{
    return new City("Tianjin",CreateTianjinUniversity(),CreateNankaiUniversity());
}

function CreateZhejiangUniversity(){
var ZhejiangUniversity = new School('Zhejiang Univ ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,490','$2,340','$2,415','$2,245','$2,190','$1,995');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,695','$2,490','$2,480','$2,295','$2,355','$2,170');
ZhejiangUniversity.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$5,995','$5,380','$5,370','$5,295','$4,750','$4,750','$5,975','$5,295','$5,145','$4,650','$5,495','$5,150');
Intensive = CreateAccommodations('$6,695','$6,970','$6,070','$5,995','$5,450','$5,450','$6,675','$5,995','$5,845','$5,350','$5,995','$5,850');
ZhejiangUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,395','$10,145','$10,145','$9,650','$8,590','$8,590','$11,145','$9,595','$10,245','$9,365','$9,595','$9,145');
Intensive = CreateAccommodations('$12,795','$11,575','$11,545','$11,050','$9,990','$9,990','$11,545','$10,995','$11,645','$10,765','$10,995','$10,545');
ZhejiangUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return ZhejiangUniversity;
}

function CreateZhejiangCity()
{
    return new City("Zhejiang",CreateZhejiangUniversity());
}


function CreateDalianForeignLanguageUniversity(){
var DalianForeignLanguageUniversity = new School('Foreign Language Univ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,650','$2,490','$2,475','$2,295','$2,350','$2,175');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,855','$2,640','$2,630','$2,460','$2,505','$2,330');
DalianForeignLanguageUniversity.Add(new ClassLength('5 Wks',Standard,Intensive));
Standard = CreateAccommodations('$3,955','$3,405','$3,400','$3,445','$3,315','$3,310','$3,705','$3,300','$2,790','$2,570','$3,205','$3,395');
Intensive = CreateAccommodations('$4,295','$3,745','$3,740','$3,785','$3,655','$3,650','$4,045','$3,640','$3,140','$3,190','$3,545','$3,735');
DalianForeignLanguageUniversity.Add(new ClassLength('6 Wks',Standard,Intensive));
Standard = CreateAccommodations('$6,185','$5,520','$5,520','$5,455','$4,900','$4,900','$6,115','$5,465','$5,295','$4,800','$5,455','$5,300');
Intensive = CreateAccommodations('$6,885','$6,220','$6,220','$6,155','$5,600','$5,600','$6,815','$6,165','$5,995','$5,500','$6,155','$6,000');
DalianForeignLanguageUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,535','$10,295','$10,295','$9,800','$8,740','$8,740','$11,295','$9,755','$10,395','$9,515','$9,700','$9,295');
Intensive = CreateAccommodations('$12,935','$11,695','$11,695','$11,200','$10,140','$10,140','$11,695','$11,155','$11,795','$10,915','$11,100','$10,695');
DalianForeignLanguageUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return DalianForeignLanguageUniversity;
}
function CreateDalianUniversityofTechnology(){
var DalianUniversityofTechnology = new School('Univ. of Technology ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,550','$2,390','$2,375','$2,195','$2,250','$2,075');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,755','$2,540','$2,530','$2,360','$2,405','$2,230');
DalianUniversityofTechnology.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$3,955','$3,405','$3,400','$3,445','$3,315','$3,310','$3,705','$3,300','$2,790','$2,570','$3,205','$3,395');
Intensive = CreateAccommodations('$4,295','$3,745','$3,740','$3,785','$3,655','$3,650','$4,045','$3,640','$3,140','$3,190','$3,545','$3,735');
DalianUniversityofTechnology.Add(new ClassLength('6 Wks',Standard,Intensive));
Standard = CreateAccommodations('$4,850','$4,400','$5,295','$4,290','$3,885','$3,880','$4,745','$4,405','$4,025','$3,705','$4,305','$4,235');
Intensive = CreateAccommodations('$5,310','$4,860','$5,755','$4,750','$4,345','$4,340','$5,205','$4,965','$4,485','$4,165','$4,765','$3,695');
DalianUniversityofTechnology.Add(new ClassLength('12 Wks',Standard,Intensive));
Standard = CreateAccommodations('$6,185','$5,520','$5,520','$5,455','$4,900','$4,900','$6,115','$5,465','$5,295','$4,800','$5,455','$5,300');
Intensive = CreateAccommodations('$6,885','$6,220','$6,220','$6,155','$5,600','$5,600','$6,815','$6,165','$5,995','$5,500','$6,155','$6,000');
DalianUniversityofTechnology.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,535','$10,295','$10,295','$9,800','$8,740','$8,740','$11,295','$9,755','$10,395','$9,515','$9,700','$9,295');
Intensive = CreateAccommodations('$12,935','$11,695','$11,695','$11,200','$10,140','$10,140','$11,695','$11,155','$11,795','$10,915','$11,100','$10,695');
DalianUniversityofTechnology.Add(new ClassLength('1 Year',Standard,Intensive));
return DalianUniversityofTechnology;
}

function CreateDalianCity()
{
    return new City("Dalian",CreateDalianForeignLanguageUniversity(),CreateDalianUniversityofTechnology());
}

function CreateNanjingUniversity(){
var NanjingUniversity = new School('Nanjing Univ ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,490','$2,340','$2,415','$2,245','$2,190','$1,995');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,695','$2,490','$2,480','$2,295','$2,355','$2,170');
NanjingUniversity.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$5,995','$5,380','$5,370','$5,295','$4,750','$4,750','$5,975','$5,295','$5,145','$4,650','$5,495','$5,150');
Intensive = CreateAccommodations('$6,695','$6,970','$6,070','$5,995','$5,450','$5,450','$6,675','$5,995','$5,845','$5,350','$5,995','$5,850');
NanjingUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,395','$10,145','$10,145','$9,650','$8,590','$8,590','$11,145','$9,595','$10,245','$9,365','$9,595','$9,145');
Intensive = CreateAccommodations('$12,795','$11,575','$11,545','$11,050','$9,990','$9,990','$11,545','$10,995','$11,645','$10,765','$10,995','$10,545');
NanjingUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return NanjingUniversity;
}
function CreateNanjingNormalUniversity(){
var NanjingNormalUniversity = new School('Nanjing Normal Univ');
Standard = CreateAccommodations(null,null,null,null,null,null,'$2,490','$2,340','$2,415','$2,245','$2,190','$1,995');
Intensive = CreateAccommodations(null,null,null,null,null,null,'$2,695','$2,490','$2,480','$2,295','$2,355','$2,170');
NanjingNormalUniversity.Add(new ClassLength('4 Wks',Standard,Intensive));
Standard = CreateAccommodations('$5,995','$5,380','$5,370','$5,295','$4,750','$4,750','$5,975','$5,295','$5,145','$4,650','$5,495','$5,150');
Intensive = CreateAccommodations('$6,695','$6,970','$6,070','$5,995','$5,450','$5,450','$6,675','$5,995','$5,845','$5,350','$5,995','$5,850');
NanjingNormalUniversity.Add(new ClassLength('1 Sem.',Standard,Intensive));
Standard = CreateAccommodations('$11,395','$10,145','$10,145','$9,650','$8,590','$8,590','$11,145','$9,595','$10,245','$9,365','$9,595','$9,145');
Intensive = CreateAccommodations('$12,795','$11,575','$11,545','$11,050','$9,990','$9,990','$11,545','$10,995','$11,645','$10,765','$10,995','$10,545');
NanjingNormalUniversity.Add(new ClassLength('1 Year',Standard,Intensive));
return NanjingNormalUniversity;
}

function CreateNanjingCity()
{
    return new City("Nanjing",CreateNanjingUniversity(),CreateNanjingNormalUniversity());
}


function ProgramChang1()
{
    currentCityList = new Array();
    var bj = CreateBeijingCity();
    bj.Remove("Sport Univ");
    currentCityList.push(bj);
    currentCityList.push(CreateShanghaiCity());
    currentCityList.push(CreateXi_anCity());
    currentCityList.push(CreateKunmingCity());
    currentCityList.push(CreateQingdaoCity());
    currentCityList.push(CreateTianjinCity());
    currentCityList.push(CreateZhejiangCity());
    currentCityList.push(CreateDalianCity());
    currentCityList.push(CreateNanjingCity());
}
function ProgramChang2(){
    currentCityList = new Array();
    var bj = CreateBeijingCity();
    bj.Remove("Sport Univ");
    currentCityList.push(bj);
    currentCityList.push(CreateShanghaiCity());
}
function Homestay(city){
    for(var i = 0; i < city.Schools.length; i++){
        var s = city.Schools[i];
        for(var j = 0; j < s.ClassLengths.length; j++){
            var l = s.ClassLengths[j];
            var Standard_Homestay;
            var Intensive_Homestay;
            for(var k = 0; k < l.Standard.length; k++){
                if(l.Standard[k].Name == "Homestay"){
                    Standard_Homestay = l.Standard[k];
                    Intensive_Homestay = l.Intensive[k];
                    break;
                }
            }
            l.Standard = new Array();
            l.Standard.push(Standard_Homestay);
            l.Intensive = new Array();
            l.Intensive.push(Intensive_Homestay);
        }
    }
}
function ProgramChang3(){
    currentCityList = new Array();
    var tempCity;
    tempCity = CreateBeijingCity();
    Homestay(tempCity);
    currentCityList.push(tempCity);
    
    tempCity = CreateShanghaiCity();
    Homestay(tempCity);
    currentCityList.push(tempCity);
    
    tempCity = CreateXi_anCity();
    Homestay(tempCity);
    currentCityList.push(tempCity);
    
    tempCity = CreateKunmingCity();
    Homestay(tempCity);
    currentCityList.push(tempCity);
    
    tempCity = CreateQingdaoCity();
    Homestay(tempCity);
    currentCityList.push(tempCity);
    
    tempCity = CreateTianjinCity();
    Homestay(tempCity);
    currentCityList.push(tempCity);
    
    tempCity = CreateZhejiangCity();
    Homestay(tempCity);
    currentCityList.push(tempCity);
    
    tempCity = CreateDalianCity();
    Homestay(tempCity);
    currentCityList.push(tempCity);
    
    tempCity = CreateNanjingCity();
    Homestay(tempCity);
    currentCityList.push(tempCity);
}
function ProgramChang4(){
    var school = CreateBeijingSportUniversity();
    currentCityList = new Array();
    currentCityList.push(new City("Beijing",school));
}
function ProgramChang5(){
    var school1 = CreateBeijingSportUniversity();
    var school2 = CreateMandarinAcademy();
    currentCityList = new Array();
    currentCityList.push(new City("Beijing",school1,school2));
}
function Apartment(city){
    for(var i = 0; i < city.Schools.length; i++){
        var s = city.Schools[i];
        for(var j = 0; j < s.ClassLengths.length; j++){
            var l = s.ClassLengths[j];
            var tempStandard = new Array();
            var tempIntensive = new Array();
            for(var k = 0; k < l.Standard.length; k++){
                if(l.Standard[k].Name == "Luxury Apt(single)"||
                l.Standard[k].Name == "Luxury Apt(Double)" ||
                l.Standard[k].Name == "Hotel(Single)" ||
                l.Standard[k].Name == "Hotel(Double)"){
                    tempStandard.push(l.Standard[k]);
                    tempIntensive.push(l.Intensive[k]);
                }
            }
            l.Standard = tempStandard;
            l.Intensive = tempIntensive;
        }
    }
}
function ProgramChang6(){
    var stan = CreateAccommodations("$11,800","$10,800",null,null,null,null,"$11,800","$10,800");
    var inten = CreateAccommodations("$11,800","$10,800",null,null,null,null,"$11,800","$10,800");
    /*
    var standard = new Array();
    standard.push(new Accommodation("default","$11,800"));
    var intensive = new Array();
    intensive.push(new Accommodation("default","$12,750"));
    */
    var classlength = new ClassLength("16 wks",stan,inten);
    var bj = new City("Beijing",CreateTsinghuaUniversity());
    bj.Schools[0].ClassLengths = new Array();
    bj.Schools[0].ClassLengths.push(classlength);
    var sh = new City("Shanghai",CreateJiaotongUniversity());
    sh.Schools[0].ClassLengths = bj.Schools[0].ClassLengths;
    var xa = new City("Xi'an",CreateNorthwesternUniversity());
    xa.Schools[0].ClassLengths = bj.Schools[0].ClassLengths;
//    Apartment(bj);
//    Apartment(sh);
//    Apartment(xa);
    
    currentCityList = new Array();
    currentCityList.push(bj);
    currentCityList.push(sh);
    currentCityList.push(xa);
}
function ProgramChang7(){
    var BLCU = new School("BLCU");
    var stan = CreateAccommodations("$4,495","$3,495",null,null,null,null,"$4,495","$3,495");
    var inten = CreateAccommodations("$4,745","$3,745",null,null,null,null,"$4,745","$3,745");
    var len = new ClassLength("5weeks",stan,inten);
    BLCU.Add(len);
    stan = CreateAccommodations("$4,995","$3,995",null,null,null,null,"$4,995","$3,995");
    inten = CreateAccommodations("$5,295","$4,295",null,null,null,null,"$5,295","$4,295");
    len = new ClassLength("6weeks",stan,inten);
    BLCU.Add(len);
    
    var MA = new School("Mandarin Academy");
    stan = CreateAccommodations("$4,095","$3,095",null,null,null,null,"$4,095","$3,095");
    inten = CreateAccommodations("$4,295","$3,295",null,null,null,null,"$4,295","$3,295");
    len = new ClassLength("4weeks",stan,inten);
    MA.Add(len);
    stan = CreateAccommodations("$5,695","$4,595",null,null,null,null,"$5,695","$4,595");
    inten = CreateAccommodations("$6,095","$3,695",null,null,null,null,"$6,095","$3,695");
    len = new ClassLength("8weeks",stan,inten);
    MA.Add(len);
    
    var FD = new School("Fudan Univ");
    stan = CreateAccommodations("$4,995","$3,995",null,null,null,null,"$4,995","$3,995");
    inten = CreateAccommodations("$5,295","$4,295",null,null,null,null,"$5,295","$4,295");
    len = new ClassLength("5weeks",stan,inten);
    FD.Add(len);
    
    var JT = new School("Jiaotong Univ");
    stan = CreateAccommodations("$5,795","$4,795",null,null,null,null,"$5,795","$4,795");
    inten = CreateAccommodations("$6,195","$4,695",null,null,null,null,"$6,195","$4,695");
    len = new ClassLength("7weeks",stan,inten);
    JT.Add(len);
    
    var BLCU2 = new School("BLCU");
    stan = CreateAccommodations("$6,595","$5,485",null,null,null,null,"$6,595","$5,485");
    inten = CreateAccommodations("$6,595","$5,485",null,null,null,null,"$6,595","$5,485");
    len = new ClassLength("10weeks",stan,inten);
    BLCU2.Add(len);
    
    var FD2 = new School("Fudan Univ");
    stan = CreateAccommodations("$6,595","$5,485",null,null,null,null,"$6,595","$5,485");
    inten = CreateAccommodations("$6,595","$5,485",null,null,null,null,"$6,595","$5,485");
    len = new ClassLength("10weeks",stan,inten);
    FD2.Add(len);
    
    
    currentCityList = new Array();
    var bj = new City("Beijing",BLCU,MA);
    var sh = new City("Shanghai",FD,JT);
    var bjsh = new City("BJ+SH",BLCU2,FD2);
//    Apartment(bj);
//    Apartment(sh);
    currentCityList.push(bj);
    currentCityList.push(sh);
    currentCityList.push(bjsh);
}
function ProgramChang8(){
    var BLCU = new School("BLCU");
    var stan = CreateAccommodations("$4,495","$3,495",null,null,null,null,"$4,495","$3,495");
    var inten = CreateAccommodations("$4,745","$3,745",null,null,null,null,"$4,745","$3,745");
    var len = new ClassLength("5weeks",stan,inten);
    BLCU.Add(len);
    
    var MA = new School("Mandarin Acedemy");
    stan = CreateAccommodations("$3,795","$2,895",null,null,null,null,"$3,795","$2,895");
    inten = CreateAccommodations("$3,995","$3,095",null,null,null,null,"$3,995","$3,095");
    len = new ClassLength("3weeks",stan,inten);
    MA.Add(len);
    stan = CreateAccommodations("$4,995","$3,995",null,null,null,null,"$4,995","$3,995");
    inten = CreateAccommodations("$5,345","$4,345",null,null,null,null,"$5,345","$4,345");
    len = new ClassLength("7weeks",stan,inten);
    MA.Add(len);
    
    currentCityList = new Array();
    var bj = new City("Beijing",BLCU,MA);
//    Apartment(bj);
    currentCityList.push(bj);
}
function ProgramChang9(){
    currentCityList = new Array();
    currentCityList.push(CreateBeijingCity());
    currentCityList.push(CreateQingdaoCity());
}
function ProgramChang10(){
    currentCityList = new Array();
    
    var na = new School("N/A");
    var nalen = new ClassLength("One sem",[new Accommodation("N/A","$350")],[new Accommodation("N/A","$350")]);
    na.Add(nalen);
    nalen = new ClassLength("One year",[new Accommodation("N/A","$700")],[new Accommodation("N/A","$700")]);
    na.Add(nalen);
    var bj = new City("Beijing",na);
    var sh = new City("Shanghai",na);
    
    currentCityList.push(bj);
    currentCityList.push(sh);
    /*
    var s = document.getElementById("city");
    s.innerHTML = "";
    s.options[0] = new Option("Beijing","Beijing");
    s.options[1] = new Option("Shanghai","Shanghai");
    s = document.getElementById("School");
    s.innerHTML = "";
    s.options[0] = new Option("N/A","N/A");
    s = document.getElementById("ProgramLength");
    s.innerHTML = "";
    s.options[0] = new Option("N/A","N/A");
    s = document.getElementById("Accommodation");
    s.innerHTML = "";
    s.options[0] = new Option("N/A","N/A");*/
}
var cities = new Array();
var currentCityList;
var currentCity;
var currentSchool;
var currentClassLength;
function ProgramChang(obj)
{
    var i = parseInt(obj.value);
    switch(i)
    {
        case 0:
            return;
        case 1:
            ProgramChang1();
            break;
        case 2:
            ProgramChang2();
            break;
        case 3:
            ProgramChang3();
            break;
        case 4:
            ProgramChang4();
            break;
        case 5:
            ProgramChang5();
            break;
        case 6:
            ProgramChang6();
            break;
        case 7:
            ProgramChang7();
            break;
        case 8:
            ProgramChang8();
            break;
        case 9:
            ProgramChang9();
            break;
        case 10:
            ProgramChang10();
            break;
        default:
        return;
    }
    var s = document.getElementById("city");
    s.innerHTML = "";
    for(var j = 0; j < currentCityList.length; j++){
        s.options[j] = new Option(currentCityList[j].Name,currentCityList[j].Name);
    }
    CityChange();
}
function CityChange()
{
    var c = document.getElementById("city");
    if(c.value == "0")
        return;
    for(var i = 0; i < currentCityList.length; i++){
        if(currentCityList[i].Name == c.value){
            currentCity = currentCityList[i];
            var schools = currentCityList[i].Schools;
            var s = document.getElementById("School");
            s.innerHTML = "";
            for(var j = 0; j < schools.length; j++){
                s.options[j] = new Option(schools[j].Name,schools[j].Name);
            }
            s.options[0].selected = true;
            currentSchool = schools[0];
            SchoolChange();
            break;
        }
    }
}
function SchoolChange()
{
    var s = document.getElementById("School");
    for(var i = 0; i < currentCity.Schools.length; i++){
        if(currentCity.Schools[i].Name == s.value){
            currentSchool = currentCity.Schools[i];
            var classLength = document.getElementById("ProgramLength");
            classLength.innerHTML = "";
            for(var j = 0; j < currentSchool.ClassLengths.length; j++){
                classLength.options[j] = new Option(currentSchool.ClassLengths[j].Length,currentSchool.ClassLengths[j].Length);
            }
            classLength.options[0].selected = true;
            currentClassLength = currentSchool.ClassLengths[0];
            ProgramLengthChange();
            break;
        }
    }
}
function ProgramLengthChange()
{
    var l = document.getElementById("ProgramLength");
    for(var i = 0; i < currentSchool.ClassLengths.length; i++){
        if(currentSchool.ClassLengths[i].Length == l.value){
            currentClassLength = currentSchool.ClassLengths[i];
            var Accommodations = document.getElementById("Accommodation");
            Accommodations.innerHTML = "";
            var accom;
            if(document.getElementById("Intensive").checked == true)
                accom = currentClassLength.Intensive;
            else
                accom = currentClassLength.Standard;
            
            for(var j = 0; j < accom.length; j++){
                Accommodations.options[j] = new Option(accom[j].Name,accom[j].Fee);
            }
            Accommodations.options[0].selected = true;
            break;
        }
    }
}
function IntensiveChange()
{
    if(currentClassLength == null)
        return;
        
    var Accommodations = document.getElementById("Accommodation");
    var index = Accommodations.selectedIndex;
    Accommodations.innerHTML = "";
    var accom;
    if(document.getElementById("Intensive").checked == true)
        accom = currentClassLength.Intensive;
    else
        accom = currentClassLength.Standard;
    
    for(var j = 0; j < accom.length; j++){
        Accommodations.options[j] = new Option(accom[j].Name,accom[j].Fee);
    }
    Accommodations.selectedIndex = index;
}
var showFee;
function Calculate()
{
    var fee = document.getElementById("Accommodation").value;
    if(fee == "0"){
        alert("Please select Programe First.");
        return false;
    }
    showFee = fee;
    window.open("popup.htm","_blank","directories=no,location=no,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,toolbar=no,height=575,width=600");
    
    return false;
}