var lastDiv = "propdata";
var hideDivList = "accom amenities";
var propDivs = new Object;
var winbigpic = null;
var bigImgWidth = 380;
var bigImgHeight = 285;
var picDivWidth = (document.all)?79:77;
var galleryRows = 2;
var galleryVPcols = 5;
var currentScrollCol = 0;


propDivs.propdata_nav = "propdata";
propDivs.accom_nav = "accom";
propDivs.amenities_nav = "amenities";
function stopLink(e) {
	var rf = true;
	if (!loaded) {
		if (document.all) {
			if (event.button == 1) {
				rf = false;
			}
		}
		else if (e.button == 1) {
			e.preventDefault();
			e.stopPropagation();
			rf =  false;
		}
		else if (e.which == 1) {
			e.preventDefault();
			e.stopPropagation();
			rf =  false;
		}
	}
	return rf;
}
var pixAnchors = getElementsByClass("showbig");
var tmpImg;
for (var i =  0; i<pixAnchors.length;i++) {
	tmpImglink = getAll("img",pixAnchors[i]);
	addEvent(tmpImglink,"click",stopLink);
}
addEvent(document,"mousedown",stopLink);


function bigpic_rawpopup(url, target, features) {
  if (isUndefined(features)) {
    features = _POPUP_FEATURES;
  }
  if (isUndefined(target)) {
    target = '_blank';
  }
  winbigpic = window.open(url, target, features);
  winbigpic.focus();
  return winbigpic;
}
function callAvol(AOcode){
	return function(e){
		avolPopup(AOcode);
	}
}
function callAvolRes(AOcode){
	return function(e){
		avolResPopup(AOcode);
	}
}
/*
function event_popup_features(features) {
  return function(e) { 
    link_popup(e.currentTarget, features); 
    e.preventDefault(); 
  }
}
function link_popup(src, features) {
  return raw_popup(src.getAttribute('href'),
    src.getAttribute('target') || '_blank',
    features);
}*/
function bigpic_popup(e) {
	var href = e.currentTarget.getAttribute('href');
	var varsarray = e.currentTarget.getAttribute('href').split('?')[1].split('&'); //array of query parms
	for (var i=0; i<varsarray.length; i++) {
		eval("var " + varsarray[i].split('=')[0] + " = '" + unescape(varsarray[i].split('=')[1].replace(/\+/g," "))+ "'");
	}
	picy = Number(picy) + 16;
	picx = Number(picx);
	if (winbigpic && !winbigpic.closed) {
		winbigpic.close();
	}
	var winprop = "resizable=no,width=" + picx + ",height=" + picy;
	bigpic_rawpopup(href,'bigpic',winprop);
}
function bigpic_test(obj) {
	var href = obj.getAttribute('href');
	var varsarray = href.split('?')[1].split('&'); //array of query parms
	for (var i=0; i<varsarray.length; i++) {
		eval("var " + varsarray[i].split('=')[0] + " = '" + unescape(varsarray[i].split('=')[1].replace(/\+/g," "))+ "'");
	}
	picy = Number(picy) + 16;
	picx = Number(picx);
	if (winbigpic && !winbigpic.closed) {
		winbigpic.close();
	}
	var winprop = "resizable=no,width=" + picx + ",height=" + picy;
	bigpic_rawpopup(href,'bigpic',winprop);
}
function hideit(objname){
	document.getElementById(objname).style.display="none";
//	alert(objname +" is " + document.getElementById(objname).style.display);
}	
function showit(objname){
	document.getElementById(objname).style.display="";
//	alert(objname +" is now " + document.getElementById(objname).style.display);
}	
function setBigImg(newImgObj) {
	var src = newImgObj.getAttribute('src');
	// get true image size
	var testImg = new Image();
	testImg.src = src;
	var t_height = testImg.height;
	var t_width = testImg.width;
	// compute and apply scaling factors
	var factx = bigImgWidth / t_width;
	var facty = bigImgHeight / t_height;
	var fact = (factx < facty) ? factx : facty;
	var width = (fact > 1) ? t_width : fact * t_width;
	var height = (fact > 1) ? t_height : fact * t_height;
	//alert("old dimensions: " + t_width + " x " + t_height + "\nnew dimensions: " + width + " x " + height);
	// apply new attributes to big image
	var bigImage = document.getElementById("bigimgtag");
	bigImage.style.visibility = "hidden";
	bigImage.setAttribute('src',src);
	bigImage.setAttribute('width',width);
	bigImage.setAttribute('height',height);
	bigImage.setAttribute('alt',newImgObj.getAttribute('alt'));
	if (newImgObj.title) {
  		document.getElementById('desc').childNodes[0].nodeValue = newImgObj.title;
	} else {
		document.getElementById("bigimgcaption").innerHTML = newImgObj.getAttribute('alt');
	}


	bigImage.style.visibility = "visible";
}
function showbig(e) {
	if (loaded) {
		var thisImg = e.currentTarget;
		setBigImg(thisImg);
	}
	e.preventDefault();
	return false;
}
function showGalleryScroll() {
	var pics = getElementsByClass("picture","div",document.getElementById("gallery"));
	var picCols = parseInt((pics.length/galleryRows) + (1-(1/galleryRows))); //no of cols in pics
	if (galleryVPcols >= picCols) {
		document.getElementById("scrolldiv").style.visibility = "hidden";
	}
	else {
		document.getElementById("scrolldiv").style.visibility = "visible";
		// check for left scroll available
		document.getElementById("leftscroll").style.visibility =  (currentScrollCol > 0) ? "visible":"hidden";
		// check for right scroll available
		document.getElementById("rightscroll").style.visibility =  ((currentScrollCol + galleryVPcols) < picCols) ? "visible":"hidden";
	}
}
function genGallery() {
	var pics = getElementsByClass("picture","div",document.getElementById("gallery"));
	var picCols = parseInt((pics.length/galleryRows) + (1-(1/galleryRows)));
	var newGalleryWidth = picCols * picDivWidth;
	// set new gallery width
	document.getElementById("gallery").style.width = newGalleryWidth + "px";
	showGalleryScroll(0);
}
function scrollGallery(e) {
	var leftpoint = document.getElementById("gallery").style.left;
	// are there enough pics to scroll
	var pics = getElementsByClass("picture","div",document.getElementById("gallery"));
	if (loaded) {
		if ((galleryRows * galleryVPcols) < pics.length) {
			var picCols = parseInt((pics.length/galleryRows) + (1-(1/galleryRows)));
			// determine which button is pushed
			var gbutton = e.currentTarget;
			if (gbutton.name == "scrollleft") { //Scrolling left
				//check currentScrollCol
				if (currentScrollCol > 0) {
					// compute new left point for gallery, set currentScrollCol
					currentScrollCol -= galleryVPcols;
					currentScrollCol =  (currentScrollCol < 0) ? 0 : currentScrollCol;
					leftpoint = currentScrollCol * picDivWidth;
				}
			}
			else { //scrolling right
				//check currentScrollCol
				if ((currentScrollCol + galleryVPcols) < picCols) {
					// compute new left point for gallery, set currentScrollCol
					currentScrollCol += galleryVPcols;
					leftpoint = currentScrollCol * picDivWidth;
				}
			}
			document.getElementById("gallery").style.left = "-" + leftpoint + "px";
			showGalleryScroll();
		}
	}
}
function showTabPic(e) {
	var thisTab = e.currentTarget;
	//get this tabs id
	var thisTabid = thisTab.id;
	//get picid for this tab
	var tabPicId;
	eval("tabPicId = " + thisTabid + "_pic;");
	if (tabPicId != 0) {
		//invoke this pic's onclick event handler which swaps pic
		var newTabImg = document.getElementById("pic_" + tabPicId);
		setBigImg(newTabImg);
	}
	//invoke showDiv to swap info display divs
	showDiv(eval("propDivs."+thisTabid));
	e.stopPropagation();
	e.preventDefault();
	return false;
}

	
function primePage() {
	document.getElementById("gallery_pics").style.display = "none";
	var hideDivs = hideDivList.split(" ");
	for (var i=0;i<hideDivs.length;i++){
		addClass(document.getElementById(hideDivs[i]),"hidediv");
	}
	addEvent("propdata_nav", "click", showTabPic);
	addEvent("accom_nav", "click", showTabPic);
	addEvent("amenities_nav", "click", showTabPic);
	addEvent("quote_nav", "click", event_popup_features(airquoteParms));
	if (document.getElementById('avail_nav')) {
		addEvent("avail_nav", "click", event_popup_features(avolResPopupParms));
	}
	if (document.getElementById('avail_nav_default')) {
		addEvent("avail_nav_default", "click", event_popup_features(avolResDefaultParms));
	}
	addEvent("quote_nav_ftr", "click", event_popup_features(airquoteParms));
	addEvent("scrollleft","click",scrollGallery);
	addEvent("scrollright","click",scrollGallery);
	genGallery();
	showGalleryScroll();
//	addEvent(document,"mousedown",protect);
	var pixAnchors = getElementsByClass("showbig");
	var tmpImg;
	for (var i =  0; i<pixAnchors.length;i++) {
		tmpImglink = getAll("img",pixAnchors[i]);
		addEvent(tmpImglink,"click",showbig);
//		void 0;
	}
	loaded = true;
	document.getElementById("gallery_pics").style.display = "";
}
addLoadEvent(primePage);

