/*
document.oncontextmenu = function()
{
	alert('?2004-2007 Mapcity.com Chile S.A. , Todos los Derechos Reservados.');
	return false
}
*/

var slider;

function inicio_mapcity(idCiudad)
{
	init_2_0(idCiudad);
	if ($('slider_track'))
	{
		slider = new Control.Slider('slider_handle','slider_track',{
			onSlide:function(v){ 
				if(map_2_0.getLayerIndex(layer_satelite_chile) == -1){
					ver_layer('satelite');
				}			
				layer_base_chile.setVisibility(true);
				layer_satelite_chile.setOpacity(v);
			},
			onChange:function(v){
				if(v==0){
					if(map_2_0.getLayerIndex(layer_satelite_chile) > -1){
						//ver_layer('mapa');
						
						layer_satelite_chile.setOpacity(v);
						hideFormBuscador();
						change_style('mapa_1','menu_map_off');
						change_style('mapa_0','mapa-on');
						change_pest('mapa','1','mapa-on');
						changeImage('menu_mapa_0','idx-busq02d.gif');
						changeImage('menu_mapa_1','idx-busq03.gif');
					}
					layer_base_chile.setVisibility(true);				
				}else{
					
					if(map_2_0.getLayerIndex(layer_satelite_chile) == -1){
						ver_layer('satelite');
					}
					layer_base_chile.setVisibility(true);
					layer_satelite_chile.setOpacity(v);
					
					if(v==1){
						//ver_layer('satelite');
						hideFormBuscador();
						change_style('mapa_1','mapa-on');
						change_style('mapa_0','menu_mapa_off');
						change_pest('mapa','3','mapa-on');
						changeImage('menu_mapa_0','idx-busq03.gif');
						changeImage('menu_mapa_1','idx-busq04d.gif');
					}
				}
			}
		});
	}
}

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_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

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_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 mOvr(src,clrOver){
 if (!src.contains(event.fromElement)){
  src.style.cursor = 'hand';
  src.className = clrOver;
 }
}
function mOut(src,clrIn){
 if (!src.contains(event.toElement)){
  src.style.cursor = 'hand';
  src.className = clrIn;
 }
}
function mClk(src)
{
	if(event.srcElement.tagName=='TD')
	{
		src.children.tags('A')[0].click();
	}
}

isOPERA = (navigator.userAgent.indexOf('Opera') >= 0)? true : false;
isIE    = (document.all && !isOPERA)? true : false;
isDOM   = (document.getElementById && !isIE && !isOPERA)? true : false;

function MM_showHideLayers() { //v6.0

	//delay(1500);
	var i,p,v,obj,args=MM_showHideLayers.arguments;
	for (i=0; i<(args.length-2); i+=3)
		if ((obj=MM_findObj(args[i]))!=null)
		{
			v=args[i+2];
	    	if (obj.style)
			{
				v=(v=='show')?'visible':(v=='hide')?'hidden':v;
			}
		    obj.style.visibility=v;
		}

}

function MM_showHideIframe( obj, display ) {
	var IfrRef = document.getElementById('DivShim');
	IfrRef.style.width = obj.offsetWidth;
	IfrRef.style.height = obj.offsetHeight;
	IfrRef.style.top = obj.style.top;
	IfrRef.style.left = obj.style.left;
	IfrRef.style.zIndex = obj.style.zIndex - 1;
	//obj.style.visibility='visible';
	obj.style.display = ((display=='block')?'block':'none');
	IfrRef.style.display = ((display=='block')?'block':'none');
}

function change_ico(img,url,objInput) {
	if (isDOM){
		document.getElementById(img).src=url;
	} else if (isIE) {
		document.all[img].src=url;
	}
	objInput.value = url;
}
function loadValue(objInput, value) {
	objInput.value = value;
}

function busquedaCheckin(obj, theForm) {

	if(obj.selectedIndex!=0) {
		theForm.GenRuta.disabled=false;
	} else {
		theForm.GenRuta.checked=false;
		theForm.STransito.checked=false;
		theForm.GenRuta.disabled=true;
		theForm.STransito.disabled=true;
	}
}
function busquedaCheckinRuta(obj, theForm) {
	if(obj.selectedIndex!=0) {
		theForm.GenRuta.disabled=false;
	} else {
		theForm.GenRuta.checked=false;
		theForm.GenRuta.disabled=true;
	}
}
function busquedaCheckinOff(obj, theForm) {
	if(obj.selectedIndex!=0) {
		theForm.STransito.disabled=false;
	} else {
		theForm.STransito.checked=false;
		theForm.STransito.disabled=true;
	}
}

