function is_email(str) 
{
    if (str.search("^([a-zA-Z0-9_]|\\-|\\.)+@(([a-zA-Z0-9_]|\\-)+\\.)+[a-zA-Z]{2,4}\$") > -1) {
	return true;
    }	
    return false;
}
function is_empty(str) 
{
    return str.search('^[ \t\r\n]*$')>-1 ? true : false;
}
function isblank(s)
{
    for(var i = 0; i < s.length; i++)
    {
        var c = s.charAt(i);
	if ((c != ' ') && (c != '\n') && (c != '    '))
            return false;
    }
    return true;
}

function removeAll(nume) 
{ 
	var holder = document.getElementById(nume);//the holder div 
	while(holder.hasChildNodes())
	{ 
		holder.removeChild(holder.lastChild); 
	} 
}

function is_str(str) 
{
    if (is_empty(str)) {
	return false;
    }
    return str.search('^([a-z A-Z]||\\-)*$')>-1 ? true : false;
}
function isNumber(str)
{
    return str.search("^[0-9]*$")>-1 ? true : false; 
}  
function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

//functia incrementeaza un numar ex: INTRARE: 00009 iesire 00010
function incString(numar)
{
    var sizeBig=numar.length;
    var nrNou=(Number(numar)+1).toString();
    var sizeSmall=nrNou.length;
    var i=0;
    while(i< (sizeBig-sizeSmall))
    {
        nrNou='0'+nrNou;
        i++;
    }
    return nrNou;
}

//functia incrementeaza un numar ex: INTRARE: 00009 iesire 00008
function decString(numar)
{
    var sizeBig=numar.length;
    var nrNou=(Number(numar)-1).toString();
    var sizeSmall=nrNou.length;
    var i=0;
    while(i< (sizeBig-sizeSmall))
    {
        nrNou='0'+nrNou;
        i++;
    }
    return nrNou;
}

//functia incrementeaza un numar ex: INTRARE: 00009 iesire 9
function scoateZero(numar)
{
//    var sizeBig=numar.length;
    var nrNou=(Number(numar)).toString();
/*    var sizeSmall=nrNou.length;
    var i=0;
    while(i< (sizeBig-sizeSmall))
    {
        nrNou='0'+nrNou;
        i++;
    }*/
    return nrNou;
}

// legatura cu serverul
function getXMLHTTPRequest()
{
    var xRequest=null;
    if (window.XMLHttpRequest)
    {
        xRequest=new XMLHttpRequest();
    }
    else if (typeof ActiveXObject != "undefined")
    {
        xRequest=new ActiveXObject("Microsoft.XMLHTTP");
    }
    return xRequest;
}

// exemplu : var raspuns =sendRequest("test2.php","call="+intrebare+"&gg="+gg,"POST");
function sendRequest(url,params,HttpMethod)
{
    if (!HttpMethod)
    {
        HttpMethod="POST";
    }
    var req=getXMLHTTPRequest();
    if (req)
    {
        req.open(HttpMethod,url,false);
        req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        req.send(params);
    }
    return req.responseText;
}

// scrierea pe HDD

function writeToFile(filename,value)
{
    var fso = new ActiveXObject('Scripting.FileSystemObject');
    if (fso.FileExists(filename))
    {
        var a, ForAppending, file;
        ForAppending = 8;
        file = fso.OpenTextFile(filename, ForAppending, false);
        file.WriteLine(value);
    }
    else
    {
        var file = fso.CreateTextFile(filename, true);
        file.WriteLine(value);
    }
    file.Close();
    file = null;
    fso = null;
}

function readFromFile(filename)
{
    var fso, a, ForReading;
    ForReading = 1;
    fso = new ActiveXObject('Scripting.FileSystemObject');
    
    if (fso.FileExists(filename))
    {
	var date= new Array(0);
        file = fso.OpenTextFile(filename, ForReading, false);
	var i=0;
        while(!file.atEndOfStream)
        {
            date.push(file.readline());
	    //date=date+"*"+file.readline();
	    i++;
	}
//	alert(i);
        file.Close();
        file = null;
        fso = null;
	return date;
    }else return 'eroare';
}
function deleteFile(filename)
{
    fso = new ActiveXObject('Scripting.FileSystemObject');
    if (fso.FileExists(filename))
    {
	file = fso.GetFile(filename);
        file.Delete();
    }
    file = null;
    fso = null;
}
function URLEncode(str)
{
    // 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 plaintext = str.toString();
//    alert(plaintext);
//    alert(plaintext.charAt(0));
    
    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." );
                    encoded += "+";
                }
                else
	        {
	    	//    if(i==0 || i==2)
	    	//	alert(i+"%"+HEX.charAt((charCode >> 4) & 0xF)+HEX.charAt(charCode & 0xF));
    	            encoded += "%";
                    encoded += HEX.charAt((charCode >> 4) & 0xF);
                    encoded += HEX.charAt(charCode & 0xF);
                }
            }
    }
//    alert(encoded);
    // for
    return encoded;
}

