var pluginhost
var animDone = false
var main
var stage_width
var video_directory="images/"
var videoArr=new Array("concierge","boats","villas")
var villaArr=new Array("villa1","villa2","villa3","villa4","villa5")
var boatArr=new Array("cheetamoon","jellybottom","joca","lamouette","minx","oceandrive","princessellie","quietman")
var tile_img_width=250
var tile_img_height=250
var tile_spacing=0
var tile_top=0
var tile_scale=1
var tile_z=0
var tile_scale_up_to=1.2
var tileObjsArr=new Array()
var stripObjsArr=new Array()
var boatObjsArr=new Array()
var isMouseDown = false;
var pageNumber;
var scrollerConstraints;
var villaPictureNumber = 0;
var downloader_main;
var downloader_preload;
var downloader_villas;
var downloader_boats;
var rootPage = true;

window.onresize = setMySize;

function pageAnimOut(s){
	s.findName("pageOut").begin();
}

function backEnter(s){
    s.textDecorations = "Underline";
}

function backLeave(s){
    s.textDecorations = "None";
}

function backAnim2Out(s){
    s.findName("pageMain").Visibility = "Collapsed";
}

function backPress(s){
    if (rootPage){
        s.findName("imgMain").Visibility = "Visible";
        s.findName("backAnim2").begin();
        return;
    }
    switch(pageNumber){
    case 0:
        s.findName("boatPageOut").begin();
        break;
    case 1:
        s.findName("villaPageOut").begin();
        break;
    case 2:
        s.findName("conciergePageOut").begin();
        break;
    case 33:
        buildPage(1,s);        
    case 44:
        buildPage(1,s); 
    }
    resetBackColour(s);
}

function resetBackColour(s){
    if (s.findName("marine_logo").opacity == 1){s.findName("marine_logoOut").begin();}
    if (s.findName("villas_logo").opacity == 1){s.findName("villas_logoOut").begin();}
    if (s.findName("siteBackColour").to != "#FF636363"){
        s.findName("siteBackColour").setValue("To","#FF636363")
        s.findName("changeSite").begin();
    }
}

function boatBack(s){
    s.findName("boatPageContainer").setValue("Visibility","Collapsed")
    rootPage=true;
}

function villaBack(s){
    s.findName("villaPageContainer").setValue("Visibility","Collapsed")
    rootPage=true;
}

function concBack(s){
    s.findName("conciergePageContainer").setValue("Visibility","Collapsed")
    rootPage=true;
}

function pageAnimIn(s){
    var page_str
    switch(pageNumber)
    {
    case 0:
        page_str = page0();
        word1Enter(s);
        break;
    case 1:
        page_str = page1();
        word2Enter(s);
        break;
    case 2:
        page_str = page2();
        word3Enter(s);
        break;
    case 3:
        page_str = page3();
        word4Enter(s);
        break;    
    case 33:
		page_str = page33();
		word2Enter(s);
        break;
    case 44:
        page_str = page44();
        word1Enter(s);
        break;
    }
	pageTag = s.getHost().content.createFromXaml(page_str);
	pageCanvas = s.findName("pageMain");
	pageCanvas.children.clear();
	pageCanvas.children.add(pageTag);
	s.findName("pageMain").Visibility = "Visible";
	setFP(pageNumber,s)
	if (pageNumber == 3){setScroller(s,"contactmn_0")}
	if (pageNumber == 33){setScroller2(s,"villaContent")}
	UpdateLayout(s.getHost().content.actualWidth,s.getHost().content.actualHeight,s);
	s.findName("pageIn").begin();
}

function setTextBlock(s) {
    s.findName("textAnim_" + s.Name.substr(4,2)).begin();
}

function prevInP(s){
    imagesHolder=s.findName("stripAnimP").begin();
}

function prevOutP(s){
    imagesHolder=s.findName("stripAnimP").pause();
}

function prevInN(s){
    imagesHolder=s.findName("stripAnimN").begin();
}

