var changesMade = false;
var locked = false;

function deletewarn(what) {
	var choice=confirm("Pozor! Izbrisali boste "+what+".\nNadaljujem?");
	return choice;
}

function deletewarning(message) {
	var choice=confirm(message);
	return choice;
}


function delayedRedirect(url, seconds) {
	var time = seconds * 1000;
	_redirecturl = url;
	setTimeout('_redirect()',time);
}

var _redirecturl = "";
function _redirect() {
	redirect(_redirecturl);
}

function redirect(url) {
	window.location=url;
}

function removeChildNodes(ctrl) {
	while (ctrl.childNodes[0])
  		ctrl.removeChild(ctrl.childNodes[0]);
}

function checkForChanges() {
	if(changesMade)
		return "Spremembe niso bile shranjene. V kolikor nadaljujete, bodo spremembe izgubljene. Kliknite OK za nadaljevanje.";
}

function setChanges(newValue) {
	changesMade = newValue;
}

function setChangesMultipage(newValue) {
	changesMade = newValue;
	var hiddenChanges = document.getElementById('changesMade');
	if(hiddenChanges) {
		hiddenChanges.value = newValue;
	}
}

function setLocked(newValue) {
	locked = newValue;
	var lockedHidden = document.getElementById('locked');
	if(lockedHidden)
		lockedHidden.value = newValue;
}

function unlock(fields) {
	if(locked == true) {
		var cont = confirm('V kolikor spreminjate vsebino zaklenjenih polj, bo vnos postal nepotrjen. Zares ' + Utf8.zh + 'elite nadaljevati?');
		if(!cont) 
			return false;
			
		for(var i=0; i<fields.length; i++) {
			var items = document.getElementsByName(fields[i]);
			if(items != null && items.length>0) {
				for(var j=0; j<items.length; j++) {
					items[j].readOnly = false;
					items[j].disabled = false;
					items[j].className = items[j].className.replace('formfield_disabled', '');
				}
			}
			items = document.getElementsByName(fields[i]+'_id');
			if(items != null && items.length>0) {
				for(var j=0; j<items.length; j++) {
					items[j].readOnly = false;
					items[j].disabled = false;
					items[j].className = items[j].className.replace('formfield_disabled', '');
				}
			}			
		}	
		setLocked(false);
		jQuery("#addNewNefiksLanguageSpan").show();
		return true;
	}
	return true;
}

function unlockDeleteRow(fields, tableName, rowIndex) {
	var lockResult = unlock(fields);
	if(lockResult)
		deleteTableRow(tableName, rowIndex);
}

function unlockEditRow(fields, tableName, rowIndex, columnDefinition) {
	var lockResult = unlock(fields);
	if(lockResult)
		editTableRow(tableName, rowIndex, columnDefinition);
}

function unlockAddRow(fields, tableName, columnDefinition) {
	var lockResult = unlock(fields);
	if(lockResult)
		addTableRow(tableName, columnDefinition);
}

function switchLabel(element, focus) {
	if (focus) {
		if (element.value == element.defaultValue) {
			element.value = "";
		}
	} else {
		if (element.value == "")  {
			element.value = element.defaultValue;
		}
	}
}

function submitOnClick(submitBtnId, previousBtnId, pageFieldId, newPageNumber) {
	document.getElementById(pageFieldId).value = newPageNumber;
	var submitBtn = document.getElementById(submitBtnId);
	var prevBtn = document.getElementById(previousBtnId);
	
	setChanges(false);
	
	if(prevBtn) {
		prevBtn.click();
	}
	else if(submitBtn) {
		submitBtn.click();
	}
}

function setStatus(statusMsg) {
	window.status = statusMsg;
	return true;
}

function generateId(basename) {
	var newId = Math.round(100000*Math.random());
	for(var i=0; i<10000; i++) {
		if(document.getElementById(basename+'_'+newId) != null)
			newId = Math.round(100000*Math.random());
		else
			break;
		
		if(i==9999) {
			alert('Neuspesno generiranje oznake nove vrstice. Mozen razlog: vesolje je nenadoma postalo logicno.');
			return -1;
		}				
	}
	
	return newId;
}

function createDeleteImage(title) {
	var deleteCtr = document.createElement('img');
	deleteCtr.src = '/images/delete.gif';
	deleteCtr.title = title;
	deleteCtr.border = '0';
	return deleteCtr;
}



function newwindow(url)	{

	
	var newwindow=window.open(url, '', 'width=920,height=800,scrollbars=yes,resizable=yes');
	newwindow.moveTo(0, 0);
	if (window.focus) {
		newwindow.focus()
	}
}


function createElement(tag, id, classs, inner) {
	var newElement = document.createElement(tag);
	if(classs != null)
		newElement.className = classs;
	if(id != null)
		newElement.id = id;
	if(inner != null)
		newElement.innerHTML = inner;	
	
	return newElement;
}

function createDiv(divId, divClass, divInner) {
	var newDiv = document.createElement('div');
	if(divClass != null)
		newDiv.className = divClass;
	if(divId != null)
		newDiv.id = divId;
	if(divInner != null)
		newDiv.innerHTML = divInner;	
	
	return newDiv;
}



function createImage(src, id, title, alt) {
	var imgEl = document.createElement('img');
	if(id != null)
		imgEl.id = id;
	imgEl.src = src;
	imgEl.title = title;
	imgEl.alt = (alt != null)?alt:title;
	imgEl.border = '0';
	return imgEl;
}

function createInput(inputId, name, cssClass, value, type) {
	var newInput = document.createElement('input');
	newInput.type = type;
	
	if(inputId != null)
		newInput.id = inputId;
	if(name != null)
		newInput.name = name;
	if(cssClass != null)
		newInput.className = cssClass;
	if(value != null)
		newInput.value = value;
	
	return newInput;
}

function addNewNefiksLanguage(sender) {
	var newLangDiv = jQuery("#languageTemplateDiv").clone();
	jQuery(newLangDiv).css('display', 'block').attr('id', '').find('select').attr('name', 'otherLanguage_id');
	var appendToDiv = jQuery(sender).parent().parent();
	jQuery(sender).remove().appendTo(newLangDiv);
	jQuery(appendToDiv).append(newLangDiv);
}

function removeNefiksLanguage(sender) {
	var removeDiv = jQuery(sender).parent();
	
	if(jQuery(removeDiv).is(":first-child")) {
		jQuery("#activityLanguageHelpImg").remove().insertAfter(jQuery(removeDiv).next().find('select'));
	} else if(jQuery(removeDiv).is(":last-child")) {
		jQuery(sender).next().remove().appendTo(jQuery(removeDiv).prev());
	} else {
		
	}
	jQuery(removeDiv).remove();
}