// JavaScript Document
removing=false;

// This class will serve as a HACK to populate FCK fields thus making them
// accessible when submitting form via AJAX
function HackFCK()
{
this.UpdateEditorFormValue = function()
{
for ( i = 0; i < parent.frames.length; ++i )
if ( parent.frames[i].FCK )
parent.frames[i].FCK.UpdateLinkedField();
}
}
// instantiate the class
var FCKHack = new HackFCK();
// END OF FCK HACK

function swapDataRowClass(id,color) {
	if (!removing) document.getElementById(id).className='datarow'+color;
}
function remRow(id,color) {
	removing=true;
	document.getElementById('row'+id).className='remRow';
	document.getElementById('blockScreen').style.display='block';
	var agree = confirm('Are you sure you want to remove this member?\n\nPlease click  OK  to remove member - Click CANCEL to abort !!!');
	if (agree) { xajax_remMember(id) }
	document.getElementById('blockScreen').style.display='none'; 
	document.getElementById('row'+id).className='datarow'+color;
	removing=false;
}
function remMember(id,color) {
	removing=true;
	document.getElementById('row'+id).className='remRow';
	document.getElementById('blockScreen').style.display='block';
	var agree = confirm('Are you sure you want to remove this member?\n\nPlease click  OK  to remove member - Click CANCEL to abort !!!');
	if (agree) { xajax_remMember(id) }
	document.getElementById('blockScreen').style.display='none'; 
	document.getElementById('row'+id).className='datarow'+color;
	removing=false;
}
function remtrack(id,color) {
	removing=true;
	document.getElementById('row'+id).className='remRow';
	document.getElementById('blockScreen').style.display='block';
	var agree = confirm('Are you sure you want to remove this track?\n\nPlease click  OK  to remove member - Click CANCEL to abort !!!');
	document.getElementById('blockScreen').style.display='none'; 
	if (agree) { xajax_lazen('remtracks',id) } else { document.getElementById('row'+id).className='datarow'+color; }
	removing=false;
}
function SubmitCategory() {
	var name=document.getElementById('name').value;
	var ID=document.getElementById('ID').value;
	var isentree=0; if(document.getElementById('isentree').checked==true) isentree=1;
	var isadult=0; if(document.getElementById('isadult').checked==true) isadult=1;
	var iskids=0; if(document.getElementById('iskids').checked==true) iskids=1;
	var isdrink=0; if(document.getElementById('isdrink').checked==true) isdrink=1;
	var isdessert=0; if(document.getElementById('isdessert').checked==true) isdessert=1;
	var isimported=0; if(document.getElementById('isimported').checked==true) isimported=1;
	var fs = '~';
	var string=ID+fs+name+fs+isentree+fs+isadult+fs+iskids+fs+isdrink+fs+isdessert+fs+isimported+fs+'eol';
	xajax_lazen('category',string);
}
function remCategory(id,color) {
	removing=true;
	document.getElementById('row'+id).className='remRow';
	document.getElementById('blockScreen').style.display='block';
	var agree = confirm('Are you sure you want to remove this entry?\n\nPlease click  OK  to remove entry - Click CANCEL to abort !!!');
	if (agree) { xajax_remCATS(id) } else {
		document.getElementById('blockScreen').style.display='none'; 
		document.getElementById('row'+id).className='datarow'+color;
	}
	removing=false;
}
function remlzmenu(id,color) {
	removing=true;
	document.getElementById('row'+id).className='remRow';
	document.getElementById('blockScreen').style.display='block';
	var agree = confirm('Are you sure you want to remove this entry?\n\nPlease click  OK  to remove entry - Click CANCEL to abort !!!');
	if (agree) { xajax_lazen('remlzmenu',id) } else {
		document.getElementById('blockScreen').style.display='none'; 
		document.getElementById('row'+id).className='datarow'+color;
	}
	removing=false;
}
function remlznews(id,color) {
	removing=true;
	document.getElementById('row'+id).className='remRow';
	document.getElementById('blockScreen').style.display='block';
	var agree = confirm('Are you sure you want to remove this entry?\n\nPlease click  OK  to remove entry - Click CANCEL to abort !!!');
	if (agree) { xajax_lazen('remlznews',id) } else {
		document.getElementById('blockScreen').style.display='none'; 
		document.getElementById('row'+id).className='datarow'+color;
	}
	removing=false;
}
function remlzevents(id,color) {
	removing=true;
	document.getElementById('row'+id).className='remRow';
	document.getElementById('blockScreen').style.display='block';
	var agree = confirm('Are you sure you want to remove this entry?\n\nPlease click  OK  to remove entry - Click CANCEL to abort !!!');
	if (agree) { xajax_lazen('remlzevents',id) } else {
		document.getElementById('blockScreen').style.display='none'; 
		document.getElementById('row'+id).className='datarow'+color;
	}
	removing=false;
}

