$.extend({ isset: function(v) { return v!==undefined; } }); 

var modalWindow = {
	parent:'body',
	winclose_btn:'<a class="close-window"></a>',
	windowId:null,
	content:null,
	width:null, height:null,
	close:function(){
		$('.modal-window').remove();
		$('.modal-overlay').remove();
	},
	open:function(){
		var modal = '';
		modal += '<div class="modal-overlay"></div>';
		modal += '<div id="'+this.windowId+'" class="modal-window" style="width:'+this.width+'px; height:'+this.height+'px; margin-top:-'+(this.height/2)+'px; margin-left:-'+(this.width/2)+'px;">';
		modal += this.content;
		modal += '</div>';
		
		$(this.parent).append(modal);
		$('.modal-window').append(this.winclose_btn);
		$('.close-window').click(function(){modalWindow.close();});
		$('.modal-overlay').click(function(){modalWindow.close();});
	}
};
//-----

var elHighL;
var saydwn_mark_dim = { w:30, h:15 };

function resiz_w() { // everytime window resizes
	var marg = $('#content').offset().left;
	//$('.cont_w_lft, .cont_w_rgt').width(marg);
	
	$('.highlightouter').each(function(ihigh){
		var thisel = $(this);
		thisel.css({
			'top': parseInt(thisel.attr('rel')),
			'width': marg,
			'height': $(elHighL).height()
		});
	});
	
	// post els
	$('.saymark').each(function(isaymark){
		var thisel = $(this);
		thisel.css({
			'left': marg+parseInt(thisel.attr('rel'))
		});
	});
}

// gray default text on inputs
function focusin_def_inputs(jfield, jfield_name) { if(jfield.val()==def_inputs[jfield_name]){ jfield.val(''); jfield.removeClass('definput'); } };
function focusout_def_inputs(jfield, jfield_name) { if(jfield.val()==''){ jfield.val(def_inputs[jfield_name]); jfield.addClass('definput'); } };

// startup
$(function(){
	$("#adminlink").click(function(event) { window.location.href = url_full_base+'admin'; });
	$("a[href*='http://']:not([href*='"+location.hostname+"'])").attr('target','_blank');
	
	// gen els
	elHighL = $('.highlightout');
	elHighL.each(function(ihigh){
		$('.relpos').append('<div rel="'+$(this).offset().top+'" class="highlightouter">&nbsp;</div>');
	});
	
	// post els
	$('.say').each(function(isay){
		var el;
		var thisel = $(this);
		if(thisel.hasClass('sayup')){
			el = $('<div rel="'+(thisel.offset().left-$('#content').offset().left)+'" class="sayup_mark saymark">&nbsp;</div>').css({
				'left': thisel.offset().left,
				'top': thisel.offset().top-saydwn_mark_dim.h
			});
		}else{
			el = $('<div rel="'+(thisel.width()-2)+'" class="saydwn_mark saymark">&nbsp;</div>').css({
				'top': thisel.offset().top+saydwn_mark_dim.h+13 //magic number! XD
			});
		}
		$('.relpos').append(el);
	});
	
	
	// foot els
	var cm_email = $('#cm-email');
	cm_email.focusin(function() { focusin_def_inputs(cm_email, 'cm-email') });
	cm_email.focusout(function() { focusout_def_inputs(cm_email, 'cm-email') });
	focusout_def_inputs(cm_email, 'cm-email');
	
	var cm_name = $('#cm-name');
	cm_name.focusin(function() { focusin_def_inputs(cm_name, 'cm-name') });
	cm_name.focusout(function() { focusout_def_inputs(cm_name, 'cm-name') });
	focusout_def_inputs(cm_name, 'cm-name');
	
	resiz_w(); $(window).resize(resiz_w); //onInit and onResize
});