//onerror = handleErr;

function handleErr(msg, url, l) {
	
	txt  = "There was an error on this page.\n\n";
	txt += "Error: " + msg + "\n";
	txt += "URL: " + url + "\n";
	txt += "Line: " + l + "\n\n";
	txt += "Click OK to continue.\n\n";
	alert(txt);
	return true;
	
}// END handleErr


function callFns(fns) {
	
	try {
		eval(fns);
	}catch(err) {
	}
	
}// END callFns


function redirectSite(link) {
	
	window.location.href = link;
	
}// END redirectSite


function fns_getElementById(element_id) {
	
	var obj = null;
	if (document.all) {
		obj = document.all[element_id];
	}else if (document.getElementById) {
		obj = document.getElementById(element_id);
	}
	return obj;
	
}// END fns_getElementById


function openDefaultWin(url, title) {
	
	window.open(url, title);
	return false;
	
}// END openDefaultWin


function openWin(url, width, height, menubar, toolbar) {
	
	window.open(url, '', 'channelmode=0,directories=0,fullscreen=0,location=0,menubar=' + menubar + ',resizable=1,scrollbars=1,status=1,titlebar=0,toolbar=' + toolbar + ',width=' + width + ',height=' + height + '');
	return false;
	
}// END openWin


function fns_goBack() {
	
	window.history.back();
	return false;
	
}// END fns_goBack


function escapeString(text) {
	
	var search = new Array('\\%', '\\\n', '\\\t', '\\@', '\\#', '\\$', '\\^', '\\&', '\\{', '\\}', '\\[', '\\]', '\\=', '\\:', '\\/', '\\,', ';', '\\?', '\\+', '\\\'', '\\"', '\\\\');
	var replace = new Array('%25', '%0A', '%09', '%40', '%23', '%24', '%5E', '%26', '%7B', '%7D', '%5B', '%5D', '%3D', '%3A', '%2F', '%2C', '%3B', '%3F', '%2B', '%27', '%22', '%5C');
	
	for (var i = 0; i < search.length; i++) {
		var re = new RegExp(search[i], ['gi']); 
		text = text.replace(re, replace[i]);
	}
	
	return text;
	
}// END escapeString


function redirect(url) {
	
 	window.location.href = url;
				
}// END redirect


function DraugiemSay(title, url, titlePrefix) {
	
	window.open(
		'http://www.draugiem.lv/say/ext/add.php?title=' + encodeURIComponent( title ) +
		'&link=' + encodeURIComponent( url ) +
		( titlePrefix ? '&titlePrefix=' + encodeURIComponent( titlePrefix ) : '' ),
		'',
		'location=1,status=1,scrollbars=0,resizable=0,width=530,height=400'
		);
	return false;
	
}// END DraugiemSay


var text2xml = function(s) {
	var x, ie = /msie/i.test(navigator.userAgent);
	try{
		var p = ie? new ActiveXObject("Microsoft.XMLDOM") : new DOMParser();
		p.async = false;
	}catch(e){ throw new Error("XML Parser could not be instantiated") };
	try{
		if(ie) x = p.loadXML(s)? p : false;
		else x = p.parseFromString(s, "text/xml");
	}catch(e){ throw new Error("Error parsing XML string") };
	return x;
};


$.fn.makeExternalLinks = function() {
	
	return this.each(function() {
		$(this).click(function() {
				window.open(this.href);
				return false;
			});
	});
	
}; // END makeExternalLinks


$.fn.showLoader = function($obj, opts) {
	
	var width = $obj.width();
	var height = $obj.height();
	var loader_height = 32;
	if (height < loader_height + 2) {
		$obj.html('<img src="' + HTTP_ROOT + '_main/img/loader_' + opts.type + '.gif" alt="" />');
	}else {
		var pos = $obj.position();
		var top = Math.round(pos.top) + $obj.css('margin-top');
		var left = Math.round(pos.left);
		var paddingtop = Math.round((height - loader_height) / 2);
		$obj.html('<div style="position:absolute; top:' + top + 'px; left:' + left + 'px; width:' + width + 'px; height:' + height + 'px; background-color:#ffc; text-align:center;"><div style="padding-top:' + paddingtop + 'px;"><img src="' + HTTP_ROOT + '_main/img/loader_' + opts.type + '_wbg.gif" alt="" /></div></div>');
	}
	
}; // END showLoader


