
// JavaScript Document

$(function(){
	$("#errmsg").ajaxError(function(request, settings){
    	$(this).append("<li>Error requesting page " + settings.url + "</li>");
	});
});

/**
 * 菜单栏
 */
function menubar(){
	var lia = $(".topElement ul.menubar li a");
	lia.mouseover(function(){$(this).attr("title","")});
}

/**
 * 横幅
 *	使用了swfobject
 *	见：http://code.google.com/p/swfobject/wiki/documentation
 */
function banner(){
	var flashvars = {};
	var params = {wmode:"transparent"};
	var attributes = {};
	swfobject.embedSWF("/library2/images/ban.swf", "banner", 963, 210, "10.0.0", "/library2/script/expressInstall.swf", flashvars, params, attributes);  
}

/**
 * 左卷动栏
 *  参数：一个布局
 */
function rollLeft(cssSelector){
	var wrap = $(cssSelector);
	
	var content = wrap.html();
	
	var innerHtml = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td class=\"rollContent\"></td><td class=\"rollContentEcho\"></td></tr></table>";
	wrap.html(innerHtml);
	
	var rollContent = $(".rollContent", wrap);
	var rollContentEcho = $(".rollContentEcho", wrap);
	
	wrap.css({overflow: "hidden"});
	
	roll(content);
	
	function roll(data){
		rollContent.html(data);
		
		var speed = 15;
	
		var demo = wrap.get(0);
		var demo1 = rollContent.get(0);
		var demo2 = rollContentEcho.get(0);
		
		demo2.innerHTML = demo1.innerHTML;
		function Marquee(){
			if(demo.scrollLeft >= demo2.offsetWidth){
				demo.scrollLeft -= demo1.offsetWidth;
			}else{
				demo.scrollLeft+=1;
			}
		}
		var MyMar=setInterval(Marquee,speed);
		demo.onmouseover=function(){clearInterval(MyMar)}
		demo.onmouseout=function(){MyMar=setInterval(Marquee,speed)}
		
	}
}

/**
 * 上卷动栏
 *  参数：一个布局
 */
function rollUp(cssSelector){
    var wrap = $(cssSelector);
    
	var content = wrap.html();
	
    var innerHtml = "<table><tr><td class=\"rollContent\"></td></tr><tr><td class=\"rollContentEcho\"></td></tr></table>";
    wrap.html(innerHtml);
    
    var rollContent = $(".rollContent", wrap);
    var rollContentEcho = $(".rollContentEcho", wrap);
    
    wrap.css({overflow: "hidden"});
    
	roll(content);
    
    function roll(data){
        rollContent.html(data);
        
        var speed = 15;
    
	    var demo = wrap.get(0);
	    var demo1 = rollContent.get(0);
	    var demo2 = rollContentEcho.get(0);
    	
	    demo2.innerHTML = demo1.innerHTML;
	    function Marquee(){
		    if(demo.scrollTop >= demo2.offsetHeight){
			    demo.scrollTop -= demo1.offsetHeight;
		    }else{
			    demo.scrollTop+=1;
		    }
	    }
	    var MyMar=setInterval(Marquee,speed);
	    demo.onmouseover=function(){clearInterval(MyMar)}
	    demo.onmouseout=function(){MyMar=setInterval(Marquee,speed)}
	    
    }
}

/**
 * 检测留言输入
 */
function checkInput(obj){
	var country1 = $("#country1");
	var country1Sellected = $("#country1 option[value='" + country1.val() + "']");
	var country = $(obj.country);
	var state1 = $("#state1");
	var state1Sellected = $("#state1 option[value='" + state1.val() + "']");
	var state = $(obj.state);
	var city1 = $("#city1");
	var city1Sellected = $("#city1 option[value='" + city1.val() + "']");
	var city = $(obj.city);
	var name = obj.name;
	var email = obj.email;
	var subject = obj.subject;
	
	country.val(country1Sellected.text());
	state.val(state1Sellected.text());
	city.val(city1Sellected.text());
	
	if(name.value.length<2){
		alert("需要姓名");
		name.focus();
		return false;
	}

	if(email.value.length<6){
		alert("需要电子邮件");
		email.focus();
		return false;
	}
	if(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(email.value) == false){
		alert("邮件地址错误");
		email.focus();
		return false;
	}

	if(subject.value.length<2){
		alert("需要标题");
		subject.focus();
		return false;
	}
	obj.action = "submit.php";
	return true;
}

/**
 * 修改地址栏地址，对于不存在的建则添加它
 *  参数：一个键值对，指定的分隔符（可选）
 *  注意：本函数调用了request 函数
 */
