//this function is called when clicking on the cover flow image flash
var logWindow = null;

function onImageClick(url) 
{
    window.location = url;
}

var requiredMajorVersion = 9;
var requiredMinorVersion = 0;
var requiredRevision = 38;


//top menu navigator - menu clicked function
function menuClicked(navId)
{
	navigationId = navId;		
	window.location = list[navId] ;
}

//if the user in other page than the home page
var modelVisited = false;
var selectionCount = 0;
var currentCarModel = "";
var modelData = null;

function coverFlowElementClicked(modelName, 
	                	detailPage, 
	                	modelId, 
	                	nodeId,
	                	bigImageURL, 
	                	price, 
	                	align,
	                	label,
	                	overlayHeaderText, 
	                	overlayBodyText, 
	                	overlayHAlign, 
	                	overlayWidth)
{
    //debugger;
    //the Flash Center Image element:
    //var centerImage = document["CenterImage"];
    var isHomeElement = document.getElementById("isHomePage");
    var isHomePage = false;
    if(isHomeElement != null)
    {
        if(isHomeElement.value == "true")
        {
            isHomePage = true;
        }
    }
   
    currentCarModel = modelName;
    
   
    selectionCount++;
    
    if (GetQueryString("js_debug") == 'true')
    {
        debugger;
    }
    //set banners for car models
    //this expects to be inserted previously the 'bannerListIdHiddenFieldId' and 'bannerListUpdatePanelId' variables:
    try
    {
        var hiddenElement = document.getElementById(bannerListIdHiddenFieldId);
       
        if(hiddenElement != null)
        {
            hiddenElement.value = nodeId;// == 0 ? 1062 : nodeId;
            if (bannerListUpdatePanelId != null)
            {
                __doPostBack(bannerListUpdatePanelId, '');//document.getElementById("BannerList_7_btnRefresh").click();
            }
        }
    }
    catch(e)
    {
        logInfo("EXCEPTION: coverFlowElementClicked, on Ajax BannerList.asyncPostBack(); message: '{0}'; description: {1}.".format(e.message, e.description));
    }        
    
    
    //debugger;
    //Determine if the Home page is accessed:
    if (isHomePage)
    {
        //We are on the Home Page:   

        
		var modelLink = document.getElementById('modelLink');
		if(modelLink != null)
		{
			modelLink.href = detailPage;
		}

    	var modelLinkTitle = document.getElementById('modelLinkTitle');
		if(modelLinkTitle != null)
		{
			modelLinkTitle.innerHTML = modelName;
		}

		var modelTitle = document.getElementById('modelTitle');
		if(modelTitle != null)
		{
			modelTitle.innerHTML = modelName;
		}
		
            /*---------------- Handle Center Image Flash: ----------------*/
            //debugger;
            //If the Center Image is not already loaded, due to timing & traffic,
            //it will have set the right image when is going to be loaded:

            modelData = new Object();
            modelData.bigImageURL = bigImageURL;
            modelData.price = price;
            modelData.align = align;
            modelData.label = label;
            modelData.detailPage = detailPage;
            modelData.overlayWidth = overlayWidth;
            modelData.overlayHAlign = overlayHAlign;
            modelData.overlayHeaderText = overlayHeaderText;
            modelData.overlayBodyText = overlayBodyText;

            //debugger;
            if(document["CenterImage"] == null || document["CenterImage"].loadNewImage == null)
            {
                logInfo("Center Image Flash (either loadNewImage method) is NOT accessible!");
                //debugger;
                
                logInfo("coverFlowElementClicked: setCenterImage in timeout 20 ms");
                window.setTimeout("setCenterImage();", 20);
            }
            else
            {
                logInfo("coverFlowElementClicked: ... loading the image for CenterImage");
                try
                {
                    setOverlayContent();
                    document["CenterImage"].loadNewImage(bigImageURL, price, align, label, detailPage);
                }
                catch(e)
                {
                    logInfo("EXCEPTION: coverFlowElementClicked, on CenterImage.loadNewImage(); message: '{0}'; description: {1}.".format(e.message, e.description));
                }

                try
                {
                    setLayerPositionHome('underlay_div','overlay_div', overlayHAlign, 'Bottom', '-3px', 4/5,overlayWidth);
                }
                catch(e)
                {
                    logInfo("EXCEPTION: coverFlowElementClicked, on setLayerPositionHome; message: '{0}'; description: {1}.".format(e.message, e.description));
                }
            }
    }
    else
    {       
        
        /*------------------- Handle Redirect to Home & selected Car Model -------------*/
        var dealerId  = GetQueryString("dealerID");
        if (selectionCount == 2)
        {                
                if(dealerId == null || dealerId == '')
                {
                    window.location = '/Default.aspx';
                }
                else
                {
                    window.location = detailPage + '?dealerID=' + dealerId;
                }
        }
    }
    
    //Sets the diclaimer div:
    invalidateDisclaimer();
    
    
}

