
function loadimg(a,b) {
	for(j=1;j<=7;j++) {
		for(i=1;i<=2;i++) {
			if (document.images) {
				eval(a+j+i+'=new Image()');
				eval(a+j+i+'.src="skins/default/images/'+b+j+i+'.gif"');	
			}
		}
	}
}

function validateSearch() {
	if($('keyword').value != '' && $('keyword').value != 'text cautat...'){
		document.forms[0].submit();
	} else{
		alert('Nu ai introdus cuvantul de cautat!');
		return false;
	}
}

function roll(c,d) {
	if(document.images)	c.src = eval(d + ".src");
}

function _verifyEmailString( emailValue )
{
	var reEmail = /^(?:(\w|\-)+\.?)*(\w|\-)+@(?:(\w|\-)+\.)+(\w|\-)+$/;
	return reEmail.test( emailValue );
}

function verifyEmail() {
	sEmail = $('email').value;
	if( _verifyEmailString( sEmail ) ) return true;
	alert( "Adresa de e-mail '" + sEmail + "' nu respecta formatul valid!");
	return false;
}
/*
if(document.images){
	loadimg('im','button');
}
*/
function getCheckboxes(form, checkbox) {
	var checked = Form.getInputs(form, "checkbox", checkbox).findAll(
		function(item) { 
			return item.checked;
		}
	).pluck("value");
	return checked;
}

function clearBox(id, string, selected) {
	if ($(id).value == string) {
		$(id).value = "";
	} else {
		if(selected == true) {
			$(id).select();
		}
	}
}

function fillBox(id, string) {
	if ($(id).value == "") {
		$(id).value = string;
	}
}

function popup(url, name, height, width, scrollbars) {
	var popwin;
	var opts = "toolbar=no,status=yes,location=no,menubar=no,resizable=yes";
	opts += ",height=" + height + ",width=" + width + ",top="+(((screen.height/2)-height/2)-20)+",left=" + ((screen.width/2)-width/2) + ",scrollbars=" + scrollbars;
	popwin = window.open("", ''+name+'', opts);
	if (popwin) {
		popwin.location.replace(url);
		popwin.focus();
	}
	return popwin;
}


function largeSmallFont() {
	var cssClass = document.getElementById("field_text").className;
			if(cssClass=="field_text") {
				document.getElementById("field_text").className = "field_text2";
			} else {
				document.getElementById("field_text").className = "field_text";
			}
}
		
function verifyEmailField( fieldId )
{
	if( _verifyEmailString( $(fieldId).value )) return "";
	return "\nAdresa de email: '" + $(fieldId).value + "' este gresita!";
}

function checkDate( fieldId, format )
{
	var dValue = $(fieldId).value;
	if( dValue == '') return '';

	var m = /(\d{1,2})\.(\d{1,2})\.(\d{4})/.exec( dValue );	
	
	if( m == null ){
		return 'Data "' + dValue + '" nu respecta formatul Zi.Luna.An (Ex: 31.01.2001)!';
	}
	
	var day = parseInt( m[1] );
	var month = parseInt( m[2] );
	var year = parseInt( m[3] );
	var lastDay = 0;

	if( (month < 1) || ( month > 12) ){
		return 'Luna trebuie sa fie cuprinsa intre 1 si 12!';
	}
	switch( month )
	{
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			lastDay = 31;
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			lastDay = 30;
			break;
		case 2:
			if( year % 4 == 0 ) lastDay = 29;
			else lastDay = 28;
	}	
	if(( day < 1 ) || ( day > lastDay) ){
		return 'Ziua trebuie sa fie cuprinsa intre 1 si ' + lastDay + '!';
	}
	return '';
}

function verifyMultiEmailField( fieldId )
{
	if( $(fieldId).value ){
		emailAdresses = $(fieldId).value.split(';');
		for( i = 0 ; i < emailAdresses.length ; i++ ){
			if( ! _verifyEmailString( trim(emailAdresses[i]) )){
				return "\nAdresa de email: '" + trim(emailAdresses[i]) + "' este gresita!";
			}
		}
	}
	return "";
}

function trim(s)
{
	var pos = 0,len = s.length,pos2;
	while( true ) 
	{
		if( len == 0 ) return '';
		switch( s.charAt(pos)){
		case ' ':
		case '\t':
		case '\n':
			pos++;
			len--;
			break;			
		default:
			pos2 = s.length - 1;
			while( true ) {
				if( len == 0) return '';
				switch( s.charAt(pos2)){
				case ' ':
				case '\t':
				case '\n':
					pos2--;
					len--;
					break;
				default:
					return s.substring( pos, len );
				}
			}
		}
	}
}

function json2php( value )
{
	var ret = "";
	
	if( typeof value == "undefined") return "";
	if( typeof value == "string") {
		var oS = new String( value );
		return "s:" + oS.length + ':"' + value + '"';
	}
	if( typeof value == "number") {
		value = '"' + value + '"';
		var oS = new String( value );
		return "s:" + oS.length - 2 + ":" + value;
	}
	if( typeof value == "boolean") {
		if( value ) return "b:1";
		return "b:0";
	}
	if( typeof value == "object" ) {
		ret += "a:" + value.length + ":{";
		first = true;
		$A(value).each( function( val ){
			if( ! first ){ ret += ";" }
			else { first = false; }
			ret += json2php( val );
		});
		ret += "}";
	}
	return ret;
}