function serialize( mixed_value ) {
    var _getType = function( inp ) {
        var type = typeof inp, match;
        var key;
        if (type == 'object' && !inp) {
            return 'null';
        }
        if (type == "object") {
            if (!inp.constructor) {
                return 'object';
            }
            var cons = inp.constructor.toString();
            match = cons.match(/(\w+)\(/);
            if (match) {
                cons = match[1].toLowerCase();
            }
            var types = ["boolean", "number", "string", "array"];
            for (key in types) {
                if (cons == types[key]) {
                    type = types[key];
                    break;
                }
            }
        }
        return type;
    };
    var type = _getType(mixed_value);
    var val, ktype = '';
    
    switch (type) {
        case "function": 
            val = ""; 
            break;
        case "undefined":
            val = "N";
            break;
        case "boolean":
            val = "b:" + (mixed_value ? "1" : "0");
            break;
        case "number":
            val = (Math.round(mixed_value) == mixed_value ? "i" : "d") + ":" + mixed_value;
            break;
        case "string":
            val = "s:" + mixed_value.length + ":\"" + mixed_value + "\"";
            break;
        case "array":
        case "object":
            val = "a";
            var count = 0;
            var vals = "";
            var okey;
            var key;
            for (key in mixed_value) {
                ktype = _getType(mixed_value[key]);
                if (ktype == "function") { 
                    continue; 
                }
                
                okey = (key.match(/^[0-9]+$/) ? parseInt(key, 10) : key);
                vals += serialize(okey) +
                        serialize(mixed_value[key]);
                count++;
            }
            val += ":" + count + ":{" + vals + "}";
            break;
    }
    if (type != "object" && type != "array") {
      val += ";";
  }
    return val;
}
function mkFormString(it) {
	var theForm = it;
	var alertText = ""; var names = ""; var values = "";
   for(i=0; i<theForm.elements.length; i++)
   {
		alertText += "Element Name: " + theForm.elements[i].name + " - " + theForm.elements[i].type + "<br />\n"
		names += theForm.elements[i].name + '~';
		if(theForm.elements[i].type == "text" || theForm.elements[i].type == "textarea" || theForm.elements[i].type == "button" || theForm.elements[i].type == "password" || theForm.elements[i].type == "hidden")
		{ values += theForm.elements[i].value + '~';
		} else if(theForm.elements[i].type == "checkbox") {
			if(theForm.elements[i].checked) { values += theForm.elements[i].value + '~' } else { values += '~'; }
		} else if(theForm.elements[i].type == "select-one") {
			values += theForm.elements[i].options[theForm.elements[i].selectedIndex].value + '~'
		} else {
			values += theForm.elements[i].value + '~';
		}
   }
   names += "eol"; 
   values += "eol";
   var string = names + '::' + values;
   return string;
}

function saveMember() {

	var theForm = document.forms.members;

	var alertText = ""; var names = ""; var values = "";
   for(i=0; i<theForm.elements.length; i++)
   {
		alertText += "Element Name: " + theForm.elements[i].name + " - " + theForm.elements[i].type + "<br />\n"
/*		
		if(theForm.elements[i].type == "text" || theForm.elements[i].type == "textarea" || theForm.elements[i].type == "button" || theForm.elements[i].type == "password" || theForm.elements[i].type == "hidden")
		{ alertText += "Element Value: " + theForm.elements[i].value + "<br />\n"
		} else if(theForm.elements[i].type == "checkbox") {
			alertText += "Element Checked? " + theForm.elements[i].checked + "<br />\n"
		} else if(theForm.elements[i].type == "select-one") {
			alertText += "Selected Option's Text: " + theForm.elements[i].options[theForm.elements[i].selectedIndex].text + "<br />\n"
		}
*/
		names += theForm.elements[i].name + '~';
		if(theForm.elements[i].type == "text" || theForm.elements[i].type == "textarea" || theForm.elements[i].type == "button" || theForm.elements[i].type == "password" || theForm.elements[i].type == "hidden")
		{ values += theForm.elements[i].value + '~';
		} else if(theForm.elements[i].type == "checkbox") {
			if(theForm.elements[i].checked) { values += theForm.elements[i].value + '~' } else { values += '~'; }
		} else if(theForm.elements[i].type == "select-one") {
			values += theForm.elements[i].options[theForm.elements[i].selectedIndex].text + '~'
		}
   }
   names += "eol"; 
   values += "eol";
   var string = names + '::' + values;
//	document.write(names+"<br />"+values);
   xajax_lazen('savemember',string);
   return true;
}
function saveLZMENU() {
	var theForm = document.forms.lzmenuform;
	var alertText = ""; var names = ""; var values = "";
   for(i=0; i<theForm.elements.length; i++)
   {
		alertText += "Element Name: " + theForm.elements[i].name + " - " + theForm.elements[i].type + "<br />\n"
		names += theForm.elements[i].name + '~';
		if(theForm.elements[i].type == "text" || theForm.elements[i].type == "textarea" || theForm.elements[i].type == "button" || theForm.elements[i].type == "password" || theForm.elements[i].type == "hidden")
		{ values += theForm.elements[i].value + '~';
		} else if(theForm.elements[i].type == "checkbox") {
			if(theForm.elements[i].checked) { values += theForm.elements[i].value + '~' } else { values += '~'; }
		} else if(theForm.elements[i].type == "select-one") {
			values += theForm.elements[i].options[theForm.elements[i].selectedIndex].value + '~'
		} else {
			values += theForm.elements[i].value + '~';
		}
   }
   names += "eol"; 
   values += "eol";
   var string = names + '::' + values;
   //alert(alertText);
   //alert(string);
   xajax_lazen('savelzmenu',string);
   return true;
}
function savenews() {
	var theForm = document.forms.newsform;
	var alertText = ""; var names = ""; var values = "";
	var string=mkFormString(theForm);
	xajax_lazen('savelznews',string);
	return true;
}
function saveevents() {
	var theForm = document.forms.eventsform;
	var alertText = ""; var names = ""; var values = "";
	var string=mkFormString(theForm);
	xajax_lazen('savelzevents',string);
	return true;
}
function savephoto() {
	var theForm = document.forms.editphotoform;
	var alertText = ""; var names = ""; var values = "";
	var string=mkFormString(theForm);
	xajax_lazen('savephotos',string);
	return true;
}
function savecontactslog() {
	var theForm = document.forms.addcontactslog;
	var alertText = ""; var names = ""; var values = "";
	var string=mkFormString(theForm);
	xajax_lazen('savecontactslog',string);
	return true;
}
function lazencontact() {
	var theForm = document.forms.contactform;
	var string=mkFormString(theForm);
	xajax_lazen('sendcontact',string);
	return true;
}
