/**
 * @author Administrator
 */


var xmlHttp
var Effect;


function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}




function isEmailValid(email)
{
	
	valid = true;
	
	apos = email.indexOf("@");
	dotpos = email.lastIndexOf(".");
	
	if (apos<1||dotpos-apos<2) 
	{
	    valid = false;		
	}		
	
	return valid;

}
    
	

function subscribeToMailingList()
{

	if (document.mailing_form.email.value == "" || document.mailing_form.email.value == "e-mail address" || !isEmailValid(document.mailing_form.email.value))
	{
		alert("Please provide a valid e-mail address!");
	}
	else {
	
		email = document.mailing_form.email.value;
		
		document.getElementById("subscribe_box").innerHTML = "<p><img src=\"images/loader.gif\" alt=\"Loading Indicator\" /> Please Wait</p>";
		
		xmlHttp = GetXmlHttpObject()
		
		if (xmlHttp == null) {
			alert("Your browser does not support AJAX!");
			return;
		}
		
		var url = "php/ajax/subscribeToMailingList.php?email=" + email;
		url = url + "&sid=" + Math.random();
		xmlHttp.onreadystatechange = subscribed;
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
		
	}

} 



function subscribed() 
{ 
	if (xmlHttp.readyState==4)
	{ 
		document.getElementById("subscribe_box").innerHTML=xmlHttp.responseText;
	}
}


function unsubscribeFromMailingList()
{

	if (document.mailing_form.email.value == "" || document.mailing_form.email.value == "e-mail address" || !isEmailValid(document.mailing_form.email.value))
	{
		alert("Please provide a valid e-mail address!");
	}
	else {
	
		email = document.mailing_form.email.value;
		
		document.getElementById("subscribe_box").innerHTML = "<img src=\"images/loader.gif\" alt=\"Loading Indicator\" /> Please Wait";
		
		xmlHttp = GetXmlHttpObject()
		
		if (xmlHttp == null) {
			alert("Your browser does not support AJAX!");
			return;
		}
		
		var url = "php/ajax/unsubscribeFromMailingList.php?email=" + email;
		url = url + "&sid=" + Math.random();
		xmlHttp.onreadystatechange = unsubscribed;
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
		
	}

} 



function unsubscribed() 
{ 
	if (xmlHttp.readyState==4)
	{ 
		document.getElementById("subscribe_box").innerHTML=xmlHttp.responseText;
	}
}

	
    


function popup(page)
{
	window.open(page,'newwindow','scrollbars=yes,status=no,width=400,height=182')
}



function validate_signup_form()
{
    
	msg = "";
    valid = true;

    if ( document.signup_form.name.value == "" )
    {
		msg = msg + "You must enter your name.\n";
        valid = false;
    }   	
	
    if ( document.signup_form.captcha_code.value == "" )
    {
		msg = msg + "You must enter the security code.\n";		
        valid = false;
    }   	

	
	if (document.signup_form.email.value != "")
	{
	
		apos = document.signup_form.email.value.indexOf("@");
		dotpos = document.signup_form.email.value.lastIndexOf(".");
		
		if (apos < 1 || dotpos - apos < 2)
		{
			msg = msg + "The email address entered is not valid.\n";		
			valid = false;
		}
		
	}
	
	if(document.signup_form.email.value == "")
    {
		msg = msg + "You must provide your email address.\n";		
        valid = false;
    }   	
	
	if(document.signup_form.password.value == "" || document.signup_form.password2.value == "")
    {
		msg = msg + "You must choose a password.\n";		
        valid = false;
    }   		
	
	if(document.signup_form.password.value != document.signup_form.password2.value)
    {
		msg = msg + "Your passwords do not match.\n";		
        valid = false;
    }   	

	if(valid == false)       
	{
        alert (msg);		
	}
	   
	showLoader(valid);   

    return valid;
	
}

