
gebi = function (id) {
    return document.getElementById(id);
}

gebcn = function (name) {
    return document.getElementsByClassName(name);
}

function reloadImage() {
    gebi('captcha').src = '/captcha/captcha.php?' + Math.random();
}


function addComment() {
  	var err = '';
  	var sendto = gebi('send-to').value;
  	var name = gebi('name').value;
  	var comment = gebi('commentText').value;
  	var email = gebi('email').value;
  	var captcha_code = gebi('captcha_code').value;

  	if (name == '') {
  		err += "Enter name\n";
  	}
  	if (isValidEmail(email) != true) {
  		err += "Enter valid email\n";
  	}
  	if (comment == '') {
  		err += "Enter message\n";
  	}
  	if (captcha_code == '') {
  		err += "Picture code is invalid\n";
  	}

  	if (name != '' && comment != '' && captcha_code != '') {

  		var url = '/send_comment.php';
  		var pars = $H({ sendto: sendto, email: email,
  		name: name, comment: comment, captcha_code: captcha_code}).toQueryString();

  		var myAjax = new Ajax.Request(
  		url,
  		{method: 'post', parameters: pars, onComplete: showCommentData}
  		);

  	} else {
  		alert(err);
  	}
}

function showCommentData(originalRequest) {
    html = originalRequest.responseText;

    if (html != 'false' && html != 'CODE_ERROR') {
        if (gebi('commentText') && gebi('captcha_code')) {
            //gebi('name').value = '';
            //gebi('email').value = '';
            gebi('commentText').value = '';
            gebi('captcha_code').value = '';
        }
	  	alert('Message sent');
    } else if (html == 'CODE_ERROR') {
        alert('Error in code!');
	  	gebi('captcha_code').value = '';
    } else {
        alert('Error in sending message!');
    }
  	reloadImage();
}

