var last = '';
var lastEntry = '';

AjaxLoader = function()
{
	if (window.XMLHttpRequest) 
	{
		request = new XMLHttpRequest();
		
	} else if (window.ActiveXObject) 
	{
		request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if(!request) 
	{
		return false;
	}
	
	return request;
}


function getCountries()
{
	loader = AjaxLoader();
	loader.onreadystatechange = function()
	{
		if (loader.readyState == 4) 
		{
			if (loader.status == 200) 
			{
				if(loader.responseText)
				{
					var regions = eval('(' + loader.responseText + ')');
					var length = document.getElementById('regions').length;
					for (i=0; i<length; i++)
					{
						document.getElementById('regions').options[document.getElementById('regions').length-1] = null;	
					}
					
					var option = document.createElement('OPTION');
					option.text = '- keine Region -';
					option.value = 'a';
					document.getElementById('regions').options.add(option);
					
					for (var key in regions.regions)
					{
						var option = document.createElement('OPTION');
						option.text = regions.regions[key];
						option.value = key;
						document.getElementById('regions').options.add(option);
					}
					
					var length = document.getElementById('banner').length;
					for (var i = 0; i < length; i++)
					{
						document.getElementById('banner').options[document.getElementById('banner').length-1] = null;	
					}
					var size = regions.banner.length;
					for (var i = 0; i < size; i++)
					{
						var option = document.createElement('OPTION');
						option.text = regions.banner[i].name;
						option.value = regions.banner[i].url;
						document.getElementById('banner').options.add(option);
					}
					
					doCount();
				}
			}
		}
	}
	
	var id = document.getElementById('countries').value;
 	var path = '/LandingPages/htdocs/request/country/countryId/' + id;
	loader.open("GET",path, true);
	loader.send(null);
}

function del (id, page)
{
	var msg = "Wollen Sie die Seite wircklich löschen?";
	if (confirm(msg))
	{
		window.location.href = 'http://www.schmetterling-cupido.de/LandingPages/htdocs/index/delete/id/' + id + '/page/' + page;
	}
}

function validate (user)
{
	var valid = true;
	if (!checkField(document.getElementById('description')))
	{
		valid = false;
	}
	if (!checkField(document.getElementById('text2')))
	{
		valid = false;
	}
	if (!checkField(document.getElementById('foot_text')))
	{
		valid = false;
	}
	if (!checkField(document.getElementById('img_alt')))
	{
		valid = false;
	}
	if (!checkField(document.getElementById('img_title')))
	{
		valid = false;
	}
	if (!checkField(document.getElementById('meta_title')))
	{
		valid = false;
	}
	if (!checkField(document.getElementById('meta_description')))
	{
		valid = false;
	}
	if (!checkField(document.getElementById('meta_keywords')))
	{
		valid = false;
	}
	
	if (document.getElementById('avail').value == 0)
	{
		valid = false;
	}
	
	// validating metas
	
	if(user)
	{
		var text = '';
		var country = document.getElementById('countries').options[document.getElementById('countries').selectedIndex].innerHTML;
		var region = document.getElementById('regions').options[document.getElementById('regions').selectedIndex].innerHTML;
		if (region == '- Bitte wählen sie eine Region -')
		{
			region = '';
		} else
		{
			country += ',';
		}
		
		if (document.getElementById('meta_title').value == country + region)
		{
			setRedBorder(document.getElementById('meta_title'));
			valid = false;
			text = '<br/>Bitte Meta Tags ergänzen.'
		} else
		{
			setBlackBorder(document.getElementById('meta_title'));
		}
		
		if (document.getElementById('meta_description').value == country + region)
		{
			setRedBorder(document.getElementById('meta_description'));
			valid = false;
			text = '<br/>Bitte Meta Tags ergänzen.'
		} else
		{
			setBlackBorder(document.getElementById('meta_description'));
		}
		
		if (document.getElementById('meta_keywords').value == country + region)
		{
			setRedBorder(document.getElementById('meta_keywords'));
			valid = false;
			text = '<br/>Bitte Meta Tags ergänzen.'
		} else
		{
			setBlackBorder(document.getElementById('meta_keywords'));
		}
	}
	
	// end validating metas
	
	if (!valid)
	{
		var message = 'Überprüfen sie die rot markierten Felder.';
		if (text)
		{
			message += text;
		}
		document.getElementById('error').innerHTML = message;
	}
	
	return valid;
}

function checkField (element)
{
	if (element.value == '')
	{
		setRedBorder(element);
		return false;
	} else
	{
		setBlackBorder(element);
		return true;
	}
}

function setRedBorder (element)
{
	element.className = 'textInputRed';	
}

function setBlackBorder (element)
{
	element.className = 'textInput';
}

function pre () 
{
	var image = document.getElementById('banner').value;
	
	document.getElementById('preview').src = image;
}

function getRegions()
{
	loader = AjaxLoader();
	loader.onreadystatechange = function()
	{
		if (loader.readyState == 4) 
		{
			if (loader.status == 200) 
			{
				if(loader.responseText)
				{
					var regions = eval('(' + loader.responseText + ')');
					
					var length = document.getElementById('regions').length
					for (i=0; i<length; i++)
					{
						document.getElementById('regions').options[document.getElementById('regions').length-1] = null;	
					}
					
					var option = document.createElement('OPTION');
					option.text = '- keine Region -';
					option.value = 'a';
					document.getElementById('regions').options.add(option);
					
					var size = regions.length;
					
					for (var i = 0; i < size; i++)
					{
						var option = document.createElement('OPTION');
						option.text = regions[i].region + ' (' + regions[i].count + ')';
						option.value = regions[i].id;
						document.getElementById('regions').options.add(option);
					}
					
					var length = document.getElementById('regions').length;
				}
			}
		}
	}
	
	var id = document.getElementById('countries').value;
 	var path = '/LandingPages/htdocs/request/region/countryId/' + id;
	loader.open("GET",path, true);
	loader.send(null);
}

function search()
{
	document.getElementById('result').innerHTML = '<img src="/LandingPages/htdocs/img/ajax-loader.gif" alt="loader" />';
	loader = AjaxLoader();
	loader.onreadystatechange = function()
	{
		if (loader.readyState == 4) 
		{
			if (loader.status == 200) 
			{
				if(loader.responseText)
				{
					var result = eval('(' + loader.responseText + ')');
					var hits = result.length;
					
					var found;
					var text;
					var page;
					
					if (hits == 0)
					{
						text = 'Es wurden keine Landing Pages zu ihrer Region gefunden';
					} else
					{
						if (hits > 1)
						{
							found = 'wurden';
							page = 'Pages';
						} else
						{
							found = 'wurde';
							page = 'Page';
						}
						
						text = 'Es ' + found + ' <b>' + hits + '</b> Landing ' + page + ' zu der angegebene Region gefunden:<br/>' ;
					}
					
					document.getElementById('result').innerHTML = text;
					
					for (var i = 0; i < hits; i++)
					{
						document.getElementById('result').innerHTML +=  '<br/><a href="' + result[i].url + '" target="_blank">' + result[i].description + '</a>';
					}
				}
			}
		}
	}
	
	var country = document.getElementById('countries').value;
	var region = document.getElementById('regions').value;
 	var path = '/LandingPages/htdocs/request/search/country/' + country + '/region/' + region;
	loader.open("GET",path, true);
	loader.send(null);
}

function doCount ()
{
	loader = AjaxLoader();
	loader.onreadystatechange = function()
	{
		if (loader.readyState == 4) 
		{
			if (loader.status == 200) 
			{
				if(loader.responseText)
				{
					var count = eval('(' + loader.responseText + ')');
					var offers = document.getElementById('offers').value;
					if (parseInt(count) < parseInt(offers))
					{
						var color = 'red';
						var avail = 'zu wenig';
						document.getElementById('avail').value = '0'; 
					} else
					{
						var color = 'green';
						var avail = 'ausreichend'
						document.getElementById('avail').value = '1'; 
					}
					
					document.getElementById('availability').innerHTML = '<font style="color:' + color + '">' + avail + ' (' + count + ')' + '</font>'
				}
			}
		}
	}
	
	var country = document.getElementById('countries').value;
	var region = document.getElementById('regions').value;
	var language = document.getElementById('language').value;
 	var path = '/LandingPages/htdocs/request/count/country/' + country + '/region/' + region + '/lang/' + language;
	loader.open("GET",path, true);
	loader.send(null);
}

function showPages (page)
{
	if ( document.getElementById(page).style.display == 'none')
	{
		document.getElementById(page).style.display = 'block';
	}
	
	else if ( document.getElementById(page).style.display == 'block')
	{
		document.getElementById(page).style.display = 'none';
	}

	if (last != '' && last != page)
	{
		document.getElementById(last).style.display = 'none';
	}
	
	last = page;
}

function setup (full)
{
	doCount();
	pre();
	mkMeta();
}

function mkMeta ()
{
	var country = document.getElementById('countries').options[document.getElementById('countries').selectedIndex].innerHTML;
	var region = document.getElementById('regions').options[document.getElementById('regions').selectedIndex].innerHTML;
	if (region == '- Bitte wählen sie eine Region -')
	{
		region = '';
	} else
	{
		country += ',';
	}
	
	document.getElementById('img_alt').value = country + region;
	document.getElementById('img_title').value = country + region;
	document.getElementById('meta_title').value = country + region;
	document.getElementById('meta_description').value = country + region;
	document.getElementById('meta_keywords').value = country + region;
}

function setupCp ()
{
	$('#borderColorSelector').ColorPicker({
		color: '#0000ff',
		onShow: function (colpkr) {
			$(colpkr).fadeIn(500);
			return false;
		},
		onHide: function (colpkr) {
			$(colpkr).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#borderColorSelector div').css('backgroundColor', '#' + hex);
			$('#borderColor').val(hex);
		}
	});

	$('#boxColorSelector').ColorPicker({
		color: '#0000ff',
		onShow: function (colpkr) {
			$(colpkr).fadeIn(500);
			return false;
		},
		onHide: function (colpkr) {
			$(colpkr).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#boxColorSelector div').css('backgroundColor', '#' + hex);
			$('#boxColor').val(hex);
		}
	});

	$('#boxTextSelector').ColorPicker({
		color: '#0000ff',
		onShow: function (colpkr) {
			$(colpkr).fadeIn(500);
			return false;
		},
		onHide: function (colpkr) {
			$(colpkr).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#boxTextSelector div').css('backgroundColor', '#' + hex);
			$('#boxTextColor').val(hex);
		}
	});

	$('#headerTextSelector').ColorPicker({
		color: '#0000ff',
		onShow: function (colpkr) {
			$(colpkr).fadeIn(500);
			return false;
		},
		onHide: function (colpkr) {
			$(colpkr).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#headerTextSelector div').css('backgroundColor', '#' + hex);
			$('#headerTextColor').val(hex);
		}
	});

	$('#backgroundSelector').ColorPicker({
		color: '#0000ff',
		onShow: function (colpkr) {
			$(colpkr).fadeIn(500);
			return false;
		},
		onHide: function (colpkr) {
			$(colpkr).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#backgroundSelector div').css('backgroundColor', '#' + hex);
			$('#backgroundColor').val(hex);
		}
	});

	$('#priceSelector').ColorPicker({
		color: '#0000ff',
		onShow: function (colpkr) {
			$(colpkr).fadeIn(500);
			return false;
		},
		onHide: function (colpkr) {
			$(colpkr).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#priceSelector div').css('backgroundColor', '#' + hex);
			$('#backgroundColorPrice').val(hex);
		}
	});

	$('#priceColorSelector').ColorPicker({
		color: '#0000ff',
		onShow: function (colpkr) {
			$(colpkr).fadeIn(500);
			return false;
		},
		onHide: function (colpkr) {
			$(colpkr).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#priceColorSelector div').css('backgroundColor', '#' + hex);
			$('#colorPrice').val(hex);
		}
	});
}

function loadCategories ()
{
	loader = AjaxLoader();
	loader.onreadystatechange = function()
	{
		if (loader.readyState == 4) 
		{
			if (loader.status == 200) 
			{
				if(loader.responseText)
				{
					var categories = eval('(' + loader.responseText + ')');
						

					var length = document.getElementById('newscategory').length;
					for (var i = 0; i < length; i++)
					{
						document.getElementById('newscategory').options[document.getElementById('newscategory').length-1] = null;	
					}
					for (var key in categories)
					{
						var option = document.createElement('OPTION');
						option.text = categories[key];
						option.value = key;
						document.getElementById('newscategory').options.add(option);
					}
				}
			}
		}
	}
	
	var id = document.getElementById('sourcenews').value;
 	var path = '/LandingPages/htdocs/request/categories/id/' + id;
	loader.open("GET",path, true);
	loader.send(null);
}
