var image;
function preloadImages() {
	var thumbsDiv = document.getElementById('thumbs');
	var images = thumbsDiv.getElementsByTagName('img');
	for(var i = 1; i < images.length+1; i++) {
		image = new Image();
		image.src = 'images/pic'+i+'_bg.jpg';
	}
}

// JavaScript Document
var opacity = 100;
var img = null;
var intvalIN = null;
var intvalOUT = null;
var newlink = null;
var lock = false;

function move(linkSrc)
{
	if(lock == false) {
		lock = true; var mLeft = 0;
		var start = setInterval(function() {
			document.getElementById('mainPic').style.marginLeft = mLeft+"px";
			mLeft = mLeft + 10;
			if(mLeft > 605)
			{
				clearInterval(start);
				
				var end = setInterval(function() {
					document.getElementById('mainPic').src = linkSrc;
					document.getElementById('mainPic').style.marginLeft = mLeft+"px";
					mLeft = mLeft - 10;
					if(mLeft <= 0)
					{
						clearInterval(end);
						document.getElementById('mainPic').style.marginLeft = 0;
						lock = false;
					}
				},1);
			}
		},1);
	}
}


function changeImage(linkSrc){
	clearInterval(intvalIN); clearInterval(intvalOUT);
		opacity = 100;
		newlink = linkSrc;
		img = document.getElementById('mainPic');
		intvalOUT = setInterval("lightup('out')", 1);
}

function lightup(inc){

	if(inc == 'out' && opacity <= 0)
	{
		clearInterval(intvalOUT);
		img.src = newlink;
		intvalIN = setInterval("lightup('in')", 1);
	}
	else if(inc == 'in' && opacity >= 100)
	{
		clearInterval(intvalIN);
	}	
		
	if(inc == 'out')	
		opacity = opacity - 2;
	else
		opacity = opacity + 2;

	changeopacity(img,opacity);
}

function changeopacity( imageobject, opacity ) {
	var object = imageobject.style;
	object.opacity = ( opacity / 100 );
	object.MozOpacity = ( opacity / 100 );
	object.KhtmlOpacity = ( opacity / 100 );
	object.filter = "alpha(opacity=" + opacity + ")";
}

//calendar////////////////////
var xmlhttp = getXmlHttpObject();

function setCalendar(m, y) {
	setLoader(true);
	var url="getCalendar.php?grid=yes&month="+m+"&year="+y+"&sid="+Math.random();
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4) {
			xmlDoc=xmlhttp.responseXML;
			document.getElementById('tableArea').innerHTML = xmlDoc.getElementsByTagName("tabledata")[0].childNodes[0].nodeValue;
			var month = xmlDoc.getElementsByTagName("month")[0].childNodes[0].nodeValue;
			var year = xmlDoc.getElementsByTagName("year")[0].childNodes[0].nodeValue;
			var rate = xmlDoc.getElementsByTagName("rate")[0].childNodes[0].nodeValue;
			var price = xmlDoc.getElementsByTagName("price")[0].childNodes[0].nodeValue;
			document.getElementById('month').innerHTML = month+' '+year;
			document.getElementById('rate').innerHTML = 'Cost per day: &pound;'+rate;
			document.getElementById('price').innerHTML = price;
			setLoader(false);
		}	
	};
}


charge_added = false;

function updatePrice(v,d,m,y) {
	setLoader(true);
	var payment_type_sel = (document.getElementById('payment_type_sel')) ? document.getElementById('payment_type_sel').value : 0;
	var chk = 0;
	if(v.checked == true)
		chk = 1;
	var url="getCalendar.php?updatePrice="+chk+"&day="+d+"&month="+m+"&year="+y+"&sid="+Math.random()+"&payment="+payment_type_sel;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4) {
			document.getElementById('price').innerHTML = xmlhttp.responseText;
			setLoader(false);
		}	
	};
	if(charge_added == true) {
		update_total(1);
		charge_added = false;
		if(payment_type_sel==2) {
			update_total(2);
		}
	}
	
}

function update_paypal_form(charge_added) {
	var total_days = document.getElementById('listdays').getElementsByTagName('li').length;
	var x;
	var amount;
	var tmp_value;
	
	for(x = 1; x <= total_days; x++) {
		amount = document.getElementById('amount_'+x);
		if(charge_added == true) {
			tmp_value = (parseFloat(amount.value) / 100) * 103.4;
		} else {
			tmp_value = (parseFloat(amount.value) / 103.4) * 100;
		}
		amount.value = tmp_value;
	}
}


function update_total (value) {
	if((value == 2) && (charge_added == false)) {
		var total_price = parseFloat(document.getElementById('total-price').innerHTML);
		var tmp_charge = (total_price / 100) * 3.4;
		var tmp_price = total_price + tmp_charge;
		charge_added = true;
		document.getElementById('total-price').innerHTML = tmp_price;
		if(document.getElementById('js-deposit')) {
			document.getElementById('js-deposit').innerHTML = 258.5;
		}
		update_paypal_form(charge_added);
	}
	
	if((value == 1) && (charge_added == true)) {
		var total_price = parseFloat(document.getElementById('total-price').innerHTML);
		var tmp_price = (total_price / 103.4) * 100;
		charge_added = false;
		document.getElementById('total-price').innerHTML = tmp_price;
		if(document.getElementById('js-deposit')) {
			document.getElementById('js-deposit').innerHTML = 250;
		}
		update_paypal_form(charge_added);
	}
	
}

function setDeposit(deposit) {
		
	if(deposit.checked == true) {
		var value = (document.getElementById('payment_type_sel').value == 2) ? 2 : 1;
		setCookie('deposit',value,1);
	} else {
		setCookie('deposit',0,1);
	}
		
	updatePrice(false,1,1,2000);
}

function setLoader(show) {
	if(show == true)
		document.getElementById('loader').style.background = 'url(images/ajax-loader.gif) right center no-repeat';
	else
		document.getElementById('loader').style.background = 'none';
}

function getXmlHttpObject()
{
	if (window.XMLHttpRequest) {
	  return new XMLHttpRequest();
	}
	if (window.ActiveXObject) {
	  return new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	return null;
}

function setCookie(c_name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