isValidEmail = function (email, required) {
    if (required==undefined) {
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {
        return false;
    }

    if (email.indexOf("@") < 1) {
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {
        return false;
    } else if (email.indexOf("@") == email.length) {
        return false;
    } else if (email.indexOf("..") >=0) {
	return false;
    } else if (email.indexOf(".") == email.length) {
	return false;
    } else {
        return true;
    }
}

allValidChars = function (email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

showNews = function (id)
{
	news = gebi('news_' + id);

	if (news.style.display == 'none') {
		news.style.display = 'block';
	} else {
		news.style.display = 'none'
	}

	return false;
}

function confirmLink(theLink, what) {

    var confirmMsg  = 'Do you really want ';
    // Confirmation is not required in the configuration file
    // or browser is Opera (crappy js implementation)
    if (confirmMsg == '' || typeof(window.opera) != 'undefined') {
        return true;
    }

    var is_confirmed = confirm(confirmMsg + ' :\n' + what);
    if (is_confirmed) {
        theLink.href;
    }
    return is_confirmed;
} // end of the 'confirmLink()' function


//NewDj Edits
function addSubscriber() {

	var err = '';
	var checkedTopics=new Array();

    var topics=gebcn('topics');

	for(var i=0,j=0;i<topics.length;i++) {

		if(topics[i].checked) {

			checkedTopics[j]=topics[i].value;
			j++;
		}
	}
    if(checkedTopics.length ==0) {

    	err += "Check Topics\n";

    }
	var email = gebi('email').value;

	if (isValidEmail(email) != true) {
  		err += "Enter valid email\n";
  	}

    if(err != ''){

    	alert(err);

    } else {

		var url='/send_reg_subscrib.php';
		var pars ='';
		for(var i=0;i<checkedTopics.length;i++) {

			pars +='topic['+i+']='+checkedTopics[i]+'&';

		}
		pars+='email='+email;

		var newAjax = new Ajax.Request(
		  		url,
		  		{method: 'post', parameters: pars, onComplete: showAlert}
		  		);

	 }
}
function showAlert(originalRequest)
{
		top.location.href='/activate_subscription';
}
var curEditMenu=null;
function editUser(id)
{   var lnk=gebi('link_ed_user_'+id);
	lnk.onclick=function ()
	{
		stopEditUser(false,id);

	};
   	if(curEditMenu!=null)
    {
    	curEditMenu.parentNode.parentNode.style.display='none';
		curEditMenu.parentNode.style.lineHeight='0em';
		curEditMenu.innerHTML='';
		curEditMenu.style.padding='0px';
		curEditMenu.parentNode.style.height='0px';
    }
    curEditMenu=gebi('block_'+id);

   	var url='/admin/getacsubscriber';
	var pars ='id='+id;
	var newAjax = new Ajax.Request(
	  		url,
	  		{method: 'post', parameters: pars, onComplete: function(originalRequest){if(('block_'+id)==curEditMenu.id) ShowMenuEditUser(originalRequest,id);}}
	  		);

	curEditMenu.parentNode.parentNode.style.display='table-row';
	//curEditMenu.parentNode.style.height='50px';
	curEditMenu.parentNode.style.lineHeight='1em';
	//curEditMenu.style.height='100%';
	curEditMenu.style.position='relative';
	curEditMenu.style.textAlign='center';
	curEditMenu.style.verticalAlign='middle';
    curEditMenu.innerHTML='<img src="/img/loading1.gif" style="margin:15px 0;" />';

}
function ShowMenuEditUser(originalRequest,id)
{
	curEditMenu.style.textAlign='left';
	curEditMenu.style.padding='30px';
	curEditMenu.innerHTML=originalRequest.responseText;
}
function stopEditUser(save,id)
{
	if(save){
		var my_url='/admin/saveacsubscriber';
		jQuery.ajax({
			url: my_url,
			dataType: "json",
			type: "POST",
			data: jQuery('#subscriber_list').serialize(),
			complete: function(response){hideMenuEditUser(response,id);}
		});
    curEditMenu.style.textAlign='center';
    curEditMenu.innerHTML='<img src="/img/loading1.gif" style="margin:15px 0;" />';
	}
	else
	{
		hideMenuEditUser('',id);
	}
	var lnk=gebi('link_ed_user_'+id)
	lnk.onclick=function ()
	{
		editUser(id);

	};

}
function hideMenuEditUser(response,id)
{
	if((response.responseText!='Not data for save')&&(response!='')&&(response.responseText!=''))
	{
 	 	gebi('usmenu_'+id).innerHTML=response.responseText;

	}
	curEditMenu.parentNode.parentNode.style.display='none';
	curEditMenu.parentNode.style.lineHeight='0em';
	curEditMenu.innerHTML='';
	curEditMenu.style.padding='0px';
	curEditMenu.parentNode.style.height='0px';
	curEditMenu=null;

}
function deleteSubscriber(id)
{
	var url='/admin/delacsubscriber';
	var pars ='id='+id;
	var newAjax = new Ajax.Request(
	  		url,
	  		{method: 'post', parameters: pars}
	  		);
	gebi('usmenu_'+id).parentNode.parentNode.style.display='none';
	return false;
}
function selectAll(form,class_name)
{

	var items = $(form).getElementsByClassName(class_name);
	for (i=0; i<items.length; i++) {
		if (items[i].checked != true) {
			items[i].checked = true;
		} else {
			items[i].checked = false;
		}

	}
}
function del_main_img(id)
{
	gebi('block_main_img').innerHTML='';
	var url='/admin/delmainimgnl';
	var pars ='last_id='+id;
		var newAjax = new Ajax.Request(
		  		url,
		  		{method: 'post', parameters: pars}
		  		);
}
function del_art_img(id)
{
	gebi('block_art_img').innerHTML='';
	var url='/admin/delartimg';
	var pars ='id='+id;
		var newAjax = new Ajax.Request(
		  		url,
		  		{method: 'post', parameters: pars}
		  		);
}
function deleteArticle(id)
{
	gebi('tr_'+id).style.visibility='hidden';
	gebi('trr_'+id).style.visibility='hidden';
	gebi('tr_'+id).style.lineHeight='0';
	gebi('trr_'+id).style.lineHeight='0';
	var url='/admin/deletearticle';
	var pars ='id='+id;
		var newAjax = new Ajax.Request(
		  		url,
		  		{method: 'post', parameters: pars}
		  		);
}
function conImSubs()
{
	var cheks=gebcn('topic_name');
	for(i=0;i<cheks.length;i++)
	{
		if(cheks[i].checked)
			return true;
	}
return confirm('Newsletter topic is not chosen.\n Are you sure you want to import users without subscribing them to any newsletter?');
}
function conImNL()
{
	var cheks=gebcn('topic_name');
	for(i=0;i<cheks.length;i++)
	{
		if(cheks[i].checked)
			return true;
	}
	alert("Newsletter topic is not chosen");
return false;
}
function show_advanced(flag) {

var blokcs= gebcn('tr_hidden');

	if(flag){
		for(i=0;i<blokcs.length;i++)
		{

			blokcs[i].style.display='table-row';
		}
		gebi('adv_meta').onclick= function() {show_advanced(false); };
	} else
	{
		for(i=0;i<blokcs.length;i++)
		{

			blokcs[i].style.display='none';
		}
		gebi('adv_meta').onclick= function() {show_advanced(true); };
	}
}
function inputlineAttachCharCounter(ed) {
	// Gecko only suppports 'input' (XUL)
    // WebKit: 'input', parentNode.'DOMSubtreeModified', 'paste'
    // IE: onpropertychange
    // Opera: DOMControlValueChanged, input

    el = document.getElementById(ed);

    // First check most speific engines, and end with generic standard events.
    if (BEDetector.engine.is.Gecko || BEDetector.engine.is.WebKit || BEDetector.engine.is.Opera) {
        el.addEventListener('input',
            function() { inputlineUpdateCharCounter() },
            false);
        // Help Gecko
        el.addEventListener('dragdrop',
            function() { inputlineUpdateCharCounter() },
            false);
    }
    else if (BEDetector.engine.is.MSHTML) {
        el.attachEvent('onpropertychange',
            function() { inputlineUpdateCharCounter()} );
    } else {
        // Fall to generic standard support
        el.addEventListener('keyup',
            function() { inputlineUpdateCharCounter() },
            false);
        // maybe KHTML (DOMCharacterDataModified, also DOMSubtreeModified)
        el.addEventListener('DOMCharacterDataModified',
            function() { inputlineUpdateCharCounter() },
            false);
    }
}
function inputlineUpdateCharCounter()
{
	gebi('adress_str_meta').value=gebi('header_meta').value.replace(/[\>\<\'\"\%\#\?\/\&\@]*/g,'');
	gebi('title_meta').value=gebi('header_meta').value;
	gebi('keywords_meta').value=gebi('name_meta').value+', '+gebi('header_meta').value;
	gebi('description_meta').value=gebi('header_meta').value;
}



