// JavaScript Document
function getXMLRequest() {
	var xmlHttp = null;
	if (window.XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest(); // FireFox, Opera and IE7
	}
	else if (window.ActiveXObject) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); // IE5 & IE6
	}
        
	return xmlHttp;
}

function getRandomNum() {
   return "rand=" + Math.floor(Math.random()*10000);
}

function getEBID(tagName) {
	return document.getElementById(tagName);
}

function getReturnText(url, data, divTag) {
   
	var objRequest = getXMLRequest();
	var ranDom = getRandomNum();
	var a = document.getElementById(divTag);
        
    objRequest.onreadystatechange = function(){
			if (objRequest.readyState == 1) {
				a.innerHTML = "<div id='innerLoading'><img src='images/loading.gif'></div> ";
			}
			else if(objRequest.readyState == 4 && objRequest.status == 200){
				a.innerHTML = objRequest.responseText;
			}
    }
       
    objRequest.open("GET", url+"?"+ranDom+"&"+data);
    objRequest.send(null);
        
}

// use to Method POST to send information and return text
function postReturnText(url, data, divTag) {
	
	var objRequest = getXMLRequest();
	var ranDom = getRandomNum();
    var a = document.getElementById(divTag);
	
    objRequest.onreadystatechange = function(){
           if (objRequest.readyState == 1) {
				a.innerHTML = "<div id='innerLoading'><img src='images/loading.gif'></div> ";
			}
			else if(objRequest.readyState == 4 && objRequest.status == 200){
                a.innerHTML = objRequest.responseText;                          
			}
    }
       
    objRequest.open("POST",url);
	objRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	objRequest.send(data+"&"+ranDom);  
	      
}

function postDataReturnText(url, formname, data, divTag) {
	
	var objRequest = getXMLRequest();
	var ranDom = getRandomNum();
    var a = document.getElementById(divTag);
	var d = this.getFormData(formname);
	
    objRequest.onreadystatechange = function(){
           if (objRequest.readyState == 1) {
				a.innerHTML = "";
			}
			else if(objRequest.readyState == 4 && objRequest.status == 200){
                a.innerHTML = objRequest.responseText;                          
			}
    }
    
    objRequest.open("POST",url);
	objRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	objRequest.send(d+"&"+data+"&"+ranDom);  
	      
}

function getFormData(form_name_or_id) {	// get data from normal form..not XML but can get data sync with class formdb.inc.php

	var frm = document.forms[form_name_or_id];
	if(frm==null) {
		alert("this form not found..please check form name");
		return;
	}
	
	var data = " ";
	var num_el = frm.elements.length;
	for(var i=0; i<num_el; i++) {
		var el = frm.elements[i];
		if(el.name == "" && el.id == "") {
			continue;
		}
		var param_name = "";
		if(el.name != "") {
			param_name = el.name;
		}
		else if(el.id != "") {
			param_name = el.id;
		}
		
		var t = frm.elements[i].type;
		var value = "";
		
		if(t == "text" || t == "password" || t ==  "hidden" ||  t == "textarea") {
			value = encodeURI(el.value);
		}
		else if(t == "radio" || t == "checkbox") {
			if(el.checked) {
				value = encodeURI(el.value);
			}
			else {
				continue;
			}
		}
		else if(t == "button") {
			value = encodeURI(el.value);
		}
		else if(t == "select-one") {
			value = encodeURI(el.options[el.selectedIndex].value);
		}
		else if(t == "select-multiple") {
			for(var j=0; j<el.length; j++) {
				if(el.options[j].selected) {
					if(data != "") {
						data += "&";
					}
					data += param_name + "=";
					data += encodeURI(select.options[j].value);
				}
			}
			
			continue;
		}
		
		if(data != "") {
			data += "&";
		}
		
		data += param_name + "=" + value;
	}
	
	
	return data;
	
}

