﻿// common.js File

var xmlHttp;
var resultHttp;
var curInterval;

function loadingAni(divName){
    curInterval = setInterval("loadingAni_Changed('"+divName+"')", 1000);
}

function loadingAni_Changed(divName){
    var tmp = document.getElementById(divName).innerHTML;
    var re = tmp.split('.');
    var ans, occnum;
    if (re.length == 2)
        ans = '<h2 class="LoadingText"> Loading . . </h2>';
    else if (re.length == 3)
        ans = '<h2 class="LoadingText"> Loading . . . </h2>';
    else
        ans = '<h2 class="LoadingText"> Loading . </h2>';
    document.getElementById(divName).innerHTML = ans;
}

function retrieveResult(url, param, divName, function_name) {
    loadingAni(divName);
	try {
	    
	    if (window.XMLHttpRequest) {
	        resultHttp = new XMLHttpRequest();
        } else {
            if (window.ActiveXObject)
	            resultHttp = new ActiveXObject("MSXML2.XMLHTTP.3.0")
        }
		if (function_name != "") {	            
		    resultHttp.onreadystatechange=function() {
		        if ((resultHttp.readyState == 4) && (resultHttp.status==200)) {
		            clearInterval(curInterval);
			        resultLoaded(divName, function_name);
			    }
			    //else document.getElementById(divName).innerHTML = "Unable to retrieve data";
            };                   
		}

		resultHttp.open("POST",url,true);
		resultHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		resultHttp.setRequestHeader("Content-length", param.length);
        //resultHttp.setRequestHeader("Connection", "Close");
		resultHttp.send(param);
	} catch(e) {
		//document.getElementById(divName).innerHTML = "Unable to retrieve data";
	}
}

function resultLoaded(divResultId, function_name){
    var resultBox = document.getElementById(divResultId);
    var resultItem = resultHttp.responseText;
    if (resultBox){
        if ((resultItem == null) && (resultItem.length == 0)) resultBox.innerHTML = '';
		else {
		    resultBox.innerHTML = resultItem;
		    sortables_init();
		}
    }
}

function retrievePage(url, param, divName, function_name) {
	try {		
	    if (window.XMLHttpRequest) {
	        xmlHttp = new XMLHttpRequest();
        } else {
            if (window.ActiveXObject)
	            xmlHttp = new ActiveXObject("MSXML2.XMLHTTP.3.0")
        }
		if (function_name != "") {	            
		    xmlHttp.onreadystatechange=function() {
		        if ((xmlHttp.readyState == 4) && (xmlHttp.status==200)) {
			        suggestloaded(divName, function_name);
			    }
            };                   
		}

		xmlHttp.open("POST",url,true);
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlHttp.setRequestHeader("Content-length", param.length);
        //xmlHttp.setRequestHeader("Connection", "Close");
		xmlHttp.send(param);
	} catch(e) {
		//document.getElementById(divName).innerHTML = "Unable to retrieve data";
	}
}

function Set_Cookie( name, value, expires, path, domain, secure )
{
    // set time, it's in milliseconds
    var today = new Date();
    today.setTime( today.getTime() );
    
    if ( expires )
    {
    expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date( today.getTime() + (expires) );

    document.cookie = name + "=" +escape( value ) +
    ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
    ( ( path ) ? ";path=" + path : "" ) +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );
}

function Get_Cookie(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 tagOver(dsg, divbox){
    var orig = document.getElementById(dsg);
    var dest = document.getElementById(divbox);
    var x, y;
    var myPos = findPos(orig);
    x = myPos[0];
    y = myPos[1];
    
    dest.style.top = y + "px"; //offsetTop
    dest.style.visibility = 'visible';    
}

function tagOut(divbox){
    var dest = document.getElementById(divbox);
    dest.style.visibility = 'hidden';    
}

function alltagOut(){
    tagOut('txtAlt_01');
    tagOut('txtAlt_02');
    tagOut('txtAlt_03');
    tagOut('txtAlt_04');
    tagOut('txtAlt_05');
    tagOut('txtAlt_06');
    tagOut('txtAlt_07');
}

function findPos(obj) {

    var curleft = curtop = 0;
    if (obj.offsetParent) {
            curleft = obj.offsetLeft
            curtop = obj.offsetTop
            while (obj = obj.offsetParent) {
                    curleft += obj.offsetLeft
                    curtop += obj.offsetTop
            }
    }
    return [curleft,curtop];
}