var http_request = false;
var id = 0;
var category = 0;
var rt = 0;
var thumb = 0;
var host = "";
var popUpBg = new Image();
popUpBg.src="css/imloading.gif";

function createHttpRequest() {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
}

function viewSearch()
{
	var searchBox = imGetLayer("searchBox");
	if (searchBox.style.display=='block')
		searchBox.style.display='none';
	else
		searchBox.style.display='block';
	
}

function alertResString(id) {
	createHttpRequest();
	http_request.onreadystatechange = alertResStringResp;
	http_request.open('GET', host + 'local.php?id=' + id, true);
	http_request.send(null);
}

function alertResStringResp() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			alert(unescape(http_request.responseText));
		}
		else {
			alert('There was a problem with the request.');
		}
	}
}

function viewCategory(id,order,page) {
	createHttpRequest();
	http_request.onreadystatechange = viewCategoryResponse;
	http_request.open('GET', host + 'category.php?cat=' + id + '&order=' + order + '&page=' + page + '&limit=10', true);
	http_request.send(null);
}

function viewCategoryResponse() {
	//alert("ReadyState: "+http_request.readyState+" | Status: "+http_request.status);
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
		  if (document.getElementById('introd')!=null)
        document.getElementById('introd').style.display='none';
        
			document.getElementById('websites').innerHTML = http_request.responseText;
			scroll(0,0);
		}
		else {
			alert('There was a problem with the request.');
		}
	}
}

function resetHistoryButton(lang)
{
  var button= imGetLayer('historyButton');
  button.innerHTML='<a href="index.php"><img src="images/index_page_button_'+lang+'.png" width="218px" height="39px" /></a>';
}

var stop=0;

function viewTemplate(text) {
  imZIZoom(text);
}

function checkRequestForm() {
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(document.getElementById('form_realname').value != "" && document.getElementById("form_email").value != "" && document.getElementById("form_url").value != "" && document.getElementById("form_url").value != "http://" && document.getElementById("form_title").value != "") {
		if(filter.test(document.getElementById("form_email").value)) {
			if(document.getElementById('form_contract').checked)
				return true;
			else {
				alertResString(43);
				return false;
			}
		}
		else {
			alertResString(40);
			return false;
		}
	}
	else {
		alertResString(22);
		return false;
	}
}

function imGetLayer(sName) {return document.all?document.all[sName]:document.getElementById?document.getElementById(sName) : "";}

var tempX = 0
var tempY = 0
var diffX = 0
var diffY = 0
var verticalMov=true;
var scrollTop = 0, scrollLeft = 0;

	
function getMouseXY(e) {
	  if (IE) { 
	  	scrollLeft = document.documentElement.scrollLeft;
	  	scrollTop = document.documentElement.scrollTop;
	    tempX = event.clientX + scrollLeft;
	    tempY = event.clientY + scrollTop;
	  } else {  
	  	scrollLeft = document.body.scrollLeft;
	  	scrollTop = document.body.scrollTop;
	    tempX = e.pageX;
	    tempY = e.pageY;
	  }  
	  
	  if (tempX < 0){tempX = 0}
	  if (tempY < 0){tempY = 0} 
	  
	  var margin=30;
	  //Select the position
	  
	  //Vertical
	  if (tempY + 340/2 > document.body.clientHeight + scrollTop - margin) {
	  	tempY=document.body.clientHeight + scrollTop - margin/2 - 340;
	  }
	  else if (tempY - 340/2 < scrollTop + margin)
	  {
	  	tempY=scrollTop + margin/2;
	  }
	  else {
	  	tempY=tempY - 340/2;
	  }
	  
	  //Lateral	  	
	  if (tempX - scrollLeft > document.body.clientWidth - 450 - 2*margin)
	  	tempX = tempX - 450 - margin;
	  else
	    tempX = tempX + margin;
	  	
	  var imZIdiv_Backg = imGetLayer("imZIPopUp");	 
	  
	  if (imZIdiv_Backg) {

		  imZIdiv_Backg.style.left=tempX+"px";
	 
	 	  if (verticalMov) {
		  	imZIdiv_Backg.style.top=tempY+"px"
		  	verticalMov=false;
		  }
	  }
	  
	  return true
	}

