var ie = (document.all)? true:false;
var ns = (document.layers)? true:false;
var ns6 = document.getElementById && !document.all; 

// false: IE 7, mozilla, safari, opera 9 , true: IE6, older browsers
var oldBrowser = window.XMLHttpRequest ? false : true;

var IExplore = (navigator.appName == "Microsoft Internet Explorer");
var BrowserVer = parseInt(navigator.appVersion);
var NetScape = (navigator.appName=="Netscape")?1:0;	


function TractaTxt(camp) {
	var rExp = /’/gi;
	camp.value = camp.value.replace(rExp,"'");
}
	
function replaceCharacters(conversionString,inChar,outChar) {
	var convertedString = conversionString.split(inChar);
	convertedString = convertedString.join(outChar);
	return convertedString;
}
	
function Imprimir() {
	window.print(); 
}
	

// Example: showHideLayers(Layer1,'','show',Layer2,'','hide');
function showHideLayers() { 
  var i, visStr, obj, args = showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) {
    if ((obj = findObj(args[i])) != null) {
      visStr = args[i+2];
      if (obj.style) {
        obj = obj.style;
        if(visStr == 'show') visStr = 'visible';
        else if(visStr == 'hide') visStr = 'hidden';
      }
      obj.visibility = visStr;
    }
  }
}

function showHideLayers2() { 
  var i, visStr, obj, args = showHideLayers2.arguments;
  for (i=0; i<(args.length-2); i+=3) {
    if ((obj = findObj(args[i])) != null) {
      visStr = args[i+2];
      if (obj.style) {
        obj = obj.style;
        if(visStr == 'show') {
			obj.visibility = 'visible';
			obj.display = 'block';
		}
        else if(visStr == 'hide') {
			obj.visibility = 'hidden';
			obj.display = 'none';
		}
      }
    }
  }
}

// Example: obj = findObj("image1");
function findObj(theObj, theDoc)
{
  	var p, i, foundObj;
  
  	if(!theDoc) theDoc = document;
  	if( (p = theObj.indexOf("?")) > 0 && parent.frames.length) {
		theDoc = parent.frames[theObj.substring(p+1)].document;
		theObj = theObj.substring(0,p);
  	}
  	if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
  	for (i=0; !foundObj && i < theDoc.forms.length; i++) 
		foundObj = theDoc.forms[i][theObj];
  	for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
		foundObj = findObj(theObj,theDoc.layers[i].document);
  	if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
  
  	return foundObj;
}


function Fixselect(param) {
	if (oldBrowser&&ie) {
		if (param == 1) {
			if (document.all) document.body.className = "fix";		
		} else {
			if (document.all) document.body.className = "";
		}
	}
}


function MM_preloadImages() { //v3.0
  	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 MM_swapImgRestore() { //v3.0
  	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function DoModal(pag, wi, he) {
	var seleccio;	
	var w = 800, h = 600;
	var popW = wi, popH = he;
	
	/* Centrem la finestra a la pantalla */
	if (document.all || document.layers) {
	   w = screen.availWidth;
	   h = screen.availHeight;
	}
	
	var leftPos = (w-popW)/2;
	var topPos = (h-popH)/2;	
			
	winpop = window.open(pag,"Modal","status=0,top=" + topPos + ",left=" + leftPos + ",toolbar=0,scrollbars=no,menubar=0,directories=0,height="+ he + ",width=" + wi);
	if (!winpop.opener)
		winpop.opener = self;
	self.name = "opener";
	winpop.focus();
}
		
//Example: preloadImages('file.gif', 'http://www.x.com/y.gif');
function preloadImages()
{
  if(document.images)
  {
    if(!document.imageArray) document.imageArray = new Array();
    var i,j = document.imageArray.length, args = preloadImages.arguments;
    
    for(i=0; i<args.length; i++)
    {
      if (args[i].indexOf("#")!=0)
      {
        document.imageArray[j] = new Image;
        document.imageArray[j++].src = args[i];
      }
    }
  }
}

// FUNCIONS DE GMAPS
// Objecte GMaps
function Mapa(lat,long,zoom,nom_map) {
	if (!GBrowserIsCompatible()) return;
	
	// ***  Atributs
	this.div_map= null;
	this.map=null;
	this.mgr=null;
	this.contador=0;
	this.gmarkers=[];
	this.i_markers=0;
	this.bounds=null;
	
	this.div_map = document.getElementById(nom_map);
	
	// Inicialitza els atributs
	if (this.div_map) {
		this.map = new GMap2(this.div_map); 
		this.map.setCenter(new GLatLng(lat, long), zoom);
		//window.setTimeout(this.addMarkers, 0);
		this.map.addControl(new GSmallZoomControl());
		this.mgr = new GMarkerManager(this.map);
	}
	
	
	// ****  Mètodes
	// Afegeif un marcador en l'array gmarkers
	this.addMark = function(lat,long,text,icona, tipus, nobounds) {
		var marker = null;
		var posn = new GLatLng(lat, long);
	
		var icon = new GIcon();
		if (icona=='')
			icon.image = "/img/google.png";
		else
			icon.image = "/images/"+icona+".jpg";
		
		icon.shadow = "/img/google_shadow.png";
		icon.iconSize = new GSize(20, 34);
		icon.shadowSize = new GSize(40, 34);
		icon.iconAnchor = new GPoint(12, 34);
		icon.infoWindowAnchor = new GPoint(5, 1);
			
		if (!nobounds) {
			if (this.bounds) 
				this.bounds.extend(posn);
			else 
				this.bounds = new GLatLngBounds(posn);
		}
		
		marker = createMarker(posn, text, icon)
		
		this.gmarkers[this.i_markers] = marker;
		this.i_markers++;
	
	}
	
	this.showMarkers = function() {
		if (this.mgr) {
			for (var i=0; i<this.i_markers; i++)
				this.mgr.addMarker(this.gmarkers[i], 3);
			if (this.bounds && this.gmarkers.length>1)
				this.map.setCenter(this.bounds.getCenter(), this.map.getBoundsZoomLevel(this.bounds)-1);
			
			this.mgr.refresh();
		}
	}
}


function createMarker(point, html, icon) {
	var marker = new GMarker(point, icon);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(unescape(html));
	});
	return marker;
}

/*
function SeleccionaDia (y,m,d) {
	var formocult = window.document.forms['formocult'];
	formocult.data.value = d + '-' + m + '-' + y;
	formocult.calendari.value = '';
	
	var options2 = {
		success:	DiaSel_Retorn, 
		dataType:	'html',
		type: 		'POST'
	};
	
	$(formocult).ajaxSubmit(options2);
}

		
// Funció que s'executa després rebre la resposta del servidor
function DiaSel_Retorn(respostaHTML) {
	$('#Calendari_Dades').html(respostaHTML); 
}

*/

function AmagaSelect(param) {
	//if (document.all) document.body.className = "fix";		
	if ($.browser.msie && oldBrowser) {
		if (param) 
			document.body.className = "fix";	
		else 
			document.body.className = "";
	}
}