// JavaScript Document

hs.graphicsDir = '/galleryscripts/highslide/graphics/';
	hs.align = 'center';
	hs.transitions = ['expand', 'crossfade'];
	hs.outlineType = 'rounded-white';
	hs.wrapperClassName = 'white';
	hs.fadeInOut = true;
	//hs.dimmingOpacity = 0.75;

	// Add the controlbar
	if (hs.addSlideshow) hs.addSlideshow({
		//slideshowGroup: 'group1',
		interval: 5000,
		repeat: false,
		useControls: true,
		fixedControls: 'fit',
		overlayOptions: {
			opacity: .6,
			position: 'bottom center',
			hideOnMouseOut: true
		}
	});
	


var page=0;
var pageSize=32;
var theGallery;
function renderer(data)
    {
    theGallery=data;
	page=0;
    drawCurrentPage();
    }

function drawCurrentPage()
    {
    var result='<div class="highslide-gallery">';
   for (var i = 0+(page*pageSize); i < theGallery.feed.entry.length && i < pageSize+(page*pageSize); i++)
        {
            result+="<div style='margin:12px;height:72px;width:72px;float:left;'><center>";
            result+="<a href='"+theGallery.feed.entry[i].content.src+"?imgmax=640' class='highslide' onclick='return hs.expand(this)' >";
            result+='<img src="'+theGallery.feed.entry[i].content.src+'?imgmax=72"  title="Click to enlarge" align="absmiddle"/></a>';
            //alt="'+theGallery.feed.entry[i].title.$t+'"
        result+='<div class="highslide-caption">'+theGallery.feed.entry[i].title.$t+'</div></center></div>';
        } 
	for (var i = 0+((page+1)*pageSize); i < theGallery.feed.entry.length; i++)
        {
            result+="<div style='margin:12px;height:72px;width:72px;float:left;display:none;'><center>";
            result+="<a href='"+theGallery.feed.entry[i].content.src+"?imgmax=640' class='highslide' onclick='return hs.expand(this)' >";
            result+='<img src="'+theGallery.feed.entry[i].content.src+'?imgmax=72"  title="Click to enlarge" align="absmiddle"/></a>';
            //alt="'+theGallery.feed.entry[i].title.$t+'"
        result+='<div class="highslide-caption">'+theGallery.feed.entry[i].title.$t+'</div></center></div>';
        }
    result+='</div>';
    var jdBox=document.getElementById('myGallery');
    if(jdBox) jdBox.innerHTML=result;
	drawGalleryNav();
    }

function drawLastPage()
    {
    page = parseInt(theGallery.feed.entry.length/pageSize);
    drawCurrentPage();
    }

function drawNextPage()
    {
    page++;
    drawCurrentPage();
    }
    
function drawPreviousPage()
    {
    if(page>0) {
        page--;
        drawCurrentPage();
        }}
function drawFirstPage()
    {
    if(page>0) {
        page =0;
        drawCurrentPage();
        }
    }
    
function loadJS(href) { with (document) {
	var span = createElement('SPAN');
	span.style.display = 'none';
	body.insertBefore(span, body.lastChild);
	span.innerHTML = 'Text for stupid IE.<s'+'cript></' + 'script>';
	setTimeout(function() {
		var s = span.getElementsByTagName('script')[0];
		s.language = 'JavaScript';
		if (s.setAttribute) s.setAttribute('src', href); else s.src = href;
	}, 10);
}}

