function addNewGalleryFormToRow(){
	if(document.getElementById('price_observation_gallery').value=="new"){
		document.getElementById('add_new_gallery_to_row').style.display = "block";
	}else {
		document.getElementById('add_new_gallery_to_row').style.display = "none";
	}
	
}

function ShowAdd(id)
{
	
	if(id && !this.confirmopen) {
		this.confirmopen = true;
		
		if(editable){
			if(confirm("Are you sure you want to edit this?")) {
				xmlHttp = GetXmlHttpObject();
				
				if(xmlHttp == null) {
					alert ("Browser does not support HTTP Request");

					return;
				}
				
				var url= "price.ajax.php?id=" + id;
				
				xmlHttp.onreadystatechange = stateChanged; 
				xmlHttp.open("GET", url, true);
				xmlHttp.send(null);					
			}
		}
		
		else{
			alert("You have to log in to edit!");
		}
		
		this.confirmopen = false;
	}

}

function stateChanged() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
	 document.getElementById('addprice').innerHTML=xmlHttp.responseText ;
 }
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}

function checkPriceForm(numberOfRows, tableName) {
	var table = document.getElementById(tableName);
	var tbody = table.tBodies[0];
	
	var errorFlag = 0;
	var message = "";
	
	for(i = 1; i <= numberOfRows; i++) {
		var row = i;
		
		var date = tbody.rows[row].cells[6].getElementsByTagName("input")[0].value;
		var currency = tbody.rows[row].cells[2].getElementsByTagName("select")[0].value;
		var price = tbody.rows[row].cells[2].getElementsByTagName("input")[0].value;
		var gallery = tbody.rows[row].cells[4].getElementsByTagName("select")[0].value;
		var newGallery = tbody.rows[row].cells[4].getElementsByTagName("div")[0];
		var type = tbody.rows[row].cells[0].getElementsByTagName("select")[0].value;	
		
		if(type == "") {
			errorFlag = 1;
			message += "\t- Row " + row + ": Please specify the type.\n";
		}
	
		if(currency == "") {
			errorFlag = 1;
			message += "\t- Row " + row + ": Please specify the currency.\n";
		}	
		
		if(price == "") {
			errorFlag = 1;
			message += "\t- Row " + row + ": Please enter the price.\n";
		}
		
		else {
			price = price.replace(",", ".");
			
			if(isNaN(price)) {
				errorFlag = 1;
				message += "\t- Row " + row + ": Please enter a numeric price.\n";	
			}	
		}
		
		if(gallery == "") {
			errorFlag = 1;
			message += "\t- Row " + row + ": Please enter or specfiy the gallery.\n";
		}
		
		if(newGallery.style.display == "block") {
			var name = newGallery.getElementsByTagName("input")[0].value;
			var city = newGallery.getElementsByTagName("input")[1].value;
			var country = newGallery.getElementsByTagName("input")[2].value;
			var website = newGallery.getElementsByTagName("input")[3].value;
			var email = newGallery.getElementsByTagName("input")[4].value;
			var text = newGallery.getElementsByTagName("textarea")[0].value;
			
			if(name == "") {
				errorFlag = 1;
				message += "\t- Row " + row + ": Please enter the name of the gallery.\n";
			}
			
			if(city == "") {
				errorFlag = 1;
				message += "\t- Row " + row + ": Please enter the city of the gallery.\n";
			}
			
			if(country == "") {
				errorFlag = 1;
				message += "\t- Row " + row + ": Please enter the country of the gallery.\n";
			}
			
			if(email != "") {
				if(!email.match("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?")) {
					errorFlag = 1;
					message += "\t- Row " + row + ": Please enter a correct e-mail address for the gallery.\n";
				}	
			}
			
			if(website != "" && website != "http://") {
				if(!website.match("http://([a-zA-Z0-9]+\.[a-zA-Z0-9\-]+|[a-zA-Z0-9\-]+)\.[a-zA-Z\.]{2,6}(/[a-zA-Z0-9\.\?=/#%&\+-]+|/|)")) {
					errorFlag = 1;
					message += "\t- Row " + row + ": Please enter a correct website for the gallery.\n";
				}	
			}	
		}
		
		if(date == "" || date == "jjjj-mm-dd") {
			errorFlag = 1;
			message += "\t- Row " + row + ": Please enter the date.\n";
		}
		
		else {
			date = date.replace(/[^0-9]/g,'');
			
			if(date.length == 8) {
				var day = date.substr(6, 2);
				var month = date.substr(4, 2);
				var year = date.substr(0, 4);
				
				if(day < 1 || day > 31) {
					errorFlag = 1;
					message += "\t- Row " + row + ": Please enter a day between 1 and 31.\n";
				}
				
				if(month < 1 || month > 12) {
					errorFlag = 1;
					message += "\t- Row " + row + ": Please enter a month between 1 and 12.\n";
				}
				
				if(isNaN(year)) {
					errorFlag = 1;
					message += "\t- Row " + row + ": Please enter a correct year.\n";
				} 	
			}
			
			else {
				errorFlag = 1;
				message += "\t- Row " + row + ": Please enter a correct date (yyyy-mm-dd).\n";
			}
		}		
	}
	
	return { errorFlag: errorFlag, message: message }
}

