//*********************************************************************
// Shared JavaScript Function for all Countries
// 6/27/2005
// ********************************************************************

var userAgent = window.navigator.userAgent;
var bVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);
var agt=navigator.userAgent.toLowerCase();
var opera_spoofing_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var isMac = (navigator.appVersion.indexOf("Mac") != -1);

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function rollOver(source) {
	MM_swapImage(source.id,'',imgOver(document.getElementById(source.id).src),1)
}
function imgOver(source)
{ // change Mouseover image source at run-time
	if (source.indexOf("_over") == -1) // do not add if image is already selected
		return source.replace(/.gif/gi, "_over.gif");
	else
		return source;
}

//--BEGIN Netscape layer functionality, find a given layer within the multiple layers --//
function findElement(n,ly) {
	var curDoc = ly ? ly.document : document;
	var elem = curDoc[n];
	if (bVers < 4)
		return document[n];
	if (!elem)
		{
		for (var i=0;i<curDoc.layers.length;i++)
			{
			elem = findElement(n,curDoc.layers[i]);
			if (elem)
				return elem;
			}
		}
	return elem;
	}
//--END Netscape layer functionality  --//

//--BEGIN Netscape layer access  --//
function NSStyle(s) {
	return findElement(s,0);
}
//--END Netscape layer access  --//

//--BEGIN Internet Explorer layer access  --//
function IEStyle(s)
	{
	return document.all.tags("div")[s].style;
	}
//--END Internet Explorer layer access  --//

//--BEGIN visibility switch for layers  --//
function vSwitch(aLayer,aBool) {
		if (document.all) {
			IEStyle(aLayer).visibility = (aBool == 0) ? "hidden" : "visible";
		}
		else {
			if (bVers < 5) {
				NSStyle(aLayer).visibility = (aBool == 0) ? 'hide' : 'show';
			}
			else {
				document.getElementById(aLayer).style.visibility= (aBool == 0) ? "hidden" : "visible";
			}
		}
}
function vSwitch2(aLayer,aBool) {
	if (preLoadIsComplete) {
		if (document.all) {
			IEStyle(aLayer).visibility = (aBool == 0) ? "hidden" : "visible";
		}
		else {
			if (bVers < 5) {
				NSStyle(aLayer).visibility = (aBool == 0) ? 'hide' : 'show';
			}
			else {
				document.getElementById(aLayer).style.visibility= (aBool == 0) ? "hidden" : "visible";
			}
		}
	}
	else {
		preLoad();
	}
}
//--END visibility switch for layers  --//

//--BEGIN New PopUpWindow  --//
function centerPopup(Link,hoehe,breite){
	var iMyWidth = (window.screen.width/2) - (breite/2 + 10);
	var iMyHeight = (window.screen.height/2) - (hoehe/2 + 50);
	
	var win2 = window.open(Link ,"popup","toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=" + breite + ",height=" + hoehe + ",left=" + iMyWidth + ",top=" + iMyHeight + ",screenX=" + iMyWidth + ",screenY=" + iMyHeight);
	win2.focus();
}
//-- END New PopUpWindow --//

function closeSubWindow() {
  if ((document.subWin) && (!subWin.closed)) {
    subWin.close();
  } else {
  	document.subWin = new Object();
  }
}

function openSubWindow(url, winWidth, winHeight) {
  closeSubWindow();
  if (parseInt(navigator.appVersion) >= 4) {
    var xPos = (screen.availWidth-winWidth)/2;
    var yPos = (screen.availHeight-winHeight)/2;
  } else {
    var xPos = 300;
    var yPos = 400;
  }  
  attrib = "menubar=0,status=0,personalbar=0,titlebar=0,toolbar=0,location=0,top=" + yPos + ",left=" + xPos + ",width=" + winWidth + ",height=" + winHeight +",resizable=0,scrollbars=1";
  subWin = window.open(url, 'subWin', attrib);
  subWin.focus();
}

