var addAreasDone = 0;
var addSectorsDone = 0;

var addOptions = new Array();

function addAreas(id) {
 if (addOptions[id] == 0 || typeof(addOptions[id]) == "undefined") {
  setUrlAreas(document.getElementById(id), '/yrityshaku/searchOptionsAreas/');
  addOptions[id] = 1;
 }
}

function addAreas2(id) {
 if (addOptions[id] == 0 || typeof(addOptions[id]) == "undefined") {
  setUrlAreas(document.getElementById(id), '/yrityshaku/searchOptionsAreas2/');
  addOptions[id] = 1;
 }
}

function addSectors(id) {
 if (addOptions[id] == 0 || typeof(addOptions[id]) == "undefined") {
  setUrlSectors(document.getElementById(id), '/yrityshaku/searchOptionsSectors/');
  addOptions[id] = 1;
 }
}

function setUrlAreas(elem, url_get) {
 var req = null;
 var str = null;
 ar = new Array();
 if (window.XMLHttpRequest) {
  req = new XMLHttpRequest();
 }
 else if (window.ActiveXObject) {
  req = new ActiveXObject("Microsoft.XMLHTTP");
 }
 req.onreadystatechange = function() {
  if(req.readyState == 4) {
   if(req.status == 200) {
    if (req.responseText.length <= 0) {
     str = "Tapahtui virhe. Kokeile hetken kuluttua uudelleen.";
    }
    else {
     str = req.responseText;
    }
    if(document.all) { // Or any IE testing
     str = '<option value="">Valitse kunta tai alue</option>' + str;
     elem.innerHTML = str;
     elem.outerHTML = elem.outerHTML;
    }
    else {
     elem.innerHTML = str;
    }
   }
  }
 };
 var url = url_get;
 req.open("GET", url, true);
 req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 req.send(null);
 return true;
}

function setUrlSectors(elem, url_get) {
 var req = null;
 var str = null;
 ar = new Array();
 if (window.XMLHttpRequest) {
  req = new XMLHttpRequest();
 }
 else if (window.ActiveXObject) {
  req = new ActiveXObject("Microsoft.XMLHTTP");
 }
 req.onreadystatechange = function() {
  if(req.readyState == 4) {
   if(req.status == 200) {
    if (req.responseText.length <= 0) {
     str = "Tapahtui virhe. Kokeile hetken kuluttua uudelleen.";
    }
    else {
     str = req.responseText;
    }
    if(document.all) { // Or any IE testing
     str = '<option value="">Valitse toimiala</option>' + str;
     elem.innerHTML = str;
     elem.outerHTML = elem.outerHTML;
    }
    else {
     elem.innerHTML = str;
    }
   }
  }
 };
 var url = url_get;
 req.open("GET", url, true);
 req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 req.send(null);
 return true;
}

function showAlert(id,alertTitle,alertText,alertWidth,alertHeight,showOkButton) {
 elemAlert = document.getElementById(id);
 if(elemAlert) {
  var topRow = '<div class="alertTitleRow"><div class="alertTitle">';
  if(alertTitle)
   topRow = topRow + alertTitle;
  topRow = topRow + '</div><div style="margin:3px;width:16px;float:right;cursor:pointer;" onClick="document.getElementById(\''+id+'\').style.display=\'none\';"><img src="/static/index/images/deny.png" /></div></div>';
  var data = topRow + '<div class="alertText">' + alertText + '</div>';
  if(showOkButton)
   data = data + '<div style="float:left;width:100%;text-align:center;"><center><input type="button" class="alertOK" style="cursor:pointer;" value="OK" onClick="document.getElementById(\''+id+'\').style.display=\'none\';"/></center></div>';
    elemAlert.innerHTML = data;
  elemAlert.style.position = 'absolute';
  if(alertWidth != null)
   elemAlert.style.width = alertWidth+"px";
  if(alertHeight != null)
   elemAlert.style.height = alertHeight+"px";
  centerToWindow('divAlert');
  makeDraggable(elemAlert);
  elemAlert.style.display = 'block';
 }
}

