﻿//============================================================================================================
// Common functions
//============================================================================================================
function getElementsByName (tag, name) {    
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}
//function trimtext(_text) { return _text.replace(/^\s+|\s+$/, '').substr(0, _text.replace(/^\s+|\s+$/, '').length); };
function trimtext(_text) {
	var tmp=_text;
	while((tmp.substr(0,1)==' ')&&(tmp.length>0)){
		tmp = tmp.substr(1, tmp.length);
	}
	while((tmp.substr(tmp.length-1,1)==' ')&&(tmp.length>0)){
		tmp = tmp.substr(0,tmp.length-1);
	}
	return(tmp)
}
function isNumber(ss){
	var passw = ss;
	var ValidChars = '0123456789.';
	var IsNumber=true;
	var Char='';
	
	for (i = 0; passw.length > i && IsNumber == true; i++) 
	{ 
		Char = passw.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) { IsNumber = false; }
	}
	try{
		var ii = parseInt(ss, 10);
		if(ii=='NaN'){return(false)};
	}catch(ex){
		return(false);
	}
	if (IsNumber){ return(true);} else {return(false);}
}
function isPositiveNumber(ss) {
	try {if (isNumber(ss)) {return((ss>0)?true:false);} else {return(false);}}catch(ex){return(false);}
}
function checkNumberValue(e) {
  	var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    
    //if (target.value == target.defaultText) { target.value = ''; }
	if (isNumber(target.value)==false){target.value='0';}
}

/* 
 * Cross-browser event handling, by Scott Andrew
 */
function addEventScott(element, eventType, lamdaFunction, useCapture) {
    if (element.addEventListener) {
        element.addEventListener(eventType, lamdaFunction, useCapture);
        return(true);
    } else if (element.attachEvent) {
        var r = element.attachEvent('on' + eventType, lamdaFunction);
        return(r);
    } else {
        return(false);
    }
}

function get_value(_frm){
	var getStr = "";
	var frm = document.getElementById(_frm);
	var inputs = frm.getElementsByTagName("input");
	if(!frm){return;}
	
	for (i=0; i<inputs.length; i++) {
		if(inputs[i].name!='' && inputs[i].name!='undefined') {
			switch(inputs[i].type){
				case "text":
					getStr += "&" + inputs[i].name + "=" + window.encodeURIComponent(inputs[i].value);
					break;
				case "password": 
					getStr += "&" + inputs[i].name + "=" + window.encodeURIComponent(inputs[i].value);
					break;
				case "hidden":
					getStr += "&" + inputs[i].name + "=" + window.encodeURIComponent(inputs[i].value);
					break;
				case "checkbox":
					if(inputs[i].checked) {
						getStr += "&" + inputs[i].name + "=" + window.encodeURIComponent(inputs[i].value);
					}else{
						getStr += ""; //"&" + inputs[i].name + "="
					}
					break;
				case "radio":
					if(inputs[i].checked) {
						getStr += "&" + inputs[i].name + "=" + window.encodeURIComponent(inputs[i].value);
					}else{
						getStr += "";// + inputs[i].name + "="
					}
					break;
				default:
					break;
			}
		}
	}
	inputs = frm.getElementsByTagName("textarea");
	if(!inputs.length) {
		getStr += "&" + inputs.name + "=" + window.encodeURIComponent(inputs.value);
	}else{
		for (i=0; i<inputs.length; i++) {
			getStr += "&" + inputs[i].name + "=" + window.encodeURIComponent(inputs[i].value);
		}
	}
	inputs = frm.getElementsByTagName("select");
	if(!inputs.length) {
		getStr += "&" + inputs.name + "=" + window.encodeURIComponent(inputs.value);
	}else{
		for (i=0; i<inputs.length; i++) {
			getStr += "&" + inputs[i].name + "=" + window.encodeURIComponent(inputs[i].value);
		}
	}
	return getStr;
}
function sendmail(_title, _body){
	window.location = "mailto:your-friend@email.com?subject=" + encodeURIComponent(_title) + '&body=' + window.encodeURIComponent(_body);
}

//============================================================================================================
// Ajax functions
//============================================================================================================

//============================================================================================================
// END OF Other functions
//============================================================================================================

function send_contact(_oid, _eoid) {
	try{
		var getStr = "type=contact"
		getStr += get_value(_oid);
		getStr += "&rd=" + Math.random(); 
		var actionURL =  "/ajax/actions.aspx";		
		
		$.ajax({
			type: "POST",
			url: actionURL,
			data: getStr,
			success: function(msg){			
				switch(msg){
				case "done":
					$('div#contact-error').css('display','none');
					alert('Bạn đã gửi liên hệ thành công!');
					window.location.reload();
					break;
				case "cannotsendmail":
					$('div#contact-error').css('display','block');
					$('div#contact-error').html('<ol><li><label class="error" style="display:inline;">Có lỗi khi gửi liên hệ, mong bạn vui lòng thử lại.</label></li></ol>');
					break;
				default:
					break;
				}
			}
		});
		return;
	}catch(ex){}
}

function changeLang(_lang) {
	try{
		var getStr = "type=language&lang=" + _lang +  "&rd=" + Math.random(); 
		var actionURL =  "/ajax/actions.aspx";		
		
		$.ajax({
			type: "POST",
			url: actionURL,
			data: getStr,
			success: function(msg){
				if(msg.indexOf('err=')!=0){
					window.location="Default.aspx";
				}
			}
		});
		return;
	}catch(ex){}
}