/*********************************************/
// GoogleSearchBar
/*********************************************/
$.fn.GoogleSearchBar = function(options) {
	var opts = $.extend({}, $.fn.GoogleSearchBar.defaults, options);
	return this.each(function() {  
		var $this = $(this);
		
		// Uzstāda noklusēto tekstu
		var q = $this.find('.textfield').val();
		if (q.length == 0) {
			$this.find('.textfield').val(opts.deftxt);
		}
		
		// Noklusētā teksta maiņa
		$this.find('.textfield').focus(function() {
				if ($(this).val() == opts.deftxt) {
					$(this).val('');
				}
			}).blur(function() {
				if ($(this).val().length <= 1) {
					$(this).val(opts.deftxt);
				}
			});
		
	});
};

$.fn.GoogleSearchBar.defaults = {deftxt:'m e k l ē t'};


/*********************************************/
// UserTopBar
/*********************************************/
$.fn.UserTopBar = function(options) {
	var opts = $.extend({}, $.fn.UserTopBar.defaults, options);
	return this.each(function() {  
		var $this = $(this);
		
		// Reg darbības
		if ($this.is('.reg')) {
			
			// Msg
			$this.find('.li_msg a').click(function(e) {
					e.preventDefault();
					$li_msg_a = $(this);
					$li_msg_span = $li_msg_a.next();
					if (opts.msg_bl_opened != true) {
						var pos = $li_msg_a.position();
						var tPosX = pos.left;
						var tPosY = pos.top + $li_msg_a.height() + 6;
						$.ajax({
								url: HTTP_ROOT + '../profile/user/get_msg_list.ajax.php',
								type: 'GET',
								data: '',
								complete: function(req) {
									if (req.status == 200) { //success
										var txt = req.responseText.split('|');
										if (txt[0] != 'err') {
											$li_msg_span.html(req.responseText).css({'top':tPosY + 'px', 'left':tPosX + 'px'});
											$li_msg_span.addClass('act');
											opts.msg_bl_opened = true;
										}else {
											alert(txt[1]);
										}
									}else { //failure
										alert(req.responseText);
									}
								}
							});
					}else {
						$li_msg_span.removeClass('act');
						opts.msg_bl_opened = false;
					}
				});
			
		// Unreg darbības
		}else {
			
			// Login
			$this.find('form .textfield:eq(0)').css('background', '#ffc none no-repeat 5px 1px');
			$this.find('form .textfield:eq(1)').css('background', '#ffc none no-repeat 5px 1px');
			if ($this.find('form .textfield:eq(0)').val().length == 0) {
				$this.find('form .textfield:eq(0)').css('background-image', 'url("' + HTTP_ROOT + '../_main/img/login_field_bg_u.gif")');
			}
			if ($this.find('form .textfield:eq(1)').val().length == 0) {
				$this.find('form .textfield:eq(1)').css('background-image', 'url("' + HTTP_ROOT + '../_main/img/login_field_bg_p.gif")');
			}
			$this.find('form .textfield:eq(0)').focus(function() {
					$(this).css('background-image', 'none');
					$(this).next().css('background-image', 'none');
				});
			$this.find('form .textfield:eq(1)').focus(function() {
					$(this).css('background-image', 'none');
					$(this).prev().css('background-image', 'none');
				});
			$this.find('form .textfield:eq(0)').blur(function() {
					if ($(this).val().length == 0) $(this).css('background-image', 'url("' + HTTP_ROOT + '../_main/img/login_field_bg_u.gif")');
					else $(this).css('background-image', 'none');
					if ($(this).next().val().length == 0) $(this).next().css('background-image', 'url("' + HTTP_ROOT + '../_main/img/login_field_bg_p.gif")');
					else $(this).next().css('background-image', 'none');
				});
			$this.find('form .textfield:eq(1)').blur(function() {
					if ($(this).val().length == 0) $(this).css('background-image', 'url("' + HTTP_ROOT + '../_main/img/login_field_bg_p.gif")');
					else $(this).css('background-image', 'none');
					if ($(this).prev().val().length == 0) $(this).prev().css('background-image', 'url("' + HTTP_ROOT + '../_main/img/login_field_bg_u.gif")');
					else $(this).prev().css('background-image', 'none');
				});
			
		}
	});
};

$.fn.UserTopBar.defaults = {'msg_bl_opened':false};

$(document).ready(function() {
	$('a[rel*=external]').makeExternalLinks();
	$('#page_top_nav .user_nav').UserTopBar();
	$('#main_nav .search_block').GoogleSearchBar();
});