function loadToDivWindow(event, elem, url_get, title, width, height, alertText, alertWidth, alertHeight) {
  
 var req = null;
 var str = null;
 ar = new Array();
 if (window.XMLHttpRequest) {
  req = new XMLHttpRequest();
 }
 else if (window.ActiveXObject) {
  req = new ActiveXObject("Microsoft.XMLHTTP");
 }
 req.onreadystatechange = function() {
  if(req.readyState == 1) {
    if(alertText != null) {
      showAlert('divAlert',null,alertText,alertWidth,alertHeight);
    }
  }
  if(req.readyState == 4) {
   if(alertText != null)
    document.getElementById('divAlert').style.display = 'none';
   if(req.status == 200) {
    if (req.responseText.length <= 0) {
     str = "Tapahtui virhe. Kokeile hetken kuluttua uudelleen.";
    }
    else {
     str = req.responseText;
    }
     var topRow = '<div id="ajaxDivTitleRow" style="width:100px;height:20px;background-color:#EE7830;"><div style="line-height:20px;color:white;font-weight:bold;float:left;margin-left:5px;">'+title+'</div><div style="margin:3px;width:16px;float:right;cursor:pointer;" onClick="document.getElementById(\''+elem.id+'\').style.display=\'none\';"><img src="/static/index/images/deny.png" /></div></div>';
     elem.innerHTML = topRow + str;
     elem.style.display = 'block';
     elem.style.position = 'absolute';
     //if(width != null)
      //elem.style.width = width+"px";
     //if(height != null)
      //elem.style.height = height+"px";
     var titleRow = document.getElementById('ajaxDivTitleRow');
     titleRow.style.width = titleRow.parentNode.offsetWidth;
     centerToWindow(elem.id);
     makeDraggable(elem);
   }
  }
 };
 var url = url_get;
 req.open("GET", url, true);
 req.send(null);
}

var origDiffY;
var scrollObjects = new Array();
var scrolling = new Array();

function centerToWindow(id) {
var elem = document.getElementById(id);
if(!elem)
 return false;

var scrolly = parseFloat((document.all)?document.documentElement.scrollTop:window.pageYOffset);
var scrollx = parseFloat((document.all)?document.documentElement.scrollLeft:window.pageXOffset);
var elemWidth = elem.offsetWidth;
var elemHeight = elem.offsetHeight;
var docWidth = parseFloat((document.documentElement.clientWidth)?document.documentElement.clientWidth:document.body.clientWidth);
var docHeight = parseFloat((document.documentElement.clientHeight)?document.documentElement.clientHeight:document.body.clientHeight);

elem.style.left = (docWidth / 2) - scrollx - (parseFloat(elemWidth) / 2) + 'px';
elem.style.top = (docHeight / 2) + scrolly - (parseFloat(elemHeight) / 2) + 'px';

return true;
}

function setDivScroll(id){

if(!scrollObjects[id]){
scrollObjects.push(document.getElementById(id));
scrolling[id.toString()] = false;
}
if(window.addEventListener)
window.addEventListener('scroll',setPositionAfterScroll, false);
else
window.attachEvent('onscroll',setPositionAfterScroll);

var obj = document.getElementById(id);

orig_scrolly = (document.all)?document.documentElement.scrollTop:window.pageYOffset;
orig_scrollx = (document.all)?document.documentElement.scrollLeft:window.pageXOffset;
origX = obj.style.left;
origY = obj.style.top;
origDiffX = parseFloat(origX) - parseFloat(orig_scrollx);
origDiffY = parseFloat(origY) - parseFloat(orig_scrolly);

}

function setPositionAfterScroll(evt){
var i;
for(i=0;i<scrollObjects.length;i++){
var obj = scrollObjects[i];
var scrolly = parseFloat((document.all)?document.documentElement.scrollTop:window.pageYOffset);
var scrollx = parseFloat((document.all)?document.documentElement.scrollLeft:window.pageXOffset);

obj.style.top = scrolly + origDiffY + 'px';
//if(scrolling[obj.id] == false)
//slideObject(obj.id,scrolly + origDiffY);
}
}//setPositionAfterScroll

function slideObject(obj_id,pos){
var i;
var obj = document.getElementById(obj_id);

scrolling[obj.id] = true;
var cur_pos = parseFloat(obj.style.top);

//alert(cur_pos+' <--> '+pos);
if(cur_pos < pos){
obj.style.top = cur_pos + 1 + 'px';
if(parseFloat(obj.style.top) != pos)
setTimeout('slideObject("'+obj.id+'",'+pos+')',1);
else
scrolling[obj.id] = false;
}
else if(cur_pos > pos){
obj.style.top = cur_pos - 1 + 'px';
if(parseFloat(obj.style.top) != pos)
setTimeout('slideObject("'+obj.id+'",'+pos+')',1);
else
scrolling[obj.id] = false;
}

}//slideObject

