var myEventListener;
var gmap;
/* google maps */

// this makes pandabear cry
function $(el) {
	return YAHOO.util.Dom.get(el);
}

function realLoader(lat,lng) {
   if (GBrowserIsCompatible()) {
     gmap = new GMap2(document.getElementById("map"));
     gmap.setCenter(new GLatLng(lat,lng), 10);
     gmap.addControl(new GSmallMapControl());
     gmap.addControl(new GMapTypeControl());
     gmap.enableScrollWheelZoom();
   }
}

function load(lat,lng) {
	//window.setTimeout('realLoader('+lat+','+lng+');',300);
	realLoader(lat,lng);
}


function kollaNummer(nummer){
	res = /[0-9\-\ ]{9,15}/;
	return res.test(nummer);
}


function skickaSMS(nummer) {

var callback =
{
  success: function(o) {
  	try {
  		var prod = [];
  		//console.log(o.responseText);
    	var prod = YAHOO.lang.JSON.parse(o.responseText);
	} catch (e) {
    	alert("Invalid JSON data");
	}
	//console.log(prod);
	$('result').innerHTML = prod[0].msg;
	new YAHOO.widget.Effects.Appear('result');
  },
  failure: function(o) {  alert('Misslyckades med att skicka sms'); }
}

if (kollaNummer(document.getElementById('number').value)) {
	$('result').innerHTML = '<img src="yui/assets/load.gif" alt="" />';
	var transaction = YAHOO.util.Connect.asyncRequest('POST', 'sms.php', callback, 'number='+nummer);
} else {
	$('result').innerHTML = 'Detta ser inte ut som ett korrekt mobil-nummer.';
} 
}

function visaEmbedd() {

var callback =
{
  success: function(o) {
  	try {
  		var prod = [];
  		//console.log(o.responseText);
    	var prod = YAHOO.lang.JSON.parse(o.responseText);
	} catch (e) {
    	alert("Invalid JSON data");
	}
	//console.log(prod);
	$('code_result').innerHTML = prod[0].msg;
	
	//alert(prod[0].co);
	$('kod').innerHTML = prod[0].code;
	//$('kod').innerHTML = prod[0].code_html;
	$('livekod').innerHTML = prod[0].code_html;
	new YAHOO.widget.Effects.Appear('code_result');
  },
  failure: function(o) {  alert('Misslyckades med att visa embeddkod.'); }
}
$('code_result').innerHTML = '<img src="yui/assets/load.gif" alt="" />';
$('code_show').style.display = 'block';
typ = $('statisk').checked ? 'statisk' : 'dynamisk';	
var transaction = YAHOO.util.Connect.asyncRequest('GET', 'embeddkod.php?typ='+typ+'&internid='+$('internid').value, callback, null); 
}


function fetchLocNames(el) {
var callback =
{
  success: function(o) {  		
  	try {
  		var prod = [];
  		//console.log(o.responseText);
    	var prod = YAHOO.lang.JSON.parse(o.responseText);
	} catch (e) {
    	alert("Invalid JSON data");
	}
	//console.log(prod);
	
	lat = prod[0].lat;
	lon = prod[0].lon;
	mymsg = prod[0].msg;
	
	$(prod[0].ref_id).innerHTML = '<a href="#" onclick="gmap.setCenter(new GLatLng('+lat+','+lon+'), 13); return false;">'+mymsg+'</a>';

	
  },
  failure: function(o) {alert('Kunde inte hämta ortsnamn'); }
}


ref= getElementsByClassName('lookmeup', 'span', $('magiclist'));


for (i=0;i<ref.length;i++) {
	lat=ref[i].childNodes[0].innerHTML;
	lng=ref[i].childNodes[1].innerHTML;
	pid=ref[i].id;
	var transaction = YAHOO.util.Connect.asyncRequest('GET', 'ajax_pos2name.php?lat='+lat+'&lng='+lng+'&pid='+pid, callback, null);
}

 
	
}
function loadMarkers(pos) {
	
	for (i in pos) {
		var point = new GLatLng(pos[i][0],pos[i][1]);
    	myMarker = new GMarker(point);
    	
		var k = new Object();
		k.userid = pos[i][2];
		k.tid = pos[i][3];
					
		k.myMarker = myMarker;
					
					
		k.doIt = function() {
			this.myMarker.openInfoWindowHtml("Användare #"+this.userid+" var här för "+this.tid+" sedan");
		 };
					
		GEvent.bind(myMarker,"click",k,k.doIt);
		gmap.addOverlay(myMarker);				
    }
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function toggleEmbeddKod() {

	choice = $('embeddchoice');
	if (choice.className == 'hidden') { // show
		choice.className = 'visible'; 
		$('embeddarea').style.display='block';
		choice.onclick = function() { return false; };
		eff = new YAHOO.widget.Effects.BlindDown($('embeddarea'), { delay: true });
 		eff.onEffectComplete.subscribe(function() { 
			choice = $('embeddchoice');
			choice.onclick = function() { toggleEmbeddKod(); return false; };
			choice.innerHTML = 'Dölj embeddkod';	
		});
	} else {
		choice.className = 'hidden';
		eff = new YAHOO.widget.Effects.BlindUp($('embeddarea'));
		choice.onclick = function() { return false; };
		eff.onEffectComplete.subscribe(function() {
			choice = $('embeddchoice');
			choice.onclick = function() { toggleEmbeddKod(); return false; };
			choice.innerHTML = 'Visa embeddkod';
		});
		
	}
	eff.animate();
	

}

function doeljMig() {
var callback =
{
  success: function(o) {  		
  	try {
  		var prod = [];
  		//console.log(o.responseText);
    	var prod = YAHOO.lang.JSON.parse(o.responseText);
	} catch (e) {
    	alert("Invalid JSON data");
	}
	//console.log(prod);
	$(prod[0].ref_id).innerHTML = prod[0].msg;
	//if ($('li_'+prod[0].userid)) 
	//	$('magiclist').removeChild($('li_'+prod[0].userid));
	

	
  },
  failure: function(o) {alert('Kunde inte uppdatera status'); }
}

var transaction = YAHOO.util.Connect.asyncRequest('POST', 'ajax_doelj.php', callback, 'internid='+$('internid').value);

}

function visaSettings() {
	
	
var callback =
{
  success: function(o) {
  	try {
  		var prod = [];
    	var prod = YAHOO.lang.JSON.parse(o.responseText);
	} catch (e) {
    	alert("Invalid JSON data");
	}
	//console.log(prod);
	if (prod[0].msg == 'OK') {
		window.location = prod[0].url;
	} else {
		$('msg').innerHTML = prod[0].msg;
	}
  },
  failure: function(o) {  alert('Misslyckades med att visa embeddkod.'); }
}
	
if ($('internid').value.length!=8) {
	$('msg').innerHTML = 'Vänligen fyll i ditt interna användarid på 8 tecken.';
	return false;
}
var transaction = YAHOO.util.Connect.asyncRequest('GET', 'ajax_verifiera.php?internid='+$('internid').value, callback, null); 
}
	

function getWindowHeight()
{
if (document.all)
    {
return document.body.offsetHeight;
    }
else 
    {
return window.innerHeight;
    }
}

function getWindowWidth()
{
if (document.all)
    {
return document.body.offsetWidth;
    }
else 
    {
return window.innerWidth;
    }
}