function setLocation(map,delimiter){
	if(typeof delimiter == "undefined")delimiter = "#";
    var loc = location.hash || location.search;
    for(var key in map){
        var value = map[key];
        
        if(!loc){
            loc = delimiter + key + "=" + value;
        }else if(!request(key,loc)){
            loc += "&" + key + "=" + value;
        }else{
            loc = setLocation_one(key,value,loc);
        }
    }
    location.href = loc;
    
    function setLocation_one(key, value, urlParam){
        var url = urlParam || location.hash || location.search;
        if(url==null)return null;
        
        var startIndex, stopIndex;
        startIndex = url.search(key) + key.length;
        if(startIndex==key.length-1)return null;
        startIndex = url.indexOf("=",startIndex) + 1;
        if(startIndex==0)return null;
        stopIndex = url.indexOf("&",startIndex);
        stopIndex = stopIndex==-1?url.length:stopIndex;
        
        var head = url.substr(0,startIndex);
        var body = value;
        var rear = url.substr(stopIndex);
        
        return head + body + rear;
    }
}

/**
 * 等同于ASP 的Request.QueryString 函数
 *  参数urlParam 可选，去指定的字符串中分析Key
 */
function request(key, urlParam){
    if(key==null)return null;
    var url = urlParam || location.hash || location.search;
    if(url==null)return null;
    
    var startIndex, stopIndex;
    startIndex = url.search(key) + key.length;
    if(startIndex==key.length-1)return null;
    startIndex = url.indexOf("=",startIndex) + 1;
    if(startIndex==0)return null;
    stopIndex = url.indexOf("&",startIndex);
    stopIndex = stopIndex==-1?url.length:stopIndex;
    
    return url.substring(startIndex,stopIndex);
}

/**
 * 添加当前地址和到收藏夹
 */
function addFav(){
	var url = location.href;
	var title = document.title;
	window.external.AddFavorite(url,title);
}

/**
 * 设置Cookie
 */
function setCookie(c_name,value,expiredays){
    var exdate=new Date()
    exdate.setDate(exdate.getDate()+expiredays)
    document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

/**
 * 读取Cookie
 */
function getCookie(c_name){
    if(document.cookie.length>0){
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1){ 
            c_start=c_start + c_name.length+1 ;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length
                return unescape(document.cookie.substring(c_start,c_end));
        }
    }
    return null;
}

/**
 * 比例限制图片
 *
 * @param   imgObject (Object): 要限制的图片
 *          width (Number): (可选) 要限制的宽度(不可与height 同时为空)
 *          height (Number): (可选) 要限制的高度(不可与width 同时为空)
 *          full (Boolean): (可选) 是否装满在高和宽限定的区域内，
 *          不失真（丧失溢出的右边部分的宽度），默认为true 
 *                              高度或宽度中的任何一个为空，她的值即为false
 */
function scalePic(imgObject, width, height, full){
	if(typeof imgObject == "number")imgObject = $("img").get(imgObject);
	if(typeof imgObject != "object")return;
	if(typeof width == "undefined")width = 0;
	if(typeof height == "undefined")height = 0;
    if(!width && !height)return;
    if(typeof full == "undefined")full = true;
    if(!width || !height)full = false;
	
	//是否正确获得图片，IE中有img 的onload 事件过早触发而不能获得正确的图片的BUG
	if(!$(imgObject).width() || !$(imgObject).height()){
	    var param = "scalePic("
	    param += $("img").index($(imgObject))
	    if(!width){
	        param += ",0";
	    }else{
	        param += "," + width;
	    }
	    if(!height){
	        param += ",0";
	    }else{
	        param += "," + height;
	    }
	    if(!full)param += ",false";
	    param += ")"
	    setTimeout(param, 10);
	    return;
	}
	
    scaleW();
    scaleH();
    
    //将图片装满限定区域，并且不再调整
    if(full){
        var imgWrap = "<div style=\"";
            imgWrap += "margin:0px; padding:0px;"
            imgWrap += "width:" + width + "px;";
            imgWrap += "height:" + height + "px;";
            imgWrap += "overflow:hidden; float:left;";
        imgWrap = "\"></div>";
        $(imgObject).wrap(imgWrap);
        return;
    }
	
    if($(imgObject).width()>width)scaleW();
    if($(imgObject).height()>height)scaleH();
	
	//进行宽度适应
    function scaleW(){
        if(!width || width==$(imgObject).width())return;
	    
        var scale = $(imgObject).width() / $(imgObject).height();
        var x = $(imgObject).width() - width;
        var oldH = $(imgObject).height();

        $(imgObject).width(width);
        
        if(!height || isNaN(scale) || !scale)return;
        $(imgObject).height(oldH - x / scale);
    }
	
	//进行高度适应
    function scaleH(){
        if(!height || height==$(imgObject).height())return;
	    
        var scale = $(imgObject).width() / $(imgObject).height();
        y = $(imgObject).height() - height;
	    var oldW = $(imgObject).width();
	    
        $(imgObject).height(height);
	    
        if(!width || isNaN(scale) || !scale)return;
        $(imgObject).width(oldW - y * scale);
    }
}

/**
 * 限制文字
 *	参数：jQuery:要限制的文字的区域对象，number:限制字数
 */
function limitr_onlyText(css, number){
	var jq = $(css);
	jq.each(function(){
		if($(this).text().length>number){
			$(this).html($(this).text().substr(0,number) + "...");
		}
	});
}