var IE = document.all?true:false
if (!IE) {
	document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = getMouseXY;

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }


function imZIZoom(sCode) {
	thumb = 0;
	var imZIdiv_Backg = imGetLayer("imZIBackg");
	imZIdiv_Backg.innerHTML = "<div id=\"imZIPopUp\" style='top:"+(tempY+15-diffY)+"px; left:"+(tempX+15-diffX)+"px;' >" +unescape(sCode)+ "</div>";	
	imZIdiv_Backg.style.display = "block";
	imZIdiv_Backg = imGetLayer("imZIPopUp");
	imZIdiv_Backg.style.backgroundImage = "url("+popUpBg.src+")";
}

function imZIHide(){
	stop=0;
	verticalMov=1;
	imGetLayer("imZIBackg").style.display = "none";
	imGetLayer("imZIPopUp").innerHtml = "";
}

function backThumb(id,max) {
	var image = document.getElementById("imZIPreview");
	if(thumb == 0)
		thumb = max-1;
	else
		thumb--;
	image.src = host + "files/medium_" + id + "_" + thumb + ".jpg";
	document.getElementById("ThumbNo").innerHTML = thumb+1;
}

function nextThumb(id,max) {
	var image = document.getElementById("imZIPreview");
	if(thumb == max-1)
		thumb = 0;
	else
		thumb++;
	image.src = host + "files/medium_" + id + "_" + thumb + ".jpg";
	document.getElementById("ThumbNo").innerHTML = thumb+1;
}

function changeClass (elementID, newClass) {
  element=imGetLayer(elementID);	
	element.className=newClass;
}

function viewThumb(id, thumb)
{
	//solo per locale
	//var host="http://www.incomedia.info/websitex5.com/templates/";
	
	var i=0;
	while (imGetLayer("img"+i)!=null)
	{
	 changeClass('img'+i, 'wsThumb unselImage');
	 i++;
  }
  
	changeClass('img'+thumb, 'wsThumb selImage');
	var image = imGetLayer("imZIPreview");
	image.src = host + "files/medium_" + id + "_" + thumb + ".jpg";
}

function voteTemplate(id,vote) {
	createHttpRequest();
	http_request.onreadystatechange = voteTemplateResponse;
	http_request.open('GET', host + 'details.php?action=1&id=' + id + '&vote=' + vote, true);
	http_request.send(null);
}

function voteTemplateResponse() {
	var vv = "";
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			results = http_request.responseText.split("|");
			document.getElementById('yv').innerHTML = unescape(results[0]);
			vvr = parseInt(results[1]);
			vv="";
			if(results[1] != "" && vvr >= 1) {
				for(j = 1;j <= vvr;j++)
					vv = vv + "<img src=\"images/star.png\" class=\"imSmall\"/>";
				for(k = vvr+1;k <= 5;k++)
					vv = vv + "<img src=\"images/star_vuota.png\" class=\"imSmall\"/>";
			}
			else
				for(k = 1;k <= 5;k++)
					vv = vv + "<img src=\"images/star_vuota.png\" class=\"imSmall\" />";
			
			//alert("vv:"+vv+" nvv:"+results[2]);
			document.getElementById('vv').innerHTML = vv;
			if (document.getElementById('nvv'))
				document.getElementById('nvv').innerHTML = results[2];
		}
		else {
			//alert('There was a problem with the request.');
		}
	}
}

function fullStars(n) {
	for(i=1;i<=n;i++)
		document.getElementById('s'+i).src = 'images/star.png';
	for(i=n+1;i<=5;i++)
		document.getElementById('s'+i).src = 'images/star_vuota.png';
}
function imSwapImg(oDiv, sImgName) {
if (sImgName != "")
oDiv.style.backgroundImage = "url(" + sImgName + ")"; else
oDiv.style.backgroundImage = ""; 
}
function imOpenLocation(sNewLocation){
document.location = sNewLocation; 
}
