window.onload = function() {
	if (typeof $ != 'function') {
		function $(id){
			return document.getElementById(id);
		}
	}
}
function createRow(tableId,cellId)
{
	if ($(cellId)) {
		return false;
	}
	else {
		var lastRow = $(tableId).rows.length;
		var row = $(tableId).insertRow(lastRow);
		var cell = row.insertCell(0);
		cell.setAttribute('colSpan', '2');
		cell.setAttribute('style', 'color:#FF0000');
		cell.setAttribute('id', cellId);
		return true;
	}
}
function validateForm(fobj,ftbl,fmsg)
{
	var fl = "";
	for (var i = 0; i < fobj.length; i++)
	{
		for (var j = 1; j< fobj[i].length; j++)
		{ 
			if ($(fobj[i][j]['id']).value == "") {
				fl = fl + "<br />\n&nbsp;&bull;&nbsp;" + fobj[i][j]['label'] + "\n";
			}
		}
	}
	if (fl=="")
	{
		return true;
	} else {
		createRow(ftbl,'error_msg');
		$('error_msg').innerHTML = fmsg + ":\n\n" + fl;
		return false;
	}
}

 function validateCont(vName, vNameInv, vPhone, vPhoneInv, vEmailInv){
		 	var msg='';
			var name = document.getElementById('c_name').value;
			var email = document.getElementById('c_email').value;
			var phone = document.getElementById('c_phone').value;
			
			var validRegExp;
			if (name =='' || name == vName)
			{
				document.getElementById("msg").innerHTML = vNameInv;
				return false;
			}
	
			
			if (phone =='' || phone == vPhone)
			{
				document.getElementById("msg").innerHTML = vPhoneInv;
				return false;
			}
			
			validRegExp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/i;
			
			if (email != "") {
				if (email.search(validRegExp) == -1) {
					document.getElementById("msg").innerHTML = vEmailInv;
				return false;
				}
			}
		 }
		 
 function validateForgotten(vUser, vUserInv,vEmailInv){
		 	var msg='';
			var username = document.getElementById('f_username').value;
			var email = document.getElementById('f_email').value;
			
			var validRegExp;
			if (username =='' || username == vUser)
			{
				document.getElementById("msg").innerHTML = vUserInv;
				return false;
			}
	
			
			validRegExp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/i;
			
			if (email != "") {
				if (email.search(validRegExp) == -1) {
					document.getElementById("msg").innerHTML = vEmailInv;
				return false;
				}
			}
		 }
function validateReservation(vMsg, vMsg2){
			var f_rangeStart = document.getElementById('f_rangeStart').value;
			var f_rangeEnd = document.getElementById('f_rangeEnd').value;
			var f_agree = document.getElementById('agree');

			if (f_rangeStart =='')
			{
				document.getElementById("msg").innerHTML = vMsg;
				return false;
			}
			
			if (f_rangeEnd =='')
			{
				document.getElementById("msg").innerHTML = vMsg;
				return false;
			}
			
			if (f_agree.checked == false) {
				document.getElementById("msg").innerHTML = vMsg2;
				return false;
			}
			
		 }
		 
function validateOrder(vMsg, vMsg2){
			var f_agree = document.getElementById('agree');

			if (f_agree.checked == false) {
				document.getElementById("msg").innerHTML = vMsg2;
				return false;
			}
			
		 }		 
		 
function validateReservation2(vMsg, vMsg2){
			var f_date = document.getElementById('f_date').value;
			var hour = document.getElementById('hour').value;
			var f_agree = document.getElementById('agree2');

			if (f_date =='')
			{
				document.getElementById("msg2").innerHTML = vMsg;
				return false;
			}
			
			if (hour =='')
			{
				document.getElementById("msg2").innerHTML = vMsg;
				return false;
			}
			
			if (f_agree.checked == false) {
				document.getElementById("msg2").innerHTML = vMsg2;
				return false;
			}
		 }		 
		 
