
//////////////////////////////////////////////////////////////////////////////
//Open windows Java Script Function
//
/////////////////////////////////////////////////////////////////////////////


function ismobile(mobile) {
	if (mobile == '' || mobile == null || mobile == undefined) {
		return false;
	}
	var mReg = /(^[1][3][0-9]{9}$)|(^0[1][3][0-9]{9}$)|(^[1][5][0-9]{9}$)|(^0[1][5][0-9]{9}$)|(^[1][8][8][0-9]{8}$)/;
	return mReg.test(mobile);

}

	
function openWindows(link,ww,hh){
	if (link!=""){
		var url= link ;
		var w = ww ;
		var h =  hh ;
		var winW=w-10;
		var winH=h-30;
		var winX=(window.screen.width-winW-10)/2;
		var winY=(window.screen.height-h-30)/2;
		var openArticle=window.open(url,'','left='+winX+',top='+winY+',width='+winW+',height='+winH+',toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=no');
		openArticle.focus();
	}
}
function openModalDialog(link,ww,hh){
	if (link!=""){
		var url= link ;
		var w = ww ;
		var h =  hh ;
		var winW=w-10;
		var winH=h-30;
		var winX=(window.screen.width-winW-10)/2;
		var winY=(window.screen.height-h-30)/2;
		window.showModalDialog(url,'','left='+winX+',top='+winY+',width='+winW+',height='+winH+',toolbar=no,menubar=no,scrollbars=no,resizable=yes,location=no,status=no');
	}
}


///////////////////////////////////////////////////////////////////////////////
//check common Java Script Function
//
///////////////////////////////////////////////////////////////////////////////
function getStrLength(fData) 
{ 
   var intLength=0;
   for (var i=0;i<fData.length;i++) { 
	   if ((fData.charCodeAt(i) < 0) || (fData.charCodeAt(i) > 255)) {
	   		intLength=intLength+2 
	   }else{
	   		intLength=intLength+1 
	   } 
   }
   return intLength 
} 

function isDecimal(strNum)
{
	if (myTrim(strNum)=="") return false;
	var i;
	var numOfPeriod=0;
	for(i = 0; i < strNum.length; i++)
	{
		var ch = strNum.charAt(i);
		if (ch=='.') numOfPeriod++;
		if (numOfPeriod>1) return false;
		if ((ch < '0' || ch > '9') && (ch !='.')) return false;
	}
	return true;
}
function isCorrectDecimalFormat(strNum, places)
{
	if (myTrim(strNum)=="") return false;
	var i;
	var numOfPeriod=0;
	var numOfDecimalPlaces=0;
	for(i = 0; i < strNum.length; i++)
	{
		var ch = strNum.charAt(i);
		if (ch=='.') numOfPeriod++;
		if (numOfPeriod>1) return false;
		if ((ch < '0' || ch > '9') && (ch !='.')) return false;
		if (numOfPeriod==1 && (ch >= '0' && ch <= '9')) numOfDecimalPlaces++;
		if (numOfDecimalPlaces > places) return false;
	}
	return true;
}
function isNumeric(strNum)
{	
	if (myTrim(strNum)=="") return false;
	var i;
	for(i = 0; i < strNum.length; i++)
	{
		var ch = strNum.charAt(i);
		if (ch < '0' || ch > '9') return false;
	}
	return true;
}

function isAlphanumeric(str)
{
	if (myTrim(str)=="") return false;
	var i;
	for (i = 0; i < str.length; i++)
	{
		var ch = str.charAt(i);
		if ( ((ch < 'A' || ch > 'Z') && (ch < 'a' || ch > 'z')) && (ch < '0' || ch > '9') )	return false;

	}
	return true;
}

function myTrim(str)
{
	var end = false;
	var ch;
	while (!end) {
		if (str.length == 0) break;
		ch = str.charAt(0);
		if (ch == ' ')	str = str.substring(1, str.length);
		else end = true;
	}
	end = false;
	while (!end) {
		if (str.length == 0) break;
		ch = str.charAt(str.length - 1);
		if (ch == ' ')	str = str.substring(0, str.length - 1);
		else end = true;
	}
	return str;
}

function checkTrim(str)
{	
	var end = false;
	var ch;
	while(!end){
		if (str.length == 0) break;
		ch = str.charAt(0);
		if (ch == ' ')	str = str.substring(1,str.length);
		else end = true;
	}
	end = false;
	while(!end){
		if (str.length == 0) break;
		ch = str.charAt(str.length-1);
		if (ch == ' ')	str = str.substring(0,str.length-1);
		else end = true;
	}
	return str;
}
function isBlank(s) {
	 var len=s.length;
	 var i;
	 for (i=0;i<len;i++) {
	  if(s.charAt(i)!=" ") return false
	 }
	 return true
}