function drawGalleryNav()
	{
		var result='';
		result+='<center>';
		if(page>0) {
			result+='<span style="padding-right:10px;"><a href="javascript:drawFirstPage()" style="color:#333333;">First</a></span>';
		}
		
		if(page>0) {
			result+='<span style="padding-right:10px;"><a href="javascript:drawPreviousPage()" style="color:#333333;">Previous</a></span>';
		}
		var end=(page*pageSize+pageSize); if(end>theGallery.feed.entry.length) {end=theGallery.feed.entry.length}
		result+='<span style="color:#333333;">'+ (page*pageSize+1) + ' to ' + end + ' of ' + theGallery.feed.entry.length +'</span>';
		if((page+1)*pageSize<theGallery.feed.entry.length) {
			result+='<span style="padding-left:10px;"><a href="javascript:drawNextPage()" style="color:#333333;">Next</a></span>';
		}
		
		if((page+1)*pageSize<theGallery.feed.entry.length) {
			result+='<span style="padding-left:10px;"><a href="javascript:drawLastPage()" style="color:#333333;">Last</a></span>';
		}
		
		result+='</center>';
		var jdBox=document.getElementById('galleryNav');
		if(jdBox) jdBox.innerHTML=result;
	}


//////////// new basket stuff
var basket = new Array();

var prices = new Array();

function Price(sevenByFive,eightBySix,tenByEight)
	{
	this.options = new Array();
	this.options['eightBySix'] = new Array();
	this.options['eightBySix'][0]=10.00;
	this.options['eightBySix'][1]='8 x 6';
	this.options['sevenByFive'] = new Array();
	this.options['sevenByFive'][0]=7.00;
	this.options['sevenByFive'][1]='7 x 5';
	this.options['tenByEight'] = new Array();
	this.options['tenByEight'][0] = 20.00;
	this.options['tenByEight'][1] = '10 x 5';
	}

prices['A']= new Price(10.00,15.00,20.00);


var saveBasket ={

data:{},

load: function () {
        var the_cookie = getCookieName('myBasket')
        if(the_cookie)
	if (the_cookie.length>0) {
	
        this.data = JSON.parse(unescape(the_cookie));
	}
        return this.data;
    },

    save: function (expires, path) {
	var todayDays=new Date();
	todayDays.setDate(todayDays.getDate() + 1);	
        putCookie("myBasket",escape(JSON.stringify(this.data)),todayDays);
	},
	
    clear: function (expires, path) {
        var todayDays=new Date();
        todayDays.setDate(todayDays.getDate() -1);
        putCookie("myBasket",escape(JSON.stringify(this.data)),todayDays);
        }

}

// put Cooikie into Browser  
function putCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" :";path=/;domain=felixnurse.com;expires="+exdate.toUTCString());
}

function getCookieName(c_name) {
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}  

function Item(jdnFilename)
	{
	this.filename=jdnFilename;
	this.photoSize='eightBySix'; 
	this.priceTable=galleryPriceTable;
	this.srcFile=getFilenameFromPicassa(jdnFilename);
	this.quantity=1;
	}

function getFilenameFromPicassa(fName)
	{
	for (var i = 0+(page*pageSize); i < theGallery.feed.entry.length && i < pageSize+(page*pageSize); i++){
		if(theGallery.feed.entry[i].title.$t==fName) return theGallery.feed.entry[i].content.src;
	}
	}
function addToBasket()
	{
		basket[basket.length] = new Item(selectedImage);
		//alert(basket.length);
		displayBasket();
		setTimeout("toggleDiv('myBasket')",1000);
	saveBasket.data=basket;
saveBasket.save();         
}

function changeQuantity(jdnItem,num)
	{
		basket[jdnItem].quantity+=num;
		//alert(basket.length);
		displayBasket();
	}

function toggleDiv(jdnDiv)
	{
		var jdnBox=document.getElementById(jdnDiv);
		if(jdnBox) {
			if(jdnBox.style.display=='block') jdnBox.style.display='none';
			else jdnBox.style.display='block';
		}
	}

function openDiv(jdnDiv)
        {
                var jdnBox=document.getElementById(jdnDiv);
if(jdnBox) { 
                        jdnBox.style.display='block';
                }
 setTimeout("toggleDiv('myBasket')",6000);

        }

