function Main(){}

// verify info for subscribe Newsletter
Main.CheckSubscribeForm = function(form)
{
	var email = form.elements["nfo[subscribe_email]"].value;
	
	if(!email.match(/^[a-zA-Z\._\-0-9]{2,}@[a-z0-9\-_\.]{1,}\.[a-z]{2,}$/))
	{
		alert(multilang_js['_general_invalid_email_format_js']);
                return false;
	}
	return true;
}

Main.sendSubscribeForm = function(form)
{
        $.post(form.action+"?lt=1", $("#subscribeForm").serialize()+"&do[submit]=Submit",function(data){
		$(".txt_error").remove();
		$(".txt_success").remove();
		
		if(data.indexOf('txt_success') != -1)
		{
		    $("#subscribe-form-div").remove();
		    $(data).appendTo("#subscribe-load-dialog");
		    $("#subscribe-load-dialog").animate({height:'50px'},350,'linear');
		}
		else
		{
		    $(data).insertAfter("#subscribe-form-div");
		    $("#subscribe-load-dialog").animate({height:'150px'},350,'linear');
		}
                     });
	return false;
}

// verify info for Send Feedback
Main.checkSendFeedbackForm = function(form)
{
	var author = form.elements["nfo[contact_lastname]"].value;
	var author1 = form.elements["nfo[contact_firstname]"].value;
	var email = form.elements["nfo[contact_email]"].value;
	var content = form.elements["nfo[contact_content]"].value;
	
	if(!email.match(/^[a-zA-Z\._\-0-9]{2,}@[a-z0-9\-_\.]{1,}\.[a-z]{2,}$/))
	{
		alert(multilang_js['_general_invalid_email_format_js']);
                return false;
	}

        if(author1.length < 3)
        {
		//alert("Please write your first name.");
		alert(multilang_js['_general_mandatory_fields_error_js']);
                return false;
        }
        
        if(author.length < 3)
        {
		//alert("Please write your last name.");
                alert(multilang_js['_general_mandatory_fields_error_js']);
                return false;
        }
        if(content.length < 5)
        {
		//alert("Feedback is to short.");
                alert(multilang_js['_general_mandatory_fields_error_js']);
                return false;
        }
	return true;
}

Main.sendFeedbackForm = function(form)
{
        $.post(form.action+"?lt=1", $("#contactform").serialize()+"&do[submit]=Submit",function(data){
		$(".txt_error").remove();
		$(".txt_success").remove();
		
		if(data.indexOf('txt_success') != -1)
		{
		    $("#form-div").remove();
		    $(data).appendTo("#load-dialog");
		    $("#load-dialog").animate({height:'50px'},350,'linear');
		}
		else		
		    $(data).insertAfter("#form-div");
                     });
	return false;
}

// verify info for Send Feedback
Main.CheckSendFeedbackForm = function(form)
{
	var author = form.elements["nfo[feedback_author]"].value;
	var email = form.elements["nfo[feedback_email]"].value;
	var content = form.elements["nfo[feedback_content]"].value;
	
	if(!email.match(/^[a-zA-Z\._\-0-9]{2,}@[a-z0-9\-_\.]{1,}\.[a-z]{2,}$/))
	{
		alert("Email address is not a valid format.");
		return false;
	}
        if(author.length < 3)
        {
		alert("Please write your name.");
                return false;
        }
        if(content.length < 5)
        {
		alert("Feedback is to short.");
                return false;
        }
	return true;
}


Main.PushNewsForm = function (form)
{
	var ids = form.elements["nfo[push_news_text]"].value;
	if (!ids.match(/[\-0-9]$/))
	{
		alert("Only numbers[0-9] and - please");
		return false;
	}
	return true;
}

Main.AddZoneForm = function (form)
{
	return true;
}

