
function include_page(url,pars,elem) {
        var myAjax = new Ajax.Request(url, {method: 'post', parameters: pars, onFailure: reportError,  onComplete: showResponse });
        function showResponse(request) {
             //alert(request.responseText);
                document.getElementById(elem).innerHTML = request.responseText;
        }
        function reportError(request)
        {
            alert('Sorry. There was an error.');
        }
}

function include_js(script_filename) {
    var html_doc = document.getElementsByTagName('head').item(0);
    var js = document.createElement('script');
    js.setAttribute('language', 'javascript');
    js.setAttribute('type', 'text/javascript');
    js.setAttribute('src', script_filename);
    html_doc.appendChild(js);
    return false;
}

function OpenWin(strLink){
         window.open(strLink,'action','toolbar=no,width=400,height=218,scrollbars=no,status=no')
}
function OpenReg(strLink){
         window.open(strLink,'action','toolbar=yes,width=760,height=500,scrollbars=yes,status=no')
}

function CloseWin() {
        window.open('','_parent','');
        window.close();
}

function bookmarksite(title,url){
	if (window.sidebar) // firefox
		window.sidebar.addPanel(title, url, "");
	else if(window.opera && window.print){ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	else if(document.all)// ie
		window.external.AddFavorite(url, title);
}

function getCookie(check_name) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		
		
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
	
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}				
				
