// JavaScript Document
// ajaxy.js por Edson Lemus =o) edsonnlb@gmail.com
// The secret behind that ajaxy thing! wajajajajaja!

function setValueById(id, value) {
	var object = document.getElementById(id);
	object.value = value;
}

function setHTMLById(id, html) {
	var object = document.getElementById(id);
	object.innerHTML = html;
	var scripts = object.getElementsByTagName("script");
	for (var i = 0; i < scripts.length; i++) {
		/*if (scripts[i].src != null && scripts[i].src.length > 0){
			alert(scripts[i].src);
			objScript = document.createElement('script');
			objScript.src = scripts[i].src;
			document.getElementsByTagName('head').item(0).appendChild(objScript);
		}
		else{*/
			eval(scripts[i].text);
		//}
	}
}

function getFormValues(idForm) {
	var objForm = document.getElementById(idForm);
	var str = '';
	for (var i = 0; i < objForm.elements.length; i++) {
		if (i > 0) {
			str = str + "&";
		}
		str = str + objForm.elements[i].name + '=' + escape(objForm.elements[i].value);
	}

	return str;
}

function getAjaxObject() {
	var object = false;
	if (typeof XMLHttpRequest != 'undefined') {
		object = new XMLHttpRequest();
	} 
	else {
		try {
			object = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e1) {
			try {
				object = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e2) {}
		}
	}
	return object;
}

function postAjax(serverDoc, action, strPost, formID) {
	objAjax = getAjaxObject();
	try {
		objAjax.open("POST", serverDoc, true);
		objAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
		objAjax.setRequestHeader('Content-Length', strPost.length);
		objAjax.onreadystatechange = function() {
						if (objAjax.readyState == 4) {
							if (objAjax.status == 200) {
								setHTMLById('option' + formID + '_' + action, objAjax.responseText);
							}
						}
					}
		objAjax.send(strPost);
	}
	catch (E) {}
}

function execAction(action, objID, formID) {
	var tempHTML = '<span><img src="http://www.carrerasuniversitarias.com/buscar/images/loading.gif" />Cargando...</span>';
	var obj = document.getElementById(objID + '_' + formID);
	setHTMLById('option' + formID + '_' + action, tempHTML);
	var strPost = 'action=' + action + '&elementID=' + obj.value + '&formID=' + formID;
	postAjax('/buscar/optionGetter.php', action, strPost, formID);
}

function execActionVars(action, objID, formID, vars) {
	var tempHTML = '<span><img src="http://www.carrerasuniversitarias.com/buscar/images/loading.gif" />Cargando...</span>';
	var obj = document.getElementById(objID + '_' + formID);
	setHTMLById('option' + formID + '_' + action, tempHTML);
	var strPost = 'action=' + action + '&elementID=' + obj.value + '&formID=' + formID;
	strPost += '&' + vars;
	postAjax('/buscar/optionGetter.php', action, strPost, formID);
}

function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function trim(str) {
	while (str.substring(0, 1) == ' ') {
		str = str.substring(1, str.length);
	}
	while (str.substring(str.length-1, str.length) == ' ') {
		str = str.substring(0, str.length-1);
	}

	return str;
}

function fade(id, opacStart, opacEnd, millisec) { 
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpacity(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) 
            { 
            setTimeout("changeOpacity(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 

//change the opacity for different browsers 
function changeOpacity(opacity, id) { 
    var object = document.getElementById(id).style; 
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = "alpha(opacity=" + opacity + ")"; 
}