function SetTheGoldenItemFromMenu()
{
    var currentUrl = document.location;
    for(var i=0; i< list.length; i++)
    {
        var selectedUrl = list[i];
        if(selectedUrl != null && currentUrl.href.match(selectedUrl) != null)
        {           
            navigationId = i;
        }
       
    }
}


//flash insert function for the menu
 var dealerId ;

function FormatName(name)
{
    //debugger;
    var oldValue = "#";
    var newValue = "&";
    //name = name.replace(/oldValue/g,newValue);
    name = name.replace(oldValue,newValue);

    return name;
}


// END SITE MASTER TEMPLATE

//HOME PAGE

//flash insert news
function insertNewsFlash()
{

AC_FL_RunContent(
					"src", newsTicker,
					"width", "100%",
					"height", "100%",
					"align", "middle",
					"id", "NewsTicker",
					"quality", "high",
					"bgcolor", "white",
					"name", "NewsTicker",
					"allowScriptAccess","sameDomain",
					"type", "application/x-shockwave-flash",
					"pluginspage", "http://www.adobe.com/go/getflashplayer",
					"wmode", "transparent",					
					"flashvars", 'xmlURL='+newsXML
					
				);
}

function insertSplashFlash()
{

AC_FL_RunContent(
					"src", splashFlash,
					"width", splashFlashWidth,
					"height", splashFlashHeight,					
					"id", "SplashFlash",
					"quality", "high",
					"bgcolor", "white",
					"name", "SplashFlash",
					"allowScriptAccess","sameDomain",
					"type", "application/x-shockwave-flash",
					"wmode", "transparent",
					"pluginspage", "http://www.adobe.com/go/getflashplayer"					
				);
}

function insertCenterImageFlash()
{
       AC_FL_RunContent(
                     "src", centerImage,
                     "width", "100%",
                     "height", "100%",
                     "align", "middle",
                     "id", "CenterImage",
                     "quality", "high",
                     "bgcolor", "white",
                     "wmode", "transparent",
                     "name", "CenterImage",
                     "allowScriptAccess","sameDomain",
                     "type", "application/x-shockwave-flash",
					 "wmode", "transparent",                     
                     "pluginspage", "http://www.adobe.com/go/getflashplayer"   );
 


}
//END HOME PAGE

//Dealer Welcome Page
function insertDealerNewsFlash()
{
                AC_FL_RunContent(
					"src", dealerNewsTicker,
					"width", "100%",
					"height", "100%",
					"align", "middle",
					"id", "NewsTicker",
					"quality", "high",
					"bgcolor", "white",
					"name", "NewsTicker",
					"allowScriptAccess","sameDomain",
					"type", "application/x-shockwave-flash",
					"wmode", "transparent",					
					"pluginspage", "http://www.adobe.com/go/getflashplayer",
					"flashvars", 'xmlURL='+dealerNewsXML
					
				);
}