function prevOutN(s){
    imagesHolder=s.findName("stripAnimN").pause();
}

function tilePress(s) {
    var imgN = Math.floor(s.Name.substr(4,2).valueOf())
    var imgNo = Math.floor(s.Name.substr(4,2).valueOf())
    switch(imgN){
		case 0:
		imgN = 2;
		break;
		
		case 1:
		imgN = 44;
		break;
		
		case 2:
		imgN = 33;
		break;
	}
    setMenuColor(s,imgNo+1);
    buildPage(imgN,s);
    s.findName("backAnim").begin();
}

function unsetTextBlock(s) {
	var imgNumber = s.Name.substr(4,2);
    s.findName("textAnim_" + imgNumber).stop();
    s.findName("imgHolderOverlay_" + imgNumber).opacity=0;
}

function getWidth(){
    var frameWidth;
    if (self.innerWidth){frameWidth = self.innerWidth;}
    else if (document.documentElement && document.documentElement.clientWidth){frameWidth = document.documentElement.clientWidth;}
    else if (document.body){frameWidth = document.body.clientWidth;}
    return frameWidth 
}

function getHeight(){
    var frameHeight;
    if (self.innerWidth){frameHeight = self.innerHeight;}
    else if (document.documentElement && document.documentElement.clientWidth){frameHeight = document.documentElement.clientHeight;}
    else if (document.body){frameHeight = document.body.clientHeight;}
    return frameHeight 
}

function mainCanvasLoaded(s) {
    backgroundDownload(s);
    var plugin = s.getHost();
    var sqArray = new Array(64)
    e=document.getElementById("SilverlightControlHost");
    e.style.width = getWidth() + 'px';
    e.style.height = getHeight()-30 + 'px';
    pluginhost = s
    plugin.content.onResize = SLResized;
    UpdateLayout(plugin.content.actualWidth,plugin.content.actualHeight,s);
    s.findName("textAnim").begin();
}

function finishedTextAnim(s) {
    s.findName("AnimIntroOut").begin();
    s.findName("logoAnim").begin();
}

function finishedAnimIntroOut(s) {
    s.findName("imagesHolder").Visibility = "Collapsed";
}

function backgroundDownload(s){
    downloader_main = s.getHost().createObject("downloader");
    downloader_main.addEventListener("Completed", onCompleted);
    downloader_main.open("GET", "images/main_page.zip");
    downloader_main.send();
    downloader_preload = s.getHost().createObject("downloader");
    downloader_preload.addEventListener("Completed", onCompleted);
    downloader_preload.open("GET", "images/preload.zip");
    downloader_preload.send();
    downloader_villas = s.getHost().createObject("downloader");
    downloader_villas.addEventListener("Completed", onCompleted);
    downloader_villas.open("GET", "images/villas.zip");
    downloader_villas.send();
    downloader_boats = s.getHost().createObject("downloader");
    downloader_boats.addEventListener("Completed", onCompleted);
    downloader_boats.open("GET", "images/boats.zip");
    downloader_boats.send();
}

function onCompleted(s, eventArgs){

}

function SLResized(s){
    var plugin = s.getHost();
    UpdateLayout(plugin.content.actualWidth,plugin.content.actualHeight,s);
}


