var xmlHttp = createXmlHttpRequestObject();
var scriptFile = '/include/functions.php';
var imagesPath = '/images/';

function setColor(field){
	var form = document.getElementById(field);
	form.style.background = '#ffffff';
}

function setColorOut(field){
	var form = document.getElementById(field);
	form.style.background = '#cdddf1';
}

function newsletter(form){
	var name = document.getElementById(form).fName.value;
	var email = document.getElementById(form).fEmail.value;
	var submit = document.getElementById('submit');
	submit.style.display = 'none';
	var userMessage = document.getElementById('userMessage');
	userMessage.style.display = 'block';
	userMessage.style.color = '#ffffff';
	userMessage.innerHTML = '<img src="images/gallery/ajax-loader.gif" />';
	params = '?fName='+name+'&fEmail='+email+'&action=newsletter';
	setTimeout("processGet(scriptFile,params)",1000);
return false;
}

function sendMessage(form){ 
	var name = encodeURIComponent(document.getElementById(form).fName.value);
	var email = encodeURIComponent(document.getElementById(form).fEmail.value);
	var message = encodeURIComponent(document.getElementById(form).fMessage.value);
	var submit = document.getElementById('submit');
	submit.style.display = 'none';
	var userMessage = document.getElementById('userMessage');
	userMessage.style.display = 'block';
	userMessage.style.color = '#ffffff';
	userMessage.innerHTML = '<img src="images/gallery/ajax-loader.gif" />';
	params = 'fName='+name+'&fEmail='+email+'&fMessage='+message+'&action=message';
	setTimeout("processPost(scriptFile,params)",1000);
	return false;
}

function forwardToFriend(form){ 
	var name = encodeURIComponent(document.getElementById(form).fName.value);
	var email = encodeURIComponent(document.getElementById(form).fEmail.value);
	var message = encodeURIComponent(document.getElementById(form).fMessage.value);
	var submit = document.getElementById('submit');
	submit.style.display = 'none';
	var userMessage = document.getElementById('userMessage');
	userMessage.style.display = 'block';
	userMessage.style.color = '#ffffff';
	userMessage.innerHTML = '<img src="images/gallery/ajax-loader.gif" />';
	params = 'fName='+name+'&fEmail='+email+'&fMessage='+message+'&action=forwardtofriend';
	setTimeout("processPost(scriptFile,params)",1000);
	return false;
}

function getPictureData(pictureid) {
	params = 'fPictureId='+pictureid+'&action=showpicture';
	processPost(scriptFile,params);
}

function createXmlHttpRequestObject(){
	var xmlHttp;
	try {
		xmlHttp = new XMLHttpRequest();
	}
	catch (e) {
		var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
										'MSXML2.XMLHTTP.5.0',
										'MSXML2.XMLHTTP.4.0',
										'MSXML2.XMLHTTP.3.0',
										'MSXML2.XMLHTTP',
										'Microsoft.XMLHTTP');
		for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) {
			try {
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch (e) {}
		}
	}
	if (!xmlHttp)
		alert('There was an error during XMLHttpRequest declaration');
	else
		return xmlHttp;
}

function processPost(scriptFile,params) {
	if (xmlHttp) {
		try {
			xmlHttp.open('POST',scriptFile,true);
			xmlHttp.onreadystatechange = handleRequestStateChange;
			xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			xmlHttp.send(params);
		}
		catch(e) {
			alert ('something went wrong');
		}
	}
}

function processGet(scriptFile,params) {
	if (xmlHttp) {
		try {
			xmlHttp.open('GET',scriptFile+''+params,true);
			xmlHttp.onreadystatechange = handleRequestStateChange;
			xmlHttp.send(null);
		}
		catch(e) {
			alert ('something went wrong');
		}
	}
}

function handleRequestStateChange() {
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
			try {
				handleServerResponse();
			} 
			catch (e){
				alert ('Error: '+e.toString());
			}
		}
		else {
			alert('Errorrr: '+xmlHttp.statusText);
		}
	}

}

function handleServerResponse() {
	var response = xmlHttp.responseText;
	var userMessage = document.getElementById('userMessage');
	if (response == 'OK')
	{
		userMessage.style.color = '#00ff00';
		userMessage.innerHTML = 'Thank you...';
	}
	if (response == 'ERROR')
	{
		userMessage.style.color = '#ff0000';
		var submit = document.getElementById('submit');
		submit.style.display = 'block';
		userMessage.innerHTML = 'ERROR, please contact administrator';
	}
	if (response == 'EMPTY')
	{
		userMessage.style.color = '#ff0000';
		var submit = document.getElementById('submit');
		submit.style.display = 'block';
		userMessage.innerHTML = 'All fields are required';
	}
	if (response != 'OK' && response != 'ERROR' && response != 'EMPTY')
	{
		var brokenresponse = response.split('#$%@%"@#$$!');
		var picture_link = document.getElementById('gallery_picture_link');
		var picture = document.getElementById('gallery_picture');
		var loader = document.getElementById('picture_loader');
		picture.src = imagesPath+'uploads/'+brokenresponse[0]+'/'+brokenresponse[1];
		picture.alt = brokenresponse[2];
		picture.title = brokenresponse[2];
		loader.style.display = 'none';
		picture_link.style.display = 'block';
		picture_link.title = brokenresponse[2];
		picture_link.href = imagesPath+'uploads/'+brokenresponse[0]+'/'+brokenresponse[1];
	}
}

//showPic(number of picture to display, target, gallery name)

function gallery(picid,picture,gallery) {
	var picid = picid;
	var pic = document.getElementById(picture);
	var gallery = gallery;
	var imagesPath = '/images/gallery/';
	pic.src = imagesPath+'ajax-loader.gif';
	image = loadPicture(gallery[picid]);
	setTimeout("showPicture('"+image+"','"+picture+"')",1000);
}


function loadPicture(path) {
	pic = new Image();
	pic.src = path;
	return pic.src;
}

function showPicture(pictureid){
	var picture_link = document.getElementById('gallery_picture_link');
	var loader = document.getElementById('picture_loader');
	var picture = document.getElementById('gallery_picture');
	picture_link.style.display = 'none';
	picture.src = '';
	picture.alt = '';
	picture.title = '';
	picture_link.title = '';
	loader.style.display = 'block';
	getPictureData(pictureid);
	return false;
}