window.onload = function() {

  //check if we need to redirect user to flash version
  try {
    checkRedirect();
  } catch(exc) {
    //alert("failed to check for flash redirection");
  }

  //add actions to show subMenus when mouseover
  //get all divs inside of menu_container
  var menuContainer = getEl("menu_container");
  if(!menuContainer)  {
    return;
  }

  var subMenus = menuContainer.getElementsByTagName("div");
  if(!subMenus || !subMenus.length)  return;
    for(var subMenuCount=0; subMenuCount <subMenus.length; subMenuCount++) {
      var subMenu = subMenus[subMenuCount];
      if(!subMenu.id || subMenu.id.indexOf("subMenu_")==-1)  continue;
	var subMenuPageId = subMenu.id.replace("subMenu_", "");
	var subMenuTriggerId = "subMenuTrigger_" + subMenuPageId;
	var subMenuTrigger = getEl(subMenuTriggerId);

	if(!subMenuTrigger) {
	  continue;
	}
      //add mouseover and mouseout to submenuLink
      subMenuTrigger.onmouseover = new Function("showSubMenu('" + subMenu.id + "', '" + subMenuTriggerId + "');");
      subMenuTrigger.onmouseout = new Function("setTimeout(\"hideSubMenu('" + subMenu.id + "', '" + subMenuTriggerId + "');\", 200)");
      subMenu.onmouseover = new Function("activeSubMenu='" + subMenu.id + "';");
      subMenu.onmouseout = new Function("activeSubMenu='';setTimeout(\"hideSubMenu('" + subMenu.id + "', '" + subMenuTriggerId + "');\", 200)");
    }
  //setLinksUpdated()
  hideSubdivs("timeline");
};

var activeSubMenu = "";
var lastShownSubMenu = "";
var lastSubMenuTrigger = "";

function showSubMenu(subMenuId, subMenuTriggerId) {
  if(lastShownSubMenu!="") {
    //getEl(lastShownSubMenu).style.display="none";
    getEl(lastShownSubMenu).style.visibility="hidden";
    getEl(lastSubMenuTrigger).className = "";
  }
  //getEl(subMenuId).style.display="block";
  getEl(subMenuId).style.visibility="visible";
  getEl(subMenuTriggerId).className = "subMenuTriggerActive";
  //bugfix for ie
  //alert(getEl(subMenuTriggerId.replace("subMenuTrigger", "subMenuTriggerSibling").innerHTML))
  lastShownSubMenu = subMenuId;
  lastSubMenuTrigger = subMenuTriggerId;
}

function hideSubMenu(subMenuId, subMenuTriggerId) {
  if(subMenuId != activeSubMenu) {
    //getEl(subMenuId).style.display="none";
    getEl(subMenuId).style.visibility="hidden";
    getEl(subMenuTriggerId).className = "";
  }
}

function getEl(id) {
  return document.getElementById(id);
}


//Hide all subdivs except the first in values.html and timeline.html (not set via css so users wo js see all the subdivs)
function hideSubdivs(containerId) {
  var container = document.getElementById(containerId);
  if(container) {
    var subDivs = container.getElementsByTagName("div");
    for(var i=1; i< subDivs.length; i++) { //start at 1 to leave the first image visible
      subDivs[i].style.display="none";
    }
  }
}



//show one of the subdivs and hide the others in values.html and timeline.html
var lastSourceLink="";
function showSubdiv(e, containerId, subdivPosition) {
  var container = document.getElementById(containerId);
  if(container) {
    var subDivs = container.getElementsByTagName("div");
    for(var i=0; i< subDivs.length; i++) {
      if(i!=subdivPosition) {
	subDivs[i].style.display="none";
      } else {
	subDivs[i].style.display="block";
      }
    }
  }

  //set the class of the last link to ""
  var evSource = "";
  if(e && e.target) {
    evSource = e.target;
  }
  if(e && e.srcElement) {
    evSource = e.srcElement;
  }
  if(evSource!="") {
    if(lastSourceLink!="") {
      lastSourceLink.className="";
    }
    evSource.className="selected";
    lastSourceLink = evSource;
  }
}