function validateRegister(vUser, vUserInv, vPass, vPassInv, vName, vNameInv, vFamily, vFamilyInv, vPhone, vPhoneInv, vEmailInv, vUserTaken, vEmailTaken){

		 	var msg='';
			var username = document.getElementById('r_username').value;
			var password = document.getElementById('r_password').value;
			var name = document.getElementById('r_name').value;
			var family = document.getElementById('r_family').value;
			var email = document.getElementById('r_email').value;
			var phone = document.getElementById('r_phone').value;
			
			var validRegExp;
			
			if (username =='' || username == vUser)
			{
				document.getElementById("msg").innerHTML = vUserInv;
				return false;
			}
			
			if (password =='' || password == vPass)
			{
				document.getElementById("msg").innerHTML = vPassInv;
				return false;
			}
			
			if (name =='' || name == vName)
			{
				document.getElementById("msg").innerHTML = vNameInv;
				return false;
			}
			
			if (family =='' || family == vFamily)
			{
				document.getElementById("msg").innerHTML = vFamilyInv;
				return false;
			}
	
			
			if (phone =='' || phone == vPhone)
			{
				document.getElementById("msg").innerHTML = vPhoneInv;
				return false;
			}
			
			validRegExp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/i;
			
			if (email != "") {
				if (email.search(validRegExp) == -1) {
					document.getElementById("msg").innerHTML = vEmailInv;
				return false;
				}
			}
			
			if (document.getElementById('r_username_status').value == 'taken')
			{
				document.getElementById("msg").innerHTML = vUserTaken;
				return false;
			}	
			if (document.getElementById('r_email_status').value == 'taken')
			{
				document.getElementById("msg").innerHTML = vEmailTaken;
				return false;
			}
		 }	

function validatePersonal(vPassInv, vName, vNameInv, vFamily, vFamilyInv, vPhone, vPhoneInv, vEmailInv, vEmailTaken){

		 	var msg='';
			var password = document.getElementById('r_password').value;
			var name = document.getElementById('r_name').value;
			var family = document.getElementById('r_family').value;
			var email = document.getElementById('r_email').value;
			var phone = document.getElementById('r_phone').value;
			
			var validRegExp;
			
			if (password =='')
			{
				document.getElementById("msg").innerHTML = vPassInv;
				return false;
			}
			
			if (name =='' || name == vName)
			{
				document.getElementById("msg").innerHTML = vNameInv;
				return false;
			}
			
			if (family =='' || family == vFamily)
			{
				document.getElementById("msg").innerHTML = vFamilyInv;
				return false;
			}
	
			
			if (phone =='' || phone == vPhone)
			{
				document.getElementById("msg").innerHTML = vPhoneInv;
				return false;
			}
			
			validRegExp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/i;
			
			if (email != "") {
				if (email.search(validRegExp) == -1) {
					document.getElementById("msg").innerHTML = vEmailInv;
				return false;
				}
			}
			
			if (document.getElementById('r_email_status').value == 'taken')
			{
				document.getElementById("msg").innerHTML = vEmailTaken;
				return false;
			}
		 }			 

function validateLogin(vUser, vPass){
			var username = document.getElementById('l_username').value;
			var password = document.getElementById('l_password').value;

			if (username =='' || password =='' || username==vUser || password==vPass)
			{
				return false;
			}
		}
function isNumberKey(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }
    return true;
}
function isFloatKey(evt) {
    var charCode = (evt.which) ? evt.which : evt.keyCode
	if (charCode != 46 && (charCode < 48 || charCode > 57)) {
		return false;
	}
    return true;
}
function getFormValues(fobj){
    var str='';
    for(var i=0;i< fobj.elements.length;i++){
        str+=fobj.elements[i].name+'='+ encodeURIComponent(fobj.elements[i].value)+'&';
    }
    str=str.substr(0,(str.length-1));
    return str;
}
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
function number_format( number, decimals, dec_point, thousands_sep ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://crestidg.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)    
    // *     example 1: number_format(1234.5678, 2, '.', '');
    // *     returns 1: 1234.57     
 
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "," : dec_point;
    var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}


/**
 * Returns true if an element has a specified class name
 */
function hasClass(node, className) {
  if (node.className == className) {
    return true;
  }
  var reg = new RegExp('(^| )'+ className +'($| )')
  if (reg.test(node.className)) {
    return true;
  }
  return false;
}

/**
 * Adds a class name to an element
 */
function addClass(node, className) {
  if (hasClass(node, className)) {
    return false;
  }
  node.className += ' '+ className;
  return true;
}