Main.AddMailForm = function (form)
{

	var code = form.elements["nfo[mail_code]"].value;
	var module = form.elements["nfo[mail_module_id]"].value;
	var subject = form.elements["nfo[mail_subject]"].value;
	var from = form.elements["nfo[mail_from]"].value;
	var to = form.elements["nfo[mail_to]"].value;
	var reply = form.elements["nfo[mail_reply]"].value;
	var content = form.elements["content"].value;
	
        if(code.length < 3)
        {
		alert("Please write a code (at least 3 chars).");
                return false;
        }
	if (module == 0 || module == "")
	{
		alert("Choose a module.");
		return false;
	}
	if(from != "" && !from.match(/^[a-zA-Z\._\-0-9]{3,}@[a-z0-9\-_\.]{1,}\.[a-z]{2,}$/))
	{
		alert("From address is not a valid format.");
                return false;
	}
	if(to != "" && !to.match(/^[a-zA-Z\._\-0-9]{3,}@[a-z0-9\-_\.]{1,}\.[a-z]{2,}$/))
	{
		alert("To address is not a valid format.");
                return false;
	}
	if(reply != "" && !reply.match(/^[a-zA-Z\._\-0-9]{3,}@[a-z0-9\-_\.]{1,}\.[a-z]{2,}$/))
	{
		alert("Reply address is not a valid format.");
                return false;
	}
	if (from == "" && to == "")
	{
		alert("FROM or TO must be provided.");
		return false;
	}
        if(subject.length < 5)
        {
		alert("Please write a subject (at least 5 chars).");
                return false;
        }
        if(content.length < 10)
        {
		alert("Body is to short.");
                return false;
        }
	return true;
}

Main.showFromAndToFields = function(form,combo,document)
{
    var string= combo.value;
    var from = document.getElementById('from');
    var to = document.getElementById('to');
    var reply = document.getElementById('reply');

    if (string == 1)
    {
	    from.style.display = 'block';
	    reply.style.display = 'block';
	    to.style.display = 'none';
    }
    else if (string == 2)
    {
	    to.style.display = 'block';
	    from.style.display = 'none';
	    reply.style.display = 'none';
    }
    else
    {
	    from.style.display = 'none';
	    to.style.display = 'none';
	    reply.style.display = 'none';
    }
    return true;
}


Main.ViewPreview = function (document)
{
	var content = document.getElementById('content').value;
	var today = new Date();
	var zero_date = new Date(0,0,0);
	today.setTime(today.getTime() - zero_date.getTime());
	var cookie_expire_date = new Date(today.getTime() + (8 * 7 * 86400000));
	
	General.SetCookie ("content", content, cookie_expire_date, "/", ".bitdefender.com");
	window.open('/popup/preview.php','popuppage','width=500,height=400,top=100,left=100');
	return false;
}

Main.uploadMalware = function(form)
{
	var surl = form.elements["nfo[surl]"].value;

	form.submit();
	var sbmi = document.getElementById("sbmi");	
	sbmi.innerHTML = "<img src=\"/media/images/ajax-loader.gif\" />";
	
	var sbm = document.getElementById("sbm");
	sbm.style.visibility = "hidden";
	return true;
}

Main.uploadMalwareCallback = function(msgslave)
{
	//alert('Callback');
	refreshImage();
	
	var sbmi = document.getElementById("sbmi");
	sbmi.innerHTML = "";
	
	var sbm = document.getElementById("sbm");
	sbm.style.visibility = "visible";
	
	var msg = document.getElementById("msg");
	msg.innerHTML = msgslave;
	msg.style.visibility = "visible";
	//alert(msgslave);
	form = document.getElementById('uploadMalwareForm');
	if(msgslave.indexOf("txt_error") == -1)
		form.reset();
}

var globalTerms = new Array();
function loadTerm(term)
{
try
{
    var term_span = document.getElementById('dictTerm');
    var desc_span = document.getElementById('dictDesc');
    if(term_span && desc_span)
    {
    term_span.innerHTML = term;
    desc_span.innerHTML = globalTerms[term];
    }
}
catch(err) {}
}

