function initTouchEvent(touchEvent, type, touches) {
    var touch1 = touches[0];
    return touchEvent.initTouchEvent(
        //touches
        touches,
        //targetTouches
        touches,
        //changedTouches
        touches,
        //type
        type,
        //view
        window,
        //screenX
        touch1.screenX,
        //screenY
        touch1.screenY,
        //clientX
        touch1.clientX,
        //clientY
        touch1.clientY,
        //ctrlKey
        false,
        //altKey
        false,
        //shiftKey
        false,
        //metaKey
        false
    );
}
function initTouchEvent(touchEvent, type, touches) {
    var touch1 = touches[0];
    return touchEvent.initTouchEvent(
        
        touches,
        
        touches,
        
        touches,
        
        type,
        
        window,
        
        touch1.screenX,
        
        touch1.screenY,
        
        touch1.clientX,
        
        touch1.clientY,
        
        false,
        
        false,
        
        false,
        
        false
    );
}
function initTouchEvent ( touchEvent , type , touches ) { var touch1 = touches [ 0 ] ; return touchEvent . initTouchEvent ( //touches touches , //targetTouches touches , //changedTouches touches , //type type , //view window , //screenX touch1 . screenX , //screenY touch1 . screenY , //clientX touch1 . clientX , //clientY touch1 . clientY , //ctrlKey false , //altKey false , //shiftKey false , //metaKey false ) ; }
http://stackoverflow.com/questions/7056026/variation-of-e-touches-e-targettouches-and-e-changedtouches
http : // stackoverflow . com / questions / 7056026 / variation - of - e - touches - e - targettouches - and - e - changedtouches