function validate_login_form()
{
    
	msg = "";
    valid = true;

    if ( document.login_form.login_email.value == "" )
    {
		msg = msg + "You must enter your email address.\n";
        valid = false;
    }   
	
    if ( document.login_form.login_password.value == "" )
    {
		msg = msg + "You must enter your password.\n";
        valid = false;
    }   
		

	if(valid == false)       
	{
        alert (msg);		
	}
	
	showLoader(valid);   

    return valid;
	
}



function validate_search_events_form()
{
    
	msg = "";
    valid = true;

    if ( document.search_events_form.event_search.value == "" || document.search_events_form.event_search.value == " " || document.search_events_form.event_search.value == "Search events..." )
    {
		msg = msg + "You didn't tell us what to search for.\n";
        valid = false;
    }   
		

	if(valid == false)       
	{
        alert (msg);		
	}
	   
	showLoader(valid);

    return valid;
	
}


function validate_submitgroup_form()
{
    
	msg = "";
    valid = true;

    if ( document.submitgroup_form.name.value == "" || document.submitgroup_form.descr.value == "" )
    {
		msg = msg + "Please complete all fields marked with an asterisk *.\n";
        valid = false;
    }   	
	

	if(valid == false)       
	{
        alert (msg);		
	}
	
	showLoader(valid);   

    return valid;
	
}

function validate_submitgroupimage_form()
{
    
	msg = "";
    valid = true;

    if ( document.submitgroupimage_form.imagefile.value == "" )
    {
		msg = msg + "Please complete all fields marked with an asterisk *.\n";
        valid = false;
    }   	
	

	if(valid == false)       
	{
        alert (msg);		
	}
	
	showLoader(valid);   

    return valid;
	
}


function validate_submitevent_form()
{
    
	msg = "";
    valid = true;

    if ( document.submitevent_form.title.value == "" || document.submitevent_form.descr.value == "" || document.submitevent_form.date.value == "" || document.submitevent_form.descr.value == "dd/mm/yyyy" || document.submitevent_form.venue.value == "" )
    {
		msg = msg + "Please complete all fields marked with an asterisk *.\n";
        valid = false;
    }   	
	

	if(valid == false)       
	{
        alert (msg);		
	}
	   
	showLoader(valid);

    return valid;
	
}


function validate_event_review_form()
{
    
	var i;
	i=0;
	
	for (var i=0; i < document.event_review_form.review_type.length; i++)
    {
    	if (document.event_review_form.review_type[i].checked)
      	{
      		rad_val = document.event_review_form.review_type[i].value;
        }

    }
	
	//////
	
	
	msg = "";
    valid = true;

    if ( document.event_review_form.comments.value == "" )
    {
		msg = msg + "Please complete all fields marked with an asterisk *.\n";
        valid = false;
    }   	
	

	if(valid == false)       
	{
        alert (msg);		
	}
	   
	showLoader(valid);

    return valid;
	
}

function validate_submitphotos_form()
{
    
	msg = "";
    valid = true;

    if ( document.submitphotos_form.title.value == "" || document.submitphotos_form.descr.value == "" )
    {
		msg = msg + "Please complete all fields marked with an asterisk *.\n";
        valid = false;
    }   	
	

	if(valid == false)       
	{
        alert (msg);		
	}
	
	showLoader(valid);   

    return valid;
	
}

function showLoader(valid)
{
	if(valid==true)
	{
		document.getElementById('loading_overlay').style.display = 'block';
		//document.getElementById('overlay_message').style.display = 'block';
	}

}

