/**
 * WARP Framework
 * Javascript & AJAX Development Library
 
 * @author Cristian A. Rodriguez Enriquez
 * @copyright Globalisys
 * @since  20 MAR 2011
 * @version 1.5
 * 
 * 
 * 
 */
 
 function $id(id) { return document.getElementById(id); }
 function $innerHTML(id) { return $id(id).firstChild.nodeValue; }

 var LOADING_IMG = "img/loading.gif";
 
 function Ajax() {
	var xmlhttp = false;
	if (window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
		if (xmlhttp.overrideMimeType) {
			xmlhttp.overrideMimeType('text/xml'); 
		} 
	} else if (window.ActiveXObject) { 
		try { 
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) { 
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {} 
		} 
	} 
	if (!xmlhttp) {
		alert("No se puede crear la instancia XMLHTTP (Ajax No Soportado)");
		return false;
	}
	return xmlhttp;
}

function getContent(idContainer, URL, ajaxObject, method) {
	var ajaxObject = Ajax();
    if (method == "POST") { 
		ajaxObject.open("POST", URL, true);
	}
    else {
		ajaxObject.open("GET" , URL, true);
		ajaxObject.send(null);
	}
	ajaxObject.onreadystatechange = function() {
        if (ajaxObject.readyState == 0) { $id(idContainer).innerHTML = "<img src = '" + LOADING_IMG   + "' />"; }
        if (ajaxObject.readyState == 1) { }
        if (ajaxObject.readyState == 2) { }
        if (ajaxObject.readyState == 3) { }
        if (ajaxObject.readyState == 4 || ajaxObject.readyState == "complete") {
			var xmlDoc = ajaxObject.responseXML.documentElement;
			$id(idContainer).innerHTML = xmlDoc.getElementsByTagName("warpblock");
			/*
			if( isWHTML() ) {
				var temp = document.createElement("div");
				temp.id = "WARP_JS_TEMP_DIV";
				temp.innerHTML = ajaxObject.responseText;
				while($id(idContainer).hasChildNodes()) {
					$id(idContainer).removeChild($id(idContainer).firstChild);
				}
				$id(idContainer).appendChild(temp);
			}
			*/
		}
    }
}

function getContentHTML(idContainer, URL, ajaxObject, method) {
    var ajaxObject = Ajax();
    
    if (method == "POST") { 
		ajaxObject.open("POST", URL, true);
	}
    else {
		ajaxObject.open("GET" , URL, true);
		ajaxObject.send(null);
	}
    
    ajaxObject.onreadystatechange = function() {
        if (ajaxObject.readyState == 0) { $id(idContainer).innerHTML = "<img src = '" + LOADING_IMG   + "' />";}
        if (ajaxObject.readyState == 1) { }
        if (ajaxObject.readyState == 2) { }
        if (ajaxObject.readyState == 3) { }
        if (ajaxObject.readyState == 4 || ajaxObject.readyState == "complete") {
            $id(idContainer).innerHTML = ajaxObject.responseText;
        }
    }
    
}

function ajaxPostVars(sURL, sVars, idContainer) {
    var ajax = Ajax();
    var vars = sVars;
    
    ajax.open("POST", sURL, true);      
    
    ajax.onreadystatechange = function() {
        if (ajax.readyState == 1) { $id(idContainer).innerHTML = "<img src = '" + LOADING_IMG   + "' />"; }
        if (ajax.readyState == 2) { }
        if (ajax.readyState == 3) { }
        if (ajax.readyState == 4 || ajax.readyState == "complete") { $id(idContainer).innerHTML = ajax.responseText; }
    }
    ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    ajax.setRequestHeader("Content-length", vars.length);
    ajax.setRequestHeader("Connection", "close");
    ajax.send(vars);
}

function changeLanguage(lang) {
	var ajax = Ajax();
    var vars = 'lang=' + lang;
    
    ajax.open("POST", "lang/change.php", true);      
    
    ajax.onreadystatechange = function() {
        if (ajax.readyState == 1) { }
        if (ajax.readyState == 2) { }
        if (ajax.readyState == 3) { }
        if (ajax.readyState == 4 || ajax.readyState == "complete") { window.location.reload(true); }
    }
    ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    ajax.setRequestHeader("Content-length", vars.length);
    ajax.setRequestHeader("Connection", "close");
    ajax.send(vars);
}