//END_Dealer Welcome Page

//dealer page
function checkDealerPage()
{
      var dealerPage = document.getElementById('dealerPage');
      var dealerNameDiv = document.getElementById('main_menu_dealer');

      if((dealerPage == null) && (dealerNameDiv != null) && (dealerNameDiv.style.display == 'block'))
      {
         var dealerLink = document.getElementById('dealerLink');
	     if(dealerLink != null)
		 {			   
			    dealerLink.innerHTML = 'Terug naar dealersite van';
			    dealerLink.style.visibility = 'visible';
		 }	   
	   }	 
}
function insertServicesFlash()
{
    
var hasProductInstall = DetectFlashVer(6, 0, 65);
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

if ( hasProductInstall && !hasRequestedVersion ) 
{
	var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
	var MMredirectURL = window.location;
	document.title = document.title.slice(0, 47) + " - Flash Player Installation";
	var MMdoctitle = document.title;

	AC_FL_RunContent(
	"src", "playerProductInstall",		"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
	"width", "100%",
	"height", "100%",
	"align", "middle",
	"id", "Services",
	"quality", "high",
	"bgcolor", "white",
	"name", "Services",
	"allowScriptAccess","sameDomain",
	"type", "application/x-shockwave-flash",
	"wmode", "transparent",	
	"pluginspage", "http://www.adobe.com/go/getflashplayer");
} 
else 
    if (hasRequestedVersion) 
    {
	AC_FL_RunContent(
			"src", servFlashId ,
			"width", "100%",
			"height", "100%",
			"align", "middle",
			"id", "Services",
			"quality", "high",
			"bgcolor", "white",
			"name", "Services",
			"allowScriptAccess","sameDomain",
			"type", "application/x-shockwave-flash",
	        "wmode", "transparent",			
			"pluginspage", "http://www.adobe.com/go/getflashplayer",
			"flashvars",servXMLUrl);
    } 
    else 
    {  
	    var alternateContent = 'Alternate HTML content should be placed here. '
  	+ 'This content requires the Adobe Flash Player. '
   	+ '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
	    document.write(alternateContent);  
    }  
}

//Used to insert a Flash Banner: the Width is Hard-coded
function insertBanner(bannerSrc, bannerId, clickTag)
{
    var hasProductInstall = DetectFlashVer(6, 0, 65);

    var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
    if ( hasProductInstall && !hasRequestedVersion ) {

    var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
    var MMredirectURL = window.location;
    document.title = document.title.slice(0, 47) + " - Flash Player Installation";
    var MMdoctitle = document.title;
    //original Flash background color is: "#869ca7"
    AC_FL_RunContent(
        "src", "playerProductInstall",
        "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
        "width", "220px",
        "height", "58px",
        "align", "left",
        "id", bannerId,
        "quality", "high",
        "bgcolor", "white",
        "scale", "exactfit",
        "name", bannerId,
        "allowScriptAccess","sameDomain",
        "type", "application/x-shockwave-flash",
		"wmode", "transparent",        
        "pluginspage", "http://www.adobe.com/go/getflashplayer"
    );
    } else if (hasRequestedVersion) {
    
    if (bannerSrc.indexOf('.swf', 0) > -1)
        bannerSrc = bannerSrc.substring(0, bannerSrc.indexOf(".swf", 0));
    
    AC_FL_RunContent(
                    "src", bannerSrc,
                    "width", "220px",
                    "height", "58px",
                    "align", "left",
                    "id", bannerId,
                    "quality", "high",
                    "bgcolor", "green",
                    "scale", "exactfit",
                    "name", bannerId,
                    "allowScriptAccess","sameDomain",
                    "type", "application/x-shockwave-flash",
		            "wmode", "transparent",                    
                    "pluginspage", "http://www.adobe.com/go/getflashplayer",
                    "flashVars", "clickTag="+clickTag
                );
        logInfo("Insert banner: {0}, {1}, {2}".format(bannerSrc, bannerId, clickTag));
    } else {
        var alternateContent = 'Alternate HTML content should be placed here. '
        + 'This content requires the Adobe Flash Player. '
        + '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
        document.write(alternateContent); 
    }
}