function setCookie(name, value, expires) 
{
// set time, it's in milliseconds
var today = new Date();
today.setTime( today.getTime() );

/*
if the expires variable is set, make the correct 
expires time, the current script below will set 
it for x number of days, to make it for hours, 
delete * 24, for minutes, delete * 60 * 24
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
( ";path=/" ); 

}

function verifyEmail(s) {
        var chrs = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-@';
        var sLen = s.length; var i=0, c=0, cCnt=0, step=0;
        if (sLen < 6) return false;
        if (s.indexOf('@.')>=0) return false;
        if (s.indexOf('.@')>=0) return false;
        while (i < sLen){
                c=s.charAt(i);
                if (!(chrs.indexOf(c)>=0 || (c=='_' && step<1))) return false;
                if (c=='.') { if (cCnt<1) return false; cCnt=0; }
                if (c=='@') { if (step>0) return false; if (cCnt<1) return false; step++; cCnt=0; }
                cCnt=cCnt+1; i++;
        }
        if (cCnt < 3 || cCnt > 5 || step==0 || (s.indexOf(".")<0) ) return false;
        return true;
}

function verifyNumber(s) {
        var chrs = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-@';
        var sLen = s.length; var i=0, c=0;
        if (sLen < 1) return false;
        if (s.indexOf('.@')>=0) return false;
        while (i < sLen){
                c=s.charAt(i);
                if (chrs.indexOf(c)>=0) return false;
                i++;
        }
        return true;
}

function appendOption(id,string,val) {

	var elOptNew = document.createElement('option');
	elOptNew.text = string;
	elOptNew.value = val;
	var elSel = document.getElementById(id);

	try {
		elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
	}
	catch(ex) {
		elSel.add(elOptNew); // IE only
	}

}

function removeOptions(id) {

	var elSel = document.getElementById(id);
	while (elSel.length > 0) {
		elSel.remove(elSel.length - 1);
	}

}

function Access(form) {

	document.getElementById('loading').style.display = '';
        email = document.getElementById(form).email.value;
        pwd = document.getElementById(form).password.value;
        rememberme = document.getElementById(form).rememberme.value;
	var url = '/bin/users/login.php';	
        var pars = 'email='+email+'&password='+pwd+'&rememberme='+rememberme;
        var myAjax = new Ajax.Request(url, {method: 'post', parameters: pars, onFailure: reportError,  onComplete: showResponse });
        function showResponse(request) {
             //alert(request.responseText);
                Login(request.responseText);
        }
        function reportError(request)
        {
            alert('Sorry. There was an error.');
        }
}

function CheckAccess(email,pwd) {

	document.getElementById('errorelogin').style.display = 'none';
	var url = '/bin/users/login.php';	
        var pars = 'email='+email+'&password='+pwd;
        var myAjax = new Ajax.Request(url, {method: 'post', parameters: pars, onFailure: reportError,  onComplete: showResponse });
        function showResponse(request) {
             //alert(request.responseText);
		if (request.responseText == 0) {
			document.getElementById('errorelogin').innerHTML = '<strong>I dati inseriti non corrispondono ad alcun utente registrato</strong>';
			document.getElementById('errorelogin').style.display = '';
		}
       	}
       	function reportError(request)
       	{
           	alert('Sorry. There was an error.');
       	}
}

function Login(userid) {

	document.getElementById('loading').style.display = 'none';
	if (userid == 0) {
		document.getElementById('errorelogin').innerHTML = '<strong>Dati inseriti errati</strong>';
		document.getElementById('errorelogin').style.display = '';
	} else {
		document.location.reload();
	}

}

function ComboItem(ID, ParentID, Value, Sel) {

        this.ID = ID
        this.Value = Value
        this.ParentID = ParentID
        this.Sel = Sel
}

function FillCombo(cmbArray, cmbObj, cmbKey, ind) {

	if (ind) { document.getElementById(ind).style.display = ''; }
        cmbObj.options.length = 0;
	q = 1;
        for (var i = 0; i < cmbArray.length; i++) {
                if (cmbArray[i].ParentID == cmbKey) {
                        cmbObj.options[q] = new Option(cmbArray[i].Value, cmbArray[i].ID, cmbArray[i].Sel);
			q++;
                }
        }
	if (ind) { document.getElementById(ind).style.display = 'none'; }
}

function ShowCities(strarray) {

        removeOptions('id_city');
        var num = 0;
        var cities = strarray.split(",");
        while (num < cities.length) {
                var elem = cities[num].split("=");
                appendOption('id_city',elem[0],elem[1]);
                num += 1;
        }

}

function ChangeCities(prov,ind) {

	document.getElementById(ind).style.display = '';
        var url = '/bin/city.php';
        var pars = 'id_prov='+prov;
        var myAjax = new Ajax.Request(url, {method: 'post', parameters: pars, onFailure: reportError,  onComplete: showResponse });
        function showResponse(request) {
             //alert(request.responseText);
                ShowCities(request.responseText);
		document.getElementById(ind).style.display = 'none';
        }
        function reportError(request)
        {
            alert('Sorry. There was an error.');
        }

}

function ShowProv(strarray) {

        removeOptions('id_prov');
        var num = 0;
        var prov = strarray.split(",");
        while (num < prov.length) {
                var elem = prov[num].split("=");
                appendOption('id_prov',elem[0],elem[1]);
                num += 1;
        }

}

function ChangeProv(region,ind) {

	document.getElementById(ind).style.display = '';
        var url = '/bin/prov.php';
        var pars = 'id_region='+region;
        var myAjax = new Ajax.Request(url, {method: 'post', parameters: pars, onFailure: reportError,  onComplete: showResponse });
        function showResponse(request) {
             //alert(request.responseText);
                ShowProv(request.responseText);
		document.getElementById(ind).style.display = 'none';
        }
        function reportError(request)
        {
            alert('Sorry. There was an error.');
        }

}

function numbersonly(myfield, e, dec) {

var key;
var keychar;

if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

// numbers
else if ((("0123456789").indexOf(keychar) > -1))
   return true;

// decimal point jump
else if (dec && (keychar == "."))
   {
   myfield.form.elements[dec].focus();
   return false;
   }
else
   return false;

}

function decimalonly(myfield, e) {

var key;
var keychar;

if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

// numbers
else if ((("0123456789,").indexOf(keychar) > -1))
   return true;

else
   return false;

}

function checkLogin() {

	var url = '/bin/checkuser.php';	
        var myAjax = new Ajax.Request(url, {method: 'post', parameters: '', onFailure: reportError,  onComplete: showResponse });
        function showResponse(request) {
             //alert(request.responseText);
		if (request.responseText != 0) {
			document.getElementById('login').innerHTML = '<p> Benvenuto '+request.responseText+'  |  <a href="/bin/users/logout.php" title="Logout">Logout</a></p>';
		}
       	}
       	function reportError(request)
       	{
           	alert('Sorry. There was an error.');
       	}
}

function checkCompany() {

	var url = '/bin/checkcompany.php';	
        var myAjax = new Ajax.Request(url, {method: 'post', parameters: '', onFailure: reportError,  onComplete: showResponse });
        function showResponse(request) {
             //alert(request.responseText);
		if (request.responseText == 0) {
			document.location.href = '/companies.php';
		} else {
			document.location.href = '/bin/companies/main.php';
		}
       	}
       	function reportError(request)
       	{
           	alert('Sorry. There was an error.');
       	}
}

function showProducts(id_company) {

        var url = '/bin/users/products.php';
        var pars = 'id_company='+id_company;
        var myAjax = new Ajax.Request(url, {method: 'post', parameters: pars, onFailure: reportError,  onComplete: showResponse });
        function showResponse(request) {
             //alert(request.responseText);
                var prod = request.responseText.split(",");
                num = 0;
                while (num < prod.length) {
                        if (prod[num] == 2) { document.getElementById('banner_text').style.display = ''; }
                        if (prod[num] == 3) { document.getElementById('banner_graph').style.display = ''; }
                        if (prod[num] == 16) { document.getElementById('minisite').style.display = ''; }
                        if (prod[num] == 'print') {
                                document.getElementById('import').style.display = '';
                                document.getElementById('export').style.display = '';
                        }
                        num++;
                }

        }
        function reportError(request)
        {
            alert('Sorry. There was an error.');
        }

}

function setCurrent(id) {
	document.getElementById(id).className = 'menucurrent';
}

function Bookmark(id_course) {

        var url = '/bin/bookmark.php';
	var pars = 'id_course='+id_course;
	GB_showCenter('Salva tra i preferiti',url+'?'+pars,170,380);

}