function AddPrice(id, tableName){
	var table = document.getElementById(tableName);
	var tbody = table.tBodies[0];
	var numberOfRows = tbody.getElementsByTagName("tr").length - 2;
	
	var check = checkPriceForm(numberOfRows, tableName);
	var message = "The following errors occured:\n\n";
		
	message += check.message;
		
	message += "\nPlease correct them in order to continue.";
	
	if(check.errorFlag == 0) {
		var date = "?date=";
		var price = "&price=";
		var currency = "&currency=";
		var gallery = "&gallery=";
		var type = "&type=";
		
		var name = "&name=";
		var city = "&city=";
		var country = "&country=";
		var email = "&email=";
		var website = "&website=";
		
		//var id = "&id=" + id;
		var amount = "&amount=" + numberOfRows;
			
		for(j = 1; j <= numberOfRows; j++) {
			var g_name = "";
			var g_city = "";
			var g_country = "";
			var g_website = "";
			var g_email = "";
			var g_text = "";
					
			var p_date = tbody.rows[j].cells[6].getElementsByTagName("input")[0].value;
			var p_currency = tbody.rows[j].cells[2].getElementsByTagName("select")[0].value;
			var p_price = tbody.rows[j].cells[2].getElementsByTagName("input")[0].value;
			var p_gallery = tbody.rows[j].cells[4].getElementsByTagName("select")[0].value;
			var p_newGallery = tbody.rows[j].cells[4].getElementsByTagName("div")[0];
			var p_type = tbody.rows[j].cells[0].getElementsByTagName("select")[0].value;
			
			if(p_newGallery.style.display == "block") {		
				g_name = p_newGallery.getElementsByTagName("input")[0].value;
				g_city = p_newGallery.getElementsByTagName("input")[1].value;
				g_country = p_newGallery.getElementsByTagName("input")[2].value;
				g_website = p_newGallery.getElementsByTagName("input")[3].value;
				g_email = p_newGallery.getElementsByTagName("input")[4].value;
				g_text = p_newGallery.getElementsByTagName("textarea")[0].value;
			}
	
			date += p_date + "@@@";
			price += p_price + "@@@";
			currency += p_currency + "@@@";
			gallery += p_gallery + "@@@";
			type += p_type + "@@@";
			
			name += g_name + "@@@";
			city += g_city + "@@@";
			country += g_country + "@@@";
			email += g_email + "@@@";
			website += g_website + "@@@";
		}
		
		date = date.substring(0, date.length - 3);
		price = price.substring(0, price.length - 3);
		currency = currency.substring(0, currency.length - 3);
		gallery = gallery.substring(0, gallery.length - 3);
		type = type.substring(0, type.length - 3);
		
		name = name.substring(0, name.length - 3);
		city = city.substring(0, city.length - 3);
		country = country.substring(0, country.length - 3);
		email = email.substring(0, email.length - 3);
		website = website.substring(0, website.length - 3);
				
		xmlHttp = GetXmlHttpObject();
				
		if(xmlHttp == null) {
			alert ("Browser does not support HTTP Request");

			return;
		}
		
		var params = date + price + currency + gallery + type + name + city + country + email + website + "&id=" + id + amount;
		var url = "price.script.php" + params;	
	
		xmlHttp.onreadystatechange = priceAdded;
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	}
	
	else {
		alert(message);	
	}
}


function priceAdded(){ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
	window.location="?artwork_id=" + document.getElementById("artwork_id").value;
 }
}

function addPriceRow(tableName) {
	var table = document.getElementById(tableName);
	var tbody = table.tBodies[0];
	var numberOfRows = tbody.getElementsByTagName("tr").length - 2;
			
	var check = checkPriceForm(numberOfRows, tableName);
	var message = "The following errors occured:\n\n";
			
	message += check.message;
		
	message += "\nPlease correct them in order to continue.";
	
	if(check.errorFlag == 0) {
		var footer = tbody.rows[numberOfRows + 1].cloneNode(true);
		var row = tbody.rows[1].cloneNode(true);
		
		tbody.deleteRow(numberOfRows + 1);
	
		tbody.appendChild(row);
		tbody.appendChild(footer);
		
		var date = row.cells[6].getElementsByTagName("input")[0];
		var currency = row.cells[2].getElementsByTagName("select")[0];
		var price = row.cells[2].getElementsByTagName("input")[0];
		var gallery = row.cells[4].getElementsByTagName("select")[0];
		var newGallery = row.cells[4].getElementsByTagName("div")[0];
		var type = row.cells[0].getElementsByTagName("select")[0];
				
		date.value = "jjjj-mm-dd";
		currency.selectedIndex = 0;
		price.value = "";
		gallery.selectedIndex = 0;
		type.selectedIndex = 0;
		
		if(newGallery.style.display == "block") {
			var name = newGallery.getElementsByTagName("input")[0];
			var city = newGallery.getElementsByTagName("input")[1];
			var country = newGallery.getElementsByTagName("input")[2];
			var website = newGallery.getElementsByTagName("input")[3];
			var email = newGallery.getElementsByTagName("input")[4];
			var text = newGallery.getElementsByTagName("textarea")[0];
			
			name.value = "";
			city.value = "";
			country.value = "";
			website.value = "http://";
			email.value = "";
			text.value = "";
			
			newGallery.style.display = "none";
		}
	}
	
	else {	
		alert(message);	
	}
}


