// VALIDATORS
function CheckValidators(groupID,cssClass)
{
    Page_ClientValidate(groupID);
    var controlsAlreadyValidated = new Array();
    for (var i = 0; i < Page_Validators.length; i++) {
          var control = Page_Validators[i].controltovalidate;
          if($.inArray(control, controlsAlreadyValidated) == -1) 
          {
                ChangeControlStyle(control,Page_Validators[i].isvalid,cssClass);
                if(!Page_Validators[i].isvalid){
                      controlsAlreadyValidated.push(control);
                }
          }
    }
}

function ChangeControlStyle(id, isvalid, cssClass)
{    
      if(!isvalid)
      {
        $('#'+id).addClass(cssClass);
        
        /* especial para controlo de login */
        $('.EscondeLoginError').css("display","none");
      }
      else
      {
        $('#'+id).removeClass(cssClass);
      }
}


/* Clear Defauld */
jQuery.fn.resetDefaultValue = function() {
	function _clearDefaultValue() {
		var _$ = $(this);
		if (_$.val() == this.defaultValue)
		{
		    _$.val('');
		}
	};
	function _resetDefaultValue() {
		var _$ = $(this);
		if (_$.val() == '')
		{
		    _$.val(this.defaultValue);
		}
	};
	return this.click(_clearDefaultValue).focus(_clearDefaultValue).blur(_resetDefaultValue);
}

/* Login Click */

function LoginClick(id) {
		var _$ = $(id);
		
		_$.click(function(e) {
		    var style = $('.Login-Top-Form').hasClass('OpenForm');
		    if(style)
		    {
		        $('.Login-Top-Form').removeClass('OpenForm');
		        $('.Login-Top-Form').addClass('HideForm');
		    }
		    else
		    {
		        $('.Login-Top-Form').removeClass('HideForm');
		        $('.Login-Top-Form').addClass('OpenForm');
		    }
		});
	};

/**
 * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
 */

function writeFlash(p) {
	writeEmbed(
		'D27CDB6E-AE6D-11cf-96B8-444553540000',
		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
		'application/x-shockwave-flash',
		p
	);
}

function writeShockWave(p) {
	writeEmbed(
	'166B1BCA-3F9C-11CF-8075-444553540000',
	'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
	'application/x-director',
		p
	);
}

function writeQuickTime(p) {
	writeEmbed(
		'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
		'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
		'video/quicktime',
		p
	);
}

function writeRealMedia(p) {
	writeEmbed(
		'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
		'audio/x-pn-realaudio-plugin',
		p
	);
}

function writeWindowsMedia(p) {
	p.url = p.src;
	writeEmbed(
		'6BF52A52-394A-11D3-B153-00C04F79FAA6',
		'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
		'application/x-mplayer2',
		p
	);
}

function writeEmbed(cls, cb, mt, p) {
	var h = '', n;

	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
	h += '>';

	for (n in p)
		h += '<param name="' + n + '" value="' + p[n] + '">';

	h += '<embed type="' + mt + '"';

	for (n in p)
		h += n + '="' + p[n] + '" ';

	h += '></embed></object>';

	document.write(h);
}

function writeVideo(cls, cb, mt, p) {
    var h = '', n;

	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
	h += '>';

	for (n in p)
		h += '<param name="' + n + '" value="' + p[n] + '">';

	h += '<embed type="' + mt + '"';

	for (n in p)
		h += n + '="' + p[n] + '" ';

	h += '></embed></object>';

	return h;
}

// URL ENCODED
$.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/;
  while(x<c.length){var m=r.exec(c.substr(x));
    if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
    }else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
    o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;},
URLDecode:function(s){var o=s;var binVal,t;var r=/(%[^%]{2})/;
  while((m=r.exec(o))!=null && m.length>1 && m[1]!=''){b=parseInt(m[1].substr(1),16);
  t=String.fromCharCode(b);o=o.replace(m[1],t);}return o;}
});


$(document).ready(function(){ 
		
	// clean value inputs
	$('input.clean').resetDefaultValue(); // avoid button/reset/submit buttons
	$('textarea.clean').resetDefaultValue(); // avoid button/reset/submit buttons
	
	//login click
    var openStyle = $('.Login-Top-Form').hasClass('OpenForm');
	if(!openStyle)
	{
        $('.Login-Top-Form').addClass('HideForm');	
	}

    LoginClick('#LoginTopClick');
});