function validate_contact_form()
{
    
	msg = "";
    valid = true;

    if ( document.contact_form.message.value == "" )
    {
		msg = msg + "You must enter a message.\n";
        valid = false;
    }   
	
    if ( document.contact_form.name.value == "" )
    {
		msg = msg + "You must enter your name.\n";
        valid = false;
    }   	
	
    if ( document.contact_form.captcha_code.value == "" )
    {
		msg = msg + "You must enter the security code.\n";		
        valid = false;
    }   	

	
	if (document.contact_form.email.value != "")
	{
	
		apos = document.contact_form.email.value.indexOf("@");
		dotpos = document.contact_form.email.value.lastIndexOf(".");
		
		if (apos < 1 || dotpos - apos < 2)
		{
			msg = msg + "The email address entered is not valid.\n";		
			valid = false;
		}
		
	}
	
	if(document.contact_form.email.value == "" && document.contact_form.tel.value == "")
    {
		msg = msg + "You must enter either your telephone number or email address.\n";		
        valid = false;
    }   	

	if(valid == false)       
	{
        alert (msg);		
	}
	
	showLoader(valid);
	   

    return valid;
	
}

function confirmBox(message, page)
{
	
	if(confirm(message))
	{
		location.href = page;
	}
		
}


function nextGroupEventsPage(group_id, page)
{
		//document.getElementById("group_events").style.display = "none";
		
		document.getElementById("group_events").innerHTML = "<div id=\"loading_overlay_small\"><span>Please Wait</span></div>";
		
		xmlHttp = GetXmlHttpObject()
	
		if (xmlHttp==null)
		{
			alert ("Your browser does not support AJAX!");
			return;
		} 
		
		var url = "php/ajax/nextGroupEventsPage.php?group_id=" + group_id;
		url = url + "&page=" + page;
		url = url + "&sid=" + Math.random();
		xmlHttp.onreadystatechange = groupEventsPageNexted;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	
		
} 

function groupEventsPageNexted() 
{ 
	if (xmlHttp.readyState==4)
	{ 
		document.getElementById("group_events").innerHTML = xmlHttp.responseText;
		//document.getElementById("group_events").style.display = "block";
	}
}

function nextGroupPhotosPage(group_id, page)
{
		//document.getElementById("group_photos").style.display = "none";
		
		document.getElementById("group_photos").innerHTML = "<div id=\"loading_overlay_small\"><span>Please Wait</span></div>";
		
		xmlHttp = GetXmlHttpObject()
	
		if (xmlHttp==null)
		{
			alert ("Your browser does not support AJAX!");
			return;
		} 
		
		var url = "php/ajax/nextGroupPhotosPage.php?group_id=" + group_id;
		url = url + "&page=" + page;
		url = url + "&sid=" + Math.random();
		xmlHttp.onreadystatechange = groupPhotosPageNexted;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	
		
} 

function groupPhotosPageNexted() 
{ 
	if (xmlHttp.readyState==4)
	{ 
		document.getElementById("group_photos").innerHTML = xmlHttp.responseText;
		//document.getElementById("group_photos").style.display = "block";
	}
}

function validate_editaccount_form()
{
    
	msg = "";
    valid = true;

    if ( document.editaccount_form.name.value == "" || document.editaccount_form.email.value == "" )
    {
		msg = msg + "Please complete all fields marked with an asterisk *.\n";
        valid = false;
    }   	
	

	if(valid == false)       
	{
        alert (msg);		
	}
	   
	showLoader(valid);

    return valid;
	
}

function editPassword()
{
		document.getElementById('edit_password_link').innerHTML = "<img src=\"images/loader.gif\" alt=\"Loading Indicator\" />";										
		xmlHttp = GetXmlHttpObject()
		
		if (xmlHttp == null) {
			alert("Your browser does not support AJAX!");
			return;
		}
		
		var url = "php/ajax/editPassword.php?action=show";
		url = url + "&sid=" + Math.random();
		xmlHttp.onreadystatechange = passwordEdited;
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
		
} 

function passwordEdited() 
{ 

	if (xmlHttp.readyState==4)
	{ 
		document.getElementById('password').innerHTML=xmlHttp.responseText;

	}
}