/**
 * Removes a class name from an element
 */
function removeClass(node, className) {
  if (!hasClass(node, className)) {
    return false;
  }
  // Replaces words surrounded with whitespace or at a string border with a space. Prevents multiple class names from being glued together.
  node.className = eregReplace('(^|\\s+)'+ className +'($|\\s+)', ' ', node.className);
  return true;
}
/**
 * Replace a class name of an element
 */
function replaceClass(node, newClassName, oldClassName)
{
	if (typeof oldClassName == 'undefined')
	{
		var oldClassName = node.className;
	}
	if (hasClass(node, oldClassName))
	{
		removeClass(node, oldClassName);
		addClass(node, newClassName);
	}	
}
/**
 * Toggles a class name on or off for an element
 */
function toggleClass(node, className) {
  if (!removeClass(node, className) && !addClass(node, className)) {
    return false;
  }
  return true;
}
/**
 * Emulate PHP's ereg_replace function in javascript
 */
function eregReplace(search, replace, subject) {
  return subject.replace(new RegExp(search,'g'), replace);
}
function gotoURL(someUrl,mHistory,step)
{
	if (typeof mHistory == 'undefined' || mHistory == '')
	{
		window.location = someUrl;
	} else {
		var s = (typeof step != 'undefined') ? parseInt(step) : null;
		switch (mHistory)
		{			 
			case 'back':
				history.back(s);
				break;
			case 'forward':
				history.forward(s);
				break;
		}
		
	}
	return false;
}
function check_field(f,path)
{
	if (typeof path == 'undefined') var path = '';	
	var params = 'section=auth&action=check&field='+f+'&value='+document.getElementById(f).value;
	var cb = function (result) {
		document.getElementById(f+'_status').value = result;
	}
	http('GET', path + 'ajax.php', cb, params);
}
function check_field2(f,id)
{
	var params = 'section=auth&action=check2&field='+f+'&value='+document.getElementById(f).value+'&id='+id;
	var cb = function (result) {
		document.getElementById(f+'_status').value = result;
	}
	http('GET', 'ajax.php', cb, params);
}
function check(method,fieldname)
{
    var checkboxes = document.getElementsByName(fieldname);
    for(var i=0; i < checkboxes.length; i++)
    {
        checkboxes[i].checked = method;
    }
}
function toggle(obj) {
	var el = $(obj);
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = '';
	}
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}
function bigpic(file,wid,hgt){
	sw=(screen.width-wid)/2;
    sh=(screen.height-hgt)/2;
	window.open(file,'mywindow','width='+wid+',height='+hgt+',scrollbars=1,resizable=1,menubar=0,toolbar=0,location=0,directories=0,status=0,top='+sh+',left='+sw+'')
}
function renewCode(){
	var myRandom = parseInt(Math.random()*99999999);
	$('security_code').src = 'includes/files/random.php?what=contact&renew=true&rand=' + myRandom;
}
function popUp(objId,elementId,t){
	var win = $(objId);	 
	var width = '';
	var height = '';
	var title = t ? t : '';
	
	if (win.style.display == 'none') {
		var params = 'section=gallery&action=load&id='+elementId;
		var popLoad = function (result){
			var c = '<img src="'+result.img+'" alt="" style="border:none" />';
			$(objId+'Title').style.width = result.width;
			$(objId+'Content').style.width = result.width;
			$(objId+'Content').style.height = result.height;
			$(objId+'Content').innerHTML = c;
		}
		http('GET', 'ajax.php', popLoad, params);
	}
	
	var content = '<div id="'+objId+'Title" style="cursor: move">';
	content+= '<span style="float:left">'+title+'</span><span style="float:right; margin: 3px 3px 3px 0;"><input type="image" src="assets/img/close_box.gif" onclick="popDown(\''+objId+'\')" /></span><span style="clear:both"></span></div>';
	content+= '<div id="'+objId+'Content" style="cursor: move"></div>';
	
	win.innerHTML=content;

	if (win.style.display == 'none'){
		win.style.display = '';
		var handle = $(objId+'Title');
		Drag.init(handle);
		Drag.init(win);
	}else
		win.style.display='none';
}
function popDown(objId)
{
	var win = $(objId);
	if (win) win.style.display='none';
}