function changeArticleImage(imgName) {
  if(document.getElementById("imgArticleImage")) {
    document.getElementById("imgArticleImage").src="/images/watches/face_jpg/" + imgName;
  }
}


var existingWindow;
function openWindow(l, t, w, h, url, windowName, resizable, scrollable) {
  var winPropr = "location=0,scrollbars="+ scrollable +",menubars=0,toolbars=0,resizable="+ resizable + ","+"left=" + l + ",top=" + t + ",width=" + w + ",height=" + h;
  existingWindow = eval(windowName);
  try{
    existingWindow.location.href = url;
  } catch(e) {
    existingWindow = window.open(url, windowName, winPropr);
  }
  existingWindow.focus();
  return existingWindow;
}

var baseUrl = "http://www.patek.com/";
var imagePopup;

function showImage(baseUrl, medias, titles, pos, windowWidth, windowHeight) {
  //construct the link to MediaWiewer.aspx
  ///MediaViewer.aspx?baseUrl=/images/watches/artistics/&mediaType=image&medias=5960_1.jpg;5960_10.jpg;5960_2.jpg;5960_3.jpg;5960_4.jpg;5960_5.jpg;5960_6.jpg;5960_7.jpg;5960_8.jpg;5960_9.jpg;&pos=6
  var url = "/MediaViewer.aspx?baseUrl=" + baseUrl;
  url+="&mediaType=image";
  url+="&medias=" + medias;
  url+="&pos=" + (pos-1);
  if(titles) {
    url+="&titles=" + titles;
  }
  //override default width & height?
  var wWidth = windowWidth || 500;
  var wHeight = windowHeight || 600;
  imgWindow = openWindow(20, 20, wWidth, wHeight, url, "imagePopup", "no", "no");
}

var settingsPopup;
function openSettings(url) {
  settingsWindow = openWindow(20, 20, 500, 590, url, "settingsPopup", "no", "no");
}



var currentImageMode ="face_jpg";
function changeWatchImage(mode) {
  var articleImage = getEl("imgArticleImage");
  if(!articleImage) return;

  /* profile and back images don't have the same size as face images ..*/
  if(mode!="face_jpg") {
    articleImage.style.marginTop="25px";
  } else {
    articleImage.style.marginTop="0px";
  }

  var imgSrc=articleImage.src;
  var newSrc = imgSrc.replace(currentImageMode, mode);
  articleImage.src = newSrc;
  currentImageMode = mode;
}


/* cookie functions copied from http://www.quirksmode.org/js/cookies.html */
function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function eraseCookie(name) {
  createCookie(name,"",-1);
}



//add a "new" class to links which have been udated in the last msNew milliseconds
var msNew = 30 * 24 * 3600 * 1000; //days * hours * milliseconds
var now =new Date().getTime();
//prompt("", new Date(2006, 1, 1).getTime() - now)
function setLinksUpdated() {
  if(!document.getElementById) return;
  var menuDiv = document.getElementById("menu_container");
  if(!menuDiv || !menuDiv.getElementsByTagName) return;
  var menuLinks = menuDiv.getElementsByTagName("A");
  if(!menuLinks) return;
  for(var linkCount=0;linkCount<menuLinks.length; linkCount++) {
    var menuLink = menuLinks[linkCount];
    if(!menuLink) continue;
    //updated="12.04.2007"
    if(!menuLink.getAttribute) continue;
    var updated = menuLink.getAttribute("updated");
    if(!updated) continue;
    var dateParts = updated.split(".");
    if(dateParts.length!=3) continue;
    var updatedDate = new Date(dateParts[2], dateParts[1], dateParts[0]);
    var msSinceUpdate = now - updatedDate.getTime();
    if(msSinceUpdate < msNew) {
      if(menuLink.innerText.indexOf('REF.')<0) {
	menuLink.innerText+= " *"; //className = "new"
      }
    }
  }
}