var Browser = new Object();

Browser.isMozilla = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument!='undefined');
Browser.isIE = window.ActiveXObject ? true : false;
Browser.isFirefox = (navigator.userAgent.toLowerCase().indexOf("firefox")!=-1);
Browser.isSafari = (navigator.userAgent.toLowerCase().indexOf("safari")!=-1);
Browser.isOpera = (navigator.userAgent.toLowerCase().indexOf("opera")!=-1);

var Util = new Object();

Util.trim = function( text ) 
{
	return text.replace(/^\s*|\s*$/g, "");
}

Util.isNumber = function(val)
{   
	if(Util.isInt(val))
		return true;
	var re = /^(\d+)[\.]+(\d+)$/;
	
	if (re.test(val)) {
		if(RegExp.$1==0 && RegExp.$2==0) 
			return false;
		return true;
	} 
	else 
		return false;
}

Util.isInt = function(val) 
{
    var reg = /^[0-9]\d*$/;
    return reg.test(val);
}

Util.doRound = function(x, places) 
{  
	return Math.round(x * Math.pow(10, places)) / Math.pow(10, places);
}

Util.isEmail = function( email )
{
    var reg1 = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;

    return reg1.test( email );
}

Util.fixEvent = function(e) 
{
    var evt = (typeof e == "undefined") ? window.event : e;
    return evt;
}

Util.srcElement = function(e)
{
    if (typeof e == "undefined") e = window.event;
    var src = document.all ? e.srcElement : e.target;

    return src;
}

Util.isTime = function(val)
{
	var reg = /^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$/;

	return reg.test(val);
}

Util.getRadioValue = function(radioObj)
{
	radioObj = document.getElementsByName(radioObj);
		
	var radioLength = radioObj.length;
	if(radioLength == undefined)
	{
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	}
	
	for(var i = 0; i < radioLength; i++) 
	{
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	
	return "";
}

Util.redirect = function(url)
{
	window.location.href = url;
}

Util.UpdateFCKEditorFormValue = function()
{
	for ( i = 0; i < parent.frames.length; ++i )
	if ( parent.frames[i].FCK )
		parent.frames[i].FCK.UpdateLinkedField();
}

// Setting cookies
function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure )
{
	var cookie_string = name + "=" + escape ( value );
	
	if (exp_y) //delete_cookie(name)
	{
		var expires = new Date ( exp_y, exp_m, exp_d );
		cookie_string += "; expires=" + expires.toGMTString();
	}
	
	if (path) cookie_string += "; path=" + escape ( path );
	if (domain) cookie_string += "; domain=" + escape ( domain );
	if (secure) cookie_string += "; secure";
	
	document.cookie = cookie_string;
}

// Retrieving cookies
function get_cookie(cookie_name)
{
	var results = document.cookie.match(cookie_name + '=(.*?)(;|$)');
	if (results) return (unescape(results[1]));
	else return null;
}

// Delete cookies 
function delete_cookie( cookie_name )
{
	var cookie_date = new Date ( );  // current date & time
	cookie_date.setTime ( cookie_date.getTime() - 1 );
	document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}

function ajax_fupdater(container, url, form)
{
	var oncomplete = arguments[3] ? arguments[3] : '';

	if(oncomplete.length > 0)
	{
		$.ajax({
			type: "POST", url: url, 
			data: $("#" + form).serialize(),
			success: function(msg) {
			    	$("#" + container).html(msg);
					eval(oncomplete);
				}
		});
	}
	else
	{
		$.ajax({
			type: "POST", url: url, 
			data: $("#" + form).serialize(),
			success: function(msg) {
			    	$("#" + container).html(msg);
				}
		});
	}
}

function ajax_pupdater(container, url)
{
	var parameter = arguments[2] ? arguments[2] : '';
	var oncomplete = arguments[3] ? arguments[3] : '';

	if(oncomplete.length > 0)
	{
		$.ajax({
			type: "POST", url: url, 
			data: parameter,
			success: function(msg) {
			    	$("#" + container).html(msg);
					eval(oncomplete);
				}
			});
	}
	else
	{
		$.ajax({
			type: "POST", url: url, 
			data: parameter,
			success: function(msg) {
			    	$("#" + container).html(msg);
				}
			});
	}
}

function ajax_prequest(url)
{
	var parameter = arguments[1] ? arguments[1] : '';
	var oncomplete = arguments[2] ? arguments[2] : '';
	
	if(oncomplete.length > 0)
	{
		$.ajax({
			type: "POST", url: url, 
			data: parameter,
			success: function(msg){
				eval(oncomplete);
			}
		});
	}
	else
	{
		$.ajax({
			type: "POST",
			url: url,
			data: parameter
		});
	}
}

function ajax_frequest(url,form)
{
	var oncomplete = arguments[2] ? arguments[2] : '';
	
	if(oncomplete.length > 0)
	{
		$.ajax({
			type: "POST", url: url, 
			data: $("#" + form).serialize(),
			success: function(msg) {
					eval(oncomplete);
				}
		});
	}
	else
	{
		$.ajax({
			type: "POST", url: url, 
			data: $("#" + form).serialize()
		});
	}
}