function loadTerm(term,len)
{
try
{
    var term_span = document.getElementById('dictTerm');
    var desc_span = document.getElementById('dictDesc');
    if(term_span && desc_span)
    {
    term_span.innerHTML = term;
    
    var ap = "";
    
    if(globalTerms[term].length > len)
	ap = " [...] ";
    
    desc_span.innerHTML = globalTerms[term].substr(0,len) + ap;;
    }
}
catch(err) {}
}

Main.showPage = function(page_no)
{
	    tbl = document.getElementById('enc');
	    
	    try
	    {
		while(tbl.hasChildNodes)
		{
		    tbl.removeChild(tbl.lastChild);
		}
	    }
	    catch(ex) {}
	    
	    var start_item = (page_no - 1) * viruses_per_page;
	    var i = 0;
	    
	    var tbody = document.createElement('tbody');
	    
	    tbl.appendChild(tbody);
	    

		var tr = document.createElement('tr');
		
		var td_name = document.createElement('td');
		
		var vlink = document.createElement('a');
		
		var index = '';
		
//		if(dimension == 'date')
//		    index = dim_date[i];
//		else
//		    index = dim_name[i];
		
		
		td_name.innerHTML = '<b><a style="color:#000000" onClick = "Main.changeDim(\'name\'); return false;">'+multilang_js['_general_vi_virus_name_js']+'</a></b>';
				
		td_damage = document.createElement('td');
		td_spreading = document.createElement('td');
		td_date = document.createElement('td');
		
		td_spreading.innerHTML = '<b>'+multilang_js['_general_vi_virus_spreading_js']+'</b>';
		td_damage.innerHTML = '<b>'+multilang_js['_general_vi_virus_damage_js']+'</b>';
		td_date.innerHTML = '<b><a style="color:#000000" onClick = "Main.changeDim(\'date\'); return false;">'+multilang_js['_general_vi_virus_damage_js']+'</a></b>';
		
		tr.appendChild(td_name);
		tr.appendChild(td_spreading);
		tr.appendChild(td_damage);
		tr.appendChild(td_date);

		tbody.appendChild(tr);
	    var k = 0;
	    for(i = start_item; i < start_item + viruses_per_page + k && i < total_viruses + k && k < total_viruses; i++)
	    {	
		if(dim_date[i] == undefined)
		{
		    k++;
		    continue;
		}

		var tr = document.createElement('tr');
		
		var td_name = document.createElement('td');
		
		var vlink = document.createElement('a');
		
		var index = '';
		
		if(dimension == 'date')
		    index = dim_date[i];
		else
		    index = dim_name[i];
		    
		vlink.href = link[index];
		vlink.innerHTML = name[index];
		vlink.title = name[index];
		
		td_name.appendChild(vlink);
				
		td_damage = document.createElement('td');
		td_spreading = document.createElement('td');
		td_date = document.createElement('td');
		
		td_spreading.innerHTML = spreading[index];
		td_damage.innerHTML = damage[index];
		td_date.innerHTML = date[index];
		
		tr.appendChild(td_name);
		tr.appendChild(td_spreading);
		tr.appendChild(td_damage);
		tr.appendChild(td_date);

		tbody.appendChild(tr);
	    }
	    
	    var prev = document.getElementById('prev_l');
	    var next = document.getElementById('next_l');
	    var page_d = document.getElementById('page_d');
	    
	    var prev_l = document.createElement('a');
	    var next_l = document.createElement('a');
	    
	    prev_l.href = base_uri + '/Main/virusEnciclopedia/'+(page_no - 1);
	    next_l.href = base_uri + '/Main/virusEnciclopedia/'+(page_no + 1);
	    
	    if(navigator.appName != "Microsoft Internet Explorer")
		try{
		    prev_l.setAttribute('onclick',"Main.showPage("+(page_no - 1)+");return false;");
		}
		catch(ex)
		{
		}
    	    else
	    try
	    {
		prev_l.onclick = function() { return Main.showPage(page_no - 1); };
	    }
	    catch(ex)
	    {
	    }

	    if(navigator.appName != "Microsoft Internet Explorer")
		try{
		    next_l.setAttribute('onclick',"Main.showPage("+(page_no + 1)+");return false;");
		}
		catch(ex)
		{
		}
    	    else
	    try
	    {
		next_l.onclick = function() { return Main.showPage(page_no + 1); };
	    }
	    catch(ex)
	    {
	    }	    
	    
	    prev_l.innerHTML = '<< '+multilang_js['_general_previous_js'];
	    next_l.innerHTML = multilang_js['_general_next_js']+' >>';

	    try
	    {
		while(prev.hasChildNodes)
		{
		    prev.removeChild(prev.lastChild);
		}
	    }
	    catch(ex) {}
    
	    try
	    {
		while(next.hasChildNodes)
		{
		    next.removeChild(next.lastChild);
		}
	    }
	    catch(ex) {}
	    
	    page_d.innerHTML = multilang_js['_general_page_js']+': '+page_no+' / '+no_pages;
	    
	    prev.appendChild(prev_l);
	    
	    if(page_no < 2)
		prev_l.style.visibility = 'hidden';
	    else
		prev_l.style.visibility = 'visible';

	    prev.style.visibility = prev_l.style.visibility;
	    
	    next.appendChild(next_l);
	    
	    if(page_no >= no_pages)
		next_l.style.visibility = 'hidden';
	    else
		next_l.style.visibility = 'visible';
	    
	    next.style.visibility = next_l.style.visibility;
	    
	    return false;
}

