function getElementsByClassName(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}


function formValidate(form){
	labels = getElementsByClassName("req", form);
	var isError = 0;
	for (var cnt = 0; cnt < labels.length; cnt++) {
		var inputId = labels[cnt].htmlFor;
		var input = document.getElementById(inputId);
		if (!input.value) {
				isError = 1;
				labels[cnt].style.color = "red";
		} else {
			labels[cnt].style.color = "black";
		}
	}
	return isError;
}
function ValidateAddImage(form, errorId){

	var isError=formValidate(form);
	if (isError != 0) {
		document.getElementById(errorId).style.display = "block";
    	Element.scrollTo(errorId);
    	document.getElementById(errorId).innerHTML = "Please fill all fields";
		return false;
	}
	if (/^[A-Za-z0-9_.-]+@[A-Za-z0-9_.-]+\.[A-Za-z]{2,4}$/.test(document.getElementById("mail").value)){
		document.getElementById("label_mail").style.color = "black";
		if (document.getElementById("type").value == "gallery" && !document.getElementById("image").value){
			document.getElementById(errorId).style.display = "block";
	    	Element.scrollTo(errorId);
	    	document.getElementById(errorId).innerHTML = "Please select image";
			return false;
		}
		if (document.getElementById("type").value == "video" && !document.getElementById("object").value){
			document.getElementById(errorId).style.display = "block";
	    	Element.scrollTo(errorId);
	    	document.getElementById(errorId).innerHTML = "Please enter flash code";
			return false;
		}
		return true;
    } else {
    	document.getElementById("label_mail").style.color = "red";
    	document.getElementById(errorId).innerHTML = "Enter correct email";
    	Element.scrollTo(errorId);
		return false;
	}
}

function sendMailForm(form, errorId){
	document.getElementById(errorId).innerHTML = "";
	var isError=formValidate(form);
	if (isError != 0) {
		document.getElementById(errorId).style.display = "block";
    	Element.scrollTo(errorId);
    	document.getElementById(errorId).innerHTML = "Please fill all fields";
		return false;
	}
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("sender_email").value)){
		document.getElementById("label_sender_email").style.color = "black";
		var url = '?';
		if ($("mail_type") && $("mail_type").value) {
			var type = $("mail_type").value;
		} else {
			var type = "";
		}
		var parameters = 'action=email&id='+$("gallery_id").value+'&name='+$("sender_name").value+'&email='+$("sender_email").value+'&note='+$("note").value+'&type='+type;
		var myAjax = new Ajax.Request(
			url, { method: 'post', parameters: parameters, onComplete: mailSent}
		);

    } else {
    	document.getElementById("label_sender_email").style.color = "red";
    	document.getElementById(errorId).innerHTML = "Enter correct email";
    	Element.scrollTo(errorId);
		return false;
	}
		return false;

}

function mailSent(){
	closeeMail();
	$("thankyou").innerHTML = "Your message was sent";
	showThankYou();
}

function inappropriateIt(id){
	var url = '?';
	var parameters = 'action=inappropriate&id='+id;
	var myAjax = new Ajax.Request (
		url, { method: 'post', parameters: parameters}
	);

	$("thankyou").innerHTML = "Thank you!";
	showThankYou();
}


function RateIt(element){
	var url = "?action=rate&rate="+element.value+"&id="+$("gallery_id").value
	var myAjax = new Ajax.Request(
		url, { method: 'post', onComplete: updateRateIt }
	);
}

function updateRateIt(originalRequest){
	var new_rate = originalRequest.responseText;
	$("cur_rate").src = "/store/images/"+new_rate+"_stars.gif";
	closeRateIt();
}

function sendComment(form, errorId){
	document.getElementById(errorId).innerHTML = "";
	var isError=formValidate(form);
	if (isError != 0) {
		document.getElementById(errorId).style.display = "block";
    	Element.scrollTo(errorId);
    	document.getElementById(errorId).innerHTML = "Please fill all fields";
		return false;
	}
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("comment_email").value)){
		document.getElementById("label_comment_email").style.color = "black";
		var url = '?';
		var parameters = 'action=add_comment&id='+$("gallery_id").value+'&'+'&name='+$("comment_name").value+'&email='+$("comment_email").value+'&text='+$("comment_text").value;;
		var myAjax = new Ajax.Request(
			url, { method: 'post', parameters: parameters, onComplete: commentAdded}
		);

    } else {
    	document.getElementById("label_comment_email").style.color = "red";
    	document.getElementById(errorId).innerHTML = "Enter correct email";
    	Element.scrollTo(errorId);
	}
	return false;
}

function commentAdded(){
	closeAddComment();
	$("thankyou").innerHTML = "Your comment was added";
	showThankYou();
}

function reportSpam(id){
	var url = '?'
	var parameters = "action=spam&id="+id;
	var myAjax = new Ajax.Request(
		url, { method: 'post', parameters: parameters, onComplete: spamMarked }
	);
}

function spamMarked(){
	$("thankyou").innerHTML = "Report about this message was sent to site admin";
	showThankYou();
}
function showSubmitYours(){
	$("submitYours").style.display="block";
}
function closeSubmitYours(){
	$("submitYours").style.display="none";
}
function showThankYou(){
	$("thankYou").style.display="block";
}
function closeThankYou(){
	$("thankYou").style.display="none";
}
function showRateIt(){
	$("rateIt").style.display="block";
}
function closeRateIt(){
	$("rateIt").style.display="none";
}


function showeMail(reciever, type){
	$("mail_type").value = type;
	$("reciever").innerHTML = reciever;
	$("eMail").style.display="block";
}
function closeeMail(){
	$("eMail").style.display="none";
}

function showAddComment(){
	$("addComment").style.display="block";
}
function closeAddComment(){
	$("addComment").style.display="none";
}