var alias = '';
var rules_read = false;
var ajax = new Ajax();
var openForms = new Array();
var currentURL = null;
var commentRules_window = null;


var response = function(responseText) {
	if (responseText.indexOf('_info:') != -1) {
		alert(responseText.substr(responseText.indexOf('_info:')+6));
		toggleElement(openForms.pop(), 'none')
	} else {
		document.getElementById('comments').innerHTML=responseText;		
	}
}

var adminResponse = function(responseText) {
	if (responseText.indexOf('_confirm:') != -1) {
		if(confirm(responseText.substr(responseText.indexOf('_confirm:')+9))) {
			currentURL += '&confirmed=true';
			ajax.doGet(currentURL, adminResponse, 'text'); //(url, hand, format)
		}
	} else if (responseText.indexOf('_alert:') != -1) {
		alert(responseText.substr(responseText.indexOf('_alert:')+7));
	} else if (responseText.indexOf('_info:') != -1) {
		alert(responseText.substr(responseText.indexOf('_info:')+6));
		currentURL = currentURL.replace(
						currentURL.substring(currentURL.search(/\?action=/)+8, currentURL.search(/&/)), 
						'refreshCommentView');
		ajax.doGet(currentURL, adminResponse, 'text'); //(url, hand, format)
	} else {
		document.getElementById('comments').innerHTML=responseText;
	}
}
/* a little diffrent trim function */
String.prototype.trim = function() {
	return(this.replace(/(^\s+)|(\s+$)/g, ""));
}

/**
* Validating comments form
*/
function validateForm(elementId) {
	var form = document.getElementById(elementId);
	var len = form.elements.length;
	var name = '';
	var ok = true;
	var element = null;
	var message = 'Følgende felter er ikke fylt ut: \n';
	
	// check all form elements.
	for(var i = 0; i < len; i++) {
		element = form.elements[i];
		name = element.name;
		switch (name) {
			case elementId+'_title':
				if ( element.value.trim() == document.getElementById('def-title').value )
					element.value = '';
			break;
			case elementId+'_alias':
				if (element.value.trim() == '') {
					message += element.title+'\n';
					element.style.border = "red 1px solid";
					ok = false;
				} else alias = element.value;
			break;
			case elementId+'_comment':
				if (element.value.trim() == '') {
					message += element.title+'\n';
					element.style.border = "red 1px solid";
					ok = false;
				}
			break;
			case elementId+'_checked':  
				if (!element.checked) {
					message += element.title+'\n';
					ok = false;
					element.style.border = "red 1px solid";
					element.style.outline = "red 1px solid";
				} else rules_read = true;
			break;	
		}
	}
	if (!ok) {
		alert (message);
	} else {
		toggleElement(elementId, 'none');
	}
	return ok;
}

function initForm(formId) {
	var c_comment = formId+'_comment';
	var c_alias   = formId+'_alias';
	var c_check   = formId+'_checked';
	var c_title   = formId+'_title';
	var c_loginusername = 'loginusername';
	
	if ('block' == toggleElement(formId)) {
		document.getElementById(c_comment).value = '';
		//document.getElementById(title).value = '';
		document.getElementById("capcha_img_"+formId).src = "/bilde.php";
		document.getElementById(c_comment).focus();
		if ( document.getElementById(c_loginusername) && alias.length == 0 ) {
			document.getElementById(c_alias).value = alias = document.getElementById(c_loginusername).value; 
		} else if (alias.length > 0) {
			document.getElementById(c_alias).value = alias;
		} 
		if (rules_read) {
			document.getElementById(c_check).checked = true;
		} else document.getElementById(c_check).checked = false;
	} else if (document.getElementById(c_alias).value != alias) {
		alias = document.getElementById(c_alias).value;
	}
}

/**
* Used to show or hide html elements.
*/
function toggleElement(elementId, display) {
	if(!elementId) return false;
	if (!display) {
		display = document.getElementById(elementId).style.display;
		display = display=='block'?'none':'block';
	}
	if (display == 'block') {
		while (toggleElement(openForms.pop(), 'none'));
		openForms.push(elementId);
	} else openForms.pop();
	return document.getElementById(elementId).style.display = display;
}

/**
* Used to post forms by ajax.
*/
function postComment(commentId) {
	ajax.async = true;
	if (validateForm(commentId)) {
		ajax.saveForm(commentId, response, 'text'); //(formName, handxml, format)
	} else 
		return false;
}


/**
* Used to post forms by ajax.
*/
function checkCapcha(capcha) {	  
	  	  
	  ajax.async = false;
		return ajax.doGet('/capcha.php?capcha=' + capcha,"", 'text'); //(formName, handxml, format)
		
}


function submitForm(idForm){
  			
		if(checkCapcha(document.getElementById(idForm+"_capcha").value) == 1){				
				return postComment(idForm);				
		}else{
				alert('Tegnene stemmer ikke med bildet. Vennligst prøv igjen')
				document.getElementById(idForm+"_capcha").focus();
				return false;
		}
 }


/**
* Used to post forms by ajax.
*/
function postFeedback(feedbackId) {
	//alert(url);
	ajax.saveForm(feedbackId, response, 'text'); //(formName, handxml, format)
}

function invokeAdminFunction(url) {
	//alert(url);
	this.currentURL = url;
	ajax.doGet(url, adminResponse, 'text'); //(url, hand, format)
}

function openCommentRules() {
	if (commentRules_window == null || commentRules_window.closed ) {
		commentRules_window = window.open("/neted/modules/news/popup_comment-rules.html","","height=670px,width=590px,scrollbars=no,resizable=yes");
	} else {
		commentRules_window.focus();
	}
}