Main.changeDim = function(dim_d)
{
    if(dim_d == dimension)
    {
	if(dim_d == 'date')
	    dim_date = dim_date.reverse();
	
	if(dim_d == 'name')
	    dim_name = dim_name.reverse();
    }
    else
    {
	dimension = dim_d;
    }
	    
    Main.showPage(1);
}

Main.searchVirusEnciclopedia = function(tbox)
{
    var search_str = tbox.value;
    
    if(window.dim_date_aux != undefined)
    {
        dim_date = dim_date_aux;
        dim_name = dim_name_aux;    
	total_viruses = total_viruses_aux;
	no_pages = no_pages_aux;
	
	if(search_str.length < 1)
	    return Main.showPage(1);
    }
    
    var _dim_date_aux = new Array();
    var _dim_name_aux = new Array();
    
    var _viruses_per_page_aux = 0;
    var _total_viruses_aux = 0;
    
//    var re = new RegExp(search_str,"gi");
    var k1 = 0;
    var j1 = 0;
    var nm = '';
    
//    for(var i in dim_name)
    for(var i=0;i<dim_name.length;i++)
    {
	index = dim_name[i];
	
	nm = name[index];

	if(nm.toLowerCase().indexOf(search_str.toLowerCase()) != -1)//re.test(nm))
	{
	    _dim_name_aux[k1++] = index;
	    _total_viruses_aux ++;
	}
    }
    
//    for(i in dim_date)
    for(var i=0;i<dim_date.length;i++)
    {
	index = dim_date[i];
	
	nm = name[index];

	if(nm.toLowerCase().indexOf(search_str.toLowerCase()) != -1)//re.test(nm))
	{
	    _dim_date_aux[j1++] = index;
	}
    }
    
    if(window.dim_date_aux == undefined)
	window.dim_date_aux = dim_date;
	
    if(window.dim_name_aux == undefined)
	window.dim_name_aux = dim_name;
    
    if(window.total_viruses_aux == undefined)
	window.total_viruses_aux = total_viruses;
	
    if(window.no_pages_aux == undefined)
	window.no_pages_aux = no_pages;
    
    dim_date = _dim_date_aux;
    dim_name = _dim_name_aux;    
    total_viruses = _total_viruses_aux;
    no_pages = Math.ceil(_total_viruses_aux/viruses_per_page);
    
    Main.showPage(1);
}

