/**
 * fleshpink.hu js function library
 * Organik Webdesign | 2008 | Istvan
 */

jQuery.fn.extend({
	defuscate: function(settings) {
		settings = jQuery.extend({
			link: false,
			find: /(.*)(mailto:)?([A-Z0-9._%-]+) *\([^)]+\) *((?:[A-Z0-9-]+\.)+[A-Z]{2,6})(.*)/gi,
			replace: '$1$3@$4$5'
		}, settings);
		return this.each(function(){
			var an = $(this);
			if(an.is('a[href]') && settings.find.test(an.attr('href'))) {
				an.attr('href', 'mailto:'+an.attr('href').replace(settings.find, settings.replace));
				var is_link = true;
			}
			an.html(an.html().replace(settings.find, (settings.link && !is_link ? '<a href="mailto:' + settings.replace + '">' + settings.replace + '</a>' : settings.replace)));
		});
	}
});
 
function getStyles(classname) {
	if (document.styleSheets) {
		for (var i=0; i<document.styleSheets.length; i++){
			var cssRules = document.styleSheets[i].cssRules || document.styleSheets[i].rules || null;
			if (cssRules) {
				for (var j=0; j<cssRules.length; j++) {
					if (cssRules[j].selectorText == '.' + classname) {
						var rule = new RegExp('\\.' + classname + ' \\{');
						var styles = cssRules[j].style.cssText;
						return parseStyle(styles.replace(rule, '').replace(/}/g, ''));
					}
				}
			}
		}
	}
}

function parseStyle(styles) {
	var newStyles = {};
	if (typeof styles == 'string') {
		styles = styles.toLowerCase().split(';');
		for (var i=0; i< styles.length; i++){
			rule = styles[i].split(':');
			if (rule.length == 2) {
				newStyles[jQuery.trim(rule[0].replace(/\-(\w)/g,function(m,c){return c.toUpperCase();}))] = jQuery.trim(rule[1]);
			}
		}
	}
	return newStyles;
}

function addOpacity(hash, value) {
	hash.opacity = value;
	return hash;
}

function isvalidemail(email) {
	if(typeof email != 'string') return false;
	return (/^[\w.-]+@([\w.-]+\.)+[a-z]{2,6}$/i).test(email);
}

function insert_main_pano() {
	if (swfobject.hasFlashPlayerVersion('9.0.0')) {
		swfobject.embedSWF(
	        theme_url+'/flash/pano_viewer.swf',
			'main_pano_wrapper', '475', '158', '9.0.0',
			theme_url+'/flash/swfobject.swf', {
				// flashvars
				movie: (
			        theme_url+'/flash/pano.swf'+
					'?panoName=/wp-content/pano/panomain/gomb2000_cube'+
					'&xml_file=/wp-content/pano/panomain/pano'+
					((/.*references.*/).test(window.location.search)
						? '_norotator'
						: ''
					)+'.xml'
				),
				redirect: window.location
			}, {
				// params
				allowFullScreen: true,
				allowScriptAccess: 'sameDomain',
				wmode: 'opaque'
			}, {
				// attribs
				id: 'main_pano_content',
				name: 'main_pano_content',
				quality: 'medium',
				bgcolor: '#666666'
			}
		);
	} else {
		$('p#main_pano_wrapper').html('A tartalom megtekintéséhez <a href="http://go.microsoft.com/fwlink/?LinkId=6457">Adobe Flash lejátszó<\/a> szükséges!');
	}
}

function show_clearbox(selector) {
	$('a'+selector).click();
	return false;
}

var SPN_Form = {
    addEnterSubmit: function(form) {
        form.keydown(function(event) {
            if (event.keyCode == 13) {
                form.submit();
                event.preventDefault();
            }
        });
    },

    setFieldDefaultValue: function(field, value, focusCallback, blurCallback) {
        if (typeof field == 'string') {
            field = $('#'+field);
        }
        field.each(function(){
            var field = $(this);
            field.focus(function(){
                field.addClass('focused');
                if (field.val() == value) {
                    field.val('');
                }
            }).blur(function(){
                field.removeClass('focused');
                if (field.val() == '') {
                    field.val(value);
                }
            });
            if (typeof focusCallback == 'function') {
                field.focus(focusCallback);
            }
            if (typeof blurCallback == 'function') {
                field.blur(blurCallback);
            }
            if (field.val() == '') {
                field.val(value);
            }
        });
    }
};

var SPN_Key = {
    ENTER: 13,
    LEFT: 37,
    UP: 38,
    RIGHT: 39,
    DOWN: 40,
    ESC: 27
};