function UpdateLayout(w,h,s){
    imagesHolder=s.findName("imagesHolder");
    imagesHolder.width=getWidth();
    imagesHolder.Height=getHeight();
    s.findName("mainCanvas").width = getWidth();
    imagesHolder=s.findName("menuMain");
    var menuWidth = imagesHolder.width * .6;
    var menuHeight = imagesHolder.height * .6;
    imagesHolder.setValue("Canvas.Top", 100 - menuHeight);
    imagesHolder.setValue("Canvas.Left", getWidth() - menuWidth);
    imagesHolder=s.findName("tilesHolder");
    if(imagesHolder){
        imagesHolder.setValue("Canvas.Left", (getWidth()/2-tileHolder_width/2));
    }
    if (animDone){
        imagesHolder = s.findName("imgBack");
        imagesHolder.width = getWidth();
        imagesHolder.height = getHeight();
    }
    else{
        imagesHolder=s.findName("Layer_1");
        imagesHolder.setValue("Canvas.Left", getWidth()/2 - 300);
        imagesHolder.setValue("Canvas.Top", getHeight()/2 - 38);
    }
    switch (pageNumber)
    {  
    case 33:
        //var topOfStrip = getHeight() - 250;
        imagesHolder=s.findName("pageMain");
        imagesHolder.setValue("Canvas.Left", 0);
        imagesHolder=s.findName("villaMainH");
        imagesHolder.setValue("Canvas.Left",(getWidth()/2 - 495));
        imagesHolder=s.findName("stripHolder");
        //imagesHolder.setValue("Canvas.Top",topOfStrip);
        //if (imagesHolder.getValue("Canvas.Left") < (getWidth()-tileHolder_left-395)){
        //    imagesHolder.setValue("Canvas.Left",(getWidth()-tileHolder_left-395));
        //}
        imagesHolder=s.findName("Prev");
        //imagesHolder.setValue("Canvas.Top",topOfStrip+25);
        imagesHolder.setValue("Canvas.Left",-50);
        imagesHolder=s.findName("Next");
        //imagesHolder.setValue("Canvas.Top",topOfStrip+25);
        imagesHolder.setValue("Canvas.Left",1005);
        //imagesHolder=s.findName("stripAnimDAP");
        //imagesHolder.setValue("To",(getWidth()-tileHolder_left-395));  
        break;
    default:
        imagesHolder=s.findName("pageMain");
        imagesHolder.setValue("Canvas.Left", (getWidth()/2-1005/2));
        break;
    }
}


function logoAnimOut(s){
    var plugin=s.getHost();
    animDone=true;
    s.findName("menuMain").setValue("Opacity", 0);
    main=s.findName("imgMain");
    stage_width=plugin.content.actualWidth;
    UpdateLayout(plugin.content.actualWidth,plugin.content.actualHeight,s);
    buildImages(s);
}

function setMySize(){
    e=document.getElementById("SilverlightControlHost");
    if (e){
    	e.style.width = getWidth() + 'px';
    	e.style.height = getHeight()-30 + 'px';
    }
}

function backAnimOut(s) {
    s.findName("imgMain").Visibility = "Collapsed";
}

function word1Enter(s){
    s.findName("word1").setValue("Cursor","Hand")
    s.findName("menuDA1").setValue("To",255);
    s.findName("menuDA2").setValue("To",255);
    s.findName("menuAnim").begin();
}

function word1Click(s){
    setMenuColor(s,2)
    resetBackColour(s)
    buildPage(44,s)
}

function word2Enter(s){
    s.findName("word2").setValue("Cursor","Hand")
    s.findName("menuDA1").setValue("To",418);
    s.findName("menuDA2").setValue("To",418);
    s.findName("menuAnim").begin();
}

function word2Click(s){
    setMenuColor(s,3)
    resetBackColour(s)
    buildPage(33,s)
}

function word3Enter(s){
    s.findName("word3").setValue("Cursor","Hand")
    s.findName("menuDA1").setValue("To",55);
    s.findName("menuDA2").setValue("To",55);
    s.findName("menuAnim").begin();
}

function word3Click(s){
    setMenuColor(s,1)
    resetBackColour(s)
    buildPage(2,s)
}

function word4Enter(s){
    s.findName("word4").setValue("Cursor","Hand")
    s.findName("menuDA1").setValue("To",608);
    s.findName("menuDA2").setValue("To",608);
    s.findName("menuAnim").begin();
}

function word4Click(s){
    setMenuColor(s,4)
    resetBackColour(s)
    buildPage(3,s)
}