function getSafeJScript(str)
{	
	var OutString = '';
	var i;
	for(i = 0; i < str.length; i++)
	{
		var ch = str.charAt(i);
		//if (ch == '\'' || ch == '\"' || ch == '\\')
		if (ch == '\'' || ch == '\\')
		{
			OutString += '\\'+ch;
		}
		else
		{
			OutString += ch;
		}
	}
	
	return (OutString);
}
var noSafeCharacter = '$%<>&\'';
function checkSafeCharacter(str){
	/*
	for(i = 0; i < str.length; i++)
	{
		var ch = str.charAt(i);
		if(ch == '\'' 
			|| ch == '$'
			|| ch == '%'
			|| ch == '&'
			|| ch == '<'
			|| ch == '>'){
			return false
		}
	}
	*/
	return true;
}
function getSafeHTML(str)
{	
	var OutString = '';
	var i;
	for(i = 0; i < str.length; i++)
	{
		var ch = str.charAt(i);
		if (ch == '>') {
			OutString += '&gt;';
		} else if (ch == '<') {
			OutString += '&lt;';
		} else if (ch == '&' ) {
			OutString += '&amp;';
		}  else if (ch == '"' ) {
			OutString += '&quot;';
		}  else {
			OutString += ch;
		}
	}
	
	return (OutString);
}

function lessCompareDate(startDate,endDate){
	var datePat = /^(\d{4})-(\d{1,2})-(\d{1,2})$/; 
	var startArray = startDate.match(datePat);
	var endArray = endDate.match(datePat);
	var sd =new Date(startArray[1],startArray[2]-1,startArray[3]); 
	var ed =new Date(endArray[1],endArray[2]-1,endArray[3]); 
	return sd <= ed;
}
function bigCompareDate(startDate,endDate){
	var datePat = /^(\d{4})-(\d{1,2})-(\d{1,2})$/; 
	var startArray = startDate.match(datePat);
	var endArray = endDate.match(datePat);
	var sd =new Date(startArray[1],startArray[2]-1,startArray[3]); 
	var ed =new Date(endArray[1],endArray[2]-1,endArray[3]); 
	return sd >= ed;
}
function equalCompareDate(startDate,endDate){
	var datePat = /^(\d{4})-(\d{1,2})-(\d{1,2})$/; 
	var startArray = startDate.match(datePat);
	var endArray = endDate.match(datePat);
	var sd =new Date(startArray[1],startArray[2]-1,startArray[3]); 
	var ed =new Date(endArray[1],endArray[2]-1,endArray[3]); 
	return sd == ed;
}

function isDate(dateStr)
{
	if(checkTrim(dateStr) == ''){
		return false;
	}
	// Checks for the following valid date formats:
	// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
	var datePat = /^(\d{4})-(\d{1,2})-(\d{1,2})$/; // requires 4 digit year
	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		return false;
	}
	// parse date into variables
	year = parseInt(matchArray[1]);
	month = matchArray[2]; 
	day = matchArray[3];
	if (month < 1 || month > 12) { // check month range
		return false;
	}
	if (day < 1 || day > 31) {
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false;
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			return false;
	   	}
	}
	return !(year > 9998 || year < 1950);

}

function checkHttpAddress(httpUrl){
	if(checkTrim(httpUrl) == ''){
		return false;
	}
	var httpUrl_reg = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
	var HTTPUrl_reg = /^HTTP:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
	var wwwUrl_reg = /^[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
	
	var flag = false;
	flag = httpUrl_reg.test(httpUrl);
	if(flag){
		return flag;
	}
	flag = HTTPUrl_reg.test(httpUrl);
	if(flag){
		return flag;
	}
	flag = wwwUrl_reg.test(httpUrl);
	return flag;
}

function isEmail(str)
{
	if(checkTrim(str) == ''){
		return false;
	}
	var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
	return reg.test(str);
}
function checkTelephone(str)
{
	if(checkTrim(str) == ''){
		return false;
	}
	for (var i=0;i<str.length;i++){
         var ch=str.charAt(i);
         if((ch>='0'&& ch<='9' )||ch == '+' || ch=='-'||ch==' '|| ch=='('|| ch==')' ){
         	
         }else{
         	return false;
         }
    }
    return true;
}

function checkIpAddress(ip){
    if(checkTrim(ip) == ''){
		return false;
	}
    var ip_reg =/^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
	return ip_reg.test(ip);
}

function isChinese(str){
	var chinese_reg = /[^u4e00-u9fa5]+$/;
	return chinese_reg.test(str);
}
function textCounter(content,maxlimit,remLen) { 
	 if(content.value.length<=maxlimit){
	     if(maxlimit-content.value.length>0){
	    	remLen.value =maxlimit-content.value.length;
		 }else{
		    remLen.value=0;
		 }
	 }else{
	  	alert("!");
	 	remLen.value=0;
	 	content.value=content.value.substring(0,maxlimit)
	 }
}

function f_check_mobile(mobile){     
    var regu =/(^[1][3][0-9]{9}$)|(^0[1][3][0-9]{9}$)|(^[1][5][0-9]{9}$)|(^0[1][5][0-9]{9}$)/;  
    var re = new RegExp(regu);  
    return re.test(mobile);

} 


function doValidate(value) {
	vkeyWords=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,19}$/; 
	return vkeyWords.test(value);
}  

