var timer_id;
var rightPosition = -330;

function run()
{
	var wrap = document.getElementById('info-bar-center');
	var scroll = document.getElementById('scroller');
	
	scroll.style.right = rightPosition + "px"; 
 	rightPosition++;
 	
 	if (parseInt(scroll.style.right) > wrap.clientWidth)
 	{
 		rightPosition = -1 * parseInt(scroll.clientWidth);
 		scroll.style.right = rightPosition + "px";
 	}
}

function startRun(element)
{
	timer_id = setInterval(run, 25);
}
	
function stopRun()
{
	clearInterval(timer_id);
}

function loadMap()
{
   var latlng = new google.maps.LatLng(48.103, 20.7209);
   var myOptions = { zoom: 15,
                     center: latlng,
                     mapTypeId: google.maps.MapTypeId.ROADMAP
                  };
   var map = new google.maps.Map(document.getElementById("map"), myOptions);
   
   var marker = new google.maps.Marker({  position: latlng, 
                                          map: map, 
                                          title:"ORIMED állatorvosi rendelő, Tamási Áron út 30."
                                       });  
 }


function trim(str, chars) 
{
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) 
{
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) 
{
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}


function user_check(nick_name, id)
{
	var pattern = new RegExp ("^[_a-z0-9\. éáűőúöüóí-]+$", "gi");
	
	nick_name = trim(nick_name);
	
	if(nick_name.length == 0)
	{
		$(id).innerHTML = "Adja meg a kívánt felhasználónevet!";
      Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else if (nick_name.length > 0 && nick_name.length < 4)
	{
		$(id).innerHTML = "A felhasználónév túl rövid! (minimum 4 karakter)";
      Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else if (nick_name.length > 20)
	{
		$(id).innerHTML = "A felhasználónév túl hosszú! (maximum 20 karakter)";
      Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else if(nick_name.toLowerCase() == "vendég")
	{
		$(id).innerHTML = "Ez a felhasználónév nem megengedett!";
      Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else if (!pattern.test(nick_name))
	{
		$(id).innerHTML = "A felhasználónév nem megengedett karaktert tartalmaz!";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else
	{
		new Ajax.Request('/inc/Ajax_loader_inc.php',
		{
			method:'post',
		 	parameters: {user_name: nick_name},
		 	onSuccess: function(transport)
			{
			   var response = transport.responseXML || "nincs válasz";

			   if (response.getElementsByTagName('data')[0].firstChild.data == "1")
				{
					$(id).innerHTML = "Már van ilyen regisztrált felhasználónév!";
					Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
				}
				else
				{
					$(id).innerHTML = "<img src='image/site/check.jpg' alt='' />";
					Effect.Pulsate(id, { pulses: 2, duration: 1 });
				}
		 	},
		 	onFailure: function()
			 { 
			 	alert('A felhasználónév ellenőrzése közben hiba történt!') 
			 }
		});
	}
}

function check_email(email, id, mode, username)
{
	var pattern = new RegExp ("^[a-z0-9._-]+@[a-z0-9._-]+\\.[^0-9!][a-z]+$", "gi");
	
	email = trim(email);
	
	if (email.length == 0)
	{
		$(id).innerHTML = "Adja meg az e-mail címét!";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else if (email.length > 250)
	{
		$(id).innerHTML = "Az e-mail cím túl hosszú! (maximum 250 kar.)";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else if (!pattern.test(email))
	{
		$(id).innerHTML = "Nem érvényes e-mail cím!";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else //ajax ellenőrzés
	{
		new Ajax.Request('inc/Ajax_loader_inc.php',
		{
			method:'post',
		 	parameters: {email: email, mode : mode, user : username},
		 	onSuccess: function(transport)
			{
			   var response = transport.responseXML || "nincs válasz";

			   if (response.getElementsByTagName('data')[0].firstChild.data == "1")
				{
					$(id).innerHTML = "Ezzel az e-mail címmel már van regisztrált felhasználónk!";
					Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
				}
				else
				{
					$(id).innerHTML = "<img src='image/site/check.jpg' alt='' />";
					Effect.Pulsate(id, { pulses: 2, duration: 1 });
				}
		 	},
		 	onFailure: function()
			 { 
			 	alert('Az e-mail cím ellenőrzése közben hiba történt!') 
			 }
		});
	}
}


function check_password(id)
{
	var password_1 = trim(document.reg_form.reg_password.value);
	var password_2 = trim(document.reg_form.reg_password2.value);
	
	if (password_1.length != 0 || password_2.length != 0)
	{
		$(id).innerHTML = "";
		if (password_1 == password_2)
		{
			if (password_1.length < 5)
			{
				$(id).innerHTML = "A jelszó túl rövid! (min. 5 kar.)";
				Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
			}
			else if (password_1.length > 15)
			{
				$(id).innerHTML = "A jelszó túl hosszú! (maximum 15 kar.)";
				Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
			}
			else
			{
				$(id).innerHTML = "<img src='image/site/check.jpg' alt='' />";
				Effect.Pulsate(id, { pulses: 2, duration: 1 });
			}
		}
		else
		{
			$(id).innerHTML = "A két jelszó nem egyforma!";
			Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
		}
	}
	else
	{
		$(id).innerHTML = "Adja meg a használni kívánt jelszót!";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
}

function check_name(name, id)
{
	name = trim(name);
	
	var pattern = new RegExp ("^[a-z \.éáűőúöüóí-]+$", "gi");
	
	if (name.length == 0)
	{
		$(id).innerHTML = "Adja meg a teljes nevét!";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else if(name.length > 50)
	{
		$(id).innerHTML = "A név túl hosszú! (maximum 50 kar.))";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else if (!pattern.test(name))
	{
		$(id).innerHTML = "A név nem megengedett karaktert tartalmaz!";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });

	}
	else
	{
		$(id).innerHTML = "<img src='image/site/check.jpg' alt='' />";
		Effect.Pulsate(id, { pulses: 2, duration: 1 });
	}
}



function checkGaleryTitle(name, id)
{
	name = trim(name);
	
	var pattern = new RegExp ("^[a-z0-9 \.,?!éáűőúöüóí-]+$", "gi");
	
	if (name.length == 0)
	{
		$(id).innerHTML = "Adja meg a galéria címét!";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
   else if(name.length < 5)
	{
		$(id).innerHTML = "A cím túl rövid! (minumum 5 karakter)";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else if(name.length > 25)
	{
		$(id).innerHTML = "A cím túl hosszú! (maximum 25 karakter)";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else if (!pattern.test(name))
	{
		$(id).innerHTML = "A cím nem megengedett karaktert tartalmaz!";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
	else
	{
		$(id).innerHTML = "<img src='image/site/check.jpg' alt='' />";
		Effect.Pulsate(id, { pulses: 2, duration: 1 });
	}
}

function checkGaleryDescription(description, id)
{
	description = trim(description);
	
	var pattern = new RegExp ("^[a-z0-9 \.,:!?éáűőúöüóí-]+$", "gi");
	
	if(description.length > 0)
	{
		if(description.length < 10)
		{
			$(id).innerHTML = "A leírás túl rövid! (minimum 10 karakter)";
			Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
		}
		else if(description.length > 180)
		{
			$(id).innerHTML = "A leírás túl hosszú! (maximum 180 karakter)";
			Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
		}
		else if (!pattern.test(description))
		{
			$(id).innerHTML = "A leírás nem megengedett karaktert tartalmaz!";
			Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
		}
		else
		{
			$(id).innerHTML = "<img src='image/site/check.jpg' alt='' />";
			Effect.Pulsate(id, { pulses: 2, duration: 1 });
		}
	}
}

function checkImageTitle(name, id)
{
	name = trim(name);
	
	var pattern = new RegExp ("^[a-z0-9 \.,?!éáűőúöüóí-]+$", "gi");
	
	if (name.length > 0)
	{
		if(name.length > 25)
		{
			$(id).innerHTML = "A cím túl hosszú! (maximum 25 karakter)";
			Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
		}
		else if (!pattern.test(name))
		{
			$(id).innerHTML = "A cím nem megengedett karaktert tartalmaz!";
			Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
		}
		else
		{
			$(id).innerHTML = "<img src='image/site/check.jpg' alt='' />";
			Effect.Pulsate(id, { pulses: 2, duration: 1 });
		}	
	}
}

function updateImageTitle(image_id, title_id)
{  
   image_title = $(title_id).innerHTML;
	image_title = trim(image_title);
	
	var pattern = new RegExp ("^[a-z0-9 \.,?!éáűőúöüóí-]+$", "gi");
	
	var title = prompt("Adja meg a kép címét!", image_title);	
	
   if (title)
   {
      if (!pattern.test(title))
   	{
   		alert("A kép címe nem megengedett karakter tartalmaz!");
   	}
   	else if (title.length > 25)
   	{
   		alert("A kép címe túl hosszú! (maximum 25 karakter)");
   	}
   	else
   	{
   		new Ajax.Request('/inc/Ajax_loader_inc.php',
   		{
   			method:'post',
   		 	parameters: {galeryimageid: image_id, imagetitle: title},
   		 	onSuccess: function(transport)
   			{
   			   var response = transport.responseXML || "nincs válasz";
   
   			   if (response.getElementsByTagName('data')[0].firstChild.data == "ok")
   				{
   					$(title_id).innerHTML = title;
   				}
   				else
   				{
   					alert("A módosítás közben hiba történt!");
   				}
   		 	},
   		 	onFailure: function()
   			 { 
   			 	alert("A módosítás közben hiba történt!"); 
   			 }
   		});
   	}   
   }
}

function setCursorPosition(id, pos)
{
	area = $(id);

	if(area.setSelectionRange) //Firefox
	{
		area.focus();
		area.setSelectionRange(pos,pos);
	}
	else if (area.createTextRange) //IE
	{
		var range = area.createTextRange();
		range.collapse(true);
		range.moveEnd('character', pos);
		range.moveStart('character', pos);
		range.select();
	}
}
	
function getCursorPosition (id) 
{
	var textarea = $(id);
	var CursorPos = 0;	// IE Support
   textarea.focus();
	
   if (document.selection) 
	{
      var selection_range = document.selection.createRange().duplicate();
      
      if (selection_range.parentElement() == textarea) 
      {    
         var before_range = document.body.createTextRange();
         before_range.moveToElementText(textarea);                    // Selects all the text
         before_range.setEndPoint("EndToStart", selection_range);     // Moves the end where we need it
      
         var after_range = document.body.createTextRange();
         after_range.moveToElementText(textarea);                     // Selects all the text
         after_range.setEndPoint("StartToEnd", selection_range);      // Moves the start where we need it
      
         var before_finished = false, selection_finished = false, after_finished = false;
         var before_text, untrimmed_before_text, selection_text, untrimmed_selection_text, after_text, untrimmed_after_text;
      
         //Load the text values we need to compare
         before_text = untrimmed_before_text = before_range.text;
         selection_text = untrimmed_selection_text = selection_range.text;
         after_text = untrimmed_after_text = after_range.text;
      
         do 
         {
            if (!before_finished) 
            {
               if (before_range.compareEndPoints("StartToEnd", before_range) == 0) 
               {
                   before_finished = true;
               } else 
               {
                   before_range.moveEnd("character", -1)
                   if (before_range.text == before_text) 
                   {
                       untrimmed_before_text += "\r\n";
                   } else 
                   {
                       before_finished = true;
                   }
               }
            }
            if (!selection_finished) 
            {
               if (selection_range.compareEndPoints("StartToEnd", selection_range) == 0) 
               {
                  selection_finished = true;
               } 
               else 
               {
                  selection_range.moveEnd("character", -1)
                  if (selection_range.text == selection_text) 
                  {
                     untrimmed_selection_text += "\r\n";
                  } 
                  else 
                  {
                     selection_finished = true;
                  }
               }
            }
            if (!after_finished) 
            {
               if (after_range.compareEndPoints("StartToEnd", after_range) == 0) 
               {
                   after_finished = true;
               } 
               else 
               {
                  after_range.moveEnd("character", -1)
                  if (after_range.text == after_text) 
                  {
                       untrimmed_after_text += "\r\n";
                  } 
                  else 
                  {
                     after_finished = true;
                  }
               }
           }
         } while ((!before_finished || !selection_finished || !after_finished));
      
         var untrimmed_text = untrimmed_before_text + untrimmed_selection_text + untrimmed_after_text;
         var untrimmed_successful = false;

         if (textarea.value == untrimmed_text) 
         {
            untrimmed_successful = true;
         }
      
         var startPoint = untrimmed_before_text.length;
         var endPoint = startPoint + untrimmed_selection_text.length;
         var selected_text = untrimmed_selection_text;

         CursorPos = startPoint;
      }
	}
	else if (textarea.selectionStart || textarea.selectionStart == '0') 	// Firefox support
	{
		CursorPos = textarea.selectionStart;
	}
	return CursorPos;
}


function getElementsByClass(node, searchClass, tag)
{
	var classElements = new Array();
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('\\b' + searchClass + '\\b');

	for (i = 0, j = 0; i < elsLen; i++)
	{
			if ( pattern.test(els[i].className) )
			{
				classElements[j] = els[i];
				j++;
			}
	}
	return classElements;
}

function email()
{

	var maildivider = "[qkac]";
	var dotdivider = "[pont]";

	for (i = 0; i <= (document.links.length - 1); i++)
	{
		if (document.links[i].href.indexOf(maildivider) != -1)
		{
			document.links[i].href = document.links[i].href.split(maildivider)[0] + "@" + document.links[i].href.split(maildivider)[1];
			document.links[i].href = document.links[i].href.replace(/\[pont\]/g, "."); 
		}
	}


	var emails = getElementsByClass(document, 'email', '*');
	
	for (i=0; i < emails.length; i++)
	{
		var email = emails[i].innerHTML;
		
		var temp = email.replace(maildivider, "@");
		
		emails[i].innerHTML = temp.replace(/\[pont\]/g, ".");
	}
}


function getSelectedIndex(box, text)
{
   for (i=0; i < box.options.length; i++)
   {
      if (box.options[i].value == text)
      {
         return i;   
      }
   }
}

function pauseScript(millis)
{
	var date = new Date();
	var curDate = null;
	
	do 
	{ 
		curDate = new Date(); 
	} 	while(curDate-date < millis);
}


function confirmGaleryDelete()
{
   var form = $("deletegalery")
   var input = form.getElementsByTagName('input');
   var hasGalery = false;
   
   for (i=0; i<input.length; i++)
   {
      if(input[i].getAttribute("type") == "checkbox")
      {
         if (input[i].checked == true)
         {
            return confirm('Biztos, hogy törölni akarja a kijelölt galériá(ka)t?');
         }
         hasGalery = true; 
      }
   }
   if (hasGalery)
   {
      alert('Nem jelölt ki egy galériát sem!');
      return false;
   }
   else
   {
      alert('Még nem töltött fel egy galériát sem!');
      return false;
   }
}

function confirmGaleryImageDelete()
{
   var form = $("deleteimage")
   var input = form.getElementsByTagName('input');
   var hasImage = false;
   
   for (i=0; i<input.length; i++)
   {
      if(input[i].getAttribute("type")== "checkbox")
      {
         if (input[i].checked == true)
         {
            return confirm('Biztos, hogy törölni akarja a kijelölt képe(ke)t?');
         }
         hasImage = true; 
      }
   }
   if (hasImage)
   {
      alert('Nem jelölt ki egy képet sem!');
      return false;
   }
   else
   {
      alert('Még nem töltött fel egy képet sem!');
      return false;
   }
}

function setGaleryVisitNumber(id)
{
   new Ajax.Request('/inc/Ajax_loader_inc.php',
	{
		method : 'post',
	 	parameters: {gid: id},
	 	onSuccess: function(transport)
		{
         var response = transport.responseXML || "nincs válasz";

		   if (response.getElementsByTagName('data')[0].firstChild.data == "1")
			{
            
			}
			else
			{
            
			}
	 	},
	 	onFailure: function()
      {
         
      }
	});
}

function change_category(category, id)
{
	if (category != '0')
	{
		$(id).innerHTML = "<img src='image/site/check.jpg' alt='' />";
		Effect.Pulsate(id, { pulses: 2, duration: 1 });
	}
	else
	{
		$(id).innerHTML = "Válasszon egy kategóriát!";
		Effect.Pulsate(id, { pulses: 3, duration: 1.5 });
	}
}

function getCookie(name)
{
   var i, cookieName, cookieValue;
   var cookies = document.cookie.split(";");
   
   for (i=0; i<cookies.length; i++)
   {
      cookieName = cookies[i].substr(0,cookies[i].indexOf("="));
      cookieValue = cookies[i].substr(cookies[i].indexOf("=")+1);
     
      cookieName = cookieName.replace(/^\s+|\s+$/g, "");
      if (cookieName == name)
      {
         return unescape(cookieValue);
      }
   }
}
   
function loginHelp()
{
	if ($("login_name").value != 'undefined')
   {
      if (document.cookie.indexOf("user") == -1)
   	{
         $("login_name").focus();
   	}
   	else
   	{
         $("login_name").value = getCookie("user");      
      	$("login_password").focus();
   	}   
   }
}

function SliderRight(id, amount, delay)
{
   var itemId = id;
   var moveAmount = amount;
   var speed = delay;

   var step = 2;
   var origPosition =  -12;
      
	var movedBy = 0;
		
	var newPosition;
   var outTimerId;
   var backTimerId;
   
   function moveOut()
   {
      if (movedBy < moveAmount)
      {
         newPosition = origPosition + movedBy
          
         $(itemId).style.left =  newPosition + 'px';
         movedBy = movedBy + step;  
      }
      else
      {
         clearInterval(outTimerId);  
      }
   }

   function moveBack()
   {
      var actPos = parseFloat($(itemId).style.left);
      
      if (actPos != origPosition)
      {
         actPos = actPos - step;
         $(itemId).style.left = actPos + 'px';
      }
      else
      {
         clearInterval(backTimerId);
      }
   }

   this.Out = function()
   {
      if (backTimerId)
      {
         clearInterval(backTimerId);   
      }
      if (!outTimerId)
      {
         outTimerId = setInterval(moveOut, speed);  
      }
   }
  
   this.Back = function()
   {
      if (outTimerId)
      {
         clearInterval(outTimerId);   
      }
      if (!backTimerId)
      {
         backTimerId = setInterval(moveBack, speed);  
      }
   }
   
   document.getElementById(itemId).onmouseout= this.Back;
   
   this.Out();
}

function Slide(id, amount, delay)
{
	slide=new SliderRight(id, amount, delay);
}

document.observe("dom:loaded", startRun);
document.observe("dom:loaded", email); 
document.observe("dom:loaded", loginHelp);