function getMouseOffset(target, ev){
ev = ev || window.event;

var docPos    = getPosition(target);
var mousePos  = mouseCoords(ev);
return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}

function getPosition(e){
var left = 0;
var top  = 0;

while (e.offsetParent){
left += e.offsetLeft;
top  += e.offsetTop;
e     = e.offsetParent;
}

left += e.offsetLeft;
top  += e.offsetTop;

return {x:left, y:top};
}

function mouseCoords(ev){
if(ev.pageX || ev.pageY){
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop  - document.body.clientTop
};
}

var dragObject = null;

function mouseMove(ev){
ev           = ev || window.event;
var mousePos = mouseCoords(ev);

if(dragObject){
dragObject.style.position = 'absolute';
dragObject.style.top      = mousePos.y - mouseOffset.y + 'px';
dragObject.style.left     = mousePos.x - mouseOffset.x + 'px';

return false;
}
}
function mouseUp(){
if(dragObject){
setDivScroll(dragObject.id);
dragObject = null;
}
}

function makeDraggable(item){
if(!item) return;
var tmp = item.getElementsByTagName('div');
var title = tmp[0];

document.onmousemove = mouseMove;
document.onmouseup   = mouseUp;

title.onmousedown = function(ev){
var obj = document.getElementById(item.id);
dragObject  = obj;
mouseOffset = getMouseOffset(obj, ev);
return false;
}

title.onmouseover = function(ev){
this.style.cursor = 'default';
}
}


function loadToDiv(elem, url_get) {alert('here');
 var req = null;
 var str = null;
 ar = new Array();
 if (window.XMLHttpRequest) {
  req = new XMLHttpRequest();
 }
 else if (window.ActiveXObject) {
  req = new ActiveXObject("Microsoft.XMLHTTP");
 }
 req.onreadystatechange = function() {
  if(req.readyState == 4) {
   if(req.status == 200) {
    if (req.responseText.length <= 0) {
     str = "Tapahtui virhe. Kokeile hetken kuluttua uudelleen.";
    }
    else {
     str = req.responseText;
    }
     elem.innerHTML = str;
   }
  }
 };
 var url = url_get;
 req.open("GET", url, true);
 req.send(null);
}

function callFile(url_get,confirm_text) {

 if(confirm_text) {
  var answer = confirm(confirm_text);
  if(!answer)
    return false;
 }

 var req = null;
 var str = null;
 ar = new Array();
 if (window.XMLHttpRequest) {
  req = new XMLHttpRequest();
 }
 else if (window.ActiveXObject) {
  req = new ActiveXObject("Microsoft.XMLHTTP");
 }
 req.onreadystatechange = function() {
  if(req.readyState == 4) {
   if(req.status == 200) {
    if (req.responseText.length <= 0) {
     str = "Tapahtui virhe. Kokeile hetken kuluttua uudelleen.";
    }
    else {
     str = req.responseText;
    }
     if(str != null && str.length > 0)
      alert(str);
   }
  }
 };
 var url = url_get;
 req.open("GET", url, true);
 req.send(null);
}

function sendOrder(event) {
 var phone = document.getElementById('orderPhone').value;
 var email = document.getElementById('orderEmail').value;
 if(phone.length == 0 && email.length == 0){
  showAlert('divAlert',"Virhe tiedoissa","Syötä ainakin puhelinnumero tai sähköpostiosoite yhteystietoihin",200,120,true);
  return;
 }
 loadToDivWindow(event,document.getElementById('divDomainSearch'),'/static/index/pages/domainhaku/domainOrder.php?orderDomain='+document.getElementById('orderDomainName').value+'&orderYears='+document.getElementById('orderDomainYears').value+'&orderName='+document.getElementById('orderName').value+'&orderCompany='+document.getElementById('orderCompany').value+'&orderPhone='+document.getElementById('orderPhone').value+'&orderEmail='+document.getElementById('orderEmail').value+'&orderInfo='+document.getElementById('orderInfo').value,'Lähetys','','','Tilausta lähetetään','','');
}