function changeConciergePage(s){
    rootPage=false;
    key=s.name.split("_")[1]
    if (key=="0"){s.findName("conciergeNewPic").setSource(downloader_preload,"concierge_entertainment_big.jpg")}
    if (key=="1"){s.findName("conciergeNewPic").setSource(downloader_preload,"concierge_lifestyle_big.jpg")}
    if (key=="2"){s.findName("conciergeNewPic").setSource(downloader_preload,"concierge_service_big.jpg")}
    if (key=="3"){s.findName("conciergeNewPic").setSource(downloader_preload,"concierge_transportation_big.jpg")}
    pageTag = s.getHost().content.createFromXaml(conciergePages(key));
	pageCanvas = s.findName("conciergePageContainer");
	pageCanvas.children.clear();
	pageCanvas.children.add(pageTag);
    setScroller(s,"conciergePageTextContainer")
    s.findName("conciergePageContainer").setValue("Visibility","Visible")
    s.findName("conciergePageIn").begin();
    s.findName("back").setValue("Visibility","Visible")
    s.findName("back").opacity = 1;
}

function setScroller(s,container){
    main=s.findName("mainCanvas")
    tfRef=main.findName("contentText")
    scrollerConstraints=new Array()
	scrollerConstraints["myScroller1"]=new Object()
	scrollerConstraints["myScroller1"].container=container
	scrollerConstraints["myScroller1"].direction="V"
	scrollerConstraints["myScroller1"].world_offset=172 
	scrollerConstraints["myScroller1"].local_offset=22 
	scrollerConstraints["myScroller1"].track_length=407
	scrollerConstraints["myScroller1"].start_scroll=scrollerConstraints["myScroller1"].local_offset
	scrollerConstraints["myScroller1"].mask_length=430 
	scrollerConstraints["myScroller1"].content_length=tfRef.actualHeight
	scrollerConstraints["myScroller1"].scroll_amount=6 
	if(tfRef.actualHeight<=scrollerConstraints["myScroller1"].mask_length) {main.findName("myScroller1_Container").visibility="Collapsed"}
	scrubberRef=main.findName("myScroller1_Scrubber")
	scrubberRef.height= (scrollerConstraints["myScroller1"].mask_length/scrollerConstraints["myScroller1"].content_length) * scrollerConstraints["myScroller1"].track_length
}

function setScroller2(s,container){
    main=s.findName("mainCanvas")
    tfRef=main.findName("contentText")
    scrollerConstraints=new Array()
	scrollerConstraints["myScroller1"]=new Object()
	scrollerConstraints["myScroller1"].container=container
	scrollerConstraints["myScroller1"].direction="V"
	scrollerConstraints["myScroller1"].world_offset=142 
	scrollerConstraints["myScroller1"].local_offset=22 
	scrollerConstraints["myScroller1"].track_length=357
	scrollerConstraints["myScroller1"].start_scroll=scrollerConstraints["myScroller1"].local_offset
	scrollerConstraints["myScroller1"].mask_length=380 
	scrollerConstraints["myScroller1"].content_length=tfRef.actualHeight
	scrollerConstraints["myScroller1"].scroll_amount=6 
	if(tfRef.actualHeight<=scrollerConstraints["myScroller1"].mask_length) {main.findName("myScroller1_Container").visibility="Collapsed"}
	scrubberRef=main.findName("myScroller1_Scrubber")
	scrubberRef.height= (scrollerConstraints["myScroller1"].mask_length/scrollerConstraints["myScroller1"].content_length) * scrollerConstraints["myScroller1"].track_length
}

function mainCanvasMouseLeave(s) {
	this.mouse_down=0
	clearInterval(mouseCheckInt)
	s.releaseMouseCapture()
}

function boatMenuEnter(s){
    s.background="#FF6AADE4"
}

function boatMenuLeave(s){
    s.background="#FFB3C8E6"
}

function villaMenuEnter(s){
    s.background="#FFFFF9AE"
}

function villaMenuLeave(s){
    s.background="#FFFFF9D3"
}

function conciergeMenuEnter(s){
    s.background="#FFA5ACAF"
}

function conciergeMenuLeave(s){
    s.background="#FFD1D4D3"
}

