var Site = {
	_init: function(){
		try{
			this._util();
		}catch(e){
			alert(
				'Arquivo   : ' + e.fileName + ' \n ' +
				'Linha     : ' + e.lineNumber + ' \n ' +
				'Nome      : ' + e.name + ' \n ' +
				'Descrição : ' + e.message + ' \n '
			);
		};
	},

	_util: function(){
		$.ajaxSetup({ cache:false });
		/* IE PNG Fix */
		if(!/msie [^6]\.0/i.test(navigator.userAgent) && /msie 6\.0/i.test(navigator.userAgent)){
			DD_belatedPNG.fix('.pngfix');
		};
	}
};

function strip(html) {
   var tmp = document.createElement("DIV");
   tmp.innerHTML = html;
   return tmp.textContent||tmp.innerText;
}

function white_space(field) {
	return field.replace(/^\s*|\s*$/g,'');
}

function loadImage(srcImage, objPai) {
	var img = new Image();
	$(img).load( function() {
		$(objPai).prepend($(this));
	}).error(function () {
		//alert('erro');
	}).attr('src',srcImage).attr('alt','');
}

// Recupera variável querystring
function QueryString(parametro, url) {
    if(!url)
		var variaveis = location.search.replace(/\x3F/,'').replace(/\x2B/g,' ').split('&');
	else
		var variaveis = url.replace(/\x3F/,'').replace(/\x2B/g,' ').split('&');
    var nvar;
    if(variaveis != '') {
        var qs=[];
        for(var i = 0; i < variaveis.length; i++) {
            nvar = variaveis[i].split('=');
            qs[nvar[0]] = unescape(nvar[1]);
        }
        return qs[parametro];
    }
    return '';
}

function isNumeric(value) {
  if (value == '' || value == null || !value.toString().match(/^[-]?\d*\.?\d*$/)) return false;
  return true;
}

jQuery.fn.slideFadeToggle = function(speed, easing, callback) {
	return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, callback);  
};

/*Alinha elementos na vertical - ie: $('#example p').vAlign();*/
jQuery.fn.vAlign = function() {
	return this.each(function(i){
		var ah = $(this).height();
		var ph = $(this).parent().height();
		var mh = Math.ceil((ph-ah) / 2);
		$(this).css('margin-top', mh);
	});
};

//Criador de elementos  HTML
jQuery.create = function() {
    if (arguments.length == 0) return [];
    var args = arguments[0] || {}, elem = null, elements = null;
    var siblings = null;

    // In case someone passes in a null object,
    // assume that they want an empty string.
    if (args == null) args = "";
    if (args.constructor == String) {
        if (arguments.length > 1) {
            var attributes = arguments[1];
                if (attributes.constructor == String) {
                            elem = document.createTextNode(args);
                            elements = [];
                            elements.push(elem);
                            siblings = jQuery.create.apply(null, Array.prototype.slice.call(arguments, 1));
                            elements = elements.concat(siblings);
                            return elements;

                    } else {
                            elem = document.createElement(args);

                            // Set element attributes.
                            var attributes = arguments[1];
                            for (var attr in attributes)
                                jQuery(elem).attr(attr, attributes[attr]);

                            // Add children of this element.
                            var children = arguments[2];
							children = jQuery.create.apply(null, children);
							jQuery(elem).append(children);

                            // If there are more siblings, render those too.
                            if (arguments.length > 3) {
                                    siblings = jQuery.create.apply(null, Array.prototype.slice.call(arguments, 3));
                                    return [elem].concat(siblings);
                            }
                            return elem;
                    }
            } else return args; //document.createTextNode(args);
      } else {
              elements = [];
              elements.push(args);
              siblings = jQuery.create.apply(null, (Array.prototype.slice.call(arguments, 1)));
              elements = elements.concat(siblings);
              return elements;
      }
};

$(document).ready(function() {
	Site._init();
});
