var picsArray;
var picsOffset = 0;
var picsCount;
var picActual = -1;
var size = 3;

var hwCallBackMultimedia = {
	getPictureList:function(result)
	{	
		if(result.code==0){
			picsCount = result.message.total_results;
			picsArray = result.message.results;
			disableButtons('pic');
			picActual = -1;
			showPic(0);
		}			
	},
	getVideosList:function(result)
	{				
		videosCount = result.message.total_results;
		videosArray = result.message.results;
		disableButtons('vid');
		videoActual = -1;
		showVid(0);		
	},
	sendContactFormIfValidWord:function(result)
	{	
		if (result.code == 1) {
			document.getElementById('alert_message').innerHTML = result.message;
			document.getElementById('send_mail').disabled = false;
			form.email_visitor.value = "";
			form.message.value = "";
			form.word.value = "";
			new_captcha_image();
			document.getElementById('alert_message').style.display='block';
			return false;
		} else {
			form = document.getElementById('contactProviderForm');
			document.getElementById('send_mail').disabled = false;
			document.getElementById('alert_message').innerHTML = result.message;
			document.getElementById('alert_message').style.display='block';
			form.word.value = "";
			form.word.focus();
			
			new_captcha_image();
			return false;
		}
	}	
};

function toggleButton(id){
	button =  document.getElementById(id);
	if (button.disabled){
		if(id.substr(0,3)!='vid'){
			button.disabled = false;
		}
		button.className = 'active';	
	}
	else{
		if(id.substr(0,3)!='vid'){
			button.disabled = true;		
		}
		button.className = 'inactive';	
	}	
}
function disablePrevNext(){
		if(picsCount!=undefined){
			if ((picsOffset-1)>=0){	
				document.getElementById('previouspic').disabled = false;
				document.getElementById('previouspic').className = 'active';	
			}
			else{
				document.getElementById('previouspic').disabled = true;	
				document.getElementById('previouspic').className = 'inactive';	
			}
			if ((picsOffset+1)<picsCount){	
				document.getElementById('nextpic').disabled = false;
				document.getElementById('nextpic').className = 'active';	
			}
			else{
				document.getElementById('nextpic').disabled = true;
				document.getElementById('nextpic').className = 'inactive';	
			}
	}	
}

function disableButtons(preffix){
	var button;	
	for(i=1;i<=3;i++){
		button = document.getElementById(preffix+i);		
		button.disabled = true;
		button.className = 'inactive';
		button.style.visibility = 'hidden';
	}
	if (preffix=='pic'){
		for (i=0;((i<picsArray.length)&&(i<3));i++){
			button = document.getElementById(preffix+(i+1));
			button.disabled = false;
			button.innerHTML = i+1+picsOffset;			
			button.style.visibility = 'visible';
			button.className = 'active';		
		}	
	}	
}

function showPic(number)
{
	 var imagefordisplay = document.getElementById('image_display'); 
	 var lblPhoto = document.getElementById('lblTitlePhoto');	 
	 imagefordisplay.src = picsArray[number].picturepath;	 
	 if(picsArray[number].description!=null){
	 	lblPhoto.innerHTML = picsArray[number].description;
	 }
	 else{
	 	lblPhoto.innerHTML ='';
	 }
	 initImage();	 
	 if(picActual>=0)
	 	toggleButton('pic'+(picActual+1)); 
	 picActual = number;	 
	 toggleButton('pic'+(number+1));	 
	 disablePrevNext();
}

function showVid(number)
{
	 var imagefordisplay = document.getElementById('video-container');  
	 var lblVideo = document.getElementById('lblTitleVideo');	 	 
	 lblVideo.innerHTML = videosArray[number].description;
	 imagefordisplay.innerHTML = videosArray[number].videopath;
}

function loadPics(order, offset){	
	if ((order=='previous')&&((picsOffset-1)>=0)){	
		picsOffset-=1;
	}
	else if((order=='next')&&((picsOffset+1)<picsCount)){
		picsOffset+=1;
	}		
	return proxy.getPictureList(actualListing, size, picsOffset);
}

function loadVideos(order, offset){
	if ((order=='previous')&&((videosOffset-size)>=0)){	
		videosOffset-= size;
	}
	else if((order=='next')&&((videosOffset+size)<videosCount)){
		videosOffset+= size;
	}	
	return proxy.getVideosList(actualListing, size,  videosOffset);
}