function logInfo(info)
{
    //Open the pop-up debug window:
    if (GetQueryString("js_log") == 'true')
    {
        if (logWindow == null)
        {
            if (window["Logger"] == null)
            //Initialize window:
            logWindow = window.open("", "Logger", "status,height=200,width=700, resizable, scrollbars");
            var content = "<HTML><HEAD><TITLE>JavaScript Logger</TITLE></HEAD>"
                content += "<BODY><H1>JavaScript Log Content</H1><div id=\"logger\" style=\"color:red;\" />"
                content += "</BODY></HTML>";
                
            logWindow.document.write(content);
            logWindow.document.close();
        }
        
        var date = new Date();
        if (logWindow.document.getElementById("logger") != null)
        {
            logWindow.document.getElementById("logger").innerHTML += "<br/> {0} - {1}".format(date.toTimeString(), info);
        }
    }
}


String.prototype.format = function()
{
    var str = this;
    for(var i=0;i<arguments.length;i++)
    {
        var re = new RegExp('\\{' + (i) + '\\}','gm');
        str = str.replace(re, arguments[i]);
    }
    return str;
}

function setCenterImage()
{
    if (modelData != null)
    {
        logInfo("setCenterImage: loading in timeout ... ");
        
        if(document["CenterImage"] == null || document["CenterImage"].loadNewImage == null)
        {
            //call recursive this function  after 100 milliseconds:
            logInfo("setCenterImage: set new timeout to 20ms");
            window.setTimeout("setCenterImage();", 20);
        }
        else
        {

    if (GetQueryString("js_debug") == 'true')
    {
        debugger;
    }   
        
            var bigImageUrl = modelData.bigImageURL;
            var price = modelData.price;
            var align = modelData.align;
            var label = modelData.label;
            var detailPage = modelData.detailPage;
            var overlayWidth = modelData.overlayWidth;
            var overlayHAlign = modelData.overlayHAlign;
            
            //for Adrian-> this is not working
            document["CenterImage"].loadNewImage(bigImageUrl, price, align, label, detailPage);
            setOverlayContent();
            setLayerPositionHome('underlay_div','overlay_div', overlayHAlign, 'Bottom', '-3px', 4/5,overlayWidth);
            modelData = null;
        }
    }
}

function setOverlayContent()
{
    if (modelData == null)
        return false;
    else
    {
    
        if (GetQueryString("js_debug") == 'true')
        {
            debugger;
        }
        
        var overlayHeaderText = modelData.overlayHeaderText;
        var overlayBodyText = modelData.overlayBodyText;
        
        if((overlayHeaderText == null || overlayHeaderText == '') && (overlayBodyText == null || overlayBodyText == '' ))
        {		       
                var overlayDiv = document.getElementById('overlay_div'); 
                if(overlayDiv != null)
                {		         		       
                  overlayDiv.style.visibility="hidden"; 
                }
        }
        else
        {
            var overlayDiv = document.getElementById('overlay_div'); 
            if(overlayDiv != null)
            {		         		        
              overlayDiv.style.visibility="visible"; 
            }
            
            var title = document.getElementById('overlayTitle');
            if(title != null && overlayHeaderText != null && overlayHeaderText != '')
            {		               
                  title.innerHTML = overlayHeaderText;
            }
            else
            {
                  if(title != null)
                    title.innerHTML = '';
            }

            //overlay text
            var text = document.getElementById('overlayText');
            if(text != null && overlayBodyText != null && overlayBodyText != '')
            {
                  text.innerHTML = overlayBodyText;
            }
            else
            {
                  if(text != null)
                    text.innerHTML = '';
            }
        	  
       }
   }
}