//文本编辑器是否为空，支持空格
function isEmpty(Str){
	return /^[ \t(&nbsp;)]*$/.test(Str);
}

function Fid(id){
	return document.getElementById(id);
}
//获取控件的left及top
function getOffset(e) 
{ 
	var t=e.offsetTop; 
	var l=e.offsetLeft; 
	while(e=e.offsetParent) 
	{ 
		t+=e.offsetTop; 
		l+=e.offsetLeft; 
	} 
	return {left:l,top:t};
}
function toSubmit(url){
	document.forms[0].action = url;
	document.forms[0].submit();
}

function clear(id){   
	var up = (typeof id=="string")?document.getElementById(id):id;   
	if (typeof up != "object") return null;   
	var tt = document.createElement("span");   
	tt.id = "__tt__";   
	up.parentNode.insertBefore(tt,up);   
	var tf = document.createElement("form");   
	tf.appendChild(up);   
	document.getElementsByTagName("body")[0].appendChild(tf);   
	tf.reset();   
	tt.parentNode.insertBefore(up,tt);   
	tt.parentNode.removeChild(tt);   
	tt = null;   
	tf.parentNode.removeChild(tf);   
}
function isIE(){
	if (window.navigator.userAgent.indexOf("MSIE")>=1) 
	return true; 
	else return false; 
} 
if(!isIE()){ //firefox innerText define
    HTMLElement.prototype.__defineGetter__(    "innerText", 
        function(){ 
            return this.textContent.replace(/(^\s*)|(\s*$)/g, "");
        } 
    ); 
    HTMLElement.prototype.__defineSetter__(    "innerText", 
        function(sText){ 
            this.textContent=sText; 
        } 
    ); 
}

function getX(obj)
{
    if(obj.offsetParent ==null)return obj.offsetLeft;
    else return obj.offsetLeft+getX(obj.offsetParent)
}

function getY(obj)
{
    if(obj.offsetParent ==null)return obj.offsetTop;
    else return obj.offsetTop+getY(obj.offsetParent)
}

if(!window.attachEvent){
	window.attachEvent = function(evt,func){
		if( evt.indexOf("on") == 0){
			evt = evt.replace("on","");
			
		}window.addEventListener(evt,func,false);
	}
}

function resetFile(file){
	file.outerHTML=file.outerHTML.replace(/(value=\").+\"/i,"$1\"");
}
(function($) {
    $.fn.PreviewImage = function(options) {
        var Default = {
            ImageClientId: "",
            MaxWidth: 300,
            MaxHeight: 300
        };
        $.extend(true, Default, options);
        return this.each(function() {
            if (Default.ImageClientId != "") {
                $(this).unbind("change");
                $(this).change(function() {
                    if ($(this).val() == "") {
                        $("#" + Default.ImageClientId).parent("div").hide();
                        return;
                    }
                    else {
                        $("#" + Default.ImageClientId).parent("div").show();
                    }
                    if ($.browser.msie) {
                        $("#" + Default.ImageClientId).attr("src", $(this).val());
                    }
                    else {
                        $("#" + Default.ImageClientId).attr("src", $(this)[0].files[0].getAsDataURL());
                    }
                    if ($.browser.msie && $.browser.version > 6) {
                        $("#" + Default.ImageClientId).hide();
                        $("#" + Default.ImageClientId).parent("div").css({ 'z-index': '999',
                            'filter': 'progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)',
                            'max-width': Default.MaxWidth + 'px', 'max-height': Default.MaxHeight + 'px',
                            'width': Default.MaxWidth + 'px', 'height': Default.MaxHeight + 'px'
                        });
                        var div = $("#" + Default.ImageClientId).parent("div")[0];
                        div.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = $("#" + Default.ImageClientId).attr("src");
                    }
                });

                $("#" + Default.ImageClientId).load(function() {
                    var image = new Image();
                    image.src = $(this).attr("src");
                    $(this).attr("width", Default.MaxWidth);
                    $(this).attr("height", Default.MaxHeight);
                    $(this).attr("alt", Default.MaxWidth + "x" + Default.MaxHeight);
                });
            }
        });
    };
})(jQuery);