function closeDiv(jdnDiv)
        {
                var jdnBox=document.getElementById(jdnDiv);
alert("helleo");               
if(jdnBox) { 
                        jdnBox.style.display='none';
                }
        }

function displayBasket()
	{
		var result='';
		var cost=0.0;
                result+='<div style="background-image:url(/galleryscripts/basketBg.gif);width:180px;">';
		result+='<div style="padding-bottom:6px;background-image:url(/galleryscripts/basketBot.gif);background-position:bottom;background-repeat:no-repeat;text-align:left;">';
		result+='<div style="padding-top:6px;font-size:11px;height:30px;"><span onmouseover="openDiv(\'myBasket\');">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'+ basket.length +' items : <a href="javascript:openDiv(\'myBasket\');">view</a></span>';
 result+=' <a href="/gallery/checkout.html">checkout</a></div>'; 		
result+='<div id="myBasket" style="display:block;padding-left:6px;">';
		for(var i=0;i<basket.length;i++){
			if(basket[i].quantity>0){
			result+="<div class='basketLine'>"
			//result+="<div class='basketItemPrice' style='width:50px;float:right'>"+basket[i].photoPrice*basket[i].quantity+"</div>";
			// result+="<div class='basketItemControls' style='width:50px;float:right'><a href='javascript:changeQuantity("+i+",1);'>++</a> <a href='javascript:changeQuantity("+i+",-1);'>--</a></div>";
			result+="<img src='"+basket[i].srcFile+"?imgmax=48' align='absmiddle'> "+basket[i].filename +"   x " + basket[i].quantity ;
			result+="</div>";
			cost+=basket[i].photoPrice*basket[i].quantity;
			}
		
		}
		result+='</div>';
		//result+="<div class='basketLine'><strong>Total:</strong> &pound;"+cost+"</div>";
                result+="</div></div>";
		var jdnBox = document.getElementById('basketHolder');
		if(jdnBox) jdnBox.innerHTML=result;
	}
	

function loadFromSave()
	{
	saveBasket.load();
	if(saveBasket.data.length>0){
		basket=saveBasket.data;
		displayBasket();
			setTimeout("toggleDiv('myBasket')",1000);
		}
	}

function loadCheckoutFromSave()
        {
        saveBasket.load();
        if(saveBasket.data.length>0){
                basket=saveBasket.data;
                displayCheckout();
                }
        }

function displayCheckout()
        {
                var result='';
                var cost=0.0;
                //result+='<div style="padding-top:6px;font-size:11px;height:30px;">
		result+='<div id="myBasket" style="display:block;padding-left:6px;">';
                for(var i=0;i<basket.length;i++){
                        if(basket[i].quantity>0){
                        result+="<div class='checkoutLine' style='font-size:14px;height:50px;'>"
                        //result+="<div class='basketItemPrice' style='width:50px;float:right'>"+basket[i].photoPrice*basket[i].quantity+"</div>";
                        // result+="<div class='basketItemControls' style='width:50px;float:right'><a href='javascript:changeQuantity("+i+",1);'>++</a> <a 
				///href='javascript:changeQuantity("+i+",-1$
                        result+="<div style='width:240px;float:left;'><img src='"+basket[i].srcFile+"?imgmax=48' align='absmiddle'> "+basket[i].filename +" :</div>"; 
			result+="<div style='width:120px;float:left;padding-top:10px;'>Quantity ";
			result+='<input type="text" size="2" value="'+basket[i].quantity+'" style="border:1px solid #cccccc;" id="quant'+i+'" onBlur="updateQuanityCheckout('+i+',this.value);"/></div>';
                        result+="";
			result+="<div style='width:120px;float:left;padding-top:10px;'>Size ";
                        result+='<select type="text"  style="border:1px solid #cccccc;" id="sizePic'+i+'"  onChange="updateSizeCheckout('+i+',this.options[this.selectedIndex].value);">';

			for(x in prices[basket[i].priceTable].options){
				if(prices[basket[i].priceTable].options[x][1]){
				result+='<option value="'+x+'" ';
				if(basket[i].photoSize==x) result+='selected';
				result+=' >'+prices[basket[i].priceTable].options[x][1]+'</option>'; 
				}}
			result+='</select></div>';
			result+="<div style='width:80px;float:left;padding-top:10px;text-align:right;'>&pound;"+(prices[basket[i].priceTable].options[basket[i].photoSize][0]*basket[i].quantity).toFixed(2)+"</div>";

                        result+="</div>";
                        cost+=prices[basket[i].priceTable].options[basket[i].photoSize][0]*basket[i].quantity;
                        }

                }
                result+='</div>';
		if(basket.length>0){
                result+="<div class='basketLine' style='text-align:right;width:600px;font-size:14px;margin-top:5px'><strong>Subtotal:</strong> &pound;"+cost.toFixed(2)+"</div>";
								result+="<div class='basketLine' style='text-align:right;width:600px;font-size:11px;margin-top:5px'><strong>Postage &amp; Handling:</strong> &pound;2.00</div>";
		result+='<div style="padding-top:14px;"><center>';
		result+='<input type=button value="Back to Album" onClick="history.go(-1)"> ';
		result+='&nbsp;&nbsp; <input type=button value="Empty Basket" onClick="emptyBasket();"> ';
		result+='&nbsp;&nbsp; <input type=button value="Secure Payment with PayPal" onClick="processPaypal();">';
		result+='</center></div>';}
		else result+='<div ><center><a href="/" >return home</a></center></div>';
		var jdnBox = document.getElementById('checkout');
                if(jdnBox) jdnBox.innerHTML=result;
        }