function checkTransito(obj, theForm) {
	if ((theForm.Altura1.value == "") && (theForm.NombreViaInt1.value == ""))
	{

		alert ("Esta opci?n se puede utilizar solo con direcci?n o intersecci?n");
		theForm.GenRuta.checked=false;
		return false;
	}
	if(obj.checked) {
		theForm.STransito.disabled=false;
	} else {
		theForm.STransito.checked=false;
		theForm.STransito.disabled=true;
	}
}

varcerrarmenu = new Array ();
var IMlayer;
function cerrarmenu(layername){
	varcerrarmenu[layername] = true;
	IMlayer = layername;
	setTimeout("cierra()","500");
}
function cierra(){
	if(varcerrarmenu[IMlayer]){
		hideIMLayer(IMlayer,'','hide');
	}
}



function showIMLayer(nameDiv, x) {
	var DivRef = document.getElementById(nameDiv);
	var IfrRef = document.getElementById(nameDiv + '_lay');

	DivRef.style.display = "block";
	IfrRef.style.width = DivRef.offsetWidth;
	IfrRef.style.height = DivRef.offsetHeight;
	IfrRef.style.top = DivRef.style.top;
	IfrRef.style.left = DivRef.style.left;
	IfrRef.style.zIndex = DivRef.style.zIndex - 1;
	IfrRef.style.display = "block";
}

function hideIMLayer(nameDiv, x) {
	var DivRef = document.getElementById(nameDiv);
	var IfrRef = document.getElementById(nameDiv + '_lay');
	IfrRef.style.display = "none";
	DivRef.style.display = "none";
}

function delay(gap){ /* gap is in millisecs */
	var then,now; then=new Date().getTime();
	now=then;
	while((now-then)<gap)
	{
		now=new Date().getTime();
	}
}



var currenty;
var starty;
var endy;
var direction;
var speed=5;

/* funcion changeheight recibe altura final, y 0 para la recursion*/
function changeheight2(end,beg,name){
	e=document.getElementById(name).style;
	var tmp=parseInt(e.height);
	currenty=parseInt(tmp);
	endy=parseInt(end);
	if(beg==0){
		if(parseInt(currenty)==parseInt(endy)) return;
		if(parseInt(endy)>parseInt(currenty)) direction=1;
		else direction=-1;
 	}
 	if(parseInt(currenty)==parseInt(endy)) return;
 	currenty=parseInt(currenty)+parseInt(speed*direction);
 	e.height = parseInt(currenty);
	if(parseInt(currenty)==parseInt(endy)) return;
  	t=setTimeout("changeheight2("+endy+",1,'"+name+"');",0);
}


  var bikky = document.cookie;

  function getFirstTimeCookie(name) { // use: getCookie("name");
    var index = bikky.indexOf(name + "=");
    if (index == -1) return null;
    index = bikky.indexOf("=", index) + 1; // first character
    var endstr = bikky.indexOf(";", index);
    if (endstr == -1) endstr = bikky.length; // last character
    return unescape(bikky.substring(index, endstr));
  }

function AsignaResolucion(formulario)
{
	formulario.screenwidth.value = screen.width;
	formulario.screenheight.value = screen.height;
}

/* Funci?n para enviar por E-Mail un mapa*/
function email()
{
	var ancho,alto,top,feft;
	var argumentos;
	var url;
	var url2;

	ancho = screen.width;
	alto = screen.height;
	left = (ancho / 2) - 165;
	top = (alto / 2) - 118;
	
	bound = map_2_0.getExtent();

	boundsObj=map_2_0.getExtent();	
	x_left = boundsObj.left;
	y_bottom = boundsObj.bottom;
	x_right = boundsObj.right;
	y_top = boundsObj.top;
	SizeObj = map_2_0.getSize();
	w_Imagen = SizeObj.w;
	h_Imagen = SizeObj.h;
	var lonlat_dir=new OpenLayers.LonLat($('lon').value,$('lat').value);
	var lon_dir= lonlat_dir.lon;
	var lat_dir= lonlat_dir.lat;
	pixel_pos=map_2_0.getPixelFromLonLat(lonlat_dir);

	argumentos = CreaListaArgumentos(document.direcc);
	url2="formularioEmail.asp?xmin=" +x_left +"&ymin=" +y_bottom + "&xmax=" +x_right + "&ymax=" + y_top + "&lon_pix="+pixel_pos.x + "&lat_pix="+pixel_pos.y + "&WIDTH=" + w_Imagen + "&HEIGHT=" + h_Imagen + "&lon_dir=" + lon_dir  + "&lat_dir=" + lat_dir;
	re=/ /g;
	url=url2.replace(re,'+');

	//OpenWin((url),"Email","scrollbars=no,menubar=no,width=330,height=235");

	verVentanaPrototype('mail',url);
}

