//includo il file js utilizzato per l'implementazione dei Flash e degli oggetti OpenLaszlo

//implementa il replace javascript la chiamo da laszlo
function lzUtility_replace(swhere,swhat,swhith){
    return swhere.replace(swhat, swhith)
}

//gestisce il rollover sui nomi dei modello nel control panel della sezione prodotti
function RollProductImage(v_strListId, v_strImageId, v_strImageUrl, v_strListCss){
    var image = getObject(v_strImageId);
    var listItem = getObject(v_strListId);
    
    image.src = v_strImageUrl;
    listItem.className = v_strListCss;
}


/*
print del sito
*/
function LoadPrintPopUpPage(vUrl){
    LoadPopUpPage(vUrl,621,558);
}

function LoadPopUpPage(vUrl,vWidth,vHeight){
    window.open(vUrl,"popup","toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=" + vWidth + ",height=" + vHeight);
}


//restituisce il codice pagina della pagina da caricare, viene utilizzata per aggiornare la posizione dei menu
function getPageCodeToLoad(){
    var strCurrentUrl = "";
    var strAnchorPage = "";
    var strCurrentPage = "";
    var strPageToLoad = "";
    
    strCurrentUrl = document.location.href;
    strAnchorPage = getAnchorPage(strCurrentUrl);
    
    if(strAnchorPage == ""){
        strPageToLoad = getCurrentPage(strCurrentUrl);
    }else{
        strPageToLoad = strAnchorPage;
    }
        
    var strPageCode = "";
    var arrCurrentUrlChunks = strPageToLoad.split("_");
    
    if(arrCurrentUrlChunks.length > 3){
        arrCurrentUrlChunks[3]
        
        strPageCode = arrCurrentUrlChunks[3].substring(0, arrCurrentUrlChunks[3].indexOf(".aspx"));
    }else{
        strPageCode = "1";
    }
        
    return strPageCode;
}

//leristuisce l'id linea dell'eventuale bookmark che sto cercando di visualizzare, viene utilizzata per aggiornare la posizione dei menu
function getProdLineId(){
    var strCurrentUrl = "";
    var strAnchorPage = "";
    var strCurrentPage = "";
    var strPageToLoad = "";
    
    strCurrentUrl = document.location.href;
    strAnchorPage = getAnchorPage(strCurrentUrl);
    
    if(strAnchorPage == ""){
        strPageToLoad = getCurrentPage(strCurrentUrl);
    }else{
        strPageToLoad = strAnchorPage;
    }
     
    
    var strLineIdParam = "plid=";
    var strLineId = "";
    
    var intParamStartIndex = strPageToLoad.indexOf(strLineIdParam);
    var intParamEndIndex = 0;
    
    if(intParamStartIndex > 0){
        intParamStartIndex = intParamStartIndex + strLineIdParam.length;
        
        
        intParamEndIndex = strPageToLoad.indexOf("&", intParamStartIndex);
        if(intParamEndIndex < 1){
            intParamEndIndex = strPageToLoad.indexOf("#", intParamStartIndex);
        
            if(intParamEndIndex < 1){
                intParamEndIndex = 0;
            }    
        }    
    
    
        if(intParamEndIndex > intParamStartIndex){
            strLineId = strPageToLoad.substring(intParamStartIndex, intParamEndIndex);
        }else{
            strLineId = strPageToLoad.substring(intParamStartIndex);
        }
    }else{
        strLineId = ""
    }
    
    //alert("strLineId: " + strLineId);
    return strLineId;
}

//carica la pagina specificata nel bookmark
function loadBookmark(){
    var strCurrentUrl = "";
    var strAnchorPage = "";
    var strCurrentPage = "";
    var strPageToLoad = "";
    
    strCurrentUrl = document.location.href;
    
    
    strAnchorPage = getAnchorPage(strCurrentUrl);
    
    if(strAnchorPage == ""){
        strPageToLoad = getCurrentPage(strCurrentUrl);
    }else{
        strPageToLoad = strAnchorPage;
    }
    
    loadContentPage(strPageToLoad);
}

