var initLeft;
var initTop;
var result;
var browser = navigator.appName;

Array.prototype.remove=function(s){
  for(i=0;i<this .length;i++){
	if(s==this[i]) this.splice(i, 1);
  }
}

function editLoc(id){
	var brak = $('DIVBTN' + id);
	var params = 'postbody:process=populate&id:'+ id;
	startProgress();
	new Ajax.Updater('feedback', 'updater.php', {insertion:Insertion.Top, asynchronous:true, onComplete: showResponse, evalScripts: true, postBody:'process=populate&id='+id});
	
	$('process').value = 'update';
	new Draggable(brak, {} );
	
	
	$('DIVLNK' + id).removeAttribute("href");
	var elementList = document.getElementsByClassName("mapPin");
	
	elementList.remove(brak);
	for(i=0;i<elementList.length;i++) {
		//alert(elementList[i])
		makeInactive(elementList[i]);
	}
	getPos(brak);
	//brak.onMouseUp= getPos(brak); 
	brak.setAttribute("onMouseUp", "getPos(	$('DIVBTN" + id + "')	)");
	
}

function makeInactive(div){
	Effect.Fade(div, {to:.25, duration: .25});
	
}

function reactivate(){
	var elementList = document.getElementsByClassName("mapPin");
	
	for(i=0;i<elementList.length;i++) {
		makeActive(elementList[i]);
	}
}

function makeActive(div){
	Effect.Fade(div, {to:1, duration: .25});
}


function newLoc(){
	var brak = $('newLoc');
	document.editLoc.reset();
	Effect.Appear('formArea', { duration: 0.5 });
	new Draggable(brak, {} );
	var elementList = document.getElementsByClassName("mapPin");
	
	elementList.remove(brak);
	for(i=0;i<elementList.length;i++) {
		//alert(elementList[i])
		makeInactive(elementList[i]);
	}
	getPos(brak);
	brak.onMouseUp= getPos(brak); 
	
}

saved = function(req){
	var response = req.responseText;
	//$('name').value = result["name"];
}

showResponse = function(req){
	var response = req.responseText;
	Effect.Appear('formArea');
	endProgress();
	//$('name').value = result["name"];
}

function getPos(obj) {
var browser = navigator.appName;
	var curleft = curtop = 0;
	var boxLeft=$('locMap').offsetLeft;
	var boxTop=$('locMap').offsetTop;
	
if(browser == "Microsoft Internet Explorer"){
	var initLeft=obj.offsetLeft;
	var initTop=obj.offsetTop;
}
	//Solve issue about get relative position on Internet Explorer
	
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
$('cord-x').value = curleft;
$('cord-y').value = curtop;
}				

function send(){
var process = $F('process');
var params = Form.serialize($('editLoc'));
startProgress();
	//new Ajax.Updater('formArea', 'updater.php?process=' + process, {asynchronous:true, parameters:params});
	new Ajax.Updater('feedback', 'updater.php', {insertion:Insertion.Top, asynchronous:true, onComplete: showResponse, evalScripts: true, postBody:params});
}

function discard(){
	reactivate();
	Effect.Fade('formArea');
	if($('newLoc')){
		Element.remove(	$('newLoc')		);
	}else{
	
		$('DIVBTN' + $F('id')).setAttribute("onMouseUp", "getPos(	$('DIVBTN" + $F('id') + "')	)");
	}
	document.editLoc.reset();
	
}

function deleteMe(){
	
	if($('newLoc')){
		Element.remove(	$('newLoc')		);
		Effect.Fade('formArea');
	}else{
		startProgress();
		$('process').value = 'delete';
		var params = Form.serialize($('editLoc'));
		new Ajax.Updater('feedback', 'updater.php', {insertion:Insertion.Top, asynchronous:true, onComplete: showResponse, evalScripts: true, postBody:params});
	}
	document.editLoc.reset();
	reactivate()
}

function addNew(){
element = 
	Builder.node('div',{id:'newLoc', style:'width: 11px; height: 11px; position: absolute; left: 90px; top:200px; z-index: 105; visibility: visible;',className:'mapPin'},[
		Builder.node('a', {href:'javascript:newLoc()', id:'newLink'},[
			Builder.node('img', {src:MID_PATH+'images/mapPin-new.gif', border:'0', id:'newPin'}),
		]),
	]);
	$('process').value = 'newLoc';
  $('locMap').appendChild(element);
  Effect.Pulsate($('newLoc'));
  newLoc();
}

function confirmation() {
	var answer = confirm("Are you sure you want to delete this location?")
	if (answer){
		deleteMe();
	}
	else{
		
	}
}

function startProgress () {
          Effect.Appear('loadingGfx',{duration:1});
          }

function endProgress () {
         Effect.Fade('loadingGfx',{duration:1});
          }
		  
function flashFeedback(message){
	
	Effect.Appear('feedback',{duration:.25});
	setTimeout(function(){Effect.Fade('feedback',{duration:.25})}, 2000);
	
}

function clearFeedback(){
	$('feedback').innerHTML = '';
}

function init() {
		$('formArea').style.display='none';
		document.editLoc.reset();
}


/*---------THESE ARE FUNCS FOR THE VIEW PAGE---------*/

function activatePop(id){
	new Effect.Appear('DIVPOP'+id, { queue: 'front'});
}

function deactivatePop(id){
	setTimeout(	function(){ 		Effect.Fade(	'DIVPOP'+id,{duration:.25,  queue: 'end'}	)	}, 2000	);
}

function dePop(id){
	$('DIVPOP'+id).effect.cancel();
}