function updatePassword()
{
	
	pwd1 = document.getElementById('password_field').value;
	pwd2 = document.getElementById('repeat_password_field').value;		
	
	if(pwd1 != pwd2 || pwd1=="" || pwd2=="" || pwd1==" ")
	{
		alert('Passwords do not match.');	
	}
	else
	{
		document.getElementById('password').innerHTML = "<img src=\"images/loader.gif\" alt=\"Loading Indicator\" />";										
		xmlHttp = GetXmlHttpObject()
		
		if (xmlHttp == null) {
			alert("Your browser does not support AJAX!");
			return;
		}
		
		var url = "php/ajax/editPassword.php?action=update";
		url = url + "&password=" + pwd1;
		url = url + "&sid=" + Math.random();
		xmlHttp.onreadystatechange = passwordEdited;
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);			
	}	
		
} 


function validate_password_retrieval_form()
{
    
	msg = "";
    valid = true;

    if ( document.password_retrieval_form.retrieval_email.value == "" )
    {
		msg = msg + "Please complete all fields marked with an asterisk *.\n";
        valid = false;
    }   	
	

	if(valid == false)       
	{
        alert (msg);		
	}
	
	showLoader(valid);   

    return valid;
	
}


//tooltip code
var tooltip=function(){
var id = 'tt';
var top = 3;
var left = 0;
var maxw = 300;
var speed = 10;
var timer = 20;
var endalpha = 95;
var alpha = 0;
var tt,t,c,b,h;
var ie = document.all ? true : false;
return{
show:function(v,w){
 if(tt == null){
  tt = document.createElement('div');
  tt.setAttribute('id',id);
  t = document.createElement('div');
  t.setAttribute('id',id + 'top');
  c = document.createElement('div');
  c.setAttribute('id',id + 'cont');
  b = document.createElement('div');
  b.setAttribute('id',id + 'bot');
  tt.appendChild(t);
  tt.appendChild(c);
  tt.appendChild(b);
  document.body.appendChild(tt);
  tt.style.opacity = 0;
  tt.style.filter = 'alpha(opacity=0)';
  document.onmousemove = this.pos;
 }
 tt.style.display = 'block';
 c.innerHTML = v;
 tt.style.width = w ? w + 'px' : 'auto';
 if(!w && ie){
  t.style.display = 'none';
  b.style.display = 'none';
  tt.style.width = tt.offsetWidth;
  t.style.display = 'block';
  b.style.display = 'block';
 }
if(tt.offsetWidth > maxw){tt.style.width = maxw + 'px'}
h = parseInt(tt.offsetHeight) + top;
clearInterval(tt.timer);
tt.timer = setInterval(function(){tooltip.fade(1)},timer);
},
pos:function(e){
 var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
 var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
 tt.style.top = (u - h) + 'px';
 tt.style.left = (l + left) + 'px';
},
fade:function(d){
 var a = alpha;
 if((a != endalpha && d == 1) || (a != 0 && d == -1)){
  var i = speed;
 if(endalpha - a < speed && d == 1){
  i = endalpha - a;
 }else if(alpha < speed && d == -1){
   i = a;
 }
 alpha = a + (i * d);
 tt.style.opacity = alpha * .01;
 tt.style.filter = 'alpha(opacity=' + alpha + ')';
}else{
  clearInterval(tt.timer);
   if(d == -1){tt.style.display = 'none'}
}
},
hide:function(){
clearInterval(tt.timer);
 tt.timer = setInterval(function(){tooltip.fade(-1)},timer);
}
};
}();

//tooltip code


function showFullDay(css_id)
{
	css_id = "day_" + css_id;
	
	to_hide = getElementsByClassName('full_day');
	
	for(var i = 0; i<to_hide.length; i++)
	{
		
		to_hide[i].style.display = "none";
	}	
	
	document.getElementById(css_id).style.display = "block";
}

function closeFullDay(css_id)
{
	css_id = "day_" + css_id;
	
	document.getElementById(css_id).style.display = "none";
}


/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};