//Funciones para cargar imagen de Loading
function initImage() {
  imageId = 'image_display';
  image = document.getElementById(imageId);
  setOpacity(image, 0);
  image.style.visibility = 'visible';
  fadeIn(imageId,0);
}

function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

function fadeIn(objId,opacity) {
  if (document.getElementById) {
    obj = document.getElementById(objId);
    if (opacity <= 100) {
      setOpacity(obj, opacity);
      opacity += 10;
      window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
    }
  }
}

function validateMessageForm(){
	form = document.getElementById('contactProviderForm');
	if (form.email_visitor.value == '') {
		alert('You must enter your email.');
		form.email_visitor.focus();
		return false;
	}	
	
	if (form.message.value == '')
	{
		alert('You must enter a message.');
		form.message.focus();
		return false;
	}
	
}

function validateSendMessageForm(){
	form = document.getElementById('contactProviderForm');
	
//	document.getElementById('alert_message').style.display='none';

	document.getElementById('send_mail').disabled = true;
	
	if (form.email_visitor.value == '') {
		document.getElementById('alert_message').innerHTML = 'You must enter your email.';
		document.getElementById('alert_message').style.display='block';
		document.getElementById('send_mail').disabled = false;
		form.email_visitor.focus();
		return false;
	}	
	
	if (form.message.value == '')
	{
		document.getElementById('alert_message').innerHTML = 'You must enter a message.';
		document.getElementById('alert_message').style.display='block';
		document.getElementById('send_mail').disabled = false;
		form.message.focus();
		return false;
	}
	
	SendMessageIfValidWord();
	return false;
}


function recommend(id)
{
	listings_proxy.addDigg(id);
}

function claimListing(){
	if (actualListing!='undefined'){
		var listing= {"idlisting":actualListing};
		listings_proxy.saveFreeListing(listing);		
	}
}

function saveFreeListing()
{
	var form = document.getElementById('AdvertiseNewListing');
	var listing = {};
	var i;
	if (form._name.value == '') {
		alert('Name not valid.');
		form._name.focus();
		return false;
	}
	listing.name = form._name.value;
	if (!isEMail(form.e_mail.value)) {
		alert('E-mail not valid.');
		form.e_mail.focus()
		return false;
	}
	listing.contact_email = form.e_mail.value;
	if (form.office_phone.value == '') {
		alert('Office phone not valid.');
		form.office_phone.focus();
		return false;
	}
	listing.office_phone = form.office_phone.value;
	listing.mobile_phone = form.mobile_phone.value;
	listing.fax = form.fax.value;
	if (form.address.value == '') {
		alert('Address not valid.');
		form.address.focus();
		return false;
	}
	listing.address = form.address.value;
	if (form.business_name.value == '') {
		alert('Business or practice name not valid.');
		form.business_name.focus();
		return false;
	}
	listing.business_name = form.business_name.value;
	listing.idlisting = actualListing;
	listings_proxy.saveFreeListing(listing);
}

function SendMessageIfValidWord(){	
	form = document.getElementById('contactProviderForm');

	word = form.word.value;
	email_visitor = form.email_visitor.value;
	message = form.message.value;
	idlisting =  form.idlisting.value;
	typeMessageG = form.typeMessageG.checked;
	typeMessageA = form.typeMessageA.checked;
	
	return proxy.sendContactFormIfValidWord(word, idlisting, email_visitor, message, typeMessageG, typeMessageA);
}

var listings_callback = {
	addDigg : function(result, request)
	{
		var span = document.getElementById('DirectoryRecommend_' + request.args[0]);
		while (span.hasChildNodes())
			span.removeChild(span.lastChild);
		span.appendChild($$text(result.message));
		if (result.recommends > 0) {
			span = document.getElementById('DirectoryRecommendations_' + request.args[0]);
			while (span.hasChildNodes())
				span.removeChild(span.lastChild);
			span.appendChild($$text(result.recommends + ' recommendations '));
			span.parentNode.style.display = 'block';
		}
	},

	insertListingClickToWebsiteStat : function(result, request)
	{
		if (result.url != null)
		{
			window.location	= result.url;
		}
		return true;
	},
	
	rateListing : function(result, request)
	{
		if(result.code == 0)
		{
			document.getElementById("ratingmessage_" + global_listing).innerHTML = '<b>' + result.message + '</b>';
		}
		
	}
}

var proxy = new handleMyPage(hwCallBackMultimedia);
var listings_proxy = new handleListings(listings_callback);

function countVisitWebSite(id, url)
{
	listings_proxy.insertListingClickToWebsiteStat(id, url);
}

