/**
 *
 * JavaScripts for ad_new.con and ad_edit.con
 *
 */

var allowedChars = 110;
var allowedTitleChars = 17;

function selectCategory(id)
{
	if (id == 11){ // Show diffrent type labels for this category
		document.getElementById("type1").innerHTML = "Uthyres";
		document.getElementById("type2").innerHTML = "Önskas hyra";
	}
	else{
		document.getElementById("type1").innerHTML = "Säljes";
		document.getElementById("type2").innerHTML = "Köpes";
	}

	if (id == 12 || id == 13 || id == 14 || id == 15){ // Don\'t show types for this categories
		document.getElementById("types").style.display = "none";
	}
	else{
		document.getElementById("types").style.display = "";
	}
}

function selectCounty(id)
{

	if (id == 1){ // Ålands län
		document.getElementById("paper_info").style.display = "";
		if (document.getElementById("paper_info2"))
			document.getElementById("paper_info2").style.display = "";
	}
	else{
		document.getElementById("paper_info").style.display = "none";
		if (document.getElementById("paper_info2"))
			document.getElementById("paper_info2").style.display = "none";
		toggleAddressBox(0);
		togglePaperBox(0);
	}
}

function togglePaperBox(id)
{
	if (id == 0){
		document.getElementById("paper_box").style.display = "none";
		document.getElementById("img_no").checked = true;
		toggleAddressBox(id);
	}
	else{
		document.getElementById("paper_box").style.display = "";
	}
}

function toggleAddressBox(id)
{
	if (id == 0){
		document.getElementById("address_box").style.display = "none";
	}
	else{
		document.getElementById("address_box").style.display = "";
	}
}

// Force checking of one contact type
function checkOne(obj)
{
	if (obj.id == "contact_email" && obj.checked != true){
		document.getElementById("contact_tel").checked = true;
	}
	if (obj.id == "contact_tel" && obj.checked != true){
		document.getElementById("contact_email").checked = true;
	}
}

function toggleButtons(status){
	document.getElementById('btnCheckForm').disabled = !status;
	if (document.getElementById('btnAddMore'))
		document.getElementById('btnAddMore').disabled = !status;
	if (document.getElementById('btnUpload'))
		document.getElementById('btnUpload').disabled = !status;
	if (document.getElementById('btnClearForm'))
		document.getElementById('btnClearForm').disabled = !status;

	// Toggle remove buttons
	var rmButtons = document.getElementsByName("btnRemove");
	for (var i = 0; i < rmButtons.length; i++) {
		rmButtons[i].disabled = !status;
	}
}

function submitForm()
{
	toggleButtons(false);
	document.form.submit();
}

function removeImage(id)
{
	toggleButtons(false);
	document.form.action.value = "img_remove";
	document.form.img_remove_id.value = id;
	document.form.submit();
}

function uploadImage()
{
	toggleButtons(false);
	document.form.action.value = "img_upload";
	document.form.submit();
}

function addMoreImages()
{
	toggleButtons(false);
	document.form.action.value = "add_more_images";
	document.form.submit();
}

function paperTextCounter()
{
	if (document.getElementById('paper_text_count')){
		document.getElementById('paper_text_count').innerHTML = 110-document.getElementById('text_paper').value.length;
	}
}

function paperTitleCounter()
{
	if (document.getElementById('paper_title_count')){
		document.getElementById('paper_title_count').innerHTML = 17-document.getElementById('title_paper').value.length;
	}
}

// Copy text from advertisment to paper
function copyText()
{
	document.getElementById('text_paper').value = document.getElementById('text').value.substr(0,allowedChars);
	paperTextCounter();
}

// Copy title from advertisment to paper
function copyTitle()
{
	document.getElementById('title_paper').value = document.getElementById('title').value.substr(0,allowedTitleChars);
  paperTitleCounter();
}

function init(){
	selectCounty(document.getElementById("county").value);
	selectCategory(document.getElementById("category").value);

	if (document.getElementsByName("paper").length > 0){
		togglePaperBox(getCheckedValue(document.getElementsByName("paper")));
		toggleAddressBox(getCheckedValue(document.getElementsByName("pap_img")));
	}

	if (document.getElementById('text_paper')){
  	// Check that char count don't exceed limit
  	document.getElementById('text_paper').onkeypress = function () {
			document.getElementById('text_paper').value = document.getElementById('text_paper').value.substr(0,allowedChars);
			paperTextCounter();
  	};
  	document.getElementById('text_paper').onkeyup = function () {
  		document.getElementById('text_paper').value = document.getElementById('text_paper').value.substr(0,allowedChars);
			paperTextCounter();
  	};
  	document.getElementById('text_paper').onchange = function () {
			document.getElementById('text_paper').value = document.getElementById('text_paper').value.substr(0,allowedChars);
			paperTextCounter();
  	};

  	paperTextCounter();
  }

  if (document.getElementById('title_paper')){
  	// Check that char count don't exceed limit
  	document.getElementById('title_paper').onkeypress = function () {
  		if (document.getElementById('title_paper').value.length > allowedTitleChars)
				document.getElementById('title_paper').value = document.getElementById('title_paper').value.substr(0,allowedTitleChars);
			paperTitleCounter();
  	};
  	document.getElementById('title_paper').onkeyup = function () {
  		if (document.getElementById('title_paper').value.length > allowedTitleChars)
  			document.getElementById('title_paper').value = document.getElementById('title_paper').value.substr(0,allowedTitleChars);
			paperTitleCounter();
  	};
  	document.getElementById('title_paper').onchange = function () {
  		if (document.getElementById('title_paper').value.length > allowedTitleChars)
				document.getElementById('title_paper').value = document.getElementById('title_paper').value.substr(0,allowedTitleChars);
			paperTitleCounter();
  	};

  	paperTitleCounter();
  }
}

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}