function getFormDataAjax(form_name_or_id) {	// get data from normal form..not XML but can get data sync with class formdb.inc.php

	var frm = document.forms[form_name_or_id];
	if(frm==null) {
		alert("this form not found..please check form name");
		return;
	}
	
	var data = "";
	var num_el = frm.elements.length;
	
	for(var i=0; i<num_el; i++) {
		var el = frm.elements[i];
		if(el.name == "" && el.id == "") {
			continue;
		}
		var param_name = "";
		if(el.name != "") {
			param_name = el.name;
		}
		else if(el.id != "") {
			param_name = el.id;
		}
		
		var t = frm.elements[i].type;
		var value = "";
		
		if(t == "text" || t == "password" || t ==  "hidden" ||  t == "textarea") {			
			value = encodeURIComponent(el.value);
		}
		else if(t == "radio" || t == "checkbox") {
			if(el.checked) {
				value = encodeURI(el.value);
			}
			else {
				continue;
			}
		}
		else if(t == "button") {
			value = encodeURI(el.value);
		}
		else if(t == "select-one") {
			value = encodeURI(el.options[el.selectedIndex].value);
		}
		else if(t == "select-multiple") {
			for(var j=0; j<el.length; j++) {
				if(el.options[j].selected) {
					if(data != "") {
						data += "&";
					}
					data += param_name + "=";
					data += encodeURI(select.options[j].value);
				}
			}
			
			continue;
		}
		
		if(data != "") {
			data += "&";
		}
		
		data += param_name + "=" + value;
	}
	
	
	return data;
	
}

function loadXMLDoc(xmlfilename) 
{         
	if (window.ActiveXObject) {
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	}
	else if (document.implementation.createDocument) {
		xmlDoc = document.implementation.createDocument("","",null);
	}
	else {
		return null;
	}

	xmlDoc.async=false;
	xmlDoc.load(xmlfilename);

	return xmlDoc;
}

function checkKey(e) {
	
	if (e == null) { // ie
			keycode = event.keyCode;
			escapeKey = 27;
	} else { // mozilla
			keycode = e.keyCode;
			escapeKey = e.DOM_VK_ESCAPE;
	}
	
	key = String.fromCharCode(keycode);
	alert(key);
}


function checkEnter(e, id, divTag){ //e is event object passed from function invocation
var characterCode;
	
	if(e && e.which){ //if which property of event object is supported (NN4)
	e = e;
	characterCode = e.which; //character code is contained in NN4's which property
	}
	else{
	e = event;
	characterCode = e.keyCode; //character code is contained in IE's keyCode property
	}

	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		editCgallery(id,divTag); //submit the form
		//alert(divTag);
		return false;
	}
	

}

function createEm(tbname) {
	
	var frm = document.getElementById("tsr");
	//var data = " ";
	var tr = frm.getElementsByTagName("tr");
	
	num_el = tr.length;
	alert(num_el);
}

/*
Ajax for Insert, Update and Delete Data for all table with facebox.js
====================================================================================
*/

function updateBox(urlpath, externalData) {
	if(externalData == "") {
		externalData = "";
	}
		
	$.ajax({
		type: "POST",
		url: urlpath,
		data: externalData,
		success: function(msg) {
			jQuery.facebox(msg);
		}
	});
}

function updateBoxExForm(urlpath, externalData, formname) {
	if(formname != "" || formname != null) {
		var d = getFormDataAjax(formname);
	}
	
	
	
	if(externalData == "") {
		externalData = "";
	}
		
	$.ajax({
		type: "POST",
		url: urlpath,
		data: externalData+"&"+d,
		success: function(msg) {
			jQuery.facebox(msg);
		}
	});
}

function updateDIV(urlpath, externalData, divid) {
	var dsp = document.getElementById(divid);
	$.ajax({
		type: "POST",
		url: urlpath,
		data: externalData,
		success: function(msg) {
			dsp.innerHTML = msg;
		}
	});
}

function selectUpdateDIV(urlpath, formname, divid) {
	var d = getFormDataAjax(formname);
	var dsp = document.getElementById(divid);
	$.ajax({
		type: "POST",
		url: urlpath,
		data: d,
		success: function(msg) {
			dsp.innerHTML = msg;
		}
	});
}

function doChange(urlpath, src, val) {
	updateDIV(urlpath,"data="+src+"&val="+val,src);
}

function dotheChange(urlpath, src, val ) {
		$.ajax({
		type: "POST",
		url: urlpath,
		data: "data="+src+"&val="+val,
		success: function(msg) {
			$("#"+src).empty();
			$("#"+src).append(msg);
			//alert(src);
		}
	});
}


/*
====================================================================================
*/