//restituisce la pagina specificata come bookmark dopo l'ancora (#) nell'URL
function getAnchorPage(v_strCurrentUrl){
    var intIndex = 0;
    var strPage = "";
    var strReturn = "";
    
    if(v_strCurrentUrl != ""){
        //cerco l'ancora
        intIndex = v_strCurrentUrl.indexOf("#");

        if(intIndex > 0){
            //controllo se nell'url viene passato qualcosa dopo #
            strPage = v_strCurrentUrl.substring(intIndex + 1); 
            
            //magari una regexp per validare il formato della pagina (content_vti_g1_cert.aspx?rpstry=2_)
            if(strPage != ""){
                //ho trovato l'ancora con l'url da caricare
                strReturn = strPage;
            }      
        }
    }
    
    return strReturn;
}

//restituisce l'URL della pagina corrente non dell'aventuale bookmark che rimane come "parametro"
function getCurrentPage(v_strCurrentUrl){
    var intIndex = 0;
    var strPage = "";
    var strReturn = "";
    
    if(v_strCurrentUrl != ""){
        //cerco l'ancora
        intIndex = v_strCurrentUrl.lastIndexOf("/");


    
        if(intIndex > 0){
            //leggo la pagina
            strPage = v_strCurrentUrl.substring(intIndex + 1); 
            
            //magari una regexp per validare il formato della pagina (_vti_g1_cert.aspx?rpstry=2_)
            if(strPage != ""){
                //ho trovato l'ancora con l'url da caricare
                strReturn = "content" + strPage;
            }      
        }
    }
    
    return strReturn;
}



