// Sniffer based on http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
var uagent    = navigator.userAgent.toLowerCase();
var is_safari = ( (uagent.indexOf('safari') != -1) || (navigator.vendor == "Apple Computer, Inc.") );
var is_opera  = (uagent.indexOf('opera') != -1);
var is_webtv  = (uagent.indexOf('webtv') != -1);
var is_ie     = ( (uagent.indexOf('msie') != -1) && (!is_opera) && (!is_safari) && (!is_webtv) );
var is_moz    = ( (navigator.product == 'Gecko')  && (!is_opera) && (!is_webtv) && (!is_safari) );
var is_ns     = ( (uagent.indexOf('compatible') == -1) && (uagent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_safari) );
var is_kon    = (uagent.indexOf('konqueror') != -1);
var is_win    = ( (uagent.indexOf("win") != -1) || (uagent.indexOf("16bit") !=- 1) );
var is_mac    = ( (uagent.indexOf("mac") != -1) || (navigator.vendor == "Apple Computer, Inc.") );
var ua_vers   = parseInt(navigator.appVersion);

var is_regexp = (window.RegExp) ? true : false;

function elm(obj)
{
	return (!obj) ? null : document.getElementById(obj);	
}

function set_cookie(name, value, expires)
{
	document.cookie = name + '=' + escape(value) + '; path=/' + (typeof expires != 'undefined' ? '; expires=' + expires.toGMTString() : '');
}

function delete_cookie(name)
{
	document.cookie = name + '=' + '; expires=Thu, 01-Jan-70 00:00:01 GMT' +  '; path=/';
}

function fetch_cookie(name)
{
	cookie_name = name + '=';
	cookie_length = document.cookie.length;
	cookie_begin = 0;
	while (cookie_begin < cookie_length)
	{
		value_begin = cookie_begin + cookie_name.length;
		if (document.cookie.substring(cookie_begin, value_begin) == cookie_name)
		{
			var value_end = document.cookie.indexOf (';', value_begin);
			if (value_end == -1)
			{
				value_end = cookie_length;
			}
			return unescape(document.cookie.substring(value_begin, value_end));
		}
		cookie_begin = document.cookie.indexOf(' ', cookie_begin) + 1;
		if (cookie_begin == 0)
		{
			break;
		}
	}
	return null;
}

function popupwin(url, width, height, scroll, pos, winname)
{
	if(pos=="center")
	{
		LeftPosition=(screen.width)?(screen.width-width)/2:100;
		TopPosition=(screen.height)?(screen.height-height)/2:100;
	}
	else if((pos!="center" && pos!="random") || pos==null)
	{
		LeftPosition=100;
		TopPosition=100;
	}
	
	if(scroll == null)
	{
		scroll = "no";	
	}
	else
	{
		scroll = scroll;
	}
	
 
	var	name = (winname != null) ? winname : "miniwin";


	argvs='width='+width+',height='+height+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes';
	var win = window.open(url, name, argvs);
}

function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit){
		field.value = field.value.substring(0, maxlimit);
	}
	else
	{
	   	elm('cCharLeft').innerHTML = field.value.length;
   }
}

function checkMaxchar(field, maxlength) 
{
	if (field.value.length > maxlength) 
	{
		
		textCounter(field, "", maxlength)
		
		alert("Bạn chỉ được nhập tối đa là " + maxlength + " ký tự trong phần này!");
		
		return false;
	}
	return true;
}

function radio_list(fieldvalue,fieldname)
{
	var field_count = fieldname.length;	
	for (i=0;i<field_count;i++)
	{
		if (fieldvalue==fieldname[i].value)
		{
			fieldname[i].checked=true;
			break;
		}
	}
}

function checkbox_list(fieldvalue,fieldname)
{
	if (fieldvalue==fieldname.value){
		fieldname.checked=true;
	}
}

function select_list(fieldvalue,fieldname)
{
	var option_count = fieldname.options.length;	
	for ( i = 0; i < option_count; i++ )
	{
		if (fieldvalue == fieldname.options[i].value){
			fieldname.options[i].selected=true;
			break;
		}
	}
}