function openResizableWindow(url, winWidth, winHeight) {
  closeSubWindow();
  if (parseInt(navigator.appVersion) >= 4) {
    var xPos = (screen.availWidth-winWidth)/2;
    var yPos = (screen.availHeight-winHeight)/2;
  } else {
    var xPos = 300;
    var yPos = 400;
  }  
  attrib = "menubar=0,status=0,personalbar=0,titlebar=0,toolbar=0,location=0,top=" + yPos + ",left=" + xPos + ",width=" + winWidth + ",height=" + winHeight +",resizable=1,scrollbars=1";
  subWin = window.open(url, 'subWin', attrib);
  subWin.focus();
}

function openDownloadFlash() {
  closeSubWindow();
  var url = "http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash";
  var winWidth = 400;
  var winHeight = 400;
  if (parseInt(navigator.appVersion) >= 4) {
    var xPos = (screen.availWidth-winWidth)/6;
    var yPos = (screen.availHeight-winHeight)/6;
  } else {
    var xPos = 300;
    var yPos = 400;
  }  
  attrib = "menubar=0,status=0,personalbar=0,titlebar=0,toolbar=0,location=0,top=" + yPos + ",left=" + xPos + ",width=" + winWidth + ",height=" + winHeight +",resizable=1,scrollbars=1";
  subWin = window.open(url, 'downloadFlash', attrib);
  subWin.focus();
}

//-- Used in the enhanced zoom pgs in shopping --//
function swapZoomImage(tempImage) {
	image = eval(tempImage);
	imageURL = String(document['zoomImage'].src);
	startAt = imageURL.indexOf('/images/');
	imageCheck = imageURL.substring(startAt);
	if(imageCheck != image) {
		document['zoomImage'].src = image;
	}
}

//-- Used in the Silver Flatware pgs of "At the Table" section --//
function swapImageView() {
	image = imageArray[0];
	imageURL = String(document['viewImage'].src);
	startAt = imageURL.indexOf('/images/');
	imageCheck = imageURL.substring(startAt);
	// Show the view that is not currently present
	if(imageCheck == image) {
		document['viewImage'].src = imageArray[3];
		document['viewSwappingBtn'].src = imageArray[4];
		document.viewBtn = imageArray[4];
		document.viewBtnOver = imageArray[5];
	} else {
		document['viewImage'].src = imageArray[0];
		document['viewSwappingBtn'].src = imageArray[1];
		document.viewBtn = imageArray[1];
		document.viewBtnOver = imageArray[2];
	}
}

function swapImage() {
	document['viewSwappingBtn'].src = document.viewBtnOver;
}

function swapImgRestore() {
	document['viewSwappingBtn'].src = document.viewBtn;
}

function onError(){
	top.location.href="javascript:";
}

function setCntryCookie(_val){
	// _val of -1 for U.S.
	// _val of 2 for U.K.
	// _val of 3 for others

	var expDate=new Date();
	expDate.setYear(parseInt(expDate.getYear())+1);
	document.cookie="cntry1="+escape(_val)+"; expires="+expDate.toGMTString()+"; path=/";
	//alert(document.cookie);
	top.location.href="default.asp";
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function showCaption(obj,img){
	objHandle=eval("document."+ obj);
	objHandle.src=img
	fadeIn(obj)
	//if(document.all && opera_spoofing_ie){
		//obj.style.filter="blendTrans(duration=.5)";
		//obj.filters.blendTrans.Apply();
		//obj.style.visibility="visible";
		//obj.filters.blendTrans.Play();
	//}
	//obj.src=img
}
function hideCaption(obj){
	
	//Mac IE needs to set the image.
	if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4) && isMac) {
		objHandle=eval("document."+ obj);
		objHandle.src="img/clr.gif"
	}
	else{fadeOut(obj)}
}

function captionSource() {
  return document.getElementById('captionSource').src;
}

function preload_wrapper(){}