function parseContentLink(v_strText){
    //le pagine content only vengono generate e scritte su file direttamente dal wsc. 
    //I link href="default.aspx?lng=SMATLANGUAGE&ipag=SMATPAGE&QUERYSTRING non vengono trasformati in link di smat.
    //questa funzione viene chiamata dal laszlo PageLoader che parsa il contenuto e riscrive tutti i link nel formato:
    //
    //  'href="#" onclick="return loadPage('content_vti_gSMATLANGUAGE_SMATPAGE.aspx?QUERYSTRING')
    var strContent = "";
    var strTitle = "";
   
   
    //da alcuni problemi con ie, per ora non gestiamo i titoli
    //leggo il titolo della pagina che voglio caricare e lo setto
    /*
    alert(strTitle);
    strTitle = getPageTitle(v_strText);
    if(strTitle != ""){
        document.title = strTitle;
    }
    */
       
    strContent = v_strText.replace(/&amp;/gi, "&");
    
    //alert(strContent);
    
    strContent = strContent.replace(/href=['"]default.aspx\?lng=(.+?)\&ipag=(.+?)\&(.+?)['"]/g, 'href=\"#\" onclick=\"return loadPage(\'content_vti_g$1_$2.aspx?$3\')\"');
    strContent = strContent.replace(/href=['"]default.aspx\?ipag=(.+?)\&lng=(.+?)\&(.+?)['"]/g, 'href=\"#\" onclick=\"return loadPage(\'content_vti_g$2_$1.aspx?$3\')\"');
    strContent = strContent.replace(/href=['"]default.aspx\?lng=(.+?)\&ipag=(.+?)['"]/g, 'href=\"#\" onclick=\"return loadPage(\'content_vti_g$1_$2.aspx\')\"');
    strContent = strContent.replace(/href=['"]_vti_g(.+?)_(.+?).aspx\?(.+?)['"]/g, 'href=\"#\" onclick=\"return loadPage(\'content_vti_g$1_$2.aspx?$3\')\"');
    
    //alert(strContent);
    
    return strContent.replace(/href=['"]default.aspx\?ipag=(.+?)\&lng=(.+?)['"]/g, 'href=\"#\" onclick=\"return loadPage(\'content_vti_g$2_$2.aspx\')\"');
}

function getPageTitle(v_strPageContent){
    //il titolo è inserito nel content:
    //<div name="pagetitle" style="display: none">PAGETITLE</div>
    
    
    var strTitle = "";
    
    //devo restituire il pagetitle
    
    var intStartIndex = 0;
    var intEndIndex = 0;
    var strStartTag = "<div name=\"pagetitle\" style=\"display: none\">";
    
    intStartIndex = v_strPageContent.indexOf(strStartTag);
    
    if(intStartIndex > 0){
        intStartIndex = intStartIndex + strStartTag.length;
        intEndIndex = v_strPageContent.indexOf("<", intStartIndex);
        
        
        
        strTitle = v_strPageContent.substring(intStartIndex, intEndIndex);
    }
    
    return strTitle;
}


function loadContentPage(url){

    if(url.indexOf("http://") < 0){
      //tracking google analytics
      var strStatUrl = "";
      var strLocation = document.location.href;
      //strStatUrl = strLocation.substring(0, strLocation.lastIndexOf("/")) + "/" + url.substring(url.indexOf("_"), url.length);
      strStatUrl = "/" + url.substring(url.indexOf("_"), url.indexOf("?"));
      
      
      strStatUrl = escape(strStatUrl);
      pageTracker._trackPageview(strStatUrl);
  
      //alert(strStatUrl);
  
      loadPage(url);
    }else{
      window.open(url);
    }

    
    return false;
}

function voidFunction(){
	//ie bug
}

function credits(){
	window.open("credits.htm","credits","toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=262,height=373");
}

function getObject(v_strIdImage){
	var vObj;
	
	var strBrowserName = whatbrowser();
	
	switch(strBrowserName){
		case "NN6":
		case "NN4":{
			vObj = document.getElementById(v_strIdImage);
			break;
		}
		case "ie4":
		case "ie6":
		case "ieMac":{
			vObj = document.all(v_strIdImage);
			break;
		}
		default:{
			vObj = document.all(v_strIdImage);
		}
	}
	
	return(vObj);
}


//whatbrowser()
//
//determina con quale browser l'utente è collegato e restituisce la sigla corrispondente
//
//argomenti:
//	nessuno
//
//valore di ritorno:
//	stringa	=	sigla corrispondente al browser con cui l'utente è collegato
//				NN4	=	netscape4
//				NN6	=	netscape6
//				ie	=	internet explorer
function whatbrowser(){
	var thisbrowser = "";	//sigla del browser utilizzato dall'utente
	var strAppVersion = navigator.appVersion;

	var blnIsIe4 = (strAppVersion.indexOf("MSIE 4") == -1) ? 0 : 1;
	var blnIsIe5 = (strAppVersion.indexOf("MSIE 5") == -1) ? 0 : 1;
	var blnIsIe6 = (strAppVersion.indexOf("MSIE 6") == -1) ? 0 : 1;
	var blnIsMac = (strAppVersion.indexOf("Macintosh") == -1) ? 0 : 1;
	
	//interrogo l'oggetto document per capire quale broeser sta utilizzando l'utente
    if(document.layers){
        thisbrowser="NN4";
    }
    if(document.all){
         if(blnIsIe4 == 1 || blnIsIe5==1) thisbrowser="ie4";
         else if(blnIsIe6 == 1) thisbrowser="ie6";
         else if(blnIsMac == 1) thisbrowser="ieMac";
         else thisbrowser="ie";
         
         //alert(thisbrowser);
    }
    if(!document.all && document.getElementById){
         thisbrowser="NN6";
    }
    
    return(thisbrowser);
}

//npwidthmax()
//
//calcola width della pagina, toglie larghezza menu sinistra e larghezza menu 
//destra return (la differenza)
function npwidthmax(){
	size = parseInt(window.innerWidth) - 161;
	return size;
}


function MM_preloadImages() {
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function OpenZoomWindow(sImg,sTitle,sWidth,sHeight){
	var oWin = window.open('','','status=0,scrollbars=0,height='+(sHeight/1+17)+'px,width='+sWidth+'px');
	var sHtml = '<html>\n';
	sHtml += '<head><title>' + sTitle + '</title>\n';
	sHtml += '<style type=\"text/css\">\n';
	sHtml += '.fntDefault { text-decoration: none; font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #514C3C }\n';
	sHtml += '</style>\n</head>\n';
	sHtml += '<body bgcolor=\"#ffffff\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">\n';
	sHtml += '<table width=\"100%\" height=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n';
	sHtml += '<tr><td align=\"center\" valign=\"middle\"><img border=\"0\" src=\"'+sImg+'\"  alt=\"'+sImg+'\"></td></tr>\n';
	sHtml += '<tr height=\"2\"><td bgcolor=\"#EBEAE5\"><img src=\"img/shared/np.gif\" height=\"2\" alt=\"\"></td></tr>\n';
	sHtml += '<tr height=\"15\"><td bgcolor=\"#F8F7F1\" align=\"right\" valign=\"middle\" class=\"fntDefault\"><a class=\"fntDefault\" href=\"javascript:window.close()\">close</a>&nbsp;&nbsp;</td></tr>\n';
	sHtml += '</table>\n';
	sHtml += '</body>\n';
	sHtml += '</html>';
	oWin.document.write(sHtml);
}