function toggle_collapse(objid)
{
	if (!is_regexp)
	{
		return false;
	}

	obj = elm('collapseobj_' + objid);
	img = elm('collapseimg_' + objid);
	cel = elm('collapsecel_' + objid);

	if (!obj)
	{
		if (img)
		{
			img.style.display = 'none';
		}
		return false;
	}

	if (obj.style.display == 'none')
	{
		obj.style.display = '';
		save_collapsed(objid, false);
		if (img)
		{
			img_re = new RegExp("_collapsed\\.gif$");
			img.src = img.src.replace(img_re, '.gif');
		}
		if (cel)
		{
			cel_re = new RegExp("^(tgroup|thead|tcat)(_collapsed)$");
			cel.className = cel.className.replace(cel_re, '$1');
		}
	}
	else
	{
		obj.style.display = 'none';
		save_collapsed(objid, true);
		if (img)
		{
			img_re = new RegExp("\\.gif$");
			img.src = img.src.replace(img_re, '_collapsed.gif');
		}
		if (cel)
		{
			cel_re = new RegExp("^(tgroup|thead|tcat)$");
			cel.className = cel.className.replace(cel_re, '$1_collapsed');
		}
	}
	return false;
}

function save_collapsed(objid, addcollapsed)
{
	var collapsed = fetch_cookie('odgat_collapse');

	var tmp = new Array();

	if (collapsed != null)
	{
		collapsed = collapsed.split('\n');

		for (var i in collapsed)
		{
			if (collapsed[i] != objid && collapsed[i] != '')
			{
				tmp[tmp.length] = collapsed[i];
			}
		}
	}

	if (addcollapsed)
	{
		tmp[tmp.length] = objid;
	}

	expires = new Date();
	expires.setTime(expires.getTime() + (1000 * 86400 * 365));
	set_cookie('odgat_collapse', tmp.join('\n'), expires);
}

function XMLEncode(str)
{
     str = trim(str);
     str = str.replace("&","&amp;");
     str = str.replace("<","&lt;");
     str = str.replace(">","&gt;");
     str = str.replace("'","&apos;");
     str = str.replace("\"","&quot;");
     return str;
}

function XMLDecode(str)
{
     str = str.replace("&amp;","&");
     str = str.replace("&lt;","<");
     str = str.replace("&gt;",">");
     str = str.replace("&apos;","'");
     str = str.replace("&quot;","\"");
     return str;
}

function checknumber(x)
{
	var anum=/(^\d+$)|(^\d+\.\d+$)/;
	if (anum.test(x))
	{
		testresult=true;
	}
	else
	{
		testresult=false;
	}
	return (testresult)
}

function checkEmail(field) 
{ 
	var str = field.value; 
	var pattern = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/; 
	var flag = pattern.test(str); 
 	if(!flag) 
 	{ 
 	 	return false; 
 	} 
 return true; 
}

function check_url(field)
{
	var is_protocol_ok=field.value.indexOf('http://');
	if (is_protocol_ok==-1)
 	{ 
		return false;
 	}
	return true;
}

function addbookmark()
{
	if(window.sidebar)
	{
		window.sidebar.addPanel(document.title,document.location.href,"");
	}
	else if( document.all )
	{
		window.external.AddFavorite(document.location.href,document.title);
	}
	else
	{
		alert("Xin liỗ! Trình duyệt của bạn không hỗ trợ Bookmark!");
	}
}

function sethomepage(url)
{
	if(is_ie)
	{
		document.body.style.behavior='url(#default#homepage)';
		document.body.setHomePage(url);
	}
	else
	{
		alert("Xin lỗi! Trình duyệt của bạn không hỗ trợ setHomepage!");
	}
}
 
function hideSelectBoxIE()
{
	var ddb = elm('select');
	var count = ddb.length;
	if(count)
	{
		for (i = 0; i < count; i++)
		{
			if (ddb[i].style.display == 'none')
			{
				ddb[i].style.display = ''; 
			}
			else
			{
				ddb[i].style.display = 'none';
			}
		}
	}
}