function array2json( value )
{
	if( typeof value == "undefined") return " ";
	if( typeof value == "string") {
		return '"' + value + '"';
	}
	if( typeof value == "number") {
		return '"' + value + '"';
	}
	if( typeof value == "boolean") {
		if( value ) return '"true"';
		return '"false"';
	}
	if( typeof value == "object" ) {
		first = true;
		ret = "{";
		for( i = 0; i < value.length; i+=2 ){
			if( first) {
				first = false;
			} else {
				ret += " , ";
			}
			ret += array2json(value[i]) + ' : ' + array2json(value[i+1])
		}
		ret += "}";
		return ret;
	}
	return ret;
}

function focusOnFirstField()
{
	window.document.forms[0].elements[0].focus();
}

function checkMandatoryField( id )
{
	var reEmpty = /^\s+$/;
	if( $(id).value == "" ) return false;
	if( reEmpty.test( $(id).value ) ) return false;
	return true;
}

// ====================================================================
//       URLEncode and URLDecode functions
//
// Copyright Albion Research Ltd. 2002
// http://www.albionresearch.com/
//
// You may copy these functions providing that 
// (a) you leave this copyright notice intact, and 
// (b) if you use these functions on a publicly accessible
//     web site you include a credit somewhere on the web site 
//     with a link back to http://www.albionresarch.com/
//
// If you find or fix any bugs, please let us know at albionresearch.com
//
// SpecialThanks to Neelesh Thakur for being the first to
// report a bug in URLDecode() - now fixed 2003-02-19.
// ====================================================================
function URLEncode( plaintext )
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				return false;
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
};

function URLDecode( encoded )
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   // Put [ERROR] in output if %xx is invalid.
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				return false;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
   return plaintext;
};

function setAlert() {
	url = baseURL+'/?module=alerts&section=backend&page=set_alerts&action=setAlert';
	var params = Form.serialize('formAlerte');
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get',
			parameters: params, 
			onComplete: function(originalRequest) {
				var rs = originalRequest.responseText;
				rs = rs.split('|');
				if (rs[0] == 'OK') {
					$('tabAlerte').innerHTML = "Ati fost abonat.<br>Va multumim!";
				} else if (rs[0] == 'ERROR') {
					$('tabAlerteMesaj').innerHTML = "<font color='#ff0000'>Nu ati completat: "+rs[1]+"</font>";
				}
			}
		});
}

function openPoza( url )
{
	window.open( url.replace(/&amp;/g,'&'),'poza_');
}

function validateInputDate( day, month, year, src )
{
	var maxDay;
	
	switch( src ){
		case 'beforeSend':
			if( $(year).value == 0 ) return true;
		case 'day':
		case 'month':
		case 'year':
			if( $(month).value == 0 ) return true;
			if( $(day).value == 0 ) return true;
			
			var iMonth = parseInt( $(month).value );
			switch( iMonth ){
				case 0:
				case 1:
				case 3:
				case 5:
				case 7:
				case 8:
				case 10:
				case 12:
					maxDay = 31;
					break;
				case 2:
					maxDay = parseInt($(year).value) % 4 == 0 ? 29 : 28;
					break;
				default:
					maxDay = 30;
					break;
			}
			if( parseInt( $(day).value ) <= maxDay ) return true;
			alert('Ziua trebuie sa fie mai mica sau egala cu ' + maxDay );
			return false;
	}
}

function showVideo(id, autostart) {
	i = id;
	
	var rand = Math.round(Math.random()*10000);

	var so = new SWFObject(baseURL + "/thirdparty/flvplayer/flvplayer_2.swf", "mymovie", "400", "300", "7", "#ffffff");
	so.addParam("quality", "high");
	so.addParam("wmode", "transparent");
	so.addParam("menu", "false");
	so.addParam("allowfullscreen","true");
	so.addVariable("file", baseURL + "/thirdparty/flvplayer/player.php?url=" + videos[i].url + "&r="+rand);
	//so.addVariable("image", baseURL + "/thirdparty/flvplayer/player.jpg");
	so.addVariable("image", videos[i].image);
	so.addVariable("showicons", "true");
	so.addVariable("shownavigation", "true");
	so.addVariable("backcolor","0x37425D");
	so.addVariable("frontcolor","0xB1BBD1");
	//so.addVariable("backcolor", "0xECF6FF");
	//so.addVariable("frontcolor", "0x3399CC");
	so.addVariable("autostart", autostart);
	so.addVariable("preloading", "true");
	so.addVariable("showdigits", "true");
	so.addVariable("showfsbutton", "false");
	so.addVariable("showeq", "false");
	so.addVariable("width", "400");
	so.addVariable("height", "300");
	so.addVariable("lightcolor","0xFFFFFF");
	so.addVariable("logo", baseURL + "/images/logo.png");
	so.addVariable("contextmenulink", "http://www.descopera.ro");
	so.addVariable("contextmenuitem", "Copyrighted by Descopera.ro");
	so.write("videoplayer");
	
	$$(".smalltext .video").each(function(a) {
		a.removeClassName("bsmalltext");
	});
	
	if($('videoLink' + i) != null) {
		$('videoLink' + i).addClassName("bsmalltext");
	}
}