function show(showLayer) {
	if(document.all){whichElShow = eval(showLayer);}
	else{whichElShow = document.getElementById(showLayer);}
	whichElShow.style.display = "block";
}

function hide(hideLayer) {
	if(document.all){whichElHide = eval(hideLayer);}
	else{whichElHide = document.getElementById(hideLayer);}
	whichElHide.style.display = "none";
}
var isFadeOut = false
var fadeVal
function fadeIn(imageId) {
	isFadeOut = false
	//imageId = 'homenav';
	image = document.getElementById(imageId);
	setOpacity(image, 0);
	image.style.visibility = "visible";
	doFadeIn(imageId,0);
}
function doFadeIn(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if ((opacity < 100) && !isFadeOut) {
			setOpacity(obj, opacity);
			opacity += 10;
			fadeVal = opacity;
			window.setTimeout("doFadeIn('"+objId+"',"+opacity+")", 100);
		}
	}
}

function fadeOut(imageId) {
	//imageId = 'homenav';
	isFadeOut = true
	image = document.getElementById(imageId);
	if (fadeVal < 0 ) {fadeVal = 100}
	setOpacity(image, fadeVal);
	image.style.visibility = "visible";
	doFadeOut(imageId,fadeVal);
}
function doFadeOut(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity > -1) {
			setOpacity(obj, opacity);
			opacity -= 10;
			window.setTimeout("doFadeOut('"+objId+"',"+opacity+")", 50);
		}
	}
}

function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}

//Flash pluginspage variable
var flashPluginsPage = "http://www.macromedia.com/go/getflashplayer"

//Reuse links on shared content in fullpage and pop up page 
function processLinks(pageLink){
	if(window.opener) {window.opener.location=pageLink;self.close();}
	else {window.location=pageLink}
}

// Header functions to show and hide sign out button
	function nameDefined(ckie,nme)
	{
		var splitValues
		var i
		for (i=0;i<ckie.length;++i)
		{
			splitValues=ckie[i].split("=")
			if (splitValues[0]==nme) return true
		}
		return false
	}
	function delBlanks(strng)
	{
		var result=""
		var i
		var chrn
		for (i=0;i<strng.length;++i) {
			chrn=strng.charAt(i)
			if (chrn!=" ") result += chrn
		}
		return result
	}
	function getCookieValue(ckie,nme)
	{
		var splitValues
		var i
		for(i=0;i<ckie.length;++i) {
			splitValues=ckie[i].split("=")
			if(splitValues[0]==nme) return splitValues[1]
		}
		return ""
		}
		function testCookie(cname, cvalue) {  //Tests to see if the cookie 
		var cookie=document.cookie           //with the name and value 
		var chkdCookie=delBlanks(cookie)  //are on the client computer
		var nvpair=chkdCookie.split(";")
		if(nameDefined(nvpair,cname))       //See if the name is in any pair
		{   
			tvalue=getCookieValue(nvpair,cname)  //Gets the value of the cookie
			if (tvalue == cvalue) return true
			else return false
		}
		else return false
	}
	function changeSignOut() {
		if (testCookie("last_activity", "yes") && testCookie("samebrowsersession", "1")) {
			//showInline("ctlHeader_signout");
			change('divHeader','headerSignedIn');
			//window.signout.style.visibility="visible";
			setCookie();
		}
	}
	function setCookie()
	{
		var futdate = new Date()		//Get the current time and date
		var expdate = futdate.getTime()  //Get the milliseconds since Jan 1, 1970
		expdate += 30*60*1000  //expires in 30 minutes
		futdate.setTime(expdate)
		var newCookie="last_activity=yes; path=/;"// domain=dev.tiffany.us;"	//Set the new cookie values up 
		newCookie += " expires=" + futdate.toGMTString()
		window.document.cookie=newCookie //Write the cookie
	}
	
	function change(id, newClass) {
		identity=document.getElementById(id);
		identity.className=newClass;
	}
