var web_req;

function Inint_AJAX()
{
   try { return new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {} //IE
   try { return new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {} //IE
   try { return new XMLHttpRequest();} catch(e) {} //Native Javascript 
   alert("XMLHttpRequest not supported");
   return null;
}

function setfocus(object,combo)
{
	document.getElementById(object).focus();
	if(combo == false)
		document.getElementById(object).select()
}

function trim(obj_value)
{
	if(obj_value.length > 0)
	{
		i = 0;
		for(;;)
		{	
			ch = obj_value.substring(i,i+1);				
			if((i == obj_value.length) || (ch != " "))
				break;
			else
				i++;
		}
		if((i != 0) && (i != obj_value.length))
		{
			obj_value = obj_value.substring(i,obj_value.length);				
		}
		else
			{
				if(i == obj_value.length)
					obj_value = "";
			}
		
		if(obj_value.length > 0)		
		{
			i = obj_value.length;
			for(;;)
			{	
				ch = obj_value.substring(i-1,i);				
				if((i == 0) || (ch != " "))
					break;
				else
					i--;
			}
			if(i != obj_value.length)
			{
				obj_value = obj_value.substring(0,i);				
			}	
		}					
	}
	return obj_value;
}

function iif(condition,result_true,result_false)
{
	if(condition){result = result_true}else{result = result_false};
	return result;
}

function IsNumeric(strString)
//  check for valid numeric strings	
{
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;
	
	if (strString.length == 0) return false;

   	//  test strString consists of valid characters listed above
   	for (i = 0; i < strString.length && blnResult == true; i++)
    {
		strChar = strString.charAt(i);
      	if (strValidChars.indexOf(strChar) == -1)
		{
			blnResult = false;
    	}
	}
	return blnResult;
}

function emailCheck (emailStr) 
{
/* The following pattern is used to check if the entered e-mail address
   fits the user@domain format.  It also is used to separate the username
   from the domain. */
	var emailPat = /^(.+)@(.+)$/;
/* The following string represents the pattern for matching all special
   characters.  We don't want to allow special characters in the address. 
   These characters include ( ) < > @ , ; : \ " . [ ]    */
	var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
/* The following string represents the range of characters allowed in a 
   username or domainname.  It really states which chars aren't allowed. */
	var validChars = "\[^\\s" + specialChars + "\]";
/* The following pattern applies if the "user" is a quoted string (in
   which case, there are no rules about which characters are allowed
   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
   is a legal e-mail address. */
	var quotedUser = "(\"[^\"]*\")";
/* The following pattern applies for domains that are IP addresses,
   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
   e-mail address. NOTE: The square brackets are required. */
	var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
/* The following string represents an atom (basically a series of
   non-special characters.) */
	var atom = validChars + '+';
/* The following string represents one word in the typical username.
   For example, in john.doe@somewhere.com, john and doe are words.
   Basically, a word is either an atom or quoted string. */
	var word = "(" + atom + "|" + quotedUser + ")";
// The following pattern describes the structure of the user
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
/* The following pattern describes the structure of a normal symbolic
   domain, as opposed to ipDomainPat, shown above. */
	var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$");


/* Finally, let's start trying to figure out if the supplied address is
   valid. */

/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
	var matchArray = emailStr.match(emailPat);
	if (matchArray == null) 
	{
  /* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
		//alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}

	var user = matchArray[1];
	var domain = matchArray[2];

// See if "user" is valid 
	if (user.match(userPat) == null) 
	{
    // user is not valid
    	//alert("The username doesn't seem to be valid.");
    	return false;
	}

/* if the e-mail address is at an IP address (as opposed to a symbolic
   host name) make sure the IP address is valid. */
	var IPArray = domain.match(ipDomainPat);
	if (IPArray!=null) 
	{
    // this is an IP address
	  	for (var i=1;i<=4;i++) 
	  	{
	    	if (IPArray[i]>255) 
			{
		    	//alert("Destination IP address is invalid!");
				return false;
		    }
    	}
    	return true;
	}

// Domain is symbolic name
	var domainArray = domain.match(domainPat);
	if (domainArray == null) 
	{
		//alert("The domain name doesn't seem to be valid.");
	    return false;
	}

/* domain name seems valid, but now make sure that it ends in a
   three-letter word (like com, edu, gov) or a two-letter word,
   representing country (uk, nl), and that there's a hostname preceding 
   the domain or country. */

/* Now we need to break up the domain to get a count of how many atoms
   it consists of. */
	var atomPat = new RegExp(atom,"g");
	var domArr = domain.match(atomPat);
	var len = domArr.length;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) 
	{
   // the address must end in a two letter or three letter word.
	   //alert("The address must end in a three-letter domain, or two letter country.");
	   return false;
	}

	// Make sure there's a host name preceding the domain.
	if (len < 2) 
	{
	   //var errStr="This address is missing a hostname!";
	   //alert(errStr);
	   return false
	}

// If we've gotten this far, everything's valid!
	return true;
}

function loadpage(page,module)
{
	var url = page + module;

	if (web_req == null){web_req = Inint_AJAX();}
	web_req.abort();
    //document.getElementById("content").innerHTML="<div id='process'><img src='Image/Process.gif'></div>";
	web_req.onreadystatechange = function(){
		if (web_req.readyState == 4) 
		{
			if (web_req.status == 200) 
			{
				var data = web_req.responseText;
				document.getElementById("content").innerHTML = data;
			} 
        } 
    };
    web_req.open("POST", url, true); 
    web_req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
    web_req.send(null);
}

function key_numeric(obj,keycode) 
{
	if (keycode > 31 && (keycode < 48 || keycode > 57)) { return false; }
	return;
}

function currentpage_onenter(obj,keycode) 
{
	if (keycode > 31 && (keycode < 48 || keycode > 57)) { return false; }
	if (keycode != 13)
	{
		return;
	}

	document.getElementById("frm_page").submit();
}

function currentpage_onclick(page) 
{
	document.getElementById("current_page").value = page;
	document.getElementById("frm_page").submit();
}

function frm_reset(frm,msg)
{
	if (msg == true) { if (document.getElementById("msg").style.display  != "none") document.getElementById("msg").style.display  = "none"; }
	document.all[frm].reset();
}

function login()
{
	document.all["user"].value = trim(document.all["user"].value);
	document.all["password"].value = trim(document.all["password"].value);

	var username = document.all["user"].value;
	var password = document.all["password"].value;
	var login = document.all["login"].value;
	var url = "Signin_Action.php";
	
	if (web_req == null){web_req = Inint_AJAX();}
	web_req.abort();

	web_req.open("POST", url, true);
	web_req.onreadystatechange = function(){
		if (web_req.readyState == 4) 
		{
			if (web_req.status == 200) 
			{
				var data = web_req.responseText.split("#");

				switch (data[1])
				{
					case "1" : { 
								 document.getElementById("msg").style.display = "";
								 document.getElementById("msg").innerHTML= "Invalid username or password";break; 
							   }
					default	 : { top.location.href="index.php?pid=001";break; }
				}
			}
		}
	};
	web_req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
	web_req.send("username=" + username + "&password=" + password + "&login=" + login);
}

function loadpage(page)
{
	var url = page;

	if (web_req == null){web_req = Inint_AJAX();}
	web_req.abort();
	document.getElementById("show_page").innerHTML="<div class='small_text' style='text-align:center;color:#FF0000'>Loading</div>";
	web_req.onreadystatechange = function(){
	if (web_req.readyState == 4) 
		{
			if (web_req.status == 200) 
			{
				var data = web_req.responseText;
				
				document.getElementById("show_page").innerHTML = data;
			} 
        } 
    };
    web_req.open("GET", url, true);
    web_req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
    web_req.send(null);
}

function loadguestbook(num_record,result_page,per_page,page)
{
	var url = page;
	var str;

	if (web_req == null){web_req = Inint_AJAX();}
	web_req.abort();
	document.getElementById("msg").innerHTML="<div class='small_text' style='text-align:center;color:#FF0000'>Loading</div>";
	web_req.onreadystatechange = function(){
	if (web_req.readyState == 4) 
		{
			if (web_req.status == 200) 
			{
				var data = web_req.responseText;

				document.getElementById("msg").style.display = "none";
				if (num_record == 0)
				{
					str  = "<div class='small_text' style='text-align:center;color:#FF0000'>Cannot Find Data</div>";
					str += "<div class='small_text' style='text-align:center;margin-top:5px'><a href='index.php?pid=021' target='_top' title='Sign the Guestbook'><strong>Sign the Guestbook</strong></a></div>";
					document.getElementById("show_guestbook").innerHTML=str;
				}
				else
					{
						document.getElementById("content").innerHTML = data;
					}
				document.getElementById("show_guestbook").style.display = "";
			} 
        } 
    };
    web_req.open("POST", url, true); 
    web_req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
    web_req.send("num_record=" + num_record + "&result_page=" + result_page + "&per_page=" + per_page);
}

function loadshow(new_release,num_record,result_page,per_page,type_search,keyword1,keyword2,page)
{
	var url = page;

	if (web_req == null){web_req = Inint_AJAX();}
	web_req.abort();
	document.getElementById("msg").innerHTML="<div class='small_text' style='text-align:center;color:#FF0000'>Loading</div>";
	web_req.onreadystatechange = function(){
	if (web_req.readyState == 4) 
		{
			if (web_req.status == 200) 
			{
				var data = web_req.responseText;

				document.getElementById("msg").style.display = "none";
				document.getElementById("content_search").style.display = "";
				if (num_record == 0)
				{
					document.getElementById("show_product").innerHTML="<div class='small_text' style='text-align:center;color:#FF0000'>Cannot Find Data</div>";
				}
				else
					{
						document.getElementById("content").innerHTML = data;
					}
				document.getElementById("show_product").style.display = "";
			} 
        } 
    };
    web_req.open("POST", url, true); 
    web_req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
    web_req.send("new=" + new_release + "&num_record=" + num_record + "&result_page=" + result_page + "&per_page=" + per_page + "&type_search=" + type_search + "&keyword1=" + keyword1 + "&keyword2=" + keyword2);
}

function loadsearch_product(type_search,keyword_link1,keyword_link2,keyword1,keyword2)
{
	var url = "Show_Search_Product.php";

	if (web_req == null){web_req = Inint_AJAX();}
	web_req.abort();
	document.getElementById("result_search").innerHTML="<div class='small_text' style='text-align:center;color:#FF0000;margin-top:7px'>Loading</div>";
	web_req.onreadystatechange = function(){
	if (web_req.readyState == 4) 
		{
			if (web_req.status == 200) 
			{
				var data = web_req.responseText;

				document.getElementById("result_search").innerHTML = data;
			}
        } 
    };
    web_req.open("POST", url, true); 
    web_req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
    web_req.send("type_search=" + type_search + "&keyword_link1=" + keyword_link1 + "&keyword_link2=" + keyword_link2 + "&keyword1=" + keyword1 + "&keyword2=" + keyword2);
}

function loaddetail(id)
{
	var url = "Show_Detail.php";
	if (web_req == null){web_req = Inint_AJAX();}
	web_req.abort();
	document.getElementById("msg").innerHTML="<div class='small_text' style='text-align:center;color:#FF0000'>Loading</div>";
	web_req.onreadystatechange = function(){
	if (web_req.readyState == 4) 
		{
			if (web_req.status == 200) 
			{
				var data = web_req.responseText;

				document.getElementById("msg").style.display = "none";
				document.getElementById("content").innerHTML = data;
				document.getElementById("content").style.display = "";
			}
        } 
    };
    web_req.open("POST", url, true); 
    web_req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
    web_req.send("id=" + id);
}