function setMenuColor(s,w){
    s.findName("Path").Fill = "#FF636363"
    for(i=0;i<26;i++) {
        s.findName("Path_"+i).Fill = "#FF636363"
    }
    switch(w){
    case 2:
        s.findName("Path").Fill   = "#FFB3C8E6"
        s.findName("Path_0").Fill = "#FFB3C8E6"
        s.findName("Path_1").Fill = "#FFB3C8E6"
        s.findName("Path_2").Fill = "#FFB3C8E6"
        s.findName("Path_3").Fill = "#FFB3C8E6"
        break;
    case 3:
        s.findName("Path_4").Fill = "#FFFFF9D3"
        s.findName("Path_5").Fill = "#FFFFF9D3"
        s.findName("Path_6").Fill = "#FFFFF9D3"
        s.findName("Path_7").Fill = "#FFFFF9D3"
        s.findName("Path_8").Fill = "#FFFFF9D3"
        s.findName("Path_9").Fill = "#FFFFF9D3"
        break;
    case 1:
        s.findName("Path_10").Fill = "#FFD1D4D3"
        s.findName("Path_11").Fill = "#FFD1D4D3"
        s.findName("Path_12").Fill = "#FFD1D4D3"
        s.findName("Path_13").Fill = "#FFD1D4D3"
        s.findName("Path_14").Fill = "#FFD1D4D3"
        s.findName("Path_15").Fill = "#FFD1D4D3"
        s.findName("Path_16").Fill = "#FFD1D4D3"
        s.findName("Path_17").Fill = "#FFD1D4D3"
        s.findName("Path_18").Fill = "#FFD1D4D3"
        break;
    case 4:
        s.findName("Path_19").Fill = "#FFFFFFFF"
        s.findName("Path_20").Fill = "#FFFFFFFF"
        s.findName("Path_21").Fill = "#FFFFFFFF"
        s.findName("Path_22").Fill = "#FFFFFFFF"
        s.findName("Path_23").Fill = "#FFFFFFFF"
        s.findName("Path_24").Fill = "#FFFFFFFF"
        s.findName("Path_25").Fill = "#FFFFFFFF"        
        break;
    }
}

function stripPress(s){
	var sod = Math.floor(s.name.substring(s.name.length-1,s.name.length)) + 1;
    if (villaPictureNumber == 0){     
        // s.findName("villaPictures1").source = s.source;
        s.findName("villaPictures1").setSource(downloader_villas,"villa" + sod + ".jpg");
        s.findName("villaPictureSwap0").begin();
    }
    else{
        // s.findName("villaPictures0").source = s.source;
        s.findName("villaPictures0").setSource(downloader_villas,"villa" + sod + ".jpg");
        s.findName("villaPictureSwap1").begin();
    }
}

function boatstripPress(s){
	var sod = s.source.substring(0,s.source.length-4)
    if (villaPictureNumber == 0){     
		s.findName("villaPictures1").setSource(downloader_boats,sod+"_big.jpg");
        s.findName("villaPictureSwap0").begin();
        s.findName("contentText").text = getBoatTextString(sod);
    }else{
        s.findName("villaPictures0").setSource(downloader_boats,sod+"_big.jpg");
        s.findName("villaPictureSwap1").begin();
        s.findName("contentText").text = getBoatTextString(sod);
    }
}

function getBoatTextString(f){
	return f;
}

function villaChange(s){
    if (villaPictureNumber==0){
        villaPictureNumber=1;
    }else{
        villaPictureNumber=0;
    }
}

function handleError(sender, errorArgs) 
{ 
  //if (errorArgs.errorType == "ImageError" && errorArgs.errorCode == 3002){return}
  //if (errorArgs.errorType == "ImageError" && errorArgs.errorCode == 4001){return}
  Silverlight.default_error_handler(sender, errorArgs); 
} 

function sendMail(s) {
    window.open("mailto:info@concique.com?Subject=Request%20for%20information%20about%20Concique");
}

function showContact(s) {
	$("#contactFormA").trigger('click');
}