function emptyBasket()
	{
	if(confirm("Are you sure you wish to delete all items in your basket?")){
	basket.length=0;
	saveBasket.data=basket;
	saveBasket.save();
        saveBasket.clear();
	displayCheckout();
	}
	}

function updateQuanityCheckout(index,newQuantity)
	{
	if(newQuantity>0){		
		basket[index].quantity=newQuantity;
		displayCheckout();		  
		saveBasket.data=basket;
		saveBasket.save();
		}
	else if(confirm("Setting quantity to 0 will delete this photo from your basket. \nAre you sure you want to delete this photo?")){
		for(i=index;i<basket.length;i++){
			basket[i]=basket[i+1];
			
			}
			basket.length--;
			displayCheckout();
			saveBasket.data=basket;
			saveBasket.save();
		}
	else displayCheckout(); 
	}

function updateSizeCheckout(index,newSize)
        {
		
                basket[index].photoSize=newSize;
                displayCheckout();
                saveBasket.data=basket;
                saveBasket.save();
                }

function startAddress()
	{
	}

function processPaypal()
	{
	var result='';
	result+='<input type="hidden" name="cmd" value="_cart"> <input type="hidden" name="upload" value="1">';
	result+=' <input type="hidden" name="business" value="felix@felixnurse.com">';
	result+='<input type="hidden" name="currency_code" value="GBP"/>';
	  for(var i=0;i<basket.length;i++){
                        if(basket[i].quantity>0){
                        result+=' <input type="hidden" name="item_name_'+(i+1)+'" value="'+basket[i].filename +' ('+prices[basket[i].priceTable].options[basket[i].photoSize][1]+') x '+basket[i].quantity+'"/>';
                        result+='<input type="hidden" name="amount_'+(i+1)+'" value="'+(prices[basket[i].priceTable].options[basket[i].photoSize][0]*basket[i].quantity).toFixed(2)+'">';
                        }

                }
	result+=' <input type="hidden" name="item_name_'+(i+1)+'" value="Handling and Postage"/>';
        result+='<input type="hidden" name="amount_'+(i+1)+'" value="2.00">';

	var jdnBox= document.getElementById('paypalHolder');
	if(jdnBox) jdnBox.innerHTML=result;
	document.forms.paypal.submit();
	}