function report_bad_ads(ads_id)
{
    if (confirm('Bạn có chắn chắn đây là tin xấu không?'))
    {
        ajax_call({'self': 'ads_service', 'task': 'report_bad_ads', 'id': ads_id}, cb_report_bad_ads, 'POST');        
    }    
    
    return false;
}

function cb_report_bad_ads()
{
    var e = $('td.bad_ads');
    
    e.html("Tin đã được thông báo cho quản trị");
    e.effect("highlight", {}, 5000);
}

function member_add_ads_to_favorite(ads_id)
{
    ajax_call({'self': 'ads_favorite_service', 'task': 'add_ads_favorite', 'id': ads_id}, cb_add_to_favorite, 'POST');
    
    return false;
}

function member_remove_ads_from_favorite(ads_id)
{
    ajax_call({'self': 'ads_favorite_service', 'task': 'remove_ads_favorite', 'id': ads_id}, cb_remove_from_favorite, 'POST');
    
    return false;
}

function guest_add_ads_to_favorite(ads_id)
{
    var value = readCookie('guest_favorite_ads');
    
    if (value == null)
    {
        value = "0";        
    }
    
    ads_array = value.split(",");
    is_existed = false;
        
    for (i = 0; i < ads_array.length; i++)
    {
        if (ads_id == ads_array[i])
        {
            is_existed = true;
            break;                
        }                    
    }
        
    if (!is_existed)
    {
        value += "," + ads_id;
        
        ajax_call({'self': 'ads_favorite_service', 'task': 'get_ads_info', 'id': ads_id}, cb_guest_add_to_favorite, 'POST');
    }
    
    createCookie('guest_favorite_ads', value, 7);
    
    return false;
}

function guest_remove_ads_from_favorite(ads_id)
{
    var value = readCookie('guest_favorite_ads');
    if (value != null)
    {
        ads_array = value.split(",");
        
        for (i = 0; i < ads_array.length; i++)
        {
            if (ads_id == ads_array[i])
            {
                ads_array.splice(i, 1);
            }                    
        }
        
        value = ads_array.join(",");
        
        createCookie('guest_favorite_ads', value, 7);
    }
    
    remove_ads_html_from_favorite_box(ads_id);
    
    return false;
}

function cb_add_to_favorite(data)
{
    if (data.length > 0)
    {
        arr = data.split("|");
        
        ads_id = arr[0];
        ads_title = arr[1];
        ads_url = arr[2];
        
        append_ads_html_to_favorite_box(ads_id, ads_title, ads_url, "member");
    }
}

function cb_remove_from_favorite(data)
{
    if (data.length > 0)
    {
        ads_id = data;
        
        remove_ads_html_from_favorite_box(ads_id);
    }
}

function cb_guest_add_to_favorite(data)
{
    if (data != "" && data != "false")
    {
        arr = data.split("|");
        
        ads_id = arr[0];
        ads_title = arr[1];
        ads_url = arr[2];
        
        append_ads_html_to_favorite_box(ads_id, ads_title, ads_url, "guest");
    }
}

function append_ads_html_to_favorite_box(ads_id, ads_title, ads_url, user_level)
{
    content = "<tr height='25' id='row_fav_" + ads_id + "'>";
        content += "<td class='rv_tdrow4' align='center'></td>";
        content += "<td class='rv_tdrow4 login_bottombox' id='col_fav_" + ads_id + "'><a href='" + ads_url + "'>" + ads_title + "</a> <a href='#' onclick='" + user_level + "_remove_ads_from_favorite(" + ads_id + ")' title='Remove'>[X]</a></td>";
        content +="</tr>";
        
        last_tr = $("#table_fav").find("tr:last");
        last_tr.after(content);
        
        
        $("#col_fav_" + ads_id).effect("highlight", {}, 3000);
}

function remove_ads_html_from_favorite_box(ads_id)
{
    $("#row_fav_" + ads_id).fadeOut("normal", function() { $(this).remove(); });
    //$("#row_fav_" + ads_id).animate({ backgroundColor: "#fbc7c7" }, "fast").animate({ opacity: "hide" }, "slow").remove();
    //$("#row_fav_" + ads_id).remove();
}

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}