function CreaListaArgumentos(formulario)
{
	var Campo="";
	var Valor="";
	var ListaCampos="";
	for ( var i=0;i<formulario.elements.length;i++)
	{
		Campo="";
		Valor="";
		if ( formulario.elements[i].type == "checkbox" )
		{
			if ( formulario.elements[i].checked )
			{
				Campo=formulario.elements[i].name;
				Valor=formulario.elements[i].value;
			}
		}
		else
		{
			if ( formulario.elements[i].type == "radio" )
			{
				if (formulario.elements[i].checked)
				{
					Campo=formulario.elements[i].name;
					Valor=formulario.elements[i].value;
				}
			}
			else
			{
				Campo=formulario.elements[i].name;
				Valor=formulario.elements[i].value;
			}
		}
		if ( (Campo != "") && (Valor != "") )
		{
			ListaCampos = ListaCampos + Campo + '=' + Valor + '&';
		}
	}
	return ListaCampos;
}

/* Funci?n que abre ventana para agregar foto a una direeci?n*/
function AgregarFoto(Ciudad,sTipoVia1,sNombreVia1,sAltura1,sComuna1,sPunto_X,sPunto_Y,sIdArco)
{
	var ancho,alto,top,feft;
	var url;

	ancho = screen.width;
	alto = screen.height;
	left = (ancho / 2) - 165;
	top = (alto / 2) - 225;

	url = "http://betabeta.tester.com/subirfoto2.asp?ciudad=" + Ciudad + "&tipovia=" + sTipoVia1 + "&nombrevia=" + sNombreVia1 + "&altura=" + sAltura1 + "&comuna=" + sComuna1 + "&este=" + sPunto_X + "&norte=" + sPunto_Y + "&idarco=" + sIdArco;
	
	verVentanaPrototypeIFrame('subirfoto',url);
	//OpenWin((url),"AgregarFoto","scrollbars=no,menubar=no,width=330,height=450,top=" + top + ",left=" + left + "");

}

/* Funci?n para centrar la pantalla del mapa*/
function centrarMapa()
{
//location.reload(true);

	




	X1 = $('Punto_X').value;
	Y1 = $('Punto_Y').value;
	X2 = $('Punto_X2').value;
	Y2 = $('Punto_Y2').value;

	if (X2 > 0){
		
		if(X1 >= X2){
			XMIN = X2 - 62;
			XMAX = X1 - 62;
		}else{
			XMIN = X1 - 62;
			XMAX = X2 - 62;
		}
		if(Y1 >= Y2){
			YMIN = Y2 - 40;
			YMAX = Y1 - 40;
		}else{
			YMIN = Y1 - 40;
			YMAX = Y2 - 40;
		}
	}else{
		XMIN = X1 -62;
		YMIN = Y1 -40;
	}
		var srid = 29179;
		var opt={
			method:'post',
			onSuccess:function(transport){
				
				resObj=transport.responseText.evalJSON(true);
				XMIN_GEO = resObj.X;
				YMIN_GEO = resObj.Y;
				var LonLat_MIN= new OpenLayers.LonLat(XMIN_GEO,YMIN_GEO);
				if(X2 > 0){
					var opt_x2 = {
						method:'post',
						onSuccess:function(transport_x2){
							
							resObj_x2=transport_x2.responseText.evalJSON(true);
							XMAX_GEO = resObj_x2.X;
							YMAX_GEO = resObj_x2.Y;
							var LonLat_MAX= new OpenLayers.LonLat(XMAX_GEO,YMAX_GEO);
							var bound = new OpenLayers.Bounds(XMIN_GEO,YMIN_GEO,XMAX_GEO,YMAX_GEO);
							
							map_2_0.zoomToExtent(bound);
						},
						onFailure:function(){
							alert('Lo sentimos, el mapa no pudo ser centrado');
						}
					};
					new Ajax.Request('FuncionesGIS.asp?codEntrada='+srid+'&codSalida=4326&geometry=POINT('+XMAX+' '+YMAX+')',opt_x2);
				}else{
					map_2_0.panTo(LonLat_MIN);
				}
			},
			onFailure:function(){
				alert('Lo sentimos, su consulta (centrar) no pudo ser procesada');
			}
		};
		

		new Ajax.Request('FuncionesGIS.asp?codEntrada='+srid+'&codSalida=4326&geometry=POINT('+XMIN+' '+YMIN